From 0303a374b89f889095d4554d4d1059e57b1212b1 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 18 Jun 2025 15:17:11 -0400 Subject: [PATCH 01/12] First stab (with lots of ChatGPT help) at a NodeNorm log analyzer. --- log-analysis/NodeNorm_log_analysis.ipynb | 1492 ++++++++++++++++++++++ 1 file changed, 1492 insertions(+) create mode 100644 log-analysis/NodeNorm_log_analysis.ipynb diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb new file mode 100644 index 0000000..39f5128 --- /dev/null +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -0,0 +1,1492 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ba1f42e6-f208-4511-8117-4d92d392bd84", + "metadata": {}, + "source": [ + "# NodeNorm Log Analysis\n", + "\n", + "As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\n", + "\n", + "```\n", + "2025-06-18T03:26:30-04:00\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\n", + "```\n", + "\n", + "This Jupyter Notebook is intended to be used in analysing these logs." + ] + }, + { + "cell_type": "markdown", + "id": "bc4248bb-1c4a-446e-95a3-54acc13e01de", + "metadata": {}, + "source": [ + "## Install prerequisites" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "721be6fa-7f14-4979-bffb-5a32cb316444", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting pandas\n", + " Downloading pandas-2.3.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (91 kB)\n", + "Collecting matplotlib\n", + " Downloading matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (11 kB)\n", + "Collecting numpy>=1.26.0 (from pandas)\n", + " Downloading numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl.metadata (62 kB)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\n", + "Collecting pytz>=2020.1 (from pandas)\n", + " Using cached pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB)\n", + "Collecting tzdata>=2022.7 (from pandas)\n", + " Using cached tzdata-2025.2-py2.py3-none-any.whl.metadata (1.4 kB)\n", + "Collecting contourpy>=1.0.1 (from matplotlib)\n", + " Downloading contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl.metadata (5.5 kB)\n", + "Collecting cycler>=0.10 (from matplotlib)\n", + " Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)\n", + "Collecting fonttools>=4.22.0 (from matplotlib)\n", + " Downloading fonttools-4.58.4-cp313-cp313-macosx_10_13_universal2.whl.metadata (106 kB)\n", + "Collecting kiwisolver>=1.3.1 (from matplotlib)\n", + " Downloading kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl.metadata (6.2 kB)\n", + "Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\n", + "Collecting pillow>=8 (from matplotlib)\n", + " Downloading pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (8.9 kB)\n", + "Collecting pyparsing>=2.3.1 (from matplotlib)\n", + " Using cached pyparsing-3.2.3-py3-none-any.whl.metadata (5.0 kB)\n", + "Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n", + "Downloading pandas-2.3.0-cp313-cp313-macosx_11_0_arm64.whl (10.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.7/10.7 MB\u001b[0m \u001b[31m35.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hDownloading matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl (8.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.1/8.1 MB\u001b[0m \u001b[31m40.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl (255 kB)\n", + "Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)\n", + "Downloading fonttools-4.58.4-cp313-cp313-macosx_10_13_universal2.whl (2.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.7/2.7 MB\u001b[0m \u001b[31m59.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl (65 kB)\n", + "Downloading numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl (5.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.1/5.1 MB\u001b[0m \u001b[31m47.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m48.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hUsing cached pyparsing-3.2.3-py3-none-any.whl (111 kB)\n", + "Using cached pytz-2025.2-py2.py3-none-any.whl (509 kB)\n", + "Using cached tzdata-2025.2-py2.py3-none-any.whl (347 kB)\n", + "Installing collected packages: pytz, tzdata, pyparsing, pillow, numpy, kiwisolver, fonttools, cycler, pandas, contourpy, matplotlib\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11/11\u001b[0m [matplotlib]1\u001b[0m [matplotlib]\n", + "\u001b[1A\u001b[2KSuccessfully installed contourpy-1.3.2 cycler-0.12.1 fonttools-4.58.4 kiwisolver-1.4.8 matplotlib-3.10.3 numpy-2.3.0 pandas-2.3.0 pillow-11.2.1 pyparsing-3.2.3 pytz-2025.2 tzdata-2025.2\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "%pip install pandas matplotlib" + ] + }, + { + "cell_type": "markdown", + "id": "3a6bab9f-897e-4c96-84c8-3e402676e753", + "metadata": {}, + "source": [ + "## Loading files\n", + "\n", + "These files can be checked into the repository into the `logs/` subdirectory." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea", + "metadata": {}, + "outputs": [], + "source": [ + "logfile = \"logs/nodenorm-renci-logs-2025jun18.txt\"" + ] + }, + { + "cell_type": "markdown", + "id": "67ca8f70-adaa-4883-ac51-1c0ec235bd13", + "metadata": {}, + "source": [ + "We can use Python dataclasses to load the important information from the logfile." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "42805620-22f8-4469-845a-a5fd40ae7a3d", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "from dataclasses import dataclass, field\n", + "from datetime import datetime\n", + "import logging\n", + "import re\n", + "import ast\n", + "\n", + "logging.basicConfig(level=logging.INFO)\n", + "\n", + "@dataclass\n", + "class LogEntry:\n", + " time: datetime\n", + " curies: list[str]\n", + " curie_count: int\n", + " time_taken_ms: float\n", + " time_taken_per_curie_ms: float\n", + " arguments: dict[str, str]\n", + " node: str = \"\"\n", + "\n", + "def convert_log_line_into_entry(line: str) -> LogEntry: \n", + " # Depending on where the log file comes from, it might start with one of two types of timestamps:\n", + " # - ISO 8601 date (e.g. \"2007-04-05T12:30−02:00\"), which will be separated from the rest of the log line with a tab character.\n", + " # - Python log format date (e.g. \"2025-06-12 13:01:49,319\"), which should always be in UTC.\n", + "\n", + " # Entry variables.\n", + " log_time = None\n", + " curies = []\n", + " curie_count = -1\n", + " time_taken_ms = -1.0\n", + " arguments = {}\n", + "\n", + " # Parse the datetime stamp.\n", + " iso8601date_match = re.match(r'^(\\d{4}-\\d{2}-\\d{2}(?:[T ]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?)?)\\t', line)\n", + " if iso8601date_match:\n", + " log_time = datetime.fromisoformat(iso8601date_match.group(1))\n", + " else:\n", + " # TODO raise exception\n", + " logging.error(f\"Could not identify the datetime for the line: {line}\")\n", + "\n", + " # Parse the log text.\n", + " log_text_match = re.search(r'\\| INFO \\| normalizer:get_normalized_nodes \\| Normalized (\\d+) nodes in ([\\d\\.]+) ms with arguments \\((.*)\\)', line)\n", + " if not log_text_match:\n", + " raise ValueError(f\"Could not find NodeNorm log-line: {line}\")\n", + " curie_count = int(log_text_match.group(1))\n", + " time_taken_ms = float(log_text_match.group(2))\n", + " argument_text = log_text_match.group(3)\n", + "\n", + " # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\n", + " argument_fn_call = f'arguments({argument_text})'\n", + " tree = ast.parse(argument_fn_call, mode=\"eval\")\n", + " call_node = tree.body\n", + " for kw in call_node.keywords:\n", + " arguments[kw.arg] = ast.literal_eval(kw.value)\n", + "\n", + " # Some assertions.\n", + " if 'curies' not in arguments:\n", + " raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\n", + " curies = arguments['curies']\n", + " if len(curies) != curie_count:\n", + " raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\n", + " if len(curies) < 1:\n", + " raise ValueError(f'Found no CURIEs in line: {line}')\n", + " \n", + " # Emit the LogEntry.\n", + " return LogEntry(\n", + " time=log_time,\n", + " curies=curies,\n", + " curie_count=curie_count,\n", + " time_taken_ms=time_taken_ms,\n", + " time_taken_per_curie_ms=time_taken_ms/curie_count,\n", + " arguments=arguments\n", + " )\n", + "\n", + "logs = []\n", + "with open(logfile, 'r') as logf:\n", + " for line in logf:\n", + " # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\n", + " if \"normalizer:get_normalized_nodes\" not in line:\n", + " continue\n", + " \n", + " logs.append(convert_log_line_into_entry(line))" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071460'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['GO:0071460'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17597576'], curie_count=1, time_taken_ms=2.61, time_taken_per_curie_ms=2.61, arguments={'curies': ['PMID:17597576'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007179'], curie_count=1, time_taken_ms=2.98, time_taken_per_curie_ms=2.98, arguments={'curies': ['GO:0007179'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030511'], curie_count=1, time_taken_ms=2.52, time_taken_per_curie_ms=2.52, arguments={'curies': ['GO:0030511'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0048536'], curie_count=1, time_taken_ms=1.98, time_taken_per_curie_ms=1.98, arguments={'curies': ['GO:0048536'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=2.91, time_taken_per_curie_ms=2.91, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8078588'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['PMID:8078588'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04218'], curie_count=1, time_taken_ms=0.72, time_taken_per_curie_ms=0.72, arguments={'curies': ['KEGG:hsa04218'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05203'], curie_count=1, time_taken_ms=0.57, time_taken_per_curie_ms=0.57, arguments={'curies': ['KEGG:hsa05203'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=2.0, time_taken_per_curie_ms=2.0, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030219'], curie_count=1, time_taken_ms=1.76, time_taken_per_curie_ms=1.76, arguments={'curies': ['GO:0030219'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04934'], curie_count=1, time_taken_ms=0.33, time_taken_per_curie_ms=0.33, arguments={'curies': ['KEGG:hsa04934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04068'], curie_count=1, time_taken_ms=0.44, time_taken_per_curie_ms=0.44, arguments={'curies': ['KEGG:hsa04068'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05166'], curie_count=1, time_taken_ms=0.29, time_taken_per_curie_ms=0.29, arguments={'curies': ['KEGG:hsa05166'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04350'], curie_count=1, time_taken_ms=0.25, time_taken_per_curie_ms=0.25, arguments={'curies': ['KEGG:hsa04350'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19706769'], curie_count=1, time_taken_ms=6.18, time_taken_per_curie_ms=6.18, arguments={'curies': ['PMID:19706769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0097191'], curie_count=1, time_taken_ms=6.6, time_taken_per_curie_ms=6.6, arguments={'curies': ['GO:0097191'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:2001238'], curie_count=1, time_taken_ms=4.65, time_taken_per_curie_ms=4.65, arguments={'curies': ['GO:2001238'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005739'], curie_count=1, time_taken_ms=4.63, time_taken_per_curie_ms=4.63, arguments={'curies': ['GO:0005739'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:2001238'], curie_count=1, time_taken_ms=3.57, time_taken_per_curie_ms=3.57, arguments={'curies': ['GO:2001238'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-556833'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['REACT:R-HSA-556833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19706769'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['PMID:19706769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-400206'], curie_count=1, time_taken_ms=3.22, time_taken_per_curie_ms=3.22, arguments={'curies': ['REACT:R-HSA-400206'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0120162'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['GO:0120162'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005739'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['GO:0005739'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19706769'], curie_count=1, time_taken_ms=1.78, time_taken_per_curie_ms=1.78, arguments={'curies': ['PMID:19706769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=1.68, time_taken_per_curie_ms=1.68, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005811'], curie_count=1, time_taken_ms=1.67, time_taken_per_curie_ms=1.67, arguments={'curies': ['GO:0005811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005739'], curie_count=1, time_taken_ms=1.6, time_taken_per_curie_ms=1.6, arguments={'curies': ['GO:0005739'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP410'], curie_count=1, time_taken_ms=1.02, time_taken_per_curie_ms=1.02, arguments={'curies': ['WIKIPATHWAYS:WP410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:24556704'], curie_count=1, time_taken_ms=1.79, time_taken_per_curie_ms=1.79, arguments={'curies': ['PMID:24556704'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0120162'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['GO:0120162'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP2877'], curie_count=1, time_taken_ms=0.81, time_taken_per_curie_ms=0.81, arguments={'curies': ['WIKIPATHWAYS:WP2877'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1989781'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['REACT:R-HSA-1989781'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.02, time_taken_per_curie_ms=1.51, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1296071'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['REACT:R-HSA-1296071'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-397014'], curie_count=1, time_taken_ms=1.53, time_taken_per_curie_ms=1.53, arguments={'curies': ['REACT:R-HSA-397014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1296072'], curie_count=1, time_taken_ms=1.39, time_taken_per_curie_ms=1.39, arguments={'curies': ['REACT:R-HSA-1296072'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-112316'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['REACT:R-HSA-112316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05110'], curie_count=1, time_taken_ms=0.3, time_taken_per_curie_ms=0.3, arguments={'curies': ['KEGG:hsa05110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04974'], curie_count=1, time_taken_ms=0.29, time_taken_per_curie_ms=0.29, arguments={'curies': ['KEGG:hsa04974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04972'], curie_count=1, time_taken_ms=0.28, time_taken_per_curie_ms=0.28, arguments={'curies': ['KEGG:hsa04972'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04971'], curie_count=1, time_taken_ms=0.53, time_taken_per_curie_ms=0.53, arguments={'curies': ['KEGG:hsa04971'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001698'], curie_count=1, time_taken_ms=4.12, time_taken_per_curie_ms=4.12, arguments={'curies': ['GO:0001698'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006006'], curie_count=1, time_taken_ms=3.78, time_taken_per_curie_ms=3.78, arguments={'curies': ['GO:0006006'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006813'], curie_count=1, time_taken_ms=3.27, time_taken_per_curie_ms=3.27, arguments={'curies': ['GO:0006813'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04725'], curie_count=1, time_taken_ms=0.67, time_taken_per_curie_ms=0.67, arguments={'curies': ['KEGG:hsa04725'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003008'], curie_count=1, time_taken_ms=3.4, time_taken_per_curie_ms=3.4, arguments={'curies': ['GO:0003008'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007507'], curie_count=1, time_taken_ms=1.73, time_taken_per_curie_ms=1.73, arguments={'curies': ['GO:0007507'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006814'], curie_count=1, time_taken_ms=1.53, time_taken_per_curie_ms=1.53, arguments={'curies': ['GO:0006814'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006811'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['GO:0006811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001696'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['GO:0001696'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002027'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0002027'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04261'], curie_count=1, time_taken_ms=0.24, time_taken_per_curie_ms=0.24, arguments={'curies': ['KEGG:hsa04261'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001508'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['GO:0001508'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030509'], curie_count=1, time_taken_ms=4.42, time_taken_per_curie_ms=4.42, arguments={'curies': ['GO:0030509'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0022612'], curie_count=1, time_taken_ms=2.99, time_taken_per_curie_ms=2.99, arguments={'curies': ['GO:0022612'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030855'], curie_count=1, time_taken_ms=3.75, time_taken_per_curie_ms=3.75, arguments={'curies': ['GO:0030855'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0021509'], curie_count=1, time_taken_ms=2.35, time_taken_per_curie_ms=2.35, arguments={'curies': ['GO:0021509'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04350'], curie_count=1, time_taken_ms=2.02, time_taken_per_curie_ms=2.02, arguments={'curies': ['KEGG:hsa04350'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0021915'], curie_count=1, time_taken_ms=1.83, time_taken_per_curie_ms=1.83, arguments={'curies': ['GO:0021915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0021527'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['GO:0021527'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu04390'], curie_count=1, time_taken_ms=0.58, time_taken_per_curie_ms=0.58, arguments={'curies': ['KEGG:mmu04390'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030509'], curie_count=1, time_taken_ms=1.73, time_taken_per_curie_ms=1.73, arguments={'curies': ['GO:0030509'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04360'], curie_count=1, time_taken_ms=0.55, time_taken_per_curie_ms=0.55, arguments={'curies': ['KEGG:hsa04360'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu04360'], curie_count=1, time_taken_ms=0.85, time_taken_per_curie_ms=0.85, arguments={'curies': ['KEGG:mmu04360'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu04060'], curie_count=1, time_taken_ms=0.7, time_taken_per_curie_ms=0.7, arguments={'curies': ['KEGG:mmu04060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04060'], curie_count=1, time_taken_ms=0.22, time_taken_per_curie_ms=0.22, arguments={'curies': ['KEGG:hsa04060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu04350'], curie_count=1, time_taken_ms=0.7, time_taken_per_curie_ms=0.7, arguments={'curies': ['KEGG:mmu04350'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16049014'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['PMID:16049014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04390'], curie_count=1, time_taken_ms=0.41, time_taken_per_curie_ms=0.41, arguments={'curies': ['KEGG:hsa04390'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030509'], curie_count=1, time_taken_ms=3.32, time_taken_per_curie_ms=3.32, arguments={'curies': ['GO:0030509'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010628'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['GO:0010628'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 14, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.39, time_taken_per_curie_ms=2.39, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 40, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035330'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['GO:0035330'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 40, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035330'], curie_count=1, time_taken_ms=2.54, time_taken_per_curie_ms=2.54, arguments={'curies': ['GO:0035330'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 40, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=1.96, time_taken_per_curie_ms=1.96, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19060904'], curie_count=1, time_taken_ms=4.21, time_taken_per_curie_ms=4.21, arguments={'curies': ['PMID:19060904'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=2.87, time_taken_per_curie_ms=2.87, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005737'], curie_count=1, time_taken_ms=3.23, time_taken_per_curie_ms=3.23, arguments={'curies': ['GO:0005737'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28792927'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['PMID:28792927'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035330'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['GO:0035330'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030295'], curie_count=1, time_taken_ms=2.52, time_taken_per_curie_ms=2.52, arguments={'curies': ['GO:0030295'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005515'], curie_count=1, time_taken_ms=2.56, time_taken_per_curie_ms=2.56, arguments={'curies': ['GO:0005515'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:32296183'], curie_count=1, time_taken_ms=1.63, time_taken_per_curie_ms=1.63, arguments={'curies': ['PMID:32296183'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16189514'], curie_count=1, time_taken_ms=1.83, time_taken_per_curie_ms=1.83, arguments={'curies': ['PMID:16189514'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21515882'], curie_count=1, time_taken_ms=3.39, time_taken_per_curie_ms=3.39, arguments={'curies': ['PMID:21515882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046485'], curie_count=1, time_taken_ms=1.82, time_taken_per_curie_ms=1.82, arguments={'curies': ['GO:0046485'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0036151'], curie_count=1, time_taken_ms=3.23, time_taken_per_curie_ms=3.23, arguments={'curies': ['GO:0036151'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21515882'], curie_count=1, time_taken_ms=1.45, time_taken_per_curie_ms=1.45, arguments={'curies': ['PMID:21515882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046485'], curie_count=1, time_taken_ms=1.77, time_taken_per_curie_ms=1.77, arguments={'curies': ['GO:0046485'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1483206'], curie_count=1, time_taken_ms=4.37, time_taken_per_curie_ms=4.37, arguments={'curies': ['REACT:R-MMU-1483206'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1482788'], curie_count=1, time_taken_ms=2.64, time_taken_per_curie_ms=2.64, arguments={'curies': ['REACT:R-MMU-1482788'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1482788'], curie_count=1, time_taken_ms=2.97, time_taken_per_curie_ms=2.97, arguments={'curies': ['REACT:R-HSA-1482788'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016787'], curie_count=1, time_taken_ms=4.86, time_taken_per_curie_ms=4.86, arguments={'curies': ['GO:0016787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483152'], curie_count=1, time_taken_ms=4.95, time_taken_per_curie_ms=4.95, arguments={'curies': ['REACT:R-HSA-1483152'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0047389'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0047389'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:33961781'], curie_count=1, time_taken_ms=2.93, time_taken_per_curie_ms=2.93, arguments={'curies': ['PMID:33961781'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008081'], curie_count=1, time_taken_ms=2.77, time_taken_per_curie_ms=2.77, arguments={'curies': ['GO:0008081'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030246'], curie_count=1, time_taken_ms=1.68, time_taken_per_curie_ms=1.68, arguments={'curies': ['GO:0030246'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05231'], curie_count=1, time_taken_ms=0.88, time_taken_per_curie_ms=0.88, arguments={'curies': ['KEGG:hsa05231'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005515'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['GO:0005515'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28514442'], curie_count=1, time_taken_ms=2.47, time_taken_per_curie_ms=2.47, arguments={'curies': ['PMID:28514442'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu00564'], curie_count=1, time_taken_ms=0.26, time_taken_per_curie_ms=0.26, arguments={'curies': ['KEGG:mmu00564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005737'], curie_count=1, time_taken_ms=3.16, time_taken_per_curie_ms=3.16, arguments={'curies': ['GO:0005737'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483115'], curie_count=1, time_taken_ms=2.3, time_taken_per_curie_ms=2.3, arguments={'curies': ['REACT:R-HSA-1483115'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483206'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['REACT:R-HSA-1483206'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007519'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0007519'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu05231'], curie_count=1, time_taken_ms=0.5, time_taken_per_curie_ms=0.5, arguments={'curies': ['KEGG:mmu05231'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00564'], curie_count=1, time_taken_ms=0.3, time_taken_per_curie_ms=0.3, arguments={'curies': ['KEGG:hsa00564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006865'], curie_count=1, time_taken_ms=3.27, time_taken_per_curie_ms=3.27, arguments={'curies': ['GO:0006865'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015804'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['GO:0015804'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.4, time_taken_per_curie_ms=2.4, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-442660'], curie_count=1, time_taken_ms=5.11, time_taken_per_curie_ms=5.11, arguments={'curies': ['REACT:R-HSA-442660'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035725'], curie_count=1, time_taken_ms=6.46, time_taken_per_curie_ms=6.46, arguments={'curies': ['GO:0035725'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425393'], curie_count=1, time_taken_ms=4.41, time_taken_per_curie_ms=4.41, arguments={'curies': ['REACT:R-HSA-425393'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425407'], curie_count=1, time_taken_ms=4.49, time_taken_per_curie_ms=4.49, arguments={'curies': ['REACT:R-HSA-425407'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015804'], curie_count=1, time_taken_ms=4.47, time_taken_per_curie_ms=4.47, arguments={'curies': ['GO:0015804'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003333'], curie_count=1, time_taken_ms=2.43, time_taken_per_curie_ms=2.43, arguments={'curies': ['GO:0003333'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5619044'], curie_count=1, time_taken_ms=3.46, time_taken_per_curie_ms=3.46, arguments={'curies': ['REACT:R-HSA-5619044'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-352230'], curie_count=1, time_taken_ms=2.9, time_taken_per_curie_ms=2.9, arguments={'curies': ['REACT:R-HSA-352230'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007584'], curie_count=1, time_taken_ms=1.6, time_taken_per_curie_ms=1.6, arguments={'curies': ['GO:0007584'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1643685'], curie_count=1, time_taken_ms=2.04, time_taken_per_curie_ms=2.04, arguments={'curies': ['REACT:R-HSA-1643685'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425366'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['REACT:R-HSA-425366'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-382551'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['REACT:R-HSA-382551'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006865'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['GO:0006865'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019058'], curie_count=1, time_taken_ms=2.17, time_taken_per_curie_ms=2.17, arguments={'curies': ['GO:0019058'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:33737693'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['PMID:33737693'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04978'], curie_count=1, time_taken_ms=0.83, time_taken_per_curie_ms=0.83, arguments={'curies': ['KEGG:hsa04978'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04974'], curie_count=1, time_taken_ms=0.31, time_taken_per_curie_ms=0.31, arguments={'curies': ['KEGG:hsa04974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 4, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=6.55, time_taken_per_curie_ms=3.275, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0004622'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['GO:0004622'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016020'], curie_count=1, time_taken_ms=2.91, time_taken_per_curie_ms=2.91, arguments={'curies': ['GO:0016020'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0034638'], curie_count=1, time_taken_ms=4.6, time_taken_per_curie_ms=4.6, arguments={'curies': ['GO:0034638'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005811'], curie_count=1, time_taken_ms=3.13, time_taken_per_curie_ms=3.13, arguments={'curies': ['GO:0005811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0004622'], curie_count=1, time_taken_ms=2.75, time_taken_per_curie_ms=2.75, arguments={'curies': ['GO:0004622'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005789'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['GO:0005789'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=1.58, time_taken_per_curie_ms=1.58, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1483257'], curie_count=1, time_taken_ms=5.7, time_taken_per_curie_ms=5.7, arguments={'curies': ['REACT:R-MMU-1483257'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005829'], curie_count=1, time_taken_ms=6.33, time_taken_per_curie_ms=6.33, arguments={'curies': ['GO:0005829'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483255'], curie_count=1, time_taken_ms=6.78, time_taken_per_curie_ms=6.78, arguments={'curies': ['REACT:R-HSA-1483255'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1430728'], curie_count=1, time_taken_ms=6.8, time_taken_per_curie_ms=6.8, arguments={'curies': ['REACT:R-MMU-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=3.51, time_taken_per_curie_ms=3.51, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-6814848'], curie_count=1, time_taken_ms=3.3, time_taken_per_curie_ms=3.3, arguments={'curies': ['REACT:R-HSA-6814848'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006629'], curie_count=1, time_taken_ms=3.55, time_taken_per_curie_ms=3.55, arguments={'curies': ['GO:0006629'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046470'], curie_count=1, time_taken_ms=2.92, time_taken_per_curie_ms=2.92, arguments={'curies': ['GO:0046470'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005789'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['GO:0005789'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016042'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['GO:0016042'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-556833'], curie_count=1, time_taken_ms=2.15, time_taken_per_curie_ms=2.15, arguments={'curies': ['REACT:R-HSA-556833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1483255'], curie_count=1, time_taken_ms=2.44, time_taken_per_curie_ms=2.44, arguments={'curies': ['REACT:R-MMU-1483255'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483257'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['REACT:R-HSA-1483257'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046475'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0046475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-556833'], curie_count=1, time_taken_ms=2.27, time_taken_per_curie_ms=2.27, arguments={'curies': ['REACT:R-MMU-556833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-6814848'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['REACT:R-MMU-6814848'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 13, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035600'], curie_count=1, time_taken_ms=1.42, time_taken_per_curie_ms=1.42, arguments={'curies': ['GO:0035600'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=3.17, time_taken_per_curie_ms=3.17, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035600'], curie_count=1, time_taken_ms=2.54, time_taken_per_curie_ms=2.54, arguments={'curies': ['GO:0035600'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005789'], curie_count=1, time_taken_ms=3.77, time_taken_per_curie_ms=3.77, arguments={'curies': ['GO:0005789'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=3.28, time_taken_per_curie_ms=3.28, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-6782315'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['REACT:R-HSA-6782315'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008150'], curie_count=1, time_taken_ms=2.24, time_taken_per_curie_ms=2.24, arguments={'curies': ['GO:0008150'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:1990145'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['GO:1990145'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035600'], curie_count=1, time_taken_ms=2.05, time_taken_per_curie_ms=2.05, arguments={'curies': ['GO:0035600'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008033'], curie_count=1, time_taken_ms=1.78, time_taken_per_curie_ms=1.78, arguments={'curies': ['GO:0008033'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006400'], curie_count=1, time_taken_ms=1.46, time_taken_per_curie_ms=1.46, arguments={'curies': ['GO:0006400'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-72306'], curie_count=1, time_taken_ms=1.77, time_taken_per_curie_ms=1.77, arguments={'curies': ['REACT:R-HSA-72306'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 34, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.42, time_taken_per_curie_ms=1.71, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=8.7, time_taken_per_curie_ms=4.35, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376176'], curie_count=1, time_taken_ms=1.48, time_taken_per_curie_ms=1.48, arguments={'curies': ['REACT:R-HSA-376176'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=1.53, time_taken_per_curie_ms=1.53, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=2.81, time_taken_per_curie_ms=2.81, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-428542'], curie_count=1, time_taken_ms=1.3, time_taken_per_curie_ms=1.3, arguments={'curies': ['REACT:R-HSA-428542'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007156'], curie_count=1, time_taken_ms=2.89, time_taken_per_curie_ms=2.89, arguments={'curies': ['GO:0007156'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12504588'], curie_count=1, time_taken_ms=5.75, time_taken_per_curie_ms=5.75, arguments={'curies': ['PMID:12504588'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=6.51, time_taken_per_curie_ms=6.51, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9608531'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['PMID:9608531'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376176'], curie_count=1, time_taken_ms=3.48, time_taken_per_curie_ms=3.48, arguments={'curies': ['REACT:R-HSA-376176'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=3.09, time_taken_per_curie_ms=3.09, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003184'], curie_count=1, time_taken_ms=3.09, time_taken_per_curie_ms=3.09, arguments={'curies': ['GO:0003184'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002042'], curie_count=1, time_taken_ms=3.1, time_taken_per_curie_ms=3.1, arguments={'curies': ['GO:0002042'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-428540'], curie_count=1, time_taken_ms=2.74, time_taken_per_curie_ms=2.74, arguments={'curies': ['REACT:R-HSA-428540'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=3.65, time_taken_per_curie_ms=3.65, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003180'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['GO:0003180'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003129'], curie_count=1, time_taken_ms=2.87, time_taken_per_curie_ms=2.87, arguments={'curies': ['GO:0003129'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-428542'], curie_count=1, time_taken_ms=3.23, time_taken_per_curie_ms=3.23, arguments={'curies': ['REACT:R-HSA-428542'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003272'], curie_count=1, time_taken_ms=2.52, time_taken_per_curie_ms=2.52, arguments={'curies': ['GO:0003272'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006935'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['GO:0006935'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003148'], curie_count=1, time_taken_ms=2.6, time_taken_per_curie_ms=2.6, arguments={'curies': ['GO:0003148'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007156'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['GO:0007156'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19351956'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['PMID:19351956'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9891060'], curie_count=1, time_taken_ms=3.46, time_taken_per_curie_ms=3.46, arguments={'curies': ['PMID:9891060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9891060'], curie_count=1, time_taken_ms=3.28, time_taken_per_curie_ms=3.28, arguments={'curies': ['PMID:9891060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001817'], curie_count=1, time_taken_ms=1.64, time_taken_per_curie_ms=1.64, arguments={'curies': ['GO:0001817'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070934'], curie_count=1, time_taken_ms=2.29, time_taken_per_curie_ms=2.29, arguments={'curies': ['GO:0070934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9891060'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:9891060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:29476152'], curie_count=1, time_taken_ms=5.28, time_taken_per_curie_ms=5.28, arguments={'curies': ['PMID:29476152'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001817'], curie_count=1, time_taken_ms=5.79, time_taken_per_curie_ms=5.79, arguments={'curies': ['GO:0001817'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0017148'], curie_count=1, time_taken_ms=4.08, time_taken_per_curie_ms=4.08, arguments={'curies': ['GO:0017148'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0051028'], curie_count=1, time_taken_ms=3.53, time_taken_per_curie_ms=3.53, arguments={'curies': ['GO:0051028'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-8953854'], curie_count=1, time_taken_ms=3.48, time_taken_per_curie_ms=3.48, arguments={'curies': ['REACT:R-HSA-8953854'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070934'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['GO:0070934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006417'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['GO:0006417'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007399'], curie_count=1, time_taken_ms=2.56, time_taken_per_curie_ms=2.56, arguments={'curies': ['GO:0007399'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-428359'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['REACT:R-HSA-428359'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9891060'], curie_count=1, time_taken_ms=2.02, time_taken_per_curie_ms=2.02, arguments={'curies': ['PMID:9891060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009653'], curie_count=1, time_taken_ms=1.81, time_taken_per_curie_ms=1.81, arguments={'curies': ['GO:0009653'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006412'], curie_count=1, time_taken_ms=1.94, time_taken_per_curie_ms=1.94, arguments={'curies': ['GO:0006412'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005634'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['GO:0005634'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-74160'], curie_count=1, time_taken_ms=5.71, time_taken_per_curie_ms=5.71, arguments={'curies': ['REACT:R-HSA-74160'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008270'], curie_count=1, time_taken_ms=5.85, time_taken_per_curie_ms=5.85, arguments={'curies': ['GO:0008270'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28473536'], curie_count=1, time_taken_ms=3.65, time_taken_per_curie_ms=3.65, arguments={'curies': ['PMID:28473536'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000981'], curie_count=1, time_taken_ms=3.18, time_taken_per_curie_ms=3.18, arguments={'curies': ['GO:0000981'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005634'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['GO:0005634'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:30032202'], curie_count=1, time_taken_ms=2.81, time_taken_per_curie_ms=2.81, arguments={'curies': ['PMID:30032202'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005654'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['GO:0005654'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003677'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['GO:0003677'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005730'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0005730'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046872'], curie_count=1, time_taken_ms=2.4, time_taken_per_curie_ms=2.4, arguments={'curies': ['GO:0046872'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:1990837'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:1990837'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-212436'], curie_count=1, time_taken_ms=2.01, time_taken_per_curie_ms=2.01, arguments={'curies': ['REACT:R-HSA-212436'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-73857'], curie_count=1, time_taken_ms=2.27, time_taken_per_curie_ms=2.27, arguments={'curies': ['REACT:R-HSA-73857'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 7, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.17, time_taken_per_curie_ms=5.17, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22065321'], curie_count=1, time_taken_ms=1.95, time_taken_per_curie_ms=1.95, arguments={'curies': ['PMID:22065321'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0032956'], curie_count=1, time_taken_ms=6.14, time_taken_per_curie_ms=6.14, arguments={'curies': ['GO:0032956'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22065321'], curie_count=1, time_taken_ms=6.81, time_taken_per_curie_ms=6.81, arguments={'curies': ['PMID:22065321'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5663205'], curie_count=1, time_taken_ms=7.42, time_taken_per_curie_ms=7.42, arguments={'curies': ['REACT:R-HSA-5663205'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030308'], curie_count=1, time_taken_ms=8.61, time_taken_per_curie_ms=8.61, arguments={'curies': ['GO:0030308'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-6798695'], curie_count=1, time_taken_ms=4.22, time_taken_per_curie_ms=4.22, arguments={'curies': ['REACT:R-HSA-6798695'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20686043'], curie_count=1, time_taken_ms=4.61, time_taken_per_curie_ms=4.61, arguments={'curies': ['PMID:20686043'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1280215'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['REACT:R-HSA-1280215'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009615'], curie_count=1, time_taken_ms=2.82, time_taken_per_curie_ms=2.82, arguments={'curies': ['GO:0009615'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-168256'], curie_count=1, time_taken_ms=2.92, time_taken_per_curie_ms=2.92, arguments={'curies': ['REACT:R-HSA-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20943977'], curie_count=1, time_taken_ms=3.02, time_taken_per_curie_ms=3.02, arguments={'curies': ['PMID:20943977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0034341'], curie_count=1, time_taken_ms=2.44, time_taken_per_curie_ms=2.44, arguments={'curies': ['GO:0034341'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-909733'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['REACT:R-HSA-909733'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002376'], curie_count=1, time_taken_ms=2.7, time_taken_per_curie_ms=2.7, arguments={'curies': ['GO:0002376'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030336'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['GO:0030336'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19564354'], curie_count=1, time_taken_ms=1.58, time_taken_per_curie_ms=1.58, arguments={'curies': ['PMID:19564354'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035456'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['GO:0035456'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042113'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['GO:0042113'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-913531'], curie_count=1, time_taken_ms=2.58, time_taken_per_curie_ms=2.58, arguments={'curies': ['REACT:R-HSA-913531'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035455'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['GO:0035455'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002737'], curie_count=1, time_taken_ms=1.8, time_taken_per_curie_ms=1.8, arguments={'curies': ['GO:0002737'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19036818'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['PMID:19036818'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1643685'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['REACT:R-HSA-1643685'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-168249'], curie_count=1, time_taken_ms=1.54, time_taken_per_curie_ms=1.54, arguments={'curies': ['REACT:R-HSA-168249'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05170'], curie_count=1, time_taken_ms=1.19, time_taken_per_curie_ms=1.19, arguments={'curies': ['KEGG:hsa05170'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05168'], curie_count=1, time_taken_ms=0.38, time_taken_per_curie_ms=0.38, arguments={'curies': ['KEGG:hsa05168'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 5, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.01, time_taken_per_curie_ms=1.505, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.2, time_taken_per_curie_ms=2.2, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-198933'], curie_count=1, time_taken_ms=4.08, time_taken_per_curie_ms=4.08, arguments={'curies': ['REACT:R-MMU-198933'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1280218'], curie_count=1, time_taken_ms=5.71, time_taken_per_curie_ms=5.71, arguments={'curies': ['REACT:R-MMU-1280218'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-168256'], curie_count=1, time_taken_ms=4.52, time_taken_per_curie_ms=4.52, arguments={'curies': ['REACT:R-RNO-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=4.75, time_taken_per_curie_ms=4.75, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-198933'], curie_count=1, time_taken_ms=4.43, time_taken_per_curie_ms=4.43, arguments={'curies': ['REACT:R-RNO-198933'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-168256'], curie_count=1, time_taken_ms=4.67, time_taken_per_curie_ms=4.67, arguments={'curies': ['REACT:R-HSA-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-1280218'], curie_count=1, time_taken_ms=3.25, time_taken_per_curie_ms=3.25, arguments={'curies': ['REACT:R-RNO-1280218'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005768'], curie_count=1, time_taken_ms=2.62, time_taken_per_curie_ms=2.62, arguments={'curies': ['GO:0005768'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-198933'], curie_count=1, time_taken_ms=2.56, time_taken_per_curie_ms=2.56, arguments={'curies': ['REACT:R-HSA-198933'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016020'], curie_count=1, time_taken_ms=2.42, time_taken_per_curie_ms=2.42, arguments={'curies': ['GO:0016020'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-168256'], curie_count=1, time_taken_ms=2.36, time_taken_per_curie_ms=2.36, arguments={'curies': ['REACT:R-MMU-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0032585'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['GO:0032585'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1280218'], curie_count=1, time_taken_ms=2.72, time_taken_per_curie_ms=2.72, arguments={'curies': ['REACT:R-HSA-1280218'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016324'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['GO:0016324'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002376'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['GO:0002376'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016323'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['GO:0016323'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 2, 21, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.61, time_taken_per_curie_ms=5.61, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 59, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.2, time_taken_per_curie_ms=1.6, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010468'], curie_count=1, time_taken_ms=1.65, time_taken_per_curie_ms=1.65, arguments={'curies': ['GO:0010468'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21215706'], curie_count=1, time_taken_ms=1.55, time_taken_per_curie_ms=1.55, arguments={'curies': ['PMID:21215706'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:14744774'], curie_count=1, time_taken_ms=3.23, time_taken_per_curie_ms=3.23, arguments={'curies': ['PMID:14744774'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010468'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['GO:0010468'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007599'], curie_count=1, time_taken_ms=2.39, time_taken_per_curie_ms=2.39, arguments={'curies': ['GO:0007599'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.74, time_taken_per_curie_ms=1.74, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007162'], curie_count=1, time_taken_ms=3.22, time_taken_per_curie_ms=3.22, arguments={'curies': ['GO:0007162'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:14744774'], curie_count=1, time_taken_ms=2.74, time_taken_per_curie_ms=2.74, arguments={'curies': ['PMID:14744774'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007596'], curie_count=1, time_taken_ms=1.54, time_taken_per_curie_ms=1.54, arguments={'curies': ['GO:0007596'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006935'], curie_count=1, time_taken_ms=2.19, time_taken_per_curie_ms=2.19, arguments={'curies': ['GO:0006935'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21215706'], curie_count=1, time_taken_ms=1.93, time_taken_per_curie_ms=1.93, arguments={'curies': ['PMID:21215706'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002839'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['GO:0002839'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001525'], curie_count=1, time_taken_ms=3.84, time_taken_per_curie_ms=3.84, arguments={'curies': ['GO:0001525'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002839'], curie_count=1, time_taken_ms=2.73, time_taken_per_curie_ms=2.73, arguments={'curies': ['GO:0002839'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-114608'], curie_count=1, time_taken_ms=5.23, time_taken_per_curie_ms=5.23, arguments={'curies': ['REACT:R-MMU-114608'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-109582'], curie_count=1, time_taken_ms=4.41, time_taken_per_curie_ms=4.41, arguments={'curies': ['REACT:R-HSA-109582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-76002'], curie_count=1, time_taken_ms=3.11, time_taken_per_curie_ms=3.11, arguments={'curies': ['REACT:R-HSA-76002'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-76005'], curie_count=1, time_taken_ms=3.25, time_taken_per_curie_ms=3.25, arguments={'curies': ['REACT:R-MMU-76005'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-76005'], curie_count=1, time_taken_ms=2.43, time_taken_per_curie_ms=2.43, arguments={'curies': ['REACT:R-HSA-76005'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-75205'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['REACT:R-HSA-75205'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-114608'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['REACT:R-HSA-114608'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-76002'], curie_count=1, time_taken_ms=2.33, time_taken_per_curie_ms=2.33, arguments={'curies': ['REACT:R-MMU-76002'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-109582'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['REACT:R-MMU-109582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-75205'], curie_count=1, time_taken_ms=2.4, time_taken_per_curie_ms=2.4, arguments={'curies': ['REACT:R-MMU-75205'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 56, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.97, time_taken_per_curie_ms=2.97, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 54, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.65, time_taken_per_curie_ms=1.325, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 51, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.31, time_taken_per_curie_ms=3.31, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 48, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.35, time_taken_per_curie_ms=1.675, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 45, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=4.74, time_taken_per_curie_ms=4.74, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17266443'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['PMID:17266443'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17266443'], curie_count=1, time_taken_ms=4.98, time_taken_per_curie_ms=4.98, arguments={'curies': ['PMID:17266443'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071356'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['GO:0071356'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-913531'], curie_count=1, time_taken_ms=3.32, time_taken_per_curie_ms=3.32, arguments={'curies': ['REACT:R-HSA-913531'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-877300'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['REACT:R-HSA-877300'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0051607'], curie_count=1, time_taken_ms=4.0, time_taken_per_curie_ms=4.0, arguments={'curies': ['GO:0051607'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071347'], curie_count=1, time_taken_ms=2.29, time_taken_per_curie_ms=2.29, arguments={'curies': ['GO:0071347'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1280215'], curie_count=1, time_taken_ms=1.98, time_taken_per_curie_ms=1.98, arguments={'curies': ['REACT:R-HSA-1280215'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0140639'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['GO:0140639'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-168256'], curie_count=1, time_taken_ms=1.82, time_taken_per_curie_ms=1.82, arguments={'curies': ['REACT:R-HSA-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0051715'], curie_count=1, time_taken_ms=3.01, time_taken_per_curie_ms=3.01, arguments={'curies': ['GO:0051715'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071346'], curie_count=1, time_taken_ms=1.43, time_taken_per_curie_ms=1.43, arguments={'curies': ['GO:0071346'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071222'], curie_count=1, time_taken_ms=1.74, time_taken_per_curie_ms=1.74, arguments={'curies': ['GO:0071222'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0045087'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['GO:0045087'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042742'], curie_count=1, time_taken_ms=2.61, time_taken_per_curie_ms=2.61, arguments={'curies': ['GO:0042742'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002376'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['GO:0002376'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019388'], curie_count=1, time_taken_ms=4.88, time_taken_per_curie_ms=4.88, arguments={'curies': ['GO:0019388'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006689'], curie_count=1, time_taken_ms=3.75, time_taken_per_curie_ms=3.75, arguments={'curies': ['GO:0006689'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:31720227'], curie_count=1, time_taken_ms=2.16, time_taken_per_curie_ms=2.16, arguments={'curies': ['PMID:31720227'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006516'], curie_count=1, time_taken_ms=1.52, time_taken_per_curie_ms=1.52, arguments={'curies': ['GO:0006516'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005975'], curie_count=1, time_taken_ms=2.01, time_taken_per_curie_ms=2.01, arguments={'curies': ['GO:0005975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:31720227'], curie_count=1, time_taken_ms=4.31, time_taken_per_curie_ms=4.31, arguments={'curies': ['PMID:31720227'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1638074'], curie_count=1, time_taken_ms=3.41, time_taken_per_curie_ms=3.41, arguments={'curies': ['REACT:R-HSA-1638074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030200'], curie_count=1, time_taken_ms=4.63, time_taken_per_curie_ms=4.63, arguments={'curies': ['GO:0030200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006689'], curie_count=1, time_taken_ms=3.79, time_taken_per_curie_ms=3.79, arguments={'curies': ['GO:0006689'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019388'], curie_count=1, time_taken_ms=3.57, time_taken_per_curie_ms=3.57, arguments={'curies': ['GO:0019388'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:11927518'], curie_count=1, time_taken_ms=3.43, time_taken_per_curie_ms=3.43, arguments={'curies': ['PMID:11927518'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042340'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['GO:0042340'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1638091'], curie_count=1, time_taken_ms=3.28, time_taken_per_curie_ms=3.28, arguments={'curies': ['REACT:R-HSA-1638091'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1630316'], curie_count=1, time_taken_ms=2.63, time_taken_per_curie_ms=2.63, arguments={'curies': ['REACT:R-HSA-1630316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=3.49, time_taken_per_curie_ms=3.49, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006516'], curie_count=1, time_taken_ms=2.73, time_taken_per_curie_ms=2.73, arguments={'curies': ['GO:0006516'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005975'], curie_count=1, time_taken_ms=2.33, time_taken_per_curie_ms=2.33, arguments={'curies': ['GO:0005975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00604'], curie_count=1, time_taken_ms=0.43, time_taken_per_curie_ms=0.43, arguments={'curies': ['KEGG:hsa00604'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04142'], curie_count=1, time_taken_ms=0.62, time_taken_per_curie_ms=0.62, arguments={'curies': ['KEGG:hsa04142'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00531'], curie_count=1, time_taken_ms=0.43, time_taken_per_curie_ms=0.43, arguments={'curies': ['KEGG:hsa00531'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00600'], curie_count=1, time_taken_ms=0.65, time_taken_per_curie_ms=0.65, arguments={'curies': ['KEGG:hsa00600'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00052'], curie_count=1, time_taken_ms=0.64, time_taken_per_curie_ms=0.64, arguments={'curies': ['KEGG:hsa00052'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00511'], curie_count=1, time_taken_ms=0.55, time_taken_per_curie_ms=0.55, arguments={'curies': ['KEGG:hsa00511'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.59, time_taken_per_curie_ms=2.795, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 40, 4, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.95, time_taken_per_curie_ms=2.95, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 39, 27, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PUBCHEM.COMPOUND:15625'], curie_count=1, time_taken_ms=5.37, time_taken_per_curie_ms=5.37, arguments={'curies': ['PUBCHEM.COMPOUND:15625'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 37, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.78, time_taken_per_curie_ms=1.39, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 34, 34, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.18, time_taken_per_curie_ms=3.18, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 31, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.52, time_taken_per_curie_ms=1.76, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 29, 4, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=4.66, time_taken_per_curie_ms=4.66, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 26, 21, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=4.2, time_taken_per_curie_ms=2.1, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 23, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.77, time_taken_per_curie_ms=5.77, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 20, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.22, time_taken_per_curie_ms=1.61, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 18, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=6.48, time_taken_per_curie_ms=6.48, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 15, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.56, time_taken_per_curie_ms=1.78, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 12, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.64, time_taken_per_curie_ms=2.64, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 9, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.88, time_taken_per_curie_ms=1.94, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003924'], curie_count=1, time_taken_ms=3.63, time_taken_per_curie_ms=3.63, arguments={'curies': ['GO:0003924'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016787'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['GO:0016787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0140827'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['GO:0140827'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005525'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0005525'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005525'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['GO:0005525'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016787'], curie_count=1, time_taken_ms=2.6, time_taken_per_curie_ms=2.6, arguments={'curies': ['GO:0016787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-388396'], curie_count=1, time_taken_ms=3.91, time_taken_per_curie_ms=3.91, arguments={'curies': ['REACT:R-HSA-388396'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-372790'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['REACT:R-HSA-372790'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008277'], curie_count=1, time_taken_ms=1.6, time_taken_per_curie_ms=1.6, arguments={'curies': ['GO:0008277'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-162582'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['REACT:R-HSA-162582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-372790'], curie_count=1, time_taken_ms=6.82, time_taken_per_curie_ms=6.82, arguments={'curies': ['REACT:R-HSA-372790'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009966'], curie_count=1, time_taken_ms=4.68, time_taken_per_curie_ms=4.68, arguments={'curies': ['GO:0009966'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-388396'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['REACT:R-HSA-388396'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17986524'], curie_count=1, time_taken_ms=5.94, time_taken_per_curie_ms=5.94, arguments={'curies': ['PMID:17986524'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016055'], curie_count=1, time_taken_ms=2.81, time_taken_per_curie_ms=2.81, arguments={'curies': ['GO:0016055'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05032'], curie_count=1, time_taken_ms=0.64, time_taken_per_curie_ms=0.64, arguments={'curies': ['KEGG:hsa05032'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008277'], curie_count=1, time_taken_ms=3.86, time_taken_per_curie_ms=3.86, arguments={'curies': ['GO:0008277'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-162582'], curie_count=1, time_taken_ms=2.19, time_taken_per_curie_ms=2.19, arguments={'curies': ['REACT:R-HSA-162582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=3.77, time_taken_per_curie_ms=3.77, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008284'], curie_count=1, time_taken_ms=2.61, time_taken_per_curie_ms=2.61, arguments={'curies': ['GO:0008284'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22099983'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['PMID:22099983'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04144'], curie_count=1, time_taken_ms=0.14, time_taken_per_curie_ms=0.14, arguments={'curies': ['KEGG:hsa04144'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007186'], curie_count=1, time_taken_ms=3.44, time_taken_per_curie_ms=3.44, arguments={'curies': ['GO:0007186'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007217'], curie_count=1, time_taken_ms=3.18, time_taken_per_curie_ms=3.18, arguments={'curies': ['GO:0007217'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=3.05, time_taken_per_curie_ms=3.05, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007188'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['GO:0007188'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8626574'], curie_count=1, time_taken_ms=2.08, time_taken_per_curie_ms=2.08, arguments={'curies': ['PMID:8626574'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8288567'], curie_count=1, time_taken_ms=1.57, time_taken_per_curie_ms=1.57, arguments={'curies': ['PMID:8288567'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-416476'], curie_count=1, time_taken_ms=3.39, time_taken_per_curie_ms=3.39, arguments={'curies': ['REACT:R-HSA-416476'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04062'], curie_count=1, time_taken_ms=0.41, time_taken_per_curie_ms=0.41, arguments={'curies': ['KEGG:hsa04062'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 7, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.95, time_taken_per_curie_ms=3.95, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001895'], curie_count=1, time_taken_ms=2.47, time_taken_per_curie_ms=2.47, arguments={'curies': ['GO:0001895'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:15544046'], curie_count=1, time_taken_ms=4.27, time_taken_per_curie_ms=4.27, arguments={'curies': ['PMID:15544046'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001819'], curie_count=1, time_taken_ms=3.99, time_taken_per_curie_ms=3.99, arguments={'curies': ['GO:0001819'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05022'], curie_count=1, time_taken_ms=0.7, time_taken_per_curie_ms=0.7, arguments={'curies': ['KEGG:hsa05022'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001541'], curie_count=1, time_taken_ms=2.35, time_taken_per_curie_ms=2.35, arguments={'curies': ['GO:0001541'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05020'], curie_count=1, time_taken_ms=1.49, time_taken_per_curie_ms=1.49, arguments={'curies': ['KEGG:hsa05020'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16790527'], curie_count=1, time_taken_ms=2.39, time_taken_per_curie_ms=2.39, arguments={'curies': ['PMID:16790527'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000303'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['GO:0000303'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001541'], curie_count=1, time_taken_ms=4.49, time_taken_per_curie_ms=4.49, arguments={'curies': ['GO:0001541'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001890'], curie_count=1, time_taken_ms=4.97, time_taken_per_curie_ms=4.97, arguments={'curies': ['GO:0001890'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000303'], curie_count=1, time_taken_ms=3.88, time_taken_per_curie_ms=3.88, arguments={'curies': ['GO:0000303'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12485882'], curie_count=1, time_taken_ms=4.51, time_taken_per_curie_ms=4.51, arguments={'curies': ['PMID:12485882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04146'], curie_count=1, time_taken_ms=0.87, time_taken_per_curie_ms=0.87, arguments={'curies': ['KEGG:hsa04146'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001975'], curie_count=1, time_taken_ms=3.31, time_taken_per_curie_ms=3.31, arguments={'curies': ['GO:0001975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05016'], curie_count=1, time_taken_ms=0.42, time_taken_per_curie_ms=0.42, arguments={'curies': ['KEGG:hsa05016'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001895'], curie_count=1, time_taken_ms=1.83, time_taken_per_curie_ms=1.83, arguments={'curies': ['GO:0001895'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05014'], curie_count=1, time_taken_ms=0.34, time_taken_per_curie_ms=0.34, arguments={'curies': ['KEGG:hsa05014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000302'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['GO:0000302'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04213'], curie_count=1, time_taken_ms=0.25, time_taken_per_curie_ms=0.25, arguments={'curies': ['KEGG:hsa04213'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 4, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.96, time_taken_per_curie_ms=1.48, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 1, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.91, time_taken_per_curie_ms=3.91, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 58, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.38, time_taken_per_curie_ms=1.69, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 56, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.61, time_taken_per_curie_ms=5.61, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 53, 29, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=4.77, time_taken_per_curie_ms=2.385, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 53, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['CHEBI:231949'], curie_count=1, time_taken_ms=2.37, time_taken_per_curie_ms=2.37, arguments={'curies': ['CHEBI:231949'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 53, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCIT:C34373', 'CHEBI:231949'], curie_count=2, time_taken_ms=3.43, time_taken_per_curie_ms=1.715, arguments={'curies': ['NCIT:C34373', 'CHEBI:231949'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 50, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.33, time_taken_per_curie_ms=3.33, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 50, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.15, time_taken_per_curie_ms=1.575, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006829'], curie_count=1, time_taken_ms=6.62, time_taken_per_curie_ms=6.62, arguments={'curies': ['GO:0006829'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009749'], curie_count=1, time_taken_ms=6.89, time_taken_per_curie_ms=6.89, arguments={'curies': ['GO:0009749'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425366'], curie_count=1, time_taken_ms=7.18, time_taken_per_curie_ms=7.18, arguments={'curies': ['REACT:R-HSA-425366'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009749'], curie_count=1, time_taken_ms=4.28, time_taken_per_curie_ms=4.28, arguments={'curies': ['GO:0009749'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-435368'], curie_count=1, time_taken_ms=3.68, time_taken_per_curie_ms=3.68, arguments={'curies': ['REACT:R-HSA-435368'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=4.32, time_taken_per_curie_ms=4.32, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006882'], curie_count=1, time_taken_ms=3.32, time_taken_per_curie_ms=3.32, arguments={'curies': ['GO:0006882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-264876'], curie_count=1, time_taken_ms=3.2, time_taken_per_curie_ms=3.2, arguments={'curies': ['REACT:R-MMU-264876'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2980736'], curie_count=1, time_taken_ms=3.36, time_taken_per_curie_ms=3.36, arguments={'curies': ['REACT:R-HSA-2980736'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16984975'], curie_count=1, time_taken_ms=3.06, time_taken_per_curie_ms=3.06, arguments={'curies': ['PMID:16984975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:15331542'], curie_count=1, time_taken_ms=3.15, time_taken_per_curie_ms=3.15, arguments={'curies': ['PMID:15331542'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006811'], curie_count=1, time_taken_ms=3.06, time_taken_per_curie_ms=3.06, arguments={'curies': ['GO:0006811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425410'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['REACT:R-HSA-425410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006882'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['GO:0006882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006829'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0006829'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-264876'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['REACT:R-HSA-264876'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425407'], curie_count=1, time_taken_ms=2.5, time_taken_per_curie_ms=2.5, arguments={'curies': ['REACT:R-HSA-425407'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010043'], curie_count=1, time_taken_ms=1.86, time_taken_per_curie_ms=1.86, arguments={'curies': ['GO:0010043'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006812'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['GO:0006812'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-435354'], curie_count=1, time_taken_ms=2.58, time_taken_per_curie_ms=2.58, arguments={'curies': ['REACT:R-HSA-435354'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009749'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['GO:0009749'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-382551'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['REACT:R-HSA-382551'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 47, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.18, time_taken_per_curie_ms=1.59, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23468644'], curie_count=1, time_taken_ms=5.42, time_taken_per_curie_ms=5.42, arguments={'curies': ['PMID:23468644'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-381426'], curie_count=1, time_taken_ms=4.86, time_taken_per_curie_ms=4.86, arguments={'curies': ['REACT:R-RNO-381426'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070166'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['GO:0070166'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070166'], curie_count=1, time_taken_ms=2.71, time_taken_per_curie_ms=2.71, arguments={'curies': ['GO:0070166'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-597592'], curie_count=1, time_taken_ms=3.04, time_taken_per_curie_ms=3.04, arguments={'curies': ['REACT:R-MMU-597592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0055074'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['GO:0055074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23468644'], curie_count=1, time_taken_ms=2.7, time_taken_per_curie_ms=2.7, arguments={'curies': ['PMID:23468644'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-597592'], curie_count=1, time_taken_ms=2.78, time_taken_per_curie_ms=2.78, arguments={'curies': ['REACT:R-HSA-597592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-8957275'], curie_count=1, time_taken_ms=2.76, time_taken_per_curie_ms=2.76, arguments={'curies': ['REACT:R-MMU-8957275'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070166'], curie_count=1, time_taken_ms=2.67, time_taken_per_curie_ms=2.67, arguments={'curies': ['GO:0070166'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21549343'], curie_count=1, time_taken_ms=2.93, time_taken_per_curie_ms=2.93, arguments={'curies': ['PMID:21549343'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-381426'], curie_count=1, time_taken_ms=3.36, time_taken_per_curie_ms=3.36, arguments={'curies': ['REACT:R-MMU-381426'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23434854'], curie_count=1, time_taken_ms=2.37, time_taken_per_curie_ms=2.37, arguments={'curies': ['PMID:23434854'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031214'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['GO:0031214'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001934'], curie_count=1, time_taken_ms=2.47, time_taken_per_curie_ms=2.47, arguments={'curies': ['GO:0001934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-392499'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['REACT:R-MMU-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21990045'], curie_count=1, time_taken_ms=2.69, time_taken_per_curie_ms=2.69, arguments={'curies': ['PMID:21990045'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031214'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['GO:0031214'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23697977'], curie_count=1, time_taken_ms=1.89, time_taken_per_curie_ms=1.89, arguments={'curies': ['PMID:23697977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-392499'], curie_count=1, time_taken_ms=1.74, time_taken_per_curie_ms=1.74, arguments={'curies': ['REACT:R-RNO-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-8957275'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['REACT:R-HSA-8957275'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:25789606'], curie_count=1, time_taken_ms=2.61, time_taken_per_curie_ms=2.61, arguments={'curies': ['PMID:25789606'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:25789606'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['PMID:25789606'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-381426'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['REACT:R-HSA-381426'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23434854'], curie_count=1, time_taken_ms=2.69, time_taken_per_curie_ms=2.69, arguments={'curies': ['PMID:23434854'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=3.27, time_taken_per_curie_ms=3.27, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21990045'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['PMID:21990045'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0044691'], curie_count=1, time_taken_ms=4.06, time_taken_per_curie_ms=4.06, arguments={'curies': ['GO:0044691'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001934'], curie_count=1, time_taken_ms=2.82, time_taken_per_curie_ms=2.82, arguments={'curies': ['GO:0001934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009617'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['GO:0009617'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 10, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.86, time_taken_per_curie_ms=3.86, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 42, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=4.78, time_taken_per_curie_ms=2.39, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 39, 41, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.1, time_taken_per_curie_ms=3.1, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5617833'], curie_count=1, time_taken_ms=3.01, time_taken_per_curie_ms=3.01, arguments={'curies': ['REACT:R-HSA-5617833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5620924'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['REACT:R-HSA-5620924'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1852241'], curie_count=1, time_taken_ms=2.03, time_taken_per_curie_ms=2.03, arguments={'curies': ['REACT:R-HSA-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042073'], curie_count=1, time_taken_ms=2.44, time_taken_per_curie_ms=2.44, arguments={'curies': ['GO:0042073'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007283'], curie_count=1, time_taken_ms=3.64, time_taken_per_curie_ms=3.64, arguments={'curies': ['GO:0007283'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035735'], curie_count=1, time_taken_ms=4.24, time_taken_per_curie_ms=4.24, arguments={'curies': ['GO:0035735'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:26980730'], curie_count=1, time_taken_ms=6.0, time_taken_per_curie_ms=6.0, arguments={'curies': ['PMID:26980730'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:27666822'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['PMID:27666822'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0060271'], curie_count=1, time_taken_ms=2.78, time_taken_per_curie_ms=2.78, arguments={'curies': ['GO:0060271'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5617833'], curie_count=1, time_taken_ms=2.76, time_taken_per_curie_ms=2.76, arguments={'curies': ['REACT:R-HSA-5617833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4532'], curie_count=1, time_taken_ms=0.51, time_taken_per_curie_ms=0.51, arguments={'curies': ['WIKIPATHWAYS:WP4532'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008589'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0008589'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5620924'], curie_count=1, time_taken_ms=2.65, time_taken_per_curie_ms=2.65, arguments={'curies': ['REACT:R-HSA-5620924'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030030'], curie_count=1, time_taken_ms=2.08, time_taken_per_curie_ms=2.08, arguments={'curies': ['GO:0030030'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035720'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0035720'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1852241'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['REACT:R-HSA-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030154'], curie_count=1, time_taken_ms=2.76, time_taken_per_curie_ms=2.76, arguments={'curies': ['GO:0030154'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23990561'], curie_count=1, time_taken_ms=1.96, time_taken_per_curie_ms=1.96, arguments={'curies': ['PMID:23990561'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042073'], curie_count=1, time_taken_ms=1.72, time_taken_per_curie_ms=1.72, arguments={'curies': ['GO:0042073'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007283'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['GO:0007283'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4803'], curie_count=1, time_taken_ms=0.25, time_taken_per_curie_ms=0.25, arguments={'curies': ['WIKIPATHWAYS:WP4803'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4352'], curie_count=1, time_taken_ms=0.33, time_taken_per_curie_ms=0.33, arguments={'curies': ['WIKIPATHWAYS:WP4352'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4536'], curie_count=1, time_taken_ms=0.42, time_taken_per_curie_ms=0.42, arguments={'curies': ['WIKIPATHWAYS:WP4536'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1632852'], curie_count=1, time_taken_ms=4.3, time_taken_per_curie_ms=4.3, arguments={'curies': ['REACT:R-HSA-1632852'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006886'], curie_count=1, time_taken_ms=9.4, time_taken_per_curie_ms=9.4, arguments={'curies': ['GO:0006886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000209'], curie_count=1, time_taken_ms=4.74, time_taken_per_curie_ms=4.74, arguments={'curies': ['GO:0000209'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006511'], curie_count=1, time_taken_ms=4.63, time_taken_per_curie_ms=4.63, arguments={'curies': ['GO:0006511'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1643685'], curie_count=1, time_taken_ms=5.25, time_taken_per_curie_ms=5.25, arguments={'curies': ['REACT:R-HSA-1643685'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28516954'], curie_count=1, time_taken_ms=2.89, time_taken_per_curie_ms=2.89, arguments={'curies': ['PMID:28516954'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16192271'], curie_count=1, time_taken_ms=3.37, time_taken_per_curie_ms=3.37, arguments={'curies': ['PMID:16192271'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001975'], curie_count=1, time_taken_ms=3.07, time_taken_per_curie_ms=3.07, arguments={'curies': ['GO:0001975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006950'], curie_count=1, time_taken_ms=3.32, time_taken_per_curie_ms=3.32, arguments={'curies': ['GO:0006950'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:14675537'], curie_count=1, time_taken_ms=2.81, time_taken_per_curie_ms=2.81, arguments={'curies': ['PMID:14675537'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006476'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0006476'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006325'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['GO:0006325'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1632852'], curie_count=1, time_taken_ms=3.08, time_taken_per_curie_ms=3.08, arguments={'curies': ['REACT:R-HSA-1632852'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1852241'], curie_count=1, time_taken_ms=1.79, time_taken_per_curie_ms=1.79, arguments={'curies': ['REACT:R-HSA-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05203'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['KEGG:hsa05203'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007015'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0007015'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-162582'], curie_count=1, time_taken_ms=2.6, time_taken_per_curie_ms=2.6, arguments={'curies': ['REACT:R-HSA-162582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006515'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['GO:0006515'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006914'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['GO:0006914'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-157118'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['REACT:R-HSA-157118'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05034'], curie_count=1, time_taken_ms=0.71, time_taken_per_curie_ms=0.71, arguments={'curies': ['KEGG:hsa05034'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04613'], curie_count=1, time_taken_ms=0.45, time_taken_per_curie_ms=0.45, arguments={'curies': ['KEGG:hsa04613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05014'], curie_count=1, time_taken_ms=0.39, time_taken_per_curie_ms=0.39, arguments={'curies': ['KEGG:hsa05014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 30, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:64324', 'NCBIGene:2146', 'MONDO:0010193'], curie_count=3, time_taken_ms=3.82, time_taken_per_curie_ms=1.2733333333333332, arguments={'curies': ['NCBIGene:64324', 'NCBIGene:2146', 'MONDO:0010193'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030513'], curie_count=1, time_taken_ms=4.7, time_taken_per_curie_ms=4.7, arguments={'curies': ['GO:0030513'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0048679'], curie_count=1, time_taken_ms=4.17, time_taken_per_curie_ms=4.17, arguments={'curies': ['GO:0048679'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=2.87, time_taken_per_curie_ms=2.87, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009306'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0009306'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007520'], curie_count=1, time_taken_ms=1.81, time_taken_per_curie_ms=1.81, arguments={'curies': ['GO:0007520'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006879'], curie_count=1, time_taken_ms=3.24, time_taken_per_curie_ms=3.24, arguments={'curies': ['GO:0006879'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9169140'], curie_count=1, time_taken_ms=1.62, time_taken_per_curie_ms=1.62, arguments={'curies': ['PMID:9169140'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-525793'], curie_count=1, time_taken_ms=5.04, time_taken_per_curie_ms=5.04, arguments={'curies': ['REACT:R-HSA-525793'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006355'], curie_count=1, time_taken_ms=1.94, time_taken_per_curie_ms=1.94, arguments={'curies': ['GO:0006355'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04514'], curie_count=1, time_taken_ms=0.76, time_taken_per_curie_ms=0.76, arguments={'curies': ['KEGG:hsa04514'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4747'], curie_count=1, time_taken_ms=0.62, time_taken_per_curie_ms=0.62, arguments={'curies': ['WIKIPATHWAYS:WP4747'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04360'], curie_count=1, time_taken_ms=0.57, time_taken_per_curie_ms=0.57, arguments={'curies': ['KEGG:hsa04360'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04350'], curie_count=1, time_taken_ms=0.58, time_taken_per_curie_ms=0.58, arguments={'curies': ['KEGG:hsa04350'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4148'], curie_count=1, time_taken_ms=0.38, time_taken_per_curie_ms=0.38, arguments={'curies': ['WIKIPATHWAYS:WP4148'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.54, time_taken_per_curie_ms=1.77, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006954'], curie_count=1, time_taken_ms=4.38, time_taken_per_curie_ms=4.38, arguments={'curies': ['GO:0006954'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22301074'], curie_count=1, time_taken_ms=3.55, time_taken_per_curie_ms=3.55, arguments={'curies': ['PMID:22301074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006874'], curie_count=1, time_taken_ms=4.26, time_taken_per_curie_ms=4.26, arguments={'curies': ['GO:0006874'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9600961'], curie_count=1, time_taken_ms=2.3, time_taken_per_curie_ms=2.3, arguments={'curies': ['PMID:9600961'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10443688'], curie_count=1, time_taken_ms=2.04, time_taken_per_curie_ms=2.04, arguments={'curies': ['PMID:10443688'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0048245'], curie_count=1, time_taken_ms=2.36, time_taken_per_curie_ms=2.36, arguments={'curies': ['GO:0048245'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006935'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['GO:0006935'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006954'], curie_count=1, time_taken_ms=1.86, time_taken_per_curie_ms=1.86, arguments={'curies': ['GO:0006954'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006955'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['GO:0006955'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:30032202'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['PMID:30032202'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006935'], curie_count=1, time_taken_ms=2.02, time_taken_per_curie_ms=2.02, arguments={'curies': ['GO:0006935'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006955'], curie_count=1, time_taken_ms=1.67, time_taken_per_curie_ms=1.67, arguments={'curies': ['GO:0006955'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006955'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['GO:0006955'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04062'], curie_count=1, time_taken_ms=0.58, time_taken_per_curie_ms=0.58, arguments={'curies': ['KEGG:hsa04062'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:30032202'], curie_count=1, time_taken_ms=2.63, time_taken_per_curie_ms=2.63, arguments={'curies': ['PMID:30032202'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0048245'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['GO:0048245'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9346309'], curie_count=1, time_taken_ms=2.36, time_taken_per_curie_ms=2.36, arguments={'curies': ['PMID:9346309'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22301074'], curie_count=1, time_taken_ms=4.86, time_taken_per_curie_ms=4.86, arguments={'curies': ['PMID:22301074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04060'], curie_count=1, time_taken_ms=0.64, time_taken_per_curie_ms=0.64, arguments={'curies': ['KEGG:hsa04060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04061'], curie_count=1, time_taken_ms=0.76, time_taken_per_curie_ms=0.76, arguments={'curies': ['KEGG:hsa04061'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418885'], curie_count=1, time_taken_ms=1.49, time_taken_per_curie_ms=1.49, arguments={'curies': ['REACT:R-HSA-418885'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0014009'], curie_count=1, time_taken_ms=3.67, time_taken_per_curie_ms=3.67, arguments={'curies': ['GO:0014009'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008283'], curie_count=1, time_taken_ms=3.69, time_taken_per_curie_ms=3.69, arguments={'curies': ['GO:0008283'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001764'], curie_count=1, time_taken_ms=2.54, time_taken_per_curie_ms=2.54, arguments={'curies': ['GO:0001764'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007409'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['GO:0007409'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006930'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['GO:0006930'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007265'], curie_count=1, time_taken_ms=1.6, time_taken_per_curie_ms=1.6, arguments={'curies': ['GO:0007265'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007097'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['GO:0007097'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376172'], curie_count=1, time_taken_ms=2.99, time_taken_per_curie_ms=2.99, arguments={'curies': ['REACT:R-HSA-376172'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418885'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['REACT:R-HSA-418885'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376176'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['REACT:R-HSA-376176'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=3.38, time_taken_per_curie_ms=3.38, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=1.59, time_taken_per_curie_ms=1.59, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007420'], curie_count=1, time_taken_ms=1.82, time_taken_per_curie_ms=1.82, arguments={'curies': ['GO:0007420'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=1.75, time_taken_per_curie_ms=1.75, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030334'], curie_count=1, time_taken_ms=6.0, time_taken_per_curie_ms=6.0, arguments={'curies': ['GO:0030334'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0033564'], curie_count=1, time_taken_ms=4.83, time_taken_per_curie_ms=4.83, arguments={'curies': ['GO:0033564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=5.4, time_taken_per_curie_ms=5.4, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9782087'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['PMID:9782087'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007420'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0007420'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418886'], curie_count=1, time_taken_ms=2.5, time_taken_per_curie_ms=2.5, arguments={'curies': ['REACT:R-HSA-418886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-9675108'], curie_count=1, time_taken_ms=1.44, time_taken_per_curie_ms=1.44, arguments={'curies': ['REACT:R-HSA-9675108'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=2.72, time_taken_per_curie_ms=2.72, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418886'], curie_count=1, time_taken_ms=5.85, time_taken_per_curie_ms=5.85, arguments={'curies': ['REACT:R-HSA-418886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=3.88, time_taken_per_curie_ms=3.88, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-9675108'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['REACT:R-HSA-9675108'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 34, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.25, time_taken_per_curie_ms=5.25, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 31, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.96, time_taken_per_curie_ms=1.48, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 31, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:2146', 'MONDO:0010193'], curie_count=2, time_taken_ms=8.1, time_taken_per_curie_ms=4.05, arguments={'curies': ['NCBIGene:2146', 'MONDO:0010193'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 30, 31, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:2146', 'MONDO:0010193'], curie_count=2, time_taken_ms=4.17, time_taken_per_curie_ms=2.085, arguments={'curies': ['NCBIGene:2146', 'MONDO:0010193'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 28, 43, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.69, time_taken_per_curie_ms=3.69, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 26, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.34, time_taken_per_curie_ms=2.67, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007224'], curie_count=1, time_taken_ms=4.93, time_taken_per_curie_ms=4.93, arguments={'curies': ['GO:0007224'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007628'], curie_count=1, time_taken_ms=3.2, time_taken_per_curie_ms=3.2, arguments={'curies': ['GO:0007628'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007224'], curie_count=1, time_taken_ms=1.93, time_taken_per_curie_ms=1.93, arguments={'curies': ['GO:0007224'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007179'], curie_count=1, time_taken_ms=1.58, time_taken_per_curie_ms=1.58, arguments={'curies': ['GO:0007179'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19448668'], curie_count=1, time_taken_ms=2.64, time_taken_per_curie_ms=2.64, arguments={'curies': ['PMID:19448668'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006974'], curie_count=1, time_taken_ms=1.42, time_taken_per_curie_ms=1.42, arguments={'curies': ['GO:0006974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2990846'], curie_count=1, time_taken_ms=5.56, time_taken_per_curie_ms=5.56, arguments={'curies': ['REACT:R-HSA-2990846'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001654'], curie_count=1, time_taken_ms=5.5, time_taken_per_curie_ms=5.5, arguments={'curies': ['GO:0001654'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3108232'], curie_count=1, time_taken_ms=4.16, time_taken_per_curie_ms=4.16, arguments={'curies': ['REACT:R-HSA-3108232'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000122'], curie_count=1, time_taken_ms=4.28, time_taken_per_curie_ms=4.28, arguments={'curies': ['GO:0000122'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-397014'], curie_count=1, time_taken_ms=3.48, time_taken_per_curie_ms=3.48, arguments={'curies': ['REACT:R-HSA-397014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3899300'], curie_count=1, time_taken_ms=3.49, time_taken_per_curie_ms=3.49, arguments={'curies': ['REACT:R-HSA-3899300'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-212436'], curie_count=1, time_taken_ms=3.68, time_taken_per_curie_ms=3.68, arguments={'curies': ['REACT:R-HSA-212436'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20579985'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['PMID:20579985'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2032785'], curie_count=1, time_taken_ms=2.79, time_taken_per_curie_ms=2.79, arguments={'curies': ['REACT:R-HSA-2032785'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006468'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0006468'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003016'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['GO:0003016'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3700989'], curie_count=1, time_taken_ms=2.42, time_taken_per_curie_ms=2.42, arguments={'curies': ['REACT:R-HSA-3700989'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 23, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=4.19, time_taken_per_curie_ms=4.19, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 20, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.26, time_taken_per_curie_ms=2.63, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007608'], curie_count=1, time_taken_ms=4.18, time_taken_per_curie_ms=4.18, arguments={'curies': ['GO:0007608'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007608'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['GO:0007608'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008104'], curie_count=1, time_taken_ms=1.87, time_taken_per_curie_ms=1.87, arguments={'curies': ['GO:0008104'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001895'], curie_count=1, time_taken_ms=4.0, time_taken_per_curie_ms=4.0, arguments={'curies': ['GO:0001895'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007601'], curie_count=1, time_taken_ms=2.04, time_taken_per_curie_ms=2.04, arguments={'curies': ['GO:0007601'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007601'], curie_count=1, time_taken_ms=1.41, time_taken_per_curie_ms=1.41, arguments={'curies': ['GO:0007601'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001895'], curie_count=1, time_taken_ms=2.73, time_taken_per_curie_ms=2.73, arguments={'curies': ['GO:0001895'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006629'], curie_count=1, time_taken_ms=1.41, time_taken_per_curie_ms=1.41, arguments={'curies': ['GO:0006629'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001764'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['GO:0001764'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000226'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['GO:0000226'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5620922'], curie_count=1, time_taken_ms=4.23, time_taken_per_curie_ms=4.23, arguments={'curies': ['REACT:R-HSA-5620922'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5620920'], curie_count=1, time_taken_ms=4.3, time_taken_per_curie_ms=4.3, arguments={'curies': ['REACT:R-HSA-5620920'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1852241'], curie_count=1, time_taken_ms=4.12, time_taken_per_curie_ms=4.12, arguments={'curies': ['REACT:R-MMU-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4656'], curie_count=1, time_taken_ms=1.34, time_taken_per_curie_ms=1.34, arguments={'curies': ['WIKIPATHWAYS:WP4656'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1852241'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['REACT:R-HSA-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5617833'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['REACT:R-HSA-5617833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-5617833'], curie_count=1, time_taken_ms=2.15, time_taken_per_curie_ms=2.15, arguments={'curies': ['REACT:R-MMU-5617833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4536'], curie_count=1, time_taken_ms=0.28, time_taken_per_curie_ms=0.28, arguments={'curies': ['WIKIPATHWAYS:WP4536'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4352'], curie_count=1, time_taken_ms=0.44, time_taken_per_curie_ms=0.44, arguments={'curies': ['WIKIPATHWAYS:WP4352'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4803'], curie_count=1, time_taken_ms=0.6, time_taken_per_curie_ms=0.6, arguments={'curies': ['WIKIPATHWAYS:WP4803'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 17, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 15, 10, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.56, time_taken_per_curie_ms=1.78, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 12, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.0, time_taken_per_curie_ms=3.0, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 9, 41, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.32, time_taken_per_curie_ms=2.66, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.04, time_taken_per_curie_ms=3.04, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5696399'], curie_count=1, time_taken_ms=4.08, time_taken_per_curie_ms=4.08, arguments={'curies': ['REACT:R-HSA-5696399'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=5.36, time_taken_per_curie_ms=5.36, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=5.07, time_taken_per_curie_ms=5.07, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3108232'], curie_count=1, time_taken_ms=4.91, time_taken_per_curie_ms=4.91, arguments={'curies': ['REACT:R-HSA-3108232'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8168482'], curie_count=1, time_taken_ms=5.0, time_taken_per_curie_ms=5.0, arguments={'curies': ['PMID:8168482'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=5.27, time_taken_per_curie_ms=5.27, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9734359'], curie_count=1, time_taken_ms=5.23, time_taken_per_curie_ms=5.23, arguments={'curies': ['PMID:9734359'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5696395'], curie_count=1, time_taken_ms=3.42, time_taken_per_curie_ms=3.42, arguments={'curies': ['REACT:R-HSA-5696395'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006281'], curie_count=1, time_taken_ms=3.35, time_taken_per_curie_ms=3.35, arguments={'curies': ['GO:0006281'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5696394'], curie_count=1, time_taken_ms=2.87, time_taken_per_curie_ms=2.87, arguments={'curies': ['REACT:R-HSA-5696394'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:33937266'], curie_count=1, time_taken_ms=3.05, time_taken_per_curie_ms=3.05, arguments={'curies': ['PMID:33937266'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:11259578'], curie_count=1, time_taken_ms=3.6, time_taken_per_curie_ms=3.6, arguments={'curies': ['PMID:11259578'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19941824'], curie_count=1, time_taken_ms=1.94, time_taken_per_curie_ms=1.94, arguments={'curies': ['PMID:19941824'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10873465'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['PMID:10873465'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5696398'], curie_count=1, time_taken_ms=2.35, time_taken_per_curie_ms=2.35, arguments={'curies': ['REACT:R-HSA-5696398'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=1.89, time_taken_per_curie_ms=1.89, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-597592'], curie_count=1, time_taken_ms=1.76, time_taken_per_curie_ms=1.76, arguments={'curies': ['REACT:R-HSA-597592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=1.81, time_taken_per_curie_ms=1.81, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000720'], curie_count=1, time_taken_ms=2.36, time_taken_per_curie_ms=2.36, arguments={'curies': ['GO:0000720'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-73894'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['REACT:R-HSA-73894'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006281'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['GO:0006281'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=3.54, time_taken_per_curie_ms=3.54, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=2.82, time_taken_per_curie_ms=2.82, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:1522891'], curie_count=1, time_taken_ms=1.55, time_taken_per_curie_ms=1.55, arguments={'curies': ['PMID:1522891'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3108214'], curie_count=1, time_taken_ms=4.77, time_taken_per_curie_ms=4.77, arguments={'curies': ['REACT:R-HSA-3108214'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2990846'], curie_count=1, time_taken_ms=4.66, time_taken_per_curie_ms=4.66, arguments={'curies': ['REACT:R-HSA-2990846'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006281'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:0006281'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 4, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.17, time_taken_per_curie_ms=1.585, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=3.26, time_taken_per_curie_ms=3.26, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=1.8, time_taken_per_curie_ms=1.8, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0038007'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0038007'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5357769'], curie_count=1, time_taken_ms=4.85, time_taken_per_curie_ms=4.85, arguments={'curies': ['REACT:R-HSA-5357769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0038007'], curie_count=1, time_taken_ms=5.89, time_taken_per_curie_ms=5.89, arguments={'curies': ['GO:0038007'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=5.0, time_taken_per_curie_ms=5.0, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031175'], curie_count=1, time_taken_ms=3.82, time_taken_per_curie_ms=3.82, arguments={'curies': ['GO:0031175'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418889'], curie_count=1, time_taken_ms=2.19, time_taken_per_curie_ms=2.19, arguments={'curies': ['REACT:R-HSA-418889'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1266738'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['REACT:R-MMU-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5357801'], curie_count=1, time_taken_ms=2.2, time_taken_per_curie_ms=2.2, arguments={'curies': ['REACT:R-HSA-5357801'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-109581'], curie_count=1, time_taken_ms=2.3, time_taken_per_curie_ms=2.3, arguments={'curies': ['REACT:R-HSA-109581'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 1, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=4.61, time_taken_per_curie_ms=4.61, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 58, 43, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=4.9, time_taken_per_curie_ms=2.45, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19188609'], curie_count=1, time_taken_ms=4.09, time_taken_per_curie_ms=4.09, arguments={'curies': ['PMID:19188609'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:7693131'], curie_count=1, time_taken_ms=7.7, time_taken_per_curie_ms=7.7, arguments={'curies': ['PMID:7693131'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:11500939'], curie_count=1, time_taken_ms=8.15, time_taken_per_curie_ms=8.15, arguments={'curies': ['PMID:11500939'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19406747'], curie_count=1, time_taken_ms=7.87, time_taken_per_curie_ms=7.87, arguments={'curies': ['PMID:19406747'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007612'], curie_count=1, time_taken_ms=4.52, time_taken_per_curie_ms=4.52, arguments={'curies': ['GO:0007612'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006898'], curie_count=1, time_taken_ms=4.77, time_taken_per_curie_ms=4.77, arguments={'curies': ['GO:0006898'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007169'], curie_count=1, time_taken_ms=4.68, time_taken_per_curie_ms=4.68, arguments={'curies': ['GO:0007169'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003007'], curie_count=1, time_taken_ms=4.83, time_taken_per_curie_ms=4.83, arguments={'curies': ['GO:0003007'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04015'], curie_count=1, time_taken_ms=1.27, time_taken_per_curie_ms=1.27, arguments={'curies': ['KEGG:hsa04015'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006355'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['GO:0006355'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007613'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0007613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04066'], curie_count=1, time_taken_ms=0.75, time_taken_per_curie_ms=0.75, arguments={'curies': ['KEGG:hsa04066'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007186'], curie_count=1, time_taken_ms=2.96, time_taken_per_curie_ms=2.96, arguments={'curies': ['GO:0007186'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:25401701'], curie_count=1, time_taken_ms=3.41, time_taken_per_curie_ms=3.41, arguments={'curies': ['PMID:25401701'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005979'], curie_count=1, time_taken_ms=2.76, time_taken_per_curie_ms=2.76, arguments={'curies': ['GO:0005979'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002092'], curie_count=1, time_taken_ms=3.05, time_taken_per_curie_ms=3.05, arguments={'curies': ['GO:0002092'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12881524'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['PMID:12881524'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9092559'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['PMID:9092559'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008284'], curie_count=1, time_taken_ms=2.6, time_taken_per_curie_ms=2.6, arguments={'curies': ['GO:0008284'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19188609'], curie_count=1, time_taken_ms=2.74, time_taken_per_curie_ms=2.74, arguments={'curies': ['PMID:19188609'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04014'], curie_count=1, time_taken_ms=0.74, time_taken_per_curie_ms=0.74, arguments={'curies': ['KEGG:hsa04014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04022'], curie_count=1, time_taken_ms=0.43, time_taken_per_curie_ms=0.43, arguments={'curies': ['KEGG:hsa04022'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04150'], curie_count=1, time_taken_ms=0.29, time_taken_per_curie_ms=0.29, arguments={'curies': ['KEGG:hsa04150'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04068'], curie_count=1, time_taken_ms=0.23, time_taken_per_curie_ms=0.23, arguments={'curies': ['KEGG:hsa04068'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04072'], curie_count=1, time_taken_ms=0.51, time_taken_per_curie_ms=0.51, arguments={'curies': ['KEGG:hsa04072'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04010'], curie_count=1, time_taken_ms=1.47, time_taken_per_curie_ms=1.47, arguments={'curies': ['KEGG:hsa04010'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 55, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 53, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.15, time_taken_per_curie_ms=1.575, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 53, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:56943', 'CHEBI:17992', 'NCBIGene:6194'], curie_count=3, time_taken_ms=7.15, time_taken_per_curie_ms=2.3833333333333333, arguments={'curies': ['NCBIGene:56943', 'CHEBI:17992', 'NCBIGene:6194'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 50, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.56, time_taken_per_curie_ms=2.56, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=0.47, time_taken_per_curie_ms=0.47, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05165'], curie_count=1, time_taken_ms=0.34, time_taken_per_curie_ms=0.34, arguments={'curies': ['KEGG:hsa05165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04640'], curie_count=1, time_taken_ms=0.57, time_taken_per_curie_ms=0.57, arguments={'curies': ['KEGG:hsa04640'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04810'], curie_count=1, time_taken_ms=0.27, time_taken_per_curie_ms=0.27, arguments={'curies': ['KEGG:hsa04810'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04613'], curie_count=1, time_taken_ms=0.78, time_taken_per_curie_ms=0.78, arguments={'curies': ['KEGG:hsa04613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04611'], curie_count=1, time_taken_ms=0.48, time_taken_per_curie_ms=0.48, arguments={'curies': ['KEGG:hsa04611'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04512'], curie_count=1, time_taken_ms=0.54, time_taken_per_curie_ms=0.54, arguments={'curies': ['KEGG:hsa04512'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04151'], curie_count=1, time_taken_ms=0.62, time_taken_per_curie_ms=0.62, arguments={'curies': ['KEGG:hsa04151'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04510'], curie_count=1, time_taken_ms=0.24, time_taken_per_curie_ms=0.24, arguments={'curies': ['KEGG:hsa04510'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04015'], curie_count=1, time_taken_ms=0.71, time_taken_per_curie_ms=0.71, arguments={'curies': ['KEGG:hsa04015'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007229'], curie_count=1, time_taken_ms=3.9, time_taken_per_curie_ms=3.9, arguments={'curies': ['GO:0007229'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007160'], curie_count=1, time_taken_ms=3.57, time_taken_per_curie_ms=3.57, arguments={'curies': ['GO:0007160'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007229'], curie_count=1, time_taken_ms=3.05, time_taken_per_curie_ms=3.05, arguments={'curies': ['GO:0007229'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007160'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['GO:0007160'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19693543'], curie_count=1, time_taken_ms=1.72, time_taken_per_curie_ms=1.72, arguments={'curies': ['PMID:19693543'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007229'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['GO:0007229'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23382103'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['PMID:23382103'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007229'], curie_count=1, time_taken_ms=1.61, time_taken_per_curie_ms=1.61, arguments={'curies': ['GO:0007229'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007160'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['GO:0007160'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19693543'], curie_count=1, time_taken_ms=2.09, time_taken_per_curie_ms=2.09, arguments={'curies': ['PMID:19693543'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=1.85, time_taken_per_curie_ms=1.85, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001525'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['GO:0001525'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002687'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['GO:0002687'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 47, 45, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.05, time_taken_per_curie_ms=2.525, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=6.69, time_taken_per_curie_ms=6.69, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-597592'], curie_count=1, time_taken_ms=5.19, time_taken_per_curie_ms=5.19, arguments={'curies': ['REACT:R-HSA-597592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-948021'], curie_count=1, time_taken_ms=5.05, time_taken_per_curie_ms=5.05, arguments={'curies': ['REACT:R-HSA-948021'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015031'], curie_count=1, time_taken_ms=6.84, time_taken_per_curie_ms=6.84, arguments={'curies': ['GO:0015031'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000139'], curie_count=1, time_taken_ms=5.13, time_taken_per_curie_ms=5.13, arguments={'curies': ['GO:0000139'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005615'], curie_count=1, time_taken_ms=4.36, time_taken_per_curie_ms=4.36, arguments={'curies': ['GO:0005615'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=3.64, time_taken_per_curie_ms=3.64, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050766'], curie_count=1, time_taken_ms=3.77, time_taken_per_curie_ms=3.77, arguments={'curies': ['GO:0050766'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-199977'], curie_count=1, time_taken_ms=2.29, time_taken_per_curie_ms=2.29, arguments={'curies': ['REACT:R-MMU-199977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5653656'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['REACT:R-HSA-5653656'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005789'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['GO:0005789'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-199977'], curie_count=1, time_taken_ms=1.75, time_taken_per_curie_ms=1.75, arguments={'curies': ['REACT:R-HSA-199977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5694530'], curie_count=1, time_taken_ms=2.03, time_taken_per_curie_ms=2.03, arguments={'curies': ['REACT:R-HSA-5694530'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22016386'], curie_count=1, time_taken_ms=2.32, time_taken_per_curie_ms=2.32, arguments={'curies': ['PMID:22016386'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000139'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['GO:0000139'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22016386'], curie_count=1, time_taken_ms=1.79, time_taken_per_curie_ms=1.79, arguments={'curies': ['PMID:22016386'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-199991'], curie_count=1, time_taken_ms=2.19, time_taken_per_curie_ms=2.19, arguments={'curies': ['REACT:R-HSA-199991'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-446203'], curie_count=1, time_taken_ms=1.77, time_taken_per_curie_ms=1.77, arguments={'curies': ['REACT:R-HSA-446203'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-204005'], curie_count=1, time_taken_ms=2.04, time_taken_per_curie_ms=2.04, arguments={'curies': ['REACT:R-HSA-204005'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050766'], curie_count=1, time_taken_ms=2.05, time_taken_per_curie_ms=2.05, arguments={'curies': ['GO:0050766'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006890'], curie_count=1, time_taken_ms=2.44, time_taken_per_curie_ms=2.44, arguments={'curies': ['GO:0006890'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006888'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:0006888'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20477988'], curie_count=1, time_taken_ms=2.17, time_taken_per_curie_ms=2.17, arguments={'curies': ['PMID:20477988'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:56943', 'CHEBI:17992'], curie_count=2, time_taken_ms=3.35, time_taken_per_curie_ms=1.675, arguments={'curies': ['NCBIGene:56943', 'CHEBI:17992'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 44, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 18, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.2, time_taken_per_curie_ms=2.6, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 14, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:56943', 'CHEBI:17992'], curie_count=2, time_taken_ms=2.76, time_taken_per_curie_ms=1.38, arguments={'curies': ['NCBIGene:56943', 'CHEBI:17992'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009410'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['GO:0009410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015889'], curie_count=1, time_taken_ms=2.99, time_taken_per_curie_ms=2.99, arguments={'curies': ['GO:0015889'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009410'], curie_count=1, time_taken_ms=1.57, time_taken_per_curie_ms=1.57, arguments={'curies': ['GO:0009410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006805'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['GO:0006805'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006869'], curie_count=1, time_taken_ms=4.22, time_taken_per_curie_ms=4.22, arguments={'curies': ['GO:0006869'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030148'], curie_count=1, time_taken_ms=1.52, time_taken_per_curie_ms=1.52, arguments={'curies': ['GO:0030148'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009410'], curie_count=1, time_taken_ms=3.11, time_taken_per_curie_ms=3.11, arguments={'curies': ['GO:0009410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015889'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['GO:0015889'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:1360704'], curie_count=1, time_taken_ms=1.55, time_taken_per_curie_ms=1.55, arguments={'curies': ['PMID:1360704'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006805'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['GO:0006805'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05206'], curie_count=1, time_taken_ms=0.65, time_taken_per_curie_ms=0.65, arguments={'curies': ['KEGG:hsa05206'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-189445'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['REACT:R-HSA-189445'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-189483'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['REACT:R-HSA-189483'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1660661'], curie_count=1, time_taken_ms=3.38, time_taken_per_curie_ms=3.38, arguments={'curies': ['REACT:R-HSA-1660661'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04977'], curie_count=1, time_taken_ms=0.42, time_taken_per_curie_ms=0.42, arguments={'curies': ['KEGG:hsa04977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04071'], curie_count=1, time_taken_ms=0.61, time_taken_per_curie_ms=0.61, arguments={'curies': ['KEGG:hsa04071'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa02010'], curie_count=1, time_taken_ms=0.39, time_taken_per_curie_ms=0.39, arguments={'curies': ['KEGG:hsa02010'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019370'], curie_count=1, time_taken_ms=3.35, time_taken_per_curie_ms=3.35, arguments={'curies': ['GO:0019370'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019370'], curie_count=1, time_taken_ms=4.14, time_taken_per_curie_ms=4.14, arguments={'curies': ['GO:0019370'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019370'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['GO:0019370'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:2300173'], curie_count=1, time_taken_ms=2.32, time_taken_per_curie_ms=2.32, arguments={'curies': ['PMID:2300173'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17600184'], curie_count=1, time_taken_ms=3.54, time_taken_per_curie_ms=3.54, arguments={'curies': ['PMID:17600184'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071277'], curie_count=1, time_taken_ms=3.11, time_taken_per_curie_ms=3.11, arguments={'curies': ['GO:0071277'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070207'], curie_count=1, time_taken_ms=1.12, time_taken_per_curie_ms=1.12, arguments={'curies': ['GO:0070207'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0098869'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0098869'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=1.54, time_taken_per_curie_ms=1.54, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2142688'], curie_count=1, time_taken_ms=1.58, time_taken_per_curie_ms=1.58, arguments={'curies': ['REACT:R-HSA-2142688'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006691'], curie_count=1, time_taken_ms=3.59, time_taken_per_curie_ms=3.59, arguments={'curies': ['GO:0006691'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002540'], curie_count=1, time_taken_ms=3.07, time_taken_per_curie_ms=3.07, arguments={'curies': ['GO:0002540'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP167'], curie_count=1, time_taken_ms=0.31, time_taken_per_curie_ms=0.31, arguments={'curies': ['WIKIPATHWAYS:WP167'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019370'], curie_count=1, time_taken_ms=1.56, time_taken_per_curie_ms=1.56, arguments={'curies': ['GO:0019370'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046394'], curie_count=1, time_taken_ms=3.38, time_taken_per_curie_ms=3.38, arguments={'curies': ['GO:0046394'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-8978868'], curie_count=1, time_taken_ms=3.7, time_taken_per_curie_ms=3.7, arguments={'curies': ['REACT:R-HSA-8978868'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:2300173'], curie_count=1, time_taken_ms=1.24, time_taken_per_curie_ms=1.24, arguments={'curies': ['PMID:2300173'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2142700'], curie_count=1, time_taken_ms=2.51, time_taken_per_curie_ms=2.51, arguments={'curies': ['REACT:R-HSA-2142700'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-556833'], curie_count=1, time_taken_ms=1.76, time_taken_per_curie_ms=1.76, arguments={'curies': ['REACT:R-HSA-556833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-9018678'], curie_count=1, time_taken_ms=3.38, time_taken_per_curie_ms=3.38, arguments={'curies': ['REACT:R-HSA-9018678'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2142753'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['REACT:R-HSA-2142753'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP15'], curie_count=1, time_taken_ms=0.61, time_taken_per_curie_ms=0.61, arguments={'curies': ['WIKIPATHWAYS:WP15'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2142691'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['REACT:R-HSA-2142691'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002027'], curie_count=1, time_taken_ms=5.52, time_taken_per_curie_ms=5.52, arguments={'curies': ['GO:0002027'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001698'], curie_count=1, time_taken_ms=5.54, time_taken_per_curie_ms=5.54, arguments={'curies': ['GO:0001698'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001508'], curie_count=1, time_taken_ms=8.0, time_taken_per_curie_ms=8.0, arguments={'curies': ['GO:0001508'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006814'], curie_count=1, time_taken_ms=5.67, time_taken_per_curie_ms=5.67, arguments={'curies': ['GO:0006814'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1296072'], curie_count=1, time_taken_ms=6.49, time_taken_per_curie_ms=6.49, arguments={'curies': ['REACT:R-HSA-1296072'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04972'], curie_count=1, time_taken_ms=2.47, time_taken_per_curie_ms=2.47, arguments={'curies': ['KEGG:hsa04972'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04971'], curie_count=1, time_taken_ms=0.65, time_taken_per_curie_ms=0.65, arguments={'curies': ['KEGG:hsa04971'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007507'], curie_count=1, time_taken_ms=3.68, time_taken_per_curie_ms=3.68, arguments={'curies': ['GO:0007507'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006811'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['GO:0006811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-397014'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['REACT:R-HSA-397014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006006'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0006006'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007605'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0007605'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001696'], curie_count=1, time_taken_ms=2.03, time_taken_per_curie_ms=2.03, arguments={'curies': ['GO:0001696'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006813'], curie_count=1, time_taken_ms=1.93, time_taken_per_curie_ms=1.93, arguments={'curies': ['GO:0006813'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1296071'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['REACT:R-HSA-1296071'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-112316'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['REACT:R-HSA-112316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05110'], curie_count=1, time_taken_ms=1.32, time_taken_per_curie_ms=1.32, arguments={'curies': ['KEGG:hsa05110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04261'], curie_count=1, time_taken_ms=0.53, time_taken_per_curie_ms=0.53, arguments={'curies': ['KEGG:hsa04261'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04725'], curie_count=1, time_taken_ms=0.29, time_taken_per_curie_ms=0.29, arguments={'curies': ['KEGG:hsa04725'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04974'], curie_count=1, time_taken_ms=0.32, time_taken_per_curie_ms=0.32, arguments={'curies': ['KEGG:hsa04974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007031'], curie_count=1, time_taken_ms=1.47, time_taken_per_curie_ms=1.47, arguments={'curies': ['GO:0007031'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006644'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['GO:0006644'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006641'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['GO:0006641'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006644'], curie_count=1, time_taken_ms=9.31, time_taken_per_curie_ms=9.31, arguments={'curies': ['GO:0006644'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007031'], curie_count=1, time_taken_ms=10.61, time_taken_per_curie_ms=10.61, arguments={'curies': ['GO:0007031'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006629'], curie_count=1, time_taken_ms=6.0, time_taken_per_curie_ms=6.0, arguments={'curies': ['GO:0006629'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008654'], curie_count=1, time_taken_ms=5.78, time_taken_per_curie_ms=5.78, arguments={'curies': ['GO:0008654'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=3.82, time_taken_per_curie_ms=3.82, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04014'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['KEGG:hsa04014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20100577'], curie_count=1, time_taken_ms=2.82, time_taken_per_curie_ms=2.82, arguments={'curies': ['PMID:20100577'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006641'], curie_count=1, time_taken_ms=2.67, time_taken_per_curie_ms=2.67, arguments={'curies': ['GO:0006641'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1482801'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['REACT:R-HSA-1482801'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009617'], curie_count=1, time_taken_ms=1.63, time_taken_per_curie_ms=1.63, arguments={'curies': ['GO:0009617'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1482788'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['REACT:R-HSA-1482788'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016042'], curie_count=1, time_taken_ms=1.86, time_taken_per_curie_ms=1.86, arguments={'curies': ['GO:0016042'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00592'], curie_count=1, time_taken_ms=0.43, time_taken_per_curie_ms=0.43, arguments={'curies': ['KEGG:hsa00592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04923'], curie_count=1, time_taken_ms=0.39, time_taken_per_curie_ms=0.39, arguments={'curies': ['KEGG:hsa04923'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00564'], curie_count=1, time_taken_ms=0.5, time_taken_per_curie_ms=0.5, arguments={'curies': ['KEGG:hsa00564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00565'], curie_count=1, time_taken_ms=0.38, time_taken_per_curie_ms=0.38, arguments={'curies': ['KEGG:hsa00565'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00590'], curie_count=1, time_taken_ms=0.37, time_taken_per_curie_ms=0.37, arguments={'curies': ['KEGG:hsa00590'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00591'], curie_count=1, time_taken_ms=0.64, time_taken_per_curie_ms=0.64, arguments={'curies': ['KEGG:hsa00591'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 39, 21, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.77, time_taken_per_curie_ms=2.77, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:1569188'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['PMID:1569188'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1474244'], curie_count=1, time_taken_ms=1.42, time_taken_per_curie_ms=1.42, arguments={'curies': ['REACT:R-HSA-1474244'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005796'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:0005796'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1474228'], curie_count=1, time_taken_ms=4.23, time_taken_per_curie_ms=4.23, arguments={'curies': ['REACT:R-HSA-1474228'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001501'], curie_count=1, time_taken_ms=2.15, time_taken_per_curie_ms=2.15, arguments={'curies': ['GO:0001501'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005576'], curie_count=1, time_taken_ms=2.42, time_taken_per_curie_ms=2.42, arguments={'curies': ['GO:0005576'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005796'], curie_count=1, time_taken_ms=5.58, time_taken_per_curie_ms=5.58, arguments={'curies': ['GO:0005796'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:1569188'], curie_count=1, time_taken_ms=6.84, time_taken_per_curie_ms=6.84, arguments={'curies': ['PMID:1569188'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1474244'], curie_count=1, time_taken_ms=7.8, time_taken_per_curie_ms=7.8, arguments={'curies': ['REACT:R-HSA-1474244'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005615'], curie_count=1, time_taken_ms=5.01, time_taken_per_curie_ms=5.01, arguments={'curies': ['GO:0005615'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1630316'], curie_count=1, time_taken_ms=4.91, time_taken_per_curie_ms=4.91, arguments={'curies': ['REACT:R-HSA-1630316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1474228'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['REACT:R-HSA-1474228'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1643685'], curie_count=1, time_taken_ms=3.41, time_taken_per_curie_ms=3.41, arguments={'curies': ['REACT:R-HSA-1643685'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007417'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['GO:0007417'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1638074'], curie_count=1, time_taken_ms=3.43, time_taken_per_curie_ms=3.43, arguments={'curies': ['REACT:R-HSA-1638074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001501'], curie_count=1, time_taken_ms=3.02, time_taken_per_curie_ms=3.02, arguments={'curies': ['GO:0001501'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005576'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['GO:0005576'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2022857'], curie_count=1, time_taken_ms=2.92, time_taken_per_curie_ms=2.92, arguments={'curies': ['REACT:R-HSA-2022857'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006508'], curie_count=1, time_taken_ms=2.24, time_taken_per_curie_ms=2.24, arguments={'curies': ['GO:0006508'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2022854'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['REACT:R-HSA-2022854'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=2.16, time_taken_per_curie_ms=2.16, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 36, 45, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.34, time_taken_per_curie_ms=2.67, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000122'], curie_count=1, time_taken_ms=3.64, time_taken_per_curie_ms=3.64, arguments={'curies': ['GO:0000122'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=2.09, time_taken_per_curie_ms=2.09, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010718'], curie_count=1, time_taken_ms=5.48, time_taken_per_curie_ms=5.48, arguments={'curies': ['GO:0010718'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009749'], curie_count=1, time_taken_ms=5.8, time_taken_per_curie_ms=5.8, arguments={'curies': ['GO:0009749'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17072303'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['PMID:17072303'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19168596'], curie_count=1, time_taken_ms=4.0, time_taken_per_curie_ms=4.0, arguments={'curies': ['PMID:19168596'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000122'], curie_count=1, time_taken_ms=3.16, time_taken_per_curie_ms=3.16, arguments={'curies': ['GO:0000122'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9727977'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['PMID:9727977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=3.17, time_taken_per_curie_ms=3.17, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:15578569'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['PMID:15578569'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:15853773'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['PMID:15853773'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05210'], curie_count=1, time_taken_ms=0.72, time_taken_per_curie_ms=0.72, arguments={'curies': ['KEGG:hsa05210'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001568'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['GO:0001568'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12799378'], curie_count=1, time_taken_ms=2.0, time_taken_per_curie_ms=2.0, arguments={'curies': ['PMID:12799378'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05132'], curie_count=1, time_taken_ms=0.69, time_taken_per_curie_ms=0.69, arguments={'curies': ['KEGG:hsa05132'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010909'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['GO:0010909'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04520'], curie_count=1, time_taken_ms=0.52, time_taken_per_curie_ms=0.52, arguments={'curies': ['KEGG:hsa04520'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=0.95, time_taken_per_curie_ms=0.95, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05167'], curie_count=1, time_taken_ms=0.4, time_taken_per_curie_ms=0.4, arguments={'curies': ['KEGG:hsa05167'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 52, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.08, time_taken_per_curie_ms=3.08, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05131'], curie_count=1, time_taken_ms=0.38, time_taken_per_curie_ms=0.38, arguments={'curies': ['KEGG:hsa05131'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04714'], curie_count=1, time_taken_ms=0.34, time_taken_per_curie_ms=0.34, arguments={'curies': ['KEGG:hsa04714'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04910'], curie_count=1, time_taken_ms=0.15, time_taken_per_curie_ms=0.15, arguments={'curies': ['KEGG:hsa04910'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04213'], curie_count=1, time_taken_ms=0.32, time_taken_per_curie_ms=0.32, arguments={'curies': ['KEGG:hsa04213'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04140'], curie_count=1, time_taken_ms=0.82, time_taken_per_curie_ms=0.82, arguments={'curies': ['KEGG:hsa04140'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04211'], curie_count=1, time_taken_ms=0.34, time_taken_per_curie_ms=0.34, arguments={'curies': ['KEGG:hsa04211'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04152'], curie_count=1, time_taken_ms=0.32, time_taken_per_curie_ms=0.32, arguments={'curies': ['KEGG:hsa04152'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04150'], curie_count=1, time_taken_ms=0.4, time_taken_per_curie_ms=0.4, arguments={'curies': ['KEGG:hsa04150'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04151'], curie_count=1, time_taken_ms=0.18, time_taken_per_curie_ms=0.18, arguments={'curies': ['KEGG:hsa04151'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006974'], curie_count=1, time_taken_ms=4.44, time_taken_per_curie_ms=4.44, arguments={'curies': ['GO:0006974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009410'], curie_count=1, time_taken_ms=5.92, time_taken_per_curie_ms=5.92, arguments={'curies': ['GO:0009410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17041623'], curie_count=1, time_taken_ms=4.79, time_taken_per_curie_ms=4.79, arguments={'curies': ['PMID:17041623'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20381137'], curie_count=1, time_taken_ms=3.77, time_taken_per_curie_ms=3.77, arguments={'curies': ['PMID:20381137'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001938'], curie_count=1, time_taken_ms=5.21, time_taken_per_curie_ms=5.21, arguments={'curies': ['GO:0001938'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04136'], curie_count=1, time_taken_ms=0.32, time_taken_per_curie_ms=0.32, arguments={'curies': ['KEGG:hsa04136'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010506'], curie_count=1, time_taken_ms=2.74, time_taken_per_curie_ms=2.74, arguments={'curies': ['GO:0010506'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010507'], curie_count=1, time_taken_ms=2.62, time_taken_per_curie_ms=2.62, arguments={'curies': ['GO:0010507'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:34314702'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['PMID:34314702'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12150925'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['PMID:12150925'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009267'], curie_count=1, time_taken_ms=2.16, time_taken_per_curie_ms=2.16, arguments={'curies': ['GO:0009267'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8706699'], curie_count=1, time_taken_ms=2.58, time_taken_per_curie_ms=2.58, arguments={'curies': ['PMID:8706699'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:32561715'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['PMID:32561715'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008361'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0008361'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002181'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['GO:0002181'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001558'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['GO:0001558'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28890335'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['PMID:28890335'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000045'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['GO:0000045'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:56943'], curie_count=1, time_taken_ms=5.32, time_taken_per_curie_ms=5.32, arguments={'curies': ['NCBIGene:56943'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007216'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['GO:0007216'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007216'], curie_count=1, time_taken_ms=3.94, time_taken_per_curie_ms=3.94, arguments={'curies': ['GO:0007216'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:7620613'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['PMID:7620613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:37286794'], curie_count=1, time_taken_ms=2.46, time_taken_per_curie_ms=2.46, arguments={'curies': ['PMID:37286794'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007268'], curie_count=1, time_taken_ms=4.32, time_taken_per_curie_ms=4.32, arguments={'curies': ['GO:0007268'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007194'], curie_count=1, time_taken_ms=4.6, time_taken_per_curie_ms=4.6, arguments={'curies': ['GO:0007194'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007216'], curie_count=1, time_taken_ms=5.04, time_taken_per_curie_ms=5.04, arguments={'curies': ['GO:0007216'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-388396'], curie_count=1, time_taken_ms=3.16, time_taken_per_curie_ms=3.16, arguments={'curies': ['REACT:R-HSA-388396'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007215'], curie_count=1, time_taken_ms=3.13, time_taken_per_curie_ms=3.13, arguments={'curies': ['GO:0007215'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-500792'], curie_count=1, time_taken_ms=2.43, time_taken_per_curie_ms=2.43, arguments={'curies': ['REACT:R-HSA-500792'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-420499'], curie_count=1, time_taken_ms=2.62, time_taken_per_curie_ms=2.62, arguments={'curies': ['REACT:R-HSA-420499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:7620613'], curie_count=1, time_taken_ms=3.03, time_taken_per_curie_ms=3.03, arguments={'curies': ['PMID:7620613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007193'], curie_count=1, time_taken_ms=1.78, time_taken_per_curie_ms=1.78, arguments={'curies': ['GO:0007193'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-162582'], curie_count=1, time_taken_ms=2.24, time_taken_per_curie_ms=2.24, arguments={'curies': ['REACT:R-HSA-162582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-372790'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['REACT:R-HSA-372790'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007196'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['GO:0007196'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:37286794'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['PMID:37286794'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418594'], curie_count=1, time_taken_ms=1.89, time_taken_per_curie_ms=1.89, arguments={'curies': ['REACT:R-HSA-418594'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007186'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:0007186'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:34239069'], curie_count=1, time_taken_ms=2.09, time_taken_per_curie_ms=2.09, arguments={'curies': ['PMID:34239069'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05030'], curie_count=1, time_taken_ms=0.85, time_taken_per_curie_ms=0.85, arguments={'curies': ['KEGG:hsa05030'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04080'], curie_count=1, time_taken_ms=1.15, time_taken_per_curie_ms=1.15, arguments={'curies': ['KEGG:hsa04080'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04724'], curie_count=1, time_taken_ms=0.24, time_taken_per_curie_ms=0.24, arguments={'curies': ['KEGG:hsa04724'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04072'], curie_count=1, time_taken_ms=0.94, time_taken_per_curie_ms=0.94, arguments={'curies': ['KEGG:hsa04072'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 31, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.92, time_taken_per_curie_ms=1.46, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001764'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0001764'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=2.69, time_taken_per_curie_ms=2.69, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007409'], curie_count=1, time_taken_ms=1.76, time_taken_per_curie_ms=1.76, arguments={'curies': ['GO:0007409'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=1.8, time_taken_per_curie_ms=1.8, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=1.85, time_taken_per_curie_ms=1.85, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0021965'], curie_count=1, time_taken_ms=3.88, time_taken_per_curie_ms=3.88, arguments={'curies': ['GO:0021965'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19616629'], curie_count=1, time_taken_ms=4.34, time_taken_per_curie_ms=4.34, arguments={'curies': ['PMID:19616629'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007409'], curie_count=1, time_taken_ms=4.29, time_taken_per_curie_ms=4.29, arguments={'curies': ['GO:0007409'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0033563'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0033563'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9796814'], curie_count=1, time_taken_ms=4.43, time_taken_per_curie_ms=4.43, arguments={'curies': ['PMID:9796814'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=3.01, time_taken_per_curie_ms=3.01, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001764'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['GO:0001764'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=1.82, time_taken_per_curie_ms=1.82, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010977'], curie_count=1, time_taken_ms=1.66, time_taken_per_curie_ms=1.66, arguments={'curies': ['GO:0010977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=3.87, time_taken_per_curie_ms=3.87, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376172'], curie_count=1, time_taken_ms=3.62, time_taken_per_curie_ms=3.62, arguments={'curies': ['REACT:R-HSA-376172'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8861902'], curie_count=1, time_taken_ms=1.7, time_taken_per_curie_ms=1.7, arguments={'curies': ['PMID:8861902'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376176'], curie_count=1, time_taken_ms=1.67, time_taken_per_curie_ms=1.67, arguments={'curies': ['REACT:R-HSA-376176'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-109581'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['REACT:R-HSA-109581'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=1.95, time_taken_per_curie_ms=1.95, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=0.99, time_taken_per_curie_ms=0.99, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04360'], curie_count=1, time_taken_ms=0.77, time_taken_per_curie_ms=0.77, arguments={'curies': ['KEGG:hsa04360'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05210'], curie_count=1, time_taken_ms=0.4, time_taken_per_curie_ms=0.4, arguments={'curies': ['KEGG:hsa05210'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:18469807'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['PMID:18469807'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0033564'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['GO:0033564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=3.71, time_taken_per_curie_ms=3.71, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=5.66, time_taken_per_curie_ms=5.66, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:18469807'], curie_count=1, time_taken_ms=1.78, time_taken_per_curie_ms=1.78, arguments={'curies': ['PMID:18469807'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418886'], curie_count=1, time_taken_ms=6.8, time_taken_per_curie_ms=6.8, arguments={'curies': ['REACT:R-HSA-418886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:2001240'], curie_count=1, time_taken_ms=6.65, time_taken_per_curie_ms=6.65, arguments={'curies': ['GO:2001240'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0033564'], curie_count=1, time_taken_ms=2.37, time_taken_per_curie_ms=2.37, arguments={'curies': ['GO:0033564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418889'], curie_count=1, time_taken_ms=2.7, time_taken_per_curie_ms=2.7, arguments={'curies': ['REACT:R-HSA-418889'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0038007'], curie_count=1, time_taken_ms=2.63, time_taken_per_curie_ms=2.63, arguments={'curies': ['GO:0038007'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0051897'], curie_count=1, time_taken_ms=2.32, time_taken_per_curie_ms=2.32, arguments={'curies': ['GO:0051897'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=2.52, time_taken_per_curie_ms=2.52, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-109581'], curie_count=1, time_taken_ms=1.79, time_taken_per_curie_ms=1.79, arguments={'curies': ['REACT:R-HSA-109581'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5357769'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['REACT:R-HSA-5357769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=1.59, time_taken_per_curie_ms=1.59, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:18469807'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:18469807'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " ...]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "logs" + ] + }, + { + "cell_type": "markdown", + "id": "dfc3b8e7-be80-44a2-b142-943c0c3c2dbb", + "metadata": {}, + "source": [ + "## Visualizing the logs" + ] + }, + { + "cell_type": "markdown", + "id": "9650b40f-4ddf-4157-84c3-cb8dd9466491", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "7a52c4d7-21da-42f5-94cc-e5957ec9bcb6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\n", + "
" + ], + "text/plain": [ + " time curies curie_count time_taken_ms \\\n", + "0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \n", + "1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \n", + "2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \n", + "3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \n", + "4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \n", + "\n", + " time_taken_per_curie_ms arguments \\\n", + "0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \n", + "1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \n", + "2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \n", + "3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \n", + "4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \n", + "\n", + " node throughput_cps \n", + "0 476.190476 \n", + "1 666.666667 \n", + "2 311.526480 \n", + "3 507.614213 \n", + "4 469.483568 " + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from dataclasses import asdict\n", + "\n", + "# Assume `records` is your list of dataclass instances\n", + "# Convert to DataFrame\n", + "df = pd.DataFrame([asdict(r) for r in logs])\n", + "df['time'] = pd.to_datetime(df['time'])\n", + "df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\n", + "\n", + "df.head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "2ca9ccd5-7f93-4f0c-b41f-19c7a863178e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 1. Time series of throughput (curies per second)\n", + "plt.figure()\n", + "plt.plot(df['time'], df['throughput_cps'])\n", + "plt.xlabel(\"Time\")\n", + "plt.ylabel(\"Throughput (CURIEs/sec)\")\n", + "plt.title(\"System Throughput Over Time\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "9c064d44-4c6b-40f9-bc83-63a94d02463b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJLiEaOHOmqpM4++2yrVKlSZJo4cWJkneHDh7tu9RqQUV3xVf0V3a0/X758rrpNjwpK6vnWpUsXGzRoUGQdlTwp/KhUqEGDBvbwww/b6NGjXU8zAACAfRqHyFeMQwQAwOHnoI1DBAAAkBsRiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABAAAvEcgAgAA3iMQAQAA7xGIAACA9whEAADAewQiAADgPQIRAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAAPAegQgAAHiPQAQAALxHIAIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABAAAvEcgAgAA3iMQAQAA7xGIAACA9whEAADAewQiAADgPQIRAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAAPAegQgAAHiPQAQAALxHIAIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABAAAvEcgAgAA3iMQAQAA7xGIAACA9whEAADAewQiAADgPQIRAADwHoEIAAB4j0AEAAC8l9RA9OGHH1qbNm2scuXKlidPHnvttddilgdBYAMGDLBKlSpZ4cKFrUWLFvbtt9/GrPPbb79Zp06drESJElaqVCnr3r27bdu2LWadxYsXW7NmzaxQoUJWtWpVe/DBBw/J+wMAAIeHpAaiP/74wxo0aGBPPPFEhssVXB599FEbNWqUzZs3z4oWLWqtWrWy7du3R9ZRGFq6dKlNmzbNpkyZ4kLWtddeG1m+ZcsWa9mypVWvXt0WLFhgQ4cOtbvvvtuefvrpQ/IeAQBA6ssTqBgmBaiE6NVXX7WLL77YPdduqeSoT58+duutt7p5mzdvtgoVKtjYsWOtY8eO9vXXX1vdunXts88+s5NPPtmtM3XqVLvwwgttzZo17udHjhxpd9xxh61fv94KFCjg1rn99ttdadSyZctytG8KVSVLlnSvr5KoRKtx+1vZrvPDkNYJf10AAHKzLftw/U7ZNkQrV650IUbVZCG9qdNOO83mzJnjnutR1WRhGBKtnzdvXleiFK5z5plnRsKQqJRp+fLl9vvvv2f42jt27HAHMXoCAAC5V8oGIoUhUYlQND0Pl+mxfPnyMcvT0tKsdOnSMetktI3o14g3ePBgF77CSe2OAABA7pWygSiZ+vfv74rXwmn16tXJ3iUAAOBjIKpYsaJ73LBhQ8x8PQ+X6XHjxo0xy3fv3u16nkWvk9E2ol8jXsGCBV1dY/QEAAByr5QNRDVr1nSBZfr06ZF5asujtkFNmjRxz/W4adMm13ssNGPGDNu7d69raxSuo55nu3btiqyjHmm1a9e2I4444pC+JwAAkJqSGog0XtCiRYvcFDak1v9XrVrlep317NnT7rvvPnvjjTdsyZIl1qVLF9dzLOyJdtxxx9n5559v11xzjX366af2ySef2I033uh6oGk9ufzyy12Dao1PpO75EydOtBEjRljv3r2T+dYBAEAKSUvmi8+fP9/OOeecyPMwpHTt2tV1re/Xr58bq0jjCqkkqGnTpq5bvQZYDI0fP96FoObNm7veZe3bt3djF4XUKPq9996zHj16WKNGjaxs2bJusMfosYoAAIDfUmYcolTGOEQAABx+csU4RAAAAIcKgQgAAHiPQAQAALxHIAIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABAAAvEcgAgAA3iMQAQAA7xGIAACA9whEAADAewQiAADgPQIRAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAAPAegQgAAHiPQAQAALxHIAIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABAAAvEcgAgAA3iMQAQAA7xGIAACA9whEAADAewQiAADgPQIRAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAAPAegQgAAHiPQAQAALyXluwdQM7UuP2tbNf5YUjrQ7IvAADkNpQQAQAA7xGIAACA9whEAADAewQiAADgPQIRAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3vApETzzxhNWoUcMKFSpkp512mn366afJ3iUAAJACvAlEEydOtN69e9vAgQNt4cKF1qBBA2vVqpVt3Lgx2bsGAACSzJtANGzYMLvmmmusW7duVrduXRs1apQVKVLEnnvuuWTvGgAASDIvAtHOnTttwYIF1qJFi8i8vHnzuudz5sxJ6r4BAIDkSzMP/PLLL7Znzx6rUKFCzHw9X7ZsWbr1d+zY4abQ5s2b3eOWLVsOyv7t3fFnQrZzsPYPAIDDUXhdDIIg23W9CET7avDgwXbPPfekm1+1alVLZSUfSfYeAACQerZu3WolS5bMch0vAlHZsmUtX758tmHDhpj5el6xYsV06/fv3981wA7t3bvXfvvtNytTpozlyZMn4elVQWv16tVWokSJhG7bFxzDA8cxTAyO44HjGB44juH/U8mQwlDlypUtO14EogIFClijRo1s+vTpdvHFF0dCjp7feOON6dYvWLCgm6KVKlXqoO6jTlrfT9wDxTE8cBzDxOA4HjiO4YHjGP5PdiVDXgUiUYlP165d7eSTT7ZTTz3VHnnkEfvjjz9crzMAAOA3bwJRhw4d7Oeff7YBAwbY+vXr7cQTT7SpU6ema2gNAAD8400gElWPZVRFlkyqmtNgkfFVdMg5juGB4xgmBsfxwHEMDxzHcP/kCXLSFw0AACAX82JgRgAAgKwQiAAAgPcIRAAAwHsEIgAA4D0CURI98cQTVqNGDStUqJCddtpp9umnnyZ7l1LW3Xff7UYJj57q1KkTWb59+3br0aOHG028WLFi1r59+3Qjk/voww8/tDZt2rhRWnXMXnvttZjl6lOhoSgqVapkhQsXdjc8/vbbb2PW0SjtnTp1cgO8aYDS7t2727Zt28wX2R3DK6+8Mt25ef7558es4/sx1O2QTjnlFCtevLiVL1/eDZC7fPnymHVy8ju8atUqa926tRUpUsRtp2/fvrZ7927zQU6O4dlnn53uXLzuuuti1vH5GGaHQJQkEydOdINFqmvkwoULrUGDBtaqVSvbuHFjsnctZR1//PG2bt26yPTxxx9HlvXq1cvefPNNmzx5ss2aNcvWrl1rl1xyiflOg4/q3FL4zsiDDz5ojz76qI0aNcrmzZtnRYsWdeehLk4hXciXLl1q06ZNsylTpriAcO2115ovsjuGogAUfW6+9NJLMct9P4b6nVTYmTt3rjsGu3btspYtW7pjm9PfYd2gWxfynTt32uzZs23cuHE2duxYF+h9kJNjKNdcc03Muajf8ZDvxzBb6naPQ+/UU08NevToEXm+Z8+eoHLlysHgwYOTul+pauDAgUGDBg0yXLZp06Ygf/78weTJkyPzvv76aw0nEcyZM+cQ7mVq0/F49dVXI8/37t0bVKxYMRg6dGjMsSxYsGDw0ksvuedfffWV+7nPPvssss4777wT5MmTJ/jpp58C34+hdO3aNWjbtm2mP8MxTG/jxo3umMyaNSvHv8Nvv/12kDdv3mD9+vWRdUaOHBmUKFEi2LFjR+D7MZSzzjoruOWWWzL9GY5h1ighSgKl8wULFrjqiVDevHnd8zlz5iR131KZqnJUbXHUUUe5b9wq+hUdS31bij6eqk6rVq0axzMLK1eudKO2Rx833fNH1bfhcdOjqnh0y5uQ1tf5qhIl/M8HH3zgqh9q165t119/vf3666+RZRzD9DZv3uweS5cunePfYT3Wr18/5u4CKs3UjUxV+ub7MQyNHz/e3dC8Xr167kblf/75Z2QZxzBrXo1UnSp++eUXV3QZf9sQPV+2bFnS9iuV6SKtol1dcFQMfM8991izZs3syy+/dBd13cA3/ga8Op5ahoyFxyaj8zBcpkdd6KOlpaW5P8Ic2/+vLlPVTs2aNW3FihX2r3/9yy644AJ38cmXLx/HMI5urN2zZ08744wz3EVbcvI7rMeMztVwme/HUC6//HKrXr26++K4ePFiu+2221w7o1deecUt5xhmjUCEw4IuMKETTjjBBST94k+aNMk1BgaSpWPHjpH/69u3zs+jjz7alRo1b948qfuWitQORl9kotsAIjHHMLpdms5FdZbQOaigrnMSWaPKLAlUnKlvjvE9KPS8YsWKSduvw4m+SR577LH23XffuWOmashNmzbFrMPxzFp4bLI6D/UY39BfPVLUa4pjmzFV6ep3XOemcAz/n+4lqUblM2fOtCpVqkTm5+R3WI8ZnavhMt+PYUb0xVGiz0WOYeYIREmgouFGjRrZ9OnTY4pA9bxJkyZJ3bfDhbos61uPvgHpWObPnz/meKqYWG2MOJ6ZUxWP/ghGHze1JVC7lvC46VEXKbXxCM2YMcOdr+EfW8Ras2aNa0Okc1M4hv8b3kEX8ldffdW9d5170XLyO6zHJUuWxIRL9bbSUAZ169Y1349hRhYtWuQeo89Fn49htrJpdI2DZMKECa43z9ixY10vlGuvvTYoVapUTOt//L8+ffoEH3zwQbBy5crgk08+CVq0aBGULVvW9bSQ6667LqhWrVowY8aMYP78+UGTJk3c5LutW7cGn3/+uZv06z5s2DD3/x9//NEtHzJkiDvvXn/99WDx4sWut1TNmjWDv/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 2. Histogram of time per CURIE\n", + "plt.figure()\n", + "plt.hist(df['time_taken_per_curie_ms'], bins=50)\n", + "plt.xlabel(\"Time per CURIE (ms)\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Distribution of Time Taken per CURIE\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "0dd31031-25d0-42f7-977b-93cb194228f8", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 3. Boxplot to highlight outliers in time per CURIE\n", + "plt.figure()\n", + "plt.boxplot(df['time_taken_per_curie_ms'])\n", + "plt.ylabel(\"Time per CURIE (ms)\")\n", + "plt.title(\"Boxplot of Time per CURIE (Outliers Shown)\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fee5ecb0-a7a6-4797-930c-5d89074acc91", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From dc1c7c6f1fccb7f553615d24c650e3395109b10b Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Wed, 18 Jun 2025 15:31:27 -0400 Subject: [PATCH 02/12] Some improvements, some regressions. --- log-analysis/NodeNorm_log_analysis.ipynb | 1145 ++-------------------- 1 file changed, 103 insertions(+), 1042 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index 39f5128..a59421e 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 14, "id": "721be6fa-7f14-4979-bffb-5a32cb316444", "metadata": {}, "outputs": [ @@ -34,56 +34,26 @@ "name": "stdout", "output_type": "stream", "text": [ - "Collecting pandas\n", - " Downloading pandas-2.3.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (91 kB)\n", - "Collecting matplotlib\n", - " Downloading matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (11 kB)\n", - "Collecting numpy>=1.26.0 (from pandas)\n", - " Downloading numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl.metadata (62 kB)\n", + "Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\n", + "Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\n", + "Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\n", "Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\n", - "Collecting pytz>=2020.1 (from pandas)\n", - " Using cached pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB)\n", - "Collecting tzdata>=2022.7 (from pandas)\n", - " Using cached tzdata-2025.2-py2.py3-none-any.whl.metadata (1.4 kB)\n", - "Collecting contourpy>=1.0.1 (from matplotlib)\n", - " Downloading contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl.metadata (5.5 kB)\n", - "Collecting cycler>=0.10 (from matplotlib)\n", - " Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)\n", - "Collecting fonttools>=4.22.0 (from matplotlib)\n", - " Downloading fonttools-4.58.4-cp313-cp313-macosx_10_13_universal2.whl.metadata (106 kB)\n", - "Collecting kiwisolver>=1.3.1 (from matplotlib)\n", - " Downloading kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl.metadata (6.2 kB)\n", + "Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\n", + "Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\n", "Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\n", - "Collecting pillow>=8 (from matplotlib)\n", - " Downloading pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (8.9 kB)\n", - "Collecting pyparsing>=2.3.1 (from matplotlib)\n", - " Using cached pyparsing-3.2.3-py3-none-any.whl.metadata (5.0 kB)\n", + "Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\n", "Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n", - "Downloading pandas-2.3.0-cp313-cp313-macosx_11_0_arm64.whl (10.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.7/10.7 MB\u001b[0m \u001b[31m35.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m \u001b[36m0:00:01\u001b[0m\n", - "\u001b[?25hDownloading matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl (8.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.1/8.1 MB\u001b[0m \u001b[31m40.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl (255 kB)\n", - "Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)\n", - "Downloading fonttools-4.58.4-cp313-cp313-macosx_10_13_universal2.whl (2.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.7/2.7 MB\u001b[0m \u001b[31m59.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl (65 kB)\n", - "Downloading numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl (5.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.1/5.1 MB\u001b[0m \u001b[31m47.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m48.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hUsing cached pyparsing-3.2.3-py3-none-any.whl (111 kB)\n", - "Using cached pytz-2025.2-py2.py3-none-any.whl (509 kB)\n", - "Using cached tzdata-2025.2-py2.py3-none-any.whl (347 kB)\n", - "Installing collected packages: pytz, tzdata, pyparsing, pillow, numpy, kiwisolver, fonttools, cycler, pandas, contourpy, matplotlib\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11/11\u001b[0m [matplotlib]1\u001b[0m [matplotlib]\n", - "\u001b[1A\u001b[2KSuccessfully installed contourpy-1.3.2 cycler-0.12.1 fonttools-4.58.4 kiwisolver-1.4.8 matplotlib-3.10.3 numpy-2.3.0 pandas-2.3.0 pillow-11.2.1 pyparsing-3.2.3 pytz-2025.2 tzdata-2025.2\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ - "%pip install pandas matplotlib" + "%pip install pandas matplotlib numpy" ] }, { @@ -98,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea", "metadata": {}, "outputs": [], @@ -116,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 4, "id": "42805620-22f8-4469-845a-a5fd40ae7a3d", "metadata": { "scrolled": true @@ -207,7 +177,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 5, "id": "227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc", "metadata": {}, "outputs": [ @@ -223,1007 +193,16 @@ " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071460'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['GO:0071460'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17597576'], curie_count=1, time_taken_ms=2.61, time_taken_per_curie_ms=2.61, arguments={'curies': ['PMID:17597576'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007179'], curie_count=1, time_taken_ms=2.98, time_taken_per_curie_ms=2.98, arguments={'curies': ['GO:0007179'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030511'], curie_count=1, time_taken_ms=2.52, time_taken_per_curie_ms=2.52, arguments={'curies': ['GO:0030511'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0048536'], curie_count=1, time_taken_ms=1.98, time_taken_per_curie_ms=1.98, arguments={'curies': ['GO:0048536'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=2.91, time_taken_per_curie_ms=2.91, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8078588'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['PMID:8078588'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04218'], curie_count=1, time_taken_ms=0.72, time_taken_per_curie_ms=0.72, arguments={'curies': ['KEGG:hsa04218'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05203'], curie_count=1, time_taken_ms=0.57, time_taken_per_curie_ms=0.57, arguments={'curies': ['KEGG:hsa05203'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=2.0, time_taken_per_curie_ms=2.0, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030219'], curie_count=1, time_taken_ms=1.76, time_taken_per_curie_ms=1.76, arguments={'curies': ['GO:0030219'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04934'], curie_count=1, time_taken_ms=0.33, time_taken_per_curie_ms=0.33, arguments={'curies': ['KEGG:hsa04934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04068'], curie_count=1, time_taken_ms=0.44, time_taken_per_curie_ms=0.44, arguments={'curies': ['KEGG:hsa04068'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05166'], curie_count=1, time_taken_ms=0.29, time_taken_per_curie_ms=0.29, arguments={'curies': ['KEGG:hsa05166'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04350'], curie_count=1, time_taken_ms=0.25, time_taken_per_curie_ms=0.25, arguments={'curies': ['KEGG:hsa04350'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19706769'], curie_count=1, time_taken_ms=6.18, time_taken_per_curie_ms=6.18, arguments={'curies': ['PMID:19706769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0097191'], curie_count=1, time_taken_ms=6.6, time_taken_per_curie_ms=6.6, arguments={'curies': ['GO:0097191'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:2001238'], curie_count=1, time_taken_ms=4.65, time_taken_per_curie_ms=4.65, arguments={'curies': ['GO:2001238'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005739'], curie_count=1, time_taken_ms=4.63, time_taken_per_curie_ms=4.63, arguments={'curies': ['GO:0005739'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:2001238'], curie_count=1, time_taken_ms=3.57, time_taken_per_curie_ms=3.57, arguments={'curies': ['GO:2001238'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-556833'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['REACT:R-HSA-556833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19706769'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['PMID:19706769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-400206'], curie_count=1, time_taken_ms=3.22, time_taken_per_curie_ms=3.22, arguments={'curies': ['REACT:R-HSA-400206'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0120162'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['GO:0120162'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005739'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['GO:0005739'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19706769'], curie_count=1, time_taken_ms=1.78, time_taken_per_curie_ms=1.78, arguments={'curies': ['PMID:19706769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=1.68, time_taken_per_curie_ms=1.68, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005811'], curie_count=1, time_taken_ms=1.67, time_taken_per_curie_ms=1.67, arguments={'curies': ['GO:0005811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005739'], curie_count=1, time_taken_ms=1.6, time_taken_per_curie_ms=1.6, arguments={'curies': ['GO:0005739'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP410'], curie_count=1, time_taken_ms=1.02, time_taken_per_curie_ms=1.02, arguments={'curies': ['WIKIPATHWAYS:WP410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:24556704'], curie_count=1, time_taken_ms=1.79, time_taken_per_curie_ms=1.79, arguments={'curies': ['PMID:24556704'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0120162'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['GO:0120162'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP2877'], curie_count=1, time_taken_ms=0.81, time_taken_per_curie_ms=0.81, arguments={'curies': ['WIKIPATHWAYS:WP2877'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 22, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1989781'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['REACT:R-HSA-1989781'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.02, time_taken_per_curie_ms=1.51, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1296071'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['REACT:R-HSA-1296071'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-397014'], curie_count=1, time_taken_ms=1.53, time_taken_per_curie_ms=1.53, arguments={'curies': ['REACT:R-HSA-397014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1296072'], curie_count=1, time_taken_ms=1.39, time_taken_per_curie_ms=1.39, arguments={'curies': ['REACT:R-HSA-1296072'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-112316'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['REACT:R-HSA-112316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05110'], curie_count=1, time_taken_ms=0.3, time_taken_per_curie_ms=0.3, arguments={'curies': ['KEGG:hsa05110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04974'], curie_count=1, time_taken_ms=0.29, time_taken_per_curie_ms=0.29, arguments={'curies': ['KEGG:hsa04974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04972'], curie_count=1, time_taken_ms=0.28, time_taken_per_curie_ms=0.28, arguments={'curies': ['KEGG:hsa04972'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04971'], curie_count=1, time_taken_ms=0.53, time_taken_per_curie_ms=0.53, arguments={'curies': ['KEGG:hsa04971'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001698'], curie_count=1, time_taken_ms=4.12, time_taken_per_curie_ms=4.12, arguments={'curies': ['GO:0001698'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006006'], curie_count=1, time_taken_ms=3.78, time_taken_per_curie_ms=3.78, arguments={'curies': ['GO:0006006'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006813'], curie_count=1, time_taken_ms=3.27, time_taken_per_curie_ms=3.27, arguments={'curies': ['GO:0006813'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04725'], curie_count=1, time_taken_ms=0.67, time_taken_per_curie_ms=0.67, arguments={'curies': ['KEGG:hsa04725'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003008'], curie_count=1, time_taken_ms=3.4, time_taken_per_curie_ms=3.4, arguments={'curies': ['GO:0003008'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007507'], curie_count=1, time_taken_ms=1.73, time_taken_per_curie_ms=1.73, arguments={'curies': ['GO:0007507'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006814'], curie_count=1, time_taken_ms=1.53, time_taken_per_curie_ms=1.53, arguments={'curies': ['GO:0006814'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006811'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['GO:0006811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001696'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['GO:0001696'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002027'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0002027'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04261'], curie_count=1, time_taken_ms=0.24, time_taken_per_curie_ms=0.24, arguments={'curies': ['KEGG:hsa04261'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 21, 3, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001508'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['GO:0001508'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030509'], curie_count=1, time_taken_ms=4.42, time_taken_per_curie_ms=4.42, arguments={'curies': ['GO:0030509'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0022612'], curie_count=1, time_taken_ms=2.99, time_taken_per_curie_ms=2.99, arguments={'curies': ['GO:0022612'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030855'], curie_count=1, time_taken_ms=3.75, time_taken_per_curie_ms=3.75, arguments={'curies': ['GO:0030855'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0021509'], curie_count=1, time_taken_ms=2.35, time_taken_per_curie_ms=2.35, arguments={'curies': ['GO:0021509'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04350'], curie_count=1, time_taken_ms=2.02, time_taken_per_curie_ms=2.02, arguments={'curies': ['KEGG:hsa04350'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0021915'], curie_count=1, time_taken_ms=1.83, time_taken_per_curie_ms=1.83, arguments={'curies': ['GO:0021915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0021527'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['GO:0021527'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu04390'], curie_count=1, time_taken_ms=0.58, time_taken_per_curie_ms=0.58, arguments={'curies': ['KEGG:mmu04390'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030509'], curie_count=1, time_taken_ms=1.73, time_taken_per_curie_ms=1.73, arguments={'curies': ['GO:0030509'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04360'], curie_count=1, time_taken_ms=0.55, time_taken_per_curie_ms=0.55, arguments={'curies': ['KEGG:hsa04360'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu04360'], curie_count=1, time_taken_ms=0.85, time_taken_per_curie_ms=0.85, arguments={'curies': ['KEGG:mmu04360'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu04060'], curie_count=1, time_taken_ms=0.7, time_taken_per_curie_ms=0.7, arguments={'curies': ['KEGG:mmu04060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04060'], curie_count=1, time_taken_ms=0.22, time_taken_per_curie_ms=0.22, arguments={'curies': ['KEGG:hsa04060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu04350'], curie_count=1, time_taken_ms=0.7, time_taken_per_curie_ms=0.7, arguments={'curies': ['KEGG:mmu04350'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16049014'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['PMID:16049014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04390'], curie_count=1, time_taken_ms=0.41, time_taken_per_curie_ms=0.41, arguments={'curies': ['KEGG:hsa04390'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030509'], curie_count=1, time_taken_ms=3.32, time_taken_per_curie_ms=3.32, arguments={'curies': ['GO:0030509'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010628'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['GO:0010628'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 19, 14, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.39, time_taken_per_curie_ms=2.39, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 40, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035330'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['GO:0035330'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 40, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035330'], curie_count=1, time_taken_ms=2.54, time_taken_per_curie_ms=2.54, arguments={'curies': ['GO:0035330'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 40, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=1.96, time_taken_per_curie_ms=1.96, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19060904'], curie_count=1, time_taken_ms=4.21, time_taken_per_curie_ms=4.21, arguments={'curies': ['PMID:19060904'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=2.87, time_taken_per_curie_ms=2.87, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005737'], curie_count=1, time_taken_ms=3.23, time_taken_per_curie_ms=3.23, arguments={'curies': ['GO:0005737'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28792927'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['PMID:28792927'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035330'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['GO:0035330'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030295'], curie_count=1, time_taken_ms=2.52, time_taken_per_curie_ms=2.52, arguments={'curies': ['GO:0030295'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005515'], curie_count=1, time_taken_ms=2.56, time_taken_per_curie_ms=2.56, arguments={'curies': ['GO:0005515'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:32296183'], curie_count=1, time_taken_ms=1.63, time_taken_per_curie_ms=1.63, arguments={'curies': ['PMID:32296183'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 18, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16189514'], curie_count=1, time_taken_ms=1.83, time_taken_per_curie_ms=1.83, arguments={'curies': ['PMID:16189514'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21515882'], curie_count=1, time_taken_ms=3.39, time_taken_per_curie_ms=3.39, arguments={'curies': ['PMID:21515882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046485'], curie_count=1, time_taken_ms=1.82, time_taken_per_curie_ms=1.82, arguments={'curies': ['GO:0046485'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0036151'], curie_count=1, time_taken_ms=3.23, time_taken_per_curie_ms=3.23, arguments={'curies': ['GO:0036151'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21515882'], curie_count=1, time_taken_ms=1.45, time_taken_per_curie_ms=1.45, arguments={'curies': ['PMID:21515882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046485'], curie_count=1, time_taken_ms=1.77, time_taken_per_curie_ms=1.77, arguments={'curies': ['GO:0046485'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1483206'], curie_count=1, time_taken_ms=4.37, time_taken_per_curie_ms=4.37, arguments={'curies': ['REACT:R-MMU-1483206'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1482788'], curie_count=1, time_taken_ms=2.64, time_taken_per_curie_ms=2.64, arguments={'curies': ['REACT:R-MMU-1482788'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1482788'], curie_count=1, time_taken_ms=2.97, time_taken_per_curie_ms=2.97, arguments={'curies': ['REACT:R-HSA-1482788'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016787'], curie_count=1, time_taken_ms=4.86, time_taken_per_curie_ms=4.86, arguments={'curies': ['GO:0016787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483152'], curie_count=1, time_taken_ms=4.95, time_taken_per_curie_ms=4.95, arguments={'curies': ['REACT:R-HSA-1483152'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0047389'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0047389'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:33961781'], curie_count=1, time_taken_ms=2.93, time_taken_per_curie_ms=2.93, arguments={'curies': ['PMID:33961781'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008081'], curie_count=1, time_taken_ms=2.77, time_taken_per_curie_ms=2.77, arguments={'curies': ['GO:0008081'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030246'], curie_count=1, time_taken_ms=1.68, time_taken_per_curie_ms=1.68, arguments={'curies': ['GO:0030246'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05231'], curie_count=1, time_taken_ms=0.88, time_taken_per_curie_ms=0.88, arguments={'curies': ['KEGG:hsa05231'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005515'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['GO:0005515'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28514442'], curie_count=1, time_taken_ms=2.47, time_taken_per_curie_ms=2.47, arguments={'curies': ['PMID:28514442'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu00564'], curie_count=1, time_taken_ms=0.26, time_taken_per_curie_ms=0.26, arguments={'curies': ['KEGG:mmu00564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005737'], curie_count=1, time_taken_ms=3.16, time_taken_per_curie_ms=3.16, arguments={'curies': ['GO:0005737'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483115'], curie_count=1, time_taken_ms=2.3, time_taken_per_curie_ms=2.3, arguments={'curies': ['REACT:R-HSA-1483115'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483206'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['REACT:R-HSA-1483206'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007519'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0007519'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:mmu05231'], curie_count=1, time_taken_ms=0.5, time_taken_per_curie_ms=0.5, arguments={'curies': ['KEGG:mmu05231'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 17, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00564'], curie_count=1, time_taken_ms=0.3, time_taken_per_curie_ms=0.3, arguments={'curies': ['KEGG:hsa00564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006865'], curie_count=1, time_taken_ms=3.27, time_taken_per_curie_ms=3.27, arguments={'curies': ['GO:0006865'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015804'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['GO:0015804'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.4, time_taken_per_curie_ms=2.4, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-442660'], curie_count=1, time_taken_ms=5.11, time_taken_per_curie_ms=5.11, arguments={'curies': ['REACT:R-HSA-442660'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035725'], curie_count=1, time_taken_ms=6.46, time_taken_per_curie_ms=6.46, arguments={'curies': ['GO:0035725'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425393'], curie_count=1, time_taken_ms=4.41, time_taken_per_curie_ms=4.41, arguments={'curies': ['REACT:R-HSA-425393'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425407'], curie_count=1, time_taken_ms=4.49, time_taken_per_curie_ms=4.49, arguments={'curies': ['REACT:R-HSA-425407'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015804'], curie_count=1, time_taken_ms=4.47, time_taken_per_curie_ms=4.47, arguments={'curies': ['GO:0015804'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003333'], curie_count=1, time_taken_ms=2.43, time_taken_per_curie_ms=2.43, arguments={'curies': ['GO:0003333'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5619044'], curie_count=1, time_taken_ms=3.46, time_taken_per_curie_ms=3.46, arguments={'curies': ['REACT:R-HSA-5619044'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-352230'], curie_count=1, time_taken_ms=2.9, time_taken_per_curie_ms=2.9, arguments={'curies': ['REACT:R-HSA-352230'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007584'], curie_count=1, time_taken_ms=1.6, time_taken_per_curie_ms=1.6, arguments={'curies': ['GO:0007584'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1643685'], curie_count=1, time_taken_ms=2.04, time_taken_per_curie_ms=2.04, arguments={'curies': ['REACT:R-HSA-1643685'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425366'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['REACT:R-HSA-425366'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-382551'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['REACT:R-HSA-382551'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006865'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['GO:0006865'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019058'], curie_count=1, time_taken_ms=2.17, time_taken_per_curie_ms=2.17, arguments={'curies': ['GO:0019058'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:33737693'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['PMID:33737693'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04978'], curie_count=1, time_taken_ms=0.83, time_taken_per_curie_ms=0.83, arguments={'curies': ['KEGG:hsa04978'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04974'], curie_count=1, time_taken_ms=0.31, time_taken_per_curie_ms=0.31, arguments={'curies': ['KEGG:hsa04974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 16, 4, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=6.55, time_taken_per_curie_ms=3.275, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0004622'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['GO:0004622'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016020'], curie_count=1, time_taken_ms=2.91, time_taken_per_curie_ms=2.91, arguments={'curies': ['GO:0016020'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0034638'], curie_count=1, time_taken_ms=4.6, time_taken_per_curie_ms=4.6, arguments={'curies': ['GO:0034638'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005811'], curie_count=1, time_taken_ms=3.13, time_taken_per_curie_ms=3.13, arguments={'curies': ['GO:0005811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 15, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0004622'], curie_count=1, time_taken_ms=2.75, time_taken_per_curie_ms=2.75, arguments={'curies': ['GO:0004622'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005789'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['GO:0005789'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=1.58, time_taken_per_curie_ms=1.58, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1483257'], curie_count=1, time_taken_ms=5.7, time_taken_per_curie_ms=5.7, arguments={'curies': ['REACT:R-MMU-1483257'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005829'], curie_count=1, time_taken_ms=6.33, time_taken_per_curie_ms=6.33, arguments={'curies': ['GO:0005829'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483255'], curie_count=1, time_taken_ms=6.78, time_taken_per_curie_ms=6.78, arguments={'curies': ['REACT:R-HSA-1483255'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1430728'], curie_count=1, time_taken_ms=6.8, time_taken_per_curie_ms=6.8, arguments={'curies': ['REACT:R-MMU-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=3.51, time_taken_per_curie_ms=3.51, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-6814848'], curie_count=1, time_taken_ms=3.3, time_taken_per_curie_ms=3.3, arguments={'curies': ['REACT:R-HSA-6814848'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006629'], curie_count=1, time_taken_ms=3.55, time_taken_per_curie_ms=3.55, arguments={'curies': ['GO:0006629'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046470'], curie_count=1, time_taken_ms=2.92, time_taken_per_curie_ms=2.92, arguments={'curies': ['GO:0046470'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005789'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['GO:0005789'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016042'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['GO:0016042'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-556833'], curie_count=1, time_taken_ms=2.15, time_taken_per_curie_ms=2.15, arguments={'curies': ['REACT:R-HSA-556833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1483255'], curie_count=1, time_taken_ms=2.44, time_taken_per_curie_ms=2.44, arguments={'curies': ['REACT:R-MMU-1483255'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1483257'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['REACT:R-HSA-1483257'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046475'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0046475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-556833'], curie_count=1, time_taken_ms=2.27, time_taken_per_curie_ms=2.27, arguments={'curies': ['REACT:R-MMU-556833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 14, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-6814848'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['REACT:R-MMU-6814848'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 13, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035600'], curie_count=1, time_taken_ms=1.42, time_taken_per_curie_ms=1.42, arguments={'curies': ['GO:0035600'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=3.17, time_taken_per_curie_ms=3.17, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035600'], curie_count=1, time_taken_ms=2.54, time_taken_per_curie_ms=2.54, arguments={'curies': ['GO:0035600'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005789'], curie_count=1, time_taken_ms=3.77, time_taken_per_curie_ms=3.77, arguments={'curies': ['GO:0005789'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=3.28, time_taken_per_curie_ms=3.28, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-6782315'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['REACT:R-HSA-6782315'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008150'], curie_count=1, time_taken_ms=2.24, time_taken_per_curie_ms=2.24, arguments={'curies': ['GO:0008150'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:1990145'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['GO:1990145'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035600'], curie_count=1, time_taken_ms=2.05, time_taken_per_curie_ms=2.05, arguments={'curies': ['GO:0035600'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008033'], curie_count=1, time_taken_ms=1.78, time_taken_per_curie_ms=1.78, arguments={'curies': ['GO:0008033'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006400'], curie_count=1, time_taken_ms=1.46, time_taken_per_curie_ms=1.46, arguments={'curies': ['GO:0006400'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 12, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-72306'], curie_count=1, time_taken_ms=1.77, time_taken_per_curie_ms=1.77, arguments={'curies': ['REACT:R-HSA-72306'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 34, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.42, time_taken_per_curie_ms=1.71, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=8.7, time_taken_per_curie_ms=4.35, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376176'], curie_count=1, time_taken_ms=1.48, time_taken_per_curie_ms=1.48, arguments={'curies': ['REACT:R-HSA-376176'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=1.53, time_taken_per_curie_ms=1.53, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=2.81, time_taken_per_curie_ms=2.81, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-428542'], curie_count=1, time_taken_ms=1.3, time_taken_per_curie_ms=1.3, arguments={'curies': ['REACT:R-HSA-428542'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007156'], curie_count=1, time_taken_ms=2.89, time_taken_per_curie_ms=2.89, arguments={'curies': ['GO:0007156'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12504588'], curie_count=1, time_taken_ms=5.75, time_taken_per_curie_ms=5.75, arguments={'curies': ['PMID:12504588'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=6.51, time_taken_per_curie_ms=6.51, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9608531'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['PMID:9608531'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376176'], curie_count=1, time_taken_ms=3.48, time_taken_per_curie_ms=3.48, arguments={'curies': ['REACT:R-HSA-376176'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=3.09, time_taken_per_curie_ms=3.09, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003184'], curie_count=1, time_taken_ms=3.09, time_taken_per_curie_ms=3.09, arguments={'curies': ['GO:0003184'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002042'], curie_count=1, time_taken_ms=3.1, time_taken_per_curie_ms=3.1, arguments={'curies': ['GO:0002042'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-428540'], curie_count=1, time_taken_ms=2.74, time_taken_per_curie_ms=2.74, arguments={'curies': ['REACT:R-HSA-428540'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=3.65, time_taken_per_curie_ms=3.65, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003180'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['GO:0003180'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003129'], curie_count=1, time_taken_ms=2.87, time_taken_per_curie_ms=2.87, arguments={'curies': ['GO:0003129'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-428542'], curie_count=1, time_taken_ms=3.23, time_taken_per_curie_ms=3.23, arguments={'curies': ['REACT:R-HSA-428542'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003272'], curie_count=1, time_taken_ms=2.52, time_taken_per_curie_ms=2.52, arguments={'curies': ['GO:0003272'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006935'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['GO:0006935'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003148'], curie_count=1, time_taken_ms=2.6, time_taken_per_curie_ms=2.6, arguments={'curies': ['GO:0003148'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007156'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['GO:0007156'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 10, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19351956'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['PMID:19351956'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9891060'], curie_count=1, time_taken_ms=3.46, time_taken_per_curie_ms=3.46, arguments={'curies': ['PMID:9891060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9891060'], curie_count=1, time_taken_ms=3.28, time_taken_per_curie_ms=3.28, arguments={'curies': ['PMID:9891060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001817'], curie_count=1, time_taken_ms=1.64, time_taken_per_curie_ms=1.64, arguments={'curies': ['GO:0001817'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070934'], curie_count=1, time_taken_ms=2.29, time_taken_per_curie_ms=2.29, arguments={'curies': ['GO:0070934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9891060'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:9891060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:29476152'], curie_count=1, time_taken_ms=5.28, time_taken_per_curie_ms=5.28, arguments={'curies': ['PMID:29476152'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001817'], curie_count=1, time_taken_ms=5.79, time_taken_per_curie_ms=5.79, arguments={'curies': ['GO:0001817'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0017148'], curie_count=1, time_taken_ms=4.08, time_taken_per_curie_ms=4.08, arguments={'curies': ['GO:0017148'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0051028'], curie_count=1, time_taken_ms=3.53, time_taken_per_curie_ms=3.53, arguments={'curies': ['GO:0051028'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-8953854'], curie_count=1, time_taken_ms=3.48, time_taken_per_curie_ms=3.48, arguments={'curies': ['REACT:R-HSA-8953854'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070934'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['GO:0070934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006417'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['GO:0006417'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007399'], curie_count=1, time_taken_ms=2.56, time_taken_per_curie_ms=2.56, arguments={'curies': ['GO:0007399'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-428359'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['REACT:R-HSA-428359'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9891060'], curie_count=1, time_taken_ms=2.02, time_taken_per_curie_ms=2.02, arguments={'curies': ['PMID:9891060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009653'], curie_count=1, time_taken_ms=1.81, time_taken_per_curie_ms=1.81, arguments={'curies': ['GO:0009653'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006412'], curie_count=1, time_taken_ms=1.94, time_taken_per_curie_ms=1.94, arguments={'curies': ['GO:0006412'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005634'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['GO:0005634'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-74160'], curie_count=1, time_taken_ms=5.71, time_taken_per_curie_ms=5.71, arguments={'curies': ['REACT:R-HSA-74160'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008270'], curie_count=1, time_taken_ms=5.85, time_taken_per_curie_ms=5.85, arguments={'curies': ['GO:0008270'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28473536'], curie_count=1, time_taken_ms=3.65, time_taken_per_curie_ms=3.65, arguments={'curies': ['PMID:28473536'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000981'], curie_count=1, time_taken_ms=3.18, time_taken_per_curie_ms=3.18, arguments={'curies': ['GO:0000981'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005634'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['GO:0005634'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:30032202'], curie_count=1, time_taken_ms=2.81, time_taken_per_curie_ms=2.81, arguments={'curies': ['PMID:30032202'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005654'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['GO:0005654'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003677'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['GO:0003677'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005730'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0005730'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046872'], curie_count=1, time_taken_ms=2.4, time_taken_per_curie_ms=2.4, arguments={'curies': ['GO:0046872'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:1990837'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:1990837'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-212436'], curie_count=1, time_taken_ms=2.01, time_taken_per_curie_ms=2.01, arguments={'curies': ['REACT:R-HSA-212436'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-73857'], curie_count=1, time_taken_ms=2.27, time_taken_per_curie_ms=2.27, arguments={'curies': ['REACT:R-HSA-73857'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 7, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.17, time_taken_per_curie_ms=5.17, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22065321'], curie_count=1, time_taken_ms=1.95, time_taken_per_curie_ms=1.95, arguments={'curies': ['PMID:22065321'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0032956'], curie_count=1, time_taken_ms=6.14, time_taken_per_curie_ms=6.14, arguments={'curies': ['GO:0032956'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22065321'], curie_count=1, time_taken_ms=6.81, time_taken_per_curie_ms=6.81, arguments={'curies': ['PMID:22065321'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5663205'], curie_count=1, time_taken_ms=7.42, time_taken_per_curie_ms=7.42, arguments={'curies': ['REACT:R-HSA-5663205'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030308'], curie_count=1, time_taken_ms=8.61, time_taken_per_curie_ms=8.61, arguments={'curies': ['GO:0030308'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-6798695'], curie_count=1, time_taken_ms=4.22, time_taken_per_curie_ms=4.22, arguments={'curies': ['REACT:R-HSA-6798695'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20686043'], curie_count=1, time_taken_ms=4.61, time_taken_per_curie_ms=4.61, arguments={'curies': ['PMID:20686043'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1280215'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['REACT:R-HSA-1280215'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009615'], curie_count=1, time_taken_ms=2.82, time_taken_per_curie_ms=2.82, arguments={'curies': ['GO:0009615'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-168256'], curie_count=1, time_taken_ms=2.92, time_taken_per_curie_ms=2.92, arguments={'curies': ['REACT:R-HSA-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20943977'], curie_count=1, time_taken_ms=3.02, time_taken_per_curie_ms=3.02, arguments={'curies': ['PMID:20943977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0034341'], curie_count=1, time_taken_ms=2.44, time_taken_per_curie_ms=2.44, arguments={'curies': ['GO:0034341'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-909733'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['REACT:R-HSA-909733'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002376'], curie_count=1, time_taken_ms=2.7, time_taken_per_curie_ms=2.7, arguments={'curies': ['GO:0002376'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030336'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['GO:0030336'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19564354'], curie_count=1, time_taken_ms=1.58, time_taken_per_curie_ms=1.58, arguments={'curies': ['PMID:19564354'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035456'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['GO:0035456'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042113'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['GO:0042113'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-913531'], curie_count=1, time_taken_ms=2.58, time_taken_per_curie_ms=2.58, arguments={'curies': ['REACT:R-HSA-913531'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035455'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['GO:0035455'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002737'], curie_count=1, time_taken_ms=1.8, time_taken_per_curie_ms=1.8, arguments={'curies': ['GO:0002737'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19036818'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['PMID:19036818'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1643685'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['REACT:R-HSA-1643685'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-168249'], curie_count=1, time_taken_ms=1.54, time_taken_per_curie_ms=1.54, arguments={'curies': ['REACT:R-HSA-168249'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05170'], curie_count=1, time_taken_ms=1.19, time_taken_per_curie_ms=1.19, arguments={'curies': ['KEGG:hsa05170'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 6, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05168'], curie_count=1, time_taken_ms=0.38, time_taken_per_curie_ms=0.38, arguments={'curies': ['KEGG:hsa05168'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 5, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.01, time_taken_per_curie_ms=1.505, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.2, time_taken_per_curie_ms=2.2, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-198933'], curie_count=1, time_taken_ms=4.08, time_taken_per_curie_ms=4.08, arguments={'curies': ['REACT:R-MMU-198933'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1280218'], curie_count=1, time_taken_ms=5.71, time_taken_per_curie_ms=5.71, arguments={'curies': ['REACT:R-MMU-1280218'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-168256'], curie_count=1, time_taken_ms=4.52, time_taken_per_curie_ms=4.52, arguments={'curies': ['REACT:R-RNO-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=4.75, time_taken_per_curie_ms=4.75, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-198933'], curie_count=1, time_taken_ms=4.43, time_taken_per_curie_ms=4.43, arguments={'curies': ['REACT:R-RNO-198933'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-168256'], curie_count=1, time_taken_ms=4.67, time_taken_per_curie_ms=4.67, arguments={'curies': ['REACT:R-HSA-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-1280218'], curie_count=1, time_taken_ms=3.25, time_taken_per_curie_ms=3.25, arguments={'curies': ['REACT:R-RNO-1280218'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005768'], curie_count=1, time_taken_ms=2.62, time_taken_per_curie_ms=2.62, arguments={'curies': ['GO:0005768'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-198933'], curie_count=1, time_taken_ms=2.56, time_taken_per_curie_ms=2.56, arguments={'curies': ['REACT:R-HSA-198933'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016020'], curie_count=1, time_taken_ms=2.42, time_taken_per_curie_ms=2.42, arguments={'curies': ['GO:0016020'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-168256'], curie_count=1, time_taken_ms=2.36, time_taken_per_curie_ms=2.36, arguments={'curies': ['REACT:R-MMU-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0032585'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['GO:0032585'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1280218'], curie_count=1, time_taken_ms=2.72, time_taken_per_curie_ms=2.72, arguments={'curies': ['REACT:R-HSA-1280218'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016324'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['GO:0016324'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002376'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['GO:0002376'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 4, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016323'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['GO:0016323'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 2, 21, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.61, time_taken_per_curie_ms=5.61, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 59, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.2, time_taken_per_curie_ms=1.6, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010468'], curie_count=1, time_taken_ms=1.65, time_taken_per_curie_ms=1.65, arguments={'curies': ['GO:0010468'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21215706'], curie_count=1, time_taken_ms=1.55, time_taken_per_curie_ms=1.55, arguments={'curies': ['PMID:21215706'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:14744774'], curie_count=1, time_taken_ms=3.23, time_taken_per_curie_ms=3.23, arguments={'curies': ['PMID:14744774'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010468'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['GO:0010468'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007599'], curie_count=1, time_taken_ms=2.39, time_taken_per_curie_ms=2.39, arguments={'curies': ['GO:0007599'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.74, time_taken_per_curie_ms=1.74, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007162'], curie_count=1, time_taken_ms=3.22, time_taken_per_curie_ms=3.22, arguments={'curies': ['GO:0007162'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:14744774'], curie_count=1, time_taken_ms=2.74, time_taken_per_curie_ms=2.74, arguments={'curies': ['PMID:14744774'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007596'], curie_count=1, time_taken_ms=1.54, time_taken_per_curie_ms=1.54, arguments={'curies': ['GO:0007596'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006935'], curie_count=1, time_taken_ms=2.19, time_taken_per_curie_ms=2.19, arguments={'curies': ['GO:0006935'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21215706'], curie_count=1, time_taken_ms=1.93, time_taken_per_curie_ms=1.93, arguments={'curies': ['PMID:21215706'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002839'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['GO:0002839'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001525'], curie_count=1, time_taken_ms=3.84, time_taken_per_curie_ms=3.84, arguments={'curies': ['GO:0001525'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002839'], curie_count=1, time_taken_ms=2.73, time_taken_per_curie_ms=2.73, arguments={'curies': ['GO:0002839'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-114608'], curie_count=1, time_taken_ms=5.23, time_taken_per_curie_ms=5.23, arguments={'curies': ['REACT:R-MMU-114608'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-109582'], curie_count=1, time_taken_ms=4.41, time_taken_per_curie_ms=4.41, arguments={'curies': ['REACT:R-HSA-109582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-76002'], curie_count=1, time_taken_ms=3.11, time_taken_per_curie_ms=3.11, arguments={'curies': ['REACT:R-HSA-76002'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-76005'], curie_count=1, time_taken_ms=3.25, time_taken_per_curie_ms=3.25, arguments={'curies': ['REACT:R-MMU-76005'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-76005'], curie_count=1, time_taken_ms=2.43, time_taken_per_curie_ms=2.43, arguments={'curies': ['REACT:R-HSA-76005'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-75205'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['REACT:R-HSA-75205'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-114608'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['REACT:R-HSA-114608'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-76002'], curie_count=1, time_taken_ms=2.33, time_taken_per_curie_ms=2.33, arguments={'curies': ['REACT:R-MMU-76002'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-109582'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['REACT:R-MMU-109582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 57, 11, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-75205'], curie_count=1, time_taken_ms=2.4, time_taken_per_curie_ms=2.4, arguments={'curies': ['REACT:R-MMU-75205'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 56, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.97, time_taken_per_curie_ms=2.97, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 54, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.65, time_taken_per_curie_ms=1.325, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 51, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.31, time_taken_per_curie_ms=3.31, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 48, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.35, time_taken_per_curie_ms=1.675, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 45, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=4.74, time_taken_per_curie_ms=4.74, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17266443'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['PMID:17266443'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17266443'], curie_count=1, time_taken_ms=4.98, time_taken_per_curie_ms=4.98, arguments={'curies': ['PMID:17266443'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071356'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['GO:0071356'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-913531'], curie_count=1, time_taken_ms=3.32, time_taken_per_curie_ms=3.32, arguments={'curies': ['REACT:R-HSA-913531'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-877300'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['REACT:R-HSA-877300'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0051607'], curie_count=1, time_taken_ms=4.0, time_taken_per_curie_ms=4.0, arguments={'curies': ['GO:0051607'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071347'], curie_count=1, time_taken_ms=2.29, time_taken_per_curie_ms=2.29, arguments={'curies': ['GO:0071347'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1280215'], curie_count=1, time_taken_ms=1.98, time_taken_per_curie_ms=1.98, arguments={'curies': ['REACT:R-HSA-1280215'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0140639'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['GO:0140639'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-168256'], curie_count=1, time_taken_ms=1.82, time_taken_per_curie_ms=1.82, arguments={'curies': ['REACT:R-HSA-168256'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0051715'], curie_count=1, time_taken_ms=3.01, time_taken_per_curie_ms=3.01, arguments={'curies': ['GO:0051715'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071346'], curie_count=1, time_taken_ms=1.43, time_taken_per_curie_ms=1.43, arguments={'curies': ['GO:0071346'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071222'], curie_count=1, time_taken_ms=1.74, time_taken_per_curie_ms=1.74, arguments={'curies': ['GO:0071222'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0045087'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['GO:0045087'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042742'], curie_count=1, time_taken_ms=2.61, time_taken_per_curie_ms=2.61, arguments={'curies': ['GO:0042742'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 43, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002376'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['GO:0002376'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019388'], curie_count=1, time_taken_ms=4.88, time_taken_per_curie_ms=4.88, arguments={'curies': ['GO:0019388'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006689'], curie_count=1, time_taken_ms=3.75, time_taken_per_curie_ms=3.75, arguments={'curies': ['GO:0006689'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:31720227'], curie_count=1, time_taken_ms=2.16, time_taken_per_curie_ms=2.16, arguments={'curies': ['PMID:31720227'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006516'], curie_count=1, time_taken_ms=1.52, time_taken_per_curie_ms=1.52, arguments={'curies': ['GO:0006516'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005975'], curie_count=1, time_taken_ms=2.01, time_taken_per_curie_ms=2.01, arguments={'curies': ['GO:0005975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:31720227'], curie_count=1, time_taken_ms=4.31, time_taken_per_curie_ms=4.31, arguments={'curies': ['PMID:31720227'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1638074'], curie_count=1, time_taken_ms=3.41, time_taken_per_curie_ms=3.41, arguments={'curies': ['REACT:R-HSA-1638074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030200'], curie_count=1, time_taken_ms=4.63, time_taken_per_curie_ms=4.63, arguments={'curies': ['GO:0030200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006689'], curie_count=1, time_taken_ms=3.79, time_taken_per_curie_ms=3.79, arguments={'curies': ['GO:0006689'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019388'], curie_count=1, time_taken_ms=3.57, time_taken_per_curie_ms=3.57, arguments={'curies': ['GO:0019388'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:11927518'], curie_count=1, time_taken_ms=3.43, time_taken_per_curie_ms=3.43, arguments={'curies': ['PMID:11927518'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042340'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['GO:0042340'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1638091'], curie_count=1, time_taken_ms=3.28, time_taken_per_curie_ms=3.28, arguments={'curies': ['REACT:R-HSA-1638091'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1630316'], curie_count=1, time_taken_ms=2.63, time_taken_per_curie_ms=2.63, arguments={'curies': ['REACT:R-HSA-1630316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=3.49, time_taken_per_curie_ms=3.49, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006516'], curie_count=1, time_taken_ms=2.73, time_taken_per_curie_ms=2.73, arguments={'curies': ['GO:0006516'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005975'], curie_count=1, time_taken_ms=2.33, time_taken_per_curie_ms=2.33, arguments={'curies': ['GO:0005975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00604'], curie_count=1, time_taken_ms=0.43, time_taken_per_curie_ms=0.43, arguments={'curies': ['KEGG:hsa00604'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04142'], curie_count=1, time_taken_ms=0.62, time_taken_per_curie_ms=0.62, arguments={'curies': ['KEGG:hsa04142'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00531'], curie_count=1, time_taken_ms=0.43, time_taken_per_curie_ms=0.43, arguments={'curies': ['KEGG:hsa00531'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00600'], curie_count=1, time_taken_ms=0.65, time_taken_per_curie_ms=0.65, arguments={'curies': ['KEGG:hsa00600'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00052'], curie_count=1, time_taken_ms=0.64, time_taken_per_curie_ms=0.64, arguments={'curies': ['KEGG:hsa00052'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00511'], curie_count=1, time_taken_ms=0.55, time_taken_per_curie_ms=0.55, arguments={'curies': ['KEGG:hsa00511'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 42, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.59, time_taken_per_curie_ms=2.795, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 40, 4, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.95, time_taken_per_curie_ms=2.95, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 39, 27, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PUBCHEM.COMPOUND:15625'], curie_count=1, time_taken_ms=5.37, time_taken_per_curie_ms=5.37, arguments={'curies': ['PUBCHEM.COMPOUND:15625'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 37, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.78, time_taken_per_curie_ms=1.39, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 34, 34, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.18, time_taken_per_curie_ms=3.18, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 31, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.52, time_taken_per_curie_ms=1.76, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 29, 4, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=4.66, time_taken_per_curie_ms=4.66, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 26, 21, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=4.2, time_taken_per_curie_ms=2.1, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 23, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.77, time_taken_per_curie_ms=5.77, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 20, 53, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.22, time_taken_per_curie_ms=1.61, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 18, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=6.48, time_taken_per_curie_ms=6.48, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 15, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.56, time_taken_per_curie_ms=1.78, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 12, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.64, time_taken_per_curie_ms=2.64, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 9, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.88, time_taken_per_curie_ms=1.94, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003924'], curie_count=1, time_taken_ms=3.63, time_taken_per_curie_ms=3.63, arguments={'curies': ['GO:0003924'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016787'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['GO:0016787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0140827'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['GO:0140827'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005525'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0005525'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005525'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['GO:0005525'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016787'], curie_count=1, time_taken_ms=2.6, time_taken_per_curie_ms=2.6, arguments={'curies': ['GO:0016787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-388396'], curie_count=1, time_taken_ms=3.91, time_taken_per_curie_ms=3.91, arguments={'curies': ['REACT:R-HSA-388396'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-372790'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['REACT:R-HSA-372790'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008277'], curie_count=1, time_taken_ms=1.6, time_taken_per_curie_ms=1.6, arguments={'curies': ['GO:0008277'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-162582'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['REACT:R-HSA-162582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-372790'], curie_count=1, time_taken_ms=6.82, time_taken_per_curie_ms=6.82, arguments={'curies': ['REACT:R-HSA-372790'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009966'], curie_count=1, time_taken_ms=4.68, time_taken_per_curie_ms=4.68, arguments={'curies': ['GO:0009966'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-388396'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['REACT:R-HSA-388396'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17986524'], curie_count=1, time_taken_ms=5.94, time_taken_per_curie_ms=5.94, arguments={'curies': ['PMID:17986524'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016055'], curie_count=1, time_taken_ms=2.81, time_taken_per_curie_ms=2.81, arguments={'curies': ['GO:0016055'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05032'], curie_count=1, time_taken_ms=0.64, time_taken_per_curie_ms=0.64, arguments={'curies': ['KEGG:hsa05032'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008277'], curie_count=1, time_taken_ms=3.86, time_taken_per_curie_ms=3.86, arguments={'curies': ['GO:0008277'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-162582'], curie_count=1, time_taken_ms=2.19, time_taken_per_curie_ms=2.19, arguments={'curies': ['REACT:R-HSA-162582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=3.77, time_taken_per_curie_ms=3.77, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008284'], curie_count=1, time_taken_ms=2.61, time_taken_per_curie_ms=2.61, arguments={'curies': ['GO:0008284'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22099983'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['PMID:22099983'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04144'], curie_count=1, time_taken_ms=0.14, time_taken_per_curie_ms=0.14, arguments={'curies': ['KEGG:hsa04144'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007186'], curie_count=1, time_taken_ms=3.44, time_taken_per_curie_ms=3.44, arguments={'curies': ['GO:0007186'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007217'], curie_count=1, time_taken_ms=3.18, time_taken_per_curie_ms=3.18, arguments={'curies': ['GO:0007217'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=3.05, time_taken_per_curie_ms=3.05, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007188'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['GO:0007188'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8626574'], curie_count=1, time_taken_ms=2.08, time_taken_per_curie_ms=2.08, arguments={'curies': ['PMID:8626574'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8288567'], curie_count=1, time_taken_ms=1.57, time_taken_per_curie_ms=1.57, arguments={'curies': ['PMID:8288567'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-416476'], curie_count=1, time_taken_ms=3.39, time_taken_per_curie_ms=3.39, arguments={'curies': ['REACT:R-HSA-416476'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 8, 35, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04062'], curie_count=1, time_taken_ms=0.41, time_taken_per_curie_ms=0.41, arguments={'curies': ['KEGG:hsa04062'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 7, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.95, time_taken_per_curie_ms=3.95, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001895'], curie_count=1, time_taken_ms=2.47, time_taken_per_curie_ms=2.47, arguments={'curies': ['GO:0001895'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:15544046'], curie_count=1, time_taken_ms=4.27, time_taken_per_curie_ms=4.27, arguments={'curies': ['PMID:15544046'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001819'], curie_count=1, time_taken_ms=3.99, time_taken_per_curie_ms=3.99, arguments={'curies': ['GO:0001819'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05022'], curie_count=1, time_taken_ms=0.7, time_taken_per_curie_ms=0.7, arguments={'curies': ['KEGG:hsa05022'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001541'], curie_count=1, time_taken_ms=2.35, time_taken_per_curie_ms=2.35, arguments={'curies': ['GO:0001541'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05020'], curie_count=1, time_taken_ms=1.49, time_taken_per_curie_ms=1.49, arguments={'curies': ['KEGG:hsa05020'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16790527'], curie_count=1, time_taken_ms=2.39, time_taken_per_curie_ms=2.39, arguments={'curies': ['PMID:16790527'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000303'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['GO:0000303'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001541'], curie_count=1, time_taken_ms=4.49, time_taken_per_curie_ms=4.49, arguments={'curies': ['GO:0001541'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001890'], curie_count=1, time_taken_ms=4.97, time_taken_per_curie_ms=4.97, arguments={'curies': ['GO:0001890'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000303'], curie_count=1, time_taken_ms=3.88, time_taken_per_curie_ms=3.88, arguments={'curies': ['GO:0000303'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12485882'], curie_count=1, time_taken_ms=4.51, time_taken_per_curie_ms=4.51, arguments={'curies': ['PMID:12485882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04146'], curie_count=1, time_taken_ms=0.87, time_taken_per_curie_ms=0.87, arguments={'curies': ['KEGG:hsa04146'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001975'], curie_count=1, time_taken_ms=3.31, time_taken_per_curie_ms=3.31, arguments={'curies': ['GO:0001975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05016'], curie_count=1, time_taken_ms=0.42, time_taken_per_curie_ms=0.42, arguments={'curies': ['KEGG:hsa05016'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001895'], curie_count=1, time_taken_ms=1.83, time_taken_per_curie_ms=1.83, arguments={'curies': ['GO:0001895'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05014'], curie_count=1, time_taken_ms=0.34, time_taken_per_curie_ms=0.34, arguments={'curies': ['KEGG:hsa05014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000302'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['GO:0000302'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04213'], curie_count=1, time_taken_ms=0.25, time_taken_per_curie_ms=0.25, arguments={'curies': ['KEGG:hsa04213'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 4, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.96, time_taken_per_curie_ms=1.48, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 13, 1, 37, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.91, time_taken_per_curie_ms=3.91, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 58, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.38, time_taken_per_curie_ms=1.69, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 56, 9, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.61, time_taken_per_curie_ms=5.61, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 53, 29, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=4.77, time_taken_per_curie_ms=2.385, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 53, 26, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['CHEBI:231949'], curie_count=1, time_taken_ms=2.37, time_taken_per_curie_ms=2.37, arguments={'curies': ['CHEBI:231949'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 53, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCIT:C34373', 'CHEBI:231949'], curie_count=2, time_taken_ms=3.43, time_taken_per_curie_ms=1.715, arguments={'curies': ['NCIT:C34373', 'CHEBI:231949'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 50, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.33, time_taken_per_curie_ms=3.33, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 50, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.15, time_taken_per_curie_ms=1.575, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006829'], curie_count=1, time_taken_ms=6.62, time_taken_per_curie_ms=6.62, arguments={'curies': ['GO:0006829'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009749'], curie_count=1, time_taken_ms=6.89, time_taken_per_curie_ms=6.89, arguments={'curies': ['GO:0009749'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425366'], curie_count=1, time_taken_ms=7.18, time_taken_per_curie_ms=7.18, arguments={'curies': ['REACT:R-HSA-425366'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009749'], curie_count=1, time_taken_ms=4.28, time_taken_per_curie_ms=4.28, arguments={'curies': ['GO:0009749'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-435368'], curie_count=1, time_taken_ms=3.68, time_taken_per_curie_ms=3.68, arguments={'curies': ['REACT:R-HSA-435368'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=4.32, time_taken_per_curie_ms=4.32, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006882'], curie_count=1, time_taken_ms=3.32, time_taken_per_curie_ms=3.32, arguments={'curies': ['GO:0006882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-264876'], curie_count=1, time_taken_ms=3.2, time_taken_per_curie_ms=3.2, arguments={'curies': ['REACT:R-MMU-264876'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2980736'], curie_count=1, time_taken_ms=3.36, time_taken_per_curie_ms=3.36, arguments={'curies': ['REACT:R-HSA-2980736'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16984975'], curie_count=1, time_taken_ms=3.06, time_taken_per_curie_ms=3.06, arguments={'curies': ['PMID:16984975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:15331542'], curie_count=1, time_taken_ms=3.15, time_taken_per_curie_ms=3.15, arguments={'curies': ['PMID:15331542'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006811'], curie_count=1, time_taken_ms=3.06, time_taken_per_curie_ms=3.06, arguments={'curies': ['GO:0006811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425410'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['REACT:R-HSA-425410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006882'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['GO:0006882'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006829'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0006829'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-264876'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['REACT:R-HSA-264876'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-425407'], curie_count=1, time_taken_ms=2.5, time_taken_per_curie_ms=2.5, arguments={'curies': ['REACT:R-HSA-425407'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010043'], curie_count=1, time_taken_ms=1.86, time_taken_per_curie_ms=1.86, arguments={'curies': ['GO:0010043'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006812'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['GO:0006812'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-435354'], curie_count=1, time_taken_ms=2.58, time_taken_per_curie_ms=2.58, arguments={'curies': ['REACT:R-HSA-435354'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009749'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['GO:0009749'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 49, 33, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-382551'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['REACT:R-HSA-382551'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 47, 59, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.18, time_taken_per_curie_ms=1.59, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23468644'], curie_count=1, time_taken_ms=5.42, time_taken_per_curie_ms=5.42, arguments={'curies': ['PMID:23468644'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-381426'], curie_count=1, time_taken_ms=4.86, time_taken_per_curie_ms=4.86, arguments={'curies': ['REACT:R-RNO-381426'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070166'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['GO:0070166'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070166'], curie_count=1, time_taken_ms=2.71, time_taken_per_curie_ms=2.71, arguments={'curies': ['GO:0070166'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-597592'], curie_count=1, time_taken_ms=3.04, time_taken_per_curie_ms=3.04, arguments={'curies': ['REACT:R-MMU-597592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0055074'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['GO:0055074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23468644'], curie_count=1, time_taken_ms=2.7, time_taken_per_curie_ms=2.7, arguments={'curies': ['PMID:23468644'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-597592'], curie_count=1, time_taken_ms=2.78, time_taken_per_curie_ms=2.78, arguments={'curies': ['REACT:R-HSA-597592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-8957275'], curie_count=1, time_taken_ms=2.76, time_taken_per_curie_ms=2.76, arguments={'curies': ['REACT:R-MMU-8957275'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070166'], curie_count=1, time_taken_ms=2.67, time_taken_per_curie_ms=2.67, arguments={'curies': ['GO:0070166'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21549343'], curie_count=1, time_taken_ms=2.93, time_taken_per_curie_ms=2.93, arguments={'curies': ['PMID:21549343'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-381426'], curie_count=1, time_taken_ms=3.36, time_taken_per_curie_ms=3.36, arguments={'curies': ['REACT:R-MMU-381426'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23434854'], curie_count=1, time_taken_ms=2.37, time_taken_per_curie_ms=2.37, arguments={'curies': ['PMID:23434854'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031214'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['GO:0031214'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001934'], curie_count=1, time_taken_ms=2.47, time_taken_per_curie_ms=2.47, arguments={'curies': ['GO:0001934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-392499'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['REACT:R-MMU-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21990045'], curie_count=1, time_taken_ms=2.69, time_taken_per_curie_ms=2.69, arguments={'curies': ['PMID:21990045'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031214'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['GO:0031214'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23697977'], curie_count=1, time_taken_ms=1.89, time_taken_per_curie_ms=1.89, arguments={'curies': ['PMID:23697977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-RNO-392499'], curie_count=1, time_taken_ms=1.74, time_taken_per_curie_ms=1.74, arguments={'curies': ['REACT:R-RNO-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-8957275'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['REACT:R-HSA-8957275'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:25789606'], curie_count=1, time_taken_ms=2.61, time_taken_per_curie_ms=2.61, arguments={'curies': ['PMID:25789606'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:25789606'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['PMID:25789606'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-381426'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['REACT:R-HSA-381426'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23434854'], curie_count=1, time_taken_ms=2.69, time_taken_per_curie_ms=2.69, arguments={'curies': ['PMID:23434854'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=3.27, time_taken_per_curie_ms=3.27, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:21990045'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['PMID:21990045'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0044691'], curie_count=1, time_taken_ms=4.06, time_taken_per_curie_ms=4.06, arguments={'curies': ['GO:0044691'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001934'], curie_count=1, time_taken_ms=2.82, time_taken_per_curie_ms=2.82, arguments={'curies': ['GO:0001934'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 57, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009617'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['GO:0009617'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 45, 10, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.86, time_taken_per_curie_ms=3.86, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 42, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=4.78, time_taken_per_curie_ms=2.39, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 39, 41, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.1, time_taken_per_curie_ms=3.1, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5617833'], curie_count=1, time_taken_ms=3.01, time_taken_per_curie_ms=3.01, arguments={'curies': ['REACT:R-HSA-5617833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5620924'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['REACT:R-HSA-5620924'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1852241'], curie_count=1, time_taken_ms=2.03, time_taken_per_curie_ms=2.03, arguments={'curies': ['REACT:R-HSA-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042073'], curie_count=1, time_taken_ms=2.44, time_taken_per_curie_ms=2.44, arguments={'curies': ['GO:0042073'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007283'], curie_count=1, time_taken_ms=3.64, time_taken_per_curie_ms=3.64, arguments={'curies': ['GO:0007283'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035735'], curie_count=1, time_taken_ms=4.24, time_taken_per_curie_ms=4.24, arguments={'curies': ['GO:0035735'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:26980730'], curie_count=1, time_taken_ms=6.0, time_taken_per_curie_ms=6.0, arguments={'curies': ['PMID:26980730'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:27666822'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['PMID:27666822'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0060271'], curie_count=1, time_taken_ms=2.78, time_taken_per_curie_ms=2.78, arguments={'curies': ['GO:0060271'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5617833'], curie_count=1, time_taken_ms=2.76, time_taken_per_curie_ms=2.76, arguments={'curies': ['REACT:R-HSA-5617833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4532'], curie_count=1, time_taken_ms=0.51, time_taken_per_curie_ms=0.51, arguments={'curies': ['WIKIPATHWAYS:WP4532'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008589'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0008589'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5620924'], curie_count=1, time_taken_ms=2.65, time_taken_per_curie_ms=2.65, arguments={'curies': ['REACT:R-HSA-5620924'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030030'], curie_count=1, time_taken_ms=2.08, time_taken_per_curie_ms=2.08, arguments={'curies': ['GO:0030030'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0035720'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0035720'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1852241'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['REACT:R-HSA-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030154'], curie_count=1, time_taken_ms=2.76, time_taken_per_curie_ms=2.76, arguments={'curies': ['GO:0030154'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23990561'], curie_count=1, time_taken_ms=1.96, time_taken_per_curie_ms=1.96, arguments={'curies': ['PMID:23990561'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0042073'], curie_count=1, time_taken_ms=1.72, time_taken_per_curie_ms=1.72, arguments={'curies': ['GO:0042073'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007283'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['GO:0007283'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4803'], curie_count=1, time_taken_ms=0.25, time_taken_per_curie_ms=0.25, arguments={'curies': ['WIKIPATHWAYS:WP4803'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4352'], curie_count=1, time_taken_ms=0.33, time_taken_per_curie_ms=0.33, arguments={'curies': ['WIKIPATHWAYS:WP4352'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4536'], curie_count=1, time_taken_ms=0.42, time_taken_per_curie_ms=0.42, arguments={'curies': ['WIKIPATHWAYS:WP4536'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1632852'], curie_count=1, time_taken_ms=4.3, time_taken_per_curie_ms=4.3, arguments={'curies': ['REACT:R-HSA-1632852'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006886'], curie_count=1, time_taken_ms=9.4, time_taken_per_curie_ms=9.4, arguments={'curies': ['GO:0006886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000209'], curie_count=1, time_taken_ms=4.74, time_taken_per_curie_ms=4.74, arguments={'curies': ['GO:0000209'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006511'], curie_count=1, time_taken_ms=4.63, time_taken_per_curie_ms=4.63, arguments={'curies': ['GO:0006511'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1643685'], curie_count=1, time_taken_ms=5.25, time_taken_per_curie_ms=5.25, arguments={'curies': ['REACT:R-HSA-1643685'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28516954'], curie_count=1, time_taken_ms=2.89, time_taken_per_curie_ms=2.89, arguments={'curies': ['PMID:28516954'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16192271'], curie_count=1, time_taken_ms=3.37, time_taken_per_curie_ms=3.37, arguments={'curies': ['PMID:16192271'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001975'], curie_count=1, time_taken_ms=3.07, time_taken_per_curie_ms=3.07, arguments={'curies': ['GO:0001975'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006950'], curie_count=1, time_taken_ms=3.32, time_taken_per_curie_ms=3.32, arguments={'curies': ['GO:0006950'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:14675537'], curie_count=1, time_taken_ms=2.81, time_taken_per_curie_ms=2.81, arguments={'curies': ['PMID:14675537'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006476'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['GO:0006476'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006325'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['GO:0006325'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1632852'], curie_count=1, time_taken_ms=3.08, time_taken_per_curie_ms=3.08, arguments={'curies': ['REACT:R-HSA-1632852'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1852241'], curie_count=1, time_taken_ms=1.79, time_taken_per_curie_ms=1.79, arguments={'curies': ['REACT:R-HSA-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05203'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['KEGG:hsa05203'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007015'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0007015'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-162582'], curie_count=1, time_taken_ms=2.6, time_taken_per_curie_ms=2.6, arguments={'curies': ['REACT:R-HSA-162582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006515'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['GO:0006515'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006914'], curie_count=1, time_taken_ms=2.12, time_taken_per_curie_ms=2.12, arguments={'curies': ['GO:0006914'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-157118'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['REACT:R-HSA-157118'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05034'], curie_count=1, time_taken_ms=0.71, time_taken_per_curie_ms=0.71, arguments={'curies': ['KEGG:hsa05034'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04613'], curie_count=1, time_taken_ms=0.45, time_taken_per_curie_ms=0.45, arguments={'curies': ['KEGG:hsa04613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05014'], curie_count=1, time_taken_ms=0.39, time_taken_per_curie_ms=0.39, arguments={'curies': ['KEGG:hsa05014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 30, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:64324', 'NCBIGene:2146', 'MONDO:0010193'], curie_count=3, time_taken_ms=3.82, time_taken_per_curie_ms=1.2733333333333332, arguments={'curies': ['NCBIGene:64324', 'NCBIGene:2146', 'MONDO:0010193'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030513'], curie_count=1, time_taken_ms=4.7, time_taken_per_curie_ms=4.7, arguments={'curies': ['GO:0030513'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0048679'], curie_count=1, time_taken_ms=4.17, time_taken_per_curie_ms=4.17, arguments={'curies': ['GO:0048679'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=2.87, time_taken_per_curie_ms=2.87, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009306'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0009306'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007520'], curie_count=1, time_taken_ms=1.81, time_taken_per_curie_ms=1.81, arguments={'curies': ['GO:0007520'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006879'], curie_count=1, time_taken_ms=3.24, time_taken_per_curie_ms=3.24, arguments={'curies': ['GO:0006879'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9169140'], curie_count=1, time_taken_ms=1.62, time_taken_per_curie_ms=1.62, arguments={'curies': ['PMID:9169140'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-525793'], curie_count=1, time_taken_ms=5.04, time_taken_per_curie_ms=5.04, arguments={'curies': ['REACT:R-HSA-525793'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006355'], curie_count=1, time_taken_ms=1.94, time_taken_per_curie_ms=1.94, arguments={'curies': ['GO:0006355'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04514'], curie_count=1, time_taken_ms=0.76, time_taken_per_curie_ms=0.76, arguments={'curies': ['KEGG:hsa04514'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4747'], curie_count=1, time_taken_ms=0.62, time_taken_per_curie_ms=0.62, arguments={'curies': ['WIKIPATHWAYS:WP4747'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04360'], curie_count=1, time_taken_ms=0.57, time_taken_per_curie_ms=0.57, arguments={'curies': ['KEGG:hsa04360'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04350'], curie_count=1, time_taken_ms=0.58, time_taken_per_curie_ms=0.58, arguments={'curies': ['KEGG:hsa04350'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4148'], curie_count=1, time_taken_ms=0.38, time_taken_per_curie_ms=0.38, arguments={'curies': ['WIKIPATHWAYS:WP4148'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 37, 5, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.54, time_taken_per_curie_ms=1.77, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006954'], curie_count=1, time_taken_ms=4.38, time_taken_per_curie_ms=4.38, arguments={'curies': ['GO:0006954'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22301074'], curie_count=1, time_taken_ms=3.55, time_taken_per_curie_ms=3.55, arguments={'curies': ['PMID:22301074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006874'], curie_count=1, time_taken_ms=4.26, time_taken_per_curie_ms=4.26, arguments={'curies': ['GO:0006874'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9600961'], curie_count=1, time_taken_ms=2.3, time_taken_per_curie_ms=2.3, arguments={'curies': ['PMID:9600961'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10443688'], curie_count=1, time_taken_ms=2.04, time_taken_per_curie_ms=2.04, arguments={'curies': ['PMID:10443688'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0048245'], curie_count=1, time_taken_ms=2.36, time_taken_per_curie_ms=2.36, arguments={'curies': ['GO:0048245'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006935'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['GO:0006935'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006954'], curie_count=1, time_taken_ms=1.86, time_taken_per_curie_ms=1.86, arguments={'curies': ['GO:0006954'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006955'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['GO:0006955'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:30032202'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['PMID:30032202'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006935'], curie_count=1, time_taken_ms=2.02, time_taken_per_curie_ms=2.02, arguments={'curies': ['GO:0006935'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006955'], curie_count=1, time_taken_ms=1.67, time_taken_per_curie_ms=1.67, arguments={'curies': ['GO:0006955'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006955'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['GO:0006955'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04062'], curie_count=1, time_taken_ms=0.58, time_taken_per_curie_ms=0.58, arguments={'curies': ['KEGG:hsa04062'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:30032202'], curie_count=1, time_taken_ms=2.63, time_taken_per_curie_ms=2.63, arguments={'curies': ['PMID:30032202'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0048245'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['GO:0048245'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9346309'], curie_count=1, time_taken_ms=2.36, time_taken_per_curie_ms=2.36, arguments={'curies': ['PMID:9346309'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22301074'], curie_count=1, time_taken_ms=4.86, time_taken_per_curie_ms=4.86, arguments={'curies': ['PMID:22301074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04060'], curie_count=1, time_taken_ms=0.64, time_taken_per_curie_ms=0.64, arguments={'curies': ['KEGG:hsa04060'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04061'], curie_count=1, time_taken_ms=0.76, time_taken_per_curie_ms=0.76, arguments={'curies': ['KEGG:hsa04061'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418885'], curie_count=1, time_taken_ms=1.49, time_taken_per_curie_ms=1.49, arguments={'curies': ['REACT:R-HSA-418885'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0014009'], curie_count=1, time_taken_ms=3.67, time_taken_per_curie_ms=3.67, arguments={'curies': ['GO:0014009'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008283'], curie_count=1, time_taken_ms=3.69, time_taken_per_curie_ms=3.69, arguments={'curies': ['GO:0008283'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001764'], curie_count=1, time_taken_ms=2.54, time_taken_per_curie_ms=2.54, arguments={'curies': ['GO:0001764'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007409'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['GO:0007409'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006930'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['GO:0006930'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007265'], curie_count=1, time_taken_ms=1.6, time_taken_per_curie_ms=1.6, arguments={'curies': ['GO:0007265'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007097'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['GO:0007097'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376172'], curie_count=1, time_taken_ms=2.99, time_taken_per_curie_ms=2.99, arguments={'curies': ['REACT:R-HSA-376172'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418885'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['REACT:R-HSA-418885'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 36, 50, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376176'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['REACT:R-HSA-376176'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=3.38, time_taken_per_curie_ms=3.38, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=1.59, time_taken_per_curie_ms=1.59, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007420'], curie_count=1, time_taken_ms=1.82, time_taken_per_curie_ms=1.82, arguments={'curies': ['GO:0007420'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=1.75, time_taken_per_curie_ms=1.75, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030334'], curie_count=1, time_taken_ms=6.0, time_taken_per_curie_ms=6.0, arguments={'curies': ['GO:0030334'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0033564'], curie_count=1, time_taken_ms=4.83, time_taken_per_curie_ms=4.83, arguments={'curies': ['GO:0033564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=5.4, time_taken_per_curie_ms=5.4, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9782087'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['PMID:9782087'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007420'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0007420'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 38, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418886'], curie_count=1, time_taken_ms=2.5, time_taken_per_curie_ms=2.5, arguments={'curies': ['REACT:R-HSA-418886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-9675108'], curie_count=1, time_taken_ms=1.44, time_taken_per_curie_ms=1.44, arguments={'curies': ['REACT:R-HSA-9675108'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=2.72, time_taken_per_curie_ms=2.72, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418886'], curie_count=1, time_taken_ms=5.85, time_taken_per_curie_ms=5.85, arguments={'curies': ['REACT:R-HSA-418886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=3.88, time_taken_per_curie_ms=3.88, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=2.8, time_taken_per_curie_ms=2.8, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-9675108'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['REACT:R-HSA-9675108'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 35, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 34, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=5.25, time_taken_per_curie_ms=5.25, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 31, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.96, time_taken_per_curie_ms=1.48, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 31, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:2146', 'MONDO:0010193'], curie_count=2, time_taken_ms=8.1, time_taken_per_curie_ms=4.05, arguments={'curies': ['NCBIGene:2146', 'MONDO:0010193'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 30, 31, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:2146', 'MONDO:0010193'], curie_count=2, time_taken_ms=4.17, time_taken_per_curie_ms=2.085, arguments={'curies': ['NCBIGene:2146', 'MONDO:0010193'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 28, 43, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.69, time_taken_per_curie_ms=3.69, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 26, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.34, time_taken_per_curie_ms=2.67, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007224'], curie_count=1, time_taken_ms=4.93, time_taken_per_curie_ms=4.93, arguments={'curies': ['GO:0007224'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007628'], curie_count=1, time_taken_ms=3.2, time_taken_per_curie_ms=3.2, arguments={'curies': ['GO:0007628'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007224'], curie_count=1, time_taken_ms=1.93, time_taken_per_curie_ms=1.93, arguments={'curies': ['GO:0007224'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007179'], curie_count=1, time_taken_ms=1.58, time_taken_per_curie_ms=1.58, arguments={'curies': ['GO:0007179'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19448668'], curie_count=1, time_taken_ms=2.64, time_taken_per_curie_ms=2.64, arguments={'curies': ['PMID:19448668'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006974'], curie_count=1, time_taken_ms=1.42, time_taken_per_curie_ms=1.42, arguments={'curies': ['GO:0006974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2990846'], curie_count=1, time_taken_ms=5.56, time_taken_per_curie_ms=5.56, arguments={'curies': ['REACT:R-HSA-2990846'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001654'], curie_count=1, time_taken_ms=5.5, time_taken_per_curie_ms=5.5, arguments={'curies': ['GO:0001654'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3108232'], curie_count=1, time_taken_ms=4.16, time_taken_per_curie_ms=4.16, arguments={'curies': ['REACT:R-HSA-3108232'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000122'], curie_count=1, time_taken_ms=4.28, time_taken_per_curie_ms=4.28, arguments={'curies': ['GO:0000122'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-397014'], curie_count=1, time_taken_ms=3.48, time_taken_per_curie_ms=3.48, arguments={'curies': ['REACT:R-HSA-397014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3899300'], curie_count=1, time_taken_ms=3.49, time_taken_per_curie_ms=3.49, arguments={'curies': ['REACT:R-HSA-3899300'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-212436'], curie_count=1, time_taken_ms=3.68, time_taken_per_curie_ms=3.68, arguments={'curies': ['REACT:R-HSA-212436'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20579985'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['PMID:20579985'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2032785'], curie_count=1, time_taken_ms=2.79, time_taken_per_curie_ms=2.79, arguments={'curies': ['REACT:R-HSA-2032785'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006468'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0006468'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003016'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['GO:0003016'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 24, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3700989'], curie_count=1, time_taken_ms=2.42, time_taken_per_curie_ms=2.42, arguments={'curies': ['REACT:R-HSA-3700989'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 23, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=4.19, time_taken_per_curie_ms=4.19, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 20, 39, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.26, time_taken_per_curie_ms=2.63, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007608'], curie_count=1, time_taken_ms=4.18, time_taken_per_curie_ms=4.18, arguments={'curies': ['GO:0007608'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007608'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['GO:0007608'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008104'], curie_count=1, time_taken_ms=1.87, time_taken_per_curie_ms=1.87, arguments={'curies': ['GO:0008104'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001895'], curie_count=1, time_taken_ms=4.0, time_taken_per_curie_ms=4.0, arguments={'curies': ['GO:0001895'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007601'], curie_count=1, time_taken_ms=2.04, time_taken_per_curie_ms=2.04, arguments={'curies': ['GO:0007601'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007601'], curie_count=1, time_taken_ms=1.41, time_taken_per_curie_ms=1.41, arguments={'curies': ['GO:0007601'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001895'], curie_count=1, time_taken_ms=2.73, time_taken_per_curie_ms=2.73, arguments={'curies': ['GO:0001895'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006629'], curie_count=1, time_taken_ms=1.41, time_taken_per_curie_ms=1.41, arguments={'curies': ['GO:0006629'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001764'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['GO:0001764'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 20, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000226'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['GO:0000226'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5620922'], curie_count=1, time_taken_ms=4.23, time_taken_per_curie_ms=4.23, arguments={'curies': ['REACT:R-HSA-5620922'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5620920'], curie_count=1, time_taken_ms=4.3, time_taken_per_curie_ms=4.3, arguments={'curies': ['REACT:R-HSA-5620920'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1852241'], curie_count=1, time_taken_ms=4.12, time_taken_per_curie_ms=4.12, arguments={'curies': ['REACT:R-MMU-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4656'], curie_count=1, time_taken_ms=1.34, time_taken_per_curie_ms=1.34, arguments={'curies': ['WIKIPATHWAYS:WP4656'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1852241'], curie_count=1, time_taken_ms=2.59, time_taken_per_curie_ms=2.59, arguments={'curies': ['REACT:R-HSA-1852241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5617833'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['REACT:R-HSA-5617833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-5617833'], curie_count=1, time_taken_ms=2.15, time_taken_per_curie_ms=2.15, arguments={'curies': ['REACT:R-MMU-5617833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4536'], curie_count=1, time_taken_ms=0.28, time_taken_per_curie_ms=0.28, arguments={'curies': ['WIKIPATHWAYS:WP4536'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4352'], curie_count=1, time_taken_ms=0.44, time_taken_per_curie_ms=0.44, arguments={'curies': ['WIKIPATHWAYS:WP4352'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 19, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP4803'], curie_count=1, time_taken_ms=0.6, time_taken_per_curie_ms=0.6, arguments={'curies': ['WIKIPATHWAYS:WP4803'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 17, 44, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 15, 10, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.56, time_taken_per_curie_ms=1.78, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 12, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.0, time_taken_per_curie_ms=3.0, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 9, 41, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.32, time_taken_per_curie_ms=2.66, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 46, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.04, time_taken_per_curie_ms=3.04, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5696399'], curie_count=1, time_taken_ms=4.08, time_taken_per_curie_ms=4.08, arguments={'curies': ['REACT:R-HSA-5696399'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=5.36, time_taken_per_curie_ms=5.36, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=5.07, time_taken_per_curie_ms=5.07, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3108232'], curie_count=1, time_taken_ms=4.91, time_taken_per_curie_ms=4.91, arguments={'curies': ['REACT:R-HSA-3108232'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8168482'], curie_count=1, time_taken_ms=5.0, time_taken_per_curie_ms=5.0, arguments={'curies': ['PMID:8168482'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=5.27, time_taken_per_curie_ms=5.27, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9734359'], curie_count=1, time_taken_ms=5.23, time_taken_per_curie_ms=5.23, arguments={'curies': ['PMID:9734359'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5696395'], curie_count=1, time_taken_ms=3.42, time_taken_per_curie_ms=3.42, arguments={'curies': ['REACT:R-HSA-5696395'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006281'], curie_count=1, time_taken_ms=3.35, time_taken_per_curie_ms=3.35, arguments={'curies': ['GO:0006281'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5696394'], curie_count=1, time_taken_ms=2.87, time_taken_per_curie_ms=2.87, arguments={'curies': ['REACT:R-HSA-5696394'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:33937266'], curie_count=1, time_taken_ms=3.05, time_taken_per_curie_ms=3.05, arguments={'curies': ['PMID:33937266'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:11259578'], curie_count=1, time_taken_ms=3.6, time_taken_per_curie_ms=3.6, arguments={'curies': ['PMID:11259578'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19941824'], curie_count=1, time_taken_ms=1.94, time_taken_per_curie_ms=1.94, arguments={'curies': ['PMID:19941824'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10873465'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['PMID:10873465'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5696398'], curie_count=1, time_taken_ms=2.35, time_taken_per_curie_ms=2.35, arguments={'curies': ['REACT:R-HSA-5696398'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=1.89, time_taken_per_curie_ms=1.89, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-597592'], curie_count=1, time_taken_ms=1.76, time_taken_per_curie_ms=1.76, arguments={'curies': ['REACT:R-HSA-597592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=1.81, time_taken_per_curie_ms=1.81, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000720'], curie_count=1, time_taken_ms=2.36, time_taken_per_curie_ms=2.36, arguments={'curies': ['GO:0000720'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-73894'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['REACT:R-HSA-73894'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006281'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['GO:0006281'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=3.54, time_taken_per_curie_ms=3.54, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006289'], curie_count=1, time_taken_ms=2.82, time_taken_per_curie_ms=2.82, arguments={'curies': ['GO:0006289'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:1522891'], curie_count=1, time_taken_ms=1.55, time_taken_per_curie_ms=1.55, arguments={'curies': ['PMID:1522891'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-3108214'], curie_count=1, time_taken_ms=4.77, time_taken_per_curie_ms=4.77, arguments={'curies': ['REACT:R-HSA-3108214'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2990846'], curie_count=1, time_taken_ms=4.66, time_taken_per_curie_ms=4.66, arguments={'curies': ['REACT:R-HSA-2990846'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 6, 7, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006281'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:0006281'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 4, 12, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.17, time_taken_per_curie_ms=1.585, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=3.26, time_taken_per_curie_ms=3.26, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=1.8, time_taken_per_curie_ms=1.8, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0038007'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0038007'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5357769'], curie_count=1, time_taken_ms=4.85, time_taken_per_curie_ms=4.85, arguments={'curies': ['REACT:R-HSA-5357769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0038007'], curie_count=1, time_taken_ms=5.89, time_taken_per_curie_ms=5.89, arguments={'curies': ['GO:0038007'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=5.0, time_taken_per_curie_ms=5.0, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031175'], curie_count=1, time_taken_ms=3.82, time_taken_per_curie_ms=3.82, arguments={'curies': ['GO:0031175'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418889'], curie_count=1, time_taken_ms=2.19, time_taken_per_curie_ms=2.19, arguments={'curies': ['REACT:R-HSA-418889'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-1266738'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['REACT:R-MMU-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5357801'], curie_count=1, time_taken_ms=2.2, time_taken_per_curie_ms=2.2, arguments={'curies': ['REACT:R-HSA-5357801'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 3, 36, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-109581'], curie_count=1, time_taken_ms=2.3, time_taken_per_curie_ms=2.3, arguments={'curies': ['REACT:R-HSA-109581'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 12, 1, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=4.61, time_taken_per_curie_ms=4.61, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 58, 43, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=4.9, time_taken_per_curie_ms=2.45, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19188609'], curie_count=1, time_taken_ms=4.09, time_taken_per_curie_ms=4.09, arguments={'curies': ['PMID:19188609'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:7693131'], curie_count=1, time_taken_ms=7.7, time_taken_per_curie_ms=7.7, arguments={'curies': ['PMID:7693131'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:11500939'], curie_count=1, time_taken_ms=8.15, time_taken_per_curie_ms=8.15, arguments={'curies': ['PMID:11500939'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19406747'], curie_count=1, time_taken_ms=7.87, time_taken_per_curie_ms=7.87, arguments={'curies': ['PMID:19406747'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007612'], curie_count=1, time_taken_ms=4.52, time_taken_per_curie_ms=4.52, arguments={'curies': ['GO:0007612'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006898'], curie_count=1, time_taken_ms=4.77, time_taken_per_curie_ms=4.77, arguments={'curies': ['GO:0006898'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007169'], curie_count=1, time_taken_ms=4.68, time_taken_per_curie_ms=4.68, arguments={'curies': ['GO:0007169'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0003007'], curie_count=1, time_taken_ms=4.83, time_taken_per_curie_ms=4.83, arguments={'curies': ['GO:0003007'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04015'], curie_count=1, time_taken_ms=1.27, time_taken_per_curie_ms=1.27, arguments={'curies': ['KEGG:hsa04015'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006355'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['GO:0006355'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007613'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['GO:0007613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04066'], curie_count=1, time_taken_ms=0.75, time_taken_per_curie_ms=0.75, arguments={'curies': ['KEGG:hsa04066'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007186'], curie_count=1, time_taken_ms=2.96, time_taken_per_curie_ms=2.96, arguments={'curies': ['GO:0007186'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:25401701'], curie_count=1, time_taken_ms=3.41, time_taken_per_curie_ms=3.41, arguments={'curies': ['PMID:25401701'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005979'], curie_count=1, time_taken_ms=2.76, time_taken_per_curie_ms=2.76, arguments={'curies': ['GO:0005979'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002092'], curie_count=1, time_taken_ms=3.05, time_taken_per_curie_ms=3.05, arguments={'curies': ['GO:0002092'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12881524'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['PMID:12881524'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9092559'], curie_count=1, time_taken_ms=2.41, time_taken_per_curie_ms=2.41, arguments={'curies': ['PMID:9092559'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008284'], curie_count=1, time_taken_ms=2.6, time_taken_per_curie_ms=2.6, arguments={'curies': ['GO:0008284'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19188609'], curie_count=1, time_taken_ms=2.74, time_taken_per_curie_ms=2.74, arguments={'curies': ['PMID:19188609'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04014'], curie_count=1, time_taken_ms=0.74, time_taken_per_curie_ms=0.74, arguments={'curies': ['KEGG:hsa04014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04022'], curie_count=1, time_taken_ms=0.43, time_taken_per_curie_ms=0.43, arguments={'curies': ['KEGG:hsa04022'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04150'], curie_count=1, time_taken_ms=0.29, time_taken_per_curie_ms=0.29, arguments={'curies': ['KEGG:hsa04150'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04068'], curie_count=1, time_taken_ms=0.23, time_taken_per_curie_ms=0.23, arguments={'curies': ['KEGG:hsa04068'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04072'], curie_count=1, time_taken_ms=0.51, time_taken_per_curie_ms=0.51, arguments={'curies': ['KEGG:hsa04072'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 57, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04010'], curie_count=1, time_taken_ms=1.47, time_taken_per_curie_ms=1.47, arguments={'curies': ['KEGG:hsa04010'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 55, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 53, 16, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=3.15, time_taken_per_curie_ms=1.575, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 53, 15, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:56943', 'CHEBI:17992', 'NCBIGene:6194'], curie_count=3, time_taken_ms=7.15, time_taken_per_curie_ms=2.3833333333333333, arguments={'curies': ['NCBIGene:56943', 'CHEBI:17992', 'NCBIGene:6194'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 50, 19, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.56, time_taken_per_curie_ms=2.56, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=0.47, time_taken_per_curie_ms=0.47, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05165'], curie_count=1, time_taken_ms=0.34, time_taken_per_curie_ms=0.34, arguments={'curies': ['KEGG:hsa05165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04640'], curie_count=1, time_taken_ms=0.57, time_taken_per_curie_ms=0.57, arguments={'curies': ['KEGG:hsa04640'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04810'], curie_count=1, time_taken_ms=0.27, time_taken_per_curie_ms=0.27, arguments={'curies': ['KEGG:hsa04810'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04613'], curie_count=1, time_taken_ms=0.78, time_taken_per_curie_ms=0.78, arguments={'curies': ['KEGG:hsa04613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04611'], curie_count=1, time_taken_ms=0.48, time_taken_per_curie_ms=0.48, arguments={'curies': ['KEGG:hsa04611'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04512'], curie_count=1, time_taken_ms=0.54, time_taken_per_curie_ms=0.54, arguments={'curies': ['KEGG:hsa04512'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04151'], curie_count=1, time_taken_ms=0.62, time_taken_per_curie_ms=0.62, arguments={'curies': ['KEGG:hsa04151'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04510'], curie_count=1, time_taken_ms=0.24, time_taken_per_curie_ms=0.24, arguments={'curies': ['KEGG:hsa04510'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 55, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04015'], curie_count=1, time_taken_ms=0.71, time_taken_per_curie_ms=0.71, arguments={'curies': ['KEGG:hsa04015'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007229'], curie_count=1, time_taken_ms=3.9, time_taken_per_curie_ms=3.9, arguments={'curies': ['GO:0007229'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007160'], curie_count=1, time_taken_ms=3.57, time_taken_per_curie_ms=3.57, arguments={'curies': ['GO:0007160'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007229'], curie_count=1, time_taken_ms=3.05, time_taken_per_curie_ms=3.05, arguments={'curies': ['GO:0007229'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007160'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['GO:0007160'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19693543'], curie_count=1, time_taken_ms=1.72, time_taken_per_curie_ms=1.72, arguments={'curies': ['PMID:19693543'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007229'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['GO:0007229'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:23382103'], curie_count=1, time_taken_ms=1.71, time_taken_per_curie_ms=1.71, arguments={'curies': ['PMID:23382103'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007229'], curie_count=1, time_taken_ms=1.61, time_taken_per_curie_ms=1.61, arguments={'curies': ['GO:0007229'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007160'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['GO:0007160'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19693543'], curie_count=1, time_taken_ms=2.09, time_taken_per_curie_ms=2.09, arguments={'curies': ['PMID:19693543'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=1.85, time_taken_per_curie_ms=1.85, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001525'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['GO:0001525'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 49, 54, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002687'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['GO:0002687'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 47, 45, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.05, time_taken_per_curie_ms=2.525, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005783'], curie_count=1, time_taken_ms=6.69, time_taken_per_curie_ms=6.69, arguments={'curies': ['GO:0005783'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-597592'], curie_count=1, time_taken_ms=5.19, time_taken_per_curie_ms=5.19, arguments={'curies': ['REACT:R-HSA-597592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-948021'], curie_count=1, time_taken_ms=5.05, time_taken_per_curie_ms=5.05, arguments={'curies': ['REACT:R-HSA-948021'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015031'], curie_count=1, time_taken_ms=6.84, time_taken_per_curie_ms=6.84, arguments={'curies': ['GO:0015031'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000139'], curie_count=1, time_taken_ms=5.13, time_taken_per_curie_ms=5.13, arguments={'curies': ['GO:0000139'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005615'], curie_count=1, time_taken_ms=4.36, time_taken_per_curie_ms=4.36, arguments={'curies': ['GO:0005615'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-392499'], curie_count=1, time_taken_ms=3.64, time_taken_per_curie_ms=3.64, arguments={'curies': ['REACT:R-HSA-392499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050766'], curie_count=1, time_taken_ms=3.77, time_taken_per_curie_ms=3.77, arguments={'curies': ['GO:0050766'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-MMU-199977'], curie_count=1, time_taken_ms=2.29, time_taken_per_curie_ms=2.29, arguments={'curies': ['REACT:R-MMU-199977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5653656'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['REACT:R-HSA-5653656'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005789'], curie_count=1, time_taken_ms=2.48, time_taken_per_curie_ms=2.48, arguments={'curies': ['GO:0005789'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-199977'], curie_count=1, time_taken_ms=1.75, time_taken_per_curie_ms=1.75, arguments={'curies': ['REACT:R-HSA-199977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5694530'], curie_count=1, time_taken_ms=2.03, time_taken_per_curie_ms=2.03, arguments={'curies': ['REACT:R-HSA-5694530'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22016386'], curie_count=1, time_taken_ms=2.32, time_taken_per_curie_ms=2.32, arguments={'curies': ['PMID:22016386'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000139'], curie_count=1, time_taken_ms=2.31, time_taken_per_curie_ms=2.31, arguments={'curies': ['GO:0000139'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:22016386'], curie_count=1, time_taken_ms=1.79, time_taken_per_curie_ms=1.79, arguments={'curies': ['PMID:22016386'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-199991'], curie_count=1, time_taken_ms=2.19, time_taken_per_curie_ms=2.19, arguments={'curies': ['REACT:R-HSA-199991'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-446203'], curie_count=1, time_taken_ms=1.77, time_taken_per_curie_ms=1.77, arguments={'curies': ['REACT:R-HSA-446203'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-204005'], curie_count=1, time_taken_ms=2.04, time_taken_per_curie_ms=2.04, arguments={'curies': ['REACT:R-HSA-204005'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050766'], curie_count=1, time_taken_ms=2.05, time_taken_per_curie_ms=2.05, arguments={'curies': ['GO:0050766'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006890'], curie_count=1, time_taken_ms=2.44, time_taken_per_curie_ms=2.44, arguments={'curies': ['GO:0006890'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006888'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:0006888'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20477988'], curie_count=1, time_taken_ms=2.17, time_taken_per_curie_ms=2.17, arguments={'curies': ['PMID:20477988'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 46, 1, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:56943', 'CHEBI:17992'], curie_count=2, time_taken_ms=3.35, time_taken_per_curie_ms=1.675, arguments={'curies': ['NCBIGene:56943', 'CHEBI:17992'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 44, 49, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 18, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.2, time_taken_per_curie_ms=2.6, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 14, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:56943', 'CHEBI:17992'], curie_count=2, time_taken_ms=2.76, time_taken_per_curie_ms=1.38, arguments={'curies': ['NCBIGene:56943', 'CHEBI:17992'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009410'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['GO:0009410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015889'], curie_count=1, time_taken_ms=2.99, time_taken_per_curie_ms=2.99, arguments={'curies': ['GO:0015889'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009410'], curie_count=1, time_taken_ms=1.57, time_taken_per_curie_ms=1.57, arguments={'curies': ['GO:0009410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006805'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['GO:0006805'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006869'], curie_count=1, time_taken_ms=4.22, time_taken_per_curie_ms=4.22, arguments={'curies': ['GO:0006869'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0030148'], curie_count=1, time_taken_ms=1.52, time_taken_per_curie_ms=1.52, arguments={'curies': ['GO:0030148'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009410'], curie_count=1, time_taken_ms=3.11, time_taken_per_curie_ms=3.11, arguments={'curies': ['GO:0009410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0015889'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['GO:0015889'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:1360704'], curie_count=1, time_taken_ms=1.55, time_taken_per_curie_ms=1.55, arguments={'curies': ['PMID:1360704'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006805'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['GO:0006805'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05206'], curie_count=1, time_taken_ms=0.65, time_taken_per_curie_ms=0.65, arguments={'curies': ['KEGG:hsa05206'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-189445'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['REACT:R-HSA-189445'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-189483'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['REACT:R-HSA-189483'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1660661'], curie_count=1, time_taken_ms=3.38, time_taken_per_curie_ms=3.38, arguments={'curies': ['REACT:R-HSA-1660661'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04977'], curie_count=1, time_taken_ms=0.42, time_taken_per_curie_ms=0.42, arguments={'curies': ['KEGG:hsa04977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04071'], curie_count=1, time_taken_ms=0.61, time_taken_per_curie_ms=0.61, arguments={'curies': ['KEGG:hsa04071'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 42, 13, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa02010'], curie_count=1, time_taken_ms=0.39, time_taken_per_curie_ms=0.39, arguments={'curies': ['KEGG:hsa02010'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019370'], curie_count=1, time_taken_ms=3.35, time_taken_per_curie_ms=3.35, arguments={'curies': ['GO:0019370'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019370'], curie_count=1, time_taken_ms=4.14, time_taken_per_curie_ms=4.14, arguments={'curies': ['GO:0019370'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019370'], curie_count=1, time_taken_ms=2.06, time_taken_per_curie_ms=2.06, arguments={'curies': ['GO:0019370'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:2300173'], curie_count=1, time_taken_ms=2.32, time_taken_per_curie_ms=2.32, arguments={'curies': ['PMID:2300173'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17600184'], curie_count=1, time_taken_ms=3.54, time_taken_per_curie_ms=3.54, arguments={'curies': ['PMID:17600184'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0071277'], curie_count=1, time_taken_ms=3.11, time_taken_per_curie_ms=3.11, arguments={'curies': ['GO:0071277'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070207'], curie_count=1, time_taken_ms=1.12, time_taken_per_curie_ms=1.12, arguments={'curies': ['GO:0070207'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0098869'], curie_count=1, time_taken_ms=1.92, time_taken_per_curie_ms=1.92, arguments={'curies': ['GO:0098869'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=1.54, time_taken_per_curie_ms=1.54, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2142688'], curie_count=1, time_taken_ms=1.58, time_taken_per_curie_ms=1.58, arguments={'curies': ['REACT:R-HSA-2142688'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006691'], curie_count=1, time_taken_ms=3.59, time_taken_per_curie_ms=3.59, arguments={'curies': ['GO:0006691'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002540'], curie_count=1, time_taken_ms=3.07, time_taken_per_curie_ms=3.07, arguments={'curies': ['GO:0002540'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP167'], curie_count=1, time_taken_ms=0.31, time_taken_per_curie_ms=0.31, arguments={'curies': ['WIKIPATHWAYS:WP167'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0019370'], curie_count=1, time_taken_ms=1.56, time_taken_per_curie_ms=1.56, arguments={'curies': ['GO:0019370'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0046394'], curie_count=1, time_taken_ms=3.38, time_taken_per_curie_ms=3.38, arguments={'curies': ['GO:0046394'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-8978868'], curie_count=1, time_taken_ms=3.7, time_taken_per_curie_ms=3.7, arguments={'curies': ['REACT:R-HSA-8978868'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:2300173'], curie_count=1, time_taken_ms=1.24, time_taken_per_curie_ms=1.24, arguments={'curies': ['PMID:2300173'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2142700'], curie_count=1, time_taken_ms=2.51, time_taken_per_curie_ms=2.51, arguments={'curies': ['REACT:R-HSA-2142700'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-556833'], curie_count=1, time_taken_ms=1.76, time_taken_per_curie_ms=1.76, arguments={'curies': ['REACT:R-HSA-556833'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-9018678'], curie_count=1, time_taken_ms=3.38, time_taken_per_curie_ms=3.38, arguments={'curies': ['REACT:R-HSA-9018678'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2142753'], curie_count=1, time_taken_ms=1.9, time_taken_per_curie_ms=1.9, arguments={'curies': ['REACT:R-HSA-2142753'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['WIKIPATHWAYS:WP15'], curie_count=1, time_taken_ms=0.61, time_taken_per_curie_ms=0.61, arguments={'curies': ['WIKIPATHWAYS:WP15'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 58, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2142691'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['REACT:R-HSA-2142691'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002027'], curie_count=1, time_taken_ms=5.52, time_taken_per_curie_ms=5.52, arguments={'curies': ['GO:0002027'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001698'], curie_count=1, time_taken_ms=5.54, time_taken_per_curie_ms=5.54, arguments={'curies': ['GO:0001698'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001508'], curie_count=1, time_taken_ms=8.0, time_taken_per_curie_ms=8.0, arguments={'curies': ['GO:0001508'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006814'], curie_count=1, time_taken_ms=5.67, time_taken_per_curie_ms=5.67, arguments={'curies': ['GO:0006814'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1296072'], curie_count=1, time_taken_ms=6.49, time_taken_per_curie_ms=6.49, arguments={'curies': ['REACT:R-HSA-1296072'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04972'], curie_count=1, time_taken_ms=2.47, time_taken_per_curie_ms=2.47, arguments={'curies': ['KEGG:hsa04972'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04971'], curie_count=1, time_taken_ms=0.65, time_taken_per_curie_ms=0.65, arguments={'curies': ['KEGG:hsa04971'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007507'], curie_count=1, time_taken_ms=3.68, time_taken_per_curie_ms=3.68, arguments={'curies': ['GO:0007507'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006811'], curie_count=1, time_taken_ms=2.68, time_taken_per_curie_ms=2.68, arguments={'curies': ['GO:0006811'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-397014'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['REACT:R-HSA-397014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006006'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0006006'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007605'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['GO:0007605'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001696'], curie_count=1, time_taken_ms=2.03, time_taken_per_curie_ms=2.03, arguments={'curies': ['GO:0001696'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006813'], curie_count=1, time_taken_ms=1.93, time_taken_per_curie_ms=1.93, arguments={'curies': ['GO:0006813'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1296071'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['REACT:R-HSA-1296071'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-112316'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['REACT:R-HSA-112316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05110'], curie_count=1, time_taken_ms=1.32, time_taken_per_curie_ms=1.32, arguments={'curies': ['KEGG:hsa05110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04261'], curie_count=1, time_taken_ms=0.53, time_taken_per_curie_ms=0.53, arguments={'curies': ['KEGG:hsa04261'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04725'], curie_count=1, time_taken_ms=0.29, time_taken_per_curie_ms=0.29, arguments={'curies': ['KEGG:hsa04725'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 41, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04974'], curie_count=1, time_taken_ms=0.32, time_taken_per_curie_ms=0.32, arguments={'curies': ['KEGG:hsa04974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007031'], curie_count=1, time_taken_ms=1.47, time_taken_per_curie_ms=1.47, arguments={'curies': ['GO:0007031'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006644'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['GO:0006644'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006641'], curie_count=1, time_taken_ms=2.23, time_taken_per_curie_ms=2.23, arguments={'curies': ['GO:0006641'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006644'], curie_count=1, time_taken_ms=9.31, time_taken_per_curie_ms=9.31, arguments={'curies': ['GO:0006644'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007031'], curie_count=1, time_taken_ms=10.61, time_taken_per_curie_ms=10.61, arguments={'curies': ['GO:0007031'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006629'], curie_count=1, time_taken_ms=6.0, time_taken_per_curie_ms=6.0, arguments={'curies': ['GO:0006629'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008654'], curie_count=1, time_taken_ms=5.78, time_taken_per_curie_ms=5.78, arguments={'curies': ['GO:0008654'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=3.82, time_taken_per_curie_ms=3.82, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04014'], curie_count=1, time_taken_ms=2.11, time_taken_per_curie_ms=2.11, arguments={'curies': ['KEGG:hsa04014'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20100577'], curie_count=1, time_taken_ms=2.82, time_taken_per_curie_ms=2.82, arguments={'curies': ['PMID:20100577'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006641'], curie_count=1, time_taken_ms=2.67, time_taken_per_curie_ms=2.67, arguments={'curies': ['GO:0006641'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1482801'], curie_count=1, time_taken_ms=2.66, time_taken_per_curie_ms=2.66, arguments={'curies': ['REACT:R-HSA-1482801'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009617'], curie_count=1, time_taken_ms=1.63, time_taken_per_curie_ms=1.63, arguments={'curies': ['GO:0009617'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1482788'], curie_count=1, time_taken_ms=2.18, time_taken_per_curie_ms=2.18, arguments={'curies': ['REACT:R-HSA-1482788'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0016042'], curie_count=1, time_taken_ms=1.86, time_taken_per_curie_ms=1.86, arguments={'curies': ['GO:0016042'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00592'], curie_count=1, time_taken_ms=0.43, time_taken_per_curie_ms=0.43, arguments={'curies': ['KEGG:hsa00592'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04923'], curie_count=1, time_taken_ms=0.39, time_taken_per_curie_ms=0.39, arguments={'curies': ['KEGG:hsa04923'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00564'], curie_count=1, time_taken_ms=0.5, time_taken_per_curie_ms=0.5, arguments={'curies': ['KEGG:hsa00564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00565'], curie_count=1, time_taken_ms=0.38, time_taken_per_curie_ms=0.38, arguments={'curies': ['KEGG:hsa00565'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00590'], curie_count=1, time_taken_ms=0.37, time_taken_per_curie_ms=0.37, arguments={'curies': ['KEGG:hsa00590'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 40, 51, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa00591'], curie_count=1, time_taken_ms=0.64, time_taken_per_curie_ms=0.64, arguments={'curies': ['KEGG:hsa00591'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 39, 21, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=2.77, time_taken_per_curie_ms=2.77, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:1569188'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['PMID:1569188'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1474244'], curie_count=1, time_taken_ms=1.42, time_taken_per_curie_ms=1.42, arguments={'curies': ['REACT:R-HSA-1474244'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005796'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:0005796'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1474228'], curie_count=1, time_taken_ms=4.23, time_taken_per_curie_ms=4.23, arguments={'curies': ['REACT:R-HSA-1474228'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001501'], curie_count=1, time_taken_ms=2.15, time_taken_per_curie_ms=2.15, arguments={'curies': ['GO:0001501'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005576'], curie_count=1, time_taken_ms=2.42, time_taken_per_curie_ms=2.42, arguments={'curies': ['GO:0005576'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005796'], curie_count=1, time_taken_ms=5.58, time_taken_per_curie_ms=5.58, arguments={'curies': ['GO:0005796'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:1569188'], curie_count=1, time_taken_ms=6.84, time_taken_per_curie_ms=6.84, arguments={'curies': ['PMID:1569188'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1474244'], curie_count=1, time_taken_ms=7.8, time_taken_per_curie_ms=7.8, arguments={'curies': ['REACT:R-HSA-1474244'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005615'], curie_count=1, time_taken_ms=5.01, time_taken_per_curie_ms=5.01, arguments={'curies': ['GO:0005615'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1630316'], curie_count=1, time_taken_ms=4.91, time_taken_per_curie_ms=4.91, arguments={'curies': ['REACT:R-HSA-1630316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1474228'], curie_count=1, time_taken_ms=3.14, time_taken_per_curie_ms=3.14, arguments={'curies': ['REACT:R-HSA-1474228'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1643685'], curie_count=1, time_taken_ms=3.41, time_taken_per_curie_ms=3.41, arguments={'curies': ['REACT:R-HSA-1643685'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007155'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['GO:0007155'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007417'], curie_count=1, time_taken_ms=2.94, time_taken_per_curie_ms=2.94, arguments={'curies': ['GO:0007417'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1638074'], curie_count=1, time_taken_ms=3.43, time_taken_per_curie_ms=3.43, arguments={'curies': ['REACT:R-HSA-1638074'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001501'], curie_count=1, time_taken_ms=3.02, time_taken_per_curie_ms=3.02, arguments={'curies': ['GO:0001501'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005576'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['GO:0005576'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2022857'], curie_count=1, time_taken_ms=2.92, time_taken_per_curie_ms=2.92, arguments={'curies': ['REACT:R-HSA-2022857'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006508'], curie_count=1, time_taken_ms=2.24, time_taken_per_curie_ms=2.24, arguments={'curies': ['GO:0006508'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-2022854'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['REACT:R-HSA-2022854'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 38, 24, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1430728'], curie_count=1, time_taken_ms=2.16, time_taken_per_curie_ms=2.16, arguments={'curies': ['REACT:R-HSA-1430728'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 36, 45, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=5.34, time_taken_per_curie_ms=2.67, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000122'], curie_count=1, time_taken_ms=3.64, time_taken_per_curie_ms=3.64, arguments={'curies': ['GO:0000122'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=2.09, time_taken_per_curie_ms=2.09, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010718'], curie_count=1, time_taken_ms=5.48, time_taken_per_curie_ms=5.48, arguments={'curies': ['GO:0010718'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009749'], curie_count=1, time_taken_ms=5.8, time_taken_per_curie_ms=5.8, arguments={'curies': ['GO:0009749'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17072303'], curie_count=1, time_taken_ms=2.88, time_taken_per_curie_ms=2.88, arguments={'curies': ['PMID:17072303'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19168596'], curie_count=1, time_taken_ms=4.0, time_taken_per_curie_ms=4.0, arguments={'curies': ['PMID:19168596'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000122'], curie_count=1, time_taken_ms=3.16, time_taken_per_curie_ms=3.16, arguments={'curies': ['GO:0000122'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9727977'], curie_count=1, time_taken_ms=2.53, time_taken_per_curie_ms=2.53, arguments={'curies': ['PMID:9727977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006357'], curie_count=1, time_taken_ms=3.17, time_taken_per_curie_ms=3.17, arguments={'curies': ['GO:0006357'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:15578569'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['PMID:15578569'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:15853773'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['PMID:15853773'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05210'], curie_count=1, time_taken_ms=0.72, time_taken_per_curie_ms=0.72, arguments={'curies': ['KEGG:hsa05210'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001568'], curie_count=1, time_taken_ms=2.57, time_taken_per_curie_ms=2.57, arguments={'curies': ['GO:0001568'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12799378'], curie_count=1, time_taken_ms=2.0, time_taken_per_curie_ms=2.0, arguments={'curies': ['PMID:12799378'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05132'], curie_count=1, time_taken_ms=0.69, time_taken_per_curie_ms=0.69, arguments={'curies': ['KEGG:hsa05132'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010909'], curie_count=1, time_taken_ms=1.88, time_taken_per_curie_ms=1.88, arguments={'curies': ['GO:0010909'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04520'], curie_count=1, time_taken_ms=0.52, time_taken_per_curie_ms=0.52, arguments={'curies': ['KEGG:hsa04520'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=0.95, time_taken_per_curie_ms=0.95, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 35, 6, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05167'], curie_count=1, time_taken_ms=0.4, time_taken_per_curie_ms=0.4, arguments={'curies': ['KEGG:hsa05167'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 52, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867'], curie_count=1, time_taken_ms=3.08, time_taken_per_curie_ms=3.08, arguments={'curies': ['MESH:D014867'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05131'], curie_count=1, time_taken_ms=0.38, time_taken_per_curie_ms=0.38, arguments={'curies': ['KEGG:hsa05131'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04714'], curie_count=1, time_taken_ms=0.34, time_taken_per_curie_ms=0.34, arguments={'curies': ['KEGG:hsa04714'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04910'], curie_count=1, time_taken_ms=0.15, time_taken_per_curie_ms=0.15, arguments={'curies': ['KEGG:hsa04910'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04213'], curie_count=1, time_taken_ms=0.32, time_taken_per_curie_ms=0.32, arguments={'curies': ['KEGG:hsa04213'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04140'], curie_count=1, time_taken_ms=0.82, time_taken_per_curie_ms=0.82, arguments={'curies': ['KEGG:hsa04140'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04211'], curie_count=1, time_taken_ms=0.34, time_taken_per_curie_ms=0.34, arguments={'curies': ['KEGG:hsa04211'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04152'], curie_count=1, time_taken_ms=0.32, time_taken_per_curie_ms=0.32, arguments={'curies': ['KEGG:hsa04152'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04150'], curie_count=1, time_taken_ms=0.4, time_taken_per_curie_ms=0.4, arguments={'curies': ['KEGG:hsa04150'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04151'], curie_count=1, time_taken_ms=0.18, time_taken_per_curie_ms=0.18, arguments={'curies': ['KEGG:hsa04151'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006974'], curie_count=1, time_taken_ms=4.44, time_taken_per_curie_ms=4.44, arguments={'curies': ['GO:0006974'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009410'], curie_count=1, time_taken_ms=5.92, time_taken_per_curie_ms=5.92, arguments={'curies': ['GO:0009410'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17041623'], curie_count=1, time_taken_ms=4.79, time_taken_per_curie_ms=4.79, arguments={'curies': ['PMID:17041623'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:20381137'], curie_count=1, time_taken_ms=3.77, time_taken_per_curie_ms=3.77, arguments={'curies': ['PMID:20381137'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001938'], curie_count=1, time_taken_ms=5.21, time_taken_per_curie_ms=5.21, arguments={'curies': ['GO:0001938'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04136'], curie_count=1, time_taken_ms=0.32, time_taken_per_curie_ms=0.32, arguments={'curies': ['KEGG:hsa04136'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010506'], curie_count=1, time_taken_ms=2.74, time_taken_per_curie_ms=2.74, arguments={'curies': ['GO:0010506'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010507'], curie_count=1, time_taken_ms=2.62, time_taken_per_curie_ms=2.62, arguments={'curies': ['GO:0010507'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:34314702'], curie_count=1, time_taken_ms=2.55, time_taken_per_curie_ms=2.55, arguments={'curies': ['PMID:34314702'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:12150925'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['PMID:12150925'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0009267'], curie_count=1, time_taken_ms=2.16, time_taken_per_curie_ms=2.16, arguments={'curies': ['GO:0009267'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8706699'], curie_count=1, time_taken_ms=2.58, time_taken_per_curie_ms=2.58, arguments={'curies': ['PMID:8706699'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:32561715'], curie_count=1, time_taken_ms=2.14, time_taken_per_curie_ms=2.14, arguments={'curies': ['PMID:32561715'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008361'], curie_count=1, time_taken_ms=2.28, time_taken_per_curie_ms=2.28, arguments={'curies': ['GO:0008361'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0002181'], curie_count=1, time_taken_ms=2.22, time_taken_per_curie_ms=2.22, arguments={'curies': ['GO:0002181'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001558'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['GO:0001558'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:28890335'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['PMID:28890335'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 33, 2, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0000045'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['GO:0000045'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, 56, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['NCBIGene:56943'], curie_count=1, time_taken_ms=5.32, time_taken_per_curie_ms=5.32, arguments={'curies': ['NCBIGene:56943'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007216'], curie_count=1, time_taken_ms=3.19, time_taken_per_curie_ms=3.19, arguments={'curies': ['GO:0007216'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007216'], curie_count=1, time_taken_ms=3.94, time_taken_per_curie_ms=3.94, arguments={'curies': ['GO:0007216'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:7620613'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['PMID:7620613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:37286794'], curie_count=1, time_taken_ms=2.46, time_taken_per_curie_ms=2.46, arguments={'curies': ['PMID:37286794'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007268'], curie_count=1, time_taken_ms=4.32, time_taken_per_curie_ms=4.32, arguments={'curies': ['GO:0007268'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007194'], curie_count=1, time_taken_ms=4.6, time_taken_per_curie_ms=4.6, arguments={'curies': ['GO:0007194'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007216'], curie_count=1, time_taken_ms=5.04, time_taken_per_curie_ms=5.04, arguments={'curies': ['GO:0007216'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-388396'], curie_count=1, time_taken_ms=3.16, time_taken_per_curie_ms=3.16, arguments={'curies': ['REACT:R-HSA-388396'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007215'], curie_count=1, time_taken_ms=3.13, time_taken_per_curie_ms=3.13, arguments={'curies': ['GO:0007215'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-500792'], curie_count=1, time_taken_ms=2.43, time_taken_per_curie_ms=2.43, arguments={'curies': ['REACT:R-HSA-500792'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-420499'], curie_count=1, time_taken_ms=2.62, time_taken_per_curie_ms=2.62, arguments={'curies': ['REACT:R-HSA-420499'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:7620613'], curie_count=1, time_taken_ms=3.03, time_taken_per_curie_ms=3.03, arguments={'curies': ['PMID:7620613'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007193'], curie_count=1, time_taken_ms=1.78, time_taken_per_curie_ms=1.78, arguments={'curies': ['GO:0007193'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-162582'], curie_count=1, time_taken_ms=2.24, time_taken_per_curie_ms=2.24, arguments={'curies': ['REACT:R-HSA-162582'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-372790'], curie_count=1, time_taken_ms=2.25, time_taken_per_curie_ms=2.25, arguments={'curies': ['REACT:R-HSA-372790'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007196'], curie_count=1, time_taken_ms=2.49, time_taken_per_curie_ms=2.49, arguments={'curies': ['GO:0007196'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=2.34, time_taken_per_curie_ms=2.34, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:37286794'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['PMID:37286794'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418594'], curie_count=1, time_taken_ms=1.89, time_taken_per_curie_ms=1.89, arguments={'curies': ['REACT:R-HSA-418594'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007186'], curie_count=1, time_taken_ms=1.84, time_taken_per_curie_ms=1.84, arguments={'curies': ['GO:0007186'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:34239069'], curie_count=1, time_taken_ms=2.09, time_taken_per_curie_ms=2.09, arguments={'curies': ['PMID:34239069'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05030'], curie_count=1, time_taken_ms=0.85, time_taken_per_curie_ms=0.85, arguments={'curies': ['KEGG:hsa05030'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04080'], curie_count=1, time_taken_ms=1.15, time_taken_per_curie_ms=1.15, arguments={'curies': ['KEGG:hsa04080'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04724'], curie_count=1, time_taken_ms=0.24, time_taken_per_curie_ms=0.24, arguments={'curies': ['KEGG:hsa04724'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 32, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04072'], curie_count=1, time_taken_ms=0.94, time_taken_per_curie_ms=0.94, arguments={'curies': ['KEGG:hsa04072'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 31, 17, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['MESH:D014867', 'NCIT:C34373'], curie_count=2, time_taken_ms=2.92, time_taken_per_curie_ms=1.46, arguments={'curies': ['MESH:D014867', 'NCIT:C34373'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001764'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0001764'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=2.69, time_taken_per_curie_ms=2.69, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007409'], curie_count=1, time_taken_ms=1.76, time_taken_per_curie_ms=1.76, arguments={'curies': ['GO:0007409'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=1.8, time_taken_per_curie_ms=1.8, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=1.85, time_taken_per_curie_ms=1.85, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0021965'], curie_count=1, time_taken_ms=3.88, time_taken_per_curie_ms=3.88, arguments={'curies': ['GO:0021965'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:19616629'], curie_count=1, time_taken_ms=4.34, time_taken_per_curie_ms=4.34, arguments={'curies': ['PMID:19616629'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007409'], curie_count=1, time_taken_ms=4.29, time_taken_per_curie_ms=4.29, arguments={'curies': ['GO:0007409'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0033563'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0033563'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:9796814'], curie_count=1, time_taken_ms=4.43, time_taken_per_curie_ms=4.43, arguments={'curies': ['PMID:9796814'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007411'], curie_count=1, time_taken_ms=3.01, time_taken_per_curie_ms=3.01, arguments={'curies': ['GO:0007411'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0001764'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['GO:0001764'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0006915'], curie_count=1, time_taken_ms=1.82, time_taken_per_curie_ms=1.82, arguments={'curies': ['GO:0006915'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0010977'], curie_count=1, time_taken_ms=1.66, time_taken_per_curie_ms=1.66, arguments={'curies': ['GO:0010977'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=3.87, time_taken_per_curie_ms=3.87, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376172'], curie_count=1, time_taken_ms=3.62, time_taken_per_curie_ms=3.62, arguments={'curies': ['REACT:R-HSA-376172'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:8861902'], curie_count=1, time_taken_ms=1.7, time_taken_per_curie_ms=1.7, arguments={'curies': ['PMID:8861902'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-376176'], curie_count=1, time_taken_ms=1.67, time_taken_per_curie_ms=1.67, arguments={'curies': ['REACT:R-HSA-376176'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-109581'], curie_count=1, time_taken_ms=1.99, time_taken_per_curie_ms=1.99, arguments={'curies': ['REACT:R-HSA-109581'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=1.95, time_taken_per_curie_ms=1.95, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=0.99, time_taken_per_curie_ms=0.99, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04360'], curie_count=1, time_taken_ms=0.77, time_taken_per_curie_ms=0.77, arguments={'curies': ['KEGG:hsa04360'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 28, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05210'], curie_count=1, time_taken_ms=0.4, time_taken_per_curie_ms=0.4, arguments={'curies': ['KEGG:hsa05210'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:18469807'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['PMID:18469807'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0033564'], curie_count=1, time_taken_ms=2.07, time_taken_per_curie_ms=2.07, arguments={'curies': ['GO:0033564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=3.71, time_taken_per_curie_ms=3.71, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=2.21, time_taken_per_curie_ms=2.21, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=5.66, time_taken_per_curie_ms=5.66, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:18469807'], curie_count=1, time_taken_ms=1.78, time_taken_per_curie_ms=1.78, arguments={'curies': ['PMID:18469807'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418886'], curie_count=1, time_taken_ms=6.8, time_taken_per_curie_ms=6.8, arguments={'curies': ['REACT:R-HSA-418886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:2001240'], curie_count=1, time_taken_ms=6.65, time_taken_per_curie_ms=6.65, arguments={'curies': ['GO:2001240'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0005886'], curie_count=1, time_taken_ms=2.84, time_taken_per_curie_ms=2.84, arguments={'curies': ['GO:0005886'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0033564'], curie_count=1, time_taken_ms=2.37, time_taken_per_curie_ms=2.37, arguments={'curies': ['GO:0033564'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-418889'], curie_count=1, time_taken_ms=2.7, time_taken_per_curie_ms=2.7, arguments={'curies': ['REACT:R-HSA-418889'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0038007'], curie_count=1, time_taken_ms=2.63, time_taken_per_curie_ms=2.63, arguments={'curies': ['GO:0038007'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-373752'], curie_count=1, time_taken_ms=2.45, time_taken_per_curie_ms=2.45, arguments={'curies': ['REACT:R-HSA-373752'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0051897'], curie_count=1, time_taken_ms=2.32, time_taken_per_curie_ms=2.32, arguments={'curies': ['GO:0051897'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0007165'], curie_count=1, time_taken_ms=2.52, time_taken_per_curie_ms=2.52, arguments={'curies': ['GO:0007165'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-109581'], curie_count=1, time_taken_ms=1.79, time_taken_per_curie_ms=1.79, arguments={'curies': ['REACT:R-HSA-109581'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-5357769'], curie_count=1, time_taken_ms=1.91, time_taken_per_curie_ms=1.91, arguments={'curies': ['REACT:R-HSA-5357769'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-422475'], curie_count=1, time_taken_ms=1.59, time_taken_per_curie_ms=1.59, arguments={'curies': ['REACT:R-HSA-422475'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['REACT:R-HSA-1266738'], curie_count=1, time_taken_ms=1.69, time_taken_per_curie_ms=1.69, arguments={'curies': ['REACT:R-HSA-1266738'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 11, 30, 8, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:18469807'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:18469807'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " ...]" + " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]" ] }, - "execution_count": 26, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "logs" + "logs[0:10]" ] }, { @@ -1242,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 15, "id": "7a52c4d7-21da-42f5-94cc-e5957ec9bcb6", "metadata": {}, "outputs": [ @@ -1360,13 +339,14 @@ "4 469.483568 " ] }, - "execution_count": 31, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", + "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from dataclasses import asdict\n", "\n", @@ -1379,6 +359,87 @@ "df.head()\n" ] }, + { + "cell_type": "code", + "execution_count": 10, + "id": "3f0f62a4-fe2f-4e9c-8236-6e93785e1588", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Graph 1. CURIE count vs time taken.\n", + "\n", + "# —————————————————————\n", + "# 2) Group by batch size\n", + "# —————————————————————\n", + "groups = [grp['time_taken_per_curie_ms'].values\n", + " for _, grp in df.groupby('curie_count')]\n", + "\n", + "labels = [str(size) for size, _ in df.groupby('curie_count')]\n", + "\n", + "del groups[0]\n", + "del labels[0]\n", + "\n", + "# —————————————————————\n", + "# 3) Boxplot of per‑CURIE time by batch size\n", + "# —————————————————————\n", + "plt.figure(figsize=(10,6))\n", + "plt.boxplot(groups, tick_labels=labels, showfliers=True)\n", + "plt.xlabel(\"Number of CURIEs in Batch\")\n", + "plt.ylabel(\"Time per CURIE (ms)\")\n", + "plt.title(\"Distribution of Time per CURIE by Batch Size\")\n", + "plt.xticks(rotation=45)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbthqyBV2lLqAYrV9qNOy0NYBpqLdpyrWO769Sp47afhhvt7qu0e/OgQYPMuFptYdVyWfeh2/WyBiIdi6wt7RqQPNGWcD1oYHUdVq1bt5YLFy6Y1tiqVauaba7ls0L2sWPH3Fr9s6Kt3ToOWkP30aNHTUv84sWLM9xfX2+d6CynXMO8Bl3tkZDftIu6vq96MEN7Nbi+7lk9h5SUFFMHcvK89GBP9+7dzYETrRPe0Pdfx7prN3hPNMCfP3/e9JDQbvXakm8dULEDoRsAAADITotzAXhc7U5thT4NS9oSrS1/OlmWhlKlrYY67tqVjo3ODm1ddQ1fet864ZlOhKXnrqzApQFWWyD18TV4a+jVccracnrjjTeaMd/aqqpdwNu3b2+6o2soyimdPMuVlje7E77p5Fs6Xly7XGurq7Ye64zgGdEW+6y6Xj/11FPm5IlrK3mxYsXMuY5T1sDvSi/r9Z5auTO7jXVdZvtY11s0oOpBHA3d2tVeD15kxvU5rFmzxvRAcB3bbz2vzOhQA60D2hqts4x7S3si6EEeHbPtifaQUPoe6QEBvf/HHnssXZ31FUI3AAAA4K1sdPH2FxqSNNwNHz5c7r77brdJzzIay6rdqdMuG2Utu5QZbSnXEKMtyZmFUg09Oi5YTzortc4gbXVX1knU+vbta056H1ZLZFo66ddXX30lDofDGfxXrlwpRYsW9dilODc0wGmru4Y5Dd6ZjRP2RfdyT63k2qqf9j3RAxPWEAFP9Dodi6/DAKyDD3obfX+1a7m1j3a319nQM7rfU6dOmbHvel8auHXyMe2NkFHYT/scDhw4kO3Wf21Nv+GGG0w9SDusITNaH/R90gMlaQ+4eKIHYPT10XO7QjcTqQEAAAABTscfa6CYPHmyCaU6zlonT9NJxvbs2WMC1KRJk8xlpROn6azV2jr5xx9/mG661prQmXUr1u7HGsg08OhM0zoh26+//mpas63xuBrutOuvXqePu2TJEhOglY7F1hmntQu8hi4dm25dl5aOM/77779NWNey6u20C7IeXLDGc3tDQ7+WNyvaQq+vj3Zr1yCYGStgZnbK7phuPUChS8BpN2h9vjqmXd8XfR8tOl5dW4YtepBFhwBoDwd9PbVbtc4Krq+R5ZFHHjFj7rW3gd6vzu6+bt06MyGe62PrgRJtbdaZz/XAitYhu2zZssUMkdDu5FpWHV+up+PHjzv30Xql4/h1Qj1X2u1f65a+X55mc9fXTN9DfS31b33/dUI8bwJ6TtHSDQAAAAQ4DYEaonT2bh03rctCaYuyhmENH7r0ly4TZXV31u7TuoSYdrnVkGa1mOpts+qCrq2MOoO43lYDkc4+fvXVVzuX3dLApl3GtfVTuxjrzObWslcaEDUE6fJg2oqqLd06C7on2jVeW361JVy7z2uI1XCZnW7ISltutdU/Kzr+XLtU69Jb1iRxeUnfEz1woSFb3xNtzddZ47WrvuXEiRPmIIolNjbWdOHX17tZs2bmvdADG9qd2qJj5nU5MH3d9P3Xyea++eYbadCggbleZ7nX11nX8NZ6pCddP/vaa68176kOCfC1L7/80gRsfRw9WXSZL60bSucl0LkHtJXalQ6j0OekgTwtLbvOuq4HkrRFXO9PPxeuBy7sEOLQRwtyOuOfVkidht6bsQX5QSuTVnZdFsHOozBAfqB+I1BRtxGogqVuJyQkmBYzDTu6VnWw0y6+OvGVti4HMu1mrPlAc4Fri7mOV9egrwcVevToka9lhH98D3ibI2npBgAAAJCOdl/WGcx1PLOOldblw1y7HAcLDeHagqzdr7VHQEaTcwEZIXQDAAAASGfXrl2mm7hOoqXLb2l3ce36HWy067m2cmp3bh3Xrl2UgeygxgAAAABIR8dZW2Otg1n16tXN+F8gp5i9HAAAAAAAmxC6AQAAAACwCaEbAAAAyGIiLQDBKdUHn3/GdAMAAAAe6JrRumTUoUOHzJrWejkkJCS/i4U8CFmJiYlmqSjXJcMQXBwOh6kHul641gP9/OcUoRsAAADwQH9o66zVhw8fNsEbwRO24uPjpVChQhxkgRQuXNjM3p+bAzCEbgAAACAD2rqlP7iTk5MlJSUlv4uDPJCUlCTLly+XNm3aSERERH4XB/koLCzMLBGX24MvhG4AAAAgE/qDW8MXASx4gpYeZImOjuY9h08wSAEAAAAAAJsQugEAAAAAsAmhGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAACMTQPWbMGGnRooUULVpUypYtK7feeqvs3LnTbZ+2bdtKSEiI22ngwIFu++zfv1+6du0qhQsXNvfz+OOPmwXtAQAAAADIT+H5+eDLli2TwYMHm+CtIfmpp56STp06ybZt26RIkSLO/R588EF58cUXnZc1XFtSUlJM4C5fvrysWrVKDh8+LPfee69ERETIq6++mufPCQAAAAAAvwjdc+fOdbs8ffp001K9fv16adOmjVvI1lDtyfz5801IX7hwoZQrV06aNGkiL730kjz55JPywgsvSGRkpO3PAwAAAAAAvx/TffbsWXNesmRJt+2ffPKJlC5dWho0aCCjRo2SuLg453WrV6+Whg0bmsBt6dy5s5w7d062bt2ah6UHAAAAAMCPWrpdpaamyqOPPiqtW7c24dpy9913S7Vq1aRixYqyadMm04Kt476//vprc/2RI0fcAreyLut1nly6dMmcLBrQVVJSkjn5I6tc/lo+IDeo3whU1G0EKuo2Ahn1G97yto74TejWsd1btmyRFStWuG0fMGCA829t0a5QoYK0b99e9uzZI7Vq1crxBG6jR4/22FXddby4P1qwYEF+FwGwDfUbgYq6jUBF3UYgo34jK649sP0+dA8ZMkR++OEHWb58uVSuXDnTfVu2bGnOd+/ebUK3jvX+9ddf3fY5evSoOc9oHLh2UR8+fLhbS3eVKlXMJG7FihUTfz2Koh/8jh07mknigEBC/Uagom4jUFG3Ecio3/CW1WPar0O3w+GQoUOHyuzZs2Xp0qVSo0aNLG+zceNGc64t3qpVq1byyiuvyLFjx8wkbEo/JBqe69ev7/E+oqKizCkt/VD5+werIJQRyCnqNwIVdRuBirqNQEb9Rla8rR/h+d2lfObMmfLtt9+atbqtMdixsbFSqFAh04Vcr7/pppukVKlSZkz3sGHDzMzmjRo1Mvtq67SG63vuuUfGjh1r7uOZZ54x9+0pWAMAAAAAEBSzl0+dOtXMWN62bVvTcm2dZs2aZa7X5b50KTAN1vXq1ZPHHntMevbsKd9//73zPsLCwkzXdD3XVu9//etfZp1u13W9AQAAAADID/nevTwzOs562bJlWd6Pzm4+Z84cH5YMAAAAAIAAW6cbAAAAAIBAQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAAAgEEP3mDFjpEWLFlK0aFEpW7as3HrrrbJz5063fRISEmTw4MFSqlQpiYmJkZ49e8rRo0fd9tm/f7907dpVChcubO7n8ccfl+Tk5Dx+NgAAAAAA+FHoXrZsmQnUv/zyiyxYsECSkpKkU6dOcvHiRec+w4YNk++//16++OILs/+hQ4ekR48ezutTUlJM4E5MTJRVq1bJjBkzZPr06fLcc8/l07MCAAAAAOAf4ZKP5s6d63ZZw7K2VK9fv17atGkjZ8+elQ8//FBmzpwpN9xwg9ln2rRpcvnll5ugfvXVV8v8+fNl27ZtsnDhQilXrpw0adJEXnrpJXnyySflhRdekMjIyHx6dgAAAACAYJevoTstDdmqZMmS5lzDt7Z+d+jQwblPvXr1pGrVqrJ69WoTuvW8YcOGJnBbOnfuLIMGDZKtW7dK06ZN0z3OpUuXzMly7tw5c66PpSd/ZJXLX8sH5Ab1G4GKuo1ARd1GIKN+w1ve1hG/Cd2pqany6KOPSuvWraVBgwZm25EjR0xLdfHixd321YCt11n7uAZu63rruozGko8ePTrddm0113Hh/ky74QOBivqNQEXdRqCibiOQUb+Rlbi4OClQoVvHdm/ZskVWrFhh+2ONGjVKhg8f7tbSXaVKFTOevFixYuKvR1H0g9+xY0eJiIjI7+IAPkX9RqCibiNQUbcRyKjf8JbVY7pAhO4hQ4bIDz/8IMuXL5fKlSs7t5cvX95MkHbmzBm31m6dvVyvs/b59ddf3e7Pmt3c2ietqKgoc0pLP1T+/sEqCGUEcor6jUBF3Uagom4jkFG/kRVv60e+zl7ucDhM4J49e7YsXrxYatSo4XZ9s2bNzBNZtGiRc5suKaZLhLVq1cpc1vPNmzfLsWPHnPvokSltsa5fv34ePhsAAAAAAPyopVu7lOvM5N9++61Zq9sagx0bGyuFChUy5/fff7/pCq6Tq2mQHjp0qAnaOoma0i7hGq7vueceGTt2rLmPZ555xty3p9ZsAAAAAACCInRPnTrVnLdt29Ztuy4L1q9fP/P3m2++KaGhodKzZ08z47jOTD5lyhTnvmFhYaZrus5WrmG8SJEi0rdvX3nxxRfz+NkAAAAAAOBHoVu7l2clOjpaJk+ebE4ZqVatmsyZM8fHpQMAAAAAIHfydUw3AAAAAACBjNANAAAAAIBNCN0AAAAAANiE0A0AAAAAgE0I3QAAAAAA2ITQDQAAAACATQjdAAAAAADYhNANAAAAAIBNCN0AAAAAANiE0A0AAAAAgE0I3QAAAAAA2ITQDQAAAACATQjdAAAAAADYhNANAAAAAIBNCN0AAAAAANiE0A0AAAAAgE0I3QAAAAAA2ITQDQAAAACATQjdAAAAAADYhNANAAAAAIBNCN0AAAAAANiE0A0AAAAAgE0I3QAAAAAA2ITQDQAAAACATQjdAAAAAADYJDw7O585c0Zmz54tP//8s/z1118SFxcnZcqUkaZNm0rnzp3lmmuusaucAAAAAAAEZkv3oUOH5IEHHpAKFSrIyy+/LPHx8dKkSRNp3769VK5cWZYsWSIdO3aU+vXry6xZs+wvNQAAAAAAgdLSrS3Zffv2lfXr15tg7YkG8W+++UYmTpwof//9t4wYMcLXZQUAAAAAIPBC97Zt26RUqVKZ7lOoUCHp3bu3OZ08edJX5QMAAAAAILC7l2cVuHO7PwAAAAAAgSjbs5fPmDFDfvzxR+flJ554QooXL24mUdPJ1QAAAAAAQA5D96uvvmq6kqvVq1fL5MmTZezYsVK6dGkZNmxYdu8OAAAAAICAla0lw5ROkla7dm3zt06c1rNnTxkwYIC0bt1a2rZta0cZAQAAAAAIjpbumJgY50Rp8+fPN0uFqejoaDODOQAAAAAAyGFLt4ZsXbNblxH7448/5KabbjLbt27dKtWrV8/u3QEAAAAAELCy3dKtY7hbtWolx48fl6+++so5U7mu4a3LhQEAAAAAgBy2dOtM5e+880667aNHj87uXQEAAAAAENCyHbpVQkKCbNq0SY4dOyapqanO7SEhIdKtWzdflg8AAAAAgOAJ3XPnzpV77rnHOZmaKw3dKSkpviobAAAAAADBNaZ76NChcuedd8rhw4dNK7fricANAAAAAEAuQvfRo0dl+PDhUq5cuezeFAAAAACAoJLt0H377bfL0qVL7SkNAAAAAADBPKZbZy6/44475Oeff5aGDRtKRESE2/UPP/ywL8sHAAAAAEDwhO5PP/1U5s+fL9HR0abFWydPs+jfhG4AAAAAAHIYup9++mmzJvfIkSMlNDTbvdMBAAAAAAga2U7NiYmJ0qtXLwI3AAAAAABZyHZy7tu3r8yaNSu7NwMAAAAAIOhku3u5rsU9duxYmTdvnjRq1CjdRGoTJkzwZfkAAAAAAAie0L1582Zp2rSp+XvLli1u17lOqgYAAAAAQLDLduhesmSJPSUBAAAAACDAMBsaAAAAAAD5GboHDhwoBw4c8OoOdZK1Tz75JLflAgAAAAAgOLqXlylTRq644gpp3bq1dOvWTZo3by4VK1aU6OhoOX36tGzbtk1WrFghn332mdn+3nvv2V9yAAAAAAACIXS/9NJLMmTIEPnggw9kypQpJmS7Klq0qHTo0MGE7S5duthVVgAAAAAAAnMitXLlysnTTz9tTtq6vX//fomPj5fSpUtLrVq1mLkcAAAAAIDczl6uSpQoYU7IG8nJqbL+r1Pmbz1vXr2MhIczBx4AAAAABGToRt5ZtP2oTF+5Tw6dviAP1xF5evYWqVgiRvq1ri7tLy+X38UDAAAAAGSC0O3ngXvMTzvkfEKSlI+JMNtiosLlj2PnzXZF8AYAAAAA/0UfZT/uUq4t3Bq4q5YoJDHR/xwf0XO9rNtnrNpn9gMAAAAA+CdCt5/67e/Tsu/kRSlVJFJCQ93fJr2s2/eeuGj2AwAAAAAU8NB97NixTK9PTk6WX3/91RdlgoicvJgoSSmpUigyzOP1ul2v1/0AAAAAAAU8dFeoUMEteDds2FD+/vtv5+WTJ09Kq1atfF/CIKUt2RFhoRKfmOLxet2u1+t+AAAAAIACHrodDofb5X379klSUlKm+yDnrqxSQqqXKmJaslNT3cdt62XdXqN0EbMfAAAAACAIxnSHhIT48u6Cmq7DrcuCFY2OkP2n4+VCQrLZrud6uVh0hPS9pjrrdQMAAACAH2PJMD9mLQdmrdOtLlxKlrrliprAzXJhAAAAABAgoVtbsc+fPy/R0dGmG7levnDhgpw7d85cb53DtzRYX39ZGVm377gc3fqLvHJbA2levQwt3AAAAAAQSKFbg3adOnXcLjdt2tTtMt3L7aEBu1m1kjJnq5hzAjcAAAAABFjoXrJkib0lAQAAAAAgWEP39ddfb29JAAAAAAAI1tDt7ZjtYsWK5aY8AAAAAAAEX+guXrx4pmO2rTHdKSkpviobAAAAAAAFWr6O6V6+fLmMGzdO1q9fL4cPH5bZs2fLrbfe6ry+X79+MmPGDLfbdO7cWebOneu8fOrUKRk6dKh8//33EhoaKj179pS33npLYmJifF5eAAAAAAAKzJjuixcvSuPGjeW+++6THj16eNynS5cuMm3aNOflqKgot+v79OljAvuCBQskKSlJ+vfvLwMGDJCZM2f6vLwAAAAAANgSurPy22+/yXPPPSc//PCD17e58cYbzSkzGrLLly/v8brt27ebVu+1a9dK8+bNzbZJkybJTTfdJOPHj5eKFStm81kAAAAAAOA72Vrwed68eTJixAh56qmn5M8//zTbduzYYbqEt2jRQlJTU8XXli5dKmXLlpW6devKoEGD5OTJk87rVq9ebcaaW4FbdejQwXQzX7Nmjc/LAgAAAACALS3dH374oTz44INSsmRJOX36tHzwwQcyYcIEM566V69esmXLFrn88st9WjjtWq7dzmvUqCF79uwxYV9bxjVsh4WFyZEjR0wgd3tC4eGmjHpdRi5dumROaWdm1+7pevJHVrn8tXxAblC/Eaio2whU1G0EMuo3vOVtHfE6dOvkZK+//ro8/vjj8tVXX8kdd9whU6ZMkc2bN0vlypXFDnfddZfz74YNG0qjRo2kVq1apvW7ffv2Ob7fMWPGyOjRo9Ntnz9/vhQuXFj8mY5dBwIV9RuBirqNQEXdRiCjfiMrcXFx4tPQrS3NGrSVtj5ri7LOPG5X4PakZs2aUrp0adm9e7cJ3TrW+9ixY277JCcnmxnNMxoHrkaNGiXDhw93a+muUqWKdOrUyW/XGdejKPrB79ixo0REROR3cQCfon4jUFG3Eaio2whk1G94y+ox7bPQHR8f72wF1vW4dYKzChUqSF46cOCAGdNtPW6rVq3kzJkzZsmxZs2amW2LFy82Y8tbtmyZ4f1o2dPOgq70Q+XvH6yCUEYgp6jfCFTUbQQq6jYCGfUbWfG2fmRr9nIdx22tf60tytOnTzctz64efvhhr+/vwoULptXasnfvXtm4caMZk60n7QKu625rq7W2tD/xxBNSu3Zts1a30jHkOu5bx5q/++675qjUkCFDTLd0Zi4HAAAAAOQ3r0N31apV5f3333de1iD88ccfu+2jLeDZCd3r1q2Tdu3aOS9bXb779u0rU6dOlU2bNsmMGTNMa7aGaO3+/dJLL7m1Un/yyScmaGt3c521XEP622+/7XUZAAAAAADI99C9b98+nz9427ZtxeFwZLpEWVa0RXzmzJk+LhkAAAAAAHm8TjcAAAAAALChpdt1tm9XsbGxUqdOHTOjuafJyQAAAAAACFZeh+4NGzZ43K7jrXUytGeffdbMHK5jvwEAAAAAQDZC95IlSzJdn6xPnz4ycuRIxlcDAAAAAODLMd3FihUzLd0rV670xd0BAAAAABAQfDaRmq7XferUKV/dHQAAAAAABZ7PQvcvv/witWrV8tXdAQAAAAAQPGO6N23a5HH72bNnZf369fLqq6/K888/78uyAQAAAAAQHKG7SZMmEhISIg6Hw2PXcl1S7KGHHvJ1+QAAAAAACPzQvXfv3gwnUStRooQvywQAAAAAQHCF7mrVqtlbEgAAAAAAgnUiNR233a5dO7Mmt6dx3Xrd77//7uvyAQAAAAAQ+KH7jTfekBtuuMF0J08rNjZWOnbsKOPGjfN1+QAAAAAACPzQvWbNGunevXuG13fr1k1WrVrlq3IBAAAAABA8ofvgwYNStGjRDK+PiYmRw4cP+6pcAAAAAAAET+guU6aM7Ny5M8Prd+zYYZYOAwAAAAAA2QzdHTp0kFdeecXjdbp2t16n+wAAAAAAgGwuGfbMM89Is2bNpGXLlvLYY49J3bp1nS3cOsnaH3/8IdOnT/f27gAAAAAACHheh+5atWrJwoULpV+/fnLXXXdJSEiIs5W7fv36smDBAqldu7adZQUAAAAAIDBDt2revLls2bJFNm7cKLt27TKBu06dOtKkSRP7SggAAAAAQDCEbouGbII2AAAAAAA+mkgNAAAAAABkD6EbAAAAAACbELoBAAAAAPCH0J2cnCwvvviiHDhwwK7yAAAAAAAQnKE7PDxcxo0bZ8I3AAAAAADwcffyG264QZYtW5bdmwEAAAAAEHSyvWTYjTfeKCNHjpTNmzdLs2bNpEiRIm7X33LLLb4sHwAAAAAAwRO6H3roIXM+YcKEdNeFhIRISkqKb0oGAAAAAECwhe7U1FR7SgIAAAAAQIDJ1ZJhCQkJvisJAAAAAADBHrq1+/hLL70klSpVkpiYGPnzzz/N9meffVY+/PBDO8oIAAAAAEBwhO5XXnlFpk+fLmPHjpXIyEjn9gYNGsgHH3zg6/IBAAAAABA8ofujjz6S9957T/r06SNhYWHO7Y0bN5YdO3b4unwAAAAAAARP6D548KDUrl3b4wRrSUlJvioXAAAAAADBF7rr168vP//8c7rtX375pTRt2tRX5QIAAAAAIPiWDHvuueekb9++psVbW7e//vpr2blzp+l2/sMPP9hTSgAAAAAAgqGlu3v37vL999/LwoULpUiRIiaEb9++3Wzr2LGjPaUEAAAAACAYWrrVddddJwsWLPB9aQAAAAAACPbQrdatW2dauK1x3s2aNfNluQAAAAAACL7QfeDAAendu7esXLlSihcvbradOXNGrrnmGvnss8+kcuXKdpQTAAAAAIDAH9P9wAMPmKXBtJX71KlT5qR/66Rqeh0AAAAAAMhhS/eyZctk1apVUrduXec2/XvSpElmrDcAAAAAAMhhS3eVKlVMS3daKSkpUrFixezeHQAAAAAAASvboXvcuHEydOhQM5GaRf9+5JFHZPz48b4uHwAAAAAAwdO9vF+/fhIXFyctW7aU8PB/bp6cnGz+vu+++8zJouO9AQAAAAAIVtkO3RMnTrSnJAAAAAAABHvo7tu3rz0lAQAAAAAg2Md0AwAAAAAA7xC6AQAAAACwCaEbAAAAAACbELoBAAAAAPC30L17926ZN2+exMfHm8sOh8OX5QIAAAAAIPhC98mTJ6VDhw5Sp04duemmm+Tw4cNm+/333y+PPfaYHWUEAAAAACA4QvewYcMkPDxc9u/fL4ULF3Zu79Wrl8ydO9fX5QMAAAAAIHjW6Z4/f77pVl65cmW37Zdddpn89ddfviwbAAAAAADB1dJ98eJFtxZuy6lTpyQqKspX5QIAAAAAIPhC93XXXScfffSR83JISIikpqbK2LFjpV27dr4uHwAAAAAAwdO9XMN1+/btZd26dZKYmChPPPGEbN261bR0r1y50p5SAgAAAAAQDC3dDRo0kD/++EOuvfZa6d69u+lu3qNHD9mwYYPUqlXLnlICAAAAABAMLd0qNjZWnn76ad+XBgAAAACAYA/dCQkJsmnTJjl27JgZz+3qlltu8VXZAAAAAAAIrtCta3Hfe++9cuLEiXTX6aRqKSkpviobAAAAAADBNaZ76NChcscdd8jhw4dNK7fricANAAAAAEAuQvfRo0dl+PDhUq5cuezeFAAAAACAoJLt0H377bfL0qVL7SkNAAAAAADBPKb7nXfeMd3Lf/75Z2nYsKFERES4Xf/www/7snwAAAAAAARP6P70009l/vz5Eh0dbVq8dfI0i/5N6AYAAAAAIIehW9fnHj16tIwcOVJCQ7PdOx0AAAAAgKCR7dScmJgovXr1InADAAAAAJCFbCfnvn37yqxZs7J7MwAAAAAAgk62u5frWtxjx46VefPmSaNGjdJNpDZhwgRflg8AAAAAgOBp6d68ebM0bdrUdC/fsmWLbNiwwXnauHFjtu5r+fLl0q1bN6lYsaKZhO2bb75xu97hcMhzzz0nFSpUkEKFCkmHDh1k165dbvucOnVK+vTpI8WKFZPixYvL/fffLxcuXMju0wIAAAAAIP9bupcsWeKzB7948aI0btxY7rvvPunRo0e667VF/e2335YZM2ZIjRo15Nlnn5XOnTvLtm3bzOzpSgP34cOHZcGCBZKUlCT9+/eXAQMGyMyZM31WTgAAAAAA8iR0+9KNN95oTp5oK/fEiRPlmWeeke7du5ttH330kZQrV860iN91112yfft2mTt3rqxdu1aaN29u9pk0aZLcdNNNMn78eNOCDgAAAACAX4dubYWePn266cLtqUXa1ddff+2Tgu3du1eOHDliupRbYmNjpWXLlrJ69WoTuvVcu5RbgVvp/tr1fc2aNXLbbbf5pCwAAAAAANgWujXs6phr6++8oIFbacu2K71sXafnZcuWdbs+PDxcSpYs6dzHk0uXLpmT5dy5c+Zcu6fryR9Z5fLX8gG5Qf1GoKJuI1BRtxHIqN/wlrd1xKvQPW3aNHnxxRdlxIgR5u+CbsyYMTJ69Oh02+fPny+FCxcWf6Zj14FARf1GoKJuI1BRtxHIqN/ISlxcnPh0TLeG1IEDB+ZZKC1fvrw5P3r0qJm93KKXmzRp4tzn2LFjbrdLTk42M5pbt/dk1KhRMnz4cLeW7ipVqkinTp1MF3p/PYqiH/yOHTumW6YNKOio3whU1G0EKuo2Ahn1G96yekz7LHTrxGZ5SWcr1+C8aNEiZ8jWJ6VjtQcNGmQut2rVSs6cOSPr16+XZs2amW2LFy+W1NRUM/Y7I1FRUeaUln6o/P2DVRDKCOQU9RuBirqNQEXdRiCjfiMr3taPbM1ebo3r9hVdT3v37t1uk6fpWt86Jrtq1ary6KOPyssvvyyXXXaZc8kwnZH81ltvNftffvnl0qVLF3nwwQfl3XffNUelhgwZYiZZY+ZyAAAAAEB+y1borlOnTpbBW7t2e2vdunXSrl0752Wry3ffvn3NbOlPPPGEWctb193WFu1rr73WLBFmrdGtPvnkExO027dvb2Yt79mzp1nbGwAAAACAAhW6dVy3L2cvb9u2babd1jXg6wRuesqItorPnDnTZ2UCAAAAACBfQrd22067RBcAAAAAAPAsVPJpPDcAAAAAAIEu1F9nLwcAAAAAIGi6l+syXAAAAAAAwIaWbgAAAAAAkD2EbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAgjF0v/DCCxISEuJ2qlevnvP6hIQEGTx4sJQqVUpiYmKkZ8+ecvTo0XwtMwAAAAAABSJ0qyuuuEIOHz7sPK1YscJ53bBhw+T777+XL774QpYtWyaHDh2SHj165Gt5AQAAAACwhIufCw8Pl/Lly6fbfvbsWfnwww9l5syZcsMNN5ht06ZNk8svv1x++eUXufrqq/OhtAAAAAAAFKDQvWvXLqlYsaJER0dLq1atZMyYMVK1alVZv369JCUlSYcOHZz7atdzvW716tWZhu5Lly6Zk+XcuXPmXO9PT/7IKpe/lg/IDeo3AhV1G4GKuo1ARv2Gt7ytI34dulu2bCnTp0+XunXrmq7lo0ePluuuu062bNkiR44ckcjISClevLjbbcqVK2euy4wGd72vtObPny+FCxcWf7ZgwYL8LgJgG+o3AhV1G4GKuo1ARv1GVuLi4sQbIQ6HwyEFxJkzZ6RatWoyYcIEKVSokPTv39+txVpdddVV0q5dO3n99dez1dJdpUoVOXHihBQrVkz89SiKfvA7duwoERER+V0cwKeo3whU1G0EKuo2Ahn1G97SHFm6dGkz9DmzHOnXLd1paat2nTp1ZPfu3eZDkJiYaIK4a2u3zl7uaQy4q6ioKHNKSz9U/v7BKghlBHKK+o1ARd1GoKJuI5BRv5EVb+uH389e7urChQuyZ88eqVChgjRr1sw8yUWLFjmv37lzp+zfv9+M/QYAAAAAIL/5dUv3iBEjpFu3bqZLuS4H9vzzz0tYWJj07t1bYmNj5f7775fhw4dLyZIlTXP+0KFDTeBm5nIAAAAAgD/w69B94MABE7BPnjwpZcqUkWuvvdYsB6Z/qzfffFNCQ0OlZ8+eZox2586dZcqUKfldbAAAAAAA/D90f/bZZ5ler8uITZ482ZwAAAAAAPA3BWpMNwAAAAAABQmhGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhuwBITXXIwdPx5m8918sAAAAAAP8Xnt8FQOZ2Hzsv87YclX3Hz8m10SKTl+yW6mWKSecG5aR22aL5XTwAAAAAQCZo6fbzwD1t5T7ZcuisxBaKMNv0XC/rdr0eAAAAAOC/CN1+SruQawv3qYuJclnZGImJ/qdTgp7rZd0+f+tRupoDAAAAgB8jdPupg2fiZc/xC1IhNlpCQkLcrtPLun33sQtmPwAAAACAfyJ0+6mLicmSkJwihSPDxeFwyPn4ZLNdz/VyocgwuZScYvYDAAAAAPgnJlLzU0UiwyU6PEwOnYmTw2cS5PTFBGlUS2TlnhNSoki0VCgeLVHhYWY/AAAAAIB/IrH5qUrFC0nxwhEyZ/NhuZScKlGh/4zdPhOXKEcvJMnekxflpoYVzH4AAAAAAP9E6PZjZy4myvmEf7qPF4r+ZyRAaGiIJCamSmJyqpyNS8znEgIAAAAAMsOYbj/19+k42XH0glkirHihCHH83yTleq4t4Lp9+5ELZj8AAAAAgH+ipdtP7T1xUc7EJ0qZolESGRYiF+K1VTveBPCYQpFyKcUhJy9cMvtVK1Ukv4sLAAAAAPCA0O3HQhwiZ+MT5eSFRElJSRapJfLXqYsSFnZJSsVE5nfxAAAAAABZoHu5n6pZuogZv/3XyXg5fylFUv6ve7me62XdHhoSYvYDAAAAAPgnQrefKl80Ws7FJcr/Ze10dPu5+ESzHwAAAADAPxG6/dTa/afk7KWUTPc5m5Bi9gMAAAAA+CdCt59asPWwT/cDAAAAAOQ9Qref2vj3GZ/uBwAAAADIe4RuP7Xn6Hmf7gcAAAAAyHuEbj91Psm3+wEAAAAA8h6hGwAAAAAAmxC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhGwAAAAAAmxC6AQAAAACwSbhddwzfqXN8n/w4/REJCw2RLo4QcYSEiENCJFXPQ0JEpoSLhIaK6N96yujvzK6z6/YF5TEpZ/6WOTlZQhMTRS5dEnE40t9eTwCCWmqqQw6eiZeLiclSJDJcKhUvJKGhfDcA8K2EhGSZtW6fFBeRmWv2Sa/mNSQ6msiUl1ID8Ps+YGrQ5MmTZdy4cXLkyBFp3LixTJo0Sa666ioJBKEOh0SkpoikikR52iEx78sE+FKEiHTLaqdAOLhQUMvJY+b8NsnJEnXqlMjRoyKRkb55zCC0+9h5mbflqOw5fkESklMkOjxMapWJkc4NykntskXzu3gAAsQb83fKR6v+kqTkRBnTQuT1uTtlwsK9cu811eSxTnXzu3hBYXeAft8HROieNWuWDB8+XN59911p2bKlTJw4UTp37iw7d+6UsmXLSkF3KTxStpSvJZULO+TQRZGQ1FSzPcThMIG8Ttki/7QO6nY9z+hv122Z7eft39ZlIC9Q51BADyh18fWduob0gnxAwsu/LySmSOKpeLkm1SHtIsMlLDRUkkUkPilVLkaEyfmyRaVooUj/f56eLvvbASZP+3i6Tk/JyVL0779Fduz4/weU8qPeAT4M3O8u2yPJqQ4pGv5P3QoPCZFzl5LMdkXwtj9wT1u5T05dTJQKsdFSOLKQxCUmy5ZDZ+XQ2Xjp37p6gQ3eIQ6H/oot2DRot2jRQt555x1zOTU1VapUqSJDhw6VkSNHZnn7c+fOSWxsrJw9e1aKFSsm/qD6yB/dLkeFOWTsVSnyxK9hcinF/R+Zfa91lXyXF+He17fPbTnz6nlmtk9Oypnb19aGx9HP7MkTJ6RUiRL/TDSRX+X0xWMCAPJWgBxgCvjH9ONyXkp2yMCZG+RiUrJEhodJZFiI9KuTLP/dFSkJqSLxqSJFIiNkWv+rJCo6wj+fZwE/CJWa6pCpS/eYgH1Z2RgJcXk+Gld3HbsgDSvFysDra/lVV3Nvc2SBb+lOTEyU9evXy6hRo5zbQkNDpUOHDrJ69ep8LVtQ0Q9GWFh+lwIFVEpSkqyaM0duuukmCY3QtsECzFcHCnJ7cMDXB1tyW86c3D635czrA3keLqcmJ8vRI0ekXNmy//+AkrfvWX7UG1++HkBeoQcUckmHb07zsL1N2g3vi3/zwwMa3t4mMVWk8+l4uSksVMLCw8z8Vbr9XLlKsnDYS6ble/exC2asd5WShaWgKfCh+8SJE5KSkiLlypVz266Xd2iXJw8uXbpkTq5HKFRSUpI5+QNt2Xa7HOpwO3flL2UGcsqqwwFZl13/YUHQ0Tr964IF0rFjR4ko6AeUssvbAwiZHITYc+y8fLRqr1QrUVi0YcMMr3LoTzGHhKQ6JCU1RQ6djpe7m1eW6qUKe/c4/1e2EF8dXMhNryfl4fbZLltuDsRZ75UXvaZ0WJvzgFJKihw6cEAqVqggofodl5Ny5uYAU5q/Q7JzIM/b55yT19PDdeZ1A/JC2npegESLSG0P209Uqy0hjhQpEiFyIjlJzsUlSFJR//n31NvfrgU+dOfEmDFjZPTo0em2z58/XwoX9o8jJ2MzmAPupebpP0Rz5syxv0BAHliwYEF+FwGwBXU751pWznzG0LIlQmTbqYOy7ZTkjyA/oLYhvwtQULgG8DR/m46yelAju/tlcJu0+3m6r3T7Z3Sd67acltOb+0uzv/J4m7TbdD/XA0LW7TIq5//tn637z0Y5XPd3PeDiPGDo4X5db+vpvjN8XE/7W9syur+MHivNtnT7eKojmTxWRvUhJAcHAyIdiVIj/g/zd+0Ykd3rD8lu8R9xcXHBEbpLly4tYWFhclRnhnWhl8uXL+/xNtoVXSdec23p1jHgnTp18psx3Q1emOd2WVu4NXA/uy5ULqW6j2PY8kLnPC4d4PujhAuCtTUQAY26nfsxfh+u2CvbDp+TWmWKpBvjt+f4RbmiYjG5r3UNvxrjFwyo2wgkly4lyw0Tlsu5xCQpHBYi0eEh8mSjJHl9U4QkJDskLsUhsVERsmhYG4mKKvDxyTaufToy7N/h8NxDJDUlVaav3Cs7D52VmqULSYj+53CY5ZETowv77fe91WM6KwW+1kRGRkqzZs1k0aJFcuutt5ptOimTXh4yZIjH20RFRZlTWvqPhr/8w/H0bVXkuS8PpNuugdt1IrUXb6/sN2UGcsufPoOAL1G3c65Tw4py8Fyi/HE83ozpKxQZJvGJKXL4bIKULBItHRtUlKioyPwuZtCibiMQaB3udXV1M0v56USHFE39JzJeSHTI+WSRiNBQubNldYmJKZTfRQ1o7ZvXlP0r98nWC4nu3/fH4/32+97b77+A6BOlrdbvv/++zJgxQ7Zv3y6DBg2SixcvSv/+/aWgurd5Y5/uBwBAQaTLw+gyMQ0qxsqZuCTZd+KiOddZbAvy8jEA/IsuB6YzYxeLipDk/+tSreex0RHy7+trsVxYHqgdwN/3Bb6lW/Xq1UuOHz8uzz33nBw5ckSaNGkic+fOTTe5WkGjS4GlXTos7fUAAAQ6/aFVs22MmbX2YmKyFIkMl0rFC/lVF0MABZ8G68FtasmsdXtFTm6TJ7vUlV7Na0h0dEBEpgKhdoB+3wdMDdKu5Bl1Jy/INFh/tO53eWX2325dymnhBgAEE/3BVRCXiQFQsGjAvrtldZkzZ5s5j4gImLhUYIQG4Pc9tagA0IDdu3F9M0u5TprG2CkAAAAAKBgCYkw3AAAAAAD+iNANAAAAAIBNCN0AAAAAANiE0A0AAAAAgE0I3QAAAAAA2ITQDQAAAACATQjdAAAAAADYhNANAAAAAIBNCN0AAAAAANiE0A0AAAAAgE0I3QAAAAAA2ITQDQAAAACATQjdAAAAAADYhNANAAAAAIBNCN0AAAAAANgk3K47LkgcDoc5P3funPirpKQkiYuLM2WMiIjI7+IAPkX9RqCibiNQUbcRyKjf8JaVH608mRFCt4icP3/enFepUiW/iwIAAAAAKGB5MjY2NsPrQxxZxfIgkJqaKocOHZKiRYtKSEiI+OtRFD0o8Pfff0uxYsXyuziAT1G/Eaio2whU1G0EMuo3vKVRWgN3xYoVJTQ045HbtHTrwPbQUKlcubIUBPrB58OPQEX9RqCibiNQUbcRyKjf8EZmLdwWJlIDAAAAAMAmhG4AAAAAAGxC6C4goqKi5PnnnzfnQKChfiNQUbcRqKjbCGTUb/gaE6kBAAAAAGATWroBAAAAALAJoRsAAAAAAJsQugEAAAAAsAmhu4CYPHmyVK9eXaKjo6Vly5by66+/5neRAKcXXnhBQkJC3E716tVzXp+QkCCDBw+WUqVKSUxMjPTs2VOOHj3qdh/79++Xrl27SuHChaVs2bLy+OOPS3Jysts+S5culSuvvNJMbFK7dm2ZPn16nj1HBI/ly5dLt27dpGLFiqYuf/PNN27X61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Scatter plot\n", + "plt.figure(figsize=(10,6))\n", + "plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\n", + "\n", + "# Fit a linear regression line\n", + "m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\n", + "x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\n", + "plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\n", + "\n", + "# Labels and title\n", + "plt.xlabel(\"Number of CURIEs\")\n", + "plt.ylabel(\"Time per CURIE (ms)\")\n", + "plt.title(\"Time per CURIE vs. CURIE Count with Regression Line\")\n", + "plt.legend()\n", + "plt.grid(True)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, { "cell_type": "code", "execution_count": 32, From 5c3aed34e494fe1a4c8898c24f5344a98f596f14 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 3 Jul 2025 11:07:31 -0400 Subject: [PATCH 03/12] Added README. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git c/log-analysis/NodeNorm_log_analysis.ipynb i/log-analysis/NodeNorm_log_analysis.ipynb index a59421e..a84f196 100644 --- c/log-analysis/NodeNorm_log_analysis.ipynb +++ i/log-analysis/NodeNorm_log_analysis.ipynb @@ -1,532 +1,614 @@ { "cells": [ { - "cell_type": "markdown", - "id": "ba1f42e6-f208-4511-8117-4d92d392bd84", "metadata": {}, + "cell_type": "raw", "source": [ - "# NodeNorm Log Analysis\n", - "\n", - "As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\n", - "\n", - "```\n", - "2025-06-18T03:26:30-04:00\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\n", - "```\n", - "\n", - "This Jupyter Notebook is intended to be used in analysing these logs." - ] - }, - { - "cell_type": "markdown", - "id": "bc4248bb-1c4a-446e-95a3-54acc13e01de", - "metadata": {}, - "source": [ - "## Install prerequisites" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "721be6fa-7f14-4979-bffb-5a32cb316444", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\n", - "Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\n", - "Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\n", - "Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\n", - "Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\n", - "Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\n", - "Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\n", - "Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n", - "Note: you may need to restart the kernel to use updated packages.\n" - ] - } + "{\n", + " \"cells\": [\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"ba1f42e6-f208-4511-8117-4d92d392bd84\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"# NodeNorm Log Analysis\\n\",\n", + " \"\\n\",\n", + " \"As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\\n\",\n", + " \"\\n\",\n", + " \"```\\n\",\n", + " \"2025-06-18T03:26:30-04:00\\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\\n\",\n", + " \"```\\n\",\n", + " \"\\n\",\n", + " \"This Jupyter Notebook is intended to be used in analysing these logs.\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"bc4248bb-1c4a-446e-95a3-54acc13e01de\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"## Install prerequisites\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 14,\n", + " \"id\": \"721be6fa-7f14-4979-bffb-5a32cb316444\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"name\": \"stdout\",\n", + " \"output_type\": \"stream\",\n", + " \"text\": [\n", + " \"Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\n\",\n", + " \"Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\\n\",\n", + " \"Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\n\",\n", + " \"Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\n\",\n", + " \"Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\n\",\n", + " \"Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\n\",\n", + " \"Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\n\",\n", + " \"Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\n\",\n", + " \"Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\n\",\n", + " \"Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\n\",\n", + " \"Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\\n\",\n", + " \"Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\\n\",\n", + " \"Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\n\",\n", + " \"Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\\n\",\n", + " \"Note: you may need to restart the kernel to use updated packages.\\n\"\n", + " ]\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"%pip install pandas matplotlib numpy\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"3a6bab9f-897e-4c96-84c8-3e402676e753\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"## Loading files\\n\",\n", + " \"\\n\",\n", + " \"These files can be checked into the repository into the `logs/` subdirectory.\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 3,\n", + " \"id\": \"c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea\",\n", + " \"metadata\": {},\n", + " \"outputs\": [],\n", + " \"source\": [\n", + " \"logfile = \\\"logs/nodenorm-renci-logs-2025jun18.txt\\\"\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"67ca8f70-adaa-4883-ac51-1c0ec235bd13\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"We can use Python dataclasses to load the important information from the logfile.\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 4,\n", + " \"id\": \"42805620-22f8-4469-845a-a5fd40ae7a3d\",\n", + " \"metadata\": {\n", + " \"scrolled\": true\n", + " },\n", + " \"outputs\": [],\n", + " \"source\": [\n", + " \"from dataclasses import dataclass, field\\n\",\n", + " \"from datetime import datetime\\n\",\n", + " \"import logging\\n\",\n", + " \"import re\\n\",\n", + " \"import ast\\n\",\n", + " \"\\n\",\n", + " \"logging.basicConfig(level=logging.INFO)\\n\",\n", + " \"\\n\",\n", + " \"@dataclass\\n\",\n", + " \"class LogEntry:\\n\",\n", + " \" time: datetime\\n\",\n", + " \" curies: list[str]\\n\",\n", + " \" curie_count: int\\n\",\n", + " \" time_taken_ms: float\\n\",\n", + " \" time_taken_per_curie_ms: float\\n\",\n", + " \" arguments: dict[str, str]\\n\",\n", + " \" node: str = \\\"\\\"\\n\",\n", + " \"\\n\",\n", + " \"def convert_log_line_into_entry(line: str) -> LogEntry: \\n\",\n", + " \" # Depending on where the log file comes from, it might start with one of two types of timestamps:\\n\",\n", + " \" # - ISO 8601 date (e.g. \\\"2007-04-05T12:30−02:00\\\"), which will be separated from the rest of the log line with a tab character.\\n\",\n", + " \" # - Python log format date (e.g. \\\"2025-06-12 13:01:49,319\\\"), which should always be in UTC.\\n\",\n", + " \"\\n\",\n", + " \" # Entry variables.\\n\",\n", + " \" log_time = None\\n\",\n", + " \" curies = []\\n\",\n", + " \" curie_count = -1\\n\",\n", + " \" time_taken_ms = -1.0\\n\",\n", + " \" arguments = {}\\n\",\n", + " \"\\n\",\n", + " \" # Parse the datetime stamp.\\n\",\n", + " \" iso8601date_match = re.match(r'^(\\\\d{4}-\\\\d{2}-\\\\d{2}(?:[T ]\\\\d{2}:\\\\d{2}(?::\\\\d{2}(?:\\\\.\\\\d+)?(?:Z|[+-]\\\\d{2}:\\\\d{2})?)?)?)\\\\t', line)\\n\",\n", + " \" if iso8601date_match:\\n\",\n", + " \" log_time = datetime.fromisoformat(iso8601date_match.group(1))\\n\",\n", + " \" else:\\n\",\n", + " \" # TODO raise exception\\n\",\n", + " \" logging.error(f\\\"Could not identify the datetime for the line: {line}\\\")\\n\",\n", + " \"\\n\",\n", + " \" # Parse the log text.\\n\",\n", + " \" log_text_match = re.search(r'\\\\| INFO \\\\| normalizer:get_normalized_nodes \\\\| Normalized (\\\\d+) nodes in ([\\\\d\\\\.]+) ms with arguments \\\\((.*)\\\\)', line)\\n\",\n", + " \" if not log_text_match:\\n\",\n", + " \" raise ValueError(f\\\"Could not find NodeNorm log-line: {line}\\\")\\n\",\n", + " \" curie_count = int(log_text_match.group(1))\\n\",\n", + " \" time_taken_ms = float(log_text_match.group(2))\\n\",\n", + " \" argument_text = log_text_match.group(3)\\n\",\n", + " \"\\n\",\n", + " \" # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\\n\",\n", + " \" argument_fn_call = f'arguments({argument_text})'\\n\",\n", + " \" tree = ast.parse(argument_fn_call, mode=\\\"eval\\\")\\n\",\n", + " \" call_node = tree.body\\n\",\n", + " \" for kw in call_node.keywords:\\n\",\n", + " \" arguments[kw.arg] = ast.literal_eval(kw.value)\\n\",\n", + " \"\\n\",\n", + " \" # Some assertions.\\n\",\n", + " \" if 'curies' not in arguments:\\n\",\n", + " \" raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\\n\",\n", + " \" curies = arguments['curies']\\n\",\n", + " \" if len(curies) != curie_count:\\n\",\n", + " \" raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\\n\",\n", + " \" if len(curies) < 1:\\n\",\n", + " \" raise ValueError(f'Found no CURIEs in line: {line}')\\n\",\n", + " \" \\n\",\n", + " \" # Emit the LogEntry.\\n\",\n", + " \" return LogEntry(\\n\",\n", + " \" time=log_time,\\n\",\n", + " \" curies=curies,\\n\",\n", + " \" curie_count=curie_count,\\n\",\n", + " \" time_taken_ms=time_taken_ms,\\n\",\n", + " \" time_taken_per_curie_ms=time_taken_ms/curie_count,\\n\",\n", + " \" arguments=arguments\\n\",\n", + " \" )\\n\",\n", + " \"\\n\",\n", + " \"logs = []\\n\",\n", + " \"with open(logfile, 'r') as logf:\\n\",\n", + " \" for line in logf:\\n\",\n", + " \" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\n\",\n", + " \" if \\\"normalizer:get_normalized_nodes\\\" not in line:\\n\",\n", + " \" continue\\n\",\n", + " \" \\n\",\n", + " \" logs.append(convert_log_line_into_entry(line))\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 5,\n", + " \"id\": \"227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"text/plain\": [\n", + " \"[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]\"\n", + " ]\n", + " },\n", + " \"execution_count\": 5,\n", + " \"metadata\": {},\n", + " \"output_type\": \"execute_result\"\n", + " }\n", + " ],\n", + " \"execution_count\": 50\n", + " },\n", + " {\n", + " \"metadata\": {},\n", + " \"cell_type\": \"markdown\",\n", + " \"source\": \"# Some overall measures\",\n", + " \"id\": \"a13af441dd8d87d\"\n", + " },\n", + " {\n", + " \"metadata\": {},\n", + " \"cell_type\": \"markdown\",\n", + " \"source\": \"\",\n", + " \"id\": \"2ee4b13bab99da17\"\n", + " },\n", + " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T14:54:04.252739Z\",\n", + " \"start_time\": \"2025-07-03T14:54:04.246303Z\"\n", + " }\n", + " },\n", + " \"cell_type\": \"code\",\n", + " \"source\": [\n", + " \"times = sorted(list(set(map(lambda x: x.time, logs))))\\n\",\n", + " \"count_requests = len(logs)\\n\",\n", + " \"\\n\",\n", + " \"print(f\\\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\\\")\\n\",\n", + " \"print(f\\\"Total number of requests: {count_requests}\\\")\\n\",\n", + " \"print(f\\\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\\\")\\n\",\n", + " \"print(f\\\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\\\")\\n\",\n", + " \"print(f\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_per_curie_ms, logs))/count_requests} ms\\\")\\n\",\n", + " \"print(f\\\"Average throughput: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec\\\")\\n\",\n", + " \"#print(f\\\"Average throughput per CURIE: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec per CURIE\\\")\\n\",\n", + " \"#print(f\\\"Total number of unique CURIEs: {len(set(sum(map(lambda x: x.curies, logs), [])))}\\\")\"\n", + " ],\n", + " \"id\": \"702b88dac738feb0\",\n", + " \"outputs\": [\n", + " {\n", + " \"name\": \"stdout\",\n", + " \"output_type\": \"stream\",\n", + " \"text\": [\n", + " \"Time range: 2025-06-30 15:19:44.142000 to 2025-07-03 14:01:04.186000 (2 days, 22:41:20.044000)\\n\",\n", + " \"Total number of requests: 9992\\n\",\n", + " \"Total number of CURIEs: 1300164\\n\",\n", + " \"Total time taken: 4278872.9 ms\\n\",\n", + " \"Average time per CURIE: 5.692698317139622 ms\\n\",\n", + " \"Average throughput: 0.0023351943919624253 nodes/sec\\n\"\n", + " ]\n", + " }\n", + " ],\n", + " \"execution_count\": 55\n", + " \"logs[0:10]\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"dfc3b8e7-be80-44a2-b142-943c0c3c2dbb\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"## Visualizing the logs\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"9650b40f-4ddf-4157-84c3-cb8dd9466491\",\n", + " \"metadata\": {},\n", + " \"source\": []\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 15,\n", + " \"id\": \"7a52c4d7-21da-42f5-94cc-e5957ec9bcb6\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"text/html\": [\n", + " \"
\\n\",\n", + " \"\\n\",\n", + " \"\\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \"
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\\n\",\n", + " \"
\"\n", + " ],\n", + " \"text/plain\": [\n", + " \" time curies curie_count time_taken_ms \\\\\\n\",\n", + " \"0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \\n\",\n", + " \"1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \\n\",\n", + " \"2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \\n\",\n", + " \"3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \\n\",\n", + " \"4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \\n\",\n", + " \"\\n\",\n", + " \" time_taken_per_curie_ms arguments \\\\\\n\",\n", + " \"0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\n\",\n", + " \"1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \\n\",\n", + " \"2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \\n\",\n", + " \"3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\n\",\n", + " \"4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \\n\",\n", + " \"\\n\",\n", + " \" node throughput_cps \\n\",\n", + " \"0 476.190476 \\n\",\n", + " \"1 666.666667 \\n\",\n", + " \"2 311.526480 \\n\",\n", + " \"3 507.614213 \\n\",\n", + " \"4 469.483568 \"\n", + " ]\n", + " },\n", + " \"execution_count\": 15,\n", + " \"metadata\": {},\n", + " \"output_type\": \"execute_result\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"import pandas as pd\\n\",\n", + " \"import numpy as np\\n\",\n", + " \"import matplotlib.pyplot as plt\\n\",\n", + " \"from dataclasses import asdict\\n\",\n", + " \"\\n\",\n", + " \"# Assume `records` is your list of dataclass instances\\n\",\n", + " \"# Convert to DataFrame\\n\",\n", + " \"df = pd.DataFrame([asdict(r) for r in logs])\\n\",\n", + " \"df['time'] = pd.to_datetime(df['time'])\\n\",\n", + " \"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\\n\",\n", + " \"\\n\",\n", + " \"df.head()\\n\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 10,\n", + " \"id\": \"3f0f62a4-fe2f-4e9c-8236-6e93785e1588\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# Graph 1. CURIE count vs time taken.\\n\",\n", + " \"\\n\",\n", + " \"# —————————————————————\\n\",\n", + " \"# 2) Group by batch size\\n\",\n", + " \"# —————————————————————\\n\",\n", + " \"groups = [grp['time_taken_per_curie_ms'].values\\n\",\n", + " \" for _, grp in df.groupby('curie_count')]\\n\",\n", + " \"\\n\",\n", + " \"labels = [str(size) for size, _ in df.groupby('curie_count')]\\n\",\n", + " \"\\n\",\n", + " \"del groups[0]\\n\",\n", + " \"del labels[0]\\n\",\n", + " \"\\n\",\n", + " \"# —————————————————————\\n\",\n", + " \"# 3) Boxplot of per‑CURIE time by batch size\\n\",\n", + " \"# —————————————————————\\n\",\n", + " \"plt.figure(figsize=(10,6))\\n\",\n", + " \"plt.boxplot(groups, tick_labels=labels, showfliers=True)\\n\",\n", + " \"plt.xlabel(\\\"Number of CURIEs in Batch\\\")\\n\",\n", + " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", + " \"plt.title(\\\"Distribution of Time per CURIE by Batch Size\\\")\\n\",\n", + " \"plt.xticks(rotation=45)\\n\",\n", + " \"plt.tight_layout()\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 16,\n", + " \"id\": \"ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# Scatter plot\\n\",\n", + " \"plt.figure(figsize=(10,6))\\n\",\n", + " \"plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\\n\",\n", + " \"\\n\",\n", + " \"# Fit a linear regression line\\n\",\n", + " \"m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\\n\",\n", + " \"x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\\n\",\n", + " \"plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\\n\",\n", + " \"\\n\",\n", + " \"# Labels and title\\n\",\n", + " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", + " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", + " \"plt.title(\\\"Time per CURIE vs. CURIE Count with Regression Line\\\")\\n\",\n", + " \"plt.legend()\\n\",\n", + " \"plt.grid(True)\\n\",\n", + " \"plt.tight_layout()\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 32,\n", + " \"id\": \"2ca9ccd5-7f93-4f0c-b41f-19c7a863178e\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzOaRDcfPbZZyqAW7duneTIkUPVX924ccM5DQImFKcvXrxYXVR4xYoV0qNHD+fr0dHR0qJFCyldurSqxxo1apQMGTJEvvrqqzT/zERERBQiQw6kpY8++khlfSZPnux8rmzZsi5Zpk8//VTVWj322GPOy7lgtPLZs2dLhw4dZM+ePbJgwQLZsGGDypIBBuJ86KGH5OOPP1a1WT/++KPcvHlTvv32W8mSJYtUq1ZNtm7dKp988olLcEVERETpl6UzTX/88YcKdJ588kkpVKiQ1K5dW77++mvn6xEREXL69GnVJKfBZV5wnbw1a9aox7hHk5wWMAGmz5Ahg8pMadM0btxYBUwaZKv27dunsl1ERERElg6aDh06pHrt3X777bJw4UJ5+eWXVTH61KlT1esImEC7Dp4Gj7XXcI+ASy9TpkyqBks/jad56N/DXUxMjGrW09+IiIgodPkdNKH5CwGDOzRv4TUzJSQkSJ06dWTYsGEqy4SmshdeeEHVLwXb8OHDVVZLu6EZMRDSxyhNREREIRg0devWTV2k193ly5fVa2ZCj7iqVau6PFelShU5evSo+rtIkSLqPjIy0mUaPNZew/2ZM2dcXo+Li1M96vTTeJqH/j3c9e/fX60H7Xbs2LFUfloi8ld8gkMOnrkc7MUgonTC76AJxddhHkbNOn78uMq4mAk951BXpLd//37Vy00rCkdQs3TpUufraCZDrVL9+vXVY9xHRUW5jFK+bNkylcVC7ZM2DXrUxcbGOqdBT7tKlSq59NTTCw8PV0MY6G9ElLbKvzNPmn+yQmZs4EkLEVmo9xyaxxAs4dasWTNVF6SJj49XRdmtWrUydeEwaOa9996rmufat28v69evV8MAaEMBYFkwZhTGikLdE4KogQMHqh5xbdq0cWamsFxasx4Co1dffVX1rMN0gFHO33vvPTV+U79+/WTnzp0yduxYNRYVEVnf4j2R0v6uwDSRExH5HTRpQQi64qNnWc6cOZ2voddZmTJl1CCXZrrrrrtk1qxZqils6NChKijCEAMYd0nz1ltvqevhod4JGaWGDRuqIQYwSKUGQwogUEKwh15zWE6M7aRBhgyXf+nZs6fceeedUrBgQTVgJocbICIiIr+DpsGDB6t7BEdPPfWUS1ASSA8//LC6eYNsEwIq3LxBT7mffvrJ5/vUqFFDVq5cmaplJSIiotDl9+CWXbt2DcySEBEREYVS0ITmLU+F4Pr6JiIiIiJJ70HTb7/95hI0obB6y5YtasBJFFMTERERhSK/gyatIFzviSeeUNdrmz59uuqBRkRERNbg4DDJ1ruMyj333OMyXhIRERFRKDElaLp+/brqwl+8eHEzZkdERERk/+Y5jJCtr2nCCOG4hEr27Nnlhx9+MHv5iIiIiOwZNGFwSffedLfddpu6JIm3S44QERER2R3HaSIiIiIKRNAEFy9elG+++Ub27NmjHletWlW6deumRt4mIiIiCkV+F4KvWLFCXUoFhd8InnDD37guHF4jIiKi4PI+BDWlaaYJF7XFtee++OILyZgxo3MU8FdeeUW9tmPHjlQtEBEREVFIZJoOHjwob7zxhjNgAvzdt29f9RqZKy6eg5IRERHZMmiqU6eOs5ZJD8/VrFnTrOWiRFNWRwR7EYiIiCglzXOvv/669OrVS2WVMAo4rF27VsaPHy8jRoyQ7du3O6etUaOGuUubDm0+GhXsRSAiIqKUBE0dO3ZU92+99ZbH1zDwJQa8xD1qnSh1sC6JiIjIhkFTRASbi4iIiCj98TtoKl26dGCWhIiIiCjUBrc8cOCALF++XM6cOSMJCQkurw0aNMisZSMiIiKyb9D09ddfy8svvywFCxaUIkWKuFy8F38zaCIiIqJQ5HfQ9MEHH8iHH34o/fr1C8wSEREREYXCOE24bMqTTz4ZmKUhIiIiCpWgCQHTokWLArM0RERERHZunsMFeTUVKlSQgQMHqgEtq1evLpkzZ04y+CURERFRugyaxowZ4/I4Z86c8vfff6ubHgrBGTQRERFZB8dITuOgiQNaEpEdxSc4JGOG/3r4EhGlaU0TEZEdbD0WJdUGL5BvVvGkj4iCNORA3759PT6PprmsWbOqmqfHHntM8ufPb8byERGlSL9ftsuN2AR5f85u6d6wbLAXh4jSY9C0ZcsW2bx5s7oYb6VKldRz+/fvl4wZM0rlypVlwoQJ8sYbb8iqVaukatWqgVhmIiIiIus3zyGL1Lx5czl58qRs2rRJ3Y4fPy4PPPCAdOzYUU6cOCGNGzeWPn36BGaJiYiIiOwQNI0aNUref/99yZ07t/O5PHnyyJAhQ2TkyJGSPXt2dSkVBFNERERE6TZounTpkrpQr7uzZ89KdHS0+jtv3rxy8+ZNc5aQQs7NuAQ5EXU92ItBIeTclRgJtV5/xy5cS9H/TUhwyJHzV8XBfuZkcw6H9bblFDXPPffcczJr1izVLIcb/u7evbu0adNGTbN+/XqpWLFiIJaXQsDjE/6RBiOWycbDF4K9KBQithyNkotXQ+dErcd3G6XRyOUyd/spv//vu7N3yH2j/pKpqw8HZNmI0sroRfvVtvzJ4v1i26Dpyy+/lGbNmkmHDh2kdOnS6oa/8dzEiRPVNCgInzRpUiCWl0LArpO3MpK/bj4R7EWhELL71K3tKhQs3Xsrmz9p1SG//++09cfUvZUONJT20KPd7sYtP6juP192696WvecwGvjXX3+tRgk/dOjWD7pcuXLqeU2tWrXMXUoiIiIiuwVNGgRJNWrUMHdpiIiIiEIlaLr//vt9pv2WLVuW2mUiIiIisn/Q5N70FhsbK1u3bpWdO3dK165dzVw2Qu+BYC8AUQho98Vq+fXleyU9CYWalmCJjU+Q29+dr/4+PKJ1sBeH7Bw0oZbJE4zTdOXKFTOWidIJ7tMprWw6cjHYi0A2soE9eynQF+x9+umn5dtvvzVrdkRERMHBFD8FOmhas2aNumAvERGZg8lYIps3z7Vt29blMUbqPHXqlGzcuFEGDhxo5rJREMTFJ0jGDGGWqYfA9oXBYDNksMbyEJnxG8uU0bTzVTIB9zNklN+/XFxnTn/Lnz+/NGnSRObNmyeDBw/2d3aUjLQcPT4mLl4qvDtfyvaflybvF2ZgR/bkxDXS+vNV6tIQRHY3b8cp9Rur8/7igL+XRc570tzWY1F+TY/9TIev1sqDY1eqy9eQNZV5e67YMmiaPHmyy+2bb76RESNGSIsWLSTQ8D7IgPTu3dv53I0bN6Rnz55SoEABNXZUu3btJDIy0uX/HT16VFq3bq0uJlyoUCF58803JS4uzmWav/76S+rUqSPh4eFSoUIFmTJliqQ3ByKtVch/IzZBNh65KHtORcuxiym7DheRlfy47oi6vxBCl3yxmt82H/f7/6yLuCD7Ii/Lv2ettQ8k60lxjnjTpk3yww8/qNuWLVsk0DZs2KAu4eI+oGafPn3kzz//lJkzZ8rff/8tJ0+edGlCjI+PVwETLiC8evVqmTp1qgqIBg0a5JwmIiJCTYMxqDB8AoKy559/XhYuXBjwz0XeOXTVmBnS62kzERHZt6bpzJkz6lpzyMzkzZtXPRcVFaUCjp9//lluu+020xcSQxl07txZXb7lgw8+cD5/6dIllen66aefpGnTpuo5ZL+qVKkia9eulXvuuUcWLVoku3fvliVLlkjhwoXVOFPvv/++9OvXTw2TkCVLFnXNvLJly8ro0aPVPPD/V61apYZXaNmypemfh4xhppzMCrqJ0jP+EoKYaXrttdfk8uXLsmvXLrlw4YK6YWDL6Ohoef311yUQ0PyGTFDz5s2TZLswuKb+eVwsuFSpUqo3H+C+evXqKmDSIBDC8uIzaNO4zxvTaPPwJCYmRs1DfyNzodZAwwJNIv8E+hcza8txWbrHtRTCHwt2npLaQxdJ1DVzmirPRN+QGkMWyt/7z4od/b71hNz5/mK5fCM21fNCbdaklf5f7NnqJvx1UI6ev2avoGnBggUyYcIElY3RVK1aVcaPHy/z598aQdVMyF5t3rxZhg8fnuS106dPq0yRlvHSIEDCa9o0+oBJe117zdc0CISuX7/ucbmwPPqC+JIlS6byk6Y/ybW46TNNjJkoPbJKL1Z3J6KuS5/p26T71I0pnsdLP2yWi9diZeDvt05eU+v1n7dI9I04ORLkg2pK9fp5q5y/elOGzdub6nnN3HhMPl1yQELNyAX7pPVnK+0VNCUkJEjmzJmTPI/n8JqZjh07Jr169ZIff/zRcmNA9e/fXzUPajcsKwUu0xTGEWuILOP8lRjT5nXusjnzOnclNIrrz5mwbnedDN2Wj8sxrp24LB80oXYIgQwKrjUnTpxQBdnNmjUzdeHQ/IYaKvRqy5Qpk7qh2Puzzz5TfyMbhAJv1FTpofdckSJF1N+4d+9Npz1ObprcuXNLtmzZPC4betnhdf2NAjfcAjNNRNYRx4JDS+P3Y6Ggady4carZqkyZMlK+fHl1QxE1nvv8889NXTgEYTt27FA92rRb3bp1VVG49jcyXEuXLnX+n3379qkhBurXr68e4x7zQPClWbx4sQpy0KyoTaOfhzaNNg+7+mPbSfl44T6xqjPRvs+oEvRRE4Mmr27Exstr07bIvtOXJb1fZJW8N+2hVmbO9pNy7Wbqz9Q5bpr1B1C1u9lbTkhI9J5D7Q5qjNAbbe/eW22vqG9yL6Q2Q65cueSOO+5weS5HjhxqTCbt+e7du0vfvn3VIJsIhFCojmAHPecA40chOHrmmWdk5MiRqn5pwIABqrgc2SJ46aWXVDD41ltvyXPPPSfLli2TGTNmyNy51hhMK6Ven3ZrKIhHaxWTioVzidUs2u27iFS/W+aQA969/et2+XPbSXVLz1dk/2TxfmlSqVCwF8Oyev60RVbsPyuP1SomYzvUTtW8mMmwtlAYpLP39K1i+6AJPdXQXIUszwMPPKBuwYZhATJkyKAGtUSPNvR6Q6G6JmPGjDJnzhx5+eWXVTCFoKtr164ydOhQ5zTIlCFAQhPj2LFjpUSJEjJp0qSQGW7gxMXrlgyakqPPNDFo8i7i3NVgL4IlRJzlevAFARP8vvVkqoMmZpqsLZbfjzWCJjSFoTs/BowMFowPpYcCcfTcw82b0qVLq8u8+IJLwaTFIJ1kHFvniKyJmSZrize5Uxaloqbp3XfflXfeeUeNz0SUZkGTBaOmn9YdlUW7bg1bQenD8n1nZOrqw2n2fmEB+r/6nqkpEZ+WF8Ukv8XG8/uxTE0Tan8OHjwoxYoVUxkcNHfpod6JyAwuheAWg2tUvTNrh/o7PdcRpTfdJm9Q9zVL5pVaJV3Hh7OTeTtOS+saRVP8/+N5ULa0UKhpCpmgqU2bNoFZEiIbBU3nQ2RMGEqZ05duiNh4PNujF1I3ACQzTdbGnqQWCpoGDx4cmCUhU7ubZsqY4msxW4Zd9ss4q8vIgaTIRlK7uTKTYaxYPliXf+L3EzgpPrJiUMnjx4+rMZH0NwquKgMXSIV358vyvf+NS2VXdgmayr8zzzLjosTEBa+TBlmLrzrA1PZG5UHZt8G/75S7PlxiyujeKRHH5lPrBE379++XRo0aqaEHUNOE7vq4YbBL3FNwXY+9ddD8ab39A1g7XaU+tc0dZtkQcTHYi0A2kNqOFQyafJu65oi6jtx3adhpQC+Ovees0zzXrVs3dQkTjH1UtGhRy15QkuyP+2WyKrvv9lK732bQZG0cEsJCQRMGtsQ14SpXrhyYJSKyQSE4kZ2Ds/Ra09R2wj+y+WiURAx/KKRP+Nk8Z6HmOVyS5Ny5c4FZGiIdxkxEqREWuJomm/44ETDBX/tujY4eqtg8F+SgCRfj1W4fffSRukYbRuY+f/68y2u4EZkltQPwpddlo1sC+RXZPUeRXjNN7rWfoYrNc0FunsubN69LKhMHjGbNmrlMg+cwTTAvsUKhJRA/+6hrN6XW0MUyoHUVeb5RuQC8A6UHPb7flOpBTTGafItqRSQYWNMU2tg8F+Sgafny5QFcBKK0q2n6aMFedf/B3D0Mmsj2gVdKcciB0Ob+/TAznsZB03333SdDhw6V//3vf5I9e3YT357Iu0A0y0dfj0t2msjoG3Ii6rrUKZXP/AUgssQ4TambN4Mma+OI4BYoBH/vvffkypUrAVwUImuM01Rv2FJpO2G17Dh+KSjvTxRo6bUQXDMlSOMnpRW7B7VxFg76DAdNTO9RWgv2JrfpyIXgLgCle2EBKjlP74Nbro8I7d+23TNNv205ISEx5EAoj2tB1hPsoCkUrt9H5AlrmkKb3XvPnbfwBdH9GtyyYsWKyQZOFy6EdgRP6Wdwyyw+giZ775JCFM/pDK+ODBnS90E51Nn9+3FYeA/rV9CEuqY8efIEbmmILBQ0ZcrIozCFptRmmhJsflAOdVauCbJDK4NpQVOHDh2kUKFCgVsaIp1g/27YGk2hKrWlFnbPZIQ6u389CRb+AIaTtKxnorTGzgdEgZHaIQeCnQWm0OaQEMg08QBGaS3YJxuB6rlElBa081wUbbsHOaltnuOI0xRIVg7KDQdNCbwAIKUxC/9uiNJGKuN2dcmr0X/J1Zuul7diponsesKcIcjnsuxTTZYV7B3z1DWhPQAehb6b8Qly+Pw1OXs5xuSaJvNOolPbk49CkMP7vj+1WdLU4uZKlhXsk9ktR6OCuwBElh2nybRFCfpBkGyWacrAoInIdnV0Fl40omSlunnOxILDYAdN/C3bq5UhIzNNFAgbD9t/kNFgF4KTdcTExcvA2Ttl+b4zwV4U20BHBm/HnlQXgpsaNCU/zdI9kTLo951yMy6wtbXMeVmDw8drGZlpokC4eC1W7M7Ko8JS2pq6+rB8v/aIdJu8IdiLEhJSe7JuZr2hkYNg96kb5bs1R+SndUdMe1+yrgSfNU1puihJ3z+4b09mOhF1XUIJM02kORl1Q+xiy9GLKit2ycInLtbKNBlfllPRN9LtKNnpicPCNU1+jQhO1tZ9SmidhVu5pomsL9Bbz+lLN6RInqxJnn98wmpnk+LIJ2qm6j3C0sFlVNKqpumXTcfT5H0o9XxdEJo1TWSavacvSyixQsw0+PedMmnloWAvBllwyIrrsa5jH7k7dPaqy+Omo/+Sfw6el7Ti69iS2pN1M4ccSKsaFfexqqzkQGRo7buN2HH8krz4/UaJOOf6O0kuaGKmicii4zTB1DW3aiieb1Qu2ItCfgr25uMetLgHUcGU2nGazGzp8mdRQnWU/o5fr5P05pFxq9T9wTNXZOkbTQy3MjDTRGTRgx7ZW6CD7jAbX68ztSfr8TbMNFnZuSuug4+mJ0cvXEvyXLyvoIm954ism2nyhj37rC/Y248VQgFvqyClAd3VmDg5E31DzLz0XKAzB1hmO7kegGZEC+9KxVNNm6+SuWCfizBoIsti7zlKjWBfLjPYO/dAvH3t9xfL3cOWyikTe+r6E8ClZJ3W/WCJ2Emwt5u0lslD5shn8xwzTRRo9v0RMmryFzNgadf7MrnfVbBHuvbX0D93q2J1X7TBJQ+cuWLa+2YM8FEouYL9QErJFhhmoZ6NaSGDhyCIvecoqIIdmaeUzX77lmDlNHx6237M2Len5fHh238iVLH66oPn0u5N/Qwu7bkn809qP6OnMbQu34iz1fEp3keWONi95xg0pQN2O+PVMAAgaxeCh1m+p1dKMo8Xrt2UtBTsg6DVHDl/1fThIGItPLBnRg/HJ/aeo6Cya9AU7EJeq/lk8X555pv01zU5PWeaUvf+9vjdB/sgaDWHzyftTZbaTFMgWhsuXr0pX684pDoGmJ5p8rHvD/bmwqApHbDriVwwgiYrj0L+2dIDsvLAOdl2LCrYi2ITQe49F+y9ewjun1KzSq382zZTXHzaBE29p2+VD+ftkWe+WZ+q+XhaNl8nPMEuN2HQlA4EeyMLSUHc/6bnMV2slGlKvhBcgs4OcQKb58zlqXkuEPH73/vPqvt9qRzN3POQA+w9R0Fk151ScDJNaf6WFKLNu/b81YVu+UB6+W17yjRZWaaMHoImX5dRYU0TBVqwNzI77eTstbshK3e9ZvOcMf5kDlJTXJ9ehuPw1V3fLjVt8b6GHGCmiQLNroWWNvvtk8UEO7Ngxr7dCj3wAi2tdk/B3h7SipV7yhltCfG17w92w4mlg6bhw4fLXXfdJbly5ZJChQpJmzZtZN++fS7T3LhxQ3r27CkFChSQnDlzSrt27SQyMtJlmqNHj0rr1q0le/bsaj5vvvmmxMW5jlvx119/SZ06dSQ8PFwqVKggU6ZMkVBh05iJheBk6+Y5KzTQBXsNWOmkzg7rwgyhkGlK8PHbDXbLiaWDpr///lsFRGvXrpXFixdLbGystGjRQq5e/W8ciz59+siff/4pM2fOVNOfPHlS2rZt63w9Pj5eBUw3b96U1atXy9SpU1VANGjQIOc0ERERapr7779ftm7dKr1795bnn39eFi5cKKEg2OnMFGPzHNm4ENyuJyuWbp5LVe85A9OI/cXarKYpo8dMk3Wb5zKJhS1YsMDlMYIdZIo2bdokjRs3lkuXLsk333wjP/30kzRt2lRNM3nyZKlSpYoKtO655x5ZtGiR7N69W5YsWSKFCxeWWrVqyfvvvy/9+vWTIUOGSJYsWWTixIlStmxZGT16tJoH/v+qVatkzJgx0rJlS7G7YG9kgcwUnLl8Q778+5B0qldKyt+WM02Wi+wh0Jkm9B7qXK+019eD/bOzS9BmRu1XTFy8HEzm0i5GapqCnpxMj5mmDBxyIGAQJEH+/PnVPYInZJ+aN2/unKZy5cpSqlQpWbNmjXqM++rVq6uASYNAKDo6Wnbt2uWcRj8PbRptHp7ExMSoeehvVhXsnXdKGfnpz9p8Qr5ZFSHfroow5z3ttb+hIH6Xw+fttXw9kh2am81onpu95USINOmmXmywr1RtRk0Te8+lXkJCgmo2a9Cggdxxxx3qudOnT6tMUd68eV2mRYCE17Rp9AGT9rr2mq9pEAhdv37da71Vnjx5nLeSJUuKVQV7IwvkDiz6Rqy6vxKTttdWsv+uNfQF+gCY3Pwz2GbvGtwAzK/BLb08H309zpzmuRD4Ydsu0xTm32cIdhLANj9r1Dbt3LlTfv75Z7GC/v37q8yXdjt27JhYlV27Phv57V+/eeus6oZJVzJPL92S04NgZw2skGkyU6BWpxnjyKF5LhS2mfTYey6Th7MLK9c02SJoevXVV2XOnDmyfPlyKVGihPP5IkWKqALvqCjXy0qg9xxe06Zx702nPU5umty5c0u2bNk8LhN62eF1/Y1MZmAHdj0xWIqJ876jOBB5WV6btkUOnkl+5NoQ2GdSWhWCp3oCA++RinmYfa4UqNVpxkHQ1+/fTk2V6THTlMFDFMLecymEjRwB06xZs2TZsmWqWFvvzjvvlMyZM8vSpUudz2FIAgwxUL9+ffUY9zt27JAzZ844p0FPPAQ5VatWdU6jn4c2jTYPCg4jv30tw+Qr09Thq7Xy57aT0uEre1zs9uOF+2Tw7ztT9H/ttbu0t+R23sHeuZu9PZiZhdEHMH7FTF7W6U1DQVP6yDTZbUTwjCwEN7dJ7ocfflC94zBWE2qPcNPqjFBL1L17d+nbt6/KQqEwvFu3birYQc85wBAFCI6eeeYZ2bZtmxpGYMCAAWreyBbBSy+9JIcOHZK33npL9u7dKxMmTJAZM2ao4QwoeIzswK7fTD7TdP7qTdtcsw07/3HLD8rUNUfkRJTnejpfthy9GJDloqQux8TJ/B2nvL4e/JApZV79aYusPXQ+yfNmxhP6bIgZwaWhTJOB+YRAzCRxNss0ZfSzeS7YlwWzdND0xRdfqHqhJk2aSNGiRZ236dOnO6fBsAAPP/ywGtQSwxCgqe23335zvp4xY0bVtId7BFNPP/20dOnSRYYOHeqcBhmsuXPnquxSzZo11dADkyZNConhBuzMyA7M2TwXa692/OQ+T0p7FRk5eJB5Xv5xs9fXLJBoSjFkZwOZhdEf180JmpKvaUo/maak+wArf6yMHr5+K/ees/Q4TUbaoLNmzSrjx49XN29Kly4t8+bN8zkfBGZbtmxJ0XJS8DNNN0wqBA32zkX7PJDZ094kRC+ZYwarffJg79ytXIiu/237d+251GSaDIzTJPZnv0xTWJLn4n3siIO9VVs600SU1pmmYPee02eaUtLrMdipa/qPFb4JM08CvJ3EYJDP1MzLnN5z5tQ0hUKxeJzdxmkK8zROk1gWgyayd6bJ2XvOnEyTUYHat+ozTSmRnmOm6BtpO1aX1Yf6UF3PHYHf5rt+uz6VNU2SakZOmoJR02TWUCihXAieyUNG3crNpAyayObjNJmcafLynjM3HlM98ALteqz/B379Iqfn5jmrMeOrSM08Tl26Id2m+B/QeGNqTVNCyrZZb5PeNDI2kYHlN7tla9r6tB+/z27Ncxn8vGBvsFm6ponSltV6lxn53WhncmYVQHt7yzd/2a7uH6peNKBdXrXBOlN81p6eU00WY4VvYvNR1zHsrDh8gSmF4AYyOsYyTY4QyDRZuG3LhCEHgo2ZJnI6cv6aWMlHC3xf20vfPIczzbQY1C3Qo+3qa5qC1ROJzBFq34XDxE1fX+hrxmoyq6bJ7F1IeKa0P8TaLdOU0WNNk3U/A4MmCupZUWrgrFAfZBgZ4M7IPIPp2k3/m+f0O5hQTTSldc2aGdIqZnpjxjYp8/ZcOX8lJqAnDmZ2ktBnmvyp/fLWI9DIb9/bCY8jgB1BwjNnlLRmt5qmjH72ngs2Bk1k2zF+sLz635YdD6xmBK4p7b5tJ2lVG4IBRSf+/a9cun7rQtB2CJp+3Xxc3WNQ1PLv+B5aJTXMjMfM7h1l5Ldv6LfFTJNFmuccYlWsaSLbZprcl/eGCcXgwf6pXktB7znXpo7QDJrSyvjlB+WndUclW+aM0vXeMslOn8XHQTGtv4tAn/SYmYVNaSbB2yo18tnNGjU82XnoPltQgiab1TRl8BQ0WfgjMNNEts00udf/mJFpCvYJTkpqmvTLnILxMEnnZOKla4wGrwiuvAm1r8LcTJO5PzQjzXNGTgrNyHDE6prHfAXV6TnT5NBnx23We45BE9k20+Q+ppEZmaZgD4J5IyWZJvaeM82FxOsUGuUraDKjENxKo3oHqqYprU74jOwfzFgs/clbeKYg1DRZOU3jYZ9lt+Y5Bk0hwozUOTNNwW+fS0nznEtRrcnLk96cv+Jn0JTFR6YpxL4Mc0cXT9n/C0tNTZOBaRJM3o+m5FJI6SHTFJ9MHaaVWxgZNIUIM3rN2C3T5L68ZgR9VrqMSoqaOkLtSJ3Gzl/1b6yyrOmoec7MoCneos1zZiyVfj8UjBpDO/Sei2emiYLNjLOLtGzeCsRAkMntFO0QT3gLmn7ZdKuHVLJFtRbe2Vgdhnvw9zeQLbN1CsEDzdQRwU3eTg1dPcBQ81zql8uMoU9SIy3Gq0stBk0UdOaklePt3TyXzE7RyCEs2L9Vb9ee+9/MbV7/j34fad1dTeg1zSWbaQqtmClgI4L7IzXr1NCo4SbXNAVDoAfgTYvL6Fg58GPQFCLMyDSZdf22YAVNydUs2GGE5lQ3z1GKnfezCDz53nPW396CNuRAELZZY73nxPb7USsHHJ6y4546rwT75NUXBk0hIt6EduxgnyH567rb6NnJZpoMHMOCPRKtt0yTL1ZOZdsJRtT2V7iP5rnkOjJaIYbffPSitBjzt/xz8Fyy05q5mQVjkzXWe87+HWr0Qx5YVZwu1eTpd2LlfRoHtwwRZhzs7VfT5F8huJEzf6Op7UD9plOSabLDmWUoZJo8HVB9bVPJBUWemiX8nUdqdfxqrfrddJ60zhaF4KmpEzPWe05sf/IZb4MhBxIS7LtPY6YpRJixkQX7x+4v98JOMwrBY+Psl2my8ElZyNc0paY52AqXvPEnK2Lm2X8wMrrGegfbv8wh1sIBh9Hv38qZJgZNIcKcIQesf4bie5ym1DfP3QxyEWWKMk0W3sHYyQU/hxtIVjLbWyYLBE3+cFi0PsrovIzs38zJNAW5pskGzXMJyaxoK8d9DJpCRHrMNCW99lx8mjXPBQprmuxVCJ6a7c1uo7ebmmky8Wdm5omOGR/xZnxw96OeRgS32i4iLpnjFZvnKODSZabJz5omI8eooAdNKeo9F5BFSXeSa57z98CTIdQyTaaOCG7ezMwcF8mUoVuCvB+1xYjgCdZfRm8YNIWIuHSYadICDO3gk9zyGykiDebAdGhmSO1lVCjtrjuXnGQLwU0Omi6avPyBbFIzc5gMM5vDzB4RPBjsMCJ4go33WQyaQoQZG6Hdgn8taMqbPbOhTFlyB7F/z16RNf+el2BJ6c42uZomdCufv+NUCpcq/UjJkAN66yMuqO77xscFMzdomr/ztASSmbuHlNbheVqlpgZNITBIsN0u2Gs3HHIgRNjh7MJsNxKzMnmyZZZzV24mn2lKZn7NRv93wAuGlF77L7n9fNsJq9X9nNcayh3F86ToPUIdDpbJDjng4bm5O05Jr8jLUrFwLun67XqX5lV7Nb6l9WVUTJuVqdlhU0YED3bznA2OBfE2DpqYaUrnO7SdJy7Jj+uOmJp6TyvaASpf9iwGB7f0fhi7GuM6UGZyArG2UtI0549dJy8FdP52dvVmvMeMxb7Tl+W7NYd97uRbjFnhuR7NzzGFUvIb1J8ohGfKYJ+aJgMHzVOXrkuZt+eqW1pldsy5HBWHHEgOgyaybU3TW79sl3dn7VRNOFYya4vrBWprDV2smj98Nc8lt/P0VUKCHXSwpaQIPDm7T0Y7//5z26mQueTK/sjLcs+wpabN74KXIvC3ftkmg37fJSsPnPV7ntM3HJUOX62RS9dik512+b4zUvO9RTJ3u3/NqGcvxxi6Dp6/tHhv6urD8uHc3SqgSy6giLp2U37bfNxQZwojwcmUfw4nXS4P+TszMzvm9J4L9mVUrNE8d+l6rByIvGyoeRa/r4Gzd6Y4256WGDSFiJRE7jiAHjx7Rf19/GLwgwYNdtDD5+1N8vyzk9d77D2XV8s0JTtOk/eo6WTUDUmNv/f7f1A1Y7iB5GzSBcOrDp6Te0csEytb/e85eeG7jckGscjunI5O3Xemd97DGE3IPu44cSs7d/TCNb+zRJHRMbL20AVZedDztnHuSow6sMCS3ZESfSNOFuzyry7pjC5oMnP7CUuc39A5u+XrlRGy9/TlZAOKXj9vlb4ztsmszSdM2V8ZzfqYGaSY03suPiSb57CNrz54znDt3xsztknLT1d4zHC7n7w98816+X7tEfny70NidQyabOSXTa7Zl9QGTTjoaPUAqAlyd+byDXnmm3VpXkSMA5T+YOCt+Uo7K8mbTSsET3lNU2ozTR/M3SNWyDQlt883M9AwE4KHP7adlE5fr5PFuyOl3687nDtqBBeBEhefIBP+OihL9kQmeW3rsShn7c2pSzd8Np9pwY8nZ6K9L/+rP212Ccoizt06iTFKP28zgwecYOw8ecm5X8Hy+fqMe05FO08cDpzxnF3wJzjBukewZoSRTFNyTXyB7D2HbcxTMyOyhAgedhy/ZIshB1b/e146TVonb/9267fpC34ra/49p34/7i0EvpZxzJL9MuUfY997sDBospH/zdxmatB0+PxV59+eDky/bzkpKw+ck29Wpe1GvOHwRf9qmnJkMRR0mJVp8tTEhfWvbwqzSqYpJXUyaGLpM32r3/8PZ5RvztwmJ6OuO5tL9dtV9I1Yr58R7/f6tC3Ox6cS54HsRd0PlkigzNpyQkYu2Cfjl/+b5LVNR/7bDk9f8r19HDjjPdhBXZS3z42aQjimBU1nr3r8zg6fuyoHPQQjZwMUUOKXsu1YlPMxls9X8Dpi/n+Z4ZPJrCtw/wlh3tjPYD3h8782bbMfvefM+93gvXEi6Wt3ilKGyT4O7O5B07bj/61HDS6QfNeHS6T/bzvkkXGrTC16D9RYc5sTfw8HPWzr7k3QaLlAnSDgGIITfv335KtMYMifu8XK2HsuRPgKmt77c5e8en8FqVsmv8vzR8//1+RwzkNmRzto4Czb6Dgx2PndXjiXpMYGD2cmnmgHottyhav7yzd8F3N7i5nwA15gsLt2t8kb1IHq7VaVk7y25tB5qVost6SUe9C3aNdplT1LzU4kJcE0mligXZ0S0vD2gi6vXbsZp8YXCs+UtH7ms6UHZOGuSCmVP7u81ux2eW7KBtkQcVFW9rtf1ds88Mnf6rua+3qjJP932d4zSZ5DoILsk78HPX8u6jrHRw3RRl3QpAWC3mjBjyfTNx7zmMmCi9diVQZHax7HgcY9YMU20O6L1epg/M/bTVVvUc3ZAGUOMVzCFl3QlFzzvb55Wgt43bfDAbN3SIl82aXn/RWSbJfv/blb/tx2UjWJPlarmBy7cD1Nes8hC6TfXj5belAGzN4pne4u5XF/88TE1bIr8eSoRok8cmdp132q0SBu3LKDzm3DyOfr8f1GORV1Q/ZFXpb329whz9xT2mvAhOmMwonepJWHpM8DFaVk/uw+p8V7Q2R00qyre40Sag71v23ccNLfo3E5eeehKi77uiO645AdMNNkcWUK+N6Q4fKNWHn6G+9XKf9r31kZNu9W89Hxi9fkgzm7Vbv0EV2dhvsZK34UWj0MmnSSO/hi+i7frpdWY1eq8Y5SY8Ph5IOmKzFxqgYEiuTOqu59NR+At0Pp+OUHnTuE5CAwwplWIMbEcc9GIA2e2rMub9/bpiMX5Ps1h9XOrcGIZfLTuqNJpsG2oodMUdOP/5YnvliTZKeJx1oaHtsS3hcBE5qMDkTeGv8KTa444Lifla47dN5jU+w9w/0v9EbtDb7P5p94Hz7iTGKzNIJ8nPF7az7aos80Rd/wmY3cecJ3ltHXcAb4LvTNFbO3nnTpEYczfPx/bPNoBnP5LB5OdkzJQoa5ZprQPOepCd8TT1m5rccuyrT1x+TjRftUwbi+eQ5BxrLEoHLF/rM+x0rzNO+U9lb78u9/pcK78+WTxfucz52Iui6x8Q6ZuuaIx0yqFjDBvtNXkqxPBLhGmguL5r21z0rO6EX7pOKA+Wofru2jUDDd75ftKvsIy/eekVafrlAZzSPnrybbTItl1L57BEy/bTkhP61P+vvXThYQJN36vLfeH79NbIvucOKJZUXzOn6Hnny14pD6DvW/B2R77YSZJotD1uawLhL3dCY9fUPyZyt7Tl1WB7Khf+6WRbsjJVuWjOoHpnE/O8GZpdYzB/8P9U1F82TzOv/NR6OcRbPY2Za/LafH6fRNHt4cStwZeILu32gqmLL6v541RfPc2gFFX49VWSNv1/TyNNggdiCjF+8Xf/26OWl9mbZzsVLvORwAPGn3xRqXx+/M2iGd6pWSLT56US7bc0YFD9pNvz0gkETWBL5bc0TdNBeu3XSm9uHYxWuSJ/t/40U99dXaJO+Fg1dKIAjEWby3dblsb6T0+G6TPFS9qNxbvoDX2goEkZdj4lR2EscXZFt9BdbuwYw7bT6erD7oPUhARg8F/BocuO4pV8CUoMnX/0VQqc8u4TeXP7EZPDmRl28FzfoRz7XfPdYBgiJ9sTJqZbSmHNQyab1hPcHvvnSB7NKtQdlUN88NT2xS9NQ068krP272WZf16ZIDMm75QUOXxynmY1+q93liRsodMlQnL12X77vXUwXUCFJ+3nBU6nrIfOltPx4l7b9cI0/XKy0DHq7qPMH910OTG07GH/pspWTLnFGW9L1PInT75UgPdXpo1sd2g57PmTN6z8fgPQM9en0gMdNkM54ifCOFfziIoAnhr8Q0+qGzV13Sou4HKfchCHCWjY293rAl6kxeCzj+2ndGpbhn6AI3zNsb/BDdjVyQtKecN+j+jQJRfTBQODFowmq4cjNOFXUP+WOXs05Ef+By39H5ap7xF86i0qKmCZ/9/Tm75fetRnopGT8Lx4Hu8cSBML31bPMWJKzz0aSKHaQ+e+CewTLTD2uPeA2YcJmUt37ZoX4vaPbzVdCq/R7qls6n7lVm6trNFHckKJzLe2YBQYM3yDTps2F7T7tnmlIeqEcZGAohZ3gmZ6CrH97AGwQM2kmW3uYj/2Wt/vn3nEtz7OJd/zVd4rtZsidpU617U14wLn3kHmQW0AWR+MzY9nBvJPOVNXPqD71aUKtlgFBQvi9x+9Cy75qBv+9UJ9yTVkaoKycs3hOpHv+buK/2dKKK+WEbwQkDapL0x5kzHk4Q/ztpxnJ4P8HAccTsSxalJQZNFufevOLpoqJGe198vuyAcweDInB9TZN7MKbPDGgHBQRGOMNAwSYCpZ4/bpZnJ29QtSxztv/XpKA/I3H/LO7hHebjqdBcyx55UrNkXpfHucIzOXdCaPpBYIUz0i9XuJ5B4vzPvVnNaC1ToC/FgaavkQuNBY+/bDqm1hmKpN0DQyMBtbf6HNRQ6enH/cEOVl+34l707qmHjD4Lpc/S+FOv4omvsYx8dSJAs4anYuaaJbyPkl6/XAEpmPPWwXGth2ZEjZZlS0mvxd2JAainwSlvxMXLdl29FDLGekYCGV/bXHKaVSmkTjZwoPV1INQUTjxY65sy9U39sGhXpCzUbWtac5K+FAHromzBHJYeTBL1WfrtP7kR5fWZsY8X+Z/ddofR/fEdagE+mg53J24flYq41pUi04cTBW1/h+ZW/A61/T5aHbAvnrb+qLw2bYs6gdOCIPjWrfA90i0oxnao1b5iebSOEfrfVu6smZxZLU/lAEb5W+doNgZNFudeIOvph2n0bFN/BodmDDQ/+Gpug+xZMjqb77RlwVkCztKXJj5GShrpdS0r7emsBVkpXJcLhdR6ONPxtNNrXqWwx+Wa3uMemf3KvS5nUmiu1IpjkSFDmzqglkbPvVkTRacrUjBooS/6ZkN/DJu7J9lr53n6HlFH5olWs+Cppqn71I0e/8+Ev/71eDAHpP/1KXn9DlVfz+SJ/gCpZS1So2diN31/4ZInyIQUzn2r44CmQQXXYne9OqXzSZHEAP43A+MPpYa+2U1/sMNXiRMD7Xer9TzCd2u0zsiT5HoEAjqPFE38rRkZrkI72dFn3rSmfqx7NNkhY+MezOfKmklea3q78/GdpfMZHuE82CNww/ydxjPWRk7UUPelP6n1BOtnvy6QRYZ1VeKYYO5BE7z5y3ZngIptatHu0y7Za9S4ovYVBfl4Tf8bdy/WjnRrnnMvu8C2mSNLRmlSqZDzuQqFcjr3+b6OPVbHoMlmPGUyoq/7vwFqzVvYyWkpeE8HTC14WRdx3qVbtX7MKG3/h95WgAJF9y6lCGS0VLCRJq0HqnoOmuqVK6CCH/e6By1oGqOrT3J/P/edPoorzU7tYwRlT02QviBb5GsMLl/cs3qo6+o7favUfn+xykB6yjR5q7/R7yTdm9ywrkBb7+glNy9x/C4cFLFuvXVa05o1tDNNNBOvOnBOBVqBuLipe1Ck92rTCtLMLSAvns9zfQk+T+1S+aRIbmP1J6l1X8XbkjynHZza1C4uWTJlUEW4WtCJk5eUXo4CWUX0EktOrRJ5k+1VpVc0bzbnSRayFyjy15r6qxXPo3qcedK0ciFprPv8yPAZvaxQoIOmthP+8dp0jkyPvvdt8cTPr69z1DqsAL4vfc8ybx4au9JnZwb13tdjk9TZaSde7s1zoO3rtJNb95MZPNZ6IKNJ2FOP0FyJv2H3+k3UU7mrWCSXVNYFb8cSmxONfH4rY9BkM54yTUZ7fmnRfjFd0xe6h2vND3r4ceOHV7fMrZoOLcuEHbd+x/ZozWLOH2LvByqqs0mc8bgHKLO99JDwVFCNHU+Vor677nsLmvRF82rEZV2zifsBxt/Rl43ADlJfBK2H9Pfw+XtUYKcPrNBsataAdChqR28Y1CIgs4IeQimFgn6tMPzv/be+/74PVJRn7y2j/kbXeBwQteCqlluzqbvHahV3ZjHR2xMFqd2neM56pUaX+reWzx0Oyhh6445irgfu/IkjyrurWCiX2q5qlUybixzfXTa/z4Dq9sQzda2JLjX1TJNWRSTb27RQrnCpXDSXf0FT4r4FgV3Hr9aqIv8JiYXWdUrllYaJWb2COcOlQYUCLlk2DEeBabAvaVqlkOFiYW/lACnlvh1je12wK2km6Y2ZW6XGkEWqWBonBsgGvtmykss0OKH4QpfBxTrZkUxPS22sq+R6wa0/fMF5AqQ/YUGtlXZC4w5lDA/XKJZkSA3Q16Vif6/tS/WBYIPyt74/98zy9sQSkXK6JlUETPrhZ7Sm5NR0XrACBk02zjThLB11GsnBj1k7u0CvoTK6DbtMgRxqB+YJUuRaDyntmP5Co7IqY4CDycfta0qX+qVVyv2RmsXUjwtBGOh3ZFhmfy4zcleZfC5j0XiiXaRXo58exbvazvvrld6Ls7VuzmbRDmqfLtmvRlLHuDQoDtWyKQhmcJmAsUsPyP0f/yU/rz+q1tOvic0+GJ/GKOyckJ5/vPatQERPq+9Cmt1TLLamf1Pv873NtY6k25QNKvW+MbFWCAfvgQ9XlWaVC6kz/BembpRfE7Nk9combV7SYKf+WrMK0rp6UalWLLdz56rvGWaWR2oUk8wZk6a9Pu9QWzJlzCDVi/8XBGG6cl56ej51V0l1j3GFVr51v7SveyuTGijoFeYp8MSJSL1y+aVykVsnElptUWoPPtr26k2/VpVVL6iSutqd5Gi/u9+3nnQOcqmd1GF/0uHuUur3PfiRqi49rLSmm6+61JU/X2so1Yrl8dmEg8t5IMuDnlrYzlOie8P/euBpvuhcR2b3bCB/vtrQ5fmPFyatQdqf2Pyvda9H/VdzDxlyfYCBQAfDKiRH3/PQG5wY4XqSoAWjULFwriS1ow/XKKqC1LdaVlbfA2h9YhAcJz3hvBWwlsiXTVrXKOp8vnFiNlA/9IIeeuDql8N9yBxvxxo7YdBk00wTzvDbTlitupsmB+3bOJND11EcZEsX+O/AWKpAdingIdMELaoVlmJu44m0qVVcFvRuLIv7NFZBEmoe1rzdVEY+UUO9rhVvYuwNLZuCjIc/mZTH65RwyWh5ov3wNbl1QdOL95WX2qXyOuutvEEdlqc0dkrhgPBQ9SKq6ROj4P6w9qhqAvl10wlVHIkxV7QUN3ZKqAtD8IQMGHZGYzvUlr3vtzL0Xi80Lic7hrSUT9rXTPLazz3q++y2723oCNQg6NPp2o4ZAyvi+8N3i20HO/TPOtZWwQ+2R4xdBfV8ZEqqFMkthXJllfGd66jBLWe/2kACAcMIYJvOlTVp0J0nMTtZsch/wQK+K/w+Pn6ypnzf/W6X6bs1uJWxQnMwsi2eLhYLrzf7rxbHndb7Ljnozo9lHvNUrSSvoeYKr1Upeuu7mbnpmBqnRwtWUwK/3Wk97vE5jRaQlypgvHlS27Y8ZbHqlMqn3nfmS/eqk6xrMf81eVVIDFxxUEXAlBxczqPu+0uk3y+3ekA2qZS0aTM5lTwMwqvVArlnsr39liY+fac0ur2gOlF5pn4ZVerwUbvqklrD21ZPcgKjh/2Mfj0/cWcJl8+g1aLq1/2Pz98jzzUsmyRYdm+u1pdr4ARDazZGC0UlD7VS+uAey6EFfJgWJykavG95H5/JLhg02Qx6z6HnAQImRPv5smeWe8r5HpsDB7qvu9SVv95sknjgy+6SaXLP2sBf/2uimt7044mUzJ/tVvNe3mxSSBds4G9thOi7Eg+cqNFpPHK5zNh4zDl42d1uI5L7U9vhruu9ZeS1phVk5kv1XTJN+FEiCzLqiZry/mPVVLrfl5bVCntsnkyJNrWKybiOddQyjWxXw7kjRzPgM5PWqfoULB9GdUa2Rq9P81sHXn3x67sPVfH6XvdXKqQCS/fidjQ/1Siex1k47I9WdxSVeTv+a7J8+8HKLmeK+u8lR3gmGdvB9QB/Z5l88nrTCh7nXb+8axYqd9bMSeo/zPDeo9XUva+ds340c61JDDv7Rrf/9/mwPRkdWRxNlt564GnZKm+00ey1DK2nHmPIEuhPFNDkg3F6UjNcBjICnsYt09PGO9OfZCVHf5KF2X/4+B3qb2QWsd/Q03cY0S6FpKcPBNxhX4TmK9wQtPTyEbimhH5oEm8F6R3vLimt7iiixkra/V4r5/fz1F1JRxPX4MTViPZ1S0pXL83MCGabVPyvwBpBSouqRZyBkqegCc2smgqFXYOmFrrsGOb1tG60cfTQw4kI9qWfPFXLZ70gMku4ePrzDcuqk0AEanrYZ5RPJrtpBwyaLM79B4seL7ioodacs7BPY5ceCp4gSMIGq3UH1h8I8Zqngks04WkF11pzT9NK6H7se0fbo1E5GdepttpJoht2v1+3y5ajUerH2PsB83ZsSO2/0aKS3JUYiKHZBwfKIY9WUzt7fF6c+f32SgNpXsX7+ml5B87YjF92A9kYbwrkDFfvjWVqf1dJZ/of6XgcIBAkYAeLgAGvaQd4FNuj4NjoqMFVi+Z29uhyhxo0LMOTdUs60+5GIKvS70HXegxcCFnfhHGf29l8hUKuZ534XH1buM5Dgx2vu+Tq1rzRNxd481G7W5nP5OiHVQgEdI5AVg7Ne96+S33Q5AkOiIBtZMaL9VUgguAUWUE/rhjjF33vVWQUjcBvUL9dNr79Nulcr7T83rOBTH3ONYsHyV2IGSeEniADs/KtprKoT2MZ9UQNle0x0pxlhNYpQH/pKP1Amt4yVd4G1HU35qmaziDYGy2Qb1snadO7FqTrf4sItDFYMTrPYF+N35oWjGv0gw3fljPcmUnDyZV2ogvIZqKFQZ9pwj4f+1Kt7sybmom1f/0fqiLfPXe3x9+WllG0MwZNFuc+ijDaxFFQhwMisilo8kiOVi+gcW+e8wU/GO3/t6h2a+ftC3YeKDTEDg0pZG350eaOwnH3M+lXmpR3ZotSA82ES99o4pIt8HSJC61wXYPslz8XtV3dv5ka9mDFm64HwafqlvQ4npR2UEOzww/P13M520a27I9XG8hnHZM2yfgaqwo9jfTczyph0CNVZd07zVzqdwDL7sngR6qpbenH5+u5PP9oreLq4IVs3D0eapZebFzOa32IFqDj/3sqcq6qO/t156kmSTO+Ux1JjnudkvvYXinhK0Cp7iHThKAQvwdsc96KqbUMla9mD61ZEbAeEYggOEUz+f4PHjS8/PrAxdf6RSHxpK51nY89XWfQ3d9vNlFNrwVzhDub1rX6Fqx7X8XkyTXF+8ps4OQAJ0jeRr73RT9qHJZ/99CWzs+q7/2LbKGnDFEWA+tly8AHXEoJ7q9cSMZ1qiPbBrWQiU973o61+MtTEzNoJ8BaU7oWvOF4sOHd5mr/XiBHuM99utZEhwAUzXFamQJGFEemGrVMyLa6/27CfXzm+olF4t7kCM+YbKYJTfzJbQ/BbuJj0GRx7iNYa5BCNbqz0adfAUHQHcVzq4MvsgOoycBBvf+DlVXmyb157JP2tVSBpK/xbNyhLbv/g1UkS2KbNlLK+LGiAFQz7PHq8laryiozowVm+jOZ316512WeRut93Ol78n36VC3p07yiKupFDQuW030ND3JrOnPP/GHYA/dgExfRdId127JqERXg4szLU9NLjRJ5JXsW16Y07Kiw06pePK+zrmboY7eyUnB/ZffvJ2ldE2B963vzHB7RWi07IFOBJg73IEz/HaP5BjvO+b0aqzoknM26w/y/6Vo3Sa8hzR+vNZRlbzTxeADA2at7IbsWmLivq40Dmqvu6p93rC2+ZPfSLIlshz98nVF78t6jd8g7D1VWBy1NNrdRn/G6Vmun6XFfeRUEat+zO5xo+KIvpsaB3b22R39gxu9aC14ReHkKtmF+r6QXVH7jgYo+M67aiRiCRDQ9o8MImsmN8HbJJffmPI37iYA25po/RrSt7lJ3hfdy/x1qsC2u8JAp9JXBxm8NNzQ7TuqSNABFIIzmcE+B0226E2E0gassfWLzvRZ8gPbb0S6qjeOB9jt7uUl5n59fyxJrJxfadokMFvaJs15poLYDTx1ynqpbUv0+lv+viXqMoOuH7vXkES8ZNHwGZFSHP15D7iiW2+f4W/rSEQ3Wox5OjoOJ155zM378eBk1apScPn1aatasKZ9//rncfXfS1HIwgyYEIh09XIXbPb0+rO0dHjNR2NGid4jW1IaAZcO7zdRjFFF7OqPDzV84uxzdvqa6nhR67WlnSZpsWf778cx9vaGq1dJ/Lv3OEQfNlDal/PryvaqYGUEYduq9dDsgQLCIgd9wQEHmC82d2FEN/mNXknnplwE1F7iWE3r7eAtgJz5zZ5LrcPmC7+DXxMwbdl4I4BCQYIeOHRjqWdxrBbDzRV0birbvdTvbQ23BhM51khyYkKnADT37tMDWWzOYt6ZAbRndC0n1QQICR2+w40XhMy6xgsAW2ay/3rxfYmLjZeSCfc7eSVsHPaBqJf5w69HkSWrrpH55qb70+H6TTOl2l6HptcAD32+Pxq6/HfeaIbyOGzKbGHaiUpHc6oDj3tyI3+Yj41apvz91qxvzBMEShvn45eX6qoi6zNtznR0OsB9AVkELAtG8lxz9b1SDHoSP1ykuDT9a7uzl1nnSrYuEu9cNPqOriTFCPwSKHmp6MHq41tEAn6V8oRzysod9lPsVDYY8UlX9ltA7FfV0L36/Kcm+CfU6w+bdGoXf/Vpp4W4BL9bfgt6N5O1fd8hXXe5UmRyjv2kETrh2W+5sSdcrfrvIWuPqBT8mjpKtr2XEMB2om8IYS7i2HWi/1xcalVMnPJ6CTuynDg17SMq9My/JJV+gXZ3iajgRbWy9D9rcIc/UL+3cf/g6afjoiRrOa3y6BzSe4DNow40A1gXGg8JQDe6eb1RObX+T/zns7MEJ3z5bV96dtVMdT4ItzOFP20SImz59unTp0kUmTpwo9erVk08//VRmzpwp+/btk0KFfJ81RUdHS548eeTSpUuSO3fKajU80XaAem1rF1dFefpLWrhvgGiG0bIKVqN9JjQtJJcte3fWDjX2UXIZhtTCmDdo69cCyWs346TqoIXO1xf2buyxCcXTBZSDxSrLsmDnKTXOC7JvRpp20HX8syUH5LVmtzvPbHGQwJhW3e4t67EJGYMmYgwgBDmv/rRFBV3bh7RwCdJwnTaMQK8yi24F2ei1iAMqmqyMdDzQxhrrPX2r+nvTgOYye+tJlcV1b3p66ftNqvj/5x73eBzlO9DfZfcpG9Ro/Sjkf+m+8uoAh1l5mh+ucv/B3D0qM4HMEAJ8X/uNJbsjZefJS9K7eUV13UkMgIhmZm9NSb5g/KKPFuxV9V6+mu82Hr6gLjKOWh5vJ04YY+itX7erv/d90CrJdvfBnN1qbCpNxPCH1PrAlQoQMLkHQFj/ZfvPU1kmLaMSSNjeKw6Yr/7+d9hDHgMyDBqMYM7XhdPd4fOlRe1eSuDi8bg8C2o7sQ3poed1SraplPLn+M2gSQeB0l133SXjxo1TjxMSEqRkyZLy2muvydtvvx30oAnNKcg0oKkBzTp6uGwBDvo4u8WFRVGUTKmH+jE0S3kaNZ2sAQcc9KIK9HeEXSVGfkb9kv66Y1ZklQA6reCyI/WGLVXZYnS28LZO0KsX4115qkELNgQK2H97yvRRYPlz/Oa3k+jmzZuyadMm6d+/v/O5DBkySPPmzWXNmjVJpo+JiVE3/UoPBNQOYDwhmNTlLnXpBPeACfRnHwyYzONvbQulPWQrU1pM7A8EIQ8mNjNbXXoKmADNt9sGt/BZL4N1gsJxq0rLzAqlHAvBE507d07i4+OlcGHX+gw8Rn2Tu+HDh6vIVLshIxUI6CEDaLZA85D7eDdERHSrCSq9BYuU9hg0pRAyUkjlabdjx/67bo+Z0NaPYjucRREREVHwsHkuUcGCBSVjxowSGel6PTI8LlIk6fhE4eHh6kZERETpAzNNibJkySJ33nmnLF261PkcCsHxuH791A++SERERPbGTJNO3759pWvXrlK3bl01NhOGHLh69ap069Yt2ItGREREQcagSeepp56Ss2fPyqBBg1Txd61atWTBggVJisOJiIgo/eE4TSYJ1DhNREREZI3jN2uaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDOBlVEyiDayOkUWJiIjIHrTjtpELpDBoMsnly5fVfcmSJYO9KERERJSC4zgup+ILrz1nkoSEBDl58qTkypVLwsLCxE4RNgK9Y8eO8Zp5qcD1aA6uR/NwXZqD6zH016PD4VABU7FixSRDBt9VS8w0mQQrukSJEmJX2IittiHbEdejObgezcN1aQ6uR3NYdT0ml2HSsBCciIiIyAAGTUREREQGMGhK58LDw2Xw4MHqnlKO69EcXI/m4bo0B9ejOcJDZD2yEJyIiIjIAGaaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJYsaPHy9lypSRrFmzSr169WT9+vVJplmzZo00bdpUcuTIoQYJa9y4sVy/ft3nfF9//XW58847Vc+FWrVqeZxm4cKFcs8996hRzW+77TZp166dHD582Od8L1y4IJ07d1bLkTdvXunevbtcuXLF47QHDx5U88Z0gRaK6xF9Nj7++GOpWLGiev/ixYvLhx9+KIEUiusxJfNNj+sS29a9994r2bNn9/qbPXr0qLRu3VpNU6hQIXnzzTclLi5OAinU1uO2bdukY8eOarTsbNmySZUqVWTs2LESaKG2HvXOnz+vBpvG1TmioqLETAyaLGT69OnSt29f1S1z8+bNUrNmTWnZsqWcOXPGZSNu1aqVtGjRQm3kGzZskFdffTXZod/hueeek6eeesrjaxEREfLYY4+pH8jWrVvVRn3u3Dlp27atz3niALVr1y5ZvHixzJkzR1asWCE9evRIMl1sbKzaMTRq1EgCLVTXY69evWTSpEkqcNq7d6/88ccfcvfdd0ughOJ6TOl80+O6vHnzpjz55JPy8ssve3w9Pj5eBUyYbvXq1TJ16lSZMmWKDBo0SAIlFNfjpk2bVMD5ww8/qG333Xfflf79+8u4ceMkUEJxPerhZKlGjRoSEBhygKzh7rvvdvTs2dP5OD4+3lGsWDHH8OHDnc/Vq1fPMWDAgBS/x+DBgx01a9ZM8vzMmTMdmTJlUu+p+eOPPxxhYWGOmzdvepzX7t27MVyFY8OGDc7n5s+fr/7PiRMnXKZ96623HE8//bRj8uTJjjx58jgCKRTXI6bBfPfu3etIK6G4HlMy3/S4LvW8/WbnzZvnyJAhg+P06dPO57744gtH7ty5HTExMY5ACMX16Mkrr7ziuP/++x2BEsrrccKECY777rvPsXTpUrU/uHjxosNMzDRZBKJonHE0b97c+RwiejxGxA84C1i3bp06K0GasnDhwnLffffJqlWrUv3+SKfi/SZPnqzOIC9duiTff/+9ev/MmTN7/D9YLqRJ69at63wO02M+WE7NsmXLZObMmSodHGihuh7//PNPKVeunMqelC1bVqXVn3/+edUcFQihuh5TMt/0uC6NwLJXr15dLasG2QpcmBUZE7OF6nr0BPPOnz+/BEIor8fdu3fL0KFD5bvvvjOUEUsJBk0WgfQkNiD9Dgjw+PTp0+rvQ4cOqfshQ4bICy+8IAsWLJA6depIs2bN5MCBA6l6fxyIFy1aJO+8845qi8bB5/jx4zJjxgyv/wfLhR+VXqZMmdSPXVtmtC0/++yzKm2fFhdpDNX1iGU+cuSICj6xQ8D6xI7viSeekEAI1fWYkvmmx3VpBJbd02fSXjNbqK5Hd2jqRPOZpzIHM4TqeoyJiVElIKNGjZJSpUpJoDBospGEhAR1/+KLL0q3bt2kdu3aMmbMGKlUqZJ8++236rUHH3xQcubMqW7VqlUzPG/8WPDj6Nq1q2q7/vvvvyVLlizqoJyaQeMxz06dOqkCQquw43rEMmOngIAJdWFNmjSRb775RpYvXy779u2TYLDjegzUfNPjurQiu6/HnTt3qnof1BqhlihY7Lge+/fvr4ron376aQmkTAGdOxlWsGBByZgxo0RGRro8j8dFihRRfxctWlTdV61a1WUabCjoxQIoFNZ6N/iT6kTTWZ48eWTkyJHO51CYiB4dSNOip4M7LJe+cBDQcwZNRtoyo2kOBcsoXgb8KPCDRAbgq6++UgWDZgrV9YhlxjpDzzn98gKWGTszM4XqekzJfNPjujQCy+7e40r7jNrnMlOorkd90xIyOcgwDRgwQAIlVNfjsmXLZMeOHfLLL7+ox1oAhs+L4vr33ntPzMBMk0Ug0kZb79KlS53PIbjA4/r166vHqGMpVqxYkszC/v37pXTp0upvdEOvUKGCumnPGXHt2rUkbcD4YWnL4QmWC9050Uyk33AxPbqwAtrI0UNCu6G9Gd1M8ffjjz8uZgvV9digQQMVAPz7778uywv+LF96X48pmW96XJdGYNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# 1. Time series of throughput (curies per second)\\n\",\n", + " \"plt.figure()\\n\",\n", + " \"plt.plot(df['time'], df['throughput_cps'])\\n\",\n", + " \"plt.xlabel(\\\"Time\\\")\\n\",\n", + " \"plt.ylabel(\\\"Throughput (CURIEs/sec)\\\")\\n\",\n", + " \"plt.title(\\\"System Throughput Over Time\\\")\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 33,\n", + " \"id\": \"9c064d44-4c6b-40f9-bc83-63a94d02463b\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# 2. Histogram of time per CURIE\\n\",\n", + " \"plt.figure()\\n\",\n", + " \"plt.hist(df['time_taken_per_curie_ms'], bins=50)\\n\",\n", + " \"plt.xlabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.title(\\\"Distribution of Time Taken per CURIE\\\")\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 34,\n", + " \"id\": \"0dd31031-25d0-42f7-977b-93cb194228f8\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# 3. Boxplot to highlight outliers in time per CURIE\\n\",\n", + " \"plt.figure()\\n\",\n", + " \"plt.boxplot(df['time_taken_per_curie_ms'])\\n\",\n", + " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", + " \"plt.title(\\\"Boxplot of Time per CURIE (Outliers Shown)\\\")\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": null,\n", + " \"id\": \"fee5ecb0-a7a6-4797-930c-5d89074acc91\",\n", + " \"metadata\": {},\n", + " \"outputs\": [],\n", + " \"source\": []\n", + " }\n", + " ],\n", + " \"metadata\": {\n", + " \"kernelspec\": {\n", + " \"display_name\": \"Python 3 (ipykernel)\",\n", + " \"language\": \"python\",\n", + " \"name\": \"python3\"\n", + " },\n", + " \"language_info\": {\n", + " \"codemirror_mode\": {\n", + " \"name\": \"ipython\",\n", + " \"version\": 3\n", + " },\n", + " \"file_extension\": \".py\",\n", + " \"mimetype\": \"text/x-python\",\n", + " \"name\": \"python\",\n", + " \"nbconvert_exporter\": \"python\",\n", + " \"pygments_lexer\": \"ipython3\",\n", + " \"version\": \"3.13.5\"\n", + " }\n", + " },\n", + " \"nbformat\": 4,\n", + " \"nbformat_minor\": 5\n", + "}\n" ], - "source": [ - "%pip install pandas matplotlib numpy" - ] - }, - { - "cell_type": "markdown", - "id": "3a6bab9f-897e-4c96-84c8-3e402676e753", - "metadata": {}, - "source": [ - "## Loading files\n", - "\n", - "These files can be checked into the repository into the `logs/` subdirectory." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea", - "metadata": {}, - "outputs": [], - "source": [ - "logfile = \"logs/nodenorm-renci-logs-2025jun18.txt\"" - ] - }, - { - "cell_type": "markdown", - "id": "67ca8f70-adaa-4883-ac51-1c0ec235bd13", - "metadata": {}, - "source": [ - "We can use Python dataclasses to load the important information from the logfile." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "42805620-22f8-4469-845a-a5fd40ae7a3d", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "from dataclasses import dataclass, field\n", - "from datetime import datetime\n", - "import logging\n", - "import re\n", - "import ast\n", - "\n", - "logging.basicConfig(level=logging.INFO)\n", - "\n", - "@dataclass\n", - "class LogEntry:\n", - " time: datetime\n", - " curies: list[str]\n", - " curie_count: int\n", - " time_taken_ms: float\n", - " time_taken_per_curie_ms: float\n", - " arguments: dict[str, str]\n", - " node: str = \"\"\n", - "\n", - "def convert_log_line_into_entry(line: str) -> LogEntry: \n", - " # Depending on where the log file comes from, it might start with one of two types of timestamps:\n", - " # - ISO 8601 date (e.g. \"2007-04-05T12:30−02:00\"), which will be separated from the rest of the log line with a tab character.\n", - " # - Python log format date (e.g. \"2025-06-12 13:01:49,319\"), which should always be in UTC.\n", - "\n", - " # Entry variables.\n", - " log_time = None\n", - " curies = []\n", - " curie_count = -1\n", - " time_taken_ms = -1.0\n", - " arguments = {}\n", - "\n", - " # Parse the datetime stamp.\n", - " iso8601date_match = re.match(r'^(\\d{4}-\\d{2}-\\d{2}(?:[T ]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?)?)\\t', line)\n", - " if iso8601date_match:\n", - " log_time = datetime.fromisoformat(iso8601date_match.group(1))\n", - " else:\n", - " # TODO raise exception\n", - " logging.error(f\"Could not identify the datetime for the line: {line}\")\n", - "\n", - " # Parse the log text.\n", - " log_text_match = re.search(r'\\| INFO \\| normalizer:get_normalized_nodes \\| Normalized (\\d+) nodes in ([\\d\\.]+) ms with arguments \\((.*)\\)', line)\n", - " if not log_text_match:\n", - " raise ValueError(f\"Could not find NodeNorm log-line: {line}\")\n", - " curie_count = int(log_text_match.group(1))\n", - " time_taken_ms = float(log_text_match.group(2))\n", - " argument_text = log_text_match.group(3)\n", - "\n", - " # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\n", - " argument_fn_call = f'arguments({argument_text})'\n", - " tree = ast.parse(argument_fn_call, mode=\"eval\")\n", - " call_node = tree.body\n", - " for kw in call_node.keywords:\n", - " arguments[kw.arg] = ast.literal_eval(kw.value)\n", - "\n", - " # Some assertions.\n", - " if 'curies' not in arguments:\n", - " raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\n", - " curies = arguments['curies']\n", - " if len(curies) != curie_count:\n", - " raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\n", - " if len(curies) < 1:\n", - " raise ValueError(f'Found no CURIEs in line: {line}')\n", - " \n", - " # Emit the LogEntry.\n", - " return LogEntry(\n", - " time=log_time,\n", - " curies=curies,\n", - " curie_count=curie_count,\n", - " time_taken_ms=time_taken_ms,\n", - " time_taken_per_curie_ms=time_taken_ms/curie_count,\n", - " arguments=arguments\n", - " )\n", - "\n", - "logs = []\n", - "with open(logfile, 'r') as logf:\n", - " for line in logf:\n", - " # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\n", - " if \"normalizer:get_normalized_nodes\" not in line:\n", - " continue\n", - " \n", - " logs.append(convert_log_line_into_entry(line))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "logs[0:10]" - ] - }, - { - "cell_type": "markdown", - "id": "dfc3b8e7-be80-44a2-b142-943c0c3c2dbb", - "metadata": {}, - "source": [ - "## Visualizing the logs" - ] - }, - { - "cell_type": "markdown", - "id": "9650b40f-4ddf-4157-84c3-cb8dd9466491", - "metadata": {}, - "source": [] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "7a52c4d7-21da-42f5-94cc-e5957ec9bcb6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\n", - "
" - ], - "text/plain": [ - " time curies curie_count time_taken_ms \\\n", - "0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \n", - "1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \n", - "2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \n", - "3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \n", - "4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \n", - "\n", - " time_taken_per_curie_ms arguments \\\n", - "0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \n", - "1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \n", - "2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \n", - "3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \n", - "4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \n", - "\n", - " node throughput_cps \n", - "0 476.190476 \n", - "1 666.666667 \n", - "2 311.526480 \n", - "3 507.614213 \n", - "4 469.483568 " - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from dataclasses import asdict\n", - "\n", - "# Assume `records` is your list of dataclass instances\n", - "# Convert to DataFrame\n", - "df = pd.DataFrame([asdict(r) for r in logs])\n", - "df['time'] = pd.to_datetime(df['time'])\n", - "df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\n", - "\n", - "df.head()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "3f0f62a4-fe2f-4e9c-8236-6e93785e1588", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Graph 1. CURIE count vs time taken.\n", - "\n", - "# —————————————————————\n", - "# 2) Group by batch size\n", - "# —————————————————————\n", - "groups = [grp['time_taken_per_curie_ms'].values\n", - " for _, grp in df.groupby('curie_count')]\n", - "\n", - "labels = [str(size) for size, _ in df.groupby('curie_count')]\n", - "\n", - "del groups[0]\n", - "del labels[0]\n", - "\n", - "# —————————————————————\n", - "# 3) Boxplot of per‑CURIE time by batch size\n", - "# —————————————————————\n", - "plt.figure(figsize=(10,6))\n", - "plt.boxplot(groups, tick_labels=labels, showfliers=True)\n", - "plt.xlabel(\"Number of CURIEs in Batch\")\n", - "plt.ylabel(\"Time per CURIE (ms)\")\n", - "plt.title(\"Distribution of Time per CURIE by Batch Size\")\n", - "plt.xticks(rotation=45)\n", - "plt.tight_layout()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Scatter plot\n", - "plt.figure(figsize=(10,6))\n", - "plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\n", - "\n", - "# Fit a linear regression line\n", - "m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\n", - "x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\n", - "plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\n", - "\n", - "# Labels and title\n", - "plt.xlabel(\"Number of CURIEs\")\n", - "plt.ylabel(\"Time per CURIE (ms)\")\n", - "plt.title(\"Time per CURIE vs. CURIE Count with Regression Line\")\n", - "plt.legend()\n", - "plt.grid(True)\n", - "plt.tight_layout()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "2ca9ccd5-7f93-4f0c-b41f-19c7a863178e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 1. Time series of throughput (curies per second)\n", - "plt.figure()\n", - "plt.plot(df['time'], df['throughput_cps'])\n", - "plt.xlabel(\"Time\")\n", - "plt.ylabel(\"Throughput (CURIEs/sec)\")\n", - "plt.title(\"System Throughput Over Time\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "9c064d44-4c6b-40f9-bc83-63a94d02463b", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 2. Histogram of time per CURIE\n", - "plt.figure()\n", - "plt.hist(df['time_taken_per_curie_ms'], bins=50)\n", - "plt.xlabel(\"Time per CURIE (ms)\")\n", - "plt.ylabel(\"Frequency\")\n", - "plt.title(\"Distribution of Time Taken per CURIE\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "0dd31031-25d0-42f7-977b-93cb194228f8", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADAa4QdAADgNcIOAADwWo7DzvLly2369Om2Z88ed52TpwMAAC/CztatW61Lly7WpEkTO/fcc23Dhg1u+dVXX2233nprfpQRAACg4MLOkCFD3ASCa9assbJly4aX9+nTx6ZNm5bzkgAAABSGeXbef/9913xVt27dqOVHH320rV69Oi/LBgAAUPA1O7t27Yqq0Yk8NUTp0qUTeqw5c+ZY9+7d3QlE09LSbMqUKVG3qx/QiBEjrHbt2u5s62o+W7Zs2UHP27dvXzdNdOXKlV1z2u+//57oywIAAJ5KOOx06tTJXn755fB1hZSMjAwbM2aMde7cOeHg1KpVKxs/fnzM2/WYTz31lE2YMME+//xzd+6trl272h9//BFeR0Fn8eLFNmPGDJs6daoLUAMGDEj0ZQEAAE8lfCLQRYsW2ZlnnmnHH3+8ffjhh3bBBRe4sKEalk8//dQaNWqUs4Kkpdnbb79tPXr0cNdVLNX4qNPzbbfd5pbpRF81a9a0iRMn2qWXXmo//PCDNWvWzL788ktr166dW0f9htRxet26de7+sezdu9ddIk8kVq9ePU4ECgCAhycCTbhmp3nz5vbjjz/aKaecYhdeeKGrnenZs6d98803OQ46saxcudI2btzomq4CekHt27e3efPmuev6q6arIOiI1i9WrJirCcrK6NGj3WMFFwUdAADgp4Q7KIsCwt133235SUFHVJMTSdeD2/S3Ro0aUbdrpFiVKlXC68QyfPhwGzp06EE1OwAAwD85CjvqM7NgwQLbvHmz668TSc1ahZ06UifamRoAABSRsKM+MVdeeaX98ssvMfvdpKen50nBatWq5f5u2rTJjcYK6Hrr1q3D6yhwRTpw4IDrPxTcHwAAFG0J99kZPHiwXXzxxW7mZNXqRF7yKuhIw4YNXWCZOXNmVHOT+uJ06NDBXdffbdu22fz588PrqNO0yqK+PQAAAAnX7KhmRf1dMvelyQnNh6NzbEV2Sv72229dn5v69evbLbfcYg8++KCbsFDh595773UjrIIRW02bNrVzzjnHrr32Wjc8ff/+/TZo0CA3UiurkVgAAKBoSTjs9O7d22bNmpUnI6+++uqrqLl5gk7D/fr1c8PL77jjDjfaS/PmqAZHI8DUjHbYYYeF7/PKK6+4gKPh8BqF1atXLzc3DwAAQI7m2dm9e7drxqpevbq1aNHCSpYsGXX7TTfd5O04fQAAkHr774RrdiZNmuTOj6XaFdXwqFNyQP9PxbADAAD8lXDY0fw6o0aNsmHDhrlmIwAAgMIs4bSyb98+69OnD0EHAACkhIQTizoPv/766/lTGgAAgGQ3Y2kuHZ2NfPr06dayZcuDOig//vjjeVk+AACAgg07CxcutDZt2oTPgB4psrMyAABASoadjz76KH9KAgAAkA/oZQwAALwWV81Oz5493YzGmrBH/8/O5MmT86psAAAABRN2NDth0B9H/wcAAPDudBH333+/3XbbbVa2bFnzDaeLAADA3/133H12NGuyzlIOAACQSuIOOwmeLxQAACD1RmMxjw4AAPB6np0mTZocMvD8+uuvuS0TAABAcsKO+u0wGgsAAHgbdi699FKrUaNG/pUGAAAgWX126K8DAABSEaOxAACA1+JuxsrIyMjfkgAAAOQDTgQKAAC8RtgBAABeI+wAAACvEXYAAIDXCDsAAMBrhB0AAOA1wg4AAPAaYQcAAHiNsAMAALxG2AEAAF4j7AAAAK8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2AACA1wg7AADAa4QdAADgNcIOAADwGmEHAAB4jbADAAC8RtgBAABeI+wAAACvEXYAAIDXCDsAAMBrhTrs3HfffZaWlhZ1OfbYY8O3//HHHzZw4ECrWrWqlS9f3nr16mWbNm1KapkBAEDhUqjDjhx33HG2YcOG8OWTTz4J3zZkyBB799137c0337TZs2fb+vXrrWfPnkktLwAAKFxKWCFXokQJq1Wr1kHLt2/fbi+++KK9+uqrdsYZZ7hlL730kjVt2tQ+++wzO+mkk5JQWgAAUNgU+pqdZcuWWZ06deyoo46yvn372po1a9zy+fPn2/79+61Lly7hddXEVb9+fZs3b162j7l3717bsWNH1AUAAPipUIed9u3b28SJE23atGn27LPP2sqVK61Tp062c+dO27hxo5UqVcoqV64cdZ+aNWu627IzevRoq1SpUvhSr169fH4lAAAgWQp1M1a3bt3C/2/ZsqULPw0aNLA33njDypQpk+PHHT58uA0dOjR8XTU7BB4AAPxUqGt2MlMtTpMmTWz58uWuH8++ffts27ZtUetoNFasPj6RSpcubRUrVoy6AAAAP6VU2Pn9999txYoVVrt2bWvbtq2VLFnSZs6cGb596dKlrk9Phw4dklpOAABQeBTqZqzbbrvNunfv7pquNKx85MiRVrx4cbvssstcX5urr77aNUdVqVLF1c4MHjzYBR1GYgEAgJQIO+vWrXPBZuvWrVa9enU75ZRT3LBy/V+eeOIJK1asmJtMUCOsunbtas8880yyiw0AAAqRtFAoFLIiTh2UVVOkuXvovwMAgF/775TqswMAAJAowg4AAPAaYQcAAHiNsAMAALxG2AEAAF4j7AAAAK8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2AACA1wg7AADAa4QdAADgNcIOAADwGmEHAAB4jbADAAC8RtgBAABeI+wAAACvEXYAAIDXCDsAAMBrhB0AAOA1wg4AAPAaYQcAAHiNsAMAALxWItkFAID8kp6ebh9//LFt2LDBateubZ06dbLixYsnu1gAChg1OwC8NHnyZGvcuLF17tzZLr/8cvdX17UcQNFC2AHgHQWa3r17W4sWLWzevHm2c+dO91fXtZzAAxQtaaFQKGRF3I4dO6xSpUq2fft2q1ixYrKLAyCXTVeqwVGwmTJlihUr9t9juoyMDOvRo4ctWrTIli1bRpMWUET239TsAPCK+uisWrXK7rrrLjtw4ICNGzfOBg8e7P7q+vDhw23lypVuPQBFAx2UAXhFnZHltddecx2SFXACt99+uw0cODBqPQD+o2YHgFc06kqefPJJq1q1qj3//PMu2Oivrmt55HoA/EefHfrsAF7Zs2ePlS1b1kqVKuU6JutvYN++fVahQgX3d/fu3VamTJmklhVA7tBnB0CR9Nxzz7m/CjQXXnihtWrVyurWrev+6rqWR64HwH/02QHglRUrVri/1apVs2nTpoWX//zzz7ZgwQK3/JdffgmvB8B/1OwA8EqjRo3cXwWaWILlwXoA/EfYAeCVvn375ul6AFIfYQeAV84777w8XQ9A6iPsAPDKl19+mafrAUh9hB0AAOA1wg4AAPAaYQcAAHiNsAMAALzGpIIACh2dymHJkiX5/jxff/11wvc59thj3ekoAKQOwg6AQkdBp23btvn+PDl5jvnz59vxxx+fL+UBkD8IOwAKHdWeKFTkd4DJyXOobABSC2EHQJ5ZtmyZO9N4MrVo0cIWLlwY13o5kVfNazr7+tFHH50njwUge2mhUChkHhg/fryNHTvWNm7c6M5u/PTTT9uJJ56Yp6eIB5C17777zs45pY3VLp+W7KKkhA2/h2zO10sJPEAuxLv/9qJm5/XXX7ehQ4fahAkTrH379jZu3Djr2rWrLV261GrUqJHs4gFFgmYkvq5tKbvv9NLJLkpKuG/W3mQXASgyvKjZUcA54YQT7K9//au7npGRYfXq1bPBgwfbsGHDDnl/anaA3NPZxKf/62VrVq+KHXbYYbl6rL1799r69etzXabx4/9qGzZsDF+vXbuWDRw4KFePWadOHStdOveBrnS1BnZUyw65fhygKNsR5/475cPOvn373DDQt956y3r06BFe3q9fP9u2bZu98847MTekukS+WQpHhB2gcNCQ8IIYjZUTjMYCCo8i04ylo8n09HSrWbNm1HJdz6oj4ejRo23UqFEFVEIABTkaK7M9e/bYqlWr7Mgjj7QyZcrkSdkApJaUDzs5MXz4cNfHJ3PNDoDCQbW1eVl70rFjxzx7LACpJ+XDTrVq1ax48eK2adOmqOW6XqtWrZj3UXt7XrS5AwCAwi/lz41VqlQp17Y/c+bM8DJ1UNb1Dh3o/AcAQFGX8jU7oiYpdUhu166dm1tHQ8937dplV111VbKLBgAAksyLsNOnTx/bsmWLjRgxwk0q2Lp1a5s2bdpBnZYBAEDRk/JDz/MC8+wAAODv/jvl++wAAABkh7ADAAC8RtgBAABeI+wAAACvEXYAAIDXCDsAAMBrhB0AAOA1wg4AAPCaFzMo51Ywr6ImJwIAAKkh2G8fan5kwo6Z7dy50/2tV69esosCAABysB/XTMpZ4XQR//8s6evXr7cKFSpYWlpasosDII+P/HQgs3btWk4HA3hGEUZBp06dOlasWNY9cwg7ALzGue8A0EEZAAB4jbADAAC8RtgB4LXSpUvbyJEj3V8ARRN9dgAAgNeo2QEAAF4j7AAAAK8RdgAAgNcIOwAAwGuEHQAA4DXCDgAvzZkzx7p37+6mkddpYKZMmZLsIgFIEsIOAC/t2rXLWrVqZePHj092UQAkGWc9B+Clbt26uQsAULMDAAC8RtgBAABeI+wAAACvEXYAAIDXCDsAAMBrjMYC4KXff//dli9fHr6+cuVK+/bbb61KlSpWv379pJYNQMFKC4VCoQJ+TgDId7NmzbLOnTsftLxfv342ceLEpJQJQHIQdgAAgNfoswMAALxG2AEAAF4j7AAAAK8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAA89n/A5mlzF5+TLKbAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 3. Boxplot to highlight outliers in time per CURIE\n", - "plt.figure()\n", - "plt.boxplot(df['time_taken_per_curie_ms'])\n", - "plt.ylabel(\"Time per CURIE (ms)\")\n", - "plt.title(\"Boxplot of Time per CURIE (Outliers Shown)\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fee5ecb0-a7a6-4797-930c-5d89074acc91", - "metadata": {}, - "outputs": [], - "source": [] + "id": "724e9f735fea9bd3" } ], "metadata": { diff --git c/log-analysis/logs/README.md i/log-analysis/logs/README.md new file mode 100644 index 0000000..04a0ea6 --- /dev/null +++ i/log-analysis/logs/README.md @@ -0,0 +1,15 @@ +# Logs + +To download logs from AWS, using the following Logs Insights query: + +``` +fields @timestamp, @message, @logStream, @log +| filter @message like "normalizer:get_normalized_nodes" +| sort @timestamp desc +| limit 10000 +``` + +(Why 10K? Because that's the maximum it'll let you download.) + +Download the logs in JSON. Some of them will still be truncated, but +at least the JSON will be well-formed. --- log-analysis/NodeNorm_log_analysis.ipynb | 1128 ++++++++++++---------- log-analysis/logs/README.md | 15 + 2 files changed, 620 insertions(+), 523 deletions(-) create mode 100644 log-analysis/logs/README.md diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index a59421e..a84f196 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -1,532 +1,614 @@ { "cells": [ { - "cell_type": "markdown", - "id": "ba1f42e6-f208-4511-8117-4d92d392bd84", "metadata": {}, + "cell_type": "raw", "source": [ - "# NodeNorm Log Analysis\n", - "\n", - "As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\n", - "\n", - "```\n", - "2025-06-18T03:26:30-04:00\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\n", - "```\n", - "\n", - "This Jupyter Notebook is intended to be used in analysing these logs." - ] - }, - { - "cell_type": "markdown", - "id": "bc4248bb-1c4a-446e-95a3-54acc13e01de", - "metadata": {}, - "source": [ - "## Install prerequisites" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "721be6fa-7f14-4979-bffb-5a32cb316444", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\n", - "Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\n", - "Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\n", - "Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\n", - "Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\n", - "Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\n", - "Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\n", - "Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n", - "Note: you may need to restart the kernel to use updated packages.\n" - ] - } + "{\n", + " \"cells\": [\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"ba1f42e6-f208-4511-8117-4d92d392bd84\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"# NodeNorm Log Analysis\\n\",\n", + " \"\\n\",\n", + " \"As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\\n\",\n", + " \"\\n\",\n", + " \"```\\n\",\n", + " \"2025-06-18T03:26:30-04:00\\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\\n\",\n", + " \"```\\n\",\n", + " \"\\n\",\n", + " \"This Jupyter Notebook is intended to be used in analysing these logs.\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"bc4248bb-1c4a-446e-95a3-54acc13e01de\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"## Install prerequisites\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 14,\n", + " \"id\": \"721be6fa-7f14-4979-bffb-5a32cb316444\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"name\": \"stdout\",\n", + " \"output_type\": \"stream\",\n", + " \"text\": [\n", + " \"Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\n\",\n", + " \"Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\\n\",\n", + " \"Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\n\",\n", + " \"Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\n\",\n", + " \"Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\n\",\n", + " \"Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\n\",\n", + " \"Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\n\",\n", + " \"Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\n\",\n", + " \"Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\n\",\n", + " \"Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\n\",\n", + " \"Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\\n\",\n", + " \"Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\\n\",\n", + " \"Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\n\",\n", + " \"Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\\n\",\n", + " \"Note: you may need to restart the kernel to use updated packages.\\n\"\n", + " ]\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"%pip install pandas matplotlib numpy\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"3a6bab9f-897e-4c96-84c8-3e402676e753\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"## Loading files\\n\",\n", + " \"\\n\",\n", + " \"These files can be checked into the repository into the `logs/` subdirectory.\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 3,\n", + " \"id\": \"c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea\",\n", + " \"metadata\": {},\n", + " \"outputs\": [],\n", + " \"source\": [\n", + " \"logfile = \\\"logs/nodenorm-renci-logs-2025jun18.txt\\\"\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"67ca8f70-adaa-4883-ac51-1c0ec235bd13\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"We can use Python dataclasses to load the important information from the logfile.\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 4,\n", + " \"id\": \"42805620-22f8-4469-845a-a5fd40ae7a3d\",\n", + " \"metadata\": {\n", + " \"scrolled\": true\n", + " },\n", + " \"outputs\": [],\n", + " \"source\": [\n", + " \"from dataclasses import dataclass, field\\n\",\n", + " \"from datetime import datetime\\n\",\n", + " \"import logging\\n\",\n", + " \"import re\\n\",\n", + " \"import ast\\n\",\n", + " \"\\n\",\n", + " \"logging.basicConfig(level=logging.INFO)\\n\",\n", + " \"\\n\",\n", + " \"@dataclass\\n\",\n", + " \"class LogEntry:\\n\",\n", + " \" time: datetime\\n\",\n", + " \" curies: list[str]\\n\",\n", + " \" curie_count: int\\n\",\n", + " \" time_taken_ms: float\\n\",\n", + " \" time_taken_per_curie_ms: float\\n\",\n", + " \" arguments: dict[str, str]\\n\",\n", + " \" node: str = \\\"\\\"\\n\",\n", + " \"\\n\",\n", + " \"def convert_log_line_into_entry(line: str) -> LogEntry: \\n\",\n", + " \" # Depending on where the log file comes from, it might start with one of two types of timestamps:\\n\",\n", + " \" # - ISO 8601 date (e.g. \\\"2007-04-05T12:30−02:00\\\"), which will be separated from the rest of the log line with a tab character.\\n\",\n", + " \" # - Python log format date (e.g. \\\"2025-06-12 13:01:49,319\\\"), which should always be in UTC.\\n\",\n", + " \"\\n\",\n", + " \" # Entry variables.\\n\",\n", + " \" log_time = None\\n\",\n", + " \" curies = []\\n\",\n", + " \" curie_count = -1\\n\",\n", + " \" time_taken_ms = -1.0\\n\",\n", + " \" arguments = {}\\n\",\n", + " \"\\n\",\n", + " \" # Parse the datetime stamp.\\n\",\n", + " \" iso8601date_match = re.match(r'^(\\\\d{4}-\\\\d{2}-\\\\d{2}(?:[T ]\\\\d{2}:\\\\d{2}(?::\\\\d{2}(?:\\\\.\\\\d+)?(?:Z|[+-]\\\\d{2}:\\\\d{2})?)?)?)\\\\t', line)\\n\",\n", + " \" if iso8601date_match:\\n\",\n", + " \" log_time = datetime.fromisoformat(iso8601date_match.group(1))\\n\",\n", + " \" else:\\n\",\n", + " \" # TODO raise exception\\n\",\n", + " \" logging.error(f\\\"Could not identify the datetime for the line: {line}\\\")\\n\",\n", + " \"\\n\",\n", + " \" # Parse the log text.\\n\",\n", + " \" log_text_match = re.search(r'\\\\| INFO \\\\| normalizer:get_normalized_nodes \\\\| Normalized (\\\\d+) nodes in ([\\\\d\\\\.]+) ms with arguments \\\\((.*)\\\\)', line)\\n\",\n", + " \" if not log_text_match:\\n\",\n", + " \" raise ValueError(f\\\"Could not find NodeNorm log-line: {line}\\\")\\n\",\n", + " \" curie_count = int(log_text_match.group(1))\\n\",\n", + " \" time_taken_ms = float(log_text_match.group(2))\\n\",\n", + " \" argument_text = log_text_match.group(3)\\n\",\n", + " \"\\n\",\n", + " \" # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\\n\",\n", + " \" argument_fn_call = f'arguments({argument_text})'\\n\",\n", + " \" tree = ast.parse(argument_fn_call, mode=\\\"eval\\\")\\n\",\n", + " \" call_node = tree.body\\n\",\n", + " \" for kw in call_node.keywords:\\n\",\n", + " \" arguments[kw.arg] = ast.literal_eval(kw.value)\\n\",\n", + " \"\\n\",\n", + " \" # Some assertions.\\n\",\n", + " \" if 'curies' not in arguments:\\n\",\n", + " \" raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\\n\",\n", + " \" curies = arguments['curies']\\n\",\n", + " \" if len(curies) != curie_count:\\n\",\n", + " \" raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\\n\",\n", + " \" if len(curies) < 1:\\n\",\n", + " \" raise ValueError(f'Found no CURIEs in line: {line}')\\n\",\n", + " \" \\n\",\n", + " \" # Emit the LogEntry.\\n\",\n", + " \" return LogEntry(\\n\",\n", + " \" time=log_time,\\n\",\n", + " \" curies=curies,\\n\",\n", + " \" curie_count=curie_count,\\n\",\n", + " \" time_taken_ms=time_taken_ms,\\n\",\n", + " \" time_taken_per_curie_ms=time_taken_ms/curie_count,\\n\",\n", + " \" arguments=arguments\\n\",\n", + " \" )\\n\",\n", + " \"\\n\",\n", + " \"logs = []\\n\",\n", + " \"with open(logfile, 'r') as logf:\\n\",\n", + " \" for line in logf:\\n\",\n", + " \" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\n\",\n", + " \" if \\\"normalizer:get_normalized_nodes\\\" not in line:\\n\",\n", + " \" continue\\n\",\n", + " \" \\n\",\n", + " \" logs.append(convert_log_line_into_entry(line))\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 5,\n", + " \"id\": \"227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"text/plain\": [\n", + " \"[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]\"\n", + " ]\n", + " },\n", + " \"execution_count\": 5,\n", + " \"metadata\": {},\n", + " \"output_type\": \"execute_result\"\n", + " }\n", + " ],\n", + " \"execution_count\": 50\n", + " },\n", + " {\n", + " \"metadata\": {},\n", + " \"cell_type\": \"markdown\",\n", + " \"source\": \"# Some overall measures\",\n", + " \"id\": \"a13af441dd8d87d\"\n", + " },\n", + " {\n", + " \"metadata\": {},\n", + " \"cell_type\": \"markdown\",\n", + " \"source\": \"\",\n", + " \"id\": \"2ee4b13bab99da17\"\n", + " },\n", + " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T14:54:04.252739Z\",\n", + " \"start_time\": \"2025-07-03T14:54:04.246303Z\"\n", + " }\n", + " },\n", + " \"cell_type\": \"code\",\n", + " \"source\": [\n", + " \"times = sorted(list(set(map(lambda x: x.time, logs))))\\n\",\n", + " \"count_requests = len(logs)\\n\",\n", + " \"\\n\",\n", + " \"print(f\\\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\\\")\\n\",\n", + " \"print(f\\\"Total number of requests: {count_requests}\\\")\\n\",\n", + " \"print(f\\\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\\\")\\n\",\n", + " \"print(f\\\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\\\")\\n\",\n", + " \"print(f\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_per_curie_ms, logs))/count_requests} ms\\\")\\n\",\n", + " \"print(f\\\"Average throughput: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec\\\")\\n\",\n", + " \"#print(f\\\"Average throughput per CURIE: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec per CURIE\\\")\\n\",\n", + " \"#print(f\\\"Total number of unique CURIEs: {len(set(sum(map(lambda x: x.curies, logs), [])))}\\\")\"\n", + " ],\n", + " \"id\": \"702b88dac738feb0\",\n", + " \"outputs\": [\n", + " {\n", + " \"name\": \"stdout\",\n", + " \"output_type\": \"stream\",\n", + " \"text\": [\n", + " \"Time range: 2025-06-30 15:19:44.142000 to 2025-07-03 14:01:04.186000 (2 days, 22:41:20.044000)\\n\",\n", + " \"Total number of requests: 9992\\n\",\n", + " \"Total number of CURIEs: 1300164\\n\",\n", + " \"Total time taken: 4278872.9 ms\\n\",\n", + " \"Average time per CURIE: 5.692698317139622 ms\\n\",\n", + " \"Average throughput: 0.0023351943919624253 nodes/sec\\n\"\n", + " ]\n", + " }\n", + " ],\n", + " \"execution_count\": 55\n", + " \"logs[0:10]\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"dfc3b8e7-be80-44a2-b142-943c0c3c2dbb\",\n", + " \"metadata\": {},\n", + " \"source\": [\n", + " \"## Visualizing the logs\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"markdown\",\n", + " \"id\": \"9650b40f-4ddf-4157-84c3-cb8dd9466491\",\n", + " \"metadata\": {},\n", + " \"source\": []\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 15,\n", + " \"id\": \"7a52c4d7-21da-42f5-94cc-e5957ec9bcb6\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"text/html\": [\n", + " \"
\\n\",\n", + " \"\\n\",\n", + " \"\\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \" \\n\",\n", + " \"
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\\n\",\n", + " \"
\"\n", + " ],\n", + " \"text/plain\": [\n", + " \" time curies curie_count time_taken_ms \\\\\\n\",\n", + " \"0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \\n\",\n", + " \"1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \\n\",\n", + " \"2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \\n\",\n", + " \"3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \\n\",\n", + " \"4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \\n\",\n", + " \"\\n\",\n", + " \" time_taken_per_curie_ms arguments \\\\\\n\",\n", + " \"0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\n\",\n", + " \"1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \\n\",\n", + " \"2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \\n\",\n", + " \"3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\n\",\n", + " \"4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \\n\",\n", + " \"\\n\",\n", + " \" node throughput_cps \\n\",\n", + " \"0 476.190476 \\n\",\n", + " \"1 666.666667 \\n\",\n", + " \"2 311.526480 \\n\",\n", + " \"3 507.614213 \\n\",\n", + " \"4 469.483568 \"\n", + " ]\n", + " },\n", + " \"execution_count\": 15,\n", + " \"metadata\": {},\n", + " \"output_type\": \"execute_result\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"import pandas as pd\\n\",\n", + " \"import numpy as np\\n\",\n", + " \"import matplotlib.pyplot as plt\\n\",\n", + " \"from dataclasses import asdict\\n\",\n", + " \"\\n\",\n", + " \"# Assume `records` is your list of dataclass instances\\n\",\n", + " \"# Convert to DataFrame\\n\",\n", + " \"df = pd.DataFrame([asdict(r) for r in logs])\\n\",\n", + " \"df['time'] = pd.to_datetime(df['time'])\\n\",\n", + " \"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\\n\",\n", + " \"\\n\",\n", + " \"df.head()\\n\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 10,\n", + " \"id\": \"3f0f62a4-fe2f-4e9c-8236-6e93785e1588\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# Graph 1. CURIE count vs time taken.\\n\",\n", + " \"\\n\",\n", + " \"# —————————————————————\\n\",\n", + " \"# 2) Group by batch size\\n\",\n", + " \"# —————————————————————\\n\",\n", + " \"groups = [grp['time_taken_per_curie_ms'].values\\n\",\n", + " \" for _, grp in df.groupby('curie_count')]\\n\",\n", + " \"\\n\",\n", + " \"labels = [str(size) for size, _ in df.groupby('curie_count')]\\n\",\n", + " \"\\n\",\n", + " \"del groups[0]\\n\",\n", + " \"del labels[0]\\n\",\n", + " \"\\n\",\n", + " \"# —————————————————————\\n\",\n", + " \"# 3) Boxplot of per‑CURIE time by batch size\\n\",\n", + " \"# —————————————————————\\n\",\n", + " \"plt.figure(figsize=(10,6))\\n\",\n", + " \"plt.boxplot(groups, tick_labels=labels, showfliers=True)\\n\",\n", + " \"plt.xlabel(\\\"Number of CURIEs in Batch\\\")\\n\",\n", + " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", + " \"plt.title(\\\"Distribution of Time per CURIE by Batch Size\\\")\\n\",\n", + " \"plt.xticks(rotation=45)\\n\",\n", + " \"plt.tight_layout()\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 16,\n", + " \"id\": \"ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# Scatter plot\\n\",\n", + " \"plt.figure(figsize=(10,6))\\n\",\n", + " \"plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\\n\",\n", + " \"\\n\",\n", + " \"# Fit a linear regression line\\n\",\n", + " \"m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\\n\",\n", + " \"x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\\n\",\n", + " \"plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\\n\",\n", + " \"\\n\",\n", + " \"# Labels and title\\n\",\n", + " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", + " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", + " \"plt.title(\\\"Time per CURIE vs. CURIE Count with Regression Line\\\")\\n\",\n", + " \"plt.legend()\\n\",\n", + " \"plt.grid(True)\\n\",\n", + " \"plt.tight_layout()\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 32,\n", + " \"id\": \"2ca9ccd5-7f93-4f0c-b41f-19c7a863178e\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# 1. Time series of throughput (curies per second)\\n\",\n", + " \"plt.figure()\\n\",\n", + " \"plt.plot(df['time'], df['throughput_cps'])\\n\",\n", + " \"plt.xlabel(\\\"Time\\\")\\n\",\n", + " \"plt.ylabel(\\\"Throughput (CURIEs/sec)\\\")\\n\",\n", + " \"plt.title(\\\"System Throughput Over Time\\\")\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 33,\n", + " \"id\": \"9c064d44-4c6b-40f9-bc83-63a94d02463b\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# 2. Histogram of time per CURIE\\n\",\n", + " \"plt.figure()\\n\",\n", + " \"plt.hist(df['time_taken_per_curie_ms'], bins=50)\\n\",\n", + " \"plt.xlabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.title(\\\"Distribution of Time Taken per CURIE\\\")\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": 34,\n", + " \"id\": \"0dd31031-25d0-42f7-977b-93cb194228f8\",\n", + " \"metadata\": {},\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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\",\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ]\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"source\": [\n", + " \"# 3. Boxplot to highlight outliers in time per CURIE\\n\",\n", + " \"plt.figure()\\n\",\n", + " \"plt.boxplot(df['time_taken_per_curie_ms'])\\n\",\n", + " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", + " \"plt.title(\\\"Boxplot of Time per CURIE (Outliers Shown)\\\")\\n\",\n", + " \"plt.show()\"\n", + " ]\n", + " },\n", + " {\n", + " \"cell_type\": \"code\",\n", + " \"execution_count\": null,\n", + " \"id\": \"fee5ecb0-a7a6-4797-930c-5d89074acc91\",\n", + " \"metadata\": {},\n", + " \"outputs\": [],\n", + " \"source\": []\n", + " }\n", + " ],\n", + " \"metadata\": {\n", + " \"kernelspec\": {\n", + " \"display_name\": \"Python 3 (ipykernel)\",\n", + " \"language\": \"python\",\n", + " \"name\": \"python3\"\n", + " },\n", + " \"language_info\": {\n", + " \"codemirror_mode\": {\n", + " \"name\": \"ipython\",\n", + " \"version\": 3\n", + " },\n", + " \"file_extension\": \".py\",\n", + " \"mimetype\": \"text/x-python\",\n", + " \"name\": \"python\",\n", + " \"nbconvert_exporter\": \"python\",\n", + " \"pygments_lexer\": \"ipython3\",\n", + " \"version\": \"3.13.5\"\n", + " }\n", + " },\n", + " \"nbformat\": 4,\n", + " \"nbformat_minor\": 5\n", + "}\n" ], - "source": [ - "%pip install pandas matplotlib numpy" - ] - }, - { - "cell_type": "markdown", - "id": "3a6bab9f-897e-4c96-84c8-3e402676e753", - "metadata": {}, - "source": [ - "## Loading files\n", - "\n", - "These files can be checked into the repository into the `logs/` subdirectory." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea", - "metadata": {}, - "outputs": [], - "source": [ - "logfile = \"logs/nodenorm-renci-logs-2025jun18.txt\"" - ] - }, - { - "cell_type": "markdown", - "id": "67ca8f70-adaa-4883-ac51-1c0ec235bd13", - "metadata": {}, - "source": [ - "We can use Python dataclasses to load the important information from the logfile." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "42805620-22f8-4469-845a-a5fd40ae7a3d", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "from dataclasses import dataclass, field\n", - "from datetime import datetime\n", - "import logging\n", - "import re\n", - "import ast\n", - "\n", - "logging.basicConfig(level=logging.INFO)\n", - "\n", - "@dataclass\n", - "class LogEntry:\n", - " time: datetime\n", - " curies: list[str]\n", - " curie_count: int\n", - " time_taken_ms: float\n", - " time_taken_per_curie_ms: float\n", - " arguments: dict[str, str]\n", - " node: str = \"\"\n", - "\n", - "def convert_log_line_into_entry(line: str) -> LogEntry: \n", - " # Depending on where the log file comes from, it might start with one of two types of timestamps:\n", - " # - ISO 8601 date (e.g. \"2007-04-05T12:30−02:00\"), which will be separated from the rest of the log line with a tab character.\n", - " # - Python log format date (e.g. \"2025-06-12 13:01:49,319\"), which should always be in UTC.\n", - "\n", - " # Entry variables.\n", - " log_time = None\n", - " curies = []\n", - " curie_count = -1\n", - " time_taken_ms = -1.0\n", - " arguments = {}\n", - "\n", - " # Parse the datetime stamp.\n", - " iso8601date_match = re.match(r'^(\\d{4}-\\d{2}-\\d{2}(?:[T ]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?)?)\\t', line)\n", - " if iso8601date_match:\n", - " log_time = datetime.fromisoformat(iso8601date_match.group(1))\n", - " else:\n", - " # TODO raise exception\n", - " logging.error(f\"Could not identify the datetime for the line: {line}\")\n", - "\n", - " # Parse the log text.\n", - " log_text_match = re.search(r'\\| INFO \\| normalizer:get_normalized_nodes \\| Normalized (\\d+) nodes in ([\\d\\.]+) ms with arguments \\((.*)\\)', line)\n", - " if not log_text_match:\n", - " raise ValueError(f\"Could not find NodeNorm log-line: {line}\")\n", - " curie_count = int(log_text_match.group(1))\n", - " time_taken_ms = float(log_text_match.group(2))\n", - " argument_text = log_text_match.group(3)\n", - "\n", - " # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\n", - " argument_fn_call = f'arguments({argument_text})'\n", - " tree = ast.parse(argument_fn_call, mode=\"eval\")\n", - " call_node = tree.body\n", - " for kw in call_node.keywords:\n", - " arguments[kw.arg] = ast.literal_eval(kw.value)\n", - "\n", - " # Some assertions.\n", - " if 'curies' not in arguments:\n", - " raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\n", - " curies = arguments['curies']\n", - " if len(curies) != curie_count:\n", - " raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\n", - " if len(curies) < 1:\n", - " raise ValueError(f'Found no CURIEs in line: {line}')\n", - " \n", - " # Emit the LogEntry.\n", - " return LogEntry(\n", - " time=log_time,\n", - " curies=curies,\n", - " curie_count=curie_count,\n", - " time_taken_ms=time_taken_ms,\n", - " time_taken_per_curie_ms=time_taken_ms/curie_count,\n", - " arguments=arguments\n", - " )\n", - "\n", - "logs = []\n", - "with open(logfile, 'r') as logf:\n", - " for line in logf:\n", - " # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\n", - " if \"normalizer:get_normalized_nodes\" not in line:\n", - " continue\n", - " \n", - " logs.append(convert_log_line_into_entry(line))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", - " LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "logs[0:10]" - ] - }, - { - "cell_type": "markdown", - "id": "dfc3b8e7-be80-44a2-b142-943c0c3c2dbb", - "metadata": {}, - "source": [ - "## Visualizing the logs" - ] - }, - { - "cell_type": "markdown", - "id": "9650b40f-4ddf-4157-84c3-cb8dd9466491", - "metadata": {}, - "source": [] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "7a52c4d7-21da-42f5-94cc-e5957ec9bcb6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\n", - "
" - ], - "text/plain": [ - " time curies curie_count time_taken_ms \\\n", - "0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \n", - "1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \n", - "2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \n", - "3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \n", - "4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \n", - "\n", - " time_taken_per_curie_ms arguments \\\n", - "0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \n", - "1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \n", - "2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \n", - "3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \n", - "4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \n", - "\n", - " node throughput_cps \n", - "0 476.190476 \n", - "1 666.666667 \n", - "2 311.526480 \n", - "3 507.614213 \n", - "4 469.483568 " - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from dataclasses import asdict\n", - "\n", - "# Assume `records` is your list of dataclass instances\n", - "# Convert to DataFrame\n", - "df = pd.DataFrame([asdict(r) for r in logs])\n", - "df['time'] = pd.to_datetime(df['time'])\n", - "df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\n", - "\n", - "df.head()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "3f0f62a4-fe2f-4e9c-8236-6e93785e1588", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWVq7fZZpt5tg1gYTC8HKAZxFDieVUxj6Gh4a9//euXLjoWvYwxvLuxoic1eo5LogeuR48e6Z///GcqUtx+DKE98sgj62yPXub4Tl2/AnP0vpd63UKMBogexxdffHG+9xND56OwVu355XG/0SN47733pnKIHsXar3sMrY+e7j333LNme2yLv9V+jNFLH6MIoicxejhLp3h+ogc9ik7NTwwPjiG/JfE8xn4QQ52j+N+XuZ8YddCYkQFVVVX5Z+19rgjRkxntidc+HkfUUrjkkkvy/t0YMew+pnrUP51//vmNun4UIqvdUx29qBtuuGGd91U859GDHKM9avdyxwiTeD4bI6YllNoWU1eiWFzsW/WnC9QetfLBBx/kHvJ4XsaNGzff+4jPopjaEVXEa88fL6k/hDt6wmtvi/uJfSam18zLd7/73TzaInr5Y2TL2Wefna/bt2/fPMqisWKUQczbj1Ek8XyEGLkTIzyiGFuMBirtzzGcfquttsr7c0sv9Ai0foaXAzSDCHn15ybWFkN+o2JyfGmOqubxZTCGGUdQiKGQjRFf9JtSNC2+0NYWX5Zj7u6Czmeen/gCHuGvfviKod6lv9cWw5vri0AYAWJ+9xOPsf7zN7f7WRgi0NUPqDHHNIbU1g8wsb32Y4zg8NRTT8014NYvONWQeH3r30+/fv3yz3jdI6g29X5Kw9/npzQ0u7mW0AsNrXUfwS+GT8fQ7hhWHNMRIvg1VhwQigMMX1b991XpOY7q7CUxlD8OcEXQjvd6hL4ogLbLLrs0+qBEhPnaQTgOLsVw9RjOHVNVSp8FMYz8pz/9aQ6fMed6Xs9dfTEfOw6WRD2Fxqj/Xi0N6Z/fezXEEotxiiHrUZsihqTHNIt4LBMnTpzn52eIxxfTJuJ5iHnlJbE/h5hOMTdxIKIp0w8AmpvQDbCAYp5ifKmrvdxUfdEbFT0u0fMVBb2i1ye+dMacw5gL3pjlipoyD7ux5vbFPELMwlpCaW73U7/oWiWY22NpzGOMYBZh7cc//nGDly2F5wXV1Ptp7H4Xc4FDzG1uzJJ3pSrVMTe/IRHOGqpkHaG3FJojsMVzGweyouezod7acog2Rc9rLIcVPbNRuyF6vhekanocXIrHGHO4I2hGwcGYrxzzuaOGQNxPBP0Y7RHzmYtY/7o53qtR5Cx6uePUvXv3vBRhjH6ZV2iOUB8jBGLfrL/cW6kX+6KLLprrfhcjkQDKSegGWEClQj/RizO/L83R6xWnWNs7KhlHca0I4hEiGtMz1RSlHqDaX4yj6FjtZbGi9ycKKNUXvcSrrLJKzfmmtC2KJt199925x7N2r170ZpX+3hzidqLHNr501+7tbu77WVhiiH2MmFiQXth4feN1rv16xVrWoVRhvjnupyFRyCpCWQyFbkwxtdLr89xzz+Uq6vUDd1Ta33bbbed7O/EeinB7yimnNLrqfXO+r0rPcf0K/jHEPIa9x7raESpjZMH8PiPmJwrVhXj9ws0335wPTEShwph+UhKhu76G3sPRphihULv6+sJUOkgSBfzmJt7fUSQuPqficyVCe22lqSnxOJp7nwZoLuZ0AyyAGN4a8xNjCG58MZyb999//wvbSr0ypSGhMe83NBSCv4xSleWSqEYcX24jHNX+whpr59ZeGiiGq9ZfWqwpbdthhx1yT/kvfvGLOtujanl88a99/wsi7ifmKdeunByhJKo8R89WVOiuJDHn+6GHHsoBqr543kuBa16iN/XWW2+tOR9Dh2M/iH0thpY31/00JIJzVO+PkRvxGjQUniKExsiQEAefYoh0rK9df87tb37zm9yOxuwrMTc+qrDH44khyEWLOdC1l/z673//m5erqt/W0rrv0TMb4ThWHai/3FdTRNXueG7jOStNoYiDHPGeqj28PqYRRBvri/dw/fdvHKyKOepxYOCxxx4rbLRJVC5vSGkefNQ4mJvoCY/XNobnNzTVISqWx+dYLJ1WOhhRW2OWNAMomp5ugEaK3qroRY0w8Pbbb+fAHUWOosfub3/7W4NDYUtiya0YXh5L+MTlY95sDAeNub6xdneIL44RIGKeY/QQx5fkKNDU2Dm19cXSTnHbUXwt2hvL+8QQ+NrLmsUc8wjjsb5thLFYTzd6KmsXNmtq26IoUwyDjR7ICACxdnaEhSgiF+s317/tLyvm9sa60LFEWMwRjZ7GeCwxlDcea9EFvZpbLKkW+1EMmY7HFGEiikHFcO14XPFcxnDceYnht7FM26OPPpqXr/rd736XX/vaPZ/NcT9zE6E69qEoZhcFv+I+YjRFLP8WBdzi/RPhM8Qc3liGLnqoY3h0DJOOXsworBUBK3q5Y19qjFgeLl7zKIYWS2bNS7x/Yx9vSBShKx1gmpt4D8X7KtaxjgNmcb+xtF1Dw/WjtzvWJg9NHVpe+rwJ8XkRw8Wjlz2G0pfmz8fnSYyaifdvDGePy0UBtmhjjAKpLV7n6CmOy0fNhXjvxns4RtzE+zMOUsV7KgJ9HJyL1yuKnpWKQC6ImMse9xevZ7z/Y3+LtkTYj/W75/Y6xz4ZBzVj/4jHVv91i+c0DhzEgY046BFD7uPzLupfxIGRGEUUz1XcD0BZLZQa6QAVrP4SPrHszQorrJCXoonlt2ovTTW3JcP+/e9/V++yyy55GaG4fvyMZYXqL9v017/+tXqNNdaobt++fZ3lhWLppFhCqSFzWzLsuuuuqz7xxBOrv/KVr+RljmLJrJdffvkL17/kkkvy8mKxJNGQIUOqH3vssS/c5rzaVn/JsDB9+vS8nFA8zsUWWywv6XPRRRfVWdInxO0cdthhX2jT3JYyq+/tt9+uPvDAA6u7d++en9e11167wSWZFtaSYbEsU31ze+0aalM8b/GarbbaavnxxOPaZJNNqi+++OK8FNS8lG7vjjvuqF5nnXXy69m/f/8vLKXV2PspPcZ43Zri888/r77mmmuqhw4dmpfSi9c/2havU0PLicWSbxtttFF+7kptjmXBPv744zqXm197DjjggLyUVGn5uaYuGRanuI+5qX3/8Z7p3bt3bm88zljmriFvvvlmblO/fv0a/fw1tGRYx44dq9dbb73qK6+88gvvoViOK95fpecurl//86e0TN2mm26aPwvib7XfX/G5EEuHLbfccvl2Vllllfy+/OSTT+q0qf6yYqXPmvg5L/FZtPfee1evuuqq+f7j8cRnycknn/yFz8/a77nS7c/tVFvsW7vttlv1sssumx9D7HN77rln/uwFKLd28U95Yz8AsKCipz+qUMf0AFqGWLoqiptFj/6pp55a7uYAUCbmdAMAFGDEiBF5vnVjCssB0HqZ0w0A0Iyi3sOzzz6bzjnnnFyorH5lcwDaFqEbAKAZReHEKAg3ZMiQBiu5A9C2mNMNAAAABTGnGwAAAAoidAMAAEBBKnpO95w5c9Ibb7yRunTpktq1a1fu5gAAANBGVFdXp+nTp6eePXumRRZZpHWG7gjcvXv3LnczAAAAaKNeffXV1KtXr9YZuqOHu/Qgu3btWu7mAAAA0EZUVVXlTuBSLm2Vobs0pDwCt9ANAADAwja/qc4KqQEAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Graph 1. CURIE count vs time taken.\n", - "\n", - "# —————————————————————\n", - "# 2) Group by batch size\n", - "# —————————————————————\n", - "groups = [grp['time_taken_per_curie_ms'].values\n", - " for _, grp in df.groupby('curie_count')]\n", - "\n", - "labels = [str(size) for size, _ in df.groupby('curie_count')]\n", - "\n", - "del groups[0]\n", - "del labels[0]\n", - "\n", - "# —————————————————————\n", - "# 3) Boxplot of per‑CURIE time by batch size\n", - "# —————————————————————\n", - "plt.figure(figsize=(10,6))\n", - "plt.boxplot(groups, tick_labels=labels, showfliers=True)\n", - "plt.xlabel(\"Number of CURIEs in Batch\")\n", - "plt.ylabel(\"Time per CURIE (ms)\")\n", - "plt.title(\"Distribution of Time per CURIE by Batch Size\")\n", - "plt.xticks(rotation=45)\n", - "plt.tight_layout()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rstsH/3HMD4+3uZnCIhbfczsO1nPNbS4Cg8PNz/+fFHn+e6HXbRr+UcffSSLFi2S119/3XTBvfHGG83vEEXdRkGQmppqun23bt1aGjRoYLbl1W8RfrcjI+EZXgMAXtIfZZZGjRqZEK7j+T7//HMz0RQAwP/dddddzr+1xU+/z2vVqmVav9u3b5+vZQO8pWO7dX4A17llgPxGS7efK126tISFhaWbXVEvly9fPt/KBWRGjyTXqVNHdu/ebeqpdrc6c+ZMhnVYzz3Vceu6zPbRGXQJ9sgrVn3M7DtZz9NOmKOz3+qsz76o83z3I6/ocCH9HaLf5Yq6DX83ZMgQM8HfkiVLpHLlys7tefVbhN/tyAih289pV5hmzZqZrl6u3Wb0cqtWrfK1bEBGdPmYPXv2mCWVtP5GRES41WEd26djvq06rOebN292+zGns4/qP2L169d37uN6H9Y+fA6Ql2rUqGF+OLnWRe1WqONZXeuz/rDTcX2WxYsXm+9u7QVi7aOzPusYQ9f6rONoS5Qo4dyHOo/8dODAATOmW7/LFXUb/krnBtTAPXv2bFMn9bvaVV79FuF3OzLkcXo1+JXPPvvMzIw7ffp0M3PogAEDHMWLF3ebXRHIT4899phj6dKljr179zpWrlzp6NChg6N06dJm9lA1cOBAR9WqVR2LFy92rFu3ztGqVStzsiQnJzsaNGjg6NSpk2Pjxo2OuXPnOsqUKeMYNWqUc58///zTUbhwYcfjjz9uZhydPHmyIywszOwL+NL58+cdGzZsMCf9Z3LChAnm77/++stc/9prr5nv4G+//daxadMmM9tzjRo1HPHx8c776NKli6Np06aONWvWOFasWOG47LLLHL1793ZerzPplitXznHPPfc4tmzZYr7ntX7/5z//ce6jn6Xw8HDH+PHjTZ3XVQJ09t3Nmzfn8SuCYKjbet2IESPMTM76Xb5w4ULHlVdeaepuQkKC8z6o2/BHgwYNcsTGxprfIocPH3ae4uLinPvk1W8RfrfDE0J3ATFp0iTzRREZGWmWIvjll1/yu0iA23IZFSpUMPWzUqVK5vLu3bud12sYeeihh8wyMvqP1W233Wb+MXS1b98+x4033ugoVKiQCewa5JOSktz2WbJkiaNJkybmcWrWrOmYNm1anj1HBA+tZxpI0p50OSVr2bBnn33WBAv9YdW+fXvHzp073e7j5MmTJojExMSY5Wb69+9vQo2r33//3XHttdea+9DPjYb5tD7//HNHnTp1TJ3XZWp+/PFHm589grVuazjRsKEhQwNwtWrVHA8++GC6oEDdhj/yVK/15Po7IS9/i/C7HWmF6P8ybgcHAAAAAAA5xZhuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAqAffv2SUhIiGzcuFH8xY4dO+Tqq6+W6OhoadKkSX4XBwAAv0ToBgDAC/369TOh97XXXnPb/s0335jtwej555+XIkWKyM6dO2XRokUZ7nfkyBEZOnSo1KxZU6KioqRKlSrSrVs3t9voa6ivpafX/dZbb3Vebtu2rdlXTxr269SpI2PGjBGHw5HhAQrrsqfTL7/84sNXBACA9MI9bAMAAB5oyHv99dfl3//+t5QoUUICQWJiokRGRubotnv27JGuXbtKtWrVMtxHA2/r1q2lePHiMm7cOGnYsKEkJSXJvHnzZPDgwaa1PLsefPBBefHFF+XSpUuyePFiGTBggLn/QYMGZXq7hQsXyhVXXOG2rVSpUtl+fAAAsoOWbgAAvNShQwcpX768aVnNyAsvvJCuq/XEiROlevXq6VpvX331VSlXrpwJjBoik5OT5fHHH5eSJUtK5cqVZdq0aenuX0PqNddcYw4ANGjQQJYtW+Z2/ZYtW+TGG2+UmJgYc9/33HOPnDhxwq2leMiQIfLoo49K6dKlpXPnzh6fR2pqqimTlkNbp/U5zZ0713m9thKvX7/e7KN/6/P25KGHHjLX//rrr9KzZ0/TMq3Bd/jw4TluZS5cuLB5HzTs9+/fXxo1aiQLFizI8nYasPV2rqeIiAhz3e+//y7t2rWTokWLSrFixaRZs2aybt26HJUPAABXhG4AALwUFhZmgvKkSZPkwIEDubovbaE9dOiQLF++XCZMmGC6at98882mBX3NmjUycOBA06Ke9nE0lD/22GOyYcMGadWqlemmffLkSXPdmTNn5IYbbpCmTZuawKgh+ejRo3LnnXe63ceMGTNM6/bKlSvl3Xff9Vi+t956S9544w0ZP368bNq0yYTzW265RXbt2mWuP3z4sAnPWhb9e8SIEenu49SpU6YM2qKt3dDT0oMNuaFdyn/++WdzICKnrfWWPn36mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Scatter plot\n", - "plt.figure(figsize=(10,6))\n", - "plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\n", - "\n", - "# Fit a linear regression line\n", - "m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\n", - "x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\n", - "plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\n", - "\n", - "# Labels and title\n", - "plt.xlabel(\"Number of CURIEs\")\n", - "plt.ylabel(\"Time per CURIE (ms)\")\n", - "plt.title(\"Time per CURIE vs. CURIE Count with Regression Line\")\n", - "plt.legend()\n", - "plt.grid(True)\n", - "plt.tight_layout()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "2ca9ccd5-7f93-4f0c-b41f-19c7a863178e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHHCAYAAACiOWx7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAeCZJREFUeJzt3QeYE1UXBuCztKV36R2kShVFpIiAgGJBUKQoiCgWVIq/IkoTFRBERAFRUcCGgAoqvSogvfcmS4elLktdtuR/vstOnGST7GR3spnJfu/zhGySYTKZTGbOnHvunTCHw+EQIiIiIvIpg++XiYiIiAgYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0EVGaKFOmjDz88MNiV02aNJE77rgj2IuR7k2ZMkXCwsLk8OHDwV4USocYNBGlwI4dO+SJJ56Q0qVLS9asWaV48eLywAMPyOeffx6Q99u9e7cMGTLEUgeKZ599Vh28krthOkqdkydPqu9/69atfv2/Xbt2ydNPP622z/DwcClWrJh07txZPW+1gNTItoR1QBRMYbz2HJF/Vq9eLffff7+UKlVKunbtKkWKFJFjx47J2rVr5d9//5WDBw+a/p6//PKLPPnkk7J8+XJ1gLGCNWvWqM+riYiIkEGDBkmPHj2kUaNGzufLly8v9evXV5kmZGrmzJkjdoT1fu7cOdm5c2eav/fGjRvlrrvuksmTJxsOQn/77Tfp2LGj5M+fX7p37y5ly5ZVQfc333wj58+fl59//lkef/xxsYLFixdLZGSk8/GGDRvks88+k3feeUeqVKnifL5GjRpSrVo1iY2NVUEgAimitJQpTd+NKAR8+OGHkidPHrVjz5s3r8trZ86ckfQCgRBu+gM7giY8h+yGma5evSo5cuQwdZ6hDMHsM888I+XKlZMVK1bIbbfd5nytV69eKqjF69u3b1fTpBVv3yOytHrI3iJowvOeThIyZswY0OUk8obNc0QpOCDhbNc9YIJChQo5/77vvvukZs2aHudRqVIladmypfMxzvrvvPNOyZUrl+TOnVuqV68uY8eOddZwIMsEyHBpTRV//fWX8//Pnz9fHQhxQMI8WrdunaQJBhmKnDlzytGjR1VtEf5Gs8348eOdTY5NmzZV80Cz408//SSBsGrVKrn77rvVgREH7O+++85jzcrff/8tr7zyilqnJUqUcL4+YcIEtf615qaePXtKVFSUyzyQ1fKUkcEB2P0gfOTIEXn00UfV58Z79enTRxYuXJhkHeubSvE9ZM+eXa2/kSNHuryO/4P/O336dJUpQSYS88Z7ICPp73JifsgyQbdu3ZzfP9aTN6NGjZJr167JV1995RIwQcGCBeXLL79UAYy27MhkauvcHabFa/oM2969e1XzNLJY+B7r1q0rf/zxh1/fo5k1TVq9HNYVliVbtmzqN6R9f8i64TGWFb+zLVu2JJmvkc9ExKCJyE8IKDZt2pRsM412Ju8+HTJU+/fvd2Zj0DSBZpR8+fLJRx99JCNGjFAHzH/++Ue93rhxY3n99dfV3zgIf//99+qmNVvgbwRJCILw/wcOHKgO7A0bNkxSAxUfHy8PPviglCxZUh0wcbB59dVX1YGoVatW6kCBeSDw6tKli2pyMxOaLnFgQgZh9OjR6jMjaPBUY4MDLT4Hsldvv/22eg41LQiSECzh/7dr104d1Fu0aKGabPyFwAGB4pIlS9Q6fvfdd1Xza79+/TxOf/HiRbWeEAzj/StXrqymRdDqKSM5d+5c9Trmje+5efPmcv36db+WEd/z0KFD1d9o+tS+f2wX3vz555/qu9U3k+rh/+J1LB9o28+MGTOSTIvgD0GqVgSP7+qee+6RPXv2qO8F6wFBYZs2bWTWrFmGvsdAwLbVqVMneeSRR2T48OHqu8LfP/74owqE8Xt777331ElP+/btJSEhwfl//f1MlI6hpomIjFu0aJEjY8aM6la/fn3HW2+95Vi4cKHj5s2bLtNFRUU5smbN6ujXr5/L86+//rojR44cjitXrqjHvXr1cuTOndsRFxfn9T1nzpyJ2kPH8uXLXZ6/fPmyI2/evI4XXnjB5fnTp0878uTJ4/J8165d1TyGDRvmfO7ixYuObNmyOcLCwhw///yz8/m9e/eqaQcPHmx4vWzYsEH9n8mTJ3t8vXTp0ur1FStWOJ87c+aMIzw83PHGG284n8P/x3QNGzZ0WSeYNkuWLI4WLVo44uPjnc+PGzdOTf/tt9+6vBc+r7v77rtP3TSjR49W/3f27NnO565fv+6oXLlykvWN/4fnvvvuO+dzMTExjiJFijjatWvnfA7/B9MVL17cER0d7Xx+xowZ6vmxY8f6vZzJrVv37Q7TPvbYYz6ne/TRR9V02jJ27NjRUahQIZd1furUKUeGDBkcQ4cOdT7XrFkzR/Xq1R03btxwPpeQkOC49957Hbfffnuy36MR3rZ3/XwjIiKSbFurV692PoffJJ7D9n3kyBHn819++WWSeRv9TETMNBH5CVkSFEGjuWXbtm0qY4OmNjTV6NP5qHt67LHHZNq0aTg5cWZ6cOaOM1ittgPNfMh4IBPhL/wfNE0hU4UiZe2Gmo969eqpwnF3zz//vPNvvDeaCrEsOPvW4Dm8dujQITFT1apVXbIfaDrCe3l6nxdeeMGldgXZoJs3b0rv3r0lQ4YMLtOhSVPLmvhjwYIF6nvDd6lB0wzm6QmyMfp6rSxZsqimRk/Lj0wdMnYaZNiKFi0q8+bNk0C6fPmyute/tyfa69HR0er+qaeeUjV5+iZJNNshI4PX4MKFC7Js2TK1reB9tO0NheX4DRw4cEBOnDjh83sMFGxb+ho7bP+ATCI6bbg/r31nKflMlH4xaCJKAdSYoE4CTQDr16+X/v37qx0uDoxoitAfOFFDtHLlSueBH72E0HSnb76oWLGiajZDzcdzzz2nDuZGYIeuHRgQgOhvixYtSlKYjoDAvcYFwR3e170nEp7H5zOT/uClQROdp/dBby/32iNAkKWHwAW1Udrr/sD/Qe8+989eoUIFj9N7Wk/elv/22293eYz/h/kGetgILRjSgiejwRWaHfGdI6jX4O9atWqp7VNrAsMJAJqA3be3wYMHq2nctzn37zFQ3LctfBZAU7Sn57XvLCWfidIv9p4jSgUcsBFA4YYDCwp1Z86c6dzZ4ky1cOHC8sMPP6g6EtyjMBi1LRoUyGL8HRQfozYGN3QtR8A1depUn++v1WWgxgXzdZcpk+tP3NsZv7fnzR6RxJ/3QTFvSnnrio5MX2qyHmavp0AsJ4ICZLRQT+cLXkeWDVk6QGG9VsODYnsE96irGzZsWJLt7X//+59LRwZfAWdqvkd/pHTbTslnovSLQRORSVBEDadOnXLZYaM4FYXWKLCePXu2x+YKBF8oWsUNO3Fkn1DgjLNf7LC9HVyRJdECL30gFqoF+LBv3z6XbvJoskPBuv7zI/vj3qNOyyzp/y/micwgDqD6dWzGWFtaFlCD98B8MdaQv8vp73hE6En29ddfq56K6BDgDplPZLxefPFFl+fRDIdAfenSpaooGsusNc2BtkyZM2cOme0tFD8TBQ6b54j8hDohT5kFrVbFvfkITXFoCsAB6sqVK0nGMELthB7qdbQDa0xMjLrX6p/cD7A4M0amANkAT73Hzp49K6ECBzQElxi/R7/+MVjjpUuXVA8wfTCJwUYRUGkwqKZ7l3+sP9Sr6GvRbty4oQKO1MJQCvomMtQHIaBGM6y/y+nt+/fmzTffVBkebHPu2xdqeF566SU1ZAKmc1/H6HKPZjncUK+lb15DcI6enQjo9ScHdt7eQvEzUeAw00Tkp9dee02NgYPRlNHlHAc8dFPHQQbduNFEp1e7dm3VXRvNdug+XqdOnSSF2TiQoS4JNTPIMuByLKgl0YYVwN/ITiFbhQABTSmYHjv8L774QgVmmG+HDh1ULQbqqFAY3aBBAxk3bpyEAnwu1I6h2zjqb1C8jawTmpLQPKoPRrFOEaRgOhT4ops5mka1zJwGQQXWDwrpMegjmrXQRR21X5CaEacRfCDLg+0BTV2ffvqpyhrqi8yNLiceozB/4sSJqgYJQRQKmr3VC6GeChkjXDIF4xO5jwiOQmd0UHB/H2Rb2rZtq8YNQ+eEjz/+OMm8Ma4XPhfmi8+CTA0+HzpHHD9+XHWOsJtQ/EwUIMHuvkdkN/Pnz3c899xzqlt6zpw5VTf4ChUqOF577TVHZGSkx/8zcuTIJN39Nb/88ovqRo/u3phXqVKlHC+++KLq7q339ddfO8qVK6eGOnDvMo2/W7ZsqYYZwDAH5cuXdzz77LOOjRs3OqdB13YMdeAOXdurVauW5Hl0427durWpQw54mp9793qtSznm5wmGGMC6z5w5s6Nw4cKOl19+WQ2d4A7DCaDbP4Y0aNCggVoX7u8Fhw4dUsuFrum33XabGv7g119/Vcuwdu3aZNcT1is+m/uQA9OmTXP0799ffa+YN95D3/Xd3+X8/fffHVWrVnVkypTJ8PAD27dvV0MJFC1aVK0vDI+Axzt27PD6fxYvXqzmj2Eojh075nGaf//919GlSxc1P8wXy//www+rbdno92j2kAOeti1M17NnT5fn8P/w/KhRo/z+TES89hxRGsDo3hhgD2f6nnqQkbUgK4TvC1kGFEv7A132MWI4MovoTUlEoYM1TUQBhvMSNIngsioMmKzHfYRu1DShvgVNXP4GTEQU2ljTRBQgqAlBgTEKx3Fdt99//z3Yi0QeoIYHwSzqxlAvhpoiXIcMtU1ERHoMmogCBL1uMNwACnhxzTj9qNNkHehBN2nSJBUkYXwkjCyNQmh9V3siImBNExEREZEBrGkiIiIiMoBBExEREZEBrGkyCS59cfLkSTXwXGoGxCMiIqK0gyoljN5frFgxdUUGXxg0mQQBk/vVtImIiMgecPkiXJXBFwZNJkGGSVvp2lXDiYiIyNqio6NV0kM7jvvCoMkkWpMcAiYGTURERPZipLSGheBEREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQZAMxcfESn+AI9mIQERGlawyaLO76zXipPmSRPDR2ZbAXhYiIKF1j0GRxW45elJtxCbIv8nKwF4WIiChdY9BEREREZACDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiKweNK1YsUIeeeQRKVasmISFhcns2bOdr8XGxkq/fv2kevXqkiNHDjVNly5d5OTJky7zuHDhgnTu3Fly584tefPmle7du8uVK1dcptm+fbs0atRIsmbNKiVLlpSRI0cmWZaZM2dK5cqV1TR4z3nz5gXwkxMREZHdBDVounr1qtSsWVPGjx+f5LVr167J5s2bZeDAger+t99+k3379smjjz7qMh0Cpl27dsnixYtlzpw5KhDr0aOH8/Xo6Ghp0aKFlC5dWjZt2iSjRo2SIUOGyFdffeWcZvXq1dKxY0cVcG3ZskXatGmjbjt37gzwGiAiIiK7CHM4HJa4EiwyTbNmzVLBijcbNmyQu+++W44cOSKlSpWSPXv2SNWqVdXzdevWVdMsWLBAHnroITl+/LjKTn3xxRfy7rvvyunTpyVLlixqmrfffltltfbu3aseP/XUUyqAQ9Clueeee6RWrVoyceJEQ8uP4CxPnjxy6dIllfUyy+qD56TTpHXq78MjWps2XyIiIhK/jt+2qmnCB0JwhWY4WLNmjfpbC5igefPmkiFDBlm3bp1zmsaNGzsDJmjZsqXKWl28eNE5Df6fHqbB897ExMSoFa2/ERERUeiyTdB048YNVeOEZjQtEkT2qFChQi7TZcqUSfLnz69e06YpXLiwyzTa4+Sm0V73ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 1. Time series of throughput (curies per second)\n", - "plt.figure()\n", - "plt.plot(df['time'], df['throughput_cps'])\n", - "plt.xlabel(\"Time\")\n", - "plt.ylabel(\"Throughput (CURIEs/sec)\")\n", - "plt.title(\"System Throughput Over Time\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "9c064d44-4c6b-40f9-bc83-63a94d02463b", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 2. Histogram of time per CURIE\n", - "plt.figure()\n", - "plt.hist(df['time_taken_per_curie_ms'], bins=50)\n", - "plt.xlabel(\"Time per CURIE (ms)\")\n", - "plt.ylabel(\"Frequency\")\n", - "plt.title(\"Distribution of Time Taken per CURIE\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "0dd31031-25d0-42f7-977b-93cb194228f8", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 3. Boxplot to highlight outliers in time per CURIE\n", - "plt.figure()\n", - "plt.boxplot(df['time_taken_per_curie_ms'])\n", - "plt.ylabel(\"Time per CURIE (ms)\")\n", - "plt.title(\"Boxplot of Time per CURIE (Outliers Shown)\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fee5ecb0-a7a6-4797-930c-5d89074acc91", - "metadata": {}, - "outputs": [], - "source": [] + "id": "724e9f735fea9bd3" } ], "metadata": { diff --git a/log-analysis/logs/README.md b/log-analysis/logs/README.md new file mode 100644 index 0000000..04a0ea6 --- /dev/null +++ b/log-analysis/logs/README.md @@ -0,0 +1,15 @@ +# Logs + +To download logs from AWS, using the following Logs Insights query: + +``` +fields @timestamp, @message, @logStream, @log +| filter @message like "normalizer:get_normalized_nodes" +| sort @timestamp desc +| limit 10000 +``` + +(Why 10K? Because that's the maximum it'll let you download.) + +Download the logs in JSON. Some of them will still be truncated, but +at least the JSON will be well-formed. From 43a8404aab9e60b0042412c71c971f1baea8b821 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 3 Jul 2025 15:59:34 -0400 Subject: [PATCH 04/12] Cleaned up analysis. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git c/log-analysis/NodeNorm_log_analysis.ipynb i/log-analysis/NodeNorm_log_analysis.ipynb index a84f196..0fac00e 100644 --- c/log-analysis/NodeNorm_log_analysis.ipynb +++ i/log-analysis/NodeNorm_log_analysis.ipynb @@ -32,35 +32,51 @@ " },\n", " {\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 14,\n", " \"id\": \"721be6fa-7f14-4979-bffb-5a32cb316444\",\n", - " \"metadata\": {},\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:47:15.465380Z\",\n", + " \"start_time\": \"2025-07-03T19:47:13.789441Z\"\n", + " }\n", + " },\n", + " \"source\": [\n", + " \"import csv\\n\",\n", + " \"%pip install pandas matplotlib numpy seaborn\"\n", + " ],\n", " \"outputs\": [\n", " {\n", " \"name\": \"stdout\",\n", " \"output_type\": \"stream\",\n", " \"text\": [\n", - " \"Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\n\",\n", - " \"Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\\n\",\n", - " \"Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\n\",\n", - " \"Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\n\",\n", - " \"Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\n\",\n", - " \"Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\n\",\n", - " \"Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\n\",\n", - " \"Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\n\",\n", - " \"Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\n\",\n", - " \"Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\n\",\n", - " \"Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\\n\",\n", - " \"Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\\n\",\n", - " \"Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\n\",\n", - " \"Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\\n\",\n", + " \"Requirement already satisfied: pandas in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.0)\\r\\n\",\n", + " \"Requirement already satisfied: matplotlib in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (3.10.3)\\r\\n\",\n", + " \"Requirement already satisfied: numpy in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.1)\\r\\n\",\n", + " \"Collecting seaborn\\r\\n\",\n", + " \" Obtaining dependency information for seaborn from https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl.metadata\\r\\n\",\n", + " \" Downloading seaborn-0.13.2-py3-none-any.whl.metadata (5.4 kB)\\r\\n\",\n", + " \"Requirement already satisfied: python-dateutil>=2.8.2 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\r\\n\",\n", + " \"Requirement already satisfied: pytz>=2020.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\\r\\n\",\n", + " \"Requirement already satisfied: tzdata>=2022.7 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\\r\\n\",\n", + " \"Requirement already satisfied: contourpy>=1.0.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\r\\n\",\n", + " \"Requirement already satisfied: cycler>=0.10 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\r\\n\",\n", + " \"Requirement already satisfied: fonttools>=4.22.0 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\r\\n\",\n", + " \"Requirement already satisfied: kiwisolver>=1.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\r\\n\",\n", + " \"Requirement already satisfied: packaging>=20.0 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (24.1)\\r\\n\",\n", + " \"Requirement already satisfied: pillow>=8 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (11.3.0)\\r\\n\",\n", + " \"Requirement already satisfied: pyparsing>=2.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\r\\n\",\n", + " \"Requirement already satisfied: six>=1.5 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\\r\\n\",\n", + " \"Downloading seaborn-0.13.2-py3-none-any.whl (294 kB)\\r\\n\",\n", + " \"\\u001B[2K \\u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\u001B[0m \\u001B[32m294.9/294.9 kB\\u001B[0m \\u001B[31m3.5 MB/s\\u001B[0m eta \\u001B[36m0:00:00\\u001B[0ma \\u001B[36m0:00:01\\u001B[0m\\r\\n\",\n", + " \"\\u001B[?25hInstalling collected packages: seaborn\\r\\n\",\n", + " \"Successfully installed seaborn-0.13.2\\r\\n\",\n", + " \"\\r\\n\",\n", + " \"\\u001B[1m[\\u001B[0m\\u001B[34;49mnotice\\u001B[0m\\u001B[1;39;49m]\\u001B[0m\\u001B[39;49m A new release of pip is available: \\u001B[0m\\u001B[31;49m23.2.1\\u001B[0m\\u001B[39;49m -> \\u001B[0m\\u001B[32;49m25.1.1\\u001B[0m\\r\\n\",\n", + " \"\\u001B[1m[\\u001B[0m\\u001B[34;49mnotice\\u001B[0m\\u001B[1;39;49m]\\u001B[0m\\u001B[39;49m To update, run: \\u001B[0m\\u001B[32;49mpip install --upgrade pip\\u001B[0m\\r\\n\",\n", " \"Note: you may need to restart the kernel to use updated packages.\\n\"\n", " ]\n", " }\n", " ],\n", - " \"source\": [\n", - " \"%pip install pandas matplotlib numpy\"\n", - " ]\n", + " \"execution_count\": 72\n", " },\n", " {\n", " \"cell_type\": \"markdown\",\n", @@ -74,13 +90,21 @@ " },\n", " {\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 3,\n", " \"id\": \"c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea\",\n", - " \"metadata\": {},\n", - " \"outputs\": [],\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T15:08:37.248772Z\",\n", + " \"start_time\": \"2025-07-03T15:08:37.247086Z\"\n", + " }\n", + " },\n", " \"source\": [\n", - " \"logfile = \\\"logs/nodenorm-renci-logs-2025jun18.txt\\\"\"\n", - " ]\n", + " \"logfiles_json_gz = [\\n\",\n", + " \" \\\"logs/nodenorm-ci-logs-2025jul3-10k.json.gz\\\",\\n\",\n", + " \" \\\"logs/nodenorm-ci-logs-2025jun26-to-2025jun29.json.gz\\\"\\n\",\n", + " \"]\"\n", + " ],\n", + " \"outputs\": [],\n", + " \"execution_count\": 56\n", " },\n", " {\n", " \"cell_type\": \"markdown\",\n", @@ -92,15 +116,20 @@ " },\n", " {\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 4,\n", " \"id\": \"42805620-22f8-4469-845a-a5fd40ae7a3d\",\n", " \"metadata\": {\n", - " \"scrolled\": true\n", + " \"scrolled\": true,\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T14:27:45.146407Z\",\n", + " \"start_time\": \"2025-07-03T14:27:45.139031Z\"\n", + " }\n", " },\n", - " \"outputs\": [],\n", " \"source\": [\n", - " \"from dataclasses import dataclass, field\\n\",\n", + " \"import json\\n\",\n", + " \"from dataclasses import dataclass\\n\",\n", " \"from datetime import datetime\\n\",\n", + " \"import csv\\n\",\n", + " \"import gzip\\n\",\n", " \"import logging\\n\",\n", " \"import re\\n\",\n", " \"import ast\\n\",\n", @@ -117,7 +146,7 @@ " \" arguments: dict[str, str]\\n\",\n", " \" node: str = \\\"\\\"\\n\",\n", " \"\\n\",\n", - " \"def convert_log_line_into_entry(line: str) -> LogEntry: \\n\",\n", + " \"def convert_log_line_into_entry(line: str) -> list[LogEntry]:\\n\",\n", " \" # Depending on where the log file comes from, it might start with one of two types of timestamps:\\n\",\n", " \" # - ISO 8601 date (e.g. \\\"2007-04-05T12:30−02:00\\\"), which will be separated from the rest of the log line with a tab character.\\n\",\n", " \" # - Python log format date (e.g. \\\"2025-06-12 13:01:49,319\\\"), which should always be in UTC.\\n\",\n", @@ -130,17 +159,20 @@ " \" arguments = {}\\n\",\n", " \"\\n\",\n", " \" # Parse the datetime stamp.\\n\",\n", - " \" iso8601date_match = re.match(r'^(\\\\d{4}-\\\\d{2}-\\\\d{2}(?:[T ]\\\\d{2}:\\\\d{2}(?::\\\\d{2}(?:\\\\.\\\\d+)?(?:Z|[+-]\\\\d{2}:\\\\d{2})?)?)?)\\\\t', line)\\n\",\n", + " \" iso8601date_match = re.match(r'^(\\\\d{4}-\\\\d{2}-\\\\d{2}(?:[T ]\\\\d{2}:\\\\d{2}(?::\\\\d{2}(?:[\\\\.,]\\\\d+)?(?:Z|[+-]\\\\d{2}:\\\\d{2})?)?)?) |', line)\\n\",\n", " \" if iso8601date_match:\\n\",\n", " \" log_time = datetime.fromisoformat(iso8601date_match.group(1))\\n\",\n", " \" else:\\n\",\n", - " \" # TODO raise exception\\n\",\n", - " \" logging.error(f\\\"Could not identify the datetime for the line: {line}\\\")\\n\",\n", + " \" raise ValueError(f\\\"Could not identify the datetime for the line: '{line}'\\\")\\n\",\n", + " \"\\n\",\n", + " \" # Is the log line too long?\\n\",\n", + " \" if len(line) > 81_900: # Longest we've seen is 114688, and that was truncated.\\n\",\n", + " \" return []\\n\",\n", " \"\\n\",\n", " \" # Parse the log text.\\n\",\n", " \" log_text_match = re.search(r'\\\\| INFO \\\\| normalizer:get_normalized_nodes \\\\| Normalized (\\\\d+) nodes in ([\\\\d\\\\.]+) ms with arguments \\\\((.*)\\\\)', line)\\n\",\n", " \" if not log_text_match:\\n\",\n", - " \" raise ValueError(f\\\"Could not find NodeNorm log-line: {line}\\\")\\n\",\n", + " \" raise ValueError(f\\\"Could not find NodeNorm log-line (length: {len(line)}): {line}\\\")\\n\",\n", " \" curie_count = int(log_text_match.group(1))\\n\",\n", " \" time_taken_ms = float(log_text_match.group(2))\\n\",\n", " \" argument_text = log_text_match.group(3)\\n\",\n", @@ -160,54 +192,92 @@ " \" raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\\n\",\n", " \" if len(curies) < 1:\\n\",\n", " \" raise ValueError(f'Found no CURIEs in line: {line}')\\n\",\n", - " \" \\n\",\n", + " \"\\n\",\n", " \" # Emit the LogEntry.\\n\",\n", - " \" return LogEntry(\\n\",\n", + " \" return [LogEntry(\\n\",\n", " \" time=log_time,\\n\",\n", " \" curies=curies,\\n\",\n", " \" curie_count=curie_count,\\n\",\n", " \" time_taken_ms=time_taken_ms,\\n\",\n", " \" time_taken_per_curie_ms=time_taken_ms/curie_count,\\n\",\n", " \" arguments=arguments\\n\",\n", - " \" )\\n\",\n", + " \" )]\"\n", + " ],\n", + " \"outputs\": [],\n", + " \"execution_count\": 35\n", + " },\n", + " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T15:08:57.067103Z\",\n", + " \"start_time\": \"2025-07-03T15:08:54.423827Z\"\n", + " }\n", + " },\n", + " \"cell_type\": \"code\",\n", + " \"source\": [\n", + " \"import sys\\n\",\n", " \"\\n\",\n", " \"logs = []\\n\",\n", - " \"with open(logfile, 'r') as logf:\\n\",\n", - " \" for line in logf:\\n\",\n", - " \" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\n\",\n", - " \" if \\\"normalizer:get_normalized_nodes\\\" not in line:\\n\",\n", - " \" continue\\n\",\n", - " \" \\n\",\n", - " \" logs.append(convert_log_line_into_entry(line))\"\n", - " ]\n", + " \"for logfile_json_gz in logfiles_json_gz:\\n\",\n", + " \" print(f\\\"Loading logfile {logfile_json_gz}\\\")\\n\",\n", + " \" with gzip.open(logfile_json_gz, 'rt') as logf:\\n\",\n", + " \" # The entire log file from AWS is one massive JSON list *curses*.\\n\",\n", + " \" data = json.load(logf)\\n\",\n", + " \" for row in data:\\n\",\n", + " \" # print(f\\\"Processing row: {row}\\\")\\n\",\n", + " \"\\n\",\n", + " \" # Weirdly enough, AWS logs are wrapped in TWO layers:\\n\",\n", + " \" message = row['@message']\\n\",\n", + " \" if isinstance(message, dict):\\n\",\n", + " \" line = row['@message']['log']\\n\",\n", + " \" else:\\n\",\n", + " \" # This will probably (?) be an incomplete log line, so let's skip it.\\n\",\n", + " \" continue\\n\",\n", + " \"\\n\",\n", + " \" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\n\",\n", + " \" if \\\"normalizer:get_normalized_nodes\\\" not in line:\\n\",\n", + " \" continue\\n\",\n", + " \"\\n\",\n", + " \" logs.extend(convert_log_line_into_entry(line))\"\n", + " ],\n", + " \"id\": \"77059385da4ddcc9\",\n", + " \"outputs\": [],\n", + " \"execution_count\": 57\n", " },\n", " {\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 5,\n", " \"id\": \"227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc\",\n", - " \"metadata\": {},\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T15:09:08.592424Z\",\n", + " \"start_time\": \"2025-07-03T15:09:08.590150Z\"\n", + " }\n", + " },\n", + " \"source\": [\n", + " \"logs[0:10]\"\n", + " ],\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", " \"text/plain\": [\n", - " \"[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]\"\n", + " \"[LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 4, 186000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=48.27, time_taken_per_curie_ms=1.9308, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 537000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.73, time_taken_per_curie_ms=11.73, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 308000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.74, time_taken_per_curie_ms=11.74, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 241000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.35, time_taken_per_curie_ms=12.35, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 4, 335000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=71.37, time_taken_per_curie_ms=2.8548, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 608000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=16.55, time_taken_per_curie_ms=16.55, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 386000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.73, time_taken_per_curie_ms=11.73, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 319000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=17.6, time_taken_per_curie_ms=17.6, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 873000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=47.77, time_taken_per_curie_ms=1.9108, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 183000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.33, time_taken_per_curie_ms=12.33, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node='')]\"\n", " ]\n", " },\n", - " \"execution_count\": 5,\n", + " \"execution_count\": 58,\n", " \"metadata\": {},\n", " \"output_type\": \"execute_result\"\n", " }\n", " ],\n", - " \"execution_count\": 50\n", + " \"execution_count\": 58\n", " },\n", " {\n", " \"metadata\": {},\n", @@ -224,23 +294,23 @@ " {\n", " \"metadata\": {\n", " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T14:54:04.252739Z\",\n", - " \"start_time\": \"2025-07-03T14:54:04.246303Z\"\n", + " \"end_time\": \"2025-07-03T19:48:02.050286Z\",\n", + " \"start_time\": \"2025-07-03T19:48:01.872030Z\"\n", " }\n", " },\n", " \"cell_type\": \"code\",\n", + " \"cell_type\": \"raw\",\n", " \"source\": [\n", " \"times = sorted(list(set(map(lambda x: x.time, logs))))\\n\",\n", " \"count_requests = len(logs)\\n\",\n", + " \"unique_curies = sorted(set([x for xs in map(lambda x: x.curies, logs) for x in xs]))\\n\",\n", " \"\\n\",\n", " \"print(f\\\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\\\")\\n\",\n", " \"print(f\\\"Total number of requests: {count_requests}\\\")\\n\",\n", " \"print(f\\\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\\\")\\n\",\n", " \"print(f\\\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\\\")\\n\",\n", - " \"print(f\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_per_curie_ms, logs))/count_requests} ms\\\")\\n\",\n", - " \"print(f\\\"Average throughput: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec\\\")\\n\",\n", - " \"#print(f\\\"Average throughput per CURIE: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec per CURIE\\\")\\n\",\n", - " \"#print(f\\\"Total number of unique CURIEs: {len(set(sum(map(lambda x: x.curies, logs), [])))}\\\")\"\n", + " \"print(f\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_ms, logs))/count_requests} ms\\\")\\n\",\n", + " \"print(f\\\"Total number of unique CURIEs: {len(unique_curies)}\\\")\"\n", " ],\n", " \"id\": \"702b88dac738feb0\",\n", " \"outputs\": [\n", @@ -248,341 +318,804 @@ " \"name\": \"stdout\",\n", " \"output_type\": \"stream\",\n", " \"text\": [\n", - " \"Time range: 2025-06-30 15:19:44.142000 to 2025-07-03 14:01:04.186000 (2 days, 22:41:20.044000)\\n\",\n", - " \"Total number of requests: 9992\\n\",\n", - " \"Total number of CURIEs: 1300164\\n\",\n", - " \"Total time taken: 4278872.9 ms\\n\",\n", - " \"Average time per CURIE: 5.692698317139622 ms\\n\",\n", - " \"Average throughput: 0.0023351943919624253 nodes/sec\\n\"\n", + " \"Time range: 2025-06-26 00:01:03.559000 to 2025-07-03 14:01:04.186000 (7 days, 14:00:00.627000)\\n\",\n", + " \"Total number of requests: 19043\\n\",\n", + " \"Total number of CURIEs: 2176206\\n\",\n", + " \"Total time taken: 6709482.9 ms\\n\",\n", + " \"Average time per CURIE: 352.33329307357036 ms\\n\",\n", + " \"Total number of unique CURIEs: 233697\\n\"\n", " ]\n", " }\n", " ],\n", - " \"execution_count\": 55\n", - " \"logs[0:10]\"\n", - " ]\n", + " \"execution_count\": 76\n", " },\n", " {\n", - " \"cell_type\": \"markdown\",\n", - " \"id\": \"dfc3b8e7-be80-44a2-b142-943c0c3c2dbb\",\n", - " \"metadata\": {},\n", - " \"source\": [\n", - " \"## Visualizing the logs\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"markdown\",\n", - " \"id\": \"9650b40f-4ddf-4157-84c3-cb8dd9466491\",\n", - " \"metadata\": {},\n", - " \"source\": []\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"execution_count\": 15,\n", - " \"id\": \"7a52c4d7-21da-42f5-94cc-e5957ec9bcb6\",\n", - " \"metadata\": {},\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"text/html\": [\n", - " \"
\\n\",\n", - " \"\\n\",\n", - " \"\\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \"
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\\n\",\n", - " \"
\"\n", - " ],\n", - " \"text/plain\": [\n", - " \" time curies curie_count time_taken_ms \\\\\\n\",\n", - " \"0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \\n\",\n", - " \"1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \\n\",\n", - " \"2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \\n\",\n", - " \"3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \\n\",\n", - " \"4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \\n\",\n", - " \"\\n\",\n", - " \" time_taken_per_curie_ms arguments \\\\\\n\",\n", - " \"0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\n\",\n", - " \"1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \\n\",\n", - " \"2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \\n\",\n", - " \"3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\n\",\n", - " \"4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \\n\",\n", - " \"\\n\",\n", - " \" node throughput_cps \\n\",\n", - " \"0 476.190476 \\n\",\n", - " \"1 666.666667 \\n\",\n", - " \"2 311.526480 \\n\",\n", - " \"3 507.614213 \\n\",\n", - " \"4 469.483568 \"\n", - " ]\n", - " },\n", - " \"execution_count\": 15,\n", - " \"metadata\": {},\n", - " \"output_type\": \"execute_result\"\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:47:29.963351Z\",\n", + " \"start_time\": \"2025-07-03T19:47:29.451910Z\"\n", " }\n", - " ],\n", + " },\n", + " \"cell_type\": \"code\",\n", " \"source\": [\n", " \"import pandas as pd\\n\",\n", " \"import numpy as np\\n\",\n", " \"import matplotlib.pyplot as plt\\n\",\n", + " \"import seaborn as sns\\n\",\n", " \"from dataclasses import asdict\\n\",\n", " \"\\n\",\n", " \"# Assume `records` is your list of dataclass instances\\n\",\n", " \"# Convert to DataFrame\\n\",\n", " \"df = pd.DataFrame([asdict(r) for r in logs])\\n\",\n", " \"df['time'] = pd.to_datetime(df['time'])\\n\",\n", - " \"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\\n\",\n", - " \"\\n\",\n", - " \"df.head()\\n\"\n", - " ]\n", + " \"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\"\n", + " ],\n", + " \"id\": \"95e54a3b26740479\",\n", + " \"outputs\": [],\n", + " \"execution_count\": 73\n", " },\n", " {\n", - " \"cell_type\": \"code\",\n", - " \"execution_count\": 10,\n", - " \"id\": \"3f0f62a4-fe2f-4e9c-8236-6e93785e1588\",\n", - " \"metadata\": {},\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH58/06NWOUasxRSIq9N9zzz05aD/44IPp3nvvzTULoojsn//853TAAQfkg6o0L0mJRil90YpwHQWloucjhhZGj+C6665b7uZBIeIAU8zle+ihh9LZZ59d7uZAYaLXI+oaRAGdmLcdBTQfeOCBfMBpm222yaOdSgdc4/+D+PIW/ydssMEG5W46NFocJIoq5RE63nzzzXyQKXq3Y8rEtttum/7+97/nqRQxoi+KyUbY/stf/pIPSK266qrlbj40SuzbsdxvBO5LLrmkZnt0IsTB1Phcv+2223LQvvPOO/NB1BBTiWJ0h8BdDKGbRil92YovXldffXXq2rVruv/++9OgQYPK3TQoRHzRiqO/Mbf7rrvuqpluAa1NVLCNZZJ+8IMf5MJoETBiichHH300h+r6VZs//vjjPLUoekiiZwQqQRwoiv32m9/8Zq5ZE6Jacwy/jeHl0dMdf4vOhKOOOiqdf/75uZc7Qsq//vWv9NWvfrXcDwEa3csdI5EicMcopaOPPjq9+OKL+WDSoYcemnuyY9+Pz/IoFFsSS4lRHKGbJokvZqeeemr+shXLCkBrFfv3TTfdlOesDhgwoNzNgcJET0csBRnLxkRPd4xmWm211dKUKVPyF7OddtoprbDCCvmy0RN466235l6SqPDfr1+/cjcfGiXCR1Qoj7odJVFALYJ47PcxlSLeC1FANj77o3BaVPGPYbmGllNJYo52adrn5ptvnnuvo5Osqqoqffe7380BPJbJY+ESummS9ddfP/8nFG9gaM3i6G/0hpSKCEJrFUEkhtmW1maNQjpxYDWGIsayeVFIKtZyjc//mNcdNQ9ipJPATSWJz/KYux0jmKIw4NJLL523R6iOYbXRCxgBPA5AxfBa33OoVHGQ6L///W/64x//mPfvK6+8MheEDV/72tfysPPoRBsyZEi5m9qmtKtWEx4A2mTPX0wdiqGI8QWs1BsSw2yjJzsKTMVUoijGE8Ns77vvvny9zz77zMEoKtKNN96Yg3VMozjkkEPqrFwR63FHJeeHH344j/aASvHaa6/ledylGhvx2R4rTTzyyCN5elBMFYqfUYcjPvPjcz7eA8ccc0y5m96mWDIMANrY3Nba67fGUPK77747z2ON3uuY7xdFpWKd4hCBPEJ3zP8LAjeVIKZHRA2aKJIWUyFCVOWPiuVXXXVVHskUa8+XRGCJpZRiNB9UWpXym2++Ob399tt5WwTrXXfdNY/YiJodsXRYVC2P7fG5H4XUSiM9WHgMLweANmLSpEnpl7/8ZXr99dfzUPHo2Yvh4jGdIk7HH3987jUJpdAdX9h69uxp3VYqqhp/LP8VBTBjjeIII1Gd/+c//3m64oor0sEHH5x+9atf5ffD4Ycfnrp165Z7uiOURAEqqATPP/98rsQfvdaxhG/t5Xv32muvfID1jDPOyHUKYqh5hO1YKiyC+GabbVbWtrdFhpcDQBswfvz4XFQnlkSaNWtWDiIzZsxIt99+e02hqCiUdvLJJ6dvfetbufck5nJHGIl5sLWr3EJLFft0jNSIGgQRsqMuQRQEjOG2AwcOzOsQx/zWKCQVIzxKK7HEgah//vOf+TJQCWI9+SeffDKP2oiA/Zvf/Cbv7xGuY/pE9HTHEPM40BoFMKMCfwTzESNG2M/LQOgGgFYulgHbcccdcxi54IIL8rYI0tHLFz1+0RNSulz0BMaXuJgDGGE8vsitu+66ZX4E0DgxDSIKRP34xz/OvX0l0asd26NWQRxcClE8bdy4cXlud4z46NWrVxlbDk0TwTqGjUehtJg2EdOAInDHHO4I1RdffHHNPO/oFY/9PKYHqcZfHuZ0A0ArF8Eiej0OOuigVDrWHsMLY37fM888k8/H7zGMPKqVRzGp6PWLubACN5UkevxiFMdzzz1Xsy2K/0W9gn//+99p9OjR6cwzz8zbo8f7G9/4Rg7jAjeVIj7D4xTFL+MgUwwZj0Adn9exj8eSYFGvID7LS6J2R0ydELjLR+gGgFZulVVWyeuzRvCIudnRIxLii1oEkhDzWUP0cK+44op5PmwEdagkEUSOPfbYXEQtqvCH6N2L/XydddbJy4P961//yqGkVEwQKkl8hscpCgPGdImf/OQnOVBHbYI46NS9e/d0ww035AAeS4fRMgjdANDKDRgwIBfbCRE0SgV3IlTHety15wi+/PLLZWsnNFUslRTBInr5SpX5d9ttt7TxxhunCy+8MN155511qu5HIKmqqsoHl0oHmqCle++999LEiRPzKKSSWFM+lv2KUR1RdT+CeAw3D9ETHp/7UTCTlsGnDQC0MlGd9mc/+1k67rjj0vXXX19TeTy+iNUOGhFSSkHltNNOyz0m06ZNK1u7oanLJUW4jgNKMX87iv3F/h4jNWJOd/T8nXLKKXlbiN7uGHobw8pL+z1UQjX+HXbYIS8Dtssuu+QpEaWRSsOGDUt77LFHGjVqVN7Xo1p/fIbfcssteR+vvRY95aWQGgC0wi9oq6++eq5SHj0j559/fvrRj35Uc5n4MhY9IptsskkaPnx4+uSTT3JIefDBB3MlZ2jpIlxsuummuVc7ahVEz3UMK3/88cdzpfI4gBQ9g7/+9a/TNddckwN5p06dcq/gf/7zn7TeeuuV+yHAfMX+GkXSYpm7CNwxSuOHP/xhDtrxuV46yHrdddels88+O62wwgqpa9eu+f3xj3/8Q5XyFkToBoBWIoaGx7qtEUTOO++83Kv9u9/9Lq/HPWbMmDxPu7b4EnffffflHsAoMFWqdAst3bPPPpsr8t90001p8ODBNdtPOOGEPJf7wAMPzCF85syZ+UBULA+23HLLpa222ioXlYJKWP4uDijFlIhY9qs0Pejoo4/On/V//etf61x+8uTJeYmw6N2Og0pRkZ+W43+rqAMAFSu+jMUw2ggUEbJLw8gjSMd81oaKRkXvYFS/jSVm1lprrTK0Gr6cOFAUBQEjVIcY1RE92dH7F7/H0nfbbLNNLp4Wy4TFCSpNKUCXxOd69HxHxfJSPY7FF188f77HQdX6B1ZpOczpBoBWIL6MxfzW+IIWc1lLYlhtFE6LglP1HXXUUXkIrsBNpYml7Hr06FGzLFIE7pgmES6//PLcqx2jPaBSde7cOZ166ql5Pe5Qf3ByhO04hTjQRMsmdANABatdECrmuJaCRu0vaFFIrbQ0WLjrrrvShx9+mOd0G4JIJfjoo49yheaY01py1VVX5XXm991333y+Q4cONcvhxXshrgOVup/HgdTS53P0ZJcKYsb22iOXomDm3nvvrThgCyd0A0CFmjRpUrrsssvq9GKXwnZpPe7oAYmiaVFcJ8TQ8+22265mWC5UwvztqFOw2Wab5WWQrr322rw9fo9e7TiIFIWl4sBSaVrF1KlT85rd8R5QvohK3s/rrzoRPeClg0vxeX7llVemk08+uWa5MFomc7oBoAI9//zzeTj5Bx98kNdwjaJRUXCn1BsS4otafBGLL20xxDyq2/785z/PxXZ69uxZ1vZDY4NI9Frvv//+af31109jx47NRdLWWGONXJl55513zuH60EMPzfO3+/fvn4fcRuXmqNxfWpMeKnE/j+lB9SvtR+Beeumlc9C+5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC\",\n", - " \"text/plain\": [\n", - " \"
\"\n", - " ]\n", - " },\n", - " \"metadata\": {},\n", - " \"output_type\": \"display_data\"\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:47:41.139654Z\",\n", + " \"start_time\": \"2025-07-03T19:47:41.081034Z\"\n", " }\n", - " ],\n", + " },\n", + " \"cell_type\": \"code\",\n", " \"source\": [\n", - " \"# Graph 1. CURIE count vs time taken.\\n\",\n", - " \"\\n\",\n", - " \"# —————————————————————\\n\",\n", - " \"# 2) Group by batch size\\n\",\n", - " \"# —————————————————————\\n\",\n", - " \"groups = [grp['time_taken_per_curie_ms'].values\\n\",\n", - " \" for _, grp in df.groupby('curie_count')]\\n\",\n", - " \"\\n\",\n", - " \"labels = [str(size) for size, _ in df.groupby('curie_count')]\\n\",\n", - " \"\\n\",\n", - " \"del groups[0]\\n\",\n", - " \"del labels[0]\\n\",\n", - " \"\\n\",\n", - " \"# —————————————————————\\n\",\n", - " \"# 3) Boxplot of per‑CURIE time by batch size\\n\",\n", - " \"# —————————————————————\\n\",\n", - " \"plt.figure(figsize=(10,6))\\n\",\n", - " \"plt.boxplot(groups, tick_labels=labels, showfliers=True)\\n\",\n", - " \"plt.xlabel(\\\"Number of CURIEs in Batch\\\")\\n\",\n", - " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", - " \"plt.title(\\\"Distribution of Time per CURIE by Batch Size\\\")\\n\",\n", + " \"# Plot requests against time.\\n\",\n", + " \"requests_per_hour = df.set_index('time').resample('h').size()\\n\",\n", + " \"sns.lineplot(x=requests_per_hour.index, y=requests_per_hour.values)\\n\",\n", + " \"plt.title(\\\"Requests per Hour\\\")\\n\",\n", + " \"plt.xlabel(\\\"Time\\\")\\n\",\n", + " \"plt.ylabel(\\\"Number of Requests\\\")\\n\",\n", " \"plt.xticks(rotation=45)\\n\",\n", " \"plt.tight_layout()\\n\",\n", " \"plt.show()\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"execution_count\": 16,\n", - " \"id\": \"ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4\",\n", - " \"metadata\": {},\n", + " ],\n", + " \"id\": \"acd50a9d9affe09f\",\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", - " \"image/png\": \"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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=\",\n", " \"text/plain\": [\n", - " \"
\"\n", - " ]\n", + " \"
\"\n", + " ],\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdG1JREFUeJztnQd8E/X7xx+6aaFlFFr23pSNDAFBEAQXggv8CSKi4mIoSxQU/IuggjgQJ6CCCiJu2QrK3ntvKFBWKXSP+7+eb/K9XtKMFtomue/n/XqFJJdLennI3X3umUU0TdMIAAAAAAD4PH6e3gAAAAAAAJA/QNgBAAAAAJgECDsAAAAAAJMAYQcAAAAAYBIg7AAAAAAATAKEHQAAAACASYCwAwAAAAAwCRB2AAAAAAAmAcIOAAAAAMAkQNgBAAAAAJgECDsAwA0xe/ZsKlKkiH4LCAigChUq0OOPP05nzpwhM7J37156/fXX6fjx42QmqlatSnfffbfD1/755x/x//vjjz8W+nYBAPJOwA28BwAAdCZMmEDVqlWjlJQUWr9+vRB8//33H+3evZtCQkLIbMLujTfeoI4dOwoxBAAA3gaEHQDgpujevTu1aNFCPH7yyScpMjKSJk+eTL/++is99NBDnt48QEQZGRmUlZVFQUFB5CtomiYuFooWLerpTQHAp0AoFgCQr7Rv317cHzlyxGb5/v376YEHHqBSpUoJTx6LQRZ/9uzZs4duv/12cUKvWLEivfnmm/TVV1+JcKAxBMrPOSxqD3vSOBxsJD4+noYOHUqVKlWi4OBgqlmzphCfLHaMfP/999S8eXMqXrw4hYeHU0xMDE2fPl28xp7IBx98UDzu1KmTHoLmUCWzefNm6tatmxC2vO3sxXziiSdyHQZdunQpNWnSRNimfv369NNPP+VYNzffg23E2/Xuu+/S+++/TzVq1BDrsrcxP9m2bZsQ9WynYsWKUefOnYXH1gj///C2OAvjG/8/pR2WLFkifhtsw08//TRftxkAFYDHDgCQr8iTdcmSJW3E2q233ipy8EaPHk1hYWE0f/586tmzJy1cuJDuv/9+sd65c+eEaGIPk1zvs88+uymvTVJSEt12220i7+/pp5+mypUr09q1a2nMmDF09uxZIX6YZcuWUZ8+fYRAYbHE7Nu3j9asWUNDhgyhDh060IsvvkgffPABvfLKK1SvXj2xDt/HxcVR165dqUyZMmK7S5QoIezgSJw54tChQ/Twww/TM888Q/3796dZs2YJEbl48WK644478vQ9JPwZ7PF66qmnhLBjQe2K9PR0unjxYo7lV69ezbGM/z9ZwLOoGzlyJAUGBgoRxiHqVatWUatWrehGOHDggPg/4O83aNAgqlOnzg19DgBKowEAwA0wa9YsjQ8hy5cv1y5cuKCdOnVK+/HHH7UyZcpowcHB4rmkc+fOWkxMjJaSkqIvy8rK0tq2bavVqlVLXzZ06FDxmRs2bNCXxcXFaREREWL5sWPH9OX8fPz48Tm2q0qVKlr//v315xMnTtTCwsK0gwcP2qw3evRozd/fXzt58qR4PmTIEC08PFzLyMhw+p0XLFgg/u7ff/9ts3zRokVi+aZNm3JlO/vt5fcuXLhQX3b16lWtXLlyWtOmTfP8PdhG/Hn8Xdh2edkGVzf+7pKePXtqQUFB2pEjR/RlsbGxWvHixbUOHTroy/j/x9FpRv52jP+fchsWL16cq20GADgGoVgAwE3RpUsX4ani8CCHWtnLxiFWDqMyly9fppUrV4p8u2vXrgmvEN8uXbokQpfsrZJVtH/++Se1bt2abrnlFv3z+bMfffTRG96+BQsWCO8SexDl3+Ybb3dmZiatXr1arMdetsTEROG5yyv8Xub3338Xnq+8Ur58ed1rybAnrF+/fiLcyV7MvHwPSe/evYXtcgt72fi72984pGuE/xaHjdnbWr16dX15uXLlqG/fvqJwJiEhgW4EDl/zbwIAcOMgFAsAuCk+/vhjql27tgjZcS4cCwwO/UkOHz4sEuFfe+01cXMEhzI5THvixAmHYbybCcmxcNy5c6dTkcN/m3n22WdFeJjzxnhbOLTKYvTOO+90+zc4RMpCiitmp02bJkKSLHxY6Bht4QzOlbPPRWObMhzSjY6OzvX3MIqkvMC5gSwS7eE2NkYuXLggwsKO/k84LM35fqdOnaIGDRrk6e/fyDYDAHICYQcAuCnYuyarYlnMtGvXTggazpfipHqZ2P/yyy879cawsMkv2KNkhP8+56lxLpgjpIAqW7Ysbd++XSTv//XXX+LGeWrsOZszZ47Lvyn7vHHxwG+//SY+gwsn3nvvPbGM7XCz5PZ7SLyhmtRR4YSj/yNv2mYAfB0IOwBAvuHv70+TJk0SBRAfffSRKCSQ4TpOsHfkETJSpUoV4Zmyh0WiPRyS5CpRI2lpaaKQwAhXhV6/ft3t32a4Hcg999wjbiyk2IvHRQHsaXTkVbOHw8h8+7//+z+aN2+eCCFzpS23gXGF9GoaP//gwYPiXvbLy8v3KEjYYxgaGurw/4Qrn/38/ERY3lhAw/9PMlzNsGcWAFAwIMcOAJCvcBiSvXhcpclVmewJ42UskOxFlwztSXr06CE8XBs3brR5fe7cuTnex0LHPq+MK2jtvUEcTl23bp3wotnDgoMrcBnO+TPCAqVRo0bicWpqqrjn/EH5PiNXrlwRwswIty4xvtcVsbGxtGjRIv0556h9/fXX4jM4DJuX71EY4p3D1L/88otNu5Lz588LMcseW84RlP9HjPH/ifMY3XlAAQA3Djx2AIB8Z8SIEaJdB/cr4xYenIfHJ3zuC8dtLNiLx0KAhcrp06dpx44d4n0cZvzmm29EXhu3GJHtTtiTx/llRtgLxp/NuW0couTPYNHDuWL228LFHNwjjfvbcZ86Fhe7du0S4VMWJ/we/jwu9OAeelz4wV6lDz/8UIgr2dqEH7Ow4XYonFPI+XO8PguaGTNmiAIIFjNcJPL5558LgcNi1R0cRh04cCBt2rSJoqKiRK4i24dDwXn9HoUB9xbkwgr+P2WvJufhsXBnETtlyhR9PRaA3JaFvxtvP9uOvxt7/U6ePFko2wqAcjiplgUAAJfIlhWOWnxkZmZqNWrUEDfZPoRbY/Tr10+Ljo7WAgMDtQoVKmh33323aJFiZOfOndptt92mhYSEiHW4zceXX36Zoz0G/41Ro0ZpkZGRWmhoqNatWzft8OHDOdqdMNeuXdPGjBmj1axZU7Tp4Pdwq5V3331XS0tLE+vwdnTt2lUrW7asWKdy5cra008/rZ09e9bmsz7//HOtevXqosWIbH2ydetWrU+fPuI93OqFP4O/2+bNm93akbf3rrvu0pYsWaI1atRIvL9u3bo27UXy8j1ku5N33nnH7d+23wZH8Pezb3fC8HdmmxcrVkzYv1OnTtratWtzvH/Lli1aq1atdJtOnTrVabsTZ9sAAMg9RfgfT4tLAABwBXv+BgwYQMeOHTPdjFb+Pg0bNhStUgAA4GZBjh0AAAAAgEmAsAMAAAAAMAkQdgAAAAAAJgE5dgAAAAAAJgEeOwAAAAAAkwBhBwAAAABgEtCgOBfwaCHuDF+8eHG3I4UAAAAAAPITzprjxufly5cXU3FcAWGXC1jUydmHAAAAAACe4NSpU2Iyjisg7HIBe+qkQeUMRAAAAACAwoDnR7ODSeoRV0DY5QIZfmVRB2EHAAAAAE+Qm3QwFE8AAAAAAJgECDsAAAAAAJMAYQcAAAAAYBIg7AAAAAAATAKEHQAAAACASYCwAwAAAAAwCRB2AAAAAAAmAcIOAAAAAMAkQNgBAAAAAJgECDsAAAAAAJMAYQcAAAAAYBIg7AAAANw0Jy4l0jtL9tOl66me3hQAlAbCDgAAwE3zxb/H6OO/j9CibWc8vSkAKA2EHQAAgJvmemqGuE9Jz/T0pgCgNB4Vdp988gk1atSIwsPDxa1Nmzb0119/6a+npKTQc889R6VLl6ZixYpR79696fz58zafcfLkSbrrrrsoNDSUypYtSyNGjKCMDMsBRvLPP/9Qs2bNKDg4mGrWrEmzZ88utO8IAAAqkJ6ZJe6tdwAAFYVdxYoV6e2336YtW7bQ5s2b6fbbb6f77ruP9uzZI14fNmwY/fbbb7RgwQJatWoVxcbGUq9evfT3Z2ZmClGXlpZGa9eupTlz5gjRNm7cOH2dY8eOiXU6depE27dvp6FDh9KTTz5JS5Ys8ch3BgAAMwu7LE3z9KYAoDRFNM279sJSpUrRO++8Qw888ACVKVOG5s2bJx4z+/fvp3r16tG6deuodevWwrt39913C8EXFRUl1pk5cyaNGjWKLly4QEFBQeLxH3/8Qbt379b/xiOPPELx8fG0ePHiXG1TQkICRURE0NWrV4VnEQAAgC0DZ2+iFfvj6MXba9LwrnU8vTkAmIq86BCvybFj79v3339PiYmJIiTLXrz09HTq0qWLvk7dunWpcuXKQtgxfB8TE6OLOqZbt27CANLrx+sYP0OuIz8DAADAzZMmQ7He5SsAQDkCPL0Bu3btEkKO8+k4j27RokVUv359ETZlj1uJEiVs1mcRd+7cOfGY742iTr4uX3O1Dou/5ORkKlq0aI5tSk1NFTcJrwsAAMA5GZkWQZcFXQeAR/G4x65OnTpCxG3YsIEGDx5M/fv3p71793p0myZNmiRcnvJWqVIlj24PAAB4O8ixA8A78LiwY68cV6o2b95cCKrGjRvT9OnTKTo6WhRFcC6cEa6K5dcYvrevkpXP3a3DMWpH3jpmzJgxIo4tb6dOncrX7wwAAGYj3eqqg64DQHFhZ09WVpYIg7LQCwwMpBUrVuivHThwQLQ34dAtw/ccyo2Li9PXWbZsmRBtHM6V6xg/Q64jP8MR3BZFtmCRNwAAAM5Jz5DtTqDsAFA2x449Y927dxcFEdeuXRMVsNxzjluRcAh04MCBNHz4cFEpy+LqhRdeEIKMK2KZrl27CgH32GOP0ZQpU0Q+3auvvip637E4Y5555hn66KOPaOTIkfTEE0/QypUraf78+aJSFgAAQP6QkYVQLACkurBjT1u/fv3o7NmzQshxs2IWdXfccYd4fdq0aeTn5ycaE7MXj6tZZ8yYob/f39+ffv/9d5Gbx4IvLCxM5OhNmDBBX6datWpCxHFPPA7xcu+8L774QnwWAACA/CHdWjwBXQeAZ/G6PnbeCPrYAQCAa9pNXkmnryTTY62r0MSeDT29OQCYCp/sYwcAAMB3QVUsAN4BhB0AAICbBn3sAPAOIOwAAADk2+SJLCg7ADwKhB0AAIB89NhB2AHgSSDsAAAA5GO7E09vCQBqA2EHAADgpuDmCrLdCTx2AHgWCDsAAAA3RYbBTQdhB4BngbADAACQL61OGIRiAfAsEHYAAABuChmGZVAVC4BngbADAACQjx47CDsAPAmEHQAAgHxpdcJA2AHgWSDsAAAA5JvHzvAQAOABIOwAAADkm7Dj1icAAM8BYQcAACD/iicg7ADwKBB2AAAA8i8UC10HgEeBsAMAAHBTIBQLgPcAYQcAAOCmwOQJALwHCDsA3MAeiJ+2nqYjF657elMA8ErSM4xVsRB2AHgSCDsA3LD9VDwNn7+DnpyzGWEmAByQbuOx8+imAKA8EHYAuCE+KV3cH7uYSNtOxXt6cwDwao8dLn4A8CwQdgC4wRha+nV7rEe3BQBvJCMLoVgAvAUIOwDckGnwQPy+M5Yy0FofABvSbPrYeXRTAFAeCDsA3GAMLV28nkb/Hb7o0e0BwNswXuwgFAuAZ4GwA8AN9g66XxCOBcBFg2IIOwA8CYQdAG6QfbmKhwSI+yV7zlFSWoaHtwoALx0phkwFADwKhB0AuRR2MRUiqHKpUEpKy6Tl++I8vVkAeKXHDg2KAfAsEHYAuEFW+fn7FaGOdcqIx3tjEzy8VQB4Dxk2xRMQdgB4Egg7ANwgq/z8ihShkEB/6zKcvACQpNl47Dy6KQAoD4QdAG7IMnjsWNwx6NUFQDbw2AHgPUDYAeAGeaLyK2K5MRB2ADjJscO+AYBHgbADwA2yfQN769hrx6BXFwDZpBtKYaHrAPAsEHYA3EgoFsIOAB2EYgHwHiDsAMhD8UR2jp1ntwkAbwKhWAC8Bwg7ANwg8+n8/DgUa1mGUCwAThoUY9cAwKNA2AGQl+IJa44diicAyAYNigHwHiDsAHCDPFH5G0OxOHkBoJMBYQeA1wBhB4Ab5DlLhGKtwg7nLgCyQSgWAO8Bwg4ANyAUC4BrEIoFwHuAsAMgT+1OrMtw8gLAobDDRQ8ACgu7SZMmUcuWLal48eJUtmxZ6tmzJx04cMBmnY4dO1KRIkVsbs8884zNOidPnqS77rqLQkNDxeeMGDGCMjIybNb5559/qFmzZhQcHEw1a9ak2bNnF8p3BL6PPE8VMTQohrADIJsMg5jDrgGAwsJu1apV9Nxzz9H69etp2bJllJ6eTl27dqXExESb9QYNGkRnz57Vb1OmTNFfy8zMFKIuLS2N1q5dS3PmzBGibdy4cfo6x44dE+t06tSJtm/fTkOHDqUnn3ySlixZUqjfF/gmmY6KJ+CVAEAnLQOhWAC8hQBP/vHFixfbPGdBxh63LVu2UIcOHfTl7ImLjo52+BlLly6lvXv30vLlyykqKoqaNGlCEydOpFGjRtHrr79OQUFBNHPmTKpWrRq999574j316tWj//77j6ZNm0bdunUr4G8JzDh5AroOAMceO1z0AOBZvCrH7urVq+K+VKlSNsvnzp1LkZGR1LBhQxozZgwlJSXpr61bt45iYmKEqJOwWEtISKA9e/bo63Tp0sXmM3kdXu6I1NRU8X7jDaiL9ECwppMNitFdHwDHOXZw2AGgsMfOSFZWlgiR3nrrrULASfr27UtVqlSh8uXL086dO4UnjvPwfvrpJ/H6uXPnbEQdI5/za67WYcGWnJxMRYsWzZH798YbbxTYdwUmCMXi7AWAk3Yn2DcA8CReI+w412737t0iRGrkqaee0h+zZ65cuXLUuXNnOnLkCNWoUaNAtoW9gsOHD9efswCsVKlSgfwt4P3I8xS3OkEoFgA3VbEQdgB4FK8IxT7//PP0+++/099//00VK1Z0uW6rVq3E/eHDh8U9596dP3/eZh35XOblOVsnPDw8h7eO4cpZfs14A+qiz4o1VsVC2QHgcPIE6zrMUgZAUWHHOz+LukWLFtHKlStFgYM7uKqVYc8d06ZNG9q1axfFxcXp63CFLYux+vXr6+usWLHC5nN4HV4OQG6FHefXoUExAK5DsQx0HQCKCjsOv3777bc0b9480cuOc+H4xnlvDIdbucKVq2SPHz9Ov/76K/Xr109UzDZq1Eisw+1RWMA99thjtGPHDtHC5NVXXxWfzZ43hvveHT16lEaOHEn79++nGTNm0Pz582nYsGGe/PrAR5DeB/bYoUExAK5DsQz2DwAUFXaffPKJqITlJsTsgZO3H374QbzOrUq4jQmLt7p169JLL71EvXv3pt9++03/DH9/fxHG5Xv2wP3vf/8T4m/ChAn6OuwJ/OOPP4SXrnHjxqLtyRdffIFWJyBXyJwhEYrVc+xw4gLAmbBDnh0AihZPuMvD4IIFbmLsDq6a/fPPP12uw+Jx27Zted5GAGTUVXjsEIoFIAcZCMUC4DV4RfEEAL7RoNgi7sQynLgA0ElDKBYArwHCDoDcVsX6cVWsZRlOXAA4njzBwKMNgOeAsAMgL6FYzIoFIIdH235/wO4BgOeAsAPADVkOJk/gxAWAhfQs2zAsgz52AHgOCDsA8jQrFg2KAXDVw46BRxsAzwFhB0CuGxRjViwArqZOSKDrAPAcEHYA5DYUK4Sd7TIAVMfosZP7B0KxAHgOCDsA3CBTiIpgViwATpsTB/n76fsHPNoAeA4IOwDckGkonmBxZ1wGgOrI5sQB/iguAsAbgLADINezYo3FEx7eKAC8rDlxoL9ftrCDsgPAY0DYAZCXBsWYFQuADRnWq5xA4bGzLMP+AYDngLADwA0yN9wSirUug0cCAEF6hpbtsZMebeweAHgMCDsAchuK9TOEYnHiAsCmQbFtjh12EAA8BYQdALkNxRqrYnHiAkCQnmHMsbMsQ44dAJ4Dwg4AN0gRZ5kVa7sMANXJsIq4QL/sdifQdQB4Dgg7ANwgK2BtJk/gzAWAbVVsQHY7IFz4AOA5IOwAcIPsWWcTioWwA8C2j51fdigWFz4AeA4IOwByHYq1iDvLMg9vFABeNnmC253IdkBw2AHgOSDsAHCD9M6JUCxGJgHgRNj5IRQLgC8Ku61bt9KuXbv057/88gv17NmTXnnlFUpLS8vv7QPA40jvnAjForM+ADak6yPFuI+dZRkufADwIWH39NNP08GDB8Xjo0eP0iOPPEKhoaG0YMECGjlyZEFsIwBeM3kCVbEA2JJh9dgF2YRisX8A4DPCjkVdkyZNxGMWcx06dKB58+bR7NmzaeHChQWxjQB4FCni+KRl7KyPkxcA2aFYS/EEclAB8DlhxyezLGv/h+XLl1OPHj3E40qVKtHFixfzfwsB8KLiCemRsCz34EYB4GWh2MAAzrGzLENVLAA+JOxatGhBb775Jn3zzTe0atUquuuuu8TyY8eOUVRUVEFsIwBeFIo1CjucvADQiyf8MJkFAJ8UdtOmTRMFFM8//zyNHTuWatasKZb/+OOP1LZt24LYRgA8ijxHWapis5fDKwGAYfKEGCmGdicAeJqAvL6hcePGNlWxknfeeYcCAvL8cQD4UINii7iTwCsBAFGadVZsgH/25Alc9ADgQx676tWr06VLl3IsT0lJodq1a+fXdgHgfaFYMSsWOXYAGMmw5lyzx87fekbBRQ8APiTsjh8/TpmZmTmWp6am0unTp/NruwDwGuQ5yl7YwSsBgKF4wj97/4CuA8Bz5Dp2+uuvv+qPlyxZQhEREfpzFnorVqygatWq5f8WAuBhpIDjMKxNKBbCDgCHkydw0QOADwg7ni7B8I7bv39/m9cCAwOpatWq9N577+X/FgLgNe1OshsUG5cDoDJ6HzsOxaKBNwC+I+xk7zr2ym3atIkiIyMLcrsA8D5h52e5sGGnBC/C2CQAePKEpk+eQINiADxPnstYuV+dPfHx8VSiRIn82iYAvDMUaz1p8X2GaNTt4Q0DwAtIM3jssoUdlB0APlM8MXnyZPrhhx/05w8++CCVKlWKKlSoQDt27Mjv7QPA40jvg8wfwskLgJweO9HHDlWxAPiesJs5c6YYH8YsW7ZMjBVbvHgxde/enUaMGFEQ2wiAR5FFErJwQp68kCAOgLHdCUKxAPhkKPbcuXO6sPv999/poYceoq5du4riiVatWhXENgLgUaT3wRiKNS4HQGXSMiz7QYCfIRQLZQeA73jsSpYsSadOnRKP2VPXpUsX8VjTNIf97QDwdWSRhGxhB68EAE48dpgVC4Dveex69epFffv2pVq1aokJFByCZbZt26bPjQXATMgiiexQLHp1AeCoj51sB4RdAwAfEnbTpk0TYVf22k2ZMoWKFSsmlp89e5aeffbZgthGALymj51R4MErAYBx8gRCsQD4ZCiWmxG//PLLNH36dGratKm+fNiwYfTkk0/m6bMmTZpELVu2pOLFi1PZsmVFE+QDBw7kmEH73HPPUenSpYWI7N27N50/f95mnZMnT9Jdd91FoaGh4nO4iCMjI8NmnX/++YeaNWtGwcHBwrM4e/bsvH51oHgoVhZNZHslcPICILtBsbF4AvsGAD4j7JhvvvmG2rVrR+XLl6cTJ06IZe+//z798ssvefqcVatWCdG2fv16UWGbnp4uCjESExNtBONvv/1GCxYsEOvHxsaKcLCE8/pY1KWlpdHatWtpzpw5QrSNGzfOpvcer9OpUyfavn07DR06VIhQHo0GgCs4d1Seo2TRhDx5IRQLgLFBMUKxAPiksPvkk09o+PDhIreOGxPLggluUMziLi9w8cXjjz9ODRo0oMaNGwtBxt63LVu2iNevXr1KX375JU2dOpVuv/12at68Oc2aNUsIOBaDzNKlS2nv3r307bffUpMmTcR2TZw4kT7++GMh9mSLFp6YwSPP6tWrR88//zw98MADIqwMgCuMJygp6DDoHADXHjtMZQHAh4Tdhx9+SJ9//jmNHTuW/P399eUtWrSgXbt23dTGsJBjuOExwwKPvXiy8papW7cuVa5cmdatWyee831MTAxFRUXp63Tr1o0SEhJoz549+jrGz5DryM+wJzU1VbzfeANqYvTKyaIJmWMHjx0AtsUTct9gTzcAwEeEHYc1jbl1Es5dM4ZQ8wrPouUQ6a233koNGzbUe+YFBQXlGFfGIo5fk+sYRZ18Xb7mah0WbMnJyQ5z/yIiIvSb7NsH1MOYKyTDTHqDYpy8ADAUT1jmKDMongDAh4QdhzQ5T81RWJXDnDcK59rt3r2bvv/+e/I0Y8aMEd5DeZN9+4Dawk5vd6KHYnHyAiDDpt2JDMV6eKMAUJg8tzvh/DoWYVytyie2jRs30nfffSe8XF988cUNbQTnvPEUi9WrV1PFihX15dHR0SJPjnP5jF47rorl1+Q6vA1GZNWscR37Slp+Hh4eTkWLFnXofeQbAI5y7GQRhfV8BoDSpGVmT55AKBYAH/TYcTXp5MmT6dVXX6WkpCTRrJgLKrj9ySOPPJKnz+Kdn0XdokWLaOXKlcIbaISLJbi9yooVK/Rl3A6FCyzatGkjnvM95/bFxcXp63CFLYu2+vXr6+sYP0OuIz8DgFzl2MniCeTYAZBj8kRQgCEUC2EHgO947JhHH31U3FjYXb9+XfSOuxHY8zdv3jzRJoV72cmcOM5rY08a3w8cOFB4CbmggsXaCy+8IARZ69atxbrcHoUF3GOPPSYaJvNnsOjkz5Zet2eeeYY++ugjGjlyJD3xxBNCRM6fP5/++OOPG9puoA7GXKHsUKzlObwSABClZ2TlnBWLXQMA3xJ2Em4IzLcbhT19TMeOHW2Wc0sTboPCcEsSPz8/0ZiYq1W5mnXGjBn6ulyZy2HcwYMHC8EXFhZG/fv3pwkTJujrsCeQRRz3xGPPIod7OWzMnwVAnosn0NIBAJ10q4oLDPAzpClg3wDAZ4Qdi6Qi0t/ugKNHj+b6s3Lj8QgJCRE96fjmjCpVqtCff/7p8nNYPPI8WwDyghRv/JOXv3u0OwHAQbsTvyJ6xTi82QD4kLDjliRGuM8cCyauiuVRXgCYCfupEwwaFANA+sWN3A+4KlZe/OCaBwAfEnZDhgxxuJw9aps3b86PbQLAa5BeOSnmxGN47ACw8dbJyRMIxQLgo7NiHcGjvBYuXJhfHweAdwk7w57ib9V4yLEDqmMUdpY+dpbHCMUCYAJh9+OPP+qjwAAwC/L8ZOOxQ4NiAGymTjAIxQLgo6FYHidmLJ7gkxu3GLlw4YJNtSoAZkB65fwdhmI9tlkAeNXUCd49uKhILyzCRQ8AviPsevbsafOcW5GUKVNGVJ3WrVs3P7cNAK9pdyLFHKPnEeHkBRQnzTBOjJG7CRoUA+BDwm78+PEFsyUAeHGDYoOuQ0sHAKxkWEOx3OqEQcU4AD4o7BISEnK9Lk+KAMAUoViDstMbFCORCCiO3sMuwOqxQ8U4AL4n7EqUKOGyQbH0ZPA6mZmZN7NtAHgc6xhMm988GhQDYFs8wePEGIRiAfBBYcfjvkaPHi1GfvEIL2bdunU0Z84cmjRpElWtWrUgthMAjyBPUGhQDEBOMqxXPkHWHkDYNwDwQWH39ddf09SpU6lPnz76snvvvZdiYmLos88+o3/++Se/txEAjyG9cg5DsTh7AcWRodgAa/GE9GzDmw2AD/WxY+9cixYtciznZRs3bsyv7QLAqzx2xuwD6zkMJy+gPDIUG2j12EnPNkKxAPiQsKtUqRJ9/vnnOZZ/8cUX4jUATBmKdeCxQ1UsUJ10p+1OPLlVAKhNnkOx06ZNo969e9Nff/1FrVq1EsvYU3fo0CGMFAOmQ56gMCsWABftTqSws+4bsk0QAMAHPHY9evSggwcP0j333EOXL18WN37My/g1AEw5K9YYitVz7Dy1VQB4V4PiALviCYRiAfAhjx3DIde33nor/7cGAC9Deh5sQ7GWe4RigepkNyhGKBYAn/XYMf/++y/973//o7Zt29KZM2fEsm+++Yb++++//N4+ADwKQrEAuG93Ao8dAD4s7DiPrlu3blS0aFHaunUrpaamiuVXr16FFw+YDtnSxCjssiv/PLZZAHhlOyA9xw7CDgDfEXZvvvkmzZw5U1TGBgYG6stvvfVWIfQAMBPyBCXnw4rH8EoAIMiwCrsAfVasZTkuegDwIWF34MAB6tChQ47lERERFB8fn1/bBYB35dghFAuAC4+dzLFDVSwAPifsoqOj6fDhwzmWc35d9erV82u7APCuqlhD8YRsUAyPHVCdHB47hGIB8D1hN2jQIBoyZAht2LBBjI+JjY2luXPn0ssvv0yDBw8umK0EwJuKJ+CVAECQaW134q8XT1iWQ9gB4EPtTkaPHk1ZWVnUuXNnSkpKEmHZ4OBgIexeeOGFgtlKADw9ecKBsMOsWKA6OXPsZJqCRzcLAKXJs7BjL93YsWNpxIgRIiR7/fp1ql+/PhUrVoySk5NFtSwAZp4Vm1084amtAsA7q2LlBRB6PALgY33smKCgICHobrnlFlEdO3XqVKpWrVr+bh0AXnbisjy23CMUC1TH3mMnL4BUDsUmp2Xi2AB8Q9hxv7oxY8ZQixYtRGPin3/+WSyfNWuWEHQ8Q3bYsGEFua0AeC4Ua5w8gapYAFxWxao6bu9KYhrd8tZyeubbLZ7eFKAwuQ7Fjhs3jj799FPq0qULrV27lh588EEaMGAArV+/Xnjr+Lm/v3/Bbi0AhYy1sb5IQZAgFAuAY4+dvABSNRR77FIiXUvJoJ2nr3p6U4DC5FrYLViwgL7++mu69957affu3dSoUSPKyMigHTt22Jz0ADATskDCWvRnfYyWDgAwmdYrHynoVA/FSg+mFLwAeHUo9vTp09S8eXPxuGHDhqISlkOvEHXAzEjPA2bFApCXqlg19410azmwnKELgFcLu8zMTFEwIQkICBCVsACYGdm2wdigGL26ALCQaU2mk33spOdOUV2nC1ppFwC8OhTLnovHH39ceOqYlJQUeuaZZygsLMxmvZ9++in/txIAj4diDVWxCMUC4HJWrKo5dhlWQZcOjx3wBWHXv39/m+f/+9//CmJ7APDOUKzBt41QLACOq2Jlao7qoVhVvz/wMWHHbU0AUHZWLKpiAXBfFav4viGPF+mZmrgoRA468KkGxQCoOisWDYoBcFwVKz3bqoZi0w3HBHjtgKeAsAPABVK82TQoxqxYAJxMnlB735BCl0HLE+ApIOwAcIE8QSEUC0DuZ8WqWjvAIVgJhB3wFBB2ALhAVr4aHHbZLR1w4AaK46yPXZbiVbEMWp4ArxZ2zZo1oytXrojHEyZMoKSkpILeLgC8NxSLqlgA7PrYyVmxpLSwM4Zi0fIEeLWw27dvHyUmJorHb7zxBl2/fj1f/vjq1avpnnvuofLly4vcjJ9//tnmde6bx8uNtzvvvNNmncuXL9Ojjz5K4eHhVKJECRo4cGCO7du5cye1b9+eQkJCqFKlSjRlypR82X5gfqR2s50Vq/bJCwCnHjvFGxQbQ7G48ANe3e6kSZMmNGDAAGrXrp2odnr33XedTp0YN25crv84i8XGjRvTE088Qb169XK4Dgs5Y6sV2SBZwqLu7NmztGzZMkpPTxfb+dRTT9G8efPE6wkJCdS1a1fq0qULzZw5k3bt2iX+HotAXg+A3OUQZS9Dg2IAnFTFKr5vGMWc7GkHgFcKu9mzZ9P48ePp999/F56Lv/76S4wUs4dfy4uw6969u7i5goVcdHS0U0/i4sWLadOmTdSiRQux7MMPP6QePXoI8cmewLlz51JaWhp99dVXYiRagwYNaPv27TR16lQIO+CWLAeTJ1T3SgDgbvKEqvmnxvCrMd8OAK8TdnXq1KHvv/9ePPbz86MVK1ZQ2bJlqTD4559/xN8qWbIk3X777fTmm29S6dKlxWvr1q0Tnjcp6hj2zPE2btiwge6//36xTocOHWzm3Hbr1o0mT54s8gb5cwFwJ+xsQ7HIsQPAUVWs6hc9RjGHqljg9ZMnJFmFmBDKYVgO0VarVo2OHDlCr7zyivDwsVjz9/enc+fO5RCY7EksVaqUeI3he36/kaioKP01R8IuNTVV3CQczgVqIqMpxuIJvUGxouEmAHJ67GTxhNqhWKOYy0DxBPAVYcewyHr//fdFKJSpX78+DRkyhGrUqJGvG/fII4/oj2NiYqhRo0bib7AXr3PnzlRQTJo0SRSJAKA5aHei+skLAKceO8VDsRmGvDqEYoHP9LFbsmSJEHIbN24UQotvHPbk3DUuYChIqlevTpGRkXT48GHxnHPv4uLibNbJyMgQlbIyL4/vz58/b7OOfO4sd2/MmDF09epV/Xbq1KkC+kbAZ2bFOpo8oejJCwD3fexISYzHBIRigc947EaPHk3Dhg2jt99+O8fyUaNG0R133EEFxenTp+nSpUtUrlw58bxNmzYUHx9PW7ZsoebNm4tlK1euFOHiVq1a6euMHTtWVMwGBgaKZSxAOW/QWX4dF2zYV98CtSdPGIsnshsUe2yzAPCuqlh/VMXmbHeCAwTwEY8dh1+5V5w93EJk7969efos7jfHFap8Y44dOyYenzx5Urw2YsQIWr9+PR0/flwUbNx3331Us2ZNUfzA1KtXT+ThDRo0SHgQ16xZQ88//7wI4XJFLNO3b19ROMHbvGfPHvrhhx9o+vTpNHz48Lx+daAg8vzkeKSYmicvAOzDjdl97EjpfcOYV2cUeQB4tbArU6aMLsSM8LK8Vspu3ryZmjZtKm4Miy1+zC1TuDiCGwvfe++9VLt2bSHM2Cv377//2njTuJ1J3bp1Rc4dtznhXnufffaZ/npERAQtXbpUiEZ+/0svvSQ+H61OwI2HYq2vKXryAsDtrFhFdw2b4gkIO+AroVj2jrEoOnr0KLVt21YsY08Ztw/JqxesY8eOenK6s3w+d3AFrGxG7AzOA2RBCEBewaxYANwLO1kVK9sCKeuxMxZPIBQLfEXYvfbaa1S8eHF67733RJEBw2HP119/nV588cWC2EYAPAYaFAPg3kOFqlgL8NgBnxR2fEXGxRN8u3btmljGQg8AM4KqWABy47GzhmIVv+hBg2Lgs33sJBB0wOxkOSiewKxYAGzDjZgV66jdCUKxwEeKJwBQCRlSktMmGNUr/wDI4bGztjuR1z+q7hvphhw7ePSBp4CwAyBXxRMIxQLgrkGx6j0ejeFXtDsBngLCDgAXZDoKxSqeRwSAJNO6g/hjVmwOYYcGxcAnhB1Pb+B+cYcOHSq4LQLAK0OxOfvYqXryAsCZx071UKyx3Qk8dhZSMzJtQtTAy4Qdj+TipsEAqNzHDqFYANw3KHbVo1SNdicQM2yDrtNW070frVHy9+Azodj//e9/9OWXXxbM1gDgA+1O0KAYANvKT32kmCFlQcXzuG2DYgUNYEd8cjqduJRE+84mwIPpze1OMjIy6KuvvqLly5eLEV1hYWE2r0+dOjU/tw8Ar2t3kp1H5KmtAsDz8IWN3Afs252I1zWN/Mjg6lbNY4cDhF1fvywKQlq/dwq73bt3U7NmzcTjgwcP2rwmx8kAYOrJEzIUq6JLAgArxt+/HCkmWwHJ12+qUaqPCxmkati2f0nP0IiCPLo5ypDn/e7vv/8umC0BwAtBKBYAxxiFi7+1j53yoVhDJSwKBuyEHaqEC40b9osePnyYlixZQsnJyeI5EiOBOsUTtq8BoCLGUKOjHDsV9w/bdifqfX97MDvXR4TdpUuXRMuT2rVrU48ePejs2bNi+cCBA+mll14qiG0EwPOhWGO7E+tjHLiBysgedjY5dsZQrIL7h1G8oFjAzmMHD6b3Crthw4aJticnT56k0NBQffnDDz9Mixcvzu/tA8CjyOiBMX/U2NIBAFUxhh3lPmHrsSO1q2IhZGzELYSdF+fYLV26VIRgK1asaLO8Vq1adOLEifzcNgC8JkHcUfGEiqEmAHLknxbJ9mLb5tipt3+gKtYWtH/xEY9dYmKijadOcvnyZQoODs6v7QLAyyZPZC+T4SYVQ00A5Jw6kb1zGHNRVdw/bIUdPFTw2PmIsGvfvj19/fXX+nMOUWVlZdGUKVOoU6dO+b19AHgU6ZWzCcVaz14KOiQAcDp1Qu4n2WPFSGkPlYrC1h6juEXxhBeHYlnAcfHE5s2bKS0tjUaOHEl79uwRHrs1a9YUzFYC4CHksQh97ABwPSfWuH/wvqF6KBbFEyie8BmPXcOGDUVj4nbt2tF9990nQrO9evWibdu2UY0aNQpmKwHwEPLkZKz2w6xYAPj3n2XTw07ir/CFDxoUuwrFwh6FxQ01Bo+IiKCxY8fm/9YA4LUJ4jlDsVL4YeIKUBFnHjulQ7FoUOxypBjwYmF35coV+vLLL2nfvn3ief369WnAgAFUqlSp/N4+ALwuj8g+QTzAzmMBgEonbeO+YVM1rpiyM87OZZBThhw7nwnFrl69mqpWrUoffPCBEHh848fVqlUTrwFgJmQ0yeixM44XUzHcBIDxosdYFWszck+xfcO+nQfaexClZWQLuzR4ML3XY/fcc8+JZsSffPIJ+fv7i2WZmZn07LPPitd27dpVENsJgEeQws0mFKv4PEwAjMLF3mOnaijWPtSI0CNGivmMx45nxPLoMCnqGH48fPhw8RoA5p8Va/DYqXb2AiCHx85JKFaxqx774gAcG+wbFEPoeq2wa9asmZ5bZ4SXNW7cOL+2CwAva1BsDMVmv45QLFAVeaK299jpoVjFhI29kDMWT2w/FU/vLT1AKemZpBKoivXiUOzOnTv1xy+++CINGTJEeOdat24tlq1fv54+/vhjevvttwtuSwHwZCjWz0koFhehQFEcFRYx8qliui7HbFij0Ht3yQH67/BFalyxBHWpH0WqgD52XizsmjRpIlo6GBtOcmNie/r27Svy7wAwCzJ6YFM8YQzFwmMHVG93YlcVXkTRUKx9sYTRQ3UtNUPcX7feq5ljB2HnVcLu2LFjBb8lAHgh8uTk76wqVjW3BABWMvV2J3ZVsYo28LYvDjDmlMnqUNUqQ209dmr9Hrxe2FWpUqXgtwQAr54Va7ucw0984lJxbBIArkeKWe5V2zXS7atiDUImLSNTyXAkGhT7UIPi2NhY+u+//yguLo6y7P6zOAcPALMgj8OO8oj4UI1QLFAVZzl2qoZi7T2UxjCk9NQZ+7qpADx2PiLsZs+eTU8//TQFBQVR6dKlbcYp8WMIO2DKUKzDlg6acuEmAOw9MPYeO7mvqHbRY++NMx4b0jM0JT12tlWxan13nxJ2r732Go0bN47GjBlDfna5FQCo0MfOePJS7NwFQK6rYlVLU3DV7kRVjx1GinmGPCuzpKQkeuSRRyDqgFIHa2MlrPE5PHZAVZzn2MlQLCmFqwbF2cUTmroeO+TYFRp5VmcDBw6kBQsWFMzWAOADs2Itz0nJcBMAOT12tqcRuauodtFj387DKGqksFMtHGmTY2cNRwMvDMVOmjSJ7r77blq8eDHFxMRQYGCgzetTp07Nz+0DwCvDTdmhWBysgJo489jpkycU2zeyvfsWb6UMQ/IxQtlQLEaK+Y6wW7JkCdWpU0c8ty+eAMDskydsQ7Ee2SwAPE6m9cdv36BY7huK6TpKtwq7kEB/SkrL1Pv8qVxAIG0iHisWhvYpYffee+/RV199RY8//njBbBEAXoTmpHhCCj3Vwk0AuPPYyQt81faNTKtHqqhV2MmcMmNTYtWEnY3HTrHv7lM5dsHBwXTrrbfmyx9fvXo13XPPPVS+fHlxMPj5559znFS5ArdcuXJUtGhR6tKlCx06dMhmncuXL9Ojjz5K4eHhVKJECZEDeP369Ryzbtu3b08hISFUqVIlmjJlSr5sP1AoFOskx061cBMA7nLs/P3U3DekR4o9dkb7GMOvqYqFYlX2VvqUsBsyZAh9+OGH+fLHExMTqXHjxvTxxx87fJ0F2AcffEAzZ86kDRs2UFhYGHXr1o1SUlL0dVjU7dmzh5YtW0a///67EItPPfWU/npCQgJ17dpVTM/YsmULvfPOO/T666/TZ599li/fAZgb6XSwTzOQQk+1kxcAua2KVW3XkEIuONBPFzXsnFC5Sa/Nd1fMg+tTodiNGzfSypUrhYhq0KBBjuKJn376Kdef1b17d3FzBO8Q77//Pr366qt03333iWVff/01RUVFCc8et1zZt2+fKOLYtGkTtWjRQqzDorNHjx707rvvCk/g3LlzKS0tTYSPuakyb/P27dtFkYdRAAJgT5bhQJSjVxdCsUBxdI+dXY6dqqFYKWJCAiweO4ZNYPTYpWcoPFIMHjvv9dhxuLNXr1502223UWRkJEVERNjc8otjx47RuXPnRPhVwp/fqlUrWrdunXjO97w9UtQxvD732GMPn1ynQ4cOQtRJ2Ot34MABunLlSr5tLzAfxlYmOUOxavbqAsBtVayiaQpSxIRYPXZS7BnDr8Z8OxVAg2If8djNmjWLCgMWdQx76Izwc/ka35ctW9bm9YCAACpVqpTNOtWqVcvxGfK1kiVL5vjbqamp4mYM5wL1MJ6YithdAqna0gEA+2IBx+P21LvokR5KmWMnxa9tKFYtYWdsyKyaqPUkGB/hpKWL0QvJBRdAPYxtl5wWT6h29gIg15Mn1No3ZBWsUdhxyxOViydsq2LV+j34lMeOvV+u+tUdPXqU8oPo6Ghxf/78eVEVK+HnTZo00deJi4uzeV9GRoaolJXv53t+jxH5XK5jD8/BHT58uI3HDuJOPYwnJqcjxRQ7eQEgkX3a7Kti5VPVhF22x84Qis3KUrzdiSHHDg2KvVfYDR061OZ5eno6bdu2TRQxjBgxIt82jAUkC68VK1boQo4FFufODR48WDxv06YNxcfHi2rX5s2bi2Vc2JGVlSVy8eQ6Y8eOFdspCz24gpYbLDsKw8qWLnwDamMUbX7OQrE4VgFFwaxYW2TFa4Cfn7AJ24fFnk3xhGLCTuWKYJ8SdtzuxBHcsmTz5s15+izuN3f48GGbggmuWOUcucqVKwsR+eabb1KtWrWE0HvttddEpWvPnj3F+vXq1aM777yTBg0aJFqisHh7/vnnRcUsr8f07duX3njjDdHfbtSoUbR7926aPn06TZs2La9fHahcFeu0eAIHK6Amzsbt6fuGYspOhh1Z1LFNZH6d0WOn2kgxGZ5WUdSaIseO25YsXLgwT+9hIdi0aVNxYzj8yY+5KTEzcuRIeuGFF0RbkpYtWwohyJ5BbjQs4XYmdevWpc6dO4s2J+3atbPpUcc5ckuXLhWikb16L730kvh8tDoB7jCel3KEYq17DkKxQFWceuwULSzS7eFfhAKtXZpzeuw0hdudqPXdfcpj54wff/xReNryQseOHV0OUedcvgkTJoibM/hvzps3z+XfadSoEf3777952jYAjH247GfF+ivqlQAgR1VsjlmxlnvVdg0pXAL8/XQvJgs5o7BLU3nyBPJWvFfYsUfNWDzBwozbhly4cIFmzJiR39sHgNfNibX1ShT2VgHgIzl2iu0cUuiyPQKtYpcLBmyEnWLhSGP4FR47LxZ2Mr9Nws2Ay5QpI7xvHBIFwCzIMKt9DpFNVaxiJy8A3M2KVTX/VI7M4uIJecxgMaNyH7sMhb+7Twm78ePHF8yWAOClJy77/DoGs2KB6jj32FnuVbvm0Ysn/IsIcSeWcY6dUdyoFoo1/AhUyy/0JGhQDIATpGZzJOxU7dUFQM4+dqgYtxe6MhSbqXgo1qZBMXLsvM9jxyFXV42JGX6dGwQDYOZ2DgxCsUB1nM6KVbUq1knxhHHaBD/n3F1351IzwMdG4+EROXZeKOwWLVrk9LV169bRBx98IBoDA2AW5InJ0TFY1ZMXAO5mxcr9RbXiCVuPXXa7E/vcMvbaBQdkjx0zK46+N/AyYXffffflWHbgwAEaPXo0/fbbb/Too4+6bEsCgK8hRZsrjx2uZYCqGPu2GVF18oQxxy7bY2cbirUs0yg43xqNef/vQ38OYefdOXaxsbFi2kNMTIwIvfK0iDlz5lCVKlXyfwsB8BDyOGQ/dYKRWg8NioGqOKuKVdWbbfTYcTjWUYNilQoo7IUcm0c1L65PCLurV6+KsVw1a9akPXv2iDmu7K1r2LBhwW0hAB4PxTqoitVnxeJABdTEWY6dHopVVthZZsXqDYoVDUk6+p5oUlw45NohPGXKFJo8eTJFR0fTd9995zA0C4A5PRI5X1M13ARArmfFKrZvSA8VV8RKYceVoDlyzZTx2OX8AagShvY0uTYx59IVLVpUeOs47Mo3R/z000/5uX0AeGe7E1kVq5hXAgC3VbGKVoxnGELTMu+QbWCsilWpUa8UdkEBfrqYRZ6dlwm7fv36KVGiDYBEijaHDYoRigWK46wqVqbcuZoDrkqDYvtZsSqFYmXYNcQg7NCk2MuE3ezZswt2SwDwpT52iiaIA5Cjb5td8YR0AKh2zZObBsVMeoYahpGeSfbYsT1Y1KFJceGAyRMAOEF6HBzouuyqWNXOXgC4ufBRNhTrpEGxqv3cjMJf92AqImo9DYQdAO5mxTpQdpgVC1Qn02kfO0VDsVZvVKB9uxNFiyfSjaFp628EVbGFA4QdAE7IcjkrVs1wEwA5iwXs252ouW8Y7RHgskFxllL2CPL3EzexDDl2hQKEHQDuJk+4alCs2tkLAHuPnZNZsapVjEvRwuPEZOiRxU2O4glVPHYZDjx2iohaTwNhB8CNhGJRFQsUR4Yec/axIyXTFKRoMXrsLKFYWzuoIm7SbRo2+yn13T0NhB0ATshyWTyhZrgJgJweOz+H+4Zius4m59DooUrLyLQstx5I1CmeyG7YLKuE7efHgoIBwg4Ad6FYR+1O0KAYKI6zHDvp4VYtTUHag0OxfLMvngizjlxQJhSbmdMe8NgVDhB2ADhBFnC5mhWrWuUfAJJMvZ0FQrH2oWmbdifWFh/FrMJOlSa9tlWxKJ4oTCDsAHCC9MbZdXMQSK2nmlcCALceO0VDsXrxhM1IsSyDx85fKa+V3v5FeOyyZ+eCggfCDgAnyMIIR6FYvQmramcvANz2sVMzFCs9cbbtTrKrYospGoplW+j5hWhQXChA2AHgBHlech2KLeytAsDbq2LVbN4tZ+eydyq73Ul2Hzs9x04Vj52DHDt47AoHCDsA3IZicwq7Iop6JQCQ3mz5089ZFWtdR7FdwzhSTHqoeJkeig2SOXZqiBv5PW2EHXLsCgUIOwDczYp1sJdYj1MQdkBJjCkIzqpiVevxKHMORejReoBISbe0OmGKhagWikWDYk8BYQeAuwbFjkKxeoK4WicvAOwvaHJWxaoZipVhRiFkrDZJTDMIO70qNksxoWtsUKzWb8JTQNgB4Obk5ah4Qg/FKnbyAsC+0azzyROkDHyBZ1M8YfVQJRuEnayKVcVjJxsUBwUUETexDDl2hQKEHQBOkJrNocdOb8Ja2FsFgPf0sHM1K1Ylj51RxFranVhOrUlpGbpNQgKswk4Rr5X8nvDYFT4QdgA4QXrjXAk7hGKBihg9L/YeO+nNVknYGcOrxlBsktVjF8QFBAFqTV/IcJBjJ5eBggXCDoAbmBWLBsVAZYxpCvbtgFQMxdrmHPrlFHYB2ZWhyoRijSPW9Bw7Nb67p4GwA8AJaFAMQN6mThiXqVQVa2zjYfRQyVAsCzu+qdnupAgFWnPsUDxROEDYAeCuKtbFyQu6Dig9dcJFYZFKoVhjaNoyacEvRyg2SLGWH3q7E0NVLIonCgcIOwCcIB0OjnLs0KAYqIwrj112KFZT0h58bJCCNzk9Zyg2NUO1yRNFsmfFwmNXKEDYAeAEeWKyG4VpswyhWKAicnxWgKs0BTX0i513yvLdZVWsPDwIj51yoVjDJA6ZX6jId/c0EHYAuC2eQFWs6uD/2ZmHKucpRO4vKtnMPjQtc+wkRo+dKnlmMuyKkWKFD4QdAE6QF5eOcuwQilWHS9dT6da3V9LQ77d5elO8by6qw31DvVCs0TvlyC4cimSvnUpVsTbFE3J2LnLsCgUIOwDchmLRoFhlFu85R7FXU+jvAxc8vSk+MZVF3zfU0XU5PXZ2nkw1q2INDYoV81Z6Gq8Wdq+//rrwjBhvdevW1V9PSUmh5557jkqXLk3FihWj3r170/nz520+4+TJk3TXXXdRaGgolS1blkaMGEEZGZYSdABcIds1OIg2YVasQqzcFyfur6WkK9XCI1dzQB0koKoYijUOvDfeS4IC/NXrY2ewiSyeUEXUehrLVGIvpkGDBrR8+XL9eUBA9iYPGzaM/vjjD1qwYAFFRETQ888/T7169aI1a9aI1zMzM4Woi46OprVr19LZs2epX79+FBgYSG+99ZZHvg8wx+QJvUGxQicvFeFZn/8dviges5a5npZB4SGBpDqu5yirF4o1Dry33NsJO0PxhCoFBNImYuoGcuwKFa8XdizkWJjZc/XqVfryyy9p3rx5dPvtt4tls2bNonr16tH69eupdevWtHTpUtq7d68QhlFRUdSkSROaOHEijRo1SngDg4KCPPCNgBnanWSHYnGgMjNrj1y0aU+RkJwOYWfIlXJYFavgvqFXCfs7C8Wq57WSnkljw2ZVvrun8epQLHPo0CEqX748Va9enR599FERWmW2bNlC6enp1KVLF31dDtNWrlyZ1q1bJ57zfUxMjBB1km7dulFCQgLt2bPHA98GmGbyBBoUK8GK/ZYwrCQhGWkcth4751WxCuk6Qz6Zk1CsaFCsWCjW4MWUI8XkMqCwx65Vq1Y0e/ZsqlOnjgijvvHGG9S+fXvavXs3nTt3TnjcSpQoYfMeFnH8GsP3RlEnX5evOSM1NVXcJCwEgXq4DsWq55VQDc4Rk/l1kqvJ6R7bHu88aTtvUKxSjl128YRFwEjvnOPiCU2pHDu2BTx2hYtXC7vu3bvrjxs1aiSEXpUqVWj+/PlUtGjRAvu7kyZNEiISqE12H7ucr2FWrPnZezaBziWkUNFAf6oWGSaeJ6RA2DGZma4mT6h30WNfPGHvyTT2sVMlx04KWGMfOwi7wsHrQ7FG2DtXu3ZtOnz4sMi7S0tLo/j4eJt1uCpW5uTxvX2VrHzuKG9PMmbMGJHDJ2+nTp0qkO8DfDkUq55XQjVWWL117WpFUpniweIxPHa58dipF4q17+uXs4+dQdhlZClx3DCKXYwUK1x8Sthdv36djhw5QuXKlaPmzZuL6tYVK1borx84cEDk4LVp00Y85/tdu3ZRXFx2OGXZsmUUHh5O9evXd/p3goODxTrGG1APeXEpw65GEIpVJ7+uc92yFFE0UC+eAK6rYqWzSgXxkrP9i7Uq1kUo1ri+mZHfkQWtDFGnK/C9vQGvFnYvv/wyrVq1io4fPy7aldx///3k7+9Pffr0Ee1NBg4cSMOHD6e///5bFFMMGDBAiDmuiGW6du0qBNxjjz1GO3bsoCVLltCrr74qet+xeAMgVw2KXfSxw3HKnFxJTKOdpy3RgE51y1J4UUvWSkIKiidsqmJd9LFTKU3BvkrYvio22FA8oUpI0jg/V8+xU6RwxNN4dY7d6dOnhYi7dOkSlSlThtq1aydamfBjZtq0aeTn5ycaE3OxA1e8zpgxQ38/i8Dff/+dBg8eLARfWFgY9e/fnyZMmODBbwXMNHlCpV5dKrHmyEVR8VwnqjhFhYfAY3cjVbEKncP14gm93YmjWbHZyzgcG2ryblsy7BpoELUYKVY4eLWw+/77712+HhISQh9//LG4OYOLLf78888C2DpgdqRocxyKtdwjFOv78En283+PUrcGUVSzbHGx7N+DF/X8Okb2roOwy0uOnTr7hnF8liNPpghH+vuJQiw2nQoFFNmzYrNHiiHHrnDw6lAsAJ5EHntd9bGDrvN95m8+Re8sOUDPz9sm8sL4JqdNtJfCzuqxQ/FE7nPsVBJ2+vgsF7NiGZXGihmLJ/RQLDx2hYJXe+wA8IpZsS7anWB2qO+zxiri9p+7RltPXqGSoUF0Jj5ZhI9aVSstXtNDsWh3IkBVrOvZuY6KJ+Q9TzJRoZedXjxhaFCcnmH+7+0NQNgB4K6PncN5mOoliJsRFubrj17Sn89df5IaV7I0PW9RtSQVDfK3C8WieILJtHpjXPWxU9Jj5+98VqzxXqXiiUAepxZgbXcCj12hAGEHgBOkaEPxhHk5cP4aXUlKF/+fHF78fddZOnUlySa/zuixQyjWvcdOFn+q5M22twdf+MnflIqhWE5nMOYd6u1OFPBUegPIsQPACVKzORopJs9nKp28zMi6IxZv3a01I6l+uXBxwt10/IpY1qGWpfqeyW53AmHnripWerNV2jWMc1ElRtGre+ysAs/sxRPGorJAmwbF5v7e3gKEHQBuDk6OQrFyGUKxvs06axi2TfXS9L/WVfTlpcKChNCz99glpWUqEUZzB6piXRdP2D/O9tip0c/N2ICZw9MyRA2PXeEAYQeAE6Roc108UdhbBfJTuG+Qwq5Gabq3SXkqFmzxzLWtUdpG0MvlDFqeGDx2DhoUy31DU7h4wvI4+/SaIxRr8osD4/czeuxQFVs4QNgB4AQ5EgkJ4uZk39kEMUmCRVvD8uHivn9bi9fu/qYVbNblk7QUd5g+4dpjp2KPR2MzXonRNnJ5sFXgmd3ra+xXZ6yK5cOlSr8LT4HiCQDchWId5dhZj984SPl+ft0t1Urp3pWX7qhDj7etRmWK5xw5yOHY66kZKKAQv3tUxToSukZ7GL13OYsnNCVC02wO9nwbbcGi1t/PUm0OCgZ47ABwgtRsjoQdGhSbK79OwichR6KOKR5i9dhB2LnOsdMbFJOC7U6MOXaGUKy/WqHYdD00bfu9xWsm/+7eAIQdAE6QFa+GY5LSXgmznYg3Hbus59flBrQ8ySYz03lVrL+C+4YjoWsUeTIEKz13Zi+ekN/PXtAyGCtW8EDYAeCmeMLRrFgp7BCK9U14ysS11AzhhatnqH51hRwrhpYn7nLsVBR2sirWdY6dKh473R5WccsRDnkYRQFFwQNhB4ATpGZDg2Lzsfm4xVvXrHJJh3lijsD0iVzOilWwx2N28YSTUGyAWsUTxubEEllAAY9dwQNhB4DbUCxOXmZj8wlLE+KWVUvm+j0IxeZ28oR6+afZxRN+booniigxecKh0JUtT0wuar0BCDsAnCC9cQ4cdtmhWHjsfJItVmHXvEqpXL8H0yccVMU66GOnYv6pLJ6w9di5qIo1ubiR38+YWycfo0lxwQNhB8ANhJtU9EqYhTPxyXT2aoo48TapVCLX74PHLm997FQSdukO253krIrNLp7QlKsS1seKIceuwIGwA8AJ8sTkeFasnDxh7gO0WQT6gXPX9IbTMr+uQflwKhqU+35a2Tl2EHauZsXqFz1Z6lUJG8Wco1mx2V6rLCWEv8yrM+bbIceu4IGwA+AG+tjpDYoV8kr4KnPWHqdu76+m95cfEs83H897GNa2KhbFE5gVa4v0QgU6aHfCNpLj6aTHzuyhWClcbUesFVHiu3sDEHYA3Ego1jAPU3qCgHeyfN95cf/p6iMUdy1FL5xokYfCCWMoFh47Yx87hGKdTp6wXv1JMSce65MnzC1uZB6dMcdOfnd47AoeCDsAnCAFm6NuGEYvHqKx3p3rs/1UvHickp5Fb/+1nw6cSxDPW1TJm7DTiycg7FxXxeoeO3UuelzNinVcQJClXjGJzLEz+Xf3BiDsAHCCDLPKMIoR4zKVPBO+2Ig4KS1TP8n+tPWMEByVShWlsuEhefosY/GEKoLlZmbFMqqYSQo1R7NijR67wAA12p3oI8Uc5NjJ10DBAWEHgBPkhaWrWbGW9XCg8lZkocStNSPp1prZo8Na5DG/zlg8wd6q5PRMUhndY+ei3YlKFz3yGOCoQbEMQRofq+Kxc1QVa/Zxat4AhB0ATpBeGUeTJ4yOClVOXr7IlpPxetj15a519OXN8xiGZUKD/HVBr/r0CVdVscZFqhQXOfRQWYWMnDahYvFEkIMwNNqdFDwQdgC4OXk5OHchx85H2GL12DWvWpKaVi5Jj7aqTOUjQuiO+lF5/iyegYpedrmvimUU0XUOGzbLiwBHBQRpJu9jp48Uczh5wtzf3RuwZAMDAPLUxw6hWO8nNj6ZYq+miP8r2Yj4/+6PuanPDA8JoMuJacpPn3A9K1a9UKxePOFgNqpNjp1yoVh47DwBPHYAOEHqNbcnLwg7rx4bVr9cOIUG5c81rO6xS1Jb2Ln02BlDsSbeN9YeuUhPztlMxy8mOm534rB4Qo12J9kNinOOWDP71A1vAMIOAHehWIftTkg5r4TvzoPNez6d+ybFagu73FbFGnXd7jNXqdVby2nhltNkBj5ddVT0SHx5wQ7dA+doVqyKxRMuZ8XCY1fgQNgBcAOhWM63kuc0VRLEfY0CEXYYK2YTejQWCzjOscveN7jVzPmEVFqw5RSZgcNx18U9N7w+cSkp50gxOUbMpnhC5pllqfH7cBSKRY5dgYMcOwCcIEOsjrwS8gTG4g8XoN7DpD/30cbjl6l22eK092xCgXnsrqIq1oXHLud6zI7TlgplObeXL458leupGXQmPjnHcmNo2pHHToqb1Ax1GxSbXdR6AxB2ANzArFixnA/cWRpCsV7Cpeup9Onqo+LxNmubE66ALV+iaL79DX36hPKhWOd97Fiw8S7Du4Xch/hEvyf2qnh8JSmdLl5PozLFg8lXOWL11kUWC6LIYsGiEbazKlCbdieKhGJdNiiGx67AQSgWAHeTJ5wIO9nfzswJ4r7ErjMW4VAuIoReuL0m3dWoHI2/t0G+/o1SoUHi/nxCCqmMo2IBI3KfkaHYg+evi5FukoPnLULIV5HbXzuquE2lddFAf/2x7PHnqHjC7OJGNiGWkzaMYWiMFCt44LEDwE0o1lEfO7HcwbBzzrsZMHsjDWpfnfq1qVoo2wmyk/OZW6qVopcMzYjzkwblI8S9nD9Lqnvs/Jxf9GSSpl8cyTCshD1cPA3E1/PrapUtJkL9U3o3otPxyVS5VKi+jvTUOfLYqVMVi5FingDCDgAnZLmYPGGcF2s8Tv245TSdupxMs9Ych7DzkMcupoJFfBUEjStFiDDj6SvJFHcthcoWz9u8WbMge5E589jJXUbuGzutwo69VyxqDlpDl77KIauwqxlVXNw/1LJSjnXuiiknUgKMr0nvnelDsQ5GisnH8NgVPAjFAuB28oQTr4RfzlDsuqOXxP2xi4l07qra4brCZtdpi7BrWIDCrnhIoCjMMObxqe2x83MZipVe7x2nLP833RpEi/sDPh6KPRR3TffYOaNqZBh90b8FNatcMkfxhOk9drJhs6N2JxB2BQ6EHcgznF9069srafTCnWRmNHfFE/LkZV3xWkq6Hg5k1h29WBibCYjo4vVUMWWC/0salA8v0L/VrIplisXWk5Z2KiriLsdOLud9IyU9UxdyDzavqOeo+Wpj76S0DOGxlTl2eUG1WbHGqlj52Oz5hd4AhB3IMxxu5FL/HzafojgTJ5FnugvF2gm7Tccv23rvjli8d6DwwrDVIsOEV60g4ZmzpLrHTu9j5z4Uy9WwvF9w9WibGqVFnllSWqbDdiG+wJG4RHHRVzosiEqFWYppcku2uFG3KhYjxQoeCDuQZ37dHivu+eD2+86zZFakSHPWbktvUGxdTwq5iiUt7TXWQtgVGrutYdhGBRiGlTSrXELPGzP7Cfpmq2L5okeGYRtXjBDhuBrW8CX3s/PlMGxNF2FYZ8jiCTafmXPNHPWxk4/RoLjggbADeWL/uQSb/JhfdlhEnplDsW7DTVm2+XWDO9YQr3G45tRlS0d6UDgeu4LMr5NUjyxG4SEBon3H/rO+KU4Kso+d7b6h6YUTjStZBHGdqGI+nWcnCydqWb9HXjC2PklKzySzIsOtjiZxmD0M7Q1A2IE88YvVW9eyaklx8N5xKl4MwTZ1KDYXXgkeCr8n1jLpoEu9KGpUMcJG7AHfr4iVcDGNDMeqmmfnrio2uxUQezat3lTrPlE7urhve+zOy1Ynecuvk33uKlgbZn+z7gSZP8cOI8U8gVLC7uOPP6aqVatSSEgItWrVijZu3OjpTfIpuNmoDMM+3raa3ofqV5N67WTunNNQrF+2ANxw7JLw8FWPDKOo8BBqU720eG39DYRjNx+/TBsgCHPNhWupdFYWThSCsGNkpeM2BYUde+FkKqmzqlg5Luyb9cfpqPXCr1FFi8eurlXY+WqT4sO5qIh1Bttl5J2WHosf/33YtI2upfB3GIpFjl2Bo4yw++GHH2j48OE0fvx42rp1KzVu3Ji6detGcXFxnt40n4G9E5zwHBbkT53rlaV7G5cXy3/ZfsZm2HduT8ZHLlzP8/sKC86X00OxbiZP8IlOeuZa17AIOk4SF59z9FKuvyOHt6Ys3k8PzFxHD3+2nv7vj72mzsPJL2QlMovqYsGF05qzqTXPbquCBRTSk+0yTcG6b3y7/qQehpWFBrKSlPd/X8tR5ArfE9b0ipo3EIpl+LjJeZpcQDJ58X4yC/z/yYV1Jy8lZYdiMVLMIyjToHjq1Kk0aNAgGjBggHg+c+ZM+uOPP+irr76i0aNHe3rzaMuJy2JHvxn4IMnNcbmHGs+yrFQyVFQJ8gE1P+Zt/7DplN6LKiTQn7o1iKJXFvnRkQuJ9MmqI5SeodHlxFRKTs8U+Udhwf5UtXQYVSkdJh4z3NuNPXxrDl8UV/2cgHx/0woihHYz23g+IVWIsY3HL1FqepYoYKhYMpQqlbLcR0eEOK3gs+fPXefou42WExLbL8I6+N0e2d+OpxCsPnhBPJaeuhZVSokrVPYkvb/8kGjHwb2ruLcV20TOHJXwufKL/47pn8N8/u8xEd59+rYaNoPVc0NyWiaduJRExy8lit8F/x9YKkbNt8sv2XOu0MKwkiaVS4jf68nLSeLvhwZlj5LKD0KDAqhq6VDrvpsPO28+Yqz8drZP8X53LiFFCLo+LSvRvU0sF4EMhyL54jAxLZNm/H1EeHD4M3kfZW93fttShv9OXUkSx0ZOm+DjA++LXKmbF/OeuZIs9tUSoYFUptiNzbrl/8/x9zSg+z5eQz9tPUNta0RSVHjePishOUNM89h+Mp5SM7NE0VCTSiWorIvP4e2+lJhKxy4m0enLSRReNFAcE/j/yhgytYf/uxOS0yk+OV1ckHPqzQlxXNGoamSo+P/ceOwy7bCG3NmeskjEUYNi7qTw76Hs41xhk5KeJbafj418rqhSOlT8Fpwd5/NCowolKCK0YKvyc4P5jvIOSEtLoy1bttCYMWP0ZX5+ftSlSxdat25djvVTU1PFTZKQYMmdKkhG/rhTCCRfQB6kua1El3plhRCasvhAnj+HhQ+P5nlnSd7f6464a6k37U3p26oyjele1yYB2Igcl/PmH/v0Za2twq5okL840G46foWmrziU678ZEuhHk3s3EgfalxfsEJW1qK7NHYVROCEJDwkUoTiegfr0N1sK8O8EFHj7lryi5cJj99XjLelyYpq4oHAkbDjPjtvFTFt+kHyRmmWK3ZTgZsHbu1lFWrj1tNjPbxbOdf5mfeHn7O09m2DzW2Bv7L6zCZRqbcBsLBaRo9VYAD72pTnToH54qjW1sp4DPIkSwu7ixYuUmZlJUVFRNsv5+f79OV3hkyZNojfeeKMQt5CoepliLq+acgMn85cvUZSqRYZSidAg4RI/dilRXG3lF/XLhVM7w4zH5zvVoovX00RScHR4CEUWDxLeBt6J+e8eu5REJ/nKyLqjBwf6U6c6ZYSXrmRYEC3efY5+2xErrgRvBvZEtahaSnjM+GqaK1JPX0kSHky+Z4+ecaarK/j9QzrX1sOpzhjYvhrNXnNc/1wOT5cpnn3F/MLtteijlYfFMr4qDA7w168UHXln2XvwSo96VN/aYJe9mSwab6RXIB9Q2WPLV9T8u5LeO/bkmZHSxYJsvEKFwYuda9HMVUcKJBn8anK68PYmpGSImzfCnh7pmbGHxagrQfpsx5r06aojYl9jTx2HbtnDxx59eazITyzHxhDhLefjDlerC+/dDRwbeX9iL/rNMrp7XTGW7kaOfXx85XzSppVKiOgJRw24+viam9+K8NKVDqPKpUMpPilNeO9i45NdHhtZwPLxtUTRQLGfsVhnO/KFOduQj7XsXb67cXlxDOMcxDlrT9DZq8lijq6kfa0y1KF2GY/3Pg309xO/Xf4O7o7JeYXPfd5AEc1bk5zykdjYWKpQoQKtXbuW2rRpoy8fOXIkrVq1ijZs2ODWY1epUiW6evUqhYcXbFd7AACQ+Vwc6vVWMc796AorpxEA1UlISKCIiIhc6RAl9srIyEjy9/en8+fP2yzn59HRltmFRoKDg8UNAAA8BXti8jqyCgAAlKiKDQoKoubNm9OKFSv0ZVlZWeK50YMHAAAAAODLKOGxY7jVSf/+/alFixZ0yy230Pvvv0+JiYl6lSwAAAAAgK+jjLB7+OGH6cKFCzRu3Dg6d+4cNWnShBYvXpyjoAIAAAAAwFdRoniiMJMWAQAAAAA8pUOUyLEDAAAAAFABCDsAAAAAAJMAYQcAAAAAYBIg7AAAAAAATAKEHQAAAACASYCwAwAAAAAwCRB2AAAAAAAmQZkGxTeDbPXHfWQAAAAAAAoTqT9y03oYwi4XXLt2TdxXqlTJ05sCAAAAAIX1SEREhMt1MHkiF2RlZVFsbCwVL16cihQpUmBqnIXjqVOnlJ5uATvABgxsYAF2gA0ksIPaNtA0TYi68uXLk5+f6yw6eOxyARuxYsWKhfK3+Meq2g/WEbADbMDABhZgB9hAAjuoa4MIN546CYonAAAAAABMAoQdAAAAAIBJgLDzEoKDg2n8+PHiXmVgB9iAgQ0swA6wgQR2gA1yC4onAAAAAABMAjx2AAAAAAAmAcIOAAAAAMAkQNgBAAAAAJgECDsAAAAAAJMAYQcAAAAAYBIg7BTg/PnzdOjQIVKZw4cP09tvv02qw+PxXD1XETQGAACYCYwUMzk7d+6k3r1705AhQ8Q4krJly5KKNujUqRMVLVqUnnzySYqMjCQVYXE/c+ZMun79OlWpUoVeeeUVtzMHzcbJkydp3759FBcXRy1atKB69eqJ+c+ZmZnk7+9PKsBzNnfv3k3x8fHUunVrqlatGqlIamoqBQYGKrcPGLl48SJdvnxZ3Pi3oCpnzpyhXbt20ZUrV6hjx45Urlw58mm4jx0wJwcPHtRKly6tDRkyRLt27VqO1zMzMzWzs337dq1o0aLagAEDtFKlSmlTp07VVGTnzp1aZGSk9tBDD2ldunTRmjVrpn300Uf661lZWZrZ2bFjh1a2bFmte/fuYr9o3bq11q9fP/31jIwMTYXfQVRUlHbLLbdoAQEBWvPmzbVnn31WU409e/aIfWHNmjVK/PYdsWvXLnEcaNCggVakSBGtT58+Wnx8vKYaO3fu1KpXr661adNG2OGOO+7Q4uLiNF8Gws7EjBgxQnvkkUfEYz54zZ07V5s2bZo2e/ZsJcTdtm3bhKgbPXq0eP7CCy+Ik/np06c1lbh48aLWuHFjbeTIkeJ5QkKCdvfdd2vvvvuuzXpmFjbnz5/X6tevr73yyitaenq6sMkbb7whDuR33nmnEvvD1atXtaZNm4oLPX589uxZ7a233tIaNWqkdevWTVOFo0ePihM5/9+zwN28ebNy4m7//v1amTJltLFjx2pbtmzR1q1bpxUrVkybMGGCphL79u0TF3uvvvqqdvnyZfHb4N/Fn3/+qfky6vqgFeDEiRN0yy23iMdt2rQRYbgZM2bQ//3f/4kwVHp6ughDmDHH6NixYyL8OnToUJo0aZJY1rlzZ9qzZw/t3btXqfwyDr2lpKTQwIEDxfPixYuLkPx///1Hffr0oaeeekoPRZrVJhyG5rDbs88+SwEBAVS6dGl6+OGHqXLlyrR582bq3r27WM/MYbmrV69SYmIiPfDAAxQeHk7R0dH04osvihFNHKLu1asXmZ20tDT65ptvqHnz5iIcfe3aNXriiSdo69at+nHQjMdDI5yKMWHCBPE74PumTZuKMOxLL71EK1euFOuY9ThgJCEhgd544w168MEHhR04VYnTEu69914Rmv3www9p9erV5IuY9ygGxM65bds2Iej4R7to0SLasGEDzZs3T+SX3HfffWI9zjEyG3zy/uCDD+itt97Sl/H3ZXHHO3NycrKpT+JGwsLCxP/3t99+K05sfBD7+uuvRX5Z+fLlac2aNdSuXTuxrlltwt+fc8piY2P1ZSx2y5QpQ6+99pq4EPjuu+/IzLCY42PC2rVrbX4bd999N40dO5aOHj0qLvzMDP+++WKXRU39+vVF/i1f4Epxx/Yx4/HQCH9HFjUtW7YU9pDfly9yWNCwPVTAz8+P7rzzTnFhyzbg52+++Sb9+uuv4vbxxx/TsGHDaNq0aeRzeNplCPIfGVb45ptvRD4V5wywq9nIggULtHr16mlHjhzRVLLJ119/LcIwGzZsMH3oTcJ5MxyOrlSpkvg9BAYGagsXLtRfX7VqlRYdHa2tXLlSMysnT54U/++PPvqoNm/ePO2ff/7RIiIiRGiW4fyal156STMzSUlJ2uOPPy6OB5x7aiQ5OVnr2bOn9sADD2hmh7+rkZSUFHEs5JA0h2Xl8YJ/I2bl1KlTOVIwFi1aJHIujZg9bSUxMVF/vH79eq148eLaL7/8ImzCKRucysT7C/9GfAlzXp4rCF+BsdeBPRLsiWA6dOggQmzLly+nI0eO2KzPVT985WYmD43RBuyRM4ZV5FUphx455MhXY4yZvr8jO3Dojb21o0ePFmGF119/nWrXrk3t27fX1+fQrLyZ0QYceqpUqRL98MMPIhTPHrrHHnuMnnnmGZGWwHAIhr0VZmtzxP/n//zzD507d05Uhb/88ssiBMleW2MLpJCQEFENyG2B+DdjJthTy8e/CxcuUFJSkviufOzjY0NGRgYFBwcLb5303K1fv16E7LmTAL/HTDbganD+/61YsaJYbqwG52Mh7ysSrpofOXKksJlZfwuhoaH6b6FJkyZi3+BQrIz6cJia1/W50LSnlSXIn+qmtm3banXq1BFeCU6Ojo2NFa8dOnRIa9GihVayZEk9MZavWMeNGye8FJwwalYbcMK8EXll+vnnn2u1a9fWNm7cqJkNR3bgJHkJJwfzVbnRG/Haa6+J4opz585pZrXBmTNnxGtc7cbeCk4el/CVeY8ePbSJEyeK52ZIpOdKP6525IKRqlWrikpgaQNOlmfPxP33368tW7ZMf89TTz0limpSU1M1M1VCsyeuZs2a4rfAHklOmDd669PS0sQ9e2ViYmJEtTAXXbGdVLEB8/PPP2sVK1YUjznC4+/vb6pj5I5c2sEI7xPcUUH+RnwFCDsfh3+YXN00fPhw7d9//xUnp5YtW2o//vijvg6HW7m0v3LlyqICqH379qLdw9atWzUz20CGG+1P1AcOHNCCg4O19957TzMT7uzAXLhwQVQCdu7cWevdu7feBoYriFXZH+xDTRyO5VYw3B7IDOzdu1d8Hw6/Hzt2TISea9WqZSNUOOTIFbLc7qJhw4bavffeq4WHh+cI0foyLOA5xWDYsGEizDZ9+nRR/VuiRAlRBWq82GNxzzzzzDPi2MjtUFSxgRQtHIJs166duOjn46NZhG1efwvy98AVw9waiPcnXwPCzofhlgX33Xef9vTTT9ss5x8sX40br0TYM8dX8VOmTNG+++470+TW5cYGjuBWH7t379bMQm7sIAUuC9vnnntOu+uuu8SJzBcPXPnxW2DvJR+8y5cvb5qLnCtXrmgdOnQQrX2MsJD/9ttvtV9//VUXsCz62EvDHs133nnHxotpBlasWCG805cuXdKXHT58WPRrCw0N1f/P5TGSL/S41YVZfgt5sQHDvw3+/nxRIHMNVbNDVlaW9sMPP4jcugoVKvjsbwGTJ3wY7pLNUxS4qo3hHBFu6cA5AosXL9bXYwFfsmRJcYuJiSHVbMDfX+bYybxCLu1X0Q584xy79957T+QWcY4R55Ko+Fvgdh88lYVz7WTOka/D+VIDBgyghg0b6su40u/vv/8WuUL8f82VoFwZy1WRVatW1avjzQbnU23fvt2myrNGjRr07rvvimXc5oLtwvmX/Lvg9kgHDhygWrVqkYo24Cr5ChUq0J9//mm680R8HuzQqlUrsS53T+BjpU/iaWUJbg5jjoz0yMyaNUvr1KmTzTL2ZqhuA27Ma2Zyawdjd3kz5JPdrA3MhnHKzPz584UHhj1z7LXnxsz33HOP8OBxlayZq8I5t5TTDsaMGZNj3+fwG+cesxfTzOTVBr5W/VlQdsj08f3CfCWBiiCrPbt06ZLDE8GVTTz7Ty6bOHGimJHK3hmVbcANes1mgxuxw6BBg3Q7mKVn143YgK/UzdiMtlixYvrj22+/nZYtWya8cuyx58bM7JVhzx1XyZqxKlzCHtnbbruNlixZQj/99JPeLYDhhrxcEco9HM1MXm0QFBTkoS31Ljv4+fh+YY4YjILIk5Y8WfFNhtW4vQW3ruBl3Nph8uTJojGxWUJuEtjAAuxwYzbgMK0ZkTbgexZyfDMuZ7twc14+mRkb1JoJmXLx9ttv00MPPUTvvPOOaIH0+OOPi3YnssUNN+g2KzdiA/wWzEERdtt5eiPAjSF7EPGoID55SebPn09z584VeTacS8VXIjxCx4zABhZgB9jAlQ3k9A3u2/fZZ5/RqlWrqE6dOmQGHPXjNPZnY7g/3Y4dO4TI7dq1K+3fv1/8LjZu3Eh169YlXwc2sAA7WPF0LBi458SJE6IHjxFZmn38+HHRm+e3337TX/vss89EdVNYWJhpStZhAwuwA2xwIzbgvoWDBg0S7Y58tdLPWXubqVOn2iyTrUvYDlwhzN0AOLdyzpw5Wt++fbVWrVqJKRv29vNVYAMLsEM2EHZeDv/guMHo888/b1OqLdsVcEk2t3cwJsEvWbJEJIOapY0FbGABdoANbtQGf/zxh+jXJxuymgE+SXO/NRbt3JvMCLdz4hF63GBWntyNBQK+1nDWGbCBBdjBFgg7L4anRnCz1ZdffjlHtRIftAcOHChujiobucO+GYANLMAOsMHN2sBMFY/cSDkkJETr16+f1rFjR30Wtjxxd+3aVXhkzFb1bQQ2sAA75AQ5dl7M+++/T5s2bRL5QZzw/MUXX9Dx48epcuXKov9W2bJlcyS7mm3+K2xgAXaADW7UBmZj27ZtosLxxRdfFD36eJ7p7NmzxexbmVeYlpYmimPMagvYwALs4BjzHPFMCDcS5Saysm3BV199RZs3b6axY8dSv379bJoQS8x0EmNgAwuwA2xwozYwEzzE/tZbb6Wnn35anMiZF154gUqVKkXTp0/Xk+W5bYdZT+SwgQXYwTnmOuqZBOlE5S7YfKXx888/i7LsP/74g5YvXy6qd5KSksRB3azABhZgB9iAgQ0s8Hdn8cotKyRRUVHUtGlTWrp0qXjOFZBmDkTBBhZgBxc4CM8CL2Hx4sUiGbR9+/bak08+afPahg0bxGtmqfJzBmxgAXaADRjYwBY5IYDnPnPy/JdffqmpBmxgAXbIBh47LyE2NlbkzvAVCOfO8K1bt240atQo0Xfr/PnzlJiYqK/PXeT5ysS+V5UvAxtYgB1gAwY2cGwHzps05k+yR4YbzPKM4L/++ktMFTCblwY2sAA75BKDyAMebF/A5dj169fXAgICtKZNm2ozZszQEhMTtQsXLojWBf7+/tr48eNF6fb169e1cePGafXq1dPOnz+vmQHYwALsABswsIFzO3zyySf6PFzjTM+5c+cKT83GjRs1MwEbWIAdcg+EnYfhgzQfjEeNGiV6UHFbhj59+mgtW7bUhg8fLg7kfNCeOHGi+KFWqVJFa9y4sVauXDnTNBqFDSzADrABAxu4tgM3lR06dKg+zF02Zmb4ZP/YY4+Jk7wZ2lvABhZgh7wBYedhdu3aJZqNGjtfp6amiqtvbqr62muv6f2nuF/PwoULtZ9++kl0njcLsIEF2AE2YGAD93a45ZZbtLFjx2rJyck275k+fbro9WcWYAMLsEPegLDzMAcOHNCqVaumj/+RTRX5fsSIEeJKfNWqVZqZgQ0swA6wAQMb5M4OTZo00VavXm3zmtmADSzADnkDDYo9DA/mbteuHUVHR4sWBlyezUmhAQEBIumzcePGIiF6zpw5ZFZgAwuwA2zAwAYWYAfYQAI75A1UxXoQruThZqOzZs2i1atX0+DBg8Vy+WPlpor33nuvaMRoVmADC7ADbMDABhZgB9hAAjvkHQg7D8Ll2dwZu2HDhuJK47vvvhPd47mNgeTYsWOijQGvZ0ZgAwuwA2zAwAYWYAfYQAI75B2EYgsReXUhka7k69evC1fz9u3bqW/fvlSlShUxFqV06dL0yy+/0Lp16ygmJobMAGxgAXaADRjYwALsABtIYIebBx67QuDIkSN05coVmx8rX1nwj5UHeNeuXVs0XezcuTPt2bOHevToQRUqVBADvXlUkBl+rLCBBdgBNmBgAwuwA2wggR3ykTwWW4A8wu0IeMyPo/EmJ0+e1CIjI7WBAweKPjuyB4/suWNsuOjLwAYWYAfYgIENLMAOsIEEdshfIOwK+McaFhYmmio64oMPPhDNFe2bJ8rnZmiqCBtYgB1gAwY2sAA7wAYS2CH/gbArIPbt2yfGnkyYMEG/qlixYoX26aefamvWrBGds+VyswIbWIAdYAMGNrAAO8AGEtihYAjIz7AuyC7Pnj9/vsgPeOCBB8SyO+64gy5duiRyBTjZkwcVT506lRo1akRmBDawADvABgxsYAF2gA0ksEMBUkCCUXnOnTunPfXUU2KWY8OGDbVevXoJl3NaWpoY/9O1a1ftwQcf1AcYmxHYwALsABswsIEF2AE2kMAOBQOEXQHCbuRnn31WzHfcu3evzWvTpk3ToqOjtdOnT2tmBjawADvABgxsYAF2gA0ksEP+g1BsPhEbG0tbt26ltLQ0qly5MrVo0YLKlClDr776Kp04cYJq1Kgh1mO3M49DqVmzpmioGBQURGYBNrAAO8AGDGxgAXaADSSwQ+EAYZcP7Nq1i3r27EmRkZF09OhRqlq1Ko0cOZIefPBBKleunJhvJ3vz8I+VWb58OVWsWJFCQ0PJDMAGFmAH2ICBDSzADrCBBHYoRArAC6gUhw8f1ipWrKiNHDlSi4+P1zZv3qz1799fe+KJJ0S/HftS7BMnTmgvv/yyVqpUKW3nzp2aGYANLMAOsAEDG1iAHWADCexQuEDY3QSpqana8OHDtYceekg8lnCTxdKlS2sXL160WX/Dhg3ih1y3bl1t27ZtmhmADSzADrABAxtYgB1gAwnsUPggFHuT5drsJq5Xr57IAZAz7tq2bUvFihWj9PR0m/VvueUWunbtGk2YMEGMQjEDsIEF2AE2YGADC7ADbCCBHTyAB8SkqTh69Kj+WLqTz549q9WsWVOMQpGw69mswAYWYAfYgIENLMAOsIEEdihc/DwhJn2Zs2fPioHDixcvFlci3EBRVvHIxM+rV6+KYcaScePG6Y0X+WrF14ENLMAOsAEDG1iAHWADCezgYQpZSPo0O3bs0KpUqaLVrl1bi4iIEDkA8+bN0y5dumRzJXLgwAGtTJky2uXLl7WJEydqRYsWNc2VCGxgAXaADRjYwALsABtIYAfPA2GXhyaK/AN95ZVXtCNHjmhnzpzRHn74Ya1evXra+PHj9Zl2zPnz57WmTZuK14OCgkzzY4UNLMAOsAEDG1iAHWADCezgHUDY5ZI9e/ZoVatWzfHjGzVqlBYTE6NNmTJFS0xMFMu4e3aRIkXEFYiZqnpgAwuwA2zAwAYWYAfYQAI7eAfIscslXLmTkZFBSUlJ4nlycrK4f/vtt6lTp070ySef0OHDh8Uy7pT97LPPig7bTZo0IbMAG1iAHWADBjawADvABhLYwTsowurO0xvhK3AZNpdnr1y5UjxPTU2l4OBg8bhly5Zi/Ml3330nnqekpFBISAiZDdjAAuwAGzCwgQXYATaQwA6eBx47JyQmJopeOgkJCfqyTz/9lPbs2UN9+/YVz/nHylcnTIcOHcR7JGb4scIGFmAH2ICBDSzADrCBBHbwTiDsHLB3717q1asX3XbbbaKp4ty5c8Vyfjx9+nRatmyZmG/Hbmc/P4sJ4+LiKCwsTPyAzeAEhQ0swA6wAQMbWIAdYAMJ7ODFeDrJzxuTP3nMybBhw7S5c+eKUSiBgYHa1q1bxeuc+Pnrr7+KuXdc/dOzZ08xKiUsLEzbtWuXZgZgAwuwA2zAwAYWYAfYQAI7eDfIsTNw+fJl6tOnD9WtW1dccUg46TMmJoY++OADfRm7n998803xHnYnDx48mOrXr0++DmxgAXaADRjYwALsABtIYAfvB7NiDbDLOD4+nh544AHxnDtmswuZu2bzD5Oxtoih4sWL0+TJk23WMwOwgQXYATZgYAMLsANsIIEdvB9Y2UBUVBR9++231L59e338CcODiOUPkseh8GNjsqgckWIGYAMLsANswMAGFmAH2EACO3g/EHZ21KpVS7+6CAwMFI/5yoOTPiWTJk2iL774Qq/0MdsPFjawADvABgxsYAF2gA0ksIN3g1CsE/hqg3+o8scor0R4UDHnDGzbto0CAsxtPtjAAuwAGzCwgQXYATaQwA7eCTx2LpB1JfzDrFSpEr377rs0ZcoU2rx5MzVu3JhUADawADvABgxsYAF2gA0ksIP3ASntAnn1wa7mzz//nMLDw+m///6jZs2akSrABhZgB9iAgQ0swA6wgQR28D7gscsF3bp1E/dr166lFi1akIrABhZgB9iAgQ0swA6wgQR28B7Qxy6X8BgU7pitMrCBBdgBNmBgAwuwA2wggR28Awg7AAAAAACTgFAsAAAAAIBJgLADAAAAADAJEHYAAAAAACYBwg4AAAAAwCRA2AEAAAAAmAQIOwAAAAAAkwBhBwAA+cDjjz9OPXv29PRmAAAUByPFAADADXLIuTPGjx9P06dP1+dmAgCAp4CwAwAAN5w9e1Z//MMPP9C4cePowIED+rJixYqJGwAAeBqEYgEAwA3R0dH6LSIiQnjwjMtY1NmHYjt27EgvvPACDR06lEqWLElRUVFiSDqPXRowYAAVL16catasSX/99ZfN39q9ezd1795dfCa/57HHHqOLFy964FsDAHwRCDsAACgg5syZQ5GRkbRx40Yh8gYPHkwPPvggtW3blrZu3Updu3YVwi0pKUmsHx8fT7fffjs1bdqUNm/eTIsXL6bz58/TQw895OmvAgDwESDsAACggGjcuDG9+uqrVKtWLRozZgyFhIQIoTdo0CCxjEO6ly5dop07d4r1P/roIyHq3nrrLapbt654/NVXX9Hff/9NBw8e9PTXAQD4AMixAwCAAqJRo0b6Y39/fypdujTFxMToyzjUysTFxYn7HTt2CBHnKF/vyJEjVLt27ULZbgCA7wJhBwAABURgYKDNc87NMy6T1bZZWVni/vr163TPPffQ5MmTc3xWuXLlCnx7AQC+D4QdAAB4Cc2aNaOFCxdS1apVKSAAh2cAQN5Bjh0AAHgJzz33HF2+fJn69OlDmzZtEuHXJUuWiCrazMxMT28eAMAHgLADAAAvoXz58rRmzRoh4rhilvPxuF1KiRIlyM8Ph2sAgHuKaGiVDgAAAABgCnAJCAAAAABgEiDsAAAAAABMAoQdAAAAAIBJgLADAAAAADAJEHYAAAAAACYBwg4AAAAAwCRA2AEAAAAAmAQIOwAAAAAAkwBhBwAAAABgEiDsAAAAAABMAoQdAAAAAIBJgLADAAAAACBz8P/CnBLMDLSYQAAAAABJRU5ErkJggg==\"\n", " },\n", " \"metadata\": {},\n", " \"output_type\": \"display_data\"\n", " }\n", " ],\n", + " \"execution_count\": 75\n", + " },\n", + " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:58:35.599825Z\",\n", + " \"start_time\": \"2025-07-03T19:58:35.544619Z\"\n", + " }\n", + " },\n", + " \"cell_type\": \"code\",\n", " \"source\": [\n", - " \"# Scatter plot\\n\",\n", - " \"plt.figure(figsize=(10,6))\\n\",\n", - " \"plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\\n\",\n", - " \"\\n\",\n", - " \"# Fit a linear regression line\\n\",\n", - " \"m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\\n\",\n", - " \"x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\\n\",\n", - " \"plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\\n\",\n", - " \"\\n\",\n", - " \"# Labels and title\\n\",\n", + " \"# CURIEs per request\\n\",\n", + " \"sns.histplot(df['curie_count'], bins=50, stat='percent')\\n\",\n", + " \"plt.title(f\\\"CURIEs per request (max = {max(df['curie_count'])})\\\")\\n\",\n", " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", - " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", - " \"plt.title(\\\"Time per CURIE vs. CURIE Count with Regression Line\\\")\\n\",\n", - " \"plt.legend()\\n\",\n", - " \"plt.grid(True)\\n\",\n", - " \"plt.tight_layout()\\n\",\n", - " \"plt.show()\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"execution_count\": 32,\n", - " \"id\": \"2ca9ccd5-7f93-4f0c-b41f-19c7a863178e\",\n", - " \"metadata\": {},\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"image/png\": \"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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC\",\n", - " \"text/plain\": [\n", - " \"
\"\n", - " ]\n", - " },\n", - " \"metadata\": {},\n", - " \"output_type\": \"display_data\"\n", - " }\n", - " ],\n", - " \"source\": [\n", - " \"# 1. Time series of throughput (curies per second)\\n\",\n", - " \"plt.figure()\\n\",\n", - " \"plt.plot(df['time'], df['throughput_cps'])\\n\",\n", - " \"plt.xlabel(\\\"Time\\\")\\n\",\n", - " \"plt.ylabel(\\\"Throughput (CURIEs/sec)\\\")\\n\",\n", - " \"plt.title(\\\"System Throughput Over Time\\\")\\n\",\n", - " \"plt.show()\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"execution_count\": 33,\n", - " \"id\": \"9c064d44-4c6b-40f9-bc83-63a94d02463b\",\n", - " \"metadata\": {},\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"image/png\": \"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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==\",\n", - " \"text/plain\": [\n", - " \"
\"\n", - " ]\n", - " },\n", - " \"metadata\": {},\n", - " \"output_type\": \"display_data\"\n", - " }\n", - " ],\n", - " \"source\": [\n", - " \"# 2. Histogram of time per CURIE\\n\",\n", - " \"plt.figure()\\n\",\n", - " \"plt.hist(df['time_taken_per_curie_ms'], bins=50)\\n\",\n", - " \"plt.xlabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", - " \"plt.title(\\\"Distribution of Time Taken per CURIE\\\")\\n\",\n", " \"plt.show()\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"execution_count\": 34,\n", - " \"id\": \"0dd31031-25d0-42f7-977b-93cb194228f8\",\n", - " \"metadata\": {},\n", + " ],\n", + " \"id\": \"f9e4e8b8b5738328\",\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", - " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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\",\n", " \"text/plain\": [\n", " \"
\"\n", - " ]\n", + " ],\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPdlJREFUeJzt3Qd8FHX+//EPNfQOCWgoilIFBRUQbIggegjCzxNFBcWOqMSKvVM8AfUoVxDk7jyVE1DPE0tELBdUsCCoCIoEhAQsJBQTEOb/eH9//93f7mYTkrBkd5LX8/EYws7Ozn53dnbnvd8yU8nzPM8AAAB8qHK8CwAAAFBaBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAKIHJkydb+/btbf/+/fEuCg5g8eLFVqdOHdu2bVu8i4JDiCCDhPXtt9/a1VdfbUcccYTVqFHD6tWrZ71797YnnnjCfv311+BylSpVsuuvvz7qOv71r3+5+995553gvFGjRrl5gSkpKcmOPvpou/feey0vL6/AOiLX//3334c9PnKaOHFizLcFYm/z5s12//3322effVbsx+Tm5tqkSZPs9ttvt8qVK+7X58cff+w+E506dbLatWtby5Yt7fe//7198803BZYt6rNy5plnRv3cX3TRRdasWTOrWbOmHXXUUXbXXXcVWO6Pf/yjdejQwX1+DzvsMEtLS7Ndu3aFLXPWWWdZ27ZtbcKECTHeAkgkVeNdACCaV1991c4//3z3JXXppZda586dbc+ePfb+++/brbfeaqtXr7Y///nPpV6/1vvXv/7V/T8nJ8deeukle+ihh9yX6D/+8Y9irePCCy+0s88+u8D84447rtTlQtkGmQceeMBat25txx57bLEe8/TTT9tvv/3m3vuKTGHugw8+cJ/RLl26WFZWlgsW3bp1s2XLlrnPa8Df/va3Ao9fvny5+0HSv3//sPkKlaeddpoLJjfffLM1btzYMjMzbePGjWHLKUiqZux//ud/7MYbb7Qvv/zSnnrqKfe98Prrr4ctqx9Dt9xyi3uv69atG/NtgQSgi0YCieS7777z6tSp47Vv397bvHlzgfvXrl3rTZs2LXhbu/GYMWOirmv+/Pnu/iVLlgTnjRw50qtdu3bYcvv37/d69uzpVapUycvKygq7L3L969evd/Mee+wxz8/27t3r5efnF3v5ffv2eb/++qtXXnz88cfufZwzZ06xH9OlSxfv4osv9iq6Dz74oMC+880333hJSUneiBEjDvj40aNHu8/axo0bw/avzp07ez169PB2795d6GP1nVC1alXvkksuCZv/1FNPuffz5ZdfDpufnZ3tValSxZs9e3YJXiH8pOLWjSJh6ZfWzp07bfbs2da8efMC96uqWL/CYknV3H369FGwt++++y5m69UvzwEDBliTJk1cNXmbNm3s8ssvP+DjVEvwu9/9zt544w1XW6CmtY4dO9qCBQsKLLt9+3a76aabLDU11dU0afvoF3NoH45Ac9gf/vAHmzZtmh155JFuWf2SLUygSU01VGpC0PLqcyA//PCDex3Jycluvu5XbUWkTZs22ZAhQ1zzg5oKxo0b534xRzb36fWqyS+Sfp1rCpWfn2/33Xefe516br3u2267zc0P9eabb7r3tEGDBq6fRLt27ezOO+909+m5TzjhBPf/yy67LNjUMXfu3EK3x/r1623lypXWr1+/sPmh23b69OmuKbRWrVqutkE1CdqnVNt3+OGHu31g8ODB9vPPP4etQzWC55xzjrVo0cK9Jr0/esy+ffuCy3z11Vfu8aqhDKVayipVqrhairJy0kknWfXq1cPmqQlI+4HKWRS9Ty+++KKdeuqpbpsEaF9ftWqVe2/1Onfv3h32+gMyMjJcrdjw4cPD5gduP/fcc2Hztd+p1kjbGOUTTUtIOK+88oo7GOjLsizpgCQNGzYs1vL6ov3xxx8LzNeBs2rVqrZ161Z3MGvatKndcccdbr6eI1oYiWbt2rV2wQUX2DXXXGMjR460OXPmuKp8hYlA3wKVQQcEBQtVoauvwn//+18bP368bdmyxYWWUFqH+gFdddVV7oDZqFGjIsvw9ttv2wsvvOACjcKYAkd2drb17NkzGHT0+l577TUbPXq060OiUCXqx3TGGWe4poEbbrjBHaTVzKB1lpbC2bnnnusO3noN6iPxxRdf2NSpU13/jEWLFrnl1MSgIKgD2IMPPuhe67p161xziOhxmq9+UVrPySef7OYXtc9pu4qaT6JR4FPz59ixY11QUSBXv5G+ffu64KSgoTKoCURNHaHBTwFKYUv9PPRX20hl0/Z87LHHgmVWuFHTqppUtB3UJ0QBUJ2P9XoOFCB27NhRrO2s97qkFNi0byjMFOU///mPC98jRowIm//WW2+5v3qvjj/+eFuxYoULS+edd57NmDEjuK8GAqvCTiiFR9HjInXv3j24b6AcineVEBAqJyfHVQ8PHjy42I8pbdPStm3b3LRu3TrvD3/4g6vqVtW2mpmK07RU2JSRkeGWW7hwobutJoySatWqlXvsiy++GLZtmjdv7h133HHBeQ899JB7LarWD3XHHXe46vTMzMywMterV8/bunVrscqg5StXruytXr26QLOAyvHjjz+GzR8+fLhXv379YLOAmv+0jhdeeCG4zK5du7y2bdsWeE/0evW+RDr11FPdFPC3v/3Nlem9994LW27WrFlunWrykKlTp7rben9j1bR09913u+V37NgRNj+wbZs2bept3749OH/8+PFufteuXV0zXsCFF17oVa9e3cvLywvOi9aUcvXVV3u1atUKW07NL3369PGSk5Pd9td+qWaW4uxjep1F7behU2novdFjD9SEM2zYMNcE9csvv4TNP/fcc93jGzdu7Jqn/vWvf3n33HOPe30nnXRS8HO5YsUKt5z2/VCLFy9289UsHenRRx9196mZCeUPNTJIKPoFKoe6U55+yaomIZSaIZ555hlX01Ac+iWvGpJIagIS1cDIv//9b+vatatVq1atRGVUDYZ+jQZo1JaaFdRspM6VKSkpNn/+fFeboFqk0NohNX9o9NS7774b9st32LBhBV53UVTbE3g9onyjZgHVNOj/oc+pJjRV63/yySdudJl+eatpULUHob+atd3UFFQaer2qmVANROhzq9ZDlixZ4mpVAttezQlqOorFCKOffvrJ1bSpxiQa7Qv169cP3u7Ro4f7e/HFF7vHhc7/5z//6WrRVPMYWbugWhPVOuh9/dOf/mRff/21239Er0O1N7o9cOBA13R59913uxqMA9H7o+a2Q0FlHDNmjPXq1cvVHhb1+VZHfnWSD7xHAWpOFjX5/f3vfw/ur9pnVMOYnp7u9mvViGkb6nOgTsGnn366a8669tpr3WcsdERjQKCWVfuMmppQvhBkkFB0sJbiVoEXV2Q4UZ8TNWEF+nGoGUBNQZHV1UVRn4DI/hKRIUBfxBotoaYP9fVQfxENLVX1+YGoD0hkuTVMXNREpSCj5if12ygsnOg1hVIfnZKIXF7n41CzgEaMFTZqLPCcGzZsiPoa1FeltPR6ddA6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2+zZs2NfGgAAgEPd2fe3336zp59+2t566y3r3r17gWssTZkypTSrBQAAOHRB5rvvvrPWrVvbqlWrrFu3bm6eOv2G0lBsAACAhAsyOnOvrqu0ZMmS4CUJnnzySUtOTj5U5QMAAIhNH5nIq1u/9tprbug1AACAbzr7FhZsAAAAEjbIqP9LZB+Yg+kTM3PmTOvSpYvVq1fPTb169XK1PAF5eXk2ZswYa9y4sdWpU8eGDRtm2dnZpX4+AABQgfvIqAZm1KhRwQtDKmhcc801BUYtLViwoFjr09WzJ06c6PreaN3PPPOMO1OwzhDcqVMnGzdunL366qs2f/58q1+/vl1//fXuDMJcBgEAAJQ4yIwcObLA+WQOxqBBg8JuP/LII66WZtmyZS7k6Fw1zz77rPXt29fdP2fOHOvQoYO7v2fPnryDAABUcCUKMgoSh8q+fftczYs6D6uJacWKFe5yCP369Qsu0759e2vZsqVlZGQQZAAAQOlOiBdLX3zxhQsuaqZSP5iFCxdax44d7bPPPrPq1atbgwYNwpbXUO+srKxC15efn++mgNzc3ENafgAA4NNRS7HQrl07F1o+/PBDu/baa13z1Zdfflnq9U2YMMH1pwlMqampMS0vAABIHHEPMqp1adu2rbvUgUJI165d7YknnrCUlBTbs2ePbd++PWx5jVrSfYUZP3685eTkBKeNGzeWwasAAAAVMshE2r9/v2saUrDRlbbT09OD961Zs8YyMzNdU1RhNKIqMJw7MAEAgPIprn1kVHsycOBA14F3x44dboTSO++8Y6+//rprFho9erSlpaVZo0aNXCAZO3asCzF09AUAAHEPMlu3brVLL73UXb9JwUUnx1OIOfPMM939U6dOtcqVK7sT4amWZsCAATZjxgzeOQAAEP8go/PEFKVGjRo2ffp0NwEAACR8HxkAAIDiIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgA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+geVJZrwAMCnQebHH3+0ffv2WXJy+C9x3f7666+jPiY/P99NATk5Oe5vbm7uITm47v11V9HLeF5Mlonlulim6GVycndYw8ZNi1xmd16+1aqRVCbL5O7cGZvXvn//AT8HJ/bqbdlZWUUuk5ySYh9lfFAm6wFQceX+/+8rfb8VyUtgP/zwg0rv/fe//w2bf+utt3onnnhi1Mfcd9997jFMTExMTExM5vtp48aNRWaFhK6RadKkiVWpUsWys7PD5ut2SkpK1MeoGUqdgwP2799vP//8szVu3NgqVaoU06SYmppqGzdutHr16sVsvRUN2/HgsQ1jg+148NiGscF2tGBNzI4dO6xFixZWlIQOMtWrV7fu3btbenq6DRkyJBhMdPv666+P+pikpCQ3hWrQoMEhK6N2soq8o8UK2/HgsQ1jg+148NiGscF2NKtfv/4Bl0noICOqXRk5cqQdf/zx7twxGn69a9eu4CgmAABQcSV8kLngggts27Ztdu+997oT4h177LG2ePHiAh2AAQBAxZPwQUbUjFRYU1K8qPnqvvvuK9CMhZJhOx48tmFssB0PHtswNtiOJVNJPX5L+BgAAICEUDneBQAAACgtggwAAPAtggwAAPAtggwAAPAtgkwpTZ8+3Vq3bm01atSwHj162EcffRTvIiWM+++/351FOXRq37598P68vDwbM2aMO9tynTp1bNiwYQXO3pyZmWnnnHOO1apVy5o1a2a33nqr/fbbb1ZevfvuuzZo0CB3Bkttr0WLwi8SqT75OgWBrsxds2ZNd+HUtWvXhi2jM1iPGDHCnUBLJ4EcPXq07dy5M2yZlStX2sknn+z2W505dPLkyVaRtuOoUaMK7JtnnXVW2DIVfTtOmDDBTjjhBKtbt6777OlkpGvWrAlbJlaf4Xfeece6devmRue0bdvW5s6daxVlG5522mkF9sVrrrkmbJmKvA1LJJbXRqoonnvuOa969ere008/7a1evdq78sorvQYNGnjZ2dnxLlpC0PWuOnXq5G3ZsiU4bdu2LXj/Nddc46Wmpnrp6ene8uXLvZ49e3onnXRS8P7ffvvN69y5s9evXz/v008/9f7zn/94TZo08caPH++VV3qNd911l7dgwQJ3bZGFCxeG3T9x4kSvfv363qJFi7zPP//cO/fcc702bdp4v/76a3CZs846y+vatau3bNky7733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Xai1NHSh0nPOOcdatWpV6DIKEb1793ZXaH/sscfsmGOOcReDfP31123MmDGuVqekrrzySnvwwQctPz/fXTDwqquucuu/9tpri3zcW2+9ZZ06dQqb17hx4xI/P1DRUCMDlBP9+vVzV8lWDUBh7r///gLNLNOmTbPWrVsXqGV49NFHLTk52R2EdWD+7bff7NZbb7VGjRrZ4YcfbnPmzCmwfh34TzrpJBeqOnfubEuXLg27f9WqVTZw4ECrU6eOW/cll1xiP/74Y1iNhq4afNNNN1mTJk1swIABUV+HrkatMqkcqkXRa1q8eHHwftVm6ArWWkb/1+uO5rrrrnP3f/TRRzZs2DBXg6IwkZaWVurakFq1arn3QQHqsssusy5durgrEh+IQoseFzrpKtPy+eef2+mnn25169Z1Vz/WFaiXL19eqvIB5Q1BBignqlSp4sLHU089ZZs2bTqodakmYfPmzfbuu+/alClTXDPN7373O1fT8+GHH9o111zjan4in0dB5+abb7ZPP/3UevXq5ZpofvrpJ3ff9u3brW/fvnbccce5g7CCR3Z2tv3+978PW8czzzzjamE++OADmzVrVtTyPfHEE/b444/bH/7wB1u5cqULPOeee66tXbvW3b9lyxYXSFQW/f+WW24psI6ff/7ZlUE1L2qCiqQAdzDUnPTee++5cFfaWqWAESNGuND28ccfu4B2xx13BEMOUNERZIBy5LzzznO1EwoeB0O1Lk8++aS1a9fOLr/8cvd39+7dduedd9pRRx1l48ePdwfn999/P+xxqk1RzUaHDh1s5syZVr9+fZs9e7a7749//KMLMQpb7du3d/9/+umnbcmSJfbNN98E16H1T5482T2npmgUYG6//XYbPny4W0ZNanrdql0S1WZUrVrV1fzo//obad26dS5sqCyxNGPGDPd8qik65ZRTXO3RDTfccMDHqSZLjwudAjIzM12Nm8qq7XP++edb165dY1puwK/oIwOUMzqoq+YjWi1Ecak2o3Ll//udo2YgNRWF1v6oKWTr1q1hj1MtTICCxPHHH29fffVVsHlEoSVaqFB/FjXriJpNipKbm+tqi9S3JZRu6zmKK7QDbiyp9uSuu+6yX375xQVKBRRNB/L888+7ABiNmrquuOIK+9vf/uYCjYLMkUceeQhKD/gPQQYoZ1QLoKYW1Zqov0sohZPIA7g6t0aKbLZQP5Jo81TbUFw7d+50TU0KWpGaN28e/H+0Zp5DQTUbeg3F6dCrvik5OTkF5qu5TLVOoXS7bdu27v8vvPCC+7+GgSuAFEWjpQKPi6Q+PhdddJG9+uqr9tprr7mA9Nxzz7kaOKCio2kJKIc0DPuVV16xjIyMsPlNmzZ1w41Dw0wsz/0S2kFWnYPVnyNQy9CtWzdbvXq161isA3boVJLwos6uLVq0cH1oQul2x44dS9R8psA3ffp027VrV9SQEqDmK72WUPv27XM1QIGapGhU+3TjjTe62rGDrQHS84wbN87eeOMNGzp0aNTO1kBFRJAByiENI1YTh/q5hNKooG3btrk+KGrO0UFcv/BjRetbuHChq+VQJ1o1r6iPjei2OtheeOGFrtOqnl/DnDWyR6GgJNSpWDU7ao7ReWLU+VWBTKGhpOXVc5944on24osvus7CagrTdgttJlPTzl//+lfX/0XL6Lk0rFqvT00+RVGnaPUB0vqLok7RCpmhU15env3666+u79E777xjGzZscIFN26+wZiigoiHIAOWUhh5HNv3o4KeDsQ7g6iyqYccH05cmWk2QJq1bHYFffvllN4xaArUoCg79+/d3YUvDrDU6KLQ/TnGo86zChUYlaT0afaTnUnNRSegkeJ988okb2qx1qR/QmWee6U6Gp87KAQpfCjLqnKw+PGeddZYLGhrVpf5DB6r5ufTSS13zUFFNcWp6UhNb6KST8Kk/kkKO1qFaGY3y0hD2Bx54oESvFSivKnmHqscbAADAIUaNDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAAML/6f8bgsMdHNVolAAAAAElFTkSuQmCC\"\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " \"{\\n\",\n", + " \" \\\"cells\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"ba1f42e6-f208-4511-8117-4d92d392bd84\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# NodeNorm Log Analysis\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"```\\\\n\\\",\\n\",\n", + " \" \\\"2025-06-18T03:26:30-04:00\\\\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\\\\n\\\",\\n\",\n", + " \" \\\"```\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"This Jupyter Notebook is intended to be used in analysing these logs.\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"bc4248bb-1c4a-446e-95a3-54acc13e01de\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"## Install prerequisites\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 14,\\n\",\n", + " \" \\\"id\\\": \\\"721be6fa-7f14-4979-bffb-5a32cb316444\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"name\\\": \\\"stdout\\\",\\n\",\n", + " \" \\\"output_type\\\": \\\"stream\\\",\\n\",\n", + " \" \\\"text\\\": [\\n\",\n", + " \" \\\"Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\\\\n\\\",\\n\",\n", + " \" \\\"Note: you may need to restart the kernel to use updated packages.\\\\n\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"%pip install pandas matplotlib numpy\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"3a6bab9f-897e-4c96-84c8-3e402676e753\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"## Loading files\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"These files can be checked into the repository into the `logs/` subdirectory.\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 3,\\n\",\n", + " \" \\\"id\\\": \\\"c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"logfile = \\\\\\\"logs/nodenorm-renci-logs-2025jun18.txt\\\\\\\"\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"67ca8f70-adaa-4883-ac51-1c0ec235bd13\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"We can use Python dataclasses to load the important information from the logfile.\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 4,\\n\",\n", + " \" \\\"id\\\": \\\"42805620-22f8-4469-845a-a5fd40ae7a3d\\\",\\n\",\n", + " \" \\\"metadata\\\": {\\n\",\n", + " \" \\\"scrolled\\\": true\\n\",\n", + " \" },\\n\",\n", + " \" \\\"outputs\\\": [],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"from dataclasses import dataclass, field\\\\n\\\",\\n\",\n", + " \" \\\"from datetime import datetime\\\\n\\\",\\n\",\n", + " \" \\\"import logging\\\\n\\\",\\n\",\n", + " \" \\\"import re\\\\n\\\",\\n\",\n", + " \" \\\"import ast\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"logging.basicConfig(level=logging.INFO)\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"@dataclass\\\\n\\\",\\n\",\n", + " \" \\\"class LogEntry:\\\\n\\\",\\n\",\n", + " \" \\\" time: datetime\\\\n\\\",\\n\",\n", + " \" \\\" curies: list[str]\\\\n\\\",\\n\",\n", + " \" \\\" curie_count: int\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_ms: float\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_per_curie_ms: float\\\\n\\\",\\n\",\n", + " \" \\\" arguments: dict[str, str]\\\\n\\\",\\n\",\n", + " \" \\\" node: str = \\\\\\\"\\\\\\\"\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"def convert_log_line_into_entry(line: str) -> LogEntry: \\\\n\\\",\\n\",\n", + " \" \\\" # Depending on where the log file comes from, it might start with one of two types of timestamps:\\\\n\\\",\\n\",\n", + " \" \\\" # - ISO 8601 date (e.g. \\\\\\\"2007-04-05T12:30−02:00\\\\\\\"), which will be separated from the rest of the log line with a tab character.\\\\n\\\",\\n\",\n", + " \" \\\" # - Python log format date (e.g. \\\\\\\"2025-06-12 13:01:49,319\\\\\\\"), which should always be in UTC.\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # Entry variables.\\\\n\\\",\\n\",\n", + " \" \\\" log_time = None\\\\n\\\",\\n\",\n", + " \" \\\" curies = []\\\\n\\\",\\n\",\n", + " \" \\\" curie_count = -1\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_ms = -1.0\\\\n\\\",\\n\",\n", + " \" \\\" arguments = {}\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # Parse the datetime stamp.\\\\n\\\",\\n\",\n", + " \" \\\" iso8601date_match = re.match(r'^(\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}(?:[T ]\\\\\\\\d{2}:\\\\\\\\d{2}(?::\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d+)?(?:Z|[+-]\\\\\\\\d{2}:\\\\\\\\d{2})?)?)?)\\\\\\\\t', line)\\\\n\\\",\\n\",\n", + " \" \\\" if iso8601date_match:\\\\n\\\",\\n\",\n", + " \" \\\" log_time = datetime.fromisoformat(iso8601date_match.group(1))\\\\n\\\",\\n\",\n", + " \" \\\" else:\\\\n\\\",\\n\",\n", + " \" \\\" # TODO raise exception\\\\n\\\",\\n\",\n", + " \" \\\" logging.error(f\\\\\\\"Could not identify the datetime for the line: {line}\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # Parse the log text.\\\\n\\\",\\n\",\n", + " \" \\\" log_text_match = re.search(r'\\\\\\\\| INFO \\\\\\\\| normalizer:get_normalized_nodes \\\\\\\\| Normalized (\\\\\\\\d+) nodes in ([\\\\\\\\d\\\\\\\\.]+) ms with arguments \\\\\\\\((.*)\\\\\\\\)', line)\\\\n\\\",\\n\",\n", + " \" \\\" if not log_text_match:\\\\n\\\",\\n\",\n", + " \" \\\" raise ValueError(f\\\\\\\"Could not find NodeNorm log-line: {line}\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\" curie_count = int(log_text_match.group(1))\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_ms = float(log_text_match.group(2))\\\\n\\\",\\n\",\n", + " \" \\\" argument_text = log_text_match.group(3)\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\\\\n\\\",\\n\",\n", + " \" \\\" argument_fn_call = f'arguments({argument_text})'\\\\n\\\",\\n\",\n", + " \" \\\" tree = ast.parse(argument_fn_call, mode=\\\\\\\"eval\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\" call_node = tree.body\\\\n\\\",\\n\",\n", + " \" \\\" for kw in call_node.keywords:\\\\n\\\",\\n\",\n", + " \" \\\" arguments[kw.arg] = ast.literal_eval(kw.value)\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # Some assertions.\\\\n\\\",\\n\",\n", + " \" \\\" if 'curies' not in arguments:\\\\n\\\",\\n\",\n", + " \" \\\" raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\\\\n\\\",\\n\",\n", + " \" \\\" curies = arguments['curies']\\\\n\\\",\\n\",\n", + " \" \\\" if len(curies) != curie_count:\\\\n\\\",\\n\",\n", + " \" \\\" raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\\\\n\\\",\\n\",\n", + " \" \\\" if len(curies) < 1:\\\\n\\\",\\n\",\n", + " \" \\\" raise ValueError(f'Found no CURIEs in line: {line}')\\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" # Emit the LogEntry.\\\\n\\\",\\n\",\n", + " \" \\\" return LogEntry(\\\\n\\\",\\n\",\n", + " \" \\\" time=log_time,\\\\n\\\",\\n\",\n", + " \" \\\" curies=curies,\\\\n\\\",\\n\",\n", + " \" \\\" curie_count=curie_count,\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_ms=time_taken_ms,\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_per_curie_ms=time_taken_ms/curie_count,\\\\n\\\",\\n\",\n", + " \" \\\" arguments=arguments\\\\n\\\",\\n\",\n", + " \" \\\" )\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"logs = []\\\\n\\\",\\n\",\n", + " \" \\\"with open(logfile, 'r') as logf:\\\\n\\\",\\n\",\n", + " \" \\\" for line in logf:\\\\n\\\",\\n\",\n", + " \" \\\" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\\\n\\\",\\n\",\n", + " \" \\\" if \\\\\\\"normalizer:get_normalized_nodes\\\\\\\" not in line:\\\\n\\\",\\n\",\n", + " \" \\\" continue\\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" logs.append(convert_log_line_into_entry(line))\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 5,\\n\",\n", + " \" \\\"id\\\": \\\"227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"execution_count\\\": 5,\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"execute_result\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"execution_count\\\": 50\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"source\\\": \\\"# Some overall measures\\\",\\n\",\n", + " \" \\\"id\\\": \\\"a13af441dd8d87d\\\"\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"source\\\": \\\"\\\",\\n\",\n", + " \" \\\"id\\\": \\\"2ee4b13bab99da17\\\"\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"metadata\\\": {\\n\",\n", + " \" \\\"ExecuteTime\\\": {\\n\",\n", + " \" \\\"end_time\\\": \\\"2025-07-03T14:54:04.252739Z\\\",\\n\",\n", + " \" \\\"start_time\\\": \\\"2025-07-03T14:54:04.246303Z\\\"\\n\",\n", + " \" }\\n\",\n", + " \" },\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"times = sorted(list(set(map(lambda x: x.time, logs))))\\\\n\\\",\\n\",\n", + " \" \\\"count_requests = len(logs)\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Total number of requests: {count_requests}\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_per_curie_ms, logs))/count_requests} ms\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Average throughput: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"#print(f\\\\\\\"Average throughput per CURIE: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec per CURIE\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"#print(f\\\\\\\"Total number of unique CURIEs: {len(set(sum(map(lambda x: x.curies, logs), [])))}\\\\\\\")\\\"\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"id\\\": \\\"702b88dac738feb0\\\",\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"name\\\": \\\"stdout\\\",\\n\",\n", + " \" \\\"output_type\\\": \\\"stream\\\",\\n\",\n", + " \" \\\"text\\\": [\\n\",\n", + " \" \\\"Time range: 2025-06-30 15:19:44.142000 to 2025-07-03 14:01:04.186000 (2 days, 22:41:20.044000)\\\\n\\\",\\n\",\n", + " \" \\\"Total number of requests: 9992\\\\n\\\",\\n\",\n", + " \" \\\"Total number of CURIEs: 1300164\\\\n\\\",\\n\",\n", + " \" \\\"Total time taken: 4278872.9 ms\\\\n\\\",\\n\",\n", + " \" \\\"Average time per CURIE: 5.692698317139622 ms\\\\n\\\",\\n\",\n", + " \" \\\"Average throughput: 0.0023351943919624253 nodes/sec\\\\n\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"execution_count\\\": 55\\n\",\n", + " \" \\\"logs[0:10]\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"dfc3b8e7-be80-44a2-b142-943c0c3c2dbb\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"## Visualizing the logs\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"9650b40f-4ddf-4157-84c3-cb8dd9466491\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": []\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 15,\\n\",\n", + " \" \\\"id\\\": \\\"7a52c4d7-21da-42f5-94cc-e5957ec9bcb6\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"text/html\\\": [\\n\",\n", + " \" \\\"
\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\"
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\\\\n\\\",\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\" time curies curie_count time_taken_ms \\\\\\\\\\\\n\\\",\\n\",\n", + " \" \\\"0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \\\\n\\\",\\n\",\n", + " \" \\\"1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \\\\n\\\",\\n\",\n", + " \" \\\"2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \\\\n\\\",\\n\",\n", + " \" \\\"3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \\\\n\\\",\\n\",\n", + " \" \\\"4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_per_curie_ms arguments \\\\\\\\\\\\n\\\",\\n\",\n", + " \" \\\"0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", + " \" \\\"1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \\\\n\\\",\\n\",\n", + " \" \\\"2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", + " \" \\\"3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", + " \" \\\"4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" node throughput_cps \\\\n\\\",\\n\",\n", + " \" \\\"0 476.190476 \\\\n\\\",\\n\",\n", + " \" \\\"1 666.666667 \\\\n\\\",\\n\",\n", + " \" \\\"2 311.526480 \\\\n\\\",\\n\",\n", + " \" \\\"3 507.614213 \\\\n\\\",\\n\",\n", + " \" \\\"4 469.483568 \\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"execution_count\\\": 15,\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"execute_result\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"import pandas as pd\\\\n\\\",\\n\",\n", + " \" \\\"import numpy as np\\\\n\\\",\\n\",\n", + " \" \\\"import matplotlib.pyplot as plt\\\\n\\\",\\n\",\n", + " \" \\\"from dataclasses import asdict\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# Assume `records` is your list of dataclass instances\\\\n\\\",\\n\",\n", + " \" \\\"# Convert to DataFrame\\\\n\\\",\\n\",\n", + " \" \\\"df = pd.DataFrame([asdict(r) for r in logs])\\\\n\\\",\\n\",\n", + " \" \\\"df['time'] = pd.to_datetime(df['time'])\\\\n\\\",\\n\",\n", + " \" \\\"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"df.head()\\\\n\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 10,\\n\",\n", + " \" \\\"id\\\": \\\"3f0f62a4-fe2f-4e9c-8236-6e93785e1588\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# Graph 1. CURIE count vs time taken.\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", + " \" \\\"# 2) Group by batch size\\\\n\\\",\\n\",\n", + " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", + " \" \\\"groups = [grp['time_taken_per_curie_ms'].values\\\\n\\\",\\n\",\n", + " \" \\\" for _, grp in df.groupby('curie_count')]\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"labels = [str(size) for size, _ in df.groupby('curie_count')]\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"del groups[0]\\\\n\\\",\\n\",\n", + " \" \\\"del labels[0]\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", + " \" \\\"# 3) Boxplot of per‑CURIE time by batch size\\\\n\\\",\\n\",\n", + " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure(figsize=(10,6))\\\\n\\\",\\n\",\n", + " \" \\\"plt.boxplot(groups, tick_labels=labels, showfliers=True)\\\\n\\\",\\n\",\n", + " \" \\\"plt.xlabel(\\\\\\\"Number of CURIEs in Batch\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"Distribution of Time per CURIE by Batch Size\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.xticks(rotation=45)\\\\n\\\",\\n\",\n", + " \" \\\"plt.tight_layout()\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 16,\\n\",\n", + " \" \\\"id\\\": \\\"ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# Scatter plot\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure(figsize=(10,6))\\\\n\\\",\\n\",\n", + " \" \\\"plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# Fit a linear regression line\\\\n\\\",\\n\",\n", + " \" \\\"m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\\\\n\\\",\\n\",\n", + " \" \\\"x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\\\\n\\\",\\n\",\n", + " \" \\\"plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# Labels and title\\\\n\\\",\\n\",\n", + " \" \\\"plt.xlabel(\\\\\\\"Number of CURIEs\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"Time per CURIE vs. CURIE Count with Regression Line\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.legend()\\\\n\\\",\\n\",\n", + " \" \\\"plt.grid(True)\\\\n\\\",\\n\",\n", + " \" \\\"plt.tight_layout()\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 32,\\n\",\n", + " \" \\\"id\\\": \\\"2ca9ccd5-7f93-4f0c-b41f-19c7a863178e\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# 1. Time series of throughput (curies per second)\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", + " \" \\\"plt.plot(df['time'], df['throughput_cps'])\\\\n\\\",\\n\",\n", + " \" \\\"plt.xlabel(\\\\\\\"Time\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Throughput (CURIEs/sec)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"System Throughput Over Time\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 33,\\n\",\n", + " \" \\\"id\\\": \\\"9c064d44-4c6b-40f9-bc83-63a94d02463b\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# 2. Histogram of time per CURIE\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", + " \" \\\"plt.hist(df['time_taken_per_curie_ms'], bins=50)\\\\n\\\",\\n\",\n", + " \" \\\"plt.xlabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Frequency\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"Distribution of Time Taken per CURIE\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 34,\\n\",\n", + " \" \\\"id\\\": \\\"0dd31031-25d0-42f7-977b-93cb194228f8\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# 3. Boxplot to highlight outliers in time per CURIE\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", + " \" \\\"plt.boxplot(df['time_taken_per_curie_ms'])\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"Boxplot of Time per CURIE (Outliers Shown)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": null,\\n\",\n", + " \" \\\"id\\\": \\\"fee5ecb0-a7a6-4797-930c-5d89074acc91\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [],\\n\",\n", + " \" \\\"source\\\": []\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"metadata\\\": {\\n\",\n", + " \" \\\"kernelspec\\\": {\\n\",\n", + " \" \\\"display_name\\\": \\\"Python 3 (ipykernel)\\\",\\n\",\n", + " \" \\\"language\\\": \\\"python\\\",\\n\",\n", + " \" \\\"name\\\": \\\"python3\\\"\\n\",\n", + " \" },\\n\",\n", + " \" \\\"language_info\\\": {\\n\",\n", + " \" \\\"codemirror_mode\\\": {\\n\",\n", + " \" \\\"name\\\": \\\"ipython\\\",\\n\",\n", + " \" \\\"version\\\": 3\\n\",\n", + " \" },\\n\",\n", + " \" \\\"file_extension\\\": \\\".py\\\",\\n\",\n", + " \" \\\"mimetype\\\": \\\"text/x-python\\\",\\n\",\n", + " \" \\\"name\\\": \\\"python\\\",\\n\",\n", + " \" \\\"nbconvert_exporter\\\": \\\"python\\\",\\n\",\n", + " \" \\\"pygments_lexer\\\": \\\"ipython3\\\",\\n\",\n", + " \" \\\"version\\\": \\\"3.13.5\\\"\\n\",\n", + " \" }\\n\",\n", + " \" },\\n\",\n", + " \" \\\"nbformat\\\": 4,\\n\",\n", + " \" \\\"nbformat_minor\\\": 5\\n\",\n", + " \"}\\n\"\n", + " ],\n", + " \"execution_count\": 93\n", + " },\n", + " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:58:50.581601Z\",\n", + " \"start_time\": \"2025-07-03T19:58:50.538167Z\"\n", + " }\n", + " },\n", + " \"cell_type\": \"code\",\n", + " \"source\": [\n", + " \"# CURIEs per request (but only from 1-10)\\n\",\n", + " \"sns.histplot(df['curie_count'], bins=10, binrange=(1, 10), stat='percent')\\n\",\n", + " \"plt.title(\\\"CURIEs per request (from 1-10)\\\")\\n\",\n", + " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.show()\"\n", + " ],\n", + " \"id\": \"c661fc023ff6240c\",\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ],\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAANX5JREFUeJzt3QmczWXfx/HfMIx9328m2gxJokJpsUSSEk93ilJpl0RK2qQNLUiR6rak5RZ3qXQ/qCRaRlnadCNUhuyVGfuS87y+1/Ocec4ZZ5gZM3PONfN5v15/Zv7nnP9cZ5k533Ndv+v6xwUCgYABAAB4qEi0GwAAAJBTBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQDII0899ZQlJSXZoUOH0vft3LnTbrzxRqtRo4bFxcXZXXfdFdU2+mj8+PGWmJho+/bti3ZTEAMIMigQ1qxZY7fccosdf/zxVqJECStXrpydc8459txzz9mePXvSr6c3jjvuuCPiMf71r3+5yz/99NP0fdddd53bF9wSEhLs5JNPtocfftj27t172DEyHv/XX38Nu33Gbfjw4bn+WCD3bdiwwR555BH79ttvs3ybtLQ0GzFihA0aNMiKFPn/P7VPPvmkTZ482W677TZ77bXX7JprrrFY9tZbb1nPnj3tpJNOcq/ZCy64IFu337hxo913333WunVrK1u27GG/Yxl9+eWX1qpVKytVqpQLe3feeacLf6H0e7l//3576aWXcny/UHDER7sBwLH697//bVdccYULGddee601atTI/ZH7/PPP7Z577rEff/zRXn755RwfX8f9xz/+4b5OTU219957zx577DEXnt54440sHeOqq66yiy+++LD9p59+eo7bhfwNMkOHDrW6detakyZNsnSbiRMn2sGDB91zH+qTTz6xFi1a2JAhQ8wHL774oi1ZssTOPPNM+/3337N9+5UrV7pApyB06qmnWnJycqbXVVBs27atNWjQwEaOHGnr16+3Z555xlatWmWzZs1Kv54+rPTq1ctdp2/fvi4cofAiyMBrv/zyi3Xv3t2OO+449wZRs2bN9Mv69Oljq1evdkHnWMTHx7tPpEG33367nX322fbPf/7T/SGtXr36UY/RtGnTsGP4Rm/IGh4pXrx4lq6v6ypM6g2nsJo0aZJdeumlhz0GW7ZssYYNGx719urx0+Md2psTDeo1+tvf/ubaoQ8J2dWsWTMXgCpVquR6PfWhIzP333+/VaxY0fXYqFdVFB5vuukm+/DDD619+/bp1/373//uhu7mzZtnbdq0yeG9Q0HA0BK8pj9k6naeMGFCWIgJOvHEE61fv365+jP16U9d3zpx/M8//5xrx128eLF16NDBqlSpYiVLlrR69erZDTfccNTb6Q/9JZdc4v7Qq7dAb5x6o3znnXcOu+727dtdTUadOnVcT5MeH31aDq3hCA6H6ZPw6NGj7YQTTnDX/c9//pNpG4JDauqhOuWUU9z1Z8+e7S777bff3P1Q4NN+Xa7eioz06btLly5WunRpq1atmvXv39/mzJlz2FCE7q+GFjLSkEfGYQ/VUKjnQ/dTP1v3+9577z2stuKjjz5yz2mFChWsTJkyVr9+ffemKvrZ6o2Q66+/Pn1YUMNDRwrY33//vbVr1y59n46j2+kyhevgcfR4By+bOnWqPfjggy44aGhFw1Myffp0Fwj0utDrQ6FYj2soPSZqe0pKins96GsdZ+zYse7yH374wb3h6/FV8H/zzTctK/SYHUuY0nCSQszR6L7qedB9C4YYUS+r7su0adPCrq/HQ8dVDykKN3pk4LWZM2e6uhj1kOQnvfmIPj1mxe7du23btm2H7dcbp3p89CldnzarVq3q6gm0Xz8jUhiJRF3vV155pd16662uy129AfrkqzBx4YUXprfh/PPPd2+AqidSsaTqEQYPHuzqGBRaQukY6hW4+eabXQg42puResT0ZqNAozdbBY7Nmze7YZRg0NH90xBB79693RtXsNBVdUwaUtCbsGoiatWq5XoCdMycUjhTj4iGGHUfNFyhN/NRo0bZTz/9ZO+++667noYe9cbfuHFje/TRR919VU/eF1984S7X7bRfdVE6zrnnnuv2H+k1p8c12BMXpOPoPimg1a5d2+6++263X49J8PWkIUv1wgwcONCFLX2twKQApTA1bNgw95iq9kvt++abb9xrJeivv/6yjh072nnnnedCvoKlHneFlwceeMB69OhhXbt2dcWyCggtW7Z0gTkW6LlRz98ZZ5wRtl+PgQK67mtGenyDzxMKsQDgqdTU1IBewpdddlmWb6Pr9+nTJ+Jl06dPd5fPmzcvfV+vXr0CpUuXDmzdutVtq1evDjzzzDOB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vkdGC+KdccYZ9ueff7rzLAWpbkYL2AEAAMRsj8xnn31mX375pVtPJlTdunXtt99+y622AQAA5H6PjE4joPMtZbR+/Xo3xAQAABCzQaZ9+/Y2evTo9O+1KJ6KfIcMGXLMpy0AAADI06GlZ5991p0uoGHDhrZ37167+uqrbdWqVValShX75z//mZNDAgAA5E+QqV27tn333Xfu5JHff/+9643RCR579OgRVvwLAAAQc0HG3TA+3nr27Jm7rQEAAMjrIDNlypQjXq4zWgMAAMRkkNE6MqEOHDhgu3fvdtOxS5UqRZABAACxO2tJC+GFbqqRWblypbVq1YpiXwAAEPvnWsropJNOsuHDhx/WWwMAABDzQSZYAKwTRwIAAMRsjcz7778f9n0gELCNGzfaCy+8YOecc05utQ0AACD3g0yXLl3CvtfKvlWrVrU2bdq4xfIAAABiNsjoXEsAAAAFqkYGAAAg5ntkBgwYkOXrjhw5Mic/AgAAIG+CzDfffOM2LYRXv359t++nn36yokWLWtOmTcNqZwAAAGIqyHTu3NnKli1rr776qlWsWNHt08J4119/vZ177rl2991353Y7AQAAcqdGRjOThg0blh5iRF8//vjjzFoCAACxHWTS0tJs69ath+3Xvh07duRGuwAAAPImyFx++eVuGOmdd96x9evXu+3tt9+23r17W9euXXNySAAAgPypkRk/frwNHDjQrr76alfw6w4UH++CzNNPP52TQwIAAORPkClVqpSNGzfOhZY1a9a4fSeccIKVLl06J4cDAADI/wXxdH4lbTrztUKMzrkEAAAQ00Hm999/t7Zt29rJJ59sF198sQszoqElpl4DAICYDjL9+/e3YsWKWUpKihtmCrryyitt9uzZudk+AACA3K2R+fDDD23OnDlWu3btsP0aYlq7dm1ODgkAAJA/PTK7du0K64kJ+uOPPywhISEnhwQAAMifIKPTEEyZMiXsnEqHDh2yp556ylq3bp2TQwIAAOTP0JICi4p9Fy9ebPv377d7773XfvzxR9cj88UXX+TkkAAAAPnTI9OoUSN3tutWrVrZZZdd5oaatKKvzoit9WQAAABiskdGK/ledNFFbnXfBx54IG9aBQAAkBc9Mpp2/f3332f3ZgAAALExtNSzZ0+bMGFC7rcGAAAgr4t9Dx48aBMnTrSPP/7YmjVrdtg5lkaO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nXHGGXbWWWfZ6NGjbdeuXW4WEwAAKNxiPshceeWVtnXrVnv44Ydt06ZN1qRJE5s9e/ZhBcAAAKDwifkgIxpGymwoCcdOQ3FacDDjkByig+cjtvB8xBaej9iSEAPPR5wqfqP20wEAAArqgngAAABHQpABAADeIsgAAABvEWQAAIC3CDKF1LBhw+zMM8+0smXLWrVq1dyCgytXrox2s/B/hg8f7laivuuuu6LdlELtt99+s549e7qVwUuWLGmnnnqqLV68ONrNKpR03r2HHnrI6tWr556LE044wR577LGjn4cHuWLBggXWuXNnt8qu/ja9++67YZfredAyKTVr1nTPj07uvGrVKssPBJlCav78+danTx9buHChffTRR3bgwAFr3769W2wQ0bVo0SJ76aWXrHHjxtFuSqH2559/2jnnnGPFihWzWbNm2X/+8x979tlnrWLFitFuWqE0YsQIe/HFF+2FF16w5cuXu++feuope/7556PdtEJh165ddtppp9nYsWMjXq7nYsyYMTZ+/Hj76quvrHTp0tahQwfbu3dvnreN6ddwtOigemYUcM4777xoN6fQ0hlkmzZtauPGjbPHH3/cLQCp1ayR/+677z774osv7LPPPot2U2Bml1xyiVsIdcKECen7unXr5j79v/7661FtW2ETFxdnM2bMSD91kGKEemruvvtuGzhwoNuXmprqnq/Jkydb9+7d87Q99Mgg/UUnlSpVinZTCjX1knXq1Ml1yyK63n//fXdqlCuuuMKF/NNPP91eeeWVaDer0Dr77LPdefZ++ukn9/13331nn3/+uXXs2DHaTSv0fvnlF7fyfujfLZ0jqXnz5pacnJznP9+LlX2Rt3QiTtViqBu9UaNG0W5OoTV16lRbunSpG1pC9P38889uKEPne7v//vvd83LnnXe6k9nq/G/I/x4ynWk5KSnJihYt6mpmnnjiCevRo0e0m1bobdq0yf2f8dRB+j54WV4iyMD1Aixbtsx9ukF0rFu3zvr16+fqlUqUKBHt5uD/Ar56ZJ588kn3vXpk9HuiGgCCTP6bNm2avfHGG/bmm2/aKaecYt9++637AKYhDZ6Pwo2hpUJO57D64IMPbN68eVa7du1oN6fQWrJkiW3ZssXVx8THx7tN9UoqntPX+vSJ/KXZFw0bNgzb16BBA0tJSYlamwqze+65x/XKqN5Cs8eu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\"\n", " },\n", " \"metadata\": {},\n", " \"output_type\": \"display_data\"\n", " }\n", " ],\n", - " \"source\": [\n", - " \"# 3. Boxplot to highlight outliers in time per CURIE\\n\",\n", - " \"plt.figure()\\n\",\n", - " \"plt.boxplot(df['time_taken_per_curie_ms'])\\n\",\n", - " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", - " \"plt.title(\\\"Boxplot of Time per CURIE (Outliers Shown)\\\")\\n\",\n", - " \"plt.show()\"\n", - " ]\n", + " \"execution_count\": 94\n", " },\n", " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:53:37.033040Z\",\n", + " \"start_time\": \"2025-07-03T19:53:36.967540Z\"\n", + " }\n", + " },\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": null,\n", - " \"id\": \"fee5ecb0-a7a6-4797-930c-5d89074acc91\",\n", - " \"metadata\": {},\n", - " \"outputs\": [],\n", - " \"source\": []\n", + " \"source\": [\n", + " \"# Time taken distribution\\n\",\n", + " \"sns.histplot(df['time_taken_ms'], bins=20)\\n\",\n", + " \"plt.title(\\\"Time taken\\\")\\n\",\n", + " \"plt.xlabel(\\\"Time taken (ms)\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.show()\"\n", + " ],\n", + " \"id\": \"c06ac224b4390df3\",\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ],\n", + " \"image/png\": \"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fXsra9as1unTp62UKiwszJo8ebK1e/dua8eOHdZTTz1lFSxY0Lp48aKrTMeOHa0CBQpYy5cvt7Zs2WJVrVrVql69uut8XFycVbp0aatevXrW9u3brUWLFlk5c+a0+vXr5ypz8OBBK0OGDFbPnj2tvXv3WmPHjrVSpUplLVmyxApEmzZtsgoXLmyVLVvW6tatm+s499KZs2fPWoUKFbJefvlla+PGjeYzL1261Pr9999dZT788EMrNDTUmjdvnvXrr79a//3vf60iRYpYV65ccZVp0KCBVa5cOeuXX36x1q5daxUtWtRq0aKF63xUVJSVO3duq1WrVuZn4LvvvrPSp09vffbZZ1ageP/9960cOXJYCxYssA4dOmTNnj3bypQpkzV69GhXGe5lwvTn7+2337bmzJljnqU2d+5cj/P36r6tX7/e/IwPHz7c/Mz379/fSp06tbVr1y7L3xGafJg+KLhTp06u/evXr1v58uWzhg4dmqzX5UvOnDljfjmsXr3a7J8/f978cOovWtu+fftMmYiICNcvluDgYOvUqVOuMhMmTLCyZMlixcTEmP3evXtbpUqV8nivZs2amdAWaC5cuGA9+OCDVnh4uFW7dm1XaOJeOtenTx+rRo0atzx/48YNK0+ePNaIESNcx/T+pk2b1vzRUfrHRe/t5s2bXWUWL15sBQUFmQeKq/Hjx1vZsmVz3Vv7vYsVK2YFioYNG1qvvPKKx7Fnn33W/JFW3Etn4oeme3nfXnjhBfP/o7sqVapYr732muXv6J7zUbGxsbJ161bTfGoLDg42+xEREcl6bb4kKirKvGbPnt286j27du2ax33TJuKCBQu67pu+anOx+0rvYWFh5gGVe/bscZVxr8MuE4j3XrvftHst/uflXjo3f/588/il559/3nRRVqhQQb744gvX+UOHDpmnDLjfB33WlXa5u99L7Q7RemxaXn/uN27c6CpTq1Yt86xM93upXdTnzp2TQFC9enXzzM/ffvvN7P/666+ybt06efLJJ80+9zJx7uV9iwjgn3lCk4/6+++/Td9+/Ee46L7+h4//faCyjr959NFHpXTp0uaY3hv9YY7/8GT3+6avCd1X+9ztymgYuHLligSKGTNmyLZt28xYsfi4l84dPHhQJkyYIA8++KAsXbpUXn/9denatatMnTrV417c7udZXzVwuQsJCTH/ILib++3v+vbtK82bNzcBPXXq1CaA6s+5jrNR3MvEuZf37dQtygTCfeUxKvDrFpLdu3ebf4Xi7h07dky6desm4eHhZrAm/l2A13+df/DBB2Zf/9Drf5sTJ040DwGHc7NmzZJp06bJ9OnTpVSpUrJjxw4TmnRwM/cSyY2WJh+VM2dOSZUq1U0zlXQ/T548ktLp8wEXLFggK1eulPz587uO673Rrs3z58/f8r7pa0L31T53uzI6o0RnnQQC7X47c+aMmdWm/5rUbfXq1TJmzBjztf7LkHvpjM5GKlmypMexEiVKmJmF7vfidj/P+qr/f7jTWYg6m+lu7re/09mXdmuTdv22bt1aevTo4WoN5V4mzr28b3luUSYQ7iuhyUdpt0ilSpVM3777v2Z1v1q1apJS6fhGDUxz586VFStWmGnJ7vSeaZO++33Tvnb942XfN33dtWuXxy8HbW3RP+L2Hz4t416HXSaQ7n3dunXNfdB/ydubtpZoN4j9NffSGe0ijr/0hY7JKVSokPla/zvVPxju90G7J3WciPu91ICqYdam/43rz72OO7HL6LRyHWvmfi+LFSsm2bJlk0Bw+fJlM4bGnf4DUu+D4l4mzr28b9UC+Wc+uUei4/ZLDujMhilTpphZDR06dDBLDrjPVEppXn/9dTNldtWqVdbJkydd2+XLlz2myesyBCtWrDDT5KtVq2a2+NPk69evb5Yt0Knv9913X4LT5Hv16mVmjI0bNy7gpsknxH32nOJeOl+yISQkxEyXP3DggDVt2jTzmb/99luP6d768/vjjz9aO3futBo3bpzgdO8KFSqYZQvWrVtnZjW6T/fW2U463bt169Zmurf+jtD38edp8vG1adPG+s9//uNackCnz+syFjoL08a9vPVMWF36Qzf98z5q1Cjz9ZEjR+7pfVu/fr35efjoo4/Mz/w777zDkgO4N3RNG/2jpes16RIEunZGSqa/CBLadO0mm/4CeOONN8y0WP1hfuaZZ0ywcnf48GHrySefNOuL6C/kN99807p27ZpHmZUrV1rly5c39/7+++/3eI+UEpq4l8799NNPJkDqP3SKFy9uff755x7ndcr3gAEDzB8cLVO3bl0rMjLSo8w///xj/kDpukS6bEPbtm3NH0J3ur6OLm+gdWi40D+EgSQ6Otr8N6i/99KlS2f+e9G1h9ynuHMvE6Y/Zwn9ftQgeq/v26xZs6yHHnrI/MzrkiMLFy60AkGQ/k9yt3YBAAD4OsY0AQAAOEBoAgAAcIDQBAAA4AChCQAAwAFCEwAAgAOEJgAAAAcITQAAAA4QmgAAABwgNAG4Z15++WVp0qSJ+ItVq1ZJUFDQTQ8tvhf02V360N/r168n2XtUrVpVfvjhhySrHwg0hCYAXqHh4nbboEGDZPTo0TJlypR7fm36nlmzZhV/0rt3b+nfv795WG1S0fr79u3rehgugNsjNAHwipMnT7q2Tz75RLJkyeJx7K233pLQ0FC/Cy/JYd26dfLHH39I06ZNk/R9nnzySblw4YIsXrw4Sd8HCBSEJgBekSdPHtem4Uhbl9yPZcqU6abuuccee0y6dOki3bt3l2zZsknu3Lnliy++kEuXLknbtm0lc+bMUrRo0Zv+qO/evdv8wdc69Xtat24tf//99y272LSuqKgoj1Yv9c0330jlypXN++g1tmzZUs6cOXPLz3j58mXzvo8++qiry+7LL7803Wjp0qWT4sWLy/jx413lDx8+bN5vzpw5UqdOHcmQIYOUK1dOIiIibnsvZ8yYIU888YSp06bXXL58eZk0aZIULFjQfPY33njDdN8NHz7cXH+uXLnk/fffd32PPlpUv0/Lp02bVvLlyyddu3Z1nddWrKeeesq8H4A7IzQBSFZTp06VnDlzyqZNm0yAev311+X555+X6tWry7Zt26R+/fomFGlgURpWHn/8calQoYJs2bJFlixZIqdPn5YXXnghwfq1nvgtX9rqpa5duyZDhgyRX3/9VebNm2dCjga7hOj7apDRrqzw8HDTYjZt2jQZOHCgCSr79u2TDz74QAYMGGA+k7u3337bvOeOHTvkoYcekhYtWkhcXNwt78natWtNmItPW580QOpn/u677+Srr76Shg0byp9//imrV6+WYcOGmS63jRs3mvI6Xunjjz+Wzz77TA4cOGA+Y5kyZTzqfOSRR8z7AXDAAgAvmzx5shUaGnrT8TZt2liNGzd27deuXduqUaOGaz8uLs7KmDGj1bp1a9exkydPWvqrKiIiwuwPGTLEql+/vke9x44dM2UiIyPv6nri27x5s6nnwoULZn/lypVmf9++fVbZsmWtpk2bWjExMa7yDzzwgDV9+nSPOvT6qlWrZr4+dOiQ+f4vv/zSdX7Pnj2uOm9Fr/Xrr7/2OPbOO+9YGTJksKKjo13HwsLCrMKFC1vXr193HStWrJg1dOhQ8/XIkSOthx56yIqNjb3le/34449WcHCwRx0AEkZLE4BkVbZsWY/uohw5cni0hmj3m7K7zbRVaOXKlaZ7yt60W8xuibkbW7dulUaNGpnuK+2iq127tjl+9OhRj3LawqTdhDNnzpQ0adKYY9qFqO/Xrl07j2t57733broO98+YN29ej8+TkCtXrnh0zdkKFy5srtP93pQsWVKCg4M9jtl1a4ud1nX//fdL+/btZe7cuTe1cKVPn960nsXExDi8a0DKFZLcFwAgZUudOrXHvo4Bcj+m+8qe4XXx4kUTdLQrKj47kDihoScsLMxs2s123333mbCk+7GxsR5ltQtMu7r27t3rCnR6HUrHYFWpUsWjfPwZb7f7PAnR7spz587d9b2yj9l1FyhQQCIjI+Xnn382XYo6BmrEiBGmK8/+vrNnz0rGjBlNeAJwe4QmAH6lYsWKJsBoq0tIiLNfYdo6FH+9o/3798s///wjH374oQkXSsdIJUTLaCtS3bp1zcBybd3RFh0dWH3w4EFp1aqVeJOO19KA5g0ahjRk6tapUyfTKrdr1y5zH+1B9fp+AO6M7jkAfkX/8GvriA6m3rx5s+kKW7p0qZkhd6uFIDVgacuQLhips+x0ULl2yWmYGjt2rAk+8+fPN4PCb+Wjjz4y4UgHoWvgUoMHD5ahQ4fKmDFj5LfffjNhZPLkyTJq1Kh/9Rm1tUuXHfDG+lQ6WFyDkX7Gb7/91oSoQoUKucroIHAdbA/gzghNAPyKtu6sX7/eBCT9Y6/dZbpkgc5mcx/bE38GXceOHaVZs2amG06n6OurhorZs2ebliNtTdJgdDs6E01n6Wlw0pD06quvmiUHNCjpdeiYKK2zSJEi/+ozajjbs2eP6Vr7N/SeaPehLpGg46q0m+6nn34y48bU8ePHZcOGDSZwArizIB0N7qAcAOAe6tWrl0RHR5vlApJKnz59zNipzz//PMneAwgktDQBgA/StZ20Gy0pH3Gii2HerksSgCdamgAAABygpQkAAMABQhMAAIADhCYAAAAHCE0AAAAOEJoAAAAcIDQBAAA4QGgCAABwgNAEAADgAKEJAABA7uz/AR5e1gecMQMFAAAAAElFTkSuQmCC\"\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"execution_count\": 85\n", + " },\n", + " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:54:02.295055Z\",\n", + " \"start_time\": \"2025-07-03T19:54:02.241718Z\"\n", + " }\n", + " },\n", + " \"cell_type\": \"code\",\n", + " \"source\": [\n", + " \"# Time per CURIE distribution\\n\",\n", + " \"# CURIEs per request\\n\",\n", + " \"sns.histplot(df['time_taken_per_curie_ms'], bins=30)\\n\",\n", + " \"plt.title(\\\"Time taken per CURIE\\\")\\n\",\n", + " \"plt.xlabel(\\\"Time taken per CURIE (ms)\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.show()\"\n", + " ],\n", + " \"id\": \"629b162554799779\",\n", + " \"outputs\": [\n", + " {\n", + " \"data\": {\n", + " \"text/plain\": [\n", + " \"
\"\n", + " ],\n", + " \"image/png\": \"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\"\n", + " },\n", + " \"metadata\": {},\n", + " \"output_type\": \"display_data\"\n", + " }\n", + " ],\n", + " \"execution_count\": 87\n", + " \"id\": \"724e9f735fea9bd3\"\n", " }\n", " ],\n", " \"metadata\": {\n", @@ -608,7 +1141,7 @@ " \"nbformat_minor\": 5\n", "}\n" ], - "id": "724e9f735fea9bd3" + "id": "b7c3cedbda9d03f0" } ], "metadata": { --- log-analysis/NodeNorm_log_analysis.ipynb | 1175 ++++++++++++++++------ 1 file changed, 854 insertions(+), 321 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index a84f196..0fac00e 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -32,35 +32,51 @@ " },\n", " {\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 14,\n", " \"id\": \"721be6fa-7f14-4979-bffb-5a32cb316444\",\n", - " \"metadata\": {},\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:47:15.465380Z\",\n", + " \"start_time\": \"2025-07-03T19:47:13.789441Z\"\n", + " }\n", + " },\n", + " \"source\": [\n", + " \"import csv\\n\",\n", + " \"%pip install pandas matplotlib numpy seaborn\"\n", + " ],\n", " \"outputs\": [\n", " {\n", " \"name\": \"stdout\",\n", " \"output_type\": \"stream\",\n", " \"text\": [\n", - " \"Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\n\",\n", - " \"Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\\n\",\n", - " \"Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\n\",\n", - " \"Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\n\",\n", - " \"Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\n\",\n", - " \"Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\n\",\n", - " \"Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\n\",\n", - " \"Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\n\",\n", - " \"Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\n\",\n", - " \"Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\n\",\n", - " \"Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\\n\",\n", - " \"Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\\n\",\n", - " \"Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\n\",\n", - " \"Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\\n\",\n", + " \"Requirement already satisfied: pandas in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.0)\\r\\n\",\n", + " \"Requirement already satisfied: matplotlib in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (3.10.3)\\r\\n\",\n", + " \"Requirement already satisfied: numpy in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.1)\\r\\n\",\n", + " \"Collecting seaborn\\r\\n\",\n", + " \" Obtaining dependency information for seaborn from https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl.metadata\\r\\n\",\n", + " \" Downloading seaborn-0.13.2-py3-none-any.whl.metadata (5.4 kB)\\r\\n\",\n", + " \"Requirement already satisfied: python-dateutil>=2.8.2 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\r\\n\",\n", + " \"Requirement already satisfied: pytz>=2020.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\\r\\n\",\n", + " \"Requirement already satisfied: tzdata>=2022.7 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\\r\\n\",\n", + " \"Requirement already satisfied: contourpy>=1.0.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\r\\n\",\n", + " \"Requirement already satisfied: cycler>=0.10 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\r\\n\",\n", + " \"Requirement already satisfied: fonttools>=4.22.0 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\r\\n\",\n", + " \"Requirement already satisfied: kiwisolver>=1.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\r\\n\",\n", + " \"Requirement already satisfied: packaging>=20.0 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (24.1)\\r\\n\",\n", + " \"Requirement already satisfied: pillow>=8 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (11.3.0)\\r\\n\",\n", + " \"Requirement already satisfied: pyparsing>=2.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\r\\n\",\n", + " \"Requirement already satisfied: six>=1.5 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\\r\\n\",\n", + " \"Downloading seaborn-0.13.2-py3-none-any.whl (294 kB)\\r\\n\",\n", + " \"\\u001B[2K \\u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\u001B[0m \\u001B[32m294.9/294.9 kB\\u001B[0m \\u001B[31m3.5 MB/s\\u001B[0m eta \\u001B[36m0:00:00\\u001B[0ma \\u001B[36m0:00:01\\u001B[0m\\r\\n\",\n", + " \"\\u001B[?25hInstalling collected packages: seaborn\\r\\n\",\n", + " \"Successfully installed seaborn-0.13.2\\r\\n\",\n", + " \"\\r\\n\",\n", + " \"\\u001B[1m[\\u001B[0m\\u001B[34;49mnotice\\u001B[0m\\u001B[1;39;49m]\\u001B[0m\\u001B[39;49m A new release of pip is available: \\u001B[0m\\u001B[31;49m23.2.1\\u001B[0m\\u001B[39;49m -> \\u001B[0m\\u001B[32;49m25.1.1\\u001B[0m\\r\\n\",\n", + " \"\\u001B[1m[\\u001B[0m\\u001B[34;49mnotice\\u001B[0m\\u001B[1;39;49m]\\u001B[0m\\u001B[39;49m To update, run: \\u001B[0m\\u001B[32;49mpip install --upgrade pip\\u001B[0m\\r\\n\",\n", " \"Note: you may need to restart the kernel to use updated packages.\\n\"\n", " ]\n", " }\n", " ],\n", - " \"source\": [\n", - " \"%pip install pandas matplotlib numpy\"\n", - " ]\n", + " \"execution_count\": 72\n", " },\n", " {\n", " \"cell_type\": \"markdown\",\n", @@ -74,13 +90,21 @@ " },\n", " {\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 3,\n", " \"id\": \"c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea\",\n", - " \"metadata\": {},\n", - " \"outputs\": [],\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T15:08:37.248772Z\",\n", + " \"start_time\": \"2025-07-03T15:08:37.247086Z\"\n", + " }\n", + " },\n", " \"source\": [\n", - " \"logfile = \\\"logs/nodenorm-renci-logs-2025jun18.txt\\\"\"\n", - " ]\n", + " \"logfiles_json_gz = [\\n\",\n", + " \" \\\"logs/nodenorm-ci-logs-2025jul3-10k.json.gz\\\",\\n\",\n", + " \" \\\"logs/nodenorm-ci-logs-2025jun26-to-2025jun29.json.gz\\\"\\n\",\n", + " \"]\"\n", + " ],\n", + " \"outputs\": [],\n", + " \"execution_count\": 56\n", " },\n", " {\n", " \"cell_type\": \"markdown\",\n", @@ -92,15 +116,20 @@ " },\n", " {\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 4,\n", " \"id\": \"42805620-22f8-4469-845a-a5fd40ae7a3d\",\n", " \"metadata\": {\n", - " \"scrolled\": true\n", + " \"scrolled\": true,\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T14:27:45.146407Z\",\n", + " \"start_time\": \"2025-07-03T14:27:45.139031Z\"\n", + " }\n", " },\n", - " \"outputs\": [],\n", " \"source\": [\n", - " \"from dataclasses import dataclass, field\\n\",\n", + " \"import json\\n\",\n", + " \"from dataclasses import dataclass\\n\",\n", " \"from datetime import datetime\\n\",\n", + " \"import csv\\n\",\n", + " \"import gzip\\n\",\n", " \"import logging\\n\",\n", " \"import re\\n\",\n", " \"import ast\\n\",\n", @@ -117,7 +146,7 @@ " \" arguments: dict[str, str]\\n\",\n", " \" node: str = \\\"\\\"\\n\",\n", " \"\\n\",\n", - " \"def convert_log_line_into_entry(line: str) -> LogEntry: \\n\",\n", + " \"def convert_log_line_into_entry(line: str) -> list[LogEntry]:\\n\",\n", " \" # Depending on where the log file comes from, it might start with one of two types of timestamps:\\n\",\n", " \" # - ISO 8601 date (e.g. \\\"2007-04-05T12:30−02:00\\\"), which will be separated from the rest of the log line with a tab character.\\n\",\n", " \" # - Python log format date (e.g. \\\"2025-06-12 13:01:49,319\\\"), which should always be in UTC.\\n\",\n", @@ -130,17 +159,20 @@ " \" arguments = {}\\n\",\n", " \"\\n\",\n", " \" # Parse the datetime stamp.\\n\",\n", - " \" iso8601date_match = re.match(r'^(\\\\d{4}-\\\\d{2}-\\\\d{2}(?:[T ]\\\\d{2}:\\\\d{2}(?::\\\\d{2}(?:\\\\.\\\\d+)?(?:Z|[+-]\\\\d{2}:\\\\d{2})?)?)?)\\\\t', line)\\n\",\n", + " \" iso8601date_match = re.match(r'^(\\\\d{4}-\\\\d{2}-\\\\d{2}(?:[T ]\\\\d{2}:\\\\d{2}(?::\\\\d{2}(?:[\\\\.,]\\\\d+)?(?:Z|[+-]\\\\d{2}:\\\\d{2})?)?)?) |', line)\\n\",\n", " \" if iso8601date_match:\\n\",\n", " \" log_time = datetime.fromisoformat(iso8601date_match.group(1))\\n\",\n", " \" else:\\n\",\n", - " \" # TODO raise exception\\n\",\n", - " \" logging.error(f\\\"Could not identify the datetime for the line: {line}\\\")\\n\",\n", + " \" raise ValueError(f\\\"Could not identify the datetime for the line: '{line}'\\\")\\n\",\n", + " \"\\n\",\n", + " \" # Is the log line too long?\\n\",\n", + " \" if len(line) > 81_900: # Longest we've seen is 114688, and that was truncated.\\n\",\n", + " \" return []\\n\",\n", " \"\\n\",\n", " \" # Parse the log text.\\n\",\n", " \" log_text_match = re.search(r'\\\\| INFO \\\\| normalizer:get_normalized_nodes \\\\| Normalized (\\\\d+) nodes in ([\\\\d\\\\.]+) ms with arguments \\\\((.*)\\\\)', line)\\n\",\n", " \" if not log_text_match:\\n\",\n", - " \" raise ValueError(f\\\"Could not find NodeNorm log-line: {line}\\\")\\n\",\n", + " \" raise ValueError(f\\\"Could not find NodeNorm log-line (length: {len(line)}): {line}\\\")\\n\",\n", " \" curie_count = int(log_text_match.group(1))\\n\",\n", " \" time_taken_ms = float(log_text_match.group(2))\\n\",\n", " \" argument_text = log_text_match.group(3)\\n\",\n", @@ -160,54 +192,92 @@ " \" raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\\n\",\n", " \" if len(curies) < 1:\\n\",\n", " \" raise ValueError(f'Found no CURIEs in line: {line}')\\n\",\n", - " \" \\n\",\n", + " \"\\n\",\n", " \" # Emit the LogEntry.\\n\",\n", - " \" return LogEntry(\\n\",\n", + " \" return [LogEntry(\\n\",\n", " \" time=log_time,\\n\",\n", " \" curies=curies,\\n\",\n", " \" curie_count=curie_count,\\n\",\n", " \" time_taken_ms=time_taken_ms,\\n\",\n", " \" time_taken_per_curie_ms=time_taken_ms/curie_count,\\n\",\n", " \" arguments=arguments\\n\",\n", - " \" )\\n\",\n", + " \" )]\"\n", + " ],\n", + " \"outputs\": [],\n", + " \"execution_count\": 35\n", + " },\n", + " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T15:08:57.067103Z\",\n", + " \"start_time\": \"2025-07-03T15:08:54.423827Z\"\n", + " }\n", + " },\n", + " \"cell_type\": \"code\",\n", + " \"source\": [\n", + " \"import sys\\n\",\n", " \"\\n\",\n", " \"logs = []\\n\",\n", - " \"with open(logfile, 'r') as logf:\\n\",\n", - " \" for line in logf:\\n\",\n", - " \" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\n\",\n", - " \" if \\\"normalizer:get_normalized_nodes\\\" not in line:\\n\",\n", - " \" continue\\n\",\n", - " \" \\n\",\n", - " \" logs.append(convert_log_line_into_entry(line))\"\n", - " ]\n", + " \"for logfile_json_gz in logfiles_json_gz:\\n\",\n", + " \" print(f\\\"Loading logfile {logfile_json_gz}\\\")\\n\",\n", + " \" with gzip.open(logfile_json_gz, 'rt') as logf:\\n\",\n", + " \" # The entire log file from AWS is one massive JSON list *curses*.\\n\",\n", + " \" data = json.load(logf)\\n\",\n", + " \" for row in data:\\n\",\n", + " \" # print(f\\\"Processing row: {row}\\\")\\n\",\n", + " \"\\n\",\n", + " \" # Weirdly enough, AWS logs are wrapped in TWO layers:\\n\",\n", + " \" message = row['@message']\\n\",\n", + " \" if isinstance(message, dict):\\n\",\n", + " \" line = row['@message']['log']\\n\",\n", + " \" else:\\n\",\n", + " \" # This will probably (?) be an incomplete log line, so let's skip it.\\n\",\n", + " \" continue\\n\",\n", + " \"\\n\",\n", + " \" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\n\",\n", + " \" if \\\"normalizer:get_normalized_nodes\\\" not in line:\\n\",\n", + " \" continue\\n\",\n", + " \"\\n\",\n", + " \" logs.extend(convert_log_line_into_entry(line))\"\n", + " ],\n", + " \"id\": \"77059385da4ddcc9\",\n", + " \"outputs\": [],\n", + " \"execution_count\": 57\n", " },\n", " {\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 5,\n", " \"id\": \"227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc\",\n", - " \"metadata\": {},\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T15:09:08.592424Z\",\n", + " \"start_time\": \"2025-07-03T15:09:08.590150Z\"\n", + " }\n", + " },\n", + " \"source\": [\n", + " \"logs[0:10]\"\n", + " ],\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", " \"text/plain\": [\n", - " \"[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]\"\n", + " \"[LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 4, 186000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=48.27, time_taken_per_curie_ms=1.9308, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 537000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.73, time_taken_per_curie_ms=11.73, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 308000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.74, time_taken_per_curie_ms=11.74, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 241000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.35, time_taken_per_curie_ms=12.35, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 4, 335000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=71.37, time_taken_per_curie_ms=2.8548, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 608000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=16.55, time_taken_per_curie_ms=16.55, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 386000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.73, time_taken_per_curie_ms=11.73, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 319000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=17.6, time_taken_per_curie_ms=17.6, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 873000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=47.77, time_taken_per_curie_ms=1.9108, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", + " \" LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 183000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.33, time_taken_per_curie_ms=12.33, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node='')]\"\n", " ]\n", " },\n", - " \"execution_count\": 5,\n", + " \"execution_count\": 58,\n", " \"metadata\": {},\n", " \"output_type\": \"execute_result\"\n", " }\n", " ],\n", - " \"execution_count\": 50\n", + " \"execution_count\": 58\n", " },\n", " {\n", " \"metadata\": {},\n", @@ -224,23 +294,23 @@ " {\n", " \"metadata\": {\n", " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T14:54:04.252739Z\",\n", - " \"start_time\": \"2025-07-03T14:54:04.246303Z\"\n", + " \"end_time\": \"2025-07-03T19:48:02.050286Z\",\n", + " \"start_time\": \"2025-07-03T19:48:01.872030Z\"\n", " }\n", " },\n", " \"cell_type\": \"code\",\n", + " \"cell_type\": \"raw\",\n", " \"source\": [\n", " \"times = sorted(list(set(map(lambda x: x.time, logs))))\\n\",\n", " \"count_requests = len(logs)\\n\",\n", + " \"unique_curies = sorted(set([x for xs in map(lambda x: x.curies, logs) for x in xs]))\\n\",\n", " \"\\n\",\n", " \"print(f\\\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\\\")\\n\",\n", " \"print(f\\\"Total number of requests: {count_requests}\\\")\\n\",\n", " \"print(f\\\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\\\")\\n\",\n", " \"print(f\\\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\\\")\\n\",\n", - " \"print(f\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_per_curie_ms, logs))/count_requests} ms\\\")\\n\",\n", - " \"print(f\\\"Average throughput: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec\\\")\\n\",\n", - " \"#print(f\\\"Average throughput per CURIE: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec per CURIE\\\")\\n\",\n", - " \"#print(f\\\"Total number of unique CURIEs: {len(set(sum(map(lambda x: x.curies, logs), [])))}\\\")\"\n", + " \"print(f\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_ms, logs))/count_requests} ms\\\")\\n\",\n", + " \"print(f\\\"Total number of unique CURIEs: {len(unique_curies)}\\\")\"\n", " ],\n", " \"id\": \"702b88dac738feb0\",\n", " \"outputs\": [\n", @@ -248,341 +318,804 @@ " \"name\": \"stdout\",\n", " \"output_type\": \"stream\",\n", " \"text\": [\n", - " \"Time range: 2025-06-30 15:19:44.142000 to 2025-07-03 14:01:04.186000 (2 days, 22:41:20.044000)\\n\",\n", - " \"Total number of requests: 9992\\n\",\n", - " \"Total number of CURIEs: 1300164\\n\",\n", - " \"Total time taken: 4278872.9 ms\\n\",\n", - " \"Average time per CURIE: 5.692698317139622 ms\\n\",\n", - " \"Average throughput: 0.0023351943919624253 nodes/sec\\n\"\n", + " \"Time range: 2025-06-26 00:01:03.559000 to 2025-07-03 14:01:04.186000 (7 days, 14:00:00.627000)\\n\",\n", + " \"Total number of requests: 19043\\n\",\n", + " \"Total number of CURIEs: 2176206\\n\",\n", + " \"Total time taken: 6709482.9 ms\\n\",\n", + " \"Average time per CURIE: 352.33329307357036 ms\\n\",\n", + " \"Total number of unique CURIEs: 233697\\n\"\n", " ]\n", " }\n", " ],\n", - " \"execution_count\": 55\n", - " \"logs[0:10]\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"markdown\",\n", - " \"id\": \"dfc3b8e7-be80-44a2-b142-943c0c3c2dbb\",\n", - " \"metadata\": {},\n", - " \"source\": [\n", - " \"## Visualizing the logs\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"markdown\",\n", - " \"id\": \"9650b40f-4ddf-4157-84c3-cb8dd9466491\",\n", - " \"metadata\": {},\n", - " \"source\": []\n", + " \"execution_count\": 76\n", " },\n", " {\n", - " \"cell_type\": \"code\",\n", - " \"execution_count\": 15,\n", - " \"id\": \"7a52c4d7-21da-42f5-94cc-e5957ec9bcb6\",\n", - " \"metadata\": {},\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"text/html\": [\n", - " \"
\\n\",\n", - " \"\\n\",\n", - " \"\\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \" \\n\",\n", - " \"
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\\n\",\n", - " \"
\"\n", - " ],\n", - " \"text/plain\": [\n", - " \" time curies curie_count time_taken_ms \\\\\\n\",\n", - " \"0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \\n\",\n", - " \"1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \\n\",\n", - " \"2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \\n\",\n", - " \"3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \\n\",\n", - " \"4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \\n\",\n", - " \"\\n\",\n", - " \" time_taken_per_curie_ms arguments \\\\\\n\",\n", - " \"0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\n\",\n", - " \"1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \\n\",\n", - " \"2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \\n\",\n", - " \"3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\n\",\n", - " \"4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \\n\",\n", - " \"\\n\",\n", - " \" node throughput_cps \\n\",\n", - " \"0 476.190476 \\n\",\n", - " \"1 666.666667 \\n\",\n", - " \"2 311.526480 \\n\",\n", - " \"3 507.614213 \\n\",\n", - " \"4 469.483568 \"\n", - " ]\n", - " },\n", - " \"execution_count\": 15,\n", - " \"metadata\": {},\n", - " \"output_type\": \"execute_result\"\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:47:29.963351Z\",\n", + " \"start_time\": \"2025-07-03T19:47:29.451910Z\"\n", " }\n", - " ],\n", + " },\n", + " \"cell_type\": \"code\",\n", " \"source\": [\n", " \"import pandas as pd\\n\",\n", " \"import numpy as np\\n\",\n", " \"import matplotlib.pyplot as plt\\n\",\n", + " \"import seaborn as sns\\n\",\n", " \"from dataclasses import asdict\\n\",\n", " \"\\n\",\n", " \"# Assume `records` is your list of dataclass instances\\n\",\n", " \"# Convert to DataFrame\\n\",\n", " \"df = pd.DataFrame([asdict(r) for r in logs])\\n\",\n", " \"df['time'] = pd.to_datetime(df['time'])\\n\",\n", - " \"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\\n\",\n", - " \"\\n\",\n", - " \"df.head()\\n\"\n", - " ]\n", + " \"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\"\n", + " ],\n", + " \"id\": \"95e54a3b26740479\",\n", + " \"outputs\": [],\n", + " \"execution_count\": 73\n", " },\n", " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:47:41.139654Z\",\n", + " \"start_time\": \"2025-07-03T19:47:41.081034Z\"\n", + " }\n", + " },\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 10,\n", - " \"id\": \"3f0f62a4-fe2f-4e9c-8236-6e93785e1588\",\n", - " \"metadata\": {},\n", + " \"source\": [\n", + " \"# Plot requests against time.\\n\",\n", + " \"requests_per_hour = df.set_index('time').resample('h').size()\\n\",\n", + " \"sns.lineplot(x=requests_per_hour.index, y=requests_per_hour.values)\\n\",\n", + " \"plt.title(\\\"Requests per Hour\\\")\\n\",\n", + " \"plt.xlabel(\\\"Time\\\")\\n\",\n", + " \"plt.ylabel(\\\"Number of Requests\\\")\\n\",\n", + " \"plt.xticks(rotation=45)\\n\",\n", + " \"plt.tight_layout()\\n\",\n", + " \"plt.show()\"\n", + " ],\n", + " \"id\": \"acd50a9d9affe09f\",\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", - " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC\",\n", " \"text/plain\": [\n", - " \"
\"\n", - " ]\n", + " \"
\"\n", + " ],\n", + " \"image/png\": \"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\"\n", " },\n", " \"metadata\": {},\n", " \"output_type\": \"display_data\"\n", " }\n", " ],\n", - " \"source\": [\n", - " \"# Graph 1. CURIE count vs time taken.\\n\",\n", - " \"\\n\",\n", - " \"# —————————————————————\\n\",\n", - " \"# 2) Group by batch size\\n\",\n", - " \"# —————————————————————\\n\",\n", - " \"groups = [grp['time_taken_per_curie_ms'].values\\n\",\n", - " \" for _, grp in df.groupby('curie_count')]\\n\",\n", - " \"\\n\",\n", - " \"labels = [str(size) for size, _ in df.groupby('curie_count')]\\n\",\n", - " \"\\n\",\n", - " \"del groups[0]\\n\",\n", - " \"del labels[0]\\n\",\n", - " \"\\n\",\n", - " \"# —————————————————————\\n\",\n", - " \"# 3) Boxplot of per‑CURIE time by batch size\\n\",\n", - " \"# —————————————————————\\n\",\n", - " \"plt.figure(figsize=(10,6))\\n\",\n", - " \"plt.boxplot(groups, tick_labels=labels, showfliers=True)\\n\",\n", - " \"plt.xlabel(\\\"Number of CURIEs in Batch\\\")\\n\",\n", - " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", - " \"plt.title(\\\"Distribution of Time per CURIE by Batch Size\\\")\\n\",\n", - " \"plt.xticks(rotation=45)\\n\",\n", - " \"plt.tight_layout()\\n\",\n", - " \"plt.show()\"\n", - " ]\n", + " \"execution_count\": 75\n", " },\n", " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:58:35.599825Z\",\n", + " \"start_time\": \"2025-07-03T19:58:35.544619Z\"\n", + " }\n", + " },\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 16,\n", - " \"id\": \"ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4\",\n", - " \"metadata\": {},\n", + " \"source\": [\n", + " \"# CURIEs per request\\n\",\n", + " \"sns.histplot(df['curie_count'], bins=50, stat='percent')\\n\",\n", + " \"plt.title(f\\\"CURIEs per request (max = {max(df['curie_count'])})\\\")\\n\",\n", + " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.show()\"\n", + " ],\n", + " \"id\": \"f9e4e8b8b5738328\",\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", - " \"image/png\": \"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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=\",\n", " \"text/plain\": [\n", - " \"
\"\n", - " ]\n", + " \"
\"\n", + " ],\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPdlJREFUeJzt3Qd8FHX+//EPNfQOCWgoilIFBRUQbIggegjCzxNFBcWOqMSKvVM8AfUoVxDk7jyVE1DPE0tELBdUsCCoCIoEhAQsJBQTEOb/eH9//93f7mYTkrBkd5LX8/EYws7Ozn53dnbnvd8yU8nzPM8AAAB8qHK8CwAAAFBaBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAKIHJkydb+/btbf/+/fEuCg5g8eLFVqdOHdu2bVu8i4JDiCCDhPXtt9/a1VdfbUcccYTVqFHD6tWrZ71797YnnnjCfv311+BylSpVsuuvvz7qOv71r3+5+995553gvFGjRrl5gSkpKcmOPvpou/feey0vL6/AOiLX//3334c9PnKaOHFizLcFYm/z5s12//3322effVbsx+Tm5tqkSZPs9ttvt8qVK+7X58cff+w+E506dbLatWtby5Yt7fe//7198803BZYt6rNy5plnRv3cX3TRRdasWTOrWbOmHXXUUXbXXXcVWO6Pf/yjdejQwX1+DzvsMEtLS7Ndu3aFLXPWWWdZ27ZtbcKECTHeAkgkVeNdACCaV1991c4//3z3JXXppZda586dbc+ePfb+++/brbfeaqtXr7Y///nPpV6/1vvXv/7V/T8nJ8deeukle+ihh9yX6D/+8Y9irePCCy+0s88+u8D84447rtTlQtkGmQceeMBat25txx57bLEe8/TTT9tvv/3m3vuKTGHugw8+cJ/RLl26WFZWlgsW3bp1s2XLlrnPa8Df/va3Ao9fvny5+0HSv3//sPkKlaeddpoLJjfffLM1btzYMjMzbePGjWHLKUiqZux//ud/7MYbb7Qvv/zSnnrqKfe98Prrr4ctqx9Dt9xyi3uv69atG/NtgQSgi0YCieS7777z6tSp47Vv397bvHlzgfvXrl3rTZs2LXhbu/GYMWOirmv+/Pnu/iVLlgTnjRw50qtdu3bYcvv37/d69uzpVapUycvKygq7L3L969evd/Mee+wxz8/27t3r5efnF3v5ffv2eb/++qtXXnz88cfufZwzZ06xH9OlSxfv4osv9iq6Dz74oMC+880333hJSUneiBEjDvj40aNHu8/axo0bw/avzp07ez169PB2795d6GP1nVC1alXvkksuCZv/1FNPuffz5ZdfDpufnZ3tValSxZs9e3YJXiH8pOLWjSJh6ZfWzp07bfbs2da8efMC96uqWL/CYknV3H369FGwt++++y5m69UvzwEDBliTJk1cNXmbNm3s8ssvP+DjVEvwu9/9zt544w1XW6CmtY4dO9qCBQsKLLt9+3a76aabLDU11dU0afvoF3NoH45Ac9gf/vAHmzZtmh155JFuWf2SLUygSU01VGpC0PLqcyA//PCDex3Jycluvu5XbUWkTZs22ZAhQ1zzg5oKxo0b534xRzb36fWqyS+Sfp1rCpWfn2/33Xefe516br3u2267zc0P9eabb7r3tEGDBq6fRLt27ezOO+909+m5TzjhBPf/yy67LNjUMXfu3EK3x/r1623lypXWr1+/sPmh23b69OmuKbRWrVqutkE1CdqnVNt3+OGHu31g8ODB9vPPP4etQzWC55xzjrVo0cK9Jr0/esy+ffuCy3z11Vfu8aqhDKVayipVqrhairJy0kknWfXq1cPmqQlI+4HKWRS9Ty+++KKdeuqpbpsEaF9ftWqVe2/1Onfv3h32+gMyMjJcrdjw4cPD5gduP/fcc2Hztd+p1kjbGOUTTUtIOK+88oo7GOjLsizpgCQNGzYs1vL6ov3xxx8LzNeBs2rVqrZ161Z3MGvatKndcccdbr6eI1oYiWbt2rV2wQUX2DXXXGMjR460OXPmuKp8hYlA3wKVQQcEBQtVoauvwn//+18bP368bdmyxYWWUFqH+gFdddVV7oDZqFGjIsvw9ttv2wsvvOACjcKYAkd2drb17NkzGHT0+l577TUbPXq060OiUCXqx3TGGWe4poEbbrjBHaTVzKB1lpbC2bnnnusO3noN6iPxxRdf2NSpU13/jEWLFrnl1MSgIKgD2IMPPuhe67p161xziOhxmq9+UVrPySef7OYXtc9pu4qaT6JR4FPz59ixY11QUSBXv5G+ffu64KSgoTKoCURNHaHBTwFKYUv9PPRX20hl0/Z87LHHgmVWuFHTqppUtB3UJ0QBUJ2P9XoOFCB27NhRrO2s97qkFNi0byjMFOU///mPC98jRowIm//WW2+5v3qvjj/+eFuxYoULS+edd57NmDEjuK8GAqvCTiiFR9HjInXv3j24b6AcineVEBAqJyfHVQ8PHjy42I8pbdPStm3b3LRu3TrvD3/4g6vqVtW2mpmK07RU2JSRkeGWW7hwobutJoySatWqlXvsiy++GLZtmjdv7h133HHBeQ899JB7LarWD3XHHXe46vTMzMywMterV8/bunVrscqg5StXruytXr26QLOAyvHjjz+GzR8+fLhXv379YLOAmv+0jhdeeCG4zK5du7y2bdsWeE/0evW+RDr11FPdFPC3v/3Nlem9994LW27WrFlunWrykKlTp7rben9j1bR09913u+V37NgRNj+wbZs2bept3749OH/8+PFufteuXV0zXsCFF17oVa9e3cvLywvOi9aUcvXVV3u1atUKW07NL3369PGSk5Pd9td+qWaW4uxjep1F7behU2novdFjD9SEM2zYMNcE9csvv4TNP/fcc93jGzdu7Jqn/vWvf3n33HOPe30nnXRS8HO5YsUKt5z2/VCLFy9289UsHenRRx9196mZCeUPNTJIKPoFKoe6U55+yaomIZSaIZ555hlX01Ac+iWvGpJIagIS1cDIv//9b+vatatVq1atRGVUDYZ+jQZo1JaaFdRspM6VKSkpNn/+fFeboFqk0NohNX9o9NS7774b9st32LBhBV53UVTbE3g9onyjZgHVNOj/oc+pJjRV63/yySdudJl+eatpULUHob+atd3UFFQaer2qmVANROhzq9ZDlixZ4mpVAttezQlqOorFCKOffvrJ1bSpxiQa7Qv169cP3u7Ro4f7e/HFF7vHhc7/5z//6WrRVPMYWbugWhPVOuh9/dOf/mRff/21239Er0O1N7o9cOBA13R59913uxqMA9H7o+a2Q0FlHDNmjPXq1cvVHhb1+VZHfnWSD7xHAWpOFjX5/f3vfw/ur9pnVMOYnp7u9mvViGkb6nOgTsGnn366a8669tpr3WcsdERjQKCWVfuMmppQvhBkkFB0sJbiVoEXV2Q4UZ8TNWEF+nGoGUBNQZHV1UVRn4DI/hKRIUBfxBotoaYP9fVQfxENLVX1+YGoD0hkuTVMXNREpSCj5if12ygsnOg1hVIfnZKIXF7n41CzgEaMFTZqLPCcGzZsiPoa1FeltPR6ddA6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2+zZs2NfGgAAgEPd2fe3336zp59+2t566y3r3r17gWssTZkypTSrBQAAOHRB5rvvvrPWrVvbqlWrrFu3bm6eOv2G0lBsAACAhAsyOnOvrqu0ZMmS4CUJnnzySUtOTj5U5QMAAIhNH5nIq1u/9tprbug1AACAbzr7FhZsAAAAEjbIqP9LZB+Yg+kTM3PmTOvSpYvVq1fPTb169XK1PAF5eXk2ZswYa9y4sdWpU8eGDRtm2dnZpX4+AABQgfvIqAZm1KhRwQtDKmhcc801BUYtLViwoFjr09WzJ06c6PreaN3PPPOMO1OwzhDcqVMnGzdunL366qs2f/58q1+/vl1//fXuDMJcBgEAAJQ4yIwcObLA+WQOxqBBg8JuP/LII66WZtmyZS7k6Fw1zz77rPXt29fdP2fOHOvQoYO7v2fPnryDAABUcCUKMgoSh8q+fftczYs6D6uJacWKFe5yCP369Qsu0759e2vZsqVlZGQQZAAAQOlOiBdLX3zxhQsuaqZSP5iFCxdax44d7bPPPrPq1atbgwYNwpbXUO+srKxC15efn++mgNzc3ENafgAA4NNRS7HQrl07F1o+/PBDu/baa13z1Zdfflnq9U2YMMH1pwlMqampMS0vAABIHHEPMqp1adu2rbvUgUJI165d7YknnrCUlBTbs2ePbd++PWx5jVrSfYUZP3685eTkBKeNGzeWwasAAAAVMshE2r9/v2saUrDRlbbT09OD961Zs8YyMzNdU1RhNKIqMJw7MAEAgPIprn1kVHsycOBA14F3x44dboTSO++8Y6+//rprFho9erSlpaVZo0aNXCAZO3asCzF09AUAAHEPMlu3brVLL73UXb9JwUUnx1OIOfPMM939U6dOtcqVK7sT4amWZsCAATZjxgzeOQAAEP8go/PEFKVGjRo2ffp0NwEAACR8HxkAAIDiIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgA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+geVJZrwAMCnQebHH3+0ffv2WXJy+C9x3f7666+jPiY/P99NATk5Oe5vbm7uITm47v11V9HLeF5Mlonlulim6GVycndYw8ZNi1xmd16+1aqRVCbL5O7cGZvXvn//AT8HJ/bqbdlZWUUuk5ySYh9lfFAm6wFQceX+/+8rfb8VyUtgP/zwg0rv/fe//w2bf+utt3onnnhi1Mfcd9997jFMTExMTExM5vtp48aNRWaFhK6RadKkiVWpUsWys7PD5ut2SkpK1MeoGUqdgwP2799vP//8szVu3NgqVaoU06SYmppqGzdutHr16sVsvRUN2/HgsQ1jg+148NiGscF2tGBNzI4dO6xFixZWlIQOMtWrV7fu3btbenq6DRkyJBhMdPv666+P+pikpCQ3hWrQoMEhK6N2soq8o8UK2/HgsQ1jg+148NiGscF2NKtfv/4Bl0noICOqXRk5cqQdf/zx7twxGn69a9eu4CgmAABQcSV8kLngggts27Ztdu+997oT4h177LG2ePHiAh2AAQBAxZPwQUbUjFRYU1K8qPnqvvvuK9CMhZJhOx48tmFssB0PHtswNtiOJVNJPX5L+BgAAICEUDneBQAAACgtggwAAPAtggwAAPAtggwAAPAtgkwpTZ8+3Vq3bm01atSwHj162EcffRTvIiWM+++/351FOXRq37598P68vDwbM2aMO9tynTp1bNiwYQXO3pyZmWnnnHOO1apVy5o1a2a33nqr/fbbb1ZevfvuuzZo0CB3Bkttr0WLwi8SqT75OgWBrsxds2ZNd+HUtWvXhi2jM1iPGDHCnUBLJ4EcPXq07dy5M2yZlStX2sknn+z2W505dPLkyVaRtuOoUaMK7JtnnXVW2DIVfTtOmDDBTjjhBKtbt6777OlkpGvWrAlbJlaf4Xfeece6devmRue0bdvW5s6daxVlG5522mkF9sVrrrkmbJmKvA1LJJbXRqoonnvuOa969ere008/7a1evdq78sorvQYNGnjZ2dnxLlpC0PWuOnXq5G3ZsiU4bdu2LXj/Nddc46Wmpnrp6ene8uXLvZ49e3onnXRS8P7ffvvN69y5s9evXz/v008/9f7zn/94TZo08caPH++VV3qNd911l7dgwQJ3bZGFCxeG3T9x4kSvfv363qJFi7zPP//cO/fcc702bdp4v/76a3CZs846y+vatau3bNky7733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Xai1NHSh0nPOOcdatWpV6DIKEb1793ZXaH/sscfsmGOOcReDfP31123MmDGuVqekrrzySnvwwQctPz/fXTDwqquucuu/9tpri3zcW2+9ZZ06dQqb17hx4xI/P1DRUCMDlBP9+vVzV8lWDUBh7r///gLNLNOmTbPWrVsXqGV49NFHLTk52R2EdWD+7bff7NZbb7VGjRrZ4YcfbnPmzCmwfh34TzrpJBeqOnfubEuXLg27f9WqVTZw4ECrU6eOW/cll1xiP/74Y1iNhq4afNNNN1mTJk1swIABUV+HrkatMqkcqkXRa1q8eHHwftVm6ArWWkb/1+uO5rrrrnP3f/TRRzZs2DBXg6IwkZaWVurakFq1arn3QQHqsssusy5durgrEh+IQoseFzrpKtPy+eef2+mnn25169Z1Vz/WFaiXL19eqvIB5Q1BBignqlSp4sLHU089ZZs2bTqodakmYfPmzfbuu+/alClTXDPN7373O1fT8+GHH9o111zjan4in0dB5+abb7ZPP/3UevXq5ZpofvrpJ3ff9u3brW/fvnbccce5g7CCR3Z2tv3+978PW8czzzzjamE++OADmzVrVtTyPfHEE/b444/bH/7wB1u5cqULPOeee66tXbvW3b9lyxYXSFQW/f+WW24psI6ff/7ZlUE1L2qCiqQAdzDUnPTee++5cFfaWqWAESNGuND28ccfu4B2xx13BEMOUNERZIBy5LzzznO1EwoeB0O1Lk8++aS1a9fOLr/8cvd39+7dduedd9pRRx1l48ePdwfn999/P+xxqk1RzUaHDh1s5syZVr9+fZs9e7a7749//KMLMQpb7du3d/9/+umnbcmSJfbNN98E16H1T5482T2npmgUYG6//XYbPny4W0ZNanrdql0S1WZUrVrV1fzo//obad26dS5sqCyxNGPGDPd8qik65ZRTXO3RDTfccMDHqSZLjwudAjIzM12Nm8qq7XP++edb165dY1puwK/oIwOUMzqoq+YjWi1Ecak2o3Ll//udo2YgNRWF1v6oKWTr1q1hj1MtTICCxPHHH29fffVVsHlEoSVaqFB/FjXriJpNipKbm+tqi9S3JZRu6zmKK7QDbiyp9uSuu+6yX375xQVKBRRNB/L888+7ABiNmrquuOIK+9vf/uYCjYLMkUceeQhKD/gPQQYoZ1QLoKYW1Zqov0sohZPIA7g6t0aKbLZQP5Jo81TbUFw7d+50TU0KWpGaN28e/H+0Zp5DQTUbeg3F6dCrvik5OTkF5qu5TLVOoXS7bdu27v8vvPCC+7+GgSuAFEWjpQKPi6Q+PhdddJG9+uqr9tprr7mA9Nxzz7kaOKCio2kJKIc0DPuVV16xjIyMsPlNmzZ1w41Dw0wsz/0S2kFWnYPVnyNQy9CtWzdbvXq161isA3boVJLwos6uLVq0cH1oQul2x44dS9R8psA3ffp027VrV9SQEqDmK72WUPv27XM1QIGapGhU+3TjjTe62rGDrQHS84wbN87eeOMNGzp0aNTO1kBFRJAByiENI1YTh/q5hNKooG3btrk+KGrO0UFcv/BjRetbuHChq+VQJ1o1r6iPjei2OtheeOGFrtOqnl/DnDWyR6GgJNSpWDU7ao7ReWLU+VWBTKGhpOXVc5944on24osvus7CagrTdgttJlPTzl//+lfX/0XL6Lk0rFqvT00+RVGnaPUB0vqLok7RCpmhU15env3666+u79E777xjGzZscIFN26+wZiigoiHIAOWUhh5HNv3o4KeDsQ7g6iyqYccH05cmWk2QJq1bHYFffvllN4xaArUoCg79+/d3YUvDrDU6KLQ/TnGo86zChUYlaT0afaTnUnNRSegkeJ988okb2qx1qR/QmWee6U6Gp87KAQpfCjLqnKw+PGeddZYLGhrVpf5DB6r5ufTSS13zUFFNcWp6UhNb6KST8Kk/kkKO1qFaGY3y0hD2Bx54oESvFSivKnmHqscbAADAIUaNDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAAML/6f8bgsMdHNVolAAAAAElFTkSuQmCC\"\n", " },\n", " \"metadata\": {},\n", " \"output_type\": \"display_data\"\n", " }\n", + " \"{\\n\",\n", + " \" \\\"cells\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"ba1f42e6-f208-4511-8117-4d92d392bd84\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# NodeNorm Log Analysis\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"```\\\\n\\\",\\n\",\n", + " \" \\\"2025-06-18T03:26:30-04:00\\\\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\\\\n\\\",\\n\",\n", + " \" \\\"```\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"This Jupyter Notebook is intended to be used in analysing these logs.\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"bc4248bb-1c4a-446e-95a3-54acc13e01de\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"## Install prerequisites\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 14,\\n\",\n", + " \" \\\"id\\\": \\\"721be6fa-7f14-4979-bffb-5a32cb316444\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"name\\\": \\\"stdout\\\",\\n\",\n", + " \" \\\"output_type\\\": \\\"stream\\\",\\n\",\n", + " \" \\\"text\\\": [\\n\",\n", + " \" \\\"Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\\\n\\\",\\n\",\n", + " \" \\\"Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\\\\n\\\",\\n\",\n", + " \" \\\"Note: you may need to restart the kernel to use updated packages.\\\\n\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"%pip install pandas matplotlib numpy\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"3a6bab9f-897e-4c96-84c8-3e402676e753\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"## Loading files\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"These files can be checked into the repository into the `logs/` subdirectory.\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 3,\\n\",\n", + " \" \\\"id\\\": \\\"c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"logfile = \\\\\\\"logs/nodenorm-renci-logs-2025jun18.txt\\\\\\\"\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"67ca8f70-adaa-4883-ac51-1c0ec235bd13\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"We can use Python dataclasses to load the important information from the logfile.\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 4,\\n\",\n", + " \" \\\"id\\\": \\\"42805620-22f8-4469-845a-a5fd40ae7a3d\\\",\\n\",\n", + " \" \\\"metadata\\\": {\\n\",\n", + " \" \\\"scrolled\\\": true\\n\",\n", + " \" },\\n\",\n", + " \" \\\"outputs\\\": [],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"from dataclasses import dataclass, field\\\\n\\\",\\n\",\n", + " \" \\\"from datetime import datetime\\\\n\\\",\\n\",\n", + " \" \\\"import logging\\\\n\\\",\\n\",\n", + " \" \\\"import re\\\\n\\\",\\n\",\n", + " \" \\\"import ast\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"logging.basicConfig(level=logging.INFO)\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"@dataclass\\\\n\\\",\\n\",\n", + " \" \\\"class LogEntry:\\\\n\\\",\\n\",\n", + " \" \\\" time: datetime\\\\n\\\",\\n\",\n", + " \" \\\" curies: list[str]\\\\n\\\",\\n\",\n", + " \" \\\" curie_count: int\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_ms: float\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_per_curie_ms: float\\\\n\\\",\\n\",\n", + " \" \\\" arguments: dict[str, str]\\\\n\\\",\\n\",\n", + " \" \\\" node: str = \\\\\\\"\\\\\\\"\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"def convert_log_line_into_entry(line: str) -> LogEntry: \\\\n\\\",\\n\",\n", + " \" \\\" # Depending on where the log file comes from, it might start with one of two types of timestamps:\\\\n\\\",\\n\",\n", + " \" \\\" # - ISO 8601 date (e.g. \\\\\\\"2007-04-05T12:30−02:00\\\\\\\"), which will be separated from the rest of the log line with a tab character.\\\\n\\\",\\n\",\n", + " \" \\\" # - Python log format date (e.g. \\\\\\\"2025-06-12 13:01:49,319\\\\\\\"), which should always be in UTC.\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # Entry variables.\\\\n\\\",\\n\",\n", + " \" \\\" log_time = None\\\\n\\\",\\n\",\n", + " \" \\\" curies = []\\\\n\\\",\\n\",\n", + " \" \\\" curie_count = -1\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_ms = -1.0\\\\n\\\",\\n\",\n", + " \" \\\" arguments = {}\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # Parse the datetime stamp.\\\\n\\\",\\n\",\n", + " \" \\\" iso8601date_match = re.match(r'^(\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}(?:[T ]\\\\\\\\d{2}:\\\\\\\\d{2}(?::\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d+)?(?:Z|[+-]\\\\\\\\d{2}:\\\\\\\\d{2})?)?)?)\\\\\\\\t', line)\\\\n\\\",\\n\",\n", + " \" \\\" if iso8601date_match:\\\\n\\\",\\n\",\n", + " \" \\\" log_time = datetime.fromisoformat(iso8601date_match.group(1))\\\\n\\\",\\n\",\n", + " \" \\\" else:\\\\n\\\",\\n\",\n", + " \" \\\" # TODO raise exception\\\\n\\\",\\n\",\n", + " \" \\\" logging.error(f\\\\\\\"Could not identify the datetime for the line: {line}\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # Parse the log text.\\\\n\\\",\\n\",\n", + " \" \\\" log_text_match = re.search(r'\\\\\\\\| INFO \\\\\\\\| normalizer:get_normalized_nodes \\\\\\\\| Normalized (\\\\\\\\d+) nodes in ([\\\\\\\\d\\\\\\\\.]+) ms with arguments \\\\\\\\((.*)\\\\\\\\)', line)\\\\n\\\",\\n\",\n", + " \" \\\" if not log_text_match:\\\\n\\\",\\n\",\n", + " \" \\\" raise ValueError(f\\\\\\\"Could not find NodeNorm log-line: {line}\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\" curie_count = int(log_text_match.group(1))\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_ms = float(log_text_match.group(2))\\\\n\\\",\\n\",\n", + " \" \\\" argument_text = log_text_match.group(3)\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\\\\n\\\",\\n\",\n", + " \" \\\" argument_fn_call = f'arguments({argument_text})'\\\\n\\\",\\n\",\n", + " \" \\\" tree = ast.parse(argument_fn_call, mode=\\\\\\\"eval\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\" call_node = tree.body\\\\n\\\",\\n\",\n", + " \" \\\" for kw in call_node.keywords:\\\\n\\\",\\n\",\n", + " \" \\\" arguments[kw.arg] = ast.literal_eval(kw.value)\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" # Some assertions.\\\\n\\\",\\n\",\n", + " \" \\\" if 'curies' not in arguments:\\\\n\\\",\\n\",\n", + " \" \\\" raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\\\\n\\\",\\n\",\n", + " \" \\\" curies = arguments['curies']\\\\n\\\",\\n\",\n", + " \" \\\" if len(curies) != curie_count:\\\\n\\\",\\n\",\n", + " \" \\\" raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\\\\n\\\",\\n\",\n", + " \" \\\" if len(curies) < 1:\\\\n\\\",\\n\",\n", + " \" \\\" raise ValueError(f'Found no CURIEs in line: {line}')\\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" # Emit the LogEntry.\\\\n\\\",\\n\",\n", + " \" \\\" return LogEntry(\\\\n\\\",\\n\",\n", + " \" \\\" time=log_time,\\\\n\\\",\\n\",\n", + " \" \\\" curies=curies,\\\\n\\\",\\n\",\n", + " \" \\\" curie_count=curie_count,\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_ms=time_taken_ms,\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_per_curie_ms=time_taken_ms/curie_count,\\\\n\\\",\\n\",\n", + " \" \\\" arguments=arguments\\\\n\\\",\\n\",\n", + " \" \\\" )\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"logs = []\\\\n\\\",\\n\",\n", + " \" \\\"with open(logfile, 'r') as logf:\\\\n\\\",\\n\",\n", + " \" \\\" for line in logf:\\\\n\\\",\\n\",\n", + " \" \\\" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\\\n\\\",\\n\",\n", + " \" \\\" if \\\\\\\"normalizer:get_normalized_nodes\\\\\\\" not in line:\\\\n\\\",\\n\",\n", + " \" \\\" continue\\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" logs.append(convert_log_line_into_entry(line))\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 5,\\n\",\n", + " \" \\\"id\\\": \\\"227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", + " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"execution_count\\\": 5,\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"execute_result\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"execution_count\\\": 50\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"source\\\": \\\"# Some overall measures\\\",\\n\",\n", + " \" \\\"id\\\": \\\"a13af441dd8d87d\\\"\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"source\\\": \\\"\\\",\\n\",\n", + " \" \\\"id\\\": \\\"2ee4b13bab99da17\\\"\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"metadata\\\": {\\n\",\n", + " \" \\\"ExecuteTime\\\": {\\n\",\n", + " \" \\\"end_time\\\": \\\"2025-07-03T14:54:04.252739Z\\\",\\n\",\n", + " \" \\\"start_time\\\": \\\"2025-07-03T14:54:04.246303Z\\\"\\n\",\n", + " \" }\\n\",\n", + " \" },\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"times = sorted(list(set(map(lambda x: x.time, logs))))\\\\n\\\",\\n\",\n", + " \" \\\"count_requests = len(logs)\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Total number of requests: {count_requests}\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_per_curie_ms, logs))/count_requests} ms\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"print(f\\\\\\\"Average throughput: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"#print(f\\\\\\\"Average throughput per CURIE: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec per CURIE\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"#print(f\\\\\\\"Total number of unique CURIEs: {len(set(sum(map(lambda x: x.curies, logs), [])))}\\\\\\\")\\\"\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"id\\\": \\\"702b88dac738feb0\\\",\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"name\\\": \\\"stdout\\\",\\n\",\n", + " \" \\\"output_type\\\": \\\"stream\\\",\\n\",\n", + " \" \\\"text\\\": [\\n\",\n", + " \" \\\"Time range: 2025-06-30 15:19:44.142000 to 2025-07-03 14:01:04.186000 (2 days, 22:41:20.044000)\\\\n\\\",\\n\",\n", + " \" \\\"Total number of requests: 9992\\\\n\\\",\\n\",\n", + " \" \\\"Total number of CURIEs: 1300164\\\\n\\\",\\n\",\n", + " \" \\\"Total time taken: 4278872.9 ms\\\\n\\\",\\n\",\n", + " \" \\\"Average time per CURIE: 5.692698317139622 ms\\\\n\\\",\\n\",\n", + " \" \\\"Average throughput: 0.0023351943919624253 nodes/sec\\\\n\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"execution_count\\\": 55\\n\",\n", + " \" \\\"logs[0:10]\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"dfc3b8e7-be80-44a2-b142-943c0c3c2dbb\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"## Visualizing the logs\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", + " \" \\\"id\\\": \\\"9650b40f-4ddf-4157-84c3-cb8dd9466491\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"source\\\": []\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 15,\\n\",\n", + " \" \\\"id\\\": \\\"7a52c4d7-21da-42f5-94cc-e5957ec9bcb6\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"text/html\\\": [\\n\",\n", + " \" \\\"
\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\" \\\\n\\\",\\n\",\n", + " \" \\\"
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\\\\n\\\",\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\" time curies curie_count time_taken_ms \\\\\\\\\\\\n\\\",\\n\",\n", + " \" \\\"0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \\\\n\\\",\\n\",\n", + " \" \\\"1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \\\\n\\\",\\n\",\n", + " \" \\\"2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \\\\n\\\",\\n\",\n", + " \" \\\"3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \\\\n\\\",\\n\",\n", + " \" \\\"4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" time_taken_per_curie_ms arguments \\\\\\\\\\\\n\\\",\\n\",\n", + " \" \\\"0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", + " \" \\\"1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \\\\n\\\",\\n\",\n", + " \" \\\"2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", + " \" \\\"3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", + " \" \\\"4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\" node throughput_cps \\\\n\\\",\\n\",\n", + " \" \\\"0 476.190476 \\\\n\\\",\\n\",\n", + " \" \\\"1 666.666667 \\\\n\\\",\\n\",\n", + " \" \\\"2 311.526480 \\\\n\\\",\\n\",\n", + " \" \\\"3 507.614213 \\\\n\\\",\\n\",\n", + " \" \\\"4 469.483568 \\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"execution_count\\\": 15,\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"execute_result\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"import pandas as pd\\\\n\\\",\\n\",\n", + " \" \\\"import numpy as np\\\\n\\\",\\n\",\n", + " \" \\\"import matplotlib.pyplot as plt\\\\n\\\",\\n\",\n", + " \" \\\"from dataclasses import asdict\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# Assume `records` is your list of dataclass instances\\\\n\\\",\\n\",\n", + " \" \\\"# Convert to DataFrame\\\\n\\\",\\n\",\n", + " \" \\\"df = pd.DataFrame([asdict(r) for r in logs])\\\\n\\\",\\n\",\n", + " \" \\\"df['time'] = pd.to_datetime(df['time'])\\\\n\\\",\\n\",\n", + " \" \\\"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"df.head()\\\\n\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 10,\\n\",\n", + " \" \\\"id\\\": \\\"3f0f62a4-fe2f-4e9c-8236-6e93785e1588\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# Graph 1. CURIE count vs time taken.\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", + " \" \\\"# 2) Group by batch size\\\\n\\\",\\n\",\n", + " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", + " \" \\\"groups = [grp['time_taken_per_curie_ms'].values\\\\n\\\",\\n\",\n", + " \" \\\" for _, grp in df.groupby('curie_count')]\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"labels = [str(size) for size, _ in df.groupby('curie_count')]\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"del groups[0]\\\\n\\\",\\n\",\n", + " \" \\\"del labels[0]\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", + " \" \\\"# 3) Boxplot of per‑CURIE time by batch size\\\\n\\\",\\n\",\n", + " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure(figsize=(10,6))\\\\n\\\",\\n\",\n", + " \" \\\"plt.boxplot(groups, tick_labels=labels, showfliers=True)\\\\n\\\",\\n\",\n", + " \" \\\"plt.xlabel(\\\\\\\"Number of CURIEs in Batch\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"Distribution of Time per CURIE by Batch Size\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.xticks(rotation=45)\\\\n\\\",\\n\",\n", + " \" \\\"plt.tight_layout()\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 16,\\n\",\n", + " \" \\\"id\\\": \\\"ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# Scatter plot\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure(figsize=(10,6))\\\\n\\\",\\n\",\n", + " \" \\\"plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# Fit a linear regression line\\\\n\\\",\\n\",\n", + " \" \\\"m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\\\\n\\\",\\n\",\n", + " \" \\\"x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\\\\n\\\",\\n\",\n", + " \" \\\"plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\\\\n\\\",\\n\",\n", + " \" \\\"\\\\n\\\",\\n\",\n", + " \" \\\"# Labels and title\\\\n\\\",\\n\",\n", + " \" \\\"plt.xlabel(\\\\\\\"Number of CURIEs\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"Time per CURIE vs. CURIE Count with Regression Line\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.legend()\\\\n\\\",\\n\",\n", + " \" \\\"plt.grid(True)\\\\n\\\",\\n\",\n", + " \" \\\"plt.tight_layout()\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 32,\\n\",\n", + " \" \\\"id\\\": \\\"2ca9ccd5-7f93-4f0c-b41f-19c7a863178e\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# 1. Time series of throughput (curies per second)\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", + " \" \\\"plt.plot(df['time'], df['throughput_cps'])\\\\n\\\",\\n\",\n", + " \" \\\"plt.xlabel(\\\\\\\"Time\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Throughput (CURIEs/sec)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"System Throughput Over Time\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 33,\\n\",\n", + " \" \\\"id\\\": \\\"9c064d44-4c6b-40f9-bc83-63a94d02463b\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# 2. Histogram of time per CURIE\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", + " \" \\\"plt.hist(df['time_taken_per_curie_ms'], bins=50)\\\\n\\\",\\n\",\n", + " \" \\\"plt.xlabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Frequency\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"Distribution of Time Taken per CURIE\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": 34,\\n\",\n", + " \" \\\"id\\\": \\\"0dd31031-25d0-42f7-977b-93cb194228f8\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [\\n\",\n", + " \" {\\n\",\n", + " \" \\\"data\\\": {\\n\",\n", + " \" \\\"image/png\\\": \\\"iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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\\\",\\n\",\n", + " \" \\\"text/plain\\\": [\\n\",\n", + " \" \\\"
\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"source\\\": [\\n\",\n", + " \" \\\"# 3. Boxplot to highlight outliers in time per CURIE\\\\n\\\",\\n\",\n", + " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", + " \" \\\"plt.boxplot(df['time_taken_per_curie_ms'])\\\\n\\\",\\n\",\n", + " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.title(\\\\\\\"Boxplot of Time per CURIE (Outliers Shown)\\\\\\\")\\\\n\\\",\\n\",\n", + " \" \\\"plt.show()\\\"\\n\",\n", + " \" ]\\n\",\n", + " \" },\\n\",\n", + " \" {\\n\",\n", + " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", + " \" \\\"execution_count\\\": null,\\n\",\n", + " \" \\\"id\\\": \\\"fee5ecb0-a7a6-4797-930c-5d89074acc91\\\",\\n\",\n", + " \" \\\"metadata\\\": {},\\n\",\n", + " \" \\\"outputs\\\": [],\\n\",\n", + " \" \\\"source\\\": []\\n\",\n", + " \" }\\n\",\n", + " \" ],\\n\",\n", + " \" \\\"metadata\\\": {\\n\",\n", + " \" \\\"kernelspec\\\": {\\n\",\n", + " \" \\\"display_name\\\": \\\"Python 3 (ipykernel)\\\",\\n\",\n", + " \" \\\"language\\\": \\\"python\\\",\\n\",\n", + " \" \\\"name\\\": \\\"python3\\\"\\n\",\n", + " \" },\\n\",\n", + " \" \\\"language_info\\\": {\\n\",\n", + " \" \\\"codemirror_mode\\\": {\\n\",\n", + " \" \\\"name\\\": \\\"ipython\\\",\\n\",\n", + " \" \\\"version\\\": 3\\n\",\n", + " \" },\\n\",\n", + " \" \\\"file_extension\\\": \\\".py\\\",\\n\",\n", + " \" \\\"mimetype\\\": \\\"text/x-python\\\",\\n\",\n", + " \" \\\"name\\\": \\\"python\\\",\\n\",\n", + " \" \\\"nbconvert_exporter\\\": \\\"python\\\",\\n\",\n", + " \" \\\"pygments_lexer\\\": \\\"ipython3\\\",\\n\",\n", + " \" \\\"version\\\": \\\"3.13.5\\\"\\n\",\n", + " \" }\\n\",\n", + " \" },\\n\",\n", + " \" \\\"nbformat\\\": 4,\\n\",\n", + " \" \\\"nbformat_minor\\\": 5\\n\",\n", + " \"}\\n\"\n", " ],\n", - " \"source\": [\n", - " \"# Scatter plot\\n\",\n", - " \"plt.figure(figsize=(10,6))\\n\",\n", - " \"plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\\n\",\n", - " \"\\n\",\n", - " \"# Fit a linear regression line\\n\",\n", - " \"m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\\n\",\n", - " \"x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\\n\",\n", - " \"plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\\n\",\n", - " \"\\n\",\n", - " \"# Labels and title\\n\",\n", - " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", - " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", - " \"plt.title(\\\"Time per CURIE vs. CURIE Count with Regression Line\\\")\\n\",\n", - " \"plt.legend()\\n\",\n", - " \"plt.grid(True)\\n\",\n", - " \"plt.tight_layout()\\n\",\n", - " \"plt.show()\"\n", - " ]\n", + " \"execution_count\": 93\n", " },\n", " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:58:50.581601Z\",\n", + " \"start_time\": \"2025-07-03T19:58:50.538167Z\"\n", + " }\n", + " },\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 32,\n", - " \"id\": \"2ca9ccd5-7f93-4f0c-b41f-19c7a863178e\",\n", - " \"metadata\": {},\n", + " \"source\": [\n", + " \"# CURIEs per request (but only from 1-10)\\n\",\n", + " \"sns.histplot(df['curie_count'], bins=10, binrange=(1, 10), stat='percent')\\n\",\n", + " \"plt.title(\\\"CURIEs per request (from 1-10)\\\")\\n\",\n", + " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.show()\"\n", + " ],\n", + " \"id\": \"c661fc023ff6240c\",\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", - " \"image/png\": \"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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC\",\n", " \"text/plain\": [\n", " \"
\"\n", - " ]\n", + " ],\n", + " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAANX5JREFUeJzt3QmczWXfx/HfMIx9328m2gxJokJpsUSSEk93ilJpl0RK2qQNLUiR6rak5RZ3qXQ/qCRaRlnadCNUhuyVGfuS87y+1/Ocec4ZZ5gZM3PONfN5v15/Zv7nnP9cZ5k533Ndv+v6xwUCgYABAAB4qEi0GwAAAJBTBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQDII0899ZQlJSXZoUOH0vft3LnTbrzxRqtRo4bFxcXZXXfdFdU2+mj8+PGWmJho+/bti3ZTEAMIMigQ1qxZY7fccosdf/zxVqJECStXrpydc8459txzz9mePXvSr6c3jjvuuCPiMf71r3+5yz/99NP0fdddd53bF9wSEhLs5JNPtocfftj27t172DEyHv/XX38Nu33Gbfjw4bn+WCD3bdiwwR555BH79ttvs3ybtLQ0GzFihA0aNMiKFPn/P7VPPvmkTZ482W677TZ77bXX7JprrrFY9tZbb1nPnj3tpJNOcq/ZCy64IFu337hxo913333WunVrK1u27GG/Yxl9+eWX1qpVKytVqpQLe3feeacLf6H0e7l//3576aWXcny/UHDER7sBwLH697//bVdccYULGddee601atTI/ZH7/PPP7Z577rEff/zRXn755RwfX8f9xz/+4b5OTU219957zx577DEXnt54440sHeOqq66yiy+++LD9p59+eo7bhfwNMkOHDrW6detakyZNsnSbiRMn2sGDB91zH+qTTz6xFi1a2JAhQ8wHL774oi1ZssTOPPNM+/3337N9+5UrV7pApyB06qmnWnJycqbXVVBs27atNWjQwEaOHGnr16+3Z555xlatWmWzZs1Kv54+rPTq1ctdp2/fvi4cofAiyMBrv/zyi3Xv3t2OO+449wZRs2bN9Mv69Oljq1evdkHnWMTHx7tPpEG33367nX322fbPf/7T/SGtXr36UY/RtGnTsGP4Rm/IGh4pXrx4lq6v6ypM6g2nsJo0aZJdeumlhz0GW7ZssYYNGx719urx0+Md2psTDeo1+tvf/ubaoQ8J2dWsWTMXgCpVquR6PfWhIzP333+/VaxY0fXYqFdVFB5vuukm+/DDD619+/bp1/373//uhu7mzZtnbdq0yeG9Q0HA0BK8pj9k6naeMGFCWIgJOvHEE61fv365+jP16U9d3zpx/M8//5xrx128eLF16NDBqlSpYiVLlrR69erZDTfccNTb6Q/9JZdc4v7Qq7dAb5x6o3znnXcOu+727dtdTUadOnVcT5MeH31aDq3hCA6H6ZPw6NGj7YQTTnDX/c9//pNpG4JDauqhOuWUU9z1Z8+e7S777bff3P1Q4NN+Xa7eioz06btLly5WunRpq1atmvXv39/mzJlz2FCE7q+GFjLSkEfGYQ/VUKjnQ/dTP1v3+9577z2stuKjjz5yz2mFChWsTJkyVr9+ffemKvrZ6o2Q66+/Pn1YUMNDRwrY33//vbVr1y59n46j2+kyhevgcfR4By+bOnWqPfjggy44aGhFw1Myffp0Fwj0utDrQ6FYj2soPSZqe0pKins96GsdZ+zYse7yH374wb3h6/FV8H/zzTctK/SYHUuY0nCSQszR6L7qedB9C4YYUS+r7su0adPCrq/HQ8dVDykKN3pk4LWZM2e6uhj1kOQnvfmIPj1mxe7du23btm2H7dcbp3p89CldnzarVq3q6gm0Xz8jUhiJRF3vV155pd16662uy129AfrkqzBx4YUXprfh/PPPd2+AqidSsaTqEQYPHuzqGBRaQukY6hW4+eabXQg42puResT0ZqNAozdbBY7Nmze7YZRg0NH90xBB79693RtXsNBVdUwaUtCbsGoiatWq5XoCdMycUjhTj4iGGHUfNFyhN/NRo0bZTz/9ZO+++667noYe9cbfuHFje/TRR919VU/eF1984S7X7bRfdVE6zrnnnuv2H+k1p8c12BMXpOPoPimg1a5d2+6++263X49J8PWkIUv1wgwcONCFLX2twKQApTA1bNgw95iq9kvt++abb9xrJeivv/6yjh072nnnnedCvoKlHneFlwceeMB69OhhXbt2dcWyCggtW7Z0gTkW6LlRz98ZZ5wRtl+PgQK67mtGenyDzxMKsQDgqdTU1IBewpdddlmWb6Pr9+nTJ+Jl06dPd5fPmzcvfV+vXr0CpUuXDmzdutVtq1evDjzzzDOB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vkdGC+KdccYZ9ueff7rzLAWpbkYL2AEAAMRsj8xnn31mX375pVtPJlTdunXtt99+y622AQAA5H6PjE4joPMtZbR+/Xo3xAQAABCzQaZ9+/Y2evTo9O+1KJ6KfIcMGXLMpy0AAADI06GlZ5991p0uoGHDhrZ37167+uqrbdWqVValShX75z//mZNDAgAA5E+QqV27tn333Xfu5JHff/+9643RCR579OgRVvwLAAAQc0HG3TA+3nr27Jm7rQEAAMjrIDNlypQjXq4zWgMAAMRkkNE6MqEOHDhgu3fvdtOxS5UqRZABAACxO2tJC+GFbqqRWblypbVq1YpiXwAAEPvnWsropJNOsuHDhx/WWwMAABDzQSZYAKwTRwIAAMRsjcz7778f9n0gELCNGzfaCy+8YOecc05utQ0AACD3g0yXLl3CvtfKvlWrVrU2bdq4xfIAAABiNsjoXEsAAAAFqkYGAAAg5ntkBgwYkOXrjhw5Mic/AgAAIG+CzDfffOM2LYRXv359t++nn36yokWLWtOmTcNqZwAAAGIqyHTu3NnKli1rr776qlWsWNHt08J4119/vZ177rl2991353Y7AQAAcqdGRjOThg0blh5iRF8//vjjzFoCAACxHWTS0tJs69ath+3Xvh07duRGuwAAAPImyFx++eVuGOmdd96x9evXu+3tt9+23r17W9euXXNySAAAgPypkRk/frwNHDjQrr76alfw6w4UH++CzNNPP52TQwIAAORPkClVqpSNGzfOhZY1a9a4fSeccIKVLl06J4cDAADI/wXxdH4lbTrztUKMzrkEAAAQ00Hm999/t7Zt29rJJ59sF198sQszoqElpl4DAICYDjL9+/e3YsWKWUpKihtmCrryyitt9uzZudk+AACA3K2R+fDDD23OnDlWu3btsP0aYlq7dm1ODgkAAJA/PTK7du0K64kJ+uOPPywhISEnhwQAAMifIKPTEEyZMiXsnEqHDh2yp556ylq3bp2TQwIAAOTP0JICi4p9Fy9ebPv377d7773XfvzxR9cj88UXX+TkkAAAAPnTI9OoUSN3tutWrVrZZZdd5oaatKKvzoit9WQAAABiskdGK/ledNFFbnXfBx54IG9aBQAAkBc9Mpp2/f3332f3ZgAAALExtNSzZ0+bMGFC7rcGAAAgr4t9Dx48aBMnTrSPP/7YmjVrdtg5lkaO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nXHGGXbWWWfZ6NGjbdeuXW4WEwAAKNxiPshceeWVtnXrVnv44Ydt06ZN1qRJE5s9e/ZhBcAAAKDwifkgIxpGymwoCcdOQ3FacDDjkByig+cjtvB8xBaej9iSEAPPR5wqfqP20wEAAArqgngAAABHQpABAADeIsgAAABvEWQAAIC3CDKF1LBhw+zMM8+0smXLWrVq1dyCgytXrox2s/B/hg8f7laivuuuu6LdlELtt99+s549e7qVwUuWLGmnnnqqLV68ONrNKpR03r2HHnrI6tWr556LE044wR577LGjn4cHuWLBggXWuXNnt8qu/ja9++67YZfredAyKTVr1nTPj07uvGrVKssPBJlCav78+danTx9buHChffTRR3bgwAFr3769W2wQ0bVo0SJ76aWXrHHjxtFuSqH2559/2jnnnGPFihWzWbNm2X/+8x979tlnrWLFitFuWqE0YsQIe/HFF+2FF16w5cuXu++feuope/7556PdtEJh165ddtppp9nYsWMjXq7nYsyYMTZ+/Hj76quvrHTp0tahQwfbu3dvnreN6ddwtOigemYUcM4777xoN6fQ0hlkmzZtauPGjbPHH3/cLQCp1ayR/+677z774osv7LPPPot2U2Bml1xyiVsIdcKECen7unXr5j79v/7661FtW2ETFxdnM2bMSD91kGKEemruvvtuGzhwoNuXmprqnq/Jkydb9+7d87Q99Mgg/UUnlSpVinZTCjX1knXq1Ml1yyK63n//fXdqlCuuuMKF/NNPP91eeeWVaDer0Dr77LPdefZ++ukn9/13331nn3/+uXXs2DHaTSv0fvnlF7fyfujfLZ0jqXnz5pacnJznP9+LlX2Rt3QiTtViqBu9UaNG0W5OoTV16lRbunSpG1pC9P38889uKEPne7v//vvd83LnnXe6k9nq/G/I/x4ynWk5KSnJihYt6mpmnnjiCevRo0e0m1bobdq0yf2f8dRB+j54WV4iyMD1Aixbtsx9ukF0rFu3zvr16+fqlUqUKBHt5uD/Ar56ZJ588kn3vXpk9HuiGgCCTP6bNm2avfHGG/bmm2/aKaecYt9++637AKYhDZ6Pwo2hpUJO57D64IMPbN68eVa7du1oN6fQWrJkiW3ZssXVx8THx7tN9UoqntPX+vSJ/KXZFw0bNgzb16BBA0tJSYlamwqze+65x/XKqN5Cs8eu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\"\n", " },\n", " \"metadata\": {},\n", " \"output_type\": \"display_data\"\n", " }\n", " ],\n", - " \"source\": [\n", - " \"# 1. Time series of throughput (curies per second)\\n\",\n", - " \"plt.figure()\\n\",\n", - " \"plt.plot(df['time'], df['throughput_cps'])\\n\",\n", - " \"plt.xlabel(\\\"Time\\\")\\n\",\n", - " \"plt.ylabel(\\\"Throughput (CURIEs/sec)\\\")\\n\",\n", - " \"plt.title(\\\"System Throughput Over Time\\\")\\n\",\n", - " \"plt.show()\"\n", - " ]\n", + " \"execution_count\": 94\n", " },\n", " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:53:37.033040Z\",\n", + " \"start_time\": \"2025-07-03T19:53:36.967540Z\"\n", + " }\n", + " },\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 33,\n", - " \"id\": \"9c064d44-4c6b-40f9-bc83-63a94d02463b\",\n", - " \"metadata\": {},\n", + " \"source\": [\n", + " \"# Time taken distribution\\n\",\n", + " \"sns.histplot(df['time_taken_ms'], bins=20)\\n\",\n", + " \"plt.title(\\\"Time taken\\\")\\n\",\n", + " \"plt.xlabel(\\\"Time taken (ms)\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.show()\"\n", + " ],\n", + " \"id\": \"c06ac224b4390df3\",\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", - " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPUFJREFUeJzt3Qn8TPX+x/EPfvY1O1lLkUjRQtFGVHIl3UsJSXUrLZYot6LUjVKkjUqhm7LcdpUS0mIpJFJUUsjWZqvs5/94f+/jzH9mfiuGGb/v6/l4HGPOOb8zZ86c3++857udPEEQBAYAAOCxvMneAQAAgGQjEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABAAAvEcgAgAA3iMQIde6++67LU+ePIfktc4++2w3hT744AP32v/9738PyetfeeWVVqNGDUtl27Zts6uvvtoqVqzojk3Pnj0PaHs//PCD287YsWMtNznU5w6A/yEQ4bCgi54uEuFUqFAhq1y5srVq1coeffRR27p1a0JeZ+3atS5ILVq0yFJNKu9bTtx///3uc7z++uvtP//5j3Xu3DnTEJvdFB0+U/H8zGxK9dCayrZs2WL33HOPNWjQwIoVK2aFCxe2evXq2W233eZ+N0I6NzQ/I7/88ov7HHSeZfbZpaWl2ZFHHum+ZPz000/ptpHR9vW5ZvaZn3/++Qk9Djh40g7itoGEGzRokNWsWdN27dpl69evd9+mVdIwbNgwe+ONN+yEE06IrHvnnXfa7bffvk/b1x9W/dHVH7gTTzwxxz/33nvv2cGW1b4988wztnfvXktlM2bMsMaNG9vAgQMzXeeSSy6xWrVqxZQqKUC1a9fOLQtVqFDBqlevbn/99Zflz5/fku3MM890IS+aSsNOPfVUu/baayPzdCHHvvv++++tRYsWtmrVKvv73//ujmmBAgVs8eLF9uyzz9qrr75q33zzTUL+tmzfvt3mzp3rgtLHH39sX375pfsClh39Tvbp0yfdfH1xw+GBQITDygUXXGAnn3xy5Hn//v3dhfaiiy6yv/3tb/b111+7b46ib3qaDqY///zTihQp4v44J1MqhILsbNy40erWrZvlOgq00aFW3+gViDTviiuuSLd+Ti5Uh8JRRx3lpmjXXXedm5fRfiPWH3/8YUWLFs1w2e7du10Y3rBhg/sC1LRp05jl//73v+2BBx5I6N8WhdmyZcu67eqL1j/+8Y9sf16lSnzWhzeqzHDYO/fcc+2uu+6yH3/80V544YUs2xBNmzbN/UEtVaqU+7Zeu3Zt+9e//uWW6Y/tKaec4v7frVu3SJF32EYlLCpfsGCBKxFQEAp/Nr4NUWjPnj1uHbWb0R98hbbVq1fHrKMSHxXPx4veZnb7llEbIl1k9I21atWqVrBgQfdeH3roIQuCIGY9befGG2+01157zb0/rXv88cfb1KlTcxx0unfv7kptFFBUpTFu3Lh0bWJWrlxpb731VmTf1QYo0W2IdBz0uaokQSFZ/9eF6oknnnDLlyxZ4s4XfRYqYXrxxRfTbXfTpk2u1DE8biqx0oXxQEvgfvvtN7v11lutfv36br9KlCjhLsJffPFFtj+7Y8cO935Klixps2fPdvO0P4888oj7rHTcdfz/+c9/2u+//x7zszov9LMq7VCJldZVUHv++edzfIx13gwfPtwdM33hOOuss1zJSbxly5bZpZdeaqVLl3avo4ChQBEtrKKaNWuW3XDDDVa+fHmrUqVKpvvw8ssvu2N0xx13pAtDouOoUJRozZo1c48rVqxI+LaRmighQq6g9igKHqq6uuaaazJcZ+nSpe7CoNIGFY/rYvfdd9/ZJ5984pYfd9xxbv6AAQNckXz4B/H000+PbOPXX391F7GOHTu6b4O6CGVFf6j1x1/tHBQcdAFT0b/aAYUlWTmRk32LptCj8DVz5kwXVlSc/+6771rfvn1duwhd3KLpYvnKK6+4C1Tx4sVdu6z27du7YFGmTJlM90tVVgptOo4KVapymDx5sgsmCha33HKL23dVJ/Xq1ctd+MJqhXLlytnBoBCqz0ih9cEHH7Tx48e7fVMI0kW1U6dOrsRh1KhR1qVLF2vSpInb77DETxd7HSOFi2rVqrkAopLIdevWuc/vQKp9FDpV5aPXU4nHU0895V7vq6++yrRqRce4bdu2Nn/+fHv//fcjwVj7p3ChgHzzzTe7wPn444/b559/7s7p6FJDfT4KKjoXunbtas8995z7jBo1auQCVXYUntROr0ePHq5KacSIES5YKmCGvwP6/TrjjDNcAFVVtY73pEmT7OKLL3ahRtWe0XSu6RzQOa3wnpkwUGXU5uxgCgP7EUcckaP1VY2vEs14Og778ruOJAqAw8CYMWNUrBF89tlnma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==\",\n", " \"text/plain\": [\n", " \"
\"\n", - " ]\n", + " ],\n", + " \"image/png\": \"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fXsra9as1unTp62UKiwszJo8ebK1e/dua8eOHdZTTz1lFSxY0Lp48aKrTMeOHa0CBQpYy5cvt7Zs2WJVrVrVql69uut8XFycVbp0aatevXrW9u3brUWLFlk5c+a0+vXr5ypz8OBBK0OGDFbPnj2tvXv3WmPHjrVSpUplLVmyxApEmzZtsgoXLmyVLVvW6tatm+s499KZs2fPWoUKFbJefvlla+PGjeYzL1261Pr9999dZT788EMrNDTUmjdvnvXrr79a//3vf60iRYpYV65ccZVp0KCBVa5cOeuXX36x1q5daxUtWtRq0aKF63xUVJSVO3duq1WrVuZn4LvvvrPSp09vffbZZ1ageP/9960cOXJYCxYssA4dOmTNnj3bypQpkzV69GhXGe5lwvTn7+2337bmzJljnqU2d+5cj/P36r6tX7/e/IwPHz7c/Mz379/fSp06tbVr1y7L3xGafJg+KLhTp06u/evXr1v58uWzhg4dmqzX5UvOnDljfjmsXr3a7J8/f978cOovWtu+fftMmYiICNcvluDgYOvUqVOuMhMmTLCyZMlixcTEmP3evXtbpUqV8nivZs2amdAWaC5cuGA9+OCDVnh4uFW7dm1XaOJeOtenTx+rRo0atzx/48YNK0+ePNaIESNcx/T+pk2b1vzRUfrHRe/t5s2bXWUWL15sBQUFmQeKq/Hjx1vZsmVz3Vv7vYsVK2YFioYNG1qvvPKKx7Fnn33W/JFW3Etn4oeme3nfXnjhBfP/o7sqVapYr732muXv6J7zUbGxsbJ161bTfGoLDg42+xEREcl6bb4kKirKvGbPnt286j27du2ax33TJuKCBQu67pu+anOx+0rvYWFh5gGVe/bscZVxr8MuE4j3XrvftHst/uflXjo3f/588/il559/3nRRVqhQQb744gvX+UOHDpmnDLjfB33WlXa5u99L7Q7RemxaXn/uN27c6CpTq1Yt86xM93upXdTnzp2TQFC9enXzzM/ffvvN7P/666+ybt06efLJJ80+9zJx7uV9iwjgn3lCk4/6+++/Td9+/Ee46L7+h4//faCyjr959NFHpXTp0uaY3hv9YY7/8GT3+6avCd1X+9ztymgYuHLligSKGTNmyLZt28xYsfi4l84dPHhQJkyYIA8++KAsXbpUXn/9denatatMnTrV417c7udZXzVwuQsJCTH/ILib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\"\n", " },\n", " \"metadata\": {},\n", " \"output_type\": \"display_data\"\n", " }\n", " ],\n", - " \"source\": [\n", - " \"# 2. Histogram of time per CURIE\\n\",\n", - " \"plt.figure()\\n\",\n", - " \"plt.hist(df['time_taken_per_curie_ms'], bins=50)\\n\",\n", - " \"plt.xlabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", - " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", - " \"plt.title(\\\"Distribution of Time Taken per CURIE\\\")\\n\",\n", - " \"plt.show()\"\n", - " ]\n", + " \"execution_count\": 85\n", " },\n", " {\n", + " \"metadata\": {\n", + " \"ExecuteTime\": {\n", + " \"end_time\": \"2025-07-03T19:54:02.295055Z\",\n", + " \"start_time\": \"2025-07-03T19:54:02.241718Z\"\n", + " }\n", + " },\n", " \"cell_type\": \"code\",\n", - " \"execution_count\": 34,\n", - " \"id\": \"0dd31031-25d0-42f7-977b-93cb194228f8\",\n", - " \"metadata\": {},\n", + " \"source\": [\n", + " \"# Time per CURIE distribution\\n\",\n", + " \"# CURIEs per request\\n\",\n", + " \"sns.histplot(df['time_taken_per_curie_ms'], bins=30)\\n\",\n", + " \"plt.title(\\\"Time taken per CURIE\\\")\\n\",\n", + " \"plt.xlabel(\\\"Time taken per CURIE (ms)\\\")\\n\",\n", + " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", + " \"plt.show()\"\n", + " ],\n", + " \"id\": \"629b162554799779\",\n", " \"outputs\": [\n", " {\n", " \"data\": {\n", - " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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\",\n", " \"text/plain\": [\n", " \"
\"\n", - " ]\n", + " ],\n", + " \"image/png\": \"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\"\n", " },\n", " \"metadata\": {},\n", " \"output_type\": \"display_data\"\n", " }\n", " ],\n", - " \"source\": [\n", - " \"# 3. Boxplot to highlight outliers in time per CURIE\\n\",\n", - " \"plt.figure()\\n\",\n", - " \"plt.boxplot(df['time_taken_per_curie_ms'])\\n\",\n", - " \"plt.ylabel(\\\"Time per CURIE (ms)\\\")\\n\",\n", - " \"plt.title(\\\"Boxplot of Time per CURIE (Outliers Shown)\\\")\\n\",\n", - " \"plt.show()\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"execution_count\": null,\n", - " \"id\": \"fee5ecb0-a7a6-4797-930c-5d89074acc91\",\n", - " \"metadata\": {},\n", - " \"outputs\": [],\n", - " \"source\": []\n", + " \"execution_count\": 87\n", + " \"id\": \"724e9f735fea9bd3\"\n", " }\n", " ],\n", " \"metadata\": {\n", @@ -608,7 +1141,7 @@ " \"nbformat_minor\": 5\n", "}\n" ], - "id": "724e9f735fea9bd3" + "id": "b7c3cedbda9d03f0" } ], "metadata": { From 67d9ebd7676c525dc1009cb5d7503e8081d9eebb Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 3 Jul 2025 16:47:28 -0400 Subject: [PATCH 05/12] Replaced NodeNorm log analysis with latest version. After a bunch of rebasing. --- log-analysis/NodeNorm_log_analysis.ipynb | 1639 +++++++--------------- 1 file changed, 501 insertions(+), 1138 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index 0fac00e..ba0485e 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -1,1147 +1,510 @@ { "cells": [ { + "cell_type": "markdown", + "id": "ba1f42e6-f208-4511-8117-4d92d392bd84", "metadata": {}, - "cell_type": "raw", "source": [ - "{\n", - " \"cells\": [\n", - " {\n", - " \"cell_type\": \"markdown\",\n", - " \"id\": \"ba1f42e6-f208-4511-8117-4d92d392bd84\",\n", - " \"metadata\": {},\n", - " \"source\": [\n", - " \"# NodeNorm Log Analysis\\n\",\n", - " \"\\n\",\n", - " \"As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\\n\",\n", - " \"\\n\",\n", - " \"```\\n\",\n", - " \"2025-06-18T03:26:30-04:00\\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\\n\",\n", - " \"```\\n\",\n", - " \"\\n\",\n", - " \"This Jupyter Notebook is intended to be used in analysing these logs.\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"markdown\",\n", - " \"id\": \"bc4248bb-1c4a-446e-95a3-54acc13e01de\",\n", - " \"metadata\": {},\n", - " \"source\": [\n", - " \"## Install prerequisites\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"id\": \"721be6fa-7f14-4979-bffb-5a32cb316444\",\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T19:47:15.465380Z\",\n", - " \"start_time\": \"2025-07-03T19:47:13.789441Z\"\n", - " }\n", - " },\n", - " \"source\": [\n", - " \"import csv\\n\",\n", - " \"%pip install pandas matplotlib numpy seaborn\"\n", - " ],\n", - " \"outputs\": [\n", - " {\n", - " \"name\": \"stdout\",\n", - " \"output_type\": \"stream\",\n", - " \"text\": [\n", - " \"Requirement already satisfied: pandas in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.0)\\r\\n\",\n", - " \"Requirement already satisfied: matplotlib in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (3.10.3)\\r\\n\",\n", - " \"Requirement already satisfied: numpy in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.1)\\r\\n\",\n", - " \"Collecting seaborn\\r\\n\",\n", - " \" Obtaining dependency information for seaborn from https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl.metadata\\r\\n\",\n", - " \" Downloading seaborn-0.13.2-py3-none-any.whl.metadata (5.4 kB)\\r\\n\",\n", - " \"Requirement already satisfied: python-dateutil>=2.8.2 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\r\\n\",\n", - " \"Requirement already satisfied: pytz>=2020.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\\r\\n\",\n", - " \"Requirement already satisfied: tzdata>=2022.7 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\\r\\n\",\n", - " \"Requirement already satisfied: contourpy>=1.0.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\r\\n\",\n", - " \"Requirement already satisfied: cycler>=0.10 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\r\\n\",\n", - " \"Requirement already satisfied: fonttools>=4.22.0 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\r\\n\",\n", - " \"Requirement already satisfied: kiwisolver>=1.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\r\\n\",\n", - " \"Requirement already satisfied: packaging>=20.0 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (24.1)\\r\\n\",\n", - " \"Requirement already satisfied: pillow>=8 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (11.3.0)\\r\\n\",\n", - " \"Requirement already satisfied: pyparsing>=2.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\r\\n\",\n", - " \"Requirement already satisfied: six>=1.5 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\\r\\n\",\n", - " \"Downloading seaborn-0.13.2-py3-none-any.whl (294 kB)\\r\\n\",\n", - " \"\\u001B[2K \\u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\u001B[0m \\u001B[32m294.9/294.9 kB\\u001B[0m \\u001B[31m3.5 MB/s\\u001B[0m eta \\u001B[36m0:00:00\\u001B[0ma \\u001B[36m0:00:01\\u001B[0m\\r\\n\",\n", - " \"\\u001B[?25hInstalling collected packages: seaborn\\r\\n\",\n", - " \"Successfully installed seaborn-0.13.2\\r\\n\",\n", - " \"\\r\\n\",\n", - " \"\\u001B[1m[\\u001B[0m\\u001B[34;49mnotice\\u001B[0m\\u001B[1;39;49m]\\u001B[0m\\u001B[39;49m A new release of pip is available: \\u001B[0m\\u001B[31;49m23.2.1\\u001B[0m\\u001B[39;49m -> \\u001B[0m\\u001B[32;49m25.1.1\\u001B[0m\\r\\n\",\n", - " \"\\u001B[1m[\\u001B[0m\\u001B[34;49mnotice\\u001B[0m\\u001B[1;39;49m]\\u001B[0m\\u001B[39;49m To update, run: \\u001B[0m\\u001B[32;49mpip install --upgrade pip\\u001B[0m\\r\\n\",\n", - " \"Note: you may need to restart the kernel to use updated packages.\\n\"\n", - " ]\n", - " }\n", - " ],\n", - " \"execution_count\": 72\n", - " },\n", - " {\n", - " \"cell_type\": \"markdown\",\n", - " \"id\": \"3a6bab9f-897e-4c96-84c8-3e402676e753\",\n", - " \"metadata\": {},\n", - " \"source\": [\n", - " \"## Loading files\\n\",\n", - " \"\\n\",\n", - " \"These files can be checked into the repository into the `logs/` subdirectory.\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"id\": \"c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea\",\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T15:08:37.248772Z\",\n", - " \"start_time\": \"2025-07-03T15:08:37.247086Z\"\n", - " }\n", - " },\n", - " \"source\": [\n", - " \"logfiles_json_gz = [\\n\",\n", - " \" \\\"logs/nodenorm-ci-logs-2025jul3-10k.json.gz\\\",\\n\",\n", - " \" \\\"logs/nodenorm-ci-logs-2025jun26-to-2025jun29.json.gz\\\"\\n\",\n", - " \"]\"\n", - " ],\n", - " \"outputs\": [],\n", - " \"execution_count\": 56\n", - " },\n", - " {\n", - " \"cell_type\": \"markdown\",\n", - " \"id\": \"67ca8f70-adaa-4883-ac51-1c0ec235bd13\",\n", - " \"metadata\": {},\n", - " \"source\": [\n", - " \"We can use Python dataclasses to load the important information from the logfile.\"\n", - " ]\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"id\": \"42805620-22f8-4469-845a-a5fd40ae7a3d\",\n", - " \"metadata\": {\n", - " \"scrolled\": true,\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T14:27:45.146407Z\",\n", - " \"start_time\": \"2025-07-03T14:27:45.139031Z\"\n", - " }\n", - " },\n", - " \"source\": [\n", - " \"import json\\n\",\n", - " \"from dataclasses import dataclass\\n\",\n", - " \"from datetime import datetime\\n\",\n", - " \"import csv\\n\",\n", - " \"import gzip\\n\",\n", - " \"import logging\\n\",\n", - " \"import re\\n\",\n", - " \"import ast\\n\",\n", - " \"\\n\",\n", - " \"logging.basicConfig(level=logging.INFO)\\n\",\n", - " \"\\n\",\n", - " \"@dataclass\\n\",\n", - " \"class LogEntry:\\n\",\n", - " \" time: datetime\\n\",\n", - " \" curies: list[str]\\n\",\n", - " \" curie_count: int\\n\",\n", - " \" time_taken_ms: float\\n\",\n", - " \" time_taken_per_curie_ms: float\\n\",\n", - " \" arguments: dict[str, str]\\n\",\n", - " \" node: str = \\\"\\\"\\n\",\n", - " \"\\n\",\n", - " \"def convert_log_line_into_entry(line: str) -> list[LogEntry]:\\n\",\n", - " \" # Depending on where the log file comes from, it might start with one of two types of timestamps:\\n\",\n", - " \" # - ISO 8601 date (e.g. \\\"2007-04-05T12:30−02:00\\\"), which will be separated from the rest of the log line with a tab character.\\n\",\n", - " \" # - Python log format date (e.g. \\\"2025-06-12 13:01:49,319\\\"), which should always be in UTC.\\n\",\n", - " \"\\n\",\n", - " \" # Entry variables.\\n\",\n", - " \" log_time = None\\n\",\n", - " \" curies = []\\n\",\n", - " \" curie_count = -1\\n\",\n", - " \" time_taken_ms = -1.0\\n\",\n", - " \" arguments = {}\\n\",\n", - " \"\\n\",\n", - " \" # Parse the datetime stamp.\\n\",\n", - " \" iso8601date_match = re.match(r'^(\\\\d{4}-\\\\d{2}-\\\\d{2}(?:[T ]\\\\d{2}:\\\\d{2}(?::\\\\d{2}(?:[\\\\.,]\\\\d+)?(?:Z|[+-]\\\\d{2}:\\\\d{2})?)?)?) |', line)\\n\",\n", - " \" if iso8601date_match:\\n\",\n", - " \" log_time = datetime.fromisoformat(iso8601date_match.group(1))\\n\",\n", - " \" else:\\n\",\n", - " \" raise ValueError(f\\\"Could not identify the datetime for the line: '{line}'\\\")\\n\",\n", - " \"\\n\",\n", - " \" # Is the log line too long?\\n\",\n", - " \" if len(line) > 81_900: # Longest we've seen is 114688, and that was truncated.\\n\",\n", - " \" return []\\n\",\n", - " \"\\n\",\n", - " \" # Parse the log text.\\n\",\n", - " \" log_text_match = re.search(r'\\\\| INFO \\\\| normalizer:get_normalized_nodes \\\\| Normalized (\\\\d+) nodes in ([\\\\d\\\\.]+) ms with arguments \\\\((.*)\\\\)', line)\\n\",\n", - " \" if not log_text_match:\\n\",\n", - " \" raise ValueError(f\\\"Could not find NodeNorm log-line (length: {len(line)}): {line}\\\")\\n\",\n", - " \" curie_count = int(log_text_match.group(1))\\n\",\n", - " \" time_taken_ms = float(log_text_match.group(2))\\n\",\n", - " \" argument_text = log_text_match.group(3)\\n\",\n", - " \"\\n\",\n", - " \" # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\\n\",\n", - " \" argument_fn_call = f'arguments({argument_text})'\\n\",\n", - " \" tree = ast.parse(argument_fn_call, mode=\\\"eval\\\")\\n\",\n", - " \" call_node = tree.body\\n\",\n", - " \" for kw in call_node.keywords:\\n\",\n", - " \" arguments[kw.arg] = ast.literal_eval(kw.value)\\n\",\n", - " \"\\n\",\n", - " \" # Some assertions.\\n\",\n", - " \" if 'curies' not in arguments:\\n\",\n", - " \" raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\\n\",\n", - " \" curies = arguments['curies']\\n\",\n", - " \" if len(curies) != curie_count:\\n\",\n", - " \" raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\\n\",\n", - " \" if len(curies) < 1:\\n\",\n", - " \" raise ValueError(f'Found no CURIEs in line: {line}')\\n\",\n", - " \"\\n\",\n", - " \" # Emit the LogEntry.\\n\",\n", - " \" return [LogEntry(\\n\",\n", - " \" time=log_time,\\n\",\n", - " \" curies=curies,\\n\",\n", - " \" curie_count=curie_count,\\n\",\n", - " \" time_taken_ms=time_taken_ms,\\n\",\n", - " \" time_taken_per_curie_ms=time_taken_ms/curie_count,\\n\",\n", - " \" arguments=arguments\\n\",\n", - " \" )]\"\n", - " ],\n", - " \"outputs\": [],\n", - " \"execution_count\": 35\n", - " },\n", - " {\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T15:08:57.067103Z\",\n", - " \"start_time\": \"2025-07-03T15:08:54.423827Z\"\n", - " }\n", - " },\n", - " \"cell_type\": \"code\",\n", - " \"source\": [\n", - " \"import sys\\n\",\n", - " \"\\n\",\n", - " \"logs = []\\n\",\n", - " \"for logfile_json_gz in logfiles_json_gz:\\n\",\n", - " \" print(f\\\"Loading logfile {logfile_json_gz}\\\")\\n\",\n", - " \" with gzip.open(logfile_json_gz, 'rt') as logf:\\n\",\n", - " \" # The entire log file from AWS is one massive JSON list *curses*.\\n\",\n", - " \" data = json.load(logf)\\n\",\n", - " \" for row in data:\\n\",\n", - " \" # print(f\\\"Processing row: {row}\\\")\\n\",\n", - " \"\\n\",\n", - " \" # Weirdly enough, AWS logs are wrapped in TWO layers:\\n\",\n", - " \" message = row['@message']\\n\",\n", - " \" if isinstance(message, dict):\\n\",\n", - " \" line = row['@message']['log']\\n\",\n", - " \" else:\\n\",\n", - " \" # This will probably (?) be an incomplete log line, so let's skip it.\\n\",\n", - " \" continue\\n\",\n", - " \"\\n\",\n", - " \" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\n\",\n", - " \" if \\\"normalizer:get_normalized_nodes\\\" not in line:\\n\",\n", - " \" continue\\n\",\n", - " \"\\n\",\n", - " \" logs.extend(convert_log_line_into_entry(line))\"\n", - " ],\n", - " \"id\": \"77059385da4ddcc9\",\n", - " \"outputs\": [],\n", - " \"execution_count\": 57\n", - " },\n", - " {\n", - " \"cell_type\": \"code\",\n", - " \"id\": \"227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc\",\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T15:09:08.592424Z\",\n", - " \"start_time\": \"2025-07-03T15:09:08.590150Z\"\n", - " }\n", - " },\n", - " \"source\": [\n", - " \"logs[0:10]\"\n", - " ],\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"text/plain\": [\n", - " \"[LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 4, 186000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=48.27, time_taken_per_curie_ms=1.9308, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 537000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.73, time_taken_per_curie_ms=11.73, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 308000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.74, time_taken_per_curie_ms=11.74, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 241000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.35, time_taken_per_curie_ms=12.35, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 4, 335000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=71.37, time_taken_per_curie_ms=2.8548, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 608000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=16.55, time_taken_per_curie_ms=16.55, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 386000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.73, time_taken_per_curie_ms=11.73, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 319000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=17.6, time_taken_per_curie_ms=17.6, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 873000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=47.77, time_taken_per_curie_ms=1.9108, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\n\",\n", - " \" LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 183000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.33, time_taken_per_curie_ms=12.33, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node='')]\"\n", - " ]\n", - " },\n", - " \"execution_count\": 58,\n", - " \"metadata\": {},\n", - " \"output_type\": \"execute_result\"\n", - " }\n", - " ],\n", - " \"execution_count\": 58\n", - " },\n", - " {\n", - " \"metadata\": {},\n", - " \"cell_type\": \"markdown\",\n", - " \"source\": \"# Some overall measures\",\n", - " \"id\": \"a13af441dd8d87d\"\n", - " },\n", - " {\n", - " \"metadata\": {},\n", - " \"cell_type\": \"markdown\",\n", - " \"source\": \"\",\n", - " \"id\": \"2ee4b13bab99da17\"\n", - " },\n", - " {\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T19:48:02.050286Z\",\n", - " \"start_time\": \"2025-07-03T19:48:01.872030Z\"\n", - " }\n", - " },\n", - " \"cell_type\": \"code\",\n", - " \"cell_type\": \"raw\",\n", - " \"source\": [\n", - " \"times = sorted(list(set(map(lambda x: x.time, logs))))\\n\",\n", - " \"count_requests = len(logs)\\n\",\n", - " \"unique_curies = sorted(set([x for xs in map(lambda x: x.curies, logs) for x in xs]))\\n\",\n", - " \"\\n\",\n", - " \"print(f\\\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\\\")\\n\",\n", - " \"print(f\\\"Total number of requests: {count_requests}\\\")\\n\",\n", - " \"print(f\\\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\\\")\\n\",\n", - " \"print(f\\\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\\\")\\n\",\n", - " \"print(f\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_ms, logs))/count_requests} ms\\\")\\n\",\n", - " \"print(f\\\"Total number of unique CURIEs: {len(unique_curies)}\\\")\"\n", - " ],\n", - " \"id\": \"702b88dac738feb0\",\n", - " \"outputs\": [\n", - " {\n", - " \"name\": \"stdout\",\n", - " \"output_type\": \"stream\",\n", - " \"text\": [\n", - " \"Time range: 2025-06-26 00:01:03.559000 to 2025-07-03 14:01:04.186000 (7 days, 14:00:00.627000)\\n\",\n", - " \"Total number of requests: 19043\\n\",\n", - " \"Total number of CURIEs: 2176206\\n\",\n", - " \"Total time taken: 6709482.9 ms\\n\",\n", - " \"Average time per CURIE: 352.33329307357036 ms\\n\",\n", - " \"Total number of unique CURIEs: 233697\\n\"\n", - " ]\n", - " }\n", - " ],\n", - " \"execution_count\": 76\n", - " },\n", - " {\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T19:47:29.963351Z\",\n", - " \"start_time\": \"2025-07-03T19:47:29.451910Z\"\n", - " }\n", - " },\n", - " \"cell_type\": \"code\",\n", - " \"source\": [\n", - " \"import pandas as pd\\n\",\n", - " \"import numpy as np\\n\",\n", - " \"import matplotlib.pyplot as plt\\n\",\n", - " \"import seaborn as sns\\n\",\n", - " \"from dataclasses import asdict\\n\",\n", - " \"\\n\",\n", - " \"# Assume `records` is your list of dataclass instances\\n\",\n", - " \"# Convert to DataFrame\\n\",\n", - " \"df = pd.DataFrame([asdict(r) for r in logs])\\n\",\n", - " \"df['time'] = pd.to_datetime(df['time'])\\n\",\n", - " \"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\"\n", - " ],\n", - " \"id\": \"95e54a3b26740479\",\n", - " \"outputs\": [],\n", - " \"execution_count\": 73\n", - " },\n", - " {\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T19:47:41.139654Z\",\n", - " \"start_time\": \"2025-07-03T19:47:41.081034Z\"\n", - " }\n", - " },\n", - " \"cell_type\": \"code\",\n", - " \"source\": [\n", - " \"# Plot requests against time.\\n\",\n", - " \"requests_per_hour = df.set_index('time').resample('h').size()\\n\",\n", - " \"sns.lineplot(x=requests_per_hour.index, y=requests_per_hour.values)\\n\",\n", - " \"plt.title(\\\"Requests per Hour\\\")\\n\",\n", - " \"plt.xlabel(\\\"Time\\\")\\n\",\n", - " \"plt.ylabel(\\\"Number of Requests\\\")\\n\",\n", - " \"plt.xticks(rotation=45)\\n\",\n", - " \"plt.tight_layout()\\n\",\n", - " \"plt.show()\"\n", - " ],\n", - " \"id\": \"acd50a9d9affe09f\",\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"text/plain\": [\n", - " \"
\"\n", - " ],\n", - " \"image/png\": \"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\"\n", - " },\n", - " \"metadata\": {},\n", - " \"output_type\": \"display_data\"\n", - " }\n", - " ],\n", - " \"execution_count\": 75\n", - " },\n", - " {\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T19:58:35.599825Z\",\n", - " \"start_time\": \"2025-07-03T19:58:35.544619Z\"\n", - " }\n", - " },\n", - " \"cell_type\": \"code\",\n", - " \"source\": [\n", - " \"# CURIEs per request\\n\",\n", - " \"sns.histplot(df['curie_count'], bins=50, stat='percent')\\n\",\n", - " \"plt.title(f\\\"CURIEs per request (max = {max(df['curie_count'])})\\\")\\n\",\n", - " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", - " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", - " \"plt.show()\"\n", - " ],\n", - " \"id\": \"f9e4e8b8b5738328\",\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"text/plain\": [\n", - " \"
\"\n", - " ],\n", - " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPdlJREFUeJzt3Qd8FHX+//EPNfQOCWgoilIFBRUQbIggegjCzxNFBcWOqMSKvVM8AfUoVxDk7jyVE1DPE0tELBdUsCCoCIoEhAQsJBQTEOb/eH9//93f7mYTkrBkd5LX8/EYws7Ozn53dnbnvd8yU8nzPM8AAAB8qHK8CwAAAFBaBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAKIHJkydb+/btbf/+/fEuCg5g8eLFVqdOHdu2bVu8i4JDiCCDhPXtt9/a1VdfbUcccYTVqFHD6tWrZ71797YnnnjCfv311+BylSpVsuuvvz7qOv71r3+5+995553gvFGjRrl5gSkpKcmOPvpou/feey0vL6/AOiLX//3334c9PnKaOHFizLcFYm/z5s12//3322effVbsx+Tm5tqkSZPs9ttvt8qVK+7X58cff+w+E506dbLatWtby5Yt7fe//7198803BZYt6rNy5plnRv3cX3TRRdasWTOrWbOmHXXUUXbXXXcVWO6Pf/yjdejQwX1+DzvsMEtLS7Ndu3aFLXPWWWdZ27ZtbcKECTHeAkgkVeNdACCaV1991c4//3z3JXXppZda586dbc+ePfb+++/brbfeaqtXr7Y///nPpV6/1vvXv/7V/T8nJ8deeukle+ihh9yX6D/+8Y9irePCCy+0s88+u8D84447rtTlQtkGmQceeMBat25txx57bLEe8/TTT9tvv/3m3vuKTGHugw8+cJ/RLl26WFZWlgsW3bp1s2XLlrnPa8Df/va3Ao9fvny5+0HSv3//sPkKlaeddpoLJjfffLM1btzYMjMzbePGjWHLKUiqZux//ud/7MYbb7Qvv/zSnnrqKfe98Prrr4ctqx9Dt9xyi3uv69atG/NtgQSgi0YCieS7777z6tSp47Vv397bvHlzgfvXrl3rTZs2LXhbu/GYMWOirmv+/Pnu/iVLlgTnjRw50qtdu3bYcvv37/d69uzpVapUycvKygq7L3L969evd/Mee+wxz8/27t3r5efnF3v5ffv2eb/++qtXXnz88cfufZwzZ06xH9OlSxfv4osv9iq6Dz74oMC+880333hJSUneiBEjDvj40aNHu8/axo0bw/avzp07ez169PB2795d6GP1nVC1alXvkksuCZv/1FNPuffz5ZdfDpufnZ3tValSxZs9e3YJXiH8pOLWjSJh6ZfWzp07bfbs2da8efMC96uqWL/CYknV3H369FGwt++++y5m69UvzwEDBliTJk1cNXmbNm3s8ssvP+DjVEvwu9/9zt544w1XW6CmtY4dO9qCBQsKLLt9+3a76aabLDU11dU0afvoF3NoH45Ac9gf/vAHmzZtmh155JFuWf2SLUygSU01VGpC0PLqcyA//PCDex3Jycluvu5XbUWkTZs22ZAhQ1zzg5oKxo0b534xRzb36fWqyS+Sfp1rCpWfn2/33Xefe516br3u2267zc0P9eabb7r3tEGDBq6fRLt27ezOO+909+m5TzjhBPf/yy67LNjUMXfu3EK3x/r1623lypXWr1+/sPmh23b69OmuKbRWrVqutkE1CdqnVNt3+OGHu31g8ODB9vPPP4etQzWC55xzjrVo0cK9Jr0/esy+ffuCy3z11Vfu8aqhDKVayipVqrhairJy0kknWfXq1cPmqQlI+4HKWRS9Ty+++KKdeuqpbpsEaF9ftWqVe2/1Onfv3h32+gMyMjJcrdjw4cPD5gduP/fcc2Hztd+p1kjbGOUTTUtIOK+88oo7GOjLsizpgCQNGzYs1vL6ov3xxx8LzNeBs2rVqrZ161Z3MGvatKndcccdbr6eI1oYiWbt2rV2wQUX2DXXXGMjR460OXPmuKp8hYlA3wKVQQcEBQtVoauvwn//+18bP368bdmyxYWWUFqH+gFdddVV7oDZqFGjIsvw9ttv2wsvvOACjcKYAkd2drb17NkzGHT0+l577TUbPXq060OiUCXqx3TGGWe4poEbbrjBHaTVzKB1lpbC2bnnnusO3noN6iPxxRdf2NSpU13/jEWLFrnl1MSgIKgD2IMPPuhe67p161xziOhxmq9+UVrPySef7OYXtc9pu4qaT6JR4FPz59ixY11QUSBXv5G+ffu64KSgoTKoCURNHaHBTwFKYUv9PPRX20hl0/Z87LHHgmVWuFHTqppUtB3UJ0QBUJ2P9XoOFCB27NhRrO2s97qkFNi0byjMFOU///mPC98jRowIm//WW2+5v3qvjj/+eFuxYoULS+edd57NmDEjuK8GAqvCTiiFR9HjInXv3j24b6AcineVEBAqJyfHVQ8PHjy42I8pbdPStm3b3LRu3TrvD3/4g6vqVtW2mpmK07RU2JSRkeGWW7hwobutJoySatWqlXvsiy++GLZtmjdv7h133HHBeQ899JB7LarWD3XHHXe46vTMzMywMterV8/bunVrscqg5StXruytXr26QLOAyvHjjz+GzR8+fLhXv379YLOAmv+0jhdeeCG4zK5du7y2bdsWeE/0evW+RDr11FPdFPC3v/3Nlem9994LW27WrFlunWrykKlTp7rben9j1bR09913u+V37NgRNj+wbZs2bept3749OH/8+PFufteuXV0zXsCFF17oVa9e3cvLywvOi9aUcvXVV3u1atUKW07NL3369PGSk5Pd9td+qWaW4uxjep1F7behU2novdFjD9SEM2zYMNcE9csvv4TNP/fcc93jGzdu7Jqn/vWvf3n33HOPe30nnXRS8HO5YsUKt5z2/VCLFy9289UsHenRRx9196mZCeUPNTJIKPoFKoe6U55+yaomIZSaIZ555hlX01Ac+iWvGpJIagIS1cDIv//9b+vatatVq1atRGVUDYZ+jQZo1JaaFdRspM6VKSkpNn/+fFeboFqk0NohNX9o9NS7774b9st32LBhBV53UVTbE3g9onyjZgHVNOj/oc+pJjRV63/yySdudJl+eatpULUHob+atd3UFFQaer2qmVANROhzq9ZDlixZ4mpVAttezQlqOorFCKOffvrJ1bSpxiQa7Qv169cP3u7Ro4f7e/HFF7vHhc7/5z//6WrRVPMYWbugWhPVOuh9/dOf/mRff/21239Er0O1N7o9cOBA13R59913uxqMA9H7o+a2Q0FlHDNmjPXq1cvVHhb1+VZHfnWSD7xHAWpOFjX5/f3vfw/ur9pnVMOYnp7u9mvViGkb6nOgTsGnn366a8669tpr3WcsdERjQKCWVfuMmppQvhBkkFB0sJbiVoEXV2Q4UZ8TNWEF+nGoGUBNQZHV1UVRn4DI/hKRIUBfxBotoaYP9fVQfxENLVX1+YGoD0hkuTVMXNREpSCj5if12ygsnOg1hVIfnZKIXF7n41CzgEaMFTZqLPCcGzZsiPoa1FeltPR6ddA6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2+zZs2NfGgAAgEPd2fe3336zp59+2t566y3r3r17gWssTZkypTSrBQAAOHRB5rvvvrPWrVvbqlWrrFu3bm6eOv2G0lBsAACAhAsyOnOvrqu0ZMmS4CUJnnzySUtOTj5U5QMAAIhNH5nIq1u/9tprbug1AACAbzr7FhZsAAAAEjbIqP9LZB+Yg+kTM3PmTOvSpYvVq1fPTb169XK1PAF5eXk2ZswYa9y4sdWpU8eGDRtm2dnZpX4+AABQgfvIqAZm1KhRwQtDKmhcc801BUYtLViwoFjr09WzJ06c6PreaN3PPPOMO1OwzhDcqVMnGzdunL366qs2f/58q1+/vl1//fXuDMJcBgEAAJQ4yIwcObLA+WQOxqBBg8JuP/LII66WZtmyZS7k6Fw1zz77rPXt29fdP2fOHOvQoYO7v2fPnryDAABUcCUKMgoSh8q+fftczYs6D6uJacWKFe5yCP369Qsu0759e2vZsqVlZGQQZAAAQOlOiBdLX3zxhQsuaqZSP5iFCxdax44d7bPPPrPq1atbgwYNwpbXUO+srKxC15efn++mgNzc3ENafgAA4NNRS7HQrl07F1o+/PBDu/baa13z1Zdfflnq9U2YMMH1pwlMqampMS0vAABIHHEPMqp1adu2rbvUgUJI165d7YknnrCUlBTbs2ePbd++PWx5jVrSfYUZP3685eTkBKeNGzeWwasAAAAVMshE2r9/v2saUrDRlbbT09OD961Zs8YyMzNdU1RhNKIqMJw7MAEAgPIprn1kVHsycOBA14F3x44dboTSO++8Y6+//rprFho9erSlpaVZo0aNXCAZO3asCzF09AUAAHEPMlu3brVLL73UXb9JwUUnx1OIOfPMM939U6dOtcqVK7sT4amWZsCAATZjxgzeOQAAEP8go/PEFKVGjRo2ffp0NwEAACR8HxkAAIDiIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgA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+geVJZrwAMCnQebHH3+0ffv2WXJy+C9x3f7666+jPiY/P99NATk5Oe5vbm7uITm47v11V9HLeF5Mlonlulim6GVycndYw8ZNi1xmd16+1aqRVCbL5O7cGZvXvn//AT8HJ/bqbdlZWUUuk5ySYh9lfFAm6wFQceX+/+8rfb8VyUtgP/zwg0rv/fe//w2bf+utt3onnnhi1Mfcd9997jFMTExMTExM5vtp48aNRWaFhK6RadKkiVWpUsWys7PD5ut2SkpK1MeoGUqdgwP2799vP//8szVu3NgqVaoU06SYmppqGzdutHr16sVsvRUN2/HgsQ1jg+148NiGscF2tGBNzI4dO6xFixZWlIQOMtWrV7fu3btbenq6DRkyJBhMdPv666+P+pikpCQ3hWrQoMEhK6N2soq8o8UK2/HgsQ1jg+148NiGscF2NKtfv/4Bl0noICOqXRk5cqQdf/zx7twxGn69a9eu4CgmAABQcSV8kLngggts27Ztdu+997oT4h177LG2ePHiAh2AAQBAxZPwQUbUjFRYU1K8qPnqvvvuK9CMhZJhOx48tmFssB0PHtswNtiOJVNJPX5L+BgAAICEUDneBQAAACgtggwAAPAtggwAAPAtggwAAPAtgkwpTZ8+3Vq3bm01atSwHj162EcffRTvIiWM+++/351FOXRq37598P68vDwbM2aMO9tynTp1bNiwYQXO3pyZmWnnnHOO1apVy5o1a2a33nqr/fbbb1ZevfvuuzZo0CB3Bkttr0WLwi8SqT75OgWBrsxds2ZNd+HUtWvXhi2jM1iPGDHCnUBLJ4EcPXq07dy5M2yZlStX2sknn+z2W505dPLkyVaRtuOoUaMK7JtnnXVW2DIVfTtOmDDBTjjhBKtbt6777OlkpGvWrAlbJlaf4Xfeece6devmRue0bdvW5s6daxVlG5522mkF9sVrrrkmbJmKvA1LJJbXRqoonnvuOa969ere008/7a1evdq78sorvQYNGnjZ2dnxLlpC0PWuOnXq5G3ZsiU4bdu2LXj/Nddc46Wmpnrp6ene8uXLvZ49e3onnXRS8P7ffvvN69y5s9evXz/v008/9f7zn/94TZo08caPH++VV3qNd911l7dgwQJ3bZGFCxeG3T9x4kSvfv363qJFi7zPP//cO/fcc702bdp4v/76a3CZs846y+vatau3bNky7733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Xai1NHSh0nPOOcdatWpV6DIKEb1793ZXaH/sscfsmGOOcReDfP31123MmDGuVqekrrzySnvwwQctPz/fXTDwqquucuu/9tpri3zcW2+9ZZ06dQqb17hx4xI/P1DRUCMDlBP9+vVzV8lWDUBh7r///gLNLNOmTbPWrVsXqGV49NFHLTk52R2EdWD+7bff7NZbb7VGjRrZ4YcfbnPmzCmwfh34TzrpJBeqOnfubEuXLg27f9WqVTZw4ECrU6eOW/cll1xiP/74Y1iNhq4afNNNN1mTJk1swIABUV+HrkatMqkcqkXRa1q8eHHwftVm6ArWWkb/1+uO5rrrrnP3f/TRRzZs2DBXg6IwkZaWVurakFq1arn3QQHqsssusy5durgrEh+IQoseFzrpKtPy+eef2+mnn25169Z1Vz/WFaiXL19eqvIB5Q1BBignqlSp4sLHU089ZZs2bTqodakmYfPmzfbuu+/alClTXDPN7373O1fT8+GHH9o111zjan4in0dB5+abb7ZPP/3UevXq5ZpofvrpJ3ff9u3brW/fvnbccce5g7CCR3Z2tv3+978PW8czzzzjamE++OADmzVrVtTyPfHEE/b444/bH/7wB1u5cqULPOeee66tXbvW3b9lyxYXSFQW/f+WW24psI6ff/7ZlUE1L2qCiqQAdzDUnPTee++5cFfaWqWAESNGuND28ccfu4B2xx13BEMOUNERZIBy5LzzznO1EwoeB0O1Lk8++aS1a9fOLr/8cvd39+7dduedd9pRRx1l48ePdwfn999/P+xxqk1RzUaHDh1s5syZVr9+fZs9e7a7749//KMLMQpb7du3d/9/+umnbcmSJfbNN98E16H1T5482T2npmgUYG6//XYbPny4W0ZNanrdql0S1WZUrVrV1fzo//obad26dS5sqCyxNGPGDPd8qik65ZRTXO3RDTfccMDHqSZLjwudAjIzM12Nm8qq7XP++edb165dY1puwK/oIwOUMzqoq+YjWi1Ecak2o3Ll//udo2YgNRWF1v6oKWTr1q1hj1MtTICCxPHHH29fffVVsHlEoSVaqFB/FjXriJpNipKbm+tqi9S3JZRu6zmKK7QDbiyp9uSuu+6yX375xQVKBRRNB/L888+7ABiNmrquuOIK+9vf/uYCjYLMkUceeQhKD/gPQQYoZ1QLoKYW1Zqov0sohZPIA7g6t0aKbLZQP5Jo81TbUFw7d+50TU0KWpGaN28e/H+0Zp5DQTUbeg3F6dCrvik5OTkF5qu5TLVOoXS7bdu27v8vvPCC+7+GgSuAFEWjpQKPi6Q+PhdddJG9+uqr9tprr7mA9Nxzz7kaOKCio2kJKIc0DPuVV16xjIyMsPlNmzZ1w41Dw0wsz/0S2kFWnYPVnyNQy9CtWzdbvXq161isA3boVJLwos6uLVq0cH1oQul2x44dS9R8psA3ffp027VrV9SQEqDmK72WUPv27XM1QIGapGhU+3TjjTe62rGDrQHS84wbN87eeOMNGzp0aNTO1kBFRJAByiENI1YTh/q5hNKooG3btrk+KGrO0UFcv/BjRetbuHChq+VQJ1o1r6iPjei2OtheeOGFrtOqnl/DnDWyR6GgJNSpWDU7ao7ReWLU+VWBTKGhpOXVc5944on24osvus7CagrTdgttJlPTzl//+lfX/0XL6Lk0rFqvT00+RVGnaPUB0vqLok7RCpmhU15env3666+u79E777xjGzZscIFN26+wZiigoiHIAOWUhh5HNv3o4KeDsQ7g6iyqYccH05cmWk2QJq1bHYFffvllN4xaArUoCg79+/d3YUvDrDU6KLQ/TnGo86zChUYlaT0afaTnUnNRSegkeJ988okb2qx1qR/QmWee6U6Gp87KAQpfCjLqnKw+PGeddZYLGhrVpf5DB6r5ufTSS13zUFFNcWp6UhNb6KST8Kk/kkKO1qFaGY3y0hD2Bx54oESvFSivKnmHqscbAADAIUaNDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAAML/6f8bgsMdHNVolAAAAAElFTkSuQmCC\"\n", - " },\n", - " \"metadata\": {},\n", - " \"output_type\": \"display_data\"\n", - " }\n", - " \"{\\n\",\n", - " \" \\\"cells\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", - " \" \\\"id\\\": \\\"ba1f42e6-f208-4511-8117-4d92d392bd84\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"# NodeNorm Log Analysis\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"```\\\\n\\\",\\n\",\n", - " \" \\\"2025-06-18T03:26:30-04:00\\\\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\\\\n\\\",\\n\",\n", - " \" \\\"```\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"This Jupyter Notebook is intended to be used in analysing these logs.\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", - " \" \\\"id\\\": \\\"bc4248bb-1c4a-446e-95a3-54acc13e01de\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"## Install prerequisites\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 14,\\n\",\n", - " \" \\\"id\\\": \\\"721be6fa-7f14-4979-bffb-5a32cb316444\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"name\\\": \\\"stdout\\\",\\n\",\n", - " \" \\\"output_type\\\": \\\"stream\\\",\\n\",\n", - " \" \\\"text\\\": [\\n\",\n", - " \" \\\"Requirement already satisfied: pandas in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: matplotlib in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (3.10.3)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: numpy in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (2.3.0)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: python-dateutil>=2.8.2 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: pytz>=2020.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: tzdata>=2022.7 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from pandas) (2025.2)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.3.2)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (0.12.1)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (4.58.4)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (1.4.8)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (25.0)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: pillow>=8 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (11.2.1)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from matplotlib) (3.2.3)\\\\n\\\",\\n\",\n", - " \" \\\"Requirement already satisfied: six>=1.5 in /opt/homebrew/Cellar/jupyterlab/4.4.3_2/libexec/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\\\\n\\\",\\n\",\n", - " \" \\\"Note: you may need to restart the kernel to use updated packages.\\\\n\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"%pip install pandas matplotlib numpy\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", - " \" \\\"id\\\": \\\"3a6bab9f-897e-4c96-84c8-3e402676e753\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"## Loading files\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"These files can be checked into the repository into the `logs/` subdirectory.\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 3,\\n\",\n", - " \" \\\"id\\\": \\\"c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"logfile = \\\\\\\"logs/nodenorm-renci-logs-2025jun18.txt\\\\\\\"\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", - " \" \\\"id\\\": \\\"67ca8f70-adaa-4883-ac51-1c0ec235bd13\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"We can use Python dataclasses to load the important information from the logfile.\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 4,\\n\",\n", - " \" \\\"id\\\": \\\"42805620-22f8-4469-845a-a5fd40ae7a3d\\\",\\n\",\n", - " \" \\\"metadata\\\": {\\n\",\n", - " \" \\\"scrolled\\\": true\\n\",\n", - " \" },\\n\",\n", - " \" \\\"outputs\\\": [],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"from dataclasses import dataclass, field\\\\n\\\",\\n\",\n", - " \" \\\"from datetime import datetime\\\\n\\\",\\n\",\n", - " \" \\\"import logging\\\\n\\\",\\n\",\n", - " \" \\\"import re\\\\n\\\",\\n\",\n", - " \" \\\"import ast\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"logging.basicConfig(level=logging.INFO)\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"@dataclass\\\\n\\\",\\n\",\n", - " \" \\\"class LogEntry:\\\\n\\\",\\n\",\n", - " \" \\\" time: datetime\\\\n\\\",\\n\",\n", - " \" \\\" curies: list[str]\\\\n\\\",\\n\",\n", - " \" \\\" curie_count: int\\\\n\\\",\\n\",\n", - " \" \\\" time_taken_ms: float\\\\n\\\",\\n\",\n", - " \" \\\" time_taken_per_curie_ms: float\\\\n\\\",\\n\",\n", - " \" \\\" arguments: dict[str, str]\\\\n\\\",\\n\",\n", - " \" \\\" node: str = \\\\\\\"\\\\\\\"\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"def convert_log_line_into_entry(line: str) -> LogEntry: \\\\n\\\",\\n\",\n", - " \" \\\" # Depending on where the log file comes from, it might start with one of two types of timestamps:\\\\n\\\",\\n\",\n", - " \" \\\" # - ISO 8601 date (e.g. \\\\\\\"2007-04-05T12:30−02:00\\\\\\\"), which will be separated from the rest of the log line with a tab character.\\\\n\\\",\\n\",\n", - " \" \\\" # - Python log format date (e.g. \\\\\\\"2025-06-12 13:01:49,319\\\\\\\"), which should always be in UTC.\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\" # Entry variables.\\\\n\\\",\\n\",\n", - " \" \\\" log_time = None\\\\n\\\",\\n\",\n", - " \" \\\" curies = []\\\\n\\\",\\n\",\n", - " \" \\\" curie_count = -1\\\\n\\\",\\n\",\n", - " \" \\\" time_taken_ms = -1.0\\\\n\\\",\\n\",\n", - " \" \\\" arguments = {}\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\" # Parse the datetime stamp.\\\\n\\\",\\n\",\n", - " \" \\\" iso8601date_match = re.match(r'^(\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}(?:[T ]\\\\\\\\d{2}:\\\\\\\\d{2}(?::\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d+)?(?:Z|[+-]\\\\\\\\d{2}:\\\\\\\\d{2})?)?)?)\\\\\\\\t', line)\\\\n\\\",\\n\",\n", - " \" \\\" if iso8601date_match:\\\\n\\\",\\n\",\n", - " \" \\\" log_time = datetime.fromisoformat(iso8601date_match.group(1))\\\\n\\\",\\n\",\n", - " \" \\\" else:\\\\n\\\",\\n\",\n", - " \" \\\" # TODO raise exception\\\\n\\\",\\n\",\n", - " \" \\\" logging.error(f\\\\\\\"Could not identify the datetime for the line: {line}\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\" # Parse the log text.\\\\n\\\",\\n\",\n", - " \" \\\" log_text_match = re.search(r'\\\\\\\\| INFO \\\\\\\\| normalizer:get_normalized_nodes \\\\\\\\| Normalized (\\\\\\\\d+) nodes in ([\\\\\\\\d\\\\\\\\.]+) ms with arguments \\\\\\\\((.*)\\\\\\\\)', line)\\\\n\\\",\\n\",\n", - " \" \\\" if not log_text_match:\\\\n\\\",\\n\",\n", - " \" \\\" raise ValueError(f\\\\\\\"Could not find NodeNorm log-line: {line}\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\" curie_count = int(log_text_match.group(1))\\\\n\\\",\\n\",\n", - " \" \\\" time_taken_ms = float(log_text_match.group(2))\\\\n\\\",\\n\",\n", - " \" \\\" argument_text = log_text_match.group(3)\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\" # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\\\\n\\\",\\n\",\n", - " \" \\\" argument_fn_call = f'arguments({argument_text})'\\\\n\\\",\\n\",\n", - " \" \\\" tree = ast.parse(argument_fn_call, mode=\\\\\\\"eval\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\" call_node = tree.body\\\\n\\\",\\n\",\n", - " \" \\\" for kw in call_node.keywords:\\\\n\\\",\\n\",\n", - " \" \\\" arguments[kw.arg] = ast.literal_eval(kw.value)\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\" # Some assertions.\\\\n\\\",\\n\",\n", - " \" \\\" if 'curies' not in arguments:\\\\n\\\",\\n\",\n", - " \" \\\" raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\\\\n\\\",\\n\",\n", - " \" \\\" curies = arguments['curies']\\\\n\\\",\\n\",\n", - " \" \\\" if len(curies) != curie_count:\\\\n\\\",\\n\",\n", - " \" \\\" raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\\\\n\\\",\\n\",\n", - " \" \\\" if len(curies) < 1:\\\\n\\\",\\n\",\n", - " \" \\\" raise ValueError(f'Found no CURIEs in line: {line}')\\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" # Emit the LogEntry.\\\\n\\\",\\n\",\n", - " \" \\\" return LogEntry(\\\\n\\\",\\n\",\n", - " \" \\\" time=log_time,\\\\n\\\",\\n\",\n", - " \" \\\" curies=curies,\\\\n\\\",\\n\",\n", - " \" \\\" curie_count=curie_count,\\\\n\\\",\\n\",\n", - " \" \\\" time_taken_ms=time_taken_ms,\\\\n\\\",\\n\",\n", - " \" \\\" time_taken_per_curie_ms=time_taken_ms/curie_count,\\\\n\\\",\\n\",\n", - " \" \\\" arguments=arguments\\\\n\\\",\\n\",\n", - " \" \\\" )\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"logs = []\\\\n\\\",\\n\",\n", - " \" \\\"with open(logfile, 'r') as logf:\\\\n\\\",\\n\",\n", - " \" \\\" for line in logf:\\\\n\\\",\\n\",\n", - " \" \\\" # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\\\\n\\\",\\n\",\n", - " \" \\\" if \\\\\\\"normalizer:get_normalized_nodes\\\\\\\" not in line:\\\\n\\\",\\n\",\n", - " \" \\\" continue\\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" logs.append(convert_log_line_into_entry(line))\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 5,\\n\",\n", - " \" \\\"id\\\": \\\"227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"data\\\": {\\n\",\n", - " \" \\\"text/plain\\\": [\\n\",\n", - " \" \\\"[LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=2.1, time_taken_per_curie_ms=2.1, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0008285'], curie_count=1, time_taken_ms=1.5, time_taken_per_curie_ms=1.5, arguments={'curies': ['GO:0008285'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:16943770'], curie_count=1, time_taken_ms=3.21, time_taken_per_curie_ms=3.21, arguments={'curies': ['PMID:16943770'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:17553787'], curie_count=1, time_taken_ms=1.97, time_taken_per_curie_ms=1.97, arguments={'curies': ['PMID:17553787'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa05200'], curie_count=1, time_taken_ms=2.13, time_taken_per_curie_ms=2.13, arguments={'curies': ['KEGG:hsa05200'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0031670'], curie_count=1, time_taken_ms=3.58, time_taken_per_curie_ms=3.58, arguments={'curies': ['GO:0031670'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0050680'], curie_count=1, time_taken_ms=3.47, time_taken_per_curie_ms=3.47, arguments={'curies': ['GO:0050680'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['GO:0070316'], curie_count=1, time_taken_ms=4.5, time_taken_per_curie_ms=4.5, arguments={'curies': ['GO:0070316'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['PMID:10812241'], curie_count=1, time_taken_ms=2.85, time_taken_per_curie_ms=2.85, arguments={'curies': ['PMID:10812241'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node=''),\\\\n\\\",\\n\",\n", - " \" \\\" LogEntry(time=datetime.datetime(2025, 6, 18, 14, 23, 48, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000))), curies=['KEGG:hsa04110'], curie_count=1, time_taken_ms=2.26, time_taken_per_curie_ms=2.26, arguments={'curies': ['KEGG:hsa04110'], 'conflate_gene_protein': True, 'conflate_chemical_drug': False, 'include_descriptions': False, 'include_individual_types': False}, node='')]\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" \\\"execution_count\\\": 5,\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"output_type\\\": \\\"execute_result\\\"\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"execution_count\\\": 50\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", - " \" \\\"source\\\": \\\"# Some overall measures\\\",\\n\",\n", - " \" \\\"id\\\": \\\"a13af441dd8d87d\\\"\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", - " \" \\\"source\\\": \\\"\\\",\\n\",\n", - " \" \\\"id\\\": \\\"2ee4b13bab99da17\\\"\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"metadata\\\": {\\n\",\n", - " \" \\\"ExecuteTime\\\": {\\n\",\n", - " \" \\\"end_time\\\": \\\"2025-07-03T14:54:04.252739Z\\\",\\n\",\n", - " \" \\\"start_time\\\": \\\"2025-07-03T14:54:04.246303Z\\\"\\n\",\n", - " \" }\\n\",\n", - " \" },\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"times = sorted(list(set(map(lambda x: x.time, logs))))\\\\n\\\",\\n\",\n", - " \" \\\"count_requests = len(logs)\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"print(f\\\\\\\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"print(f\\\\\\\"Total number of requests: {count_requests}\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"print(f\\\\\\\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"print(f\\\\\\\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"print(f\\\\\\\"Average time per CURIE: {sum(map(lambda x: x.time_taken_per_curie_ms, logs))/count_requests} ms\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"print(f\\\\\\\"Average throughput: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"#print(f\\\\\\\"Average throughput per CURIE: {len(logs) / sum(map(lambda x: x.time_taken_ms, logs))} nodes/sec per CURIE\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"#print(f\\\\\\\"Total number of unique CURIEs: {len(set(sum(map(lambda x: x.curies, logs), [])))}\\\\\\\")\\\"\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"id\\\": \\\"702b88dac738feb0\\\",\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"name\\\": \\\"stdout\\\",\\n\",\n", - " \" \\\"output_type\\\": \\\"stream\\\",\\n\",\n", - " \" \\\"text\\\": [\\n\",\n", - " \" \\\"Time range: 2025-06-30 15:19:44.142000 to 2025-07-03 14:01:04.186000 (2 days, 22:41:20.044000)\\\\n\\\",\\n\",\n", - " \" \\\"Total number of requests: 9992\\\\n\\\",\\n\",\n", - " \" \\\"Total number of CURIEs: 1300164\\\\n\\\",\\n\",\n", - " \" \\\"Total time taken: 4278872.9 ms\\\\n\\\",\\n\",\n", - " \" \\\"Average time per CURIE: 5.692698317139622 ms\\\\n\\\",\\n\",\n", - " \" \\\"Average throughput: 0.0023351943919624253 nodes/sec\\\\n\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"execution_count\\\": 55\\n\",\n", - " \" \\\"logs[0:10]\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", - " \" \\\"id\\\": \\\"dfc3b8e7-be80-44a2-b142-943c0c3c2dbb\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"## Visualizing the logs\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"markdown\\\",\\n\",\n", - " \" \\\"id\\\": \\\"9650b40f-4ddf-4157-84c3-cb8dd9466491\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"source\\\": []\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 15,\\n\",\n", - " \" \\\"id\\\": \\\"7a52c4d7-21da-42f5-94cc-e5957ec9bcb6\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"data\\\": {\\n\",\n", - " \" \\\"text/html\\\": [\\n\",\n", - " \" \\\"
\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\" \\\\n\\\",\\n\",\n", - " \" \\\"
timecuriescurie_counttime_taken_mstime_taken_per_curie_msargumentsnodethroughput_cps
02025-06-18 14:23:48-04:00[PMID:17553787]12.102.10{'curies': ['PMID:17553787'], 'conflate_gene_p...476.190476
12025-06-18 14:23:48-04:00[GO:0008285]11.501.50{'curies': ['GO:0008285'], 'conflate_gene_prot...666.666667
22025-06-18 14:23:48-04:00[PMID:16943770]13.213.21{'curies': ['PMID:16943770'], 'conflate_gene_p...311.526480
32025-06-18 14:23:48-04:00[PMID:17553787]11.971.97{'curies': ['PMID:17553787'], 'conflate_gene_p...507.614213
42025-06-18 14:23:48-04:00[KEGG:hsa05200]12.132.13{'curies': ['KEGG:hsa05200'], 'conflate_gene_p...469.483568
\\\\n\\\",\\n\",\n", - " \" \\\"
\\\"\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"text/plain\\\": [\\n\",\n", - " \" \\\" time curies curie_count time_taken_ms \\\\\\\\\\\\n\\\",\\n\",\n", - " \" \\\"0 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 2.10 \\\\n\\\",\\n\",\n", - " \" \\\"1 2025-06-18 14:23:48-04:00 [GO:0008285] 1 1.50 \\\\n\\\",\\n\",\n", - " \" \\\"2 2025-06-18 14:23:48-04:00 [PMID:16943770] 1 3.21 \\\\n\\\",\\n\",\n", - " \" \\\"3 2025-06-18 14:23:48-04:00 [PMID:17553787] 1 1.97 \\\\n\\\",\\n\",\n", - " \" \\\"4 2025-06-18 14:23:48-04:00 [KEGG:hsa05200] 1 2.13 \\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\" time_taken_per_curie_ms arguments \\\\\\\\\\\\n\\\",\\n\",\n", - " \" \\\"0 2.10 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", - " \" \\\"1 1.50 {'curies': ['GO:0008285'], 'conflate_gene_prot... \\\\n\\\",\\n\",\n", - " \" \\\"2 3.21 {'curies': ['PMID:16943770'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", - " \" \\\"3 1.97 {'curies': ['PMID:17553787'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", - " \" \\\"4 2.13 {'curies': ['KEGG:hsa05200'], 'conflate_gene_p... \\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\" node throughput_cps \\\\n\\\",\\n\",\n", - " \" \\\"0 476.190476 \\\\n\\\",\\n\",\n", - " \" \\\"1 666.666667 \\\\n\\\",\\n\",\n", - " \" \\\"2 311.526480 \\\\n\\\",\\n\",\n", - " \" \\\"3 507.614213 \\\\n\\\",\\n\",\n", - " \" \\\"4 469.483568 \\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" \\\"execution_count\\\": 15,\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"output_type\\\": \\\"execute_result\\\"\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"import pandas as pd\\\\n\\\",\\n\",\n", - " \" \\\"import numpy as np\\\\n\\\",\\n\",\n", - " \" \\\"import matplotlib.pyplot as plt\\\\n\\\",\\n\",\n", - " \" \\\"from dataclasses import asdict\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"# Assume `records` is your list of dataclass instances\\\\n\\\",\\n\",\n", - " \" \\\"# Convert to DataFrame\\\\n\\\",\\n\",\n", - " \" \\\"df = pd.DataFrame([asdict(r) for r in logs])\\\\n\\\",\\n\",\n", - " \" \\\"df['time'] = pd.to_datetime(df['time'])\\\\n\\\",\\n\",\n", - " \" \\\"df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"df.head()\\\\n\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 10,\\n\",\n", - " \" \\\"id\\\": \\\"3f0f62a4-fe2f-4e9c-8236-6e93785e1588\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"data\\\": {\\n\",\n", - " \" \\\"image/png\\\": \\\"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVgZJREFUeJzt3QeYlNX5N+CDohQFLBgFIWIBwQ5oLAR7iRpLjF0iGjXF3pLYa+wlGpMYo0lIgrHEQhKT2BJUrFGwoSBYsCtWFgQb7Hc95/vPZnddYFf2ZXZ27/u6ht15d8qZmXeG+b3nnOe0q66urk4AAABAs1uk+W8SAAAACEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjdAAc4444zUrl27hXJfm2++eT6V3HPPPfm+b7rppoVy/wcccEDq06dPaslmzJiRDj744LTCCivk5+boo49eoNubMmVKvp0RI0Y0Wxtp2Uqv+cUXX5zamtjP47E/9thjhd9X3E98fgK0JkI3QCO/cJZOHTt2TD179kzbbbdd+vnPf56mT5/eLPfzxhtv5C+bTzzxRGppWnLbGuPcc8/Nr+MPf/jD9Kc//Sl95zvfmeuBkvmdah/g4Itmz56dfv/73+fnaZlllkkdOnTIB2UOPPDAOqGt9Hy/++67Dd7OWmutVee5LoXe0mmRRRbJt7/99tunhx566AvXb+j24wDR3F7XeF+3xM+bOH3lK19JW2yxRfrXv/61QO+BUaNGpXK5//7782u14oor5uf6q1/9atppp53Sn//857K1CWBhab/Q7gmgwp111llp5ZVXTp999ll66623co9y9Jheeuml6W9/+1taZ511ai57yimnpBNOOKHJwfbMM8/MAWW99dZr9PXuvPPOVLR5te3qq69Oc+bMSS3Zf/7zn7TRRhul008/fa6X2W233dJqq61Wp3c8Qvq3vvWt/LeS5ZdfPq200kpp1qxZabHFFiu87ZUknpN4rm6//fa06aabppNOOikH4wjMN954Y/rDH/6QXnnlldSrV68vfR/77LNP2mGHHXK4nzRpUvrVr36VA+mjjz6a1l577flePw4CXHPNNV/Yvuiii6aW+HlTXV2d3n777RzG43H//e9/T9/85je/VOjefffd06677poWtr/85S9pr732yp8dRx11VFp66aXTSy+9lO677778+bHvvvvW2Yfat/f1FGhdfKoBNFL00qy//vo150888cQc5uIL8M4775wmTJiQOnXqlP8WXxqL/uI4c+bM1Llz57T44ouncqqE4Dl16tS0xhprzPMycdCk9oGT6CGN0B3bhg0b9oXLt5Se0YXp888/zwdY5rbP/ehHP8qB+2c/+9kXhvDHAY/YvqAGDRpU5/UYOnRofm9eeeWVOYDPT7wvG3o9W/rnzUEHHZQP+Fx33XVfKnSXU4w6iPffww8//IV9J96bbf19BbR+hpcDLIAtt9wynXrqqenll19OI0eOnOec7rvuuit9/etfT0sttVRacskl0+qrr557AkP0mm+wwQb59xiGWxpWWpozHMNsY7jt2LFjcw9ihO3SdevP6S6JnsC4TMxjXmKJJfKBgVdffbXOZaLnOobc1lf7NufXtobmdH/00UfpuOOOS7179849i/FYYy5s9NrVFrdz+OGH52Gv8fjismuuuWYObo0RX9hLYSS+rK+77rq5N7X+/PboVfvHP/5R0/boeW3uOd3xPMTrGj25EYri9xhK+8tf/jL//emnn877S7wW0VPe0LDaDz/8MIfV0vMWPe8XXHBBo0YSxGsQ9xsjH6JHMZ6PCDq33HLLl7qf2nOYL7vssrTqqqvmyz777LMN3v9rr72WrrrqqrTNNts0OGc+epKPP/74BerlbkiE7vDCCy+khSUOHsRrGAfZNttsszR+/Piav8XQ+njeHn/88QZ7m+N5eP3115t8n/G5EfdX/2BevD6bbLJJWnbZZfPfBw8e/IV6DtGeeE/Ge6P0Hqj9vo/2xPsops3Eaxw97HHA6dNPP61zO5988kk69thj03LLLZf34xgF8s4778y37fHaxGdIQwdrYuj83OZ0159SUP9U2yOPPJK+8Y1vpG7duuXPx3hdHnjggfm2DWBh0NMNsIBifnCE2wg7hxxySIOXeeaZZ3Igil7TGDYaX2yff/75mi+FAwYMyNtPO+209L3vfa8mSMSX6ZL33nsv937tvffeuacugua8nHPOOfmL6U9+8pMcTiM4bb311nledqlHvjEa07baIlhHwB89enT+Ih8B8I477si9oPHlvn5vZ8z1jGB46KGHpi5duuR58t/+9rdzeI0gMTcxDDUODMTzGME9gkIMY40wEaEyhrFG22MO9zHHHJPDXhwICBEaihAHOuI1igMjF154Ybr22mtz2yKgnHzyyWm//fbLw69//etfp/333z9tvPHGud2lkQsRFOI5+v73v5/nvD744IN5RMWbb76ZX7/5mTx5ch7G+4Mf/CANHz48B8A99tgjH8SIMPxl7idu4+OPP86vfey3MVy8ITHfOHrCG5ovX6TSAZQYstxYDc0jj0DYtWvX+V73j3/8Y67jcNhhh+Xn5fLLL88HU+KgSrwnYwh3/C1e+4EDB9a5bmyLfTYOxszPtGnTcjvj/RTv3yuuuCJPeajfSx/3H++32LciJF9//fX5Nb/tttvSjjvumC8T74EoJPi1r30tv44hDqKUpo7E9njPxN/69++f940I7rGv1A7KRxxxRH6eY9RCPO+xr8T+fcMNN8zzscQBin//+9/5wExTDrrE+zTaXltM74n3c+12xYijeN/FAYdoW8z3j/02XpcxY8bkxwdQVtUAzNPvf//76J6tfvTRR+d6mW7dulUPHDiw5vzpp5+er1Pys5/9LJ9/55135nobcftxmbi/+jbbbLP8t1//+tcN/i1OJaNHj86XXXHFFaurqqpqtt944415++WXX16zbaWVVqoePnz4fG9zXm2L68ftlIwaNSpf9qc//Wmdy+2+++7V7dq1q37++edrtsXlFl988Trbnnzyybz9iiuuqJ6Xyy67LF9u5MiRNds+/fTT6o033rh6ySWXrPPYo3077rhjdVPEaxW3H69lfS+99NIXno94HmLbueeeW7Ptgw8+qO7UqVN+3Ndff33N9okTJ37hts8+++zqJZZYonrSpEl17uuEE06oXnTRRatfeeWVebY3HmPc5s0331yzbdq0adU9evSos2829n5Kj7Fr167VU6dOne/zdcwxx+TLP/7449WNUXqPzO09seaaa9bZB0vtOfPMM/N13nrrreoxY8ZUb7DBBnn7X/7yl/nefuk1aui03XbbzbO9pfuP1/O1116r2f7II4/k7fH4S/bZZ5/qnj17Vs+ePbtm27hx4+b6Hmro86b+qUOHDtUjRoz4wuVnzpxZ53y8B9Zaa63qLbfcss72eM0beq/vv//+1YssskiDn29z5syp06att966ZluIxxz7zIcffjjPx/Tb3/625r2+xRZbVJ966qn5tav9/JTM7T1Xcuihh+b7/M9//lPTxr59++bXr3bb4nlZeeWV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NwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIK0L+qGaX1mz56dxowZk958883Uo0ePNHTo0LTooouWu1kAAAAtlp5uGuWWW25Jq622Wtpiiy3Svvvum3/G+dgOAABAw4Ru5iuC9e67757WXnvt9NBDD6Xp06fnn3E+tgveAAAADWtXXV1dnSpUVVVV6tatW5o2bVrq2rVruZvTaoeUR492BOxRo0alRRb533GaOXPmpF133TWNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpJNOOqlO4A5x/sQTT0wvvfRSvhwAAAB1Cd3MUxRNC2uttVaDfy9tL10OAACA/xG6maeoUh5iCHlDSttLlwMAAOB/hG7mKZYF69OnTzr33HPzHO7a4vx5552XVl555Xw5AAAA6hK6macojnbJJZek2267LRdNq129PM7H9osvvlgRNQAAgAa0b2gj1Lbbbrulm266KR133HFpk002qdkePdyxPf4OAADAF1kyjCYtHxZVyqNoWszhjiHlergBAIC2qKqReVRPN40WAXvzzTcvdzMAAAAqhjndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAWmPoPuOMM1K7du3qnPr371/OJgEAAECzaZ/KbM0110x33313zfn27cveJAAAAGgWZU+4EbJXWGGFcjcDAAAAWt+c7smTJ6eePXumVVZZJe23337plVdemetlP/nkk1RVVVXnBAAAAC1VWUP3hhtumEaMGJFuv/32dOWVV6aXXnopDR06NE2fPr3By5933nmpW7duNafevXsv9DYDAABAY7Wrrq6uTi3Ehx9+mFZaaaV06aWXpoMOOqjBnu44lURPdwTvadOmpa5duy7k1gIAANBWVVVV5c7g+eXRss/prm2ppZZK/fr1S88//3yDf+/QoUM+AQAAQCUo+5zu2mbMmJFeeOGF1KNHj3I3BQAAACo7dB9//PHp3nvvTVOmTEkPPvhg+ta3vpUWXXTRtM8++5SzWQAAANAsyjq8/LXXXssB+7333kvLLbdc+vrXv54efvjh/DsAAABUurKG7uuvv76cdw8AAABtZ043AAAAtCZCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RN0zrM3v27DRmzJj05ptvph49eqShQ4emRRddtNzNAgAAaLH0dNMot9xyS1pttdXSFltskfbdd9/8M87HdgAAABomdDNfEax33333tPbaa6eHHnooTZ8+Pf+M87Fd8AYAAGhYu+rq6upUoaqqqlK3bt3StGnTUteuXcvdnFY7pDx6tCNg33zzzemBBx6oGV4+ZMiQ9O1vfzuNHz8+TZ482VBzAACgzahqZB7V0808xRzuKVOmpE022ST169evzvDyOL/xxhunl156KV8OAACAuoRu5il6tcNJJ53U4PDyk08+uc7lAAAA+B/Vy5mnr3zlK/lnDCUfNWpUWmSR/3+cZqONNsrnN9tss3T//ffXXA4AAID/0dPNAqngkgAAAACFE7qZp6lTp+af0Zu966671hleHuejsFrtywEAAPA/QjfzFFXKw3nnnZeefvrpXFAtKvPFz6hafu6559a5HAAAAP9jTjfzNHTo0NSnT5/04IMPpkmTJjW4ZNjKK6+cLwcAAEBderqZp1h7+5JLLkm33XZbDtgdOnRI3/zmN/PPOB/bL774Ymt0AwAANEBPN/O12267pZtuuikdd9xxeVh5SfRwx/b4OwAAAF/UrrqCy09XVVWlbt26pWnTpuV5xhRr9uzZacyYMTXDy2NIuR5uAACgLapqZB7V002jRcDefPPNy90MAACAimFONwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kXdMOUzc+bMNHHixEJue9asWWnKlCmpT58+qVOnTqko/fv3T507dy7s9gEAABYGobsVisA9ePDgVMnGjh2bBg0aVO5mAAAALBChuxWKXuIIrUWYMGFCGjZsWBo5cmQaMGBAKvIxAAAAVDqhuxWKYdlF9xJH4NYTDQAAUCGF1M4///zUrl27dPTRR5e7KQAAANB6Qvejjz6arrrqqrTOOuuUuykAAADQekL3jBkz0n777ZeuvvrqtPTSS5e7OQAAANB6Qvdhhx2Wdtxxx7T11lvP97KffPJJqqqqqnMCAACAlqqshdSuv/76NG7cuDy8vDHOO++8dOaZZxbeLgAAAKjonu5XX301HXXUUenaa69NHTt2bNR1TjzxxDRt2rSaU9wGAAAAtFRl6+mOdaSnTp1aZ9mp2bNnp/vuuy/94he/yEPJF1100TrX6dChQz4BAABAJShb6N5qq63S008/XWfbgQcemPr3759+8pOffCFwAwAAQKUpW+ju0qVLWmuttepsW2KJJdKyyy77he0AAABQicpevRwAAABaq7JWL6/vnnvuKXcTAAAAoNno6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdo35cIffvhhuvXWW9OYMWPSyy+/nGbOnJmWW265NHDgwLTddtulTTbZpKh2AgAAQOvs6X7jjTfSwQcfnHr06JF++tOfplmzZqX11lsvbbXVVqlXr15p9OjRaZtttklrrLFGuuGGG4pvNQAAALSWnu7oyR4+fHgaO3ZsDtYNiSA+atSodNlll6VXX301HX/88c3dVgAAAGh9ofvZZ59Nyy677Dwv06lTp7TPPvvk03vvvddc7QMAAIDWPbx8foF7QS8PAAAArVGTq5f/4Q9/SP/4xz9qzv/4xz9OSy21VC6iFsXVAAAAgC8Zus8999w8lDw89NBD6Ze//GW68MILU/fu3dMxxxxTRBsBAACg9S8ZFqJI2mqrrZZ/j8Jp3/72t9P3vve9NGTIkLT55psX0UYAAABoGz3dSy65ZE2htDvvvDMvFRY6duyYK5gDAAAAX7KnO0J2rNkdy4hNmjQp7bDDDnn7M888k/r06dPUmwMAAIBWq8k93TGHe+ONN07vvPNOuvnmm2sqlcca3rFcGAAAAPAle7qjUvkvfvGLL2w/88wzm3pTAAAA0Ko1OXSHjz/+OD311FNp6tSpac6cOTXb27Vrl3baaafmbB8AAAC0ndB9++23p+985zs1xdRqi9A9e/bs5mobAAAAtK053UcccUTac88905tvvpl7uWufBG4AAABYgND99ttvp2OPPTYtv/zyTb0qAAAAtClNDt277757uueee4ppDQAAALTlOd1RuXyPPfZIY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqH75JNPzmtyn3DCCWmRRZo8Oh0AAADajCan5k8//TTttddeAjcAAADMR5OT8/Dhw9MNN9zQ1KsBAABAm9Pk4eWxFveFF16Y7rjjjrTOOut8oZDapZde2pztAwAAgLYTup9++uk0cODA/Pv48ePr/K12UTUAAABo65ocukePHl1MSwAAAKCVUQ0NAAAAyhm6f/CDH6TXXnutUTcYRdauvfbaBW0XAAAAtI3h5cstt1xac80105AhQ9JOO+2U1l9//dSzZ8/UsWPH9MEHH6Rnn3023X///en666/P23/zm98U33IAAABoDaH77LPPTocffni65ppr0q9+9ascsmvr0qVL2nrrrXPY/sY3vlFUWwEAAKB1FlJbfvnl08knn5xP0bv9yiuvpFmzZqXu3bunVVddVeVyAAAAWNDq5WHppZfOJwAAAGDuVC8HAACAggjdAAAAUBChGwAAAAoidAMAAEC5Q/fUqVPn+ffPP/88/fe//22ONgEAAEDbCt09evSoE7zXXnvt9Oqrr9acf++999LGG2/c/C0EAACA1h66q6ur65yfMmVK+uyzz+Z5GQAAAGjLmnVOd7t27Zrz5gAAAKCiKaQGAAAABWnflF7s6dOnp44dO+Zh5HF+xowZqaqqKv+99BMAAABoYuiOoN2vX7865wcOHFjnvOHlAAAA8CVC9+jRoxt7UQAAAKApoXuzzTYrtiUAAADQVkN3Y+dsd+3adUHaAwAAAG0vdC+11FLznLNdmtM9e/bs5mobAAAAVDRzugEAAKAg5nQDAABAQRZprhsaN25c+uY3v9lcNwcAAABtK3Tfcccd6fjjj08nnXRSevHFF/O2iRMnpl133TVtsMEGac6cOUW1EwAAAFrv8PLf/va36ZBDDknLLLNM+uCDD9I111yTLr300nTEEUekvfbaK40fPz4NGDCg2NYCAABAa+zpvvzyy9MFF1yQ3n333XTjjTfmn7/61a/S008/nX79618L3AAAAPBlQ/cLL7yQ9thjj/z7brvtltq3b58uuuii1KtXr8beBAAAALQpjQ7ds2bNSp07d86/x3rcHTp0SD169CiybQAAANA25nSHmMe95JJL5t8///zzNGLEiNS9e/c6lznyyCObt4UAAADQ2kP3V7/61XT11VfXnF9hhRXSn/70pzqXiR5woRsAAACaGLqnTJnS2IsCAAAATV2nGwAAACigp/vYY49tcHu3bt1Sv379ckXzKK4GAAAANDF0P/744w1u//DDD9Pzzz+fTj311PSf//wnz/1urCuvvDKfSkPX11xzzXTaaael7bffvtG3AQAAABUfukePHj3Xv1VVVaX99tsvnXDCCenPf/5zo+881vg+//zzU9++fVN1dXX6wx/+kHbZZZcc8COAAwAAQGrrc7q7du2ae7ofeOCBJl1vp512SjvssEMO3TFE/ZxzzslLkj388MPN0SwAAAConHW65yXW637//fe/9PVnz56d/vKXv6SPPvoobbzxxs3VLAAAAKj80B2906uuumqTr/f000/nkP3xxx/nXu5bb701rbHGGg1e9pNPPsmn2sPaAQAAoOJD91NPPdXg9mnTpqWxY8emc889N51++ulNbsDqq6+ennjiiXw7N910Uxo+fHi69957Gwze5513XjrzzDObfB8AAABQDu2qo4JZIyyyyCKpXbt2ueBZQ0PLY0mxn/zkJ/kyC2LrrbfOPeZXXXVVo3q6e/funQN7zCuneOPGjUuDBw/OB1oGDRpU7uYAAACUReTRWEJ7fnm00T3dL730UoPb48aXXnrp1FzmzJlTJ1jXFuuAWwscAACAStHo0L3SSis1+52feOKJeU3uWNt7+vTpebmxe+65J91xxx3Nfl8AAADQYpcMi+HEW2yxRYPFy6I7Pf725JNPNunOp06dmvbff/88r3urrbZKjz76aA7c22yzTZNuBwAAACq6p/uSSy5JW265ZYNj1WMcewTliy66KI0cObLRd/7b3/628S0FAACA1trT/cgjj6Rddtllrn/faaed0oMPPthc7QIAAIC2E7pff/311KVLl7n+PdbYfvPNN5urXQAAANB2Qvdyyy2Xnnvuubn+feLEiXnpMAAAAKCJoTvWzz7nnHMa/Fus3R1/i8sAAAAATSykdsopp6TBgwenDTfcMB133HG54niphzuKrE2aNCmNGDGisTcHAAAArV6jQ/eqq66a7r777nTAAQekvffeO7Vr166ml3uNNdZId911V1pttdWKbCsAAAC0ztAd1l9//TR+/Pj0xBNPpMmTJ+fA3a9fv7TeeusV10IAAABoC6G7JEK2oA0AAADNVEgNAAAAaBqhGwAAAAoidAMAAEBLCN2ff/55Ouuss9Jrr71WVHsAAACgbYbu9u3bp4suuiiHbwAAAKCZh5dvueWW6d57723q1QAAAKDNafKSYdtvv3064YQT0tNPP50GDx6cllhiiTp/33nnnZuzfQAAANB2Qvehhx6af1566aVf+Fu7du3S7Nmzm6dlAAAA0NZC95w5c4ppCQAAALQyC7Rk2Mcff9x8LQEAAIC2Hrpj+PjZZ5+dVlxxxbTkkkumF198MW8/9dRT029/+9si2ggAAABtI3Sfc845acSIEenCCy9Miy++eM32tdZaK11zzTXN3T4AAABoO6H7j3/8Y/rNb36T9ttvv7TooovWbF933XXTxIkTm7t9AAAA0HZC9+uvv55WW221BgusffbZZ83VLgAAAGh7oXuNNdZIY8aM+cL2m266KQ0cOLC52gUAAABtb8mw0047LQ0fPjz3eEfv9i233JKee+65POz8tttuK6aVrdTkyZPT9OnTUyWZMGFCnZ+VpkuXLqlv377lbgYAANBGtKuurq5u6pWip/uss85KTz75ZJoxY0YaNGhQDuPbbrttWpiqqqpSt27d0rRp01LXrl1TpQXufv36lbsZbdKkSZMEbwAAYKHk0Sb3dIehQ4emu+66a0Ha1+aVerhHjhyZBgwYkCrFrFmz0pQpU1KfPn1Sp06dUiWJ3vlhw4ZV3OgCAACgcn2p0B0ee+yxmiHGMc978ODBzdmuNiMCd4wUqCRDhgwpdxMAAABaZ+h+7bXX0j777JMeeOCBtNRSS+VtH374Ydpkk03S9ddfn3r16lVEOwEAAKD1Vy8/+OCD89Jg0cv9/vvv51P8HkXV4m8AAADAl+zpvvfee9ODDz6YVl999Zpt8fsVV1yR53oDAAAAX7Knu3fv3rmnu77Zs2ennj17NvXmAAAAoNVqcui+6KKL0hFHHJELqZXE70cddVS6+OKLm7t9AAAA0HaGlx9wwAFp5syZacMNN0zt2///q3/++ef59+9+97v5VBLzvQEAAKCtanLovuyyy4ppCQAAALT10D18+PBiWgIAAABtfU43AAAA0DhCNwAAABRE6AYAAICCCN0AAADQ0kL3888/n+644440a9asfL66uro52wUAAABtL3S/9957aeutt079+vVLO+ywQ3rzzTfz9oMOOigdd9xxRbQRAAAA2kboPuaYY1L79u3TK6+8kjp37lyzfa+99kq33357c7cPAAAA2s463XfeeWceVt6rV6862/v27Ztefvnl5mwbAAAAtK2e7o8++qhOD3fJ+++/nzp06NBc7QIAAIC219M9dOjQ9Mc//jGdffbZ+Xy7du3SnDlz0oUXXpi22GKLItoI8AUzZ85MEydOLOz2o0jklClTUp8+fVKnTp0KuY/+/fs3eBATAIA2HLojXG+11VbpscceS59++mn68Y9/nJ555pnc0/3AAw8U00qAeiJwDx48OFWysWPHpkGDBpW7GQAAtKTQvdZaa6VJkyalX/ziF6lLly5pxowZabfddkuHHXZY6tGjRzGtBGiglzhCa1EmTJiQhg0blkaOHJkGDBhQ2GMAAKB1a3LoDt26dUsnn3xy87cGoJFiWPbC6CWOwK03GgCAhRq6P/744/TUU0+lqVOn5vncte28885fujEAAADQpkN3rMW9//77p3ffffcLf4uiarNnz26utgEAAEDbWjLsiCOOSHvssUd68803cy937ZPADQAAAAsQut9+++107LHHpuWXX76pVwUAAIA2pcmhe/fdd0/33HNPMa0BAACAtjynO5YKi+HlY8aMSWuvvXZabLHF6vz9yCOPbM72AQAAQNsJ3dddd1268847U8eOHXOPdxRPK4nfhW4AAAD4kqE71uc+88wz0wknnJAWWaTJo9MBAACgzWhyav7000/TXnvtJXADAADAfDQ5OQ8fPjzdcMMNTb0aAAAAtDlNHl4ea3FfeOGF6Y477kjrrLPOFwqpXXrppc3ZPgAAAGg7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p3uh93Rv9ZM1Be6FaObMmfnnuHHjUiWZNWtWmjJlSurTp0/q1KlTqiQTJkwodxOAZiB0A8AC6N69e9rv+8eWuxlQuIkTJ+afhxxySLmb0uZ06dKl3E0AFoDQDQBAo0Z1hBhd0Llz52bv0R02bFiqZCNHjkwDBgwoJHD37du32W8XWHjaVVdXV6cKVVVVlbp165amTZuWunbtWu7mAADwJYeul3rSK3V4eREHI4DWkUeFbgAAACgoj1qnGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQdqnClZdXZ1/VlVVlbspAAAAtCFV/5dDS7m0VYbu6dOn55+9e/cud1MAAABog6ZPn566des217+3q55fLG/B5syZk954443UpUuX1K5du3I3p80czYmDHK+++mrq2rVruZsDhbGv0xbYz2kL7Oe0Ffb1hS+idATunj17pkUWWaR19nTHA+vVq1e5m9EmxRvZm5m2wL5OW2A/py2wn9NW2NcXrnn1cJcopAYAAAAFEboBAACgIEI3TdKhQ4d0+umn55/QmtnXaQvs57QF9nPaCvt6y1XRhdQAAACgJdPTDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdNIm6ewAAUPnmzJlT7ia0GUI38/XRRx+l6dOnp6qqqtSuXbtyNwcK8/7776eJEyemyZMnp08//bTczYEWY+bMmeVuAhTu888/T5999lm5mwGFiu84N998c/59kUUWEbwXEqGbeXr22WfTbrvtljbbbLM0YMCAdO211+bterxpbcaPH5+23nrrtOeee6a11147XXjhhWn27NnlbhaU3dixY9Nqq62WXn755XI3BQr9vrP33nvn/wf23XffdNNNNzn4Sqvz4YcfpvXWWy/tv//+6Te/+U3eJngvHEI38/wPaNNNN01rrrlmOv744/N/RgceeGB64okn9HjT6vb1zTffPG211Vbp+uuvT+ecc0467bTT0htvvFHupkFZPfnkk2mLLbZIu+++e1pppZXK3RworOdvk002SZ06dUrbbbddPsB03nnnpcMOOyzNmjWr3M2DZrPYYoulVVZZJe21117piiuuSFdeeWVN8NahVqx21Z5h5jLMdp999kn9+/dPl19+ec32+PIVvYA///nP85tT+KbSvfvuu+nb3/52GjhwYLrsssvytti3d9hhhxy840vYsssum3r37l3upsJC9dRTT6UhQ4akH/7wh3nkR7wvopckpht95StfSR07dsyX838Ble6ss87KHQq33HJLzTDz+J5z3XXXpb59+6bf/e53Nfs7VLrtt98+7bjjjumll15Kf/vb39IJJ5yQDjrooPweWGONNdLiiy9e7ia2Su3L3QBappjTFF+uoncjxLCTOAq28sor50AefMmiNYj9+Bvf+EbNvh5++tOfpjvuuCO99dZbOZTHaI9TTjklff3rXy9rW2FhiWAdUy169OiRA3f8HxBDbqMHcNy4cflLWxys+s53vuP/Aire1KlT06uvvlpzvn379rmXOw66/uEPf0jnnntuOv3009Oiiy5a1nbCgoiDSbFvd+vWLfXs2TP3dsfn96WXXpo7HZZccsl09913595wn+vNz/ByGrT88sunkSNHpqFDh+bzpbmtK664Yg7ftc2YMaMsbYTmEL3Yhx9+eO7NCDG8PL5cxc9///vfuY5BHGiK36GtiC9mxx13XHr99dfTiSeemHbeeef8Poj3ym9/+9v85SzC+F//+tdyNxW+tNI81pjjGiEjRneUBoB26NAhz3vdeOON0z/+8Y80bdq0MrcWmq72XO34XA8bbrhhGjNmTFpuueXSj3/847zPxxSLmFK6xBJL5PeCgdDNT+hmrkohJN6wcdQrxJswjgiXxJynKMQQR8+gUnXp0qXm9/iC9dhjj+VevmWWWSb/JxRDaaOYFLQV0cM3bNiw9Itf/CJdfPHF6YMPPsgHoPbbb7+8PUZ+LLXUUvmLG1SaUqAodSLEdKKo4XHmmWfmUX6ly0QAiYOwUdtg9OjRZW0zNNULL7yQP8PfeeedOts7d+6cnn766fz7SSedlN577708cumf//xnzTQ7Pd3Nz/By5qtUXKH0Biz9JxXzXWMY7uOPP15z9AwqXRSLKhWMigNOUb02evXWWWedcjcNChWhI5bMiykVcdApgvcee+yRunfvnt8LMSqk9H9B1PuIEVFRhBAqyXPPPZcPIL3yyit5ytBGG22U1lprrTRq1Khct+aII45IF110UZ5aEaJTIT7/4yAsVIoYtbHlllum4cOH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5JJL0kMPPWTViQqgejkAVOAQxCOPPDIPMYxCaYcffng6/vjj87JfEbzriy9kET6efPLJ9MADD+QvddDSvf/++2mfffbJQTp6tEu22GKLtPbaa+cDSCUxJPenP/1pvk4UCIxllSKYQ2vYzyOulQ6o3njjjXk4+VJLLZVHedSu3k/L5fAfAFSY6MGOL1rLLrts2muvvXLQji9hoXbwjjl+06ZNSy+++GJefibWMI4vcVAJYrh41B7Yfffd8/k4yBT7/sorr5yDSogwEqeo8nzBBRfUuRy0lv289gim+OyPCuaxjJjP88ohdANAhYlKzcOHD8/DasOee+6Zg0f0lsTPWKs4Ann8Hl/gbrjhhtSrV688VBEqxfLLL59GjhxZswxSHESKMLLiiivmdYpLYSROUXiqVLegdkCB1rCfl8TB01VXXTX961//qvn8pzII3QBQgUpfuEpf0KLHO0J2VHKO0HH00Ueniy++OE2ZMiV/oYviO1BpSkEkDh7FevMh9vMolFYSFfujcnlMuYhpFEI3rXU/j3oF8dkucFceoRsAKlipUFp8WYsh5hE4vvOd76S//e1vudjaY489JnBT8eLAUu15raXh46eddlqeyx1TJxRNoy3s56qUVyYTXgCgwpWG2MaXtejxHjp0aHrnnXfyF7T6lW+hUpVq/0a47t27dx7JceGFF+YDS+uuu265mwfNwn7eOjkkCACtQITuGGr+ox/9KI0ePTo98cQTiuzQqpR6/WL47dVXX53ncN9///2WS6JVsZ+3Tnq6AaAViWJp48aNy2sWQ2u03Xbb5Z8PPvig5e9oteznrYt1ugGgFak9HxBa81r1iknR2tnPWw+hGwAAAApieDkAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAP9nypQpeY3rJ554IrUUEydOTBtttFHq2LFjWm+99VJbEq/FqFGjUqU64IAD0q677lruZgBQZkI3AC0qpETQOv/88+tsj+AV29ui008/PS2xxBLpueeeS//+97/nerm33norHXHEEWmVVVZJHTp0SL1790477bRTnevMLcTWD4ebb755vmycIuz369cvnXfeeam6unquByhK5xs6Pfzww1/qsb/55ptp++23TwuiT58+Ne1YdNFFU8+ePdNBBx2UPvjggybdTjwnRx999AK1BYC2SegGoEWJkHfBBRc0ORS1ZJ9++umXvu4LL7yQvv71r6eVVlopLbvssg1eJgLv4MGD03/+85900UUXpaeffjrdfvvtaYsttkiHHXbYl7rfQw45JIfeCPsnnnhiOu2009Kvf/3r+V7v7rvvzterfYq2fRkrrLBCPoCwoM4666zcjldeeSVde+216b777ktHHnnkAt8uADSG0A1Ai7L11lvnsBU9q3NzxhlnfGGo9WWXXZZ7Nev33p577rlp+eWXT0sttVQOX59//nn60Y9+lJZZZpnUq1ev9Pvf/77BId2bbLJJPgCw1lprpXvvvbfO38ePH597YJdccsl829/5znfSu+++W6dX9PDDD889o927d0/bbbddg49jzpw5uU3RjgiX8ZgiLJdE7+zYsWPzZeL3eNwNOfTQQ/Pf//vf/6Zvf/vbuWd6zTXXTMcee+yX7mXu3Llzfh0i7B944IFpnXXWSXfdddd8rxcHBuJ6tU+LLbZY/tuTTz6ZDwR06dIlde3aNYfxxx57bK63VbtnvtSTfsstt+TbiPatu+666aGHHppvm+L+oh0rrrhivu7w4cPTuHHjav7+3nvvpX322Sf/PW537bXXTtddd12dfSn2gcsvv7ym1zzaE5555pn0zW9+Mz+euJ+hQ4fmAyW1XXzxxalHjx75uYmDIJ999tl82wxA6yF0A9CixBDgCMpXXHFFeu211xbotqLn94033sg9m5deemkeqh0Baemll06PPPJI+sEPfpC+//3vf+F+IpQfd9xx6fHHH08bb7xxHqYdwSx8+OGHacstt0wDBw7MgTFC8ttvv5323HPPOrfxhz/8IS2++OLpgQcemGsPcYS4Sy65JIeyp556KofznXfeOU2ePDn/PXpnIzxHW+L3448//gu38f777+c2RJiLYej1xcGGBRFDyseMGZMPRMTjWRD77bdfPsDw6KOP5oMJJ5xwQk0gb6yTTz45Pw8xrD0OLkRYjgMpjfX666+nv//972nDDTes2fbxxx/nAwD/+Mc/8gGV733ve/lAShzEKL1OsR+Uev/jFMP347Y23XTTfMAk9rV4TN/97nfrtGf06NE5hMfP2CdGjBiRTwC0IdUA0EIMHz68epdddsm/b7TRRtXf/e538++33nprTCauudzpp59eve6669a57s9+9rPqlVZaqc5txfnZs2fXbFt99dWrhw4dWnP+888/r15iiSWqr7vuunz+pZdeyvdz/vnn11zms88+q+7Vq1f1BRdckM+fffbZ1dtuu22d+3711Vfz9Z577rl8frPNNqseOHDgfB9vz549q88555w62zbYYIPqQw89tOZ8PM54vHPzyCOP5Pu+5ZZb5nt/cbl4Luf1vJfav9hii+XnJn7G9Tp27Fj9wAMP1Fym9Fw9/vjjdc536tQpX6/2qaRLly7VI0aMmG87G2pv6favueaamr8/88wzeduECRPmehuxDyy++OK5HfEY4vIbbrhh9QcffDDP+95xxx2rjzvuuDrPyVFHHVXnMieeeGL1yiuvXP3pp582eBulfTD2s5I99tijeq+99mrEowegtdDTDUCLFPO6o2dwwoQJX/o2opd4kUX+919dDAWPocO1e9VjyO/UqVPrXC96NUvat2+f1l9//Zp2xBDp6LWMoeWlU//+/fPfag8rnt885qqqqtwLP2TIkDrb43xTHnPt4mbNKXqlozc5eupjKH30MMeQ+/m54YYb8vVqn0piuPvBBx+cpxBEsbz6w7AbI4a5l8SQ7VD/9asvRi5EO2I0Qamw3I477phmz56df4+fZ599dt43YtpBvKZ33HFHngM+L3GbMZx8Xr31sQ/Gfla7zfNrLwCtS/tyNwAAGhLDdmO4dRTxijm1tUWQrh82G5onWz8MxVzchrbF3OrGmjFjRh5uHgcF6iuFwNDQUO8i9O3bNz+GGP49PzHneNq0aV/YHkPmu3XrVmdbnF9ttdXy7zfeeGP+PZYui8A8LzHsunS9+mJO+r777puHcf/rX//Kw/2vv/769K1vfSs1Vu3Xr1TRfn6vX8yrL7Upnq+Y/x8HVuLgSTyeKD4XQ8hjewTveO1iPv78CuB16tSpSe39MvsbAJVPTzcALVb0hsb82/rFspZbbrm8RFbt4N2ca2vXLj4W83Njru6AAQPy+UGDBuXiWVG0LYJc7VNTgnYU3orlq6InubY4v8YaazT6dqJnNg5O/PKXv0wfffRRg4G6ZPXVV8+Ppbbo5Y3e+5gfPTfR83vUUUfludQL2rMe93PMMcekO++8M+22224NFrIrWqnnedasWTXP+S677JKGDRuWi7PFsmuTJk2qc52Yz17qGa/d6x7z3RVGA2BehG4AWqzodYxhzj//+c/rbI/q4O+880668MIL8xDlCJzRc9pc4vZuvfXW3HscBcpi+bIokBXifBQviwJeURAs7j+GIkeF7/qhbH5i2HP0mMeQ7FiaKwqLxcGDCLhNbW/c99e+9rV0880350JsMUQ9nrfaQ+VjePc111yTfvWrX+XLxH1F0bB4fDHse16i4FwE0bj9eYmCc3FApPYpCpVFwI2K7vfcc096+eWXc9CN5690MKNI06dPz+2IAmhRHC2e9zhwUxouH73fUZn9wQcfzM9bPNYojldbHGSJ4ntRtTwq1UdvdTyemCaw995756J68Zz+6U9/yq8lAJQI3QC0aLFcVv3huBHUIjhG2IyeyQhSDVX2XpAe9jjFbd9///3pb3/7Wx6iHEq90xFyt91223xgIIYiR5Xw2vPHGyPWio4gHNXJ43aiCnncV4TApoie2VgCK5bDituKZc622WabPH/5yiuvrLlcHCiI0P273/0uzzn/xje+kcNoVHeP+e7z61Hff//98xDxeQ2PjuHaMcy+9imW/Yre5QjkcRvR2x3V3mOu+JlnnpmKFmuMRzvitYvq9TEiIXraS+uen3LKKXkEQ4wYiAM6sbxYLDdXW+xf8RhiFEIE9pjvHdePquUx5WCzzTbLz+nVV1/d5IrsALRu7aKaWrkbAQAAAK2Rnm4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAApGL8P2DPln7ItiwOAAAAAElFTkSuQmCC\\\",\\n\",\n", - " \" \\\"text/plain\\\": [\\n\",\n", - " \" \\\"
\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"# Graph 1. CURIE count vs time taken.\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", - " \" \\\"# 2) Group by batch size\\\\n\\\",\\n\",\n", - " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", - " \" \\\"groups = [grp['time_taken_per_curie_ms'].values\\\\n\\\",\\n\",\n", - " \" \\\" for _, grp in df.groupby('curie_count')]\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"labels = [str(size) for size, _ in df.groupby('curie_count')]\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"del groups[0]\\\\n\\\",\\n\",\n", - " \" \\\"del labels[0]\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", - " \" \\\"# 3) Boxplot of per‑CURIE time by batch size\\\\n\\\",\\n\",\n", - " \" \\\"# —————————————————————\\\\n\\\",\\n\",\n", - " \" \\\"plt.figure(figsize=(10,6))\\\\n\\\",\\n\",\n", - " \" \\\"plt.boxplot(groups, tick_labels=labels, showfliers=True)\\\\n\\\",\\n\",\n", - " \" \\\"plt.xlabel(\\\\\\\"Number of CURIEs in Batch\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.title(\\\\\\\"Distribution of Time per CURIE by Batch Size\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.xticks(rotation=45)\\\\n\\\",\\n\",\n", - " \" \\\"plt.tight_layout()\\\\n\\\",\\n\",\n", - " \" \\\"plt.show()\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 16,\\n\",\n", - " \" \\\"id\\\": \\\"ebb8cd6e-4162-4ba5-b66e-27b7aa9076b4\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"data\\\": {\\n\",\n", - " \" \\\"image/png\\\": \\\"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nz7dLJkEIOcI3QAAAICNUlMd8vepONlx5Jw518t5oUuXLnL48GHZt2+f/PTTT9KuXTt55JFH5Oabb5bk5OQ8KQMAQjcAAABgm93HzsvUpXvkzQV/yNuLdplzvazb7RYVFSXly5eXSpUqyZVXXilPPfWUfPvttyaAawu2mjBhgjRs2FCKFCkiVapUkYceesisUa2WLl0q/fv3l7NnzzpbzV944QVz3ccffyzNmzeXokWLmse4++67nesZA3BH6AYAAABsoMF62sp9suXQWSleOEJqlo4x53pZt+dF8E7rhhtukMaNG8vXX39tLus61G+//bZs3bpVZsyYIYsXL5YnnnjCXHfNNdfIxIkTpVixYqbFXE8jRoxwLp/00ksvye+//y7ffPONaU3XLu0A0gv3sA1+RrsgHTwdb/7W86qlwyU0lKUrAAAA/Pn327wtR+XUxUS5rGyMc9mhotEREhMVLruOXZD5W4+aIJ7Xv+vq1asnmzZtMn8/+uijzu3Vq1eXl19+WQYOHChTpkyRyMhIiY2NNWXX1mxX9913n/PvmjVrmuDeokUL00oeExOTh88G8H+0dBeQLkmTl+w2l/U8r7okAQAAIGcOnomXPccvSIXY6HTr/Opl3b772AWzX15zOBzOMi1cuFDat29vuqBrV/F77rlHTp48KXFxcZnex/r166Vbt25StWpVc7vrr7/ebN+/f3+ePAegICF0F5AuSbGFIsw2Pc/PLkkAAADI2sXEZElITpHCkZ47lhaKDJNLySlmv7y2fft2qVGjhukSrpOqNWrUSL766isTpCdPnmz2SUxMzPD2Fy9elM6dO5tu55988omsXbtWZs+eneXtgGBF9/IC0iUpVFJF4kViosPlsujIfO2SBAAAgMwViQyX6PAwiUtMNl3K04pPTJGo8DCzX17SMdubN2+WYcOGmZCty4e98cYbZmy3+vzzz9321y7mKSkpbtt27NhhWsNfe+01M/maWrduXR4+C6BgoaXbT/lzlyQAAABkrlLxQlKrTIwcPptgunO70su6vXbZGLOfXS5duiRHjhyRgwcPym+//SavvvqqdO/e3bRu33vvvVK7dm0zIdqkSZPkzz//NDOSv/vuu273oeO8dZz2okWL5MSJE6bbuXYp1zBu3e67774zk6oB8IzQ7af8uUsSAAAAMqc9ETs3KCcli/zTQ/F8QpIkp6aac72s2ztdUc7WHotz586VChUqmOCsa3YvWbLETHimy4aFhYWZWcx1ybDXX39dGjRoYLqKjxkzxu0+dAZznVitV69eUqZMGRk7dqw51yXHvvjiC6lfv75p8R4/frxtzwMo6Ohe7qeK+GmXJAAAAHindtmi0r91dTNkUHswHj2XYH6/NawUawK3Xm8XDcXWWtyZ0W7menKlk6m5mjp1qjm56t27tzm5StuiD+AfJDY/75Kkk6bpshIhHrok6Re2nV2SAAAAkDsarGu2jTFDArWHYpHIcPP7jTl5gOBB6PbzLkmHzsabLkiVikWa7RcSkuXgucQ86ZIEAACA3NPfa1VKFs7vYgDIJ4zpLgBdkhpUjJWz8Ulmm55rC7dut7NLEgAAAAAg92jpLiBdkvafOC+/r/5bBrerLVVLF6WFGwAAAAAKAFq6CwAN2JVK/DN2W88J3AAAAABQMBC6AQAAAACwCaEbAAAAAACbELoBAAAAALAJoRsAAAAAAJsQugEAAAD4vX379klISIhs3Lgxv4sCZAuhGwAAAAgg/fr1M+FUTxEREVKjRg154oknJCEhQQqyKlWqyOHDh6VBgwYSrJYuXSpXXnmlREVFSe3atWX69OlZ3mbTpk1y3XXXSXR0tHkNx44dm26fL774QurVq2f2adiwocyZM0fy0++//y69e/c25S1UqJBcfvnl8tZbb2X52lj1Pu1p7dq1Zp+dO3dKu3btpFy5cua51qxZU5555hlJSkqy9fkQugEAAIAA06VLFxNQ//zzT3nzzTflP//5jzz//PO2PmZKSoqkpqbadv9hYWFSvnx5CQ8Pl2C0d+9e6dq1qwmN2tr/6KOPygMPPCDz5s3L8Dbnzp2TTp06SbVq1WT9+vUybtw4eeGFF+S9995z7rNq1SoTcO+//37ZsGGD3Hrrrea0ZcsWn5V96dKlUr16da/317KWLVtW/ve//8nWrVvl6aefllGjRsk777yT4W2uueYaU+ddT/r66EGn5s2bm330INS9994r8+fPNwF84sSJ8v7779v+2SB0AwAAAAFGW0I1oGpLoQaoDh06yIIFC5zXazgeM2aMCSTakti4cWP58ssv3e7ju+++k8suu8y0CGrQmzFjhmk1PHPmjLleW1mLFy9u9qtfv755zP3798ulS5dkxIgRUqlSJSlSpIi0bNnShC7LX3/9Jd26dZMSJUqY66+44gpny+rp06elT58+UqZMGVMuffxp06Zl2L182bJlctVVV5nHrlChgowcOVKSk5Od17dt21Yefvhh09JfsmRJ85po6MyO++67T26++Wa3bdoyqqHwww8/lLzy7rvvmvfrjTfeMC2/Q4YMkdtvv90cVMnIJ598IomJifLf//7XvM533XWXeT0mTJjg3EdbkPUgzeOPP27u96WXXjKt6VbA3bFjhxQuXFhmzpzpvM3nn39u3p9t27bZ8lzvu+8+U67rr7/etEb/61//kv79+8vXX3+d4W0iIyPN+2udSpUqJd9++625ndYbpfell7W+64GIW265xdS3n3/+WexE6AYAAAACmLZYamumhhKLBu6PPvrIBDltSRw2bJgJNhpirVZVDXQa2LWr77///W/T2phWXFycvP766/LBBx+Y+9EgqmFw9erV8tlnn5muzXfccYcJdbt27TK3GTx4sAnmy5cvl82bN5vbx8TEmOueffZZE+R++ukn2b59u0ydOlVKly7t8XkdPHhQbrrpJmnRooUpo+6rIfjll192208PFmi4X7Nmjela/eKLL7odgNDu+BrOM6KtpXPnzjUtp5YffvjBPPdevXp5vI0efNDnlNnp1VdflezQ11QPnrjq3Lmz2Z7Zbdq0aeP23utttJVXD3B4c7/a7Xz8+PHy0EMPmed14MABGThwoHnf9GBLXjl79qw5cOItPRh08uRJE7Izsnv3bvPeari3U3D2zQAAAAByQrupHjmS949bvrzIunVe766hUIOdtvpqwA0NDXW2XOplDXwLFy6UVq1aOVsAV6xYYbqhawDR87p165ruyEr/1vD+yiuvpGvxnTJlimk5VBrKtGVazytWrGi2aau3Bhvdro+r1/Xs2dOMHbYe26LXNW3a1NkdOLMuyfq42pKvz0tbMjUcHjp0SJ588kl57rnnzHNWjRo1cnYf1pZz3X/RokXSsWNHs01byDPrFq/dlvX5f/zxx6bFXOlz0YMJ1sGCtPS5ZzXhW3YCpDpy5IgZi+xKL2sX8vj4eNPy7Ok22jqe9jbWddrbIKP71e0WDdzaG0EPzGiA1wMdQ4cOlbyyatUqmTVrlvz4449e30YPwOjBg8qVK3t8T3/77TfzWRgwYIA5EGMnQjcAAADgLQ0iBw+Kv9Pu4Nrye/HiRdP9WMdBa9C1Wve0ldYKnRbt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61Qozz33nFSoUEEKFSokHTp0kF27drntc+rUKenTp49Z37V48eJy//33y4ULF9z22bRpk1x33XXme71KlSoyduzYdGX54osvzGdJ92nYsKHMmTPHpmeNYJBV3e7Xr1+67/IuXbq47UPdhj8aM2aMtGjRQooWLWp+Q9x6662yc+dOt33y8rcIv9uRFqG7AJg1a5YMHz7czKL422+/SePGjaVz585y7Nix/C4a4HTFFVfI4cOHnacVK1Y4rxs2bJh8//335kfWsmXL5NChQ9KjRw/n9SkpKeYfucTERFm1apXMmDHD/COmwcayd+9es0+7du1k48aN8uijj8oDDzwg8+bNy/PnisB28eJF8z2rP5o80QDx9ttvy7vvvitr1qyRIkWKmO9k/UFn0VCydetWWbBggfzwww8m7AwYMMB5/blz56RTp05SrVo1Wb9+vYwbN84cvHrvvfec++hnoXfv3ibUbNiwwfyI1NOWLVtsfgUQrHVbach2/S7/9NNP3a6nbsMf6W8LDdS//PKLqZtJSUmmHmqdz+vfIvxuh0c6ezn821VXXeUYPHiw83JKSoqjYsWKjjFjxuRruQDL888/72jcuLHH686cOeOIiIhwfPHFF85t27dv11UTHKtXrzaX58yZ4wgNDXUcOXLEuc/UqVMdxYoVc1y6dMlcfuKJJxxXXHGF23336tXL0blzZ5ueFWBW93DMnj3beTk1NdVRvnx5x7hx49zqeFRUlOPTTz81l7dt22Zut3btWuc+P/30kyMkJMRx8OBBc3nKlCmOEiVKOOu3evLJJx1169Z1Xr7zzjsdXbt2dStPy5YtHf/+979terYI5rqt+vbt6+jevXuGt6Fuo6A4duyYqavLli3L898i/G6HJ7R0+zk92qZHirX7oiU0NNRcXr16db6WDXCl3Wu1y2LNmjVNS4h20VJaf/WIs2sd1i6FVatWddZhPdfuheXKlXPuo0eFtcVEW1SsfVzvw9qHzwHykrZyHDlyxK0uxsbGmu6DrvVZu902b97cuY/ur9/d2jJu7dOmTRuJjIx0q8/aHfL06dPOfajzyGvadVa71datW1cGDRokJ0+edF5H3UZBcfbsWXNesmTJPP0twu92ZITQ7edOnDhhuru4fgEovaw//AB/oIFDu2DNnTtXpk6daoKJjuc7f/68qaf640t/qGVUh/XcUx23rsts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mAMMa9euNQcTRo4c6QzkAADkBqEbAIBsuO2220yrr4bk3NDW7Lffflvq1q0r9913nzmPi4uTp556Si677DIZNWqUCZIrVqxwu522UmuL8eWXXy5Tp06V2NhY+fDDD81177zzjgncemCgXr165u///ve/smTJEvnjjz+c96H3P3bsWPOYevJEw/aTTz4pd911l9lHu9Xr89ZWe6WtxOHh4aZFXf/W87R2795tgrGWxZemTJliHk9b4Nu0aWNa5R9++OEsb6c9BPR2rifL/v37TU8GLau+PnfccYc0btzYp+UGAAQnxnQDAJBNGkC1RdlT6663tJU4NPT/H/vWruDaXdy1VV27Qx87dsztdtq6bdHQ27x5c9m+fbuzi7QGbE8BWMdfa9dupV2nM3Pu3DnTCq9jsV3pZX0Mb7lObuZL2ir99NNPy+nTp83BDw3TesrKrFmzzMEKT7S7+wMPPCAff/yxCd8aumvVqmVD6QEAwYbQDQBANmnrqna31tZoHZ/tSoN02rCpE4ellbbrso579rRNW3G9deHCBdPdXA8KpFWhQgXn3566ettBW4z1OXgzWZqOpT579my67dplXlvzXenl2rVrm78///xz87cuXaZhOTM6a7p1u7R0TPrdd98tP/74o/z0008mzH/22WemZwMAALlB93IAAHJAlw77/vvvZfXq1W7by5QpY5bIcg3evlxb23XyMZ14TccfW623V155pWzdutVM2qbh0vWUnaCtE4lVrFjRjPl2pZfr16+frS70enBi8uTJcvHiRY+B2qJd2PW5uEpJSTEt61YLvSfaqv/II4+YXge5bVnXxxk2bJjMnz9fevTo4XEiOwAAsovQDQBADujSV9rNWcdlu9LZwY8fP27GTGuXbg2c2nLqK3p/s2fPNq3HOkGZdrHWMeFKL+vkZb179zYTgunj69JcOsO3Btjs0AnbtMVcu2TrOtw6sZgePNCAm93y6mNfddVV8tVXX5mJ2LQ7vL5url3ltXv3Bx98YMZr6z76WLoUmD4/7fadGZ1wTses6/1nRiec0wMirqeEhASJj483Y+WXLl0qf/31lzm4oK9fRl3RAQDIDkI3AAA5pMtlpe3+rUFNg6OGTZ2IS5fKys3Yb08t7HrS+9ZJ1r777juz9JeyWqc15Hbq1MkcGNClwXSWcNfx497Qick0COvs5Ho/Ogu5PpZ2Gc+OmjVrym+//WaW49L70nHrHTt2lEWLFpmJ4Cx6oEBDt078pmPOu3TpYkKxzu6u492zalG/9957TRfxzLrja/dz7Wbvevrmm2/M+HkN5Hof2tqts73rsmujR4/O1nMFAMCTEIdds5wAAAAAABDkaOkGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAADEHv8P6fnUPcvp0uQAAAAASUVORK5CYII=\\\",\\n\",\n", - " \" \\\"text/plain\\\": [\\n\",\n", - " \" \\\"
\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"# Scatter plot\\\\n\\\",\\n\",\n", - " \" \\\"plt.figure(figsize=(10,6))\\\\n\\\",\\n\",\n", - " \" \\\"plt.scatter(df['curie_count'], df['time_taken_per_curie_ms'], alpha=0.5, label='Data')\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"# Fit a linear regression line\\\\n\\\",\\n\",\n", - " \" \\\"m, b = np.polyfit(df['curie_count'], df['time_taken_per_curie_ms'], 1)\\\\n\\\",\\n\",\n", - " \" \\\"x = np.linspace(df['curie_count'].min(), df['curie_count'].max(), 100)\\\\n\\\",\\n\",\n", - " \" \\\"plt.plot(x, m*x + b, color='red', linewidth=2, label=f'Regression: y = {m:.2f}x + {b:.2f}')\\\\n\\\",\\n\",\n", - " \" \\\"\\\\n\\\",\\n\",\n", - " \" \\\"# Labels and title\\\\n\\\",\\n\",\n", - " \" \\\"plt.xlabel(\\\\\\\"Number of CURIEs\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.title(\\\\\\\"Time per CURIE vs. CURIE Count with Regression Line\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.legend()\\\\n\\\",\\n\",\n", - " \" \\\"plt.grid(True)\\\\n\\\",\\n\",\n", - " \" \\\"plt.tight_layout()\\\\n\\\",\\n\",\n", - " \" \\\"plt.show()\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 32,\\n\",\n", - " \" \\\"id\\\": \\\"2ca9ccd5-7f93-4f0c-b41f-19c7a863178e\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"data\\\": {\\n\",\n", - " \" \\\"image/png\\\": \\\"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ZPjw4Soy1W6olSIiIqLQZYugCUXh7du3F7QkornNCvr3768yX9rt2LFjwV4kIiIiCqBMYpOACXVMy5Ytc2lvLFKkiJw5c8Zl+ri4ONWjDq9p00RGRrpMoz1ObhrtdU/Cw8PVjYiIiNKHDHYImA4cOCBLliyRAgUKuLxev359iYqKUr3iNAisEhISpF69es5p0KMO89Kgp12lSpUkX758zmmWLl3qMm9Mg+eJiIiIgh40YTylrVu3qhtERESov48ePaqCnCeeeEI2btwoP/74o8THx6saI9xu3ryppq9SpYq0atVKXnjhBVm/fr38888/8uqrr0qHDh1Uzzno1KmTKgLHcAIYmmD69OkyduxY6du3r3M5evXqpXrdjR49WvWow5AEeF/Mi4iIiEhxBNHy5csx3EGSW9euXR0REREeX8MN/09z/vx5R8eOHR05c+Z05M6d29GtWzfH5cuXXd5n27ZtjoYNGzrCw8MdxYsXd4wYMSLJssyYMcNRsWJFR5YsWRzVqlVzzJ0716/PcunSJbVsuDfTPwfOOkr3m6NuREREZC5/jt+WGafJ7jhOExERkf2E7DhNRERERMHCoMnimAYkIiKyBgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJovjKFpERETWwKCJiIiIyAAGTUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjIAAZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDRZnEMcwV4EIiIiYtBEREREZAyDJiIiIiIDGDQRERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKDJ4hy89BwREZElMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImIiIjI6kHTihUr5JFHHpFixYpJWFiYzJ492+V1h8MhgwYNkqJFi0q2bNmkefPmcuDAAZdpLly4IJ07d5bcuXNL3rx5pXv37nLlyhWXabZv3y6NGjWSrFmzSsmSJWXkyJFJlmXmzJlSuXJlNU316tVl3rx5AfrUREREZEdBDZquXr0qNWvWlPHjx3t8HcHNZ599JhMnTpR169ZJjhw5pGXLlnLjxg3nNAiYdu3aJYsXL5Y5c+aoQKxHjx7O16Ojo6VFixZSunRp2bRpk4waNUqGDBkiX331lXOa1atXS8eOHVXAtWXLFmnTpo267dy5M8BrgIiIiGzDYRFYlFmzZjkfJyQkOIoUKeIYNWqU87moqChHeHi4Y9q0aerx7t271f/bsGGDc5r58+c7wsLCHCdOnFCPJ0yY4MiXL58jJibGOU2/fv0clSpVcj5u3769o3Xr1i7LU69ePceLL75oePkvXbqklgX3Zvpr3xlH6X5z1I2IiIjM5c/x27I1TREREXL69GnVJKfJkyeP1KtXT9asWaMe4x5NcnXr1nVOg+kzZMigMlPaNI0bN5YsWbI4p0G2at++fXLx4kXnNPr30abR3seTmJgYlcXS34iIiCh0WTZoQsAEhQsXdnkej7XXcF+oUCGX1zNlyiT58+d3mcbTPPTv4W0a7XVPhg8froI47YZaKSIiIgpdlg2arK5///5y6dIl5+3YsWPBXiQiIiJKj0FTkSJF1H1kZKTL83isvYb7M2fOuLweFxenetTpp/E0D/17eJtGe92T8PBw1WNPfyMiIqLQZdmgqWzZsipoWbp0qfM51A2hVql+/frqMe6joqJUrzjNsmXLJCEhQdU+adOgR11sbKxzGvS0q1SpkuTLl885jf59tGm09yEiIiIKatCE8ZS2bt2qblrxN/4+evSoGrepd+/e8sEHH8gff/whO3bskC5duqgxnTAcAFSpUkVatWolL7zwgqxfv17++ecfefXVV6VDhw5qOujUqZMqAsdwAhiaYPr06TJ27Fjp27evczl69eolCxYskNGjR8vevXvVkAQbN25U8yIiIiJSHEG0fPly1c3P/da1a1fnsAMDBw50FC5cWA010KxZM8e+fftc5nH+/HlHx44dHTlz5nTkzp3b0a1bN8fly5ddptm2bZujYcOGah7Fixd3jBgxIsmyzJgxw1GxYkVHlixZHNWqVXPMnTvXr8/CIQeIiIjsx5/jdxj+YfyYemg6RC86FIWbWd/09/6z0vXb9ervwyNamzZfIiIiEr+O35ataSIiIiKyEgZNRERERAYwaCIiIiIygEETERERkQEMmoiIiIgMYNBEREREZACDJiIiIiIDGDQRERERGcCgiYiIiCjQQVNMTExq/jsZwAHbiYiIbBg0zZ8/X7p27SrlypWTzJkzS/bs2dWQ4/fdd598+OGHcvLkycAtKREREZHVg6ZZs2ZJxYoV5bnnnpNMmTJJv3795LfffpOFCxfKpEmTVNC0ZMkSFUy99NJLcvbs2cAvOREREVEaymRkopEjR8qYMWPkwQcflAwZksZZ7du3V/cnTpyQzz//XH744Qfp06eP+UtLREREZOWgac2aNYZmVrx4cRkxYkRql4l0WNFERERkDew9R0RERBSIoKldu3by0UcfeWzCe/LJJ/2dHREREVFoBk0rVqyQhx56KMnzqHfCa0REREShyO+g6cqVK5IlS5Ykz2MIgujoaLOWi4iIiMjeQVP16tVl+vTpSZ7/+eefpWrVqmYtFxEREZH9es/pDRw4UNq2bSv//vuvNG3aVD23dOlSmTZtmsycOTMQy0hERERkv6DpkUcekdmzZ8uwYcPkl19+kWzZskmNGjXU4JYY5JKIiIgoFPkdNEHr1q3VjYiIiCi9SNE4TVFRUeryKe+8845cuHBBPbd582Y1IjgRERFRKPI707R9+3Zp3ry55MmTRw4fPizPP/+85M+fX12L7ujRo/Ldd98FZkmJiIiI7JRp6tu3rzz77LNy4MAByZo1q/N5jN3EcZqIiIgoVPkdNG3YsEFefPFFj9edO336tFnLRURERGTvoCk8PNzjIJb79++X2267zazlIiIiIrJ30PToo4/K0KFDJTY2Vj0OCwtTtUz9+vVT16UjIiIiCkV+B02jR49Wl1IpVKiQXL9+XY3NVKFCBcmVK5d8+OGHgVlKIiIiIrv1nkOvucWLF8s///wj27ZtUwFUnTp1VI86IiIiolCVosEtoUGDBuqmjdtEREREFMr8bp776KOPXC7Y2759eylQoIDqPYfMExEREVEo8jtomjhxopQsWVL9jWY63ObPny8PPvigvPnmm4FYRiIiIiL7Nc9hLCYtaJozZ47KNLVo0ULKlCkj9erVC8QyEhEREdkv05QvXz45duyY+nvBggXOAnCHwyHx8fHmLyERERGRHTNNbdu2lU6dOsntt98u58+fV81ysGXLFjX0AJnMEewFICIiohQFTWPGjFFNccg2jRw5UnLmzKmeP3XqlLzyyitcq0RERJS+g6ZBgwbJY489Jnfeeaf873//S/J6nz59zF42UokmppqIiIhsVdN0/Phx1RRXokQJefnll1U9082bNwO7dERERER2C5q+/fZb1XNu2rRp6pIpvXr1koIFC6rrzX333Xdy4cKFwC4pERERkV16z2XIkEEaNWqkapn27dsn69atU8MMfPnll1KsWDFp3LixfPzxx3LixInALTERERGRHYYc0KtSpYq89dZb6jp0KAzv2rWrrFy5UmWjiIiIiEJJiq89p4mOjpZly5ZJ5cqVpXv37upGREREJOk904QRwMeNG6f+vn79utStW1c9V716dfn1119NXTgMljlw4EApW7asZMuWTcqXLy/vv/++GkhTg7/Rs69o0aJqGgy2eeDAAZf5oN6qc+fOkjt3bsmbN68K7K5cueIyzfbt21XTY9asWdWI52iCJCIiIkpx0LRixQoVXMCsWbNU0BIVFSWfffaZfPDBB2ImXBz4iy++UEHanj171GMEM59//rlzGjzGe+OaeKixypEjh7Rs2VJu3LjhnAYB065du9R18nDpF3yGHj16uGTLcCmY0qVLy6ZNm2TUqFEyZMgQ+eqrr0z9PERERGRjDj9lzZrVcfToUfX3M8884+jXr5/6+8iRI44cOXI4zNS6dWvHc8895/Jc27ZtHZ07d1Z/JyQkOIoUKeIYNWqU8/WoqChHeHi4Y9q0aerx7t27kZZybNiwwTnN/PnzHWFhYY4TJ06oxxMmTHDky5fPERMT45wGn6tSpUqGl/XSpUvqfXBvpqV7TjtK95ujbkRERGQuf47ffmea0HS1Zs0auXr1qhqrCRkauHjxomraMtO9994rS5culf3796vH27Ztk1WrVjkv3RIREaGGQdCufwd58uRRPfqwjIB7NMmhGVGD6dETEJkpbRr0/MuSJYtzGmSr0EMQn8uTmJgYlaHS34iIiCh0+V0I3rt3b9XchcunoDmrSZMm6nk0eaGuyUxvv/22CkZQZJ4xY0ZV4/Thhx+q9wcETFC4cGGX/4fH2mu4L1SokMvrmTJlkvz587tMg7op93lor+Eixe6GDx8u7733nqmfl4iIiEIoaML15ZDJOXr0qDzwwAMqYwPlypUzvaZpxowZ8uOPP8pPP/0k1apVk61bt6qgDWNCYXiDYOrfv7/07dvX+RjBHbJwREREFJpSNOQArj+Hm17r1q3FbG+++abKNnXo0EE9RibryJEjKsuDoKlIkSLq+cjISNV7ToPHtWrVUn9jmjNnzrjMNy4uTvWo0/4/7vF/9LTH2jTuwsPD1Y2IiIjSB8M1TVWrVnW5VAoyTufOnXM+RmCSPXt2Uxfu2rVrzkyWBs10CQkJ6m80qSGoQd2TPuODWqX69eurx7hH7z70itNgXCnMAxkzbRo0L8bGxjqnQU+7SpUqeWyaIyIiovTHcNC0d+9elaHR/PDDDy7Fzxh6QN/N3wyPPPKIqmGaO3euHD58WA1x8Mknn8jjjz+uXg8LC1PNdWgW/OOPP2THjh3SpUsX1XzXpk0b56jlrVq1khdeeEHWr1+vRi9/9dVXVfYK00GnTp1UETjGb8LQBNOnT5exY8e6NL8RERFR+pbiEcH1A0xqEMSYCeMxYXBLZLWQyUKQ8+KLL6rBLDW4jAt68mHcJWSUGjZsqHr16XvyoS4KgVKzZs1U5goXGcbYTvoed4sWLZKePXuqZkdciBjvoR/LiYiIiNK3MIw7YGRCBBv6nmi5cuVSQwCgAFyrAUJQgx5u6RGybgi+Ll26pEYeN8uyvZHy3JSN6u/DI8yvGyMiIkrPov04fhtunkMWyT2TZHZmiYiIiMj2zXNISKF5C2McadedQ82RNiCkvt6JiIiIKN0GTYMHD3Z5/NhjjyWZBrVCRERERKEoxUETpQ1jFWdEREQUaH5fe46IiIgoPTKcaapdu7ahwu/NmzendpmIiIiI7Bs0aYNFEhEREaVHrGkiIiIiSsuaJlxC5eOPPzZrdkRERET2DZrOnj0rc+bMUZcc0Ub+xkVucZ22MmXKyIgRIwK1nERERET2aJ5btWqVPPzww2q4cRSE161bVyZPnqxqnTDg5ZAhQ6Rr166BXVoiIiIiq2eaBgwYIA899JBs375d+vbtKxs2bJDHH39chg0bJrt375aXXnpJsmXLFtilTYc4ThMREZHNgqYdO3aowOmOO+6QoUOHqmzTyJEj5YknngjsEhIRERHZKWi6ePGiFCxYUP2NjFL27NlVAEVERESUHhiuaQI0w50+fdp5Ad99+/bJ1atXXaapUaOGuUtIREREfktIcAgqPDJmSH5gagpA0NSsWTMVLGlQGA5oqsPzuNd61REREVFw4Jj84NiVEpeQIIv73CcZGDilbdAUERFhzjsSERFRQEXfiJN9kZfV32evxEjh3FmDvUjpK2gqXbp0YJeEiIiIKBSCpj/++MPj83ny5JGKFStK0aJFzVwuIiIiotC7YC9qmTp06CBff/216lVHRERElG6HHEhISPB4w1AEixcvls2bN8sHH3wQ2KUlIiIisusFe9E817RpUxkzZoz89ttv5iwVERERUagFTZrKlSvL8ePHzZodERERUWgGTYcOHZJixYqZNTsiIiKi0Auatm7dKv/73/+kdevWZsyOiIiIyL695/Lly6d6ybnDZVTi4uLkgQcekPfee8/s5Uv3/ht/nYiIiGwRNH366acen8+dO7dUqlRJqlatauZyEREREdkzaOratWtgl4SIiMgEsfEJMn/naXm4elFec42CU9N08uRJVbcUHR2d5LVLly7Jm2++KZGRkeYuHRERkZ/u/nCJvD5ti7T/ck2wF4XSa9D0ySefqIAJzXGexmq6fPmymoaIiCiYLl6LVfcbj1wM9qJQeg2aFixYIF26dPH6Ol6bM2eOWctFREREZM+gKSIiQkqVKuX19RIlSsjhw4fNWi4iIiIiewZN2bJl8xkU4TVMQ0RERJSug6Z69erJ999/7/X17777Tu6++26zlouIiIjInkMOoOccBrBE0Td6yhUuXFg9jx5zI0eOlClTpsiiRYsCuaxERERE1g+a7r//fhk/frz06tVLxowZo3rRYYRwDDeQOXNm+fzzz6Vp06aBXVoiIiIiqwdN8OKLL8rDDz8sM2bMkIMHD4rD4ZCKFSvKE088oQrBiYiIyFocvB5XcIImKF68uPTp08e8JSAiIiIKlULwtWvXGp7htWvXZNeuXalZJkqn4uITgr0IREREqQuannnmGWnZsqXMnDlTrl696nGa3bt3yzvvvCPly5eXTZs2GZktGYAm0PRgwc7TUnHAfPl964lgLwoREVHKm+cQEH3xxRcyYMAA6dSpk6pjKlasmGTNmlUuXrwoe/fulStXrsjjjz+uetBVr17dyGyJnF764Vag3evnrfJYreLBXhwiIlsL43WKgxc0oXfc66+/rm4bN26UVatWyZEjR+T69etSs2ZNVeOE3nX58+cPzFISERER2WVwS03dunWld+/eatiBiRMnygcffCDt2rULWMB04sQJefrpp6VAgQJqxHFksRC46ZuvBg0aJEWLFlWvN2/eXA4cOOAyjwsXLkjnzp3VMAl58+aV7t27q8yY3vbt26VRo0Yqe1ayZEk19hQRERFRioOmtISmvwYNGqhM1/z581Uz4ejRoyVfvnzO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YNlxkNIHqui1iGZ494OtGUJ1PQJqwO6//36VfQn0MCKhuh5//fVXNXyDdqxBUAcrV66Unj17imlMLSunVPn5558d4eHhjilTpqieQD169HDkzZvXpXfKmDFjVO8U9EA4cOCA6t2QNWtWx8GDB33OG9Nu2bLF8eKLLzoqVqyo/sZN6+WCngbovfDee+859u/f79i0aZOjZcuWjtKlSzuuXbvmdb6tWrVy1K5d27Fu3TrHqlWrHLfffrujY8eOXqdPi95zobge0dOkTp06jsaNGzs2b97s2Lhxo+rd8sADDzgCJRTXY0rnmx7X5ZEjR9R88P9y5szpnO/ly5fV63FxcY477rjD0aJFC8fWrVsdCxYscNx2222O/v37OwIlFNfjjh071HpD7+JTp045b2fOnHEESiiuR3fLly8PSO85Bk0W8/nnnztKlSrlyJIli+oWunbt2iTToFtoiRIlHNmzZ3fUr1/fsXLlymTniy6Y2IDcbxEREc5ppk2bpg44OXLkUD/iRx991LFnzx6f8z1//rw6KGEjxg+sW7duXjfitAqaQnU9ott827Zt1TSFCxd2PPvss+r/BVIorseUzDc9rsuuXbt6nC8ORprDhw87HnzwQUe2bNkcBQsWdLzxxhuO2NhYRyCF2npE13xPryOICKRQW49pFTSF4R/z8lZEREREoYk1TUREREQGMGgiIiIiMoBBExEREZEBDJqIiIiIDGDQRERERGQAgyYiIiIiAxg0ERERERnAoImISESeffZZadOmTbAXg4gsjBfsJaKQFxYW5vN1XFV+7Nixpl2tnohCE4MmIgp5p06dcv49ffp0GTRokMvFSHPmzKluRES+sHmOiEJekSJFnLc8efKozJP+OQRM7s1zTZo0kddee0169+4t+fLlk8KFC8vXX38tV69elW7dukmuXLnUFd7nz5/v8l47d+6UBx98UM0T/+eZZ56Rc+fOBeFTE5HZGDQREXkxdepUKViwoKxfv14FUC+//LI8+eSTcu+998rmzZulRYsWKii6du2amj4qKkqaNm0qtWvXlo0bN8qCBQskMjJS2rdvH+yPQkQmYNBERORFzZo1ZcCAAXL77bdL//79JWvWrCqIeuGFF9RzaOY7f/68bN++XU0/btw4FTANGzZMKleurP7+9ttvZfny5bJ///5gfxwiSiXWNBEReVGjRg3n3xkzZpQCBQpI9erVnc+h+Q3OnDmj7rdt26YCJE/1Uf/++69UrFgxTZabiAKDQRMRkReZM2d2eYxaKP1zWq+8hIQEdX/lyhV55JFH5KOPPkoyr6JFiwZ8eYkosBg0ERGZpE6dOvLrr79KmTJlJFMm7l6JQg1rmoiITNKzZ0+5cOGCdOzYUTZs2KCa5BYuXKh628XHxwd78YgolRg0ERGZpFixYvLPP/+oAAk961D/hCEL8ubNKxkycHdLZHdhDg6BS0RERJQsnvoQERERGcCgiYiIiMgABk1EREREBjBoIiIiIjKAQRMRERGRAQyaiIiIiAxg0ERERERkAIMmIiIiIgMYNBEREREZwKCJiIiIyAAGTUREREQGMGgiIiIikuT9H3e6KattmmGsAAAAAElFTkSuQmCC\\\",\\n\",\n", - " \" \\\"text/plain\\\": [\\n\",\n", - " \" \\\"
\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"# 1. Time series of throughput (curies per second)\\\\n\\\",\\n\",\n", - " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", - " \" \\\"plt.plot(df['time'], df['throughput_cps'])\\\\n\\\",\\n\",\n", - " \" \\\"plt.xlabel(\\\\\\\"Time\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.ylabel(\\\\\\\"Throughput (CURIEs/sec)\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.title(\\\\\\\"System Throughput Over Time\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.show()\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 33,\\n\",\n", - " \" \\\"id\\\": \\\"9c064d44-4c6b-40f9-bc83-63a94d02463b\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"data\\\": {\\n\",\n", - " \" \\\"image/png\\\": \\\"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ma5TsmTJ4KSTToo8HzhwoPuZ0PDhw93zn3/+OdNtaPtaR68X76yzznLLRo0aleEyTaGZM2e6dY888shgy5YtkfmTJk1y80eMGBGZV7169aBr167ZbjOrfdPPazuh1157za173333xax36aWXBnny5Am+++67yDytV6BAgZh5X3zxhZv/2GOPBVl55JFH3HovvPBCZN7OnTuDJk2aBMWKFYt579q/1q1bB/tCn5W2r88y3sqVK9MdDx0Hzbv//vsj837//fegcOHC7n1PmDAhMn/ZsmXptn3vvfcGRYsWDb755puY17r99tuDfPnyBatWrcrxvms70Z/r9u3bgz179qR7DwULFgwGDRqU7tyZPHlysHXrVncOlC1bNvj8888j63z00UdunfHjx8dsb+rUqenm67hr3ocffhiZt3HjRve6ffr0yfI9hMdYx2/NmjWR+fPmzXPze/XqFZnXvHnzoH79+u59hvbu3RucfvrpwTHHHJPud7lp06bB7t27szmKgfud1u92Tul4HX/88Tk+n8L9ef/9993y1atXB//973+DcuXKuWOk59ltPzzGGU2DBw/O8b4juagyQ66haoisepupmkxef/31/a7+UKmSvpHnlEogVOIS0rf0SpUq2dtvv20Hk7afL18+V3IQTaUzykDvvPNOzHyVWh199NGR5ypFU1WESjWyex1VB1522WWReSqZ0OuqQbSqRZJBbUCiP3dVF+qbenRbEM3Tsuj3qNItlb6pVEDf9sNJx0clTx9++OF+75POnbx5//cnV9tSaWNYbbtw4cJ062/evNlatmzpqqFU7RjdkF77qeqz8847L2Y/VeKjbapkMJraboWliqKSGb1udp9vSKU8KvkJqerttNNOi5zHqg5UWz4dX/0Ohvuj96ieoN9++226HlsqydU5mpPeZdG/QweLPmMdF1WV6vdU54tKp7Kqzoum46Eq+fgp+ncDqY0qM+QaugCrPUJmOnToYKNHj3YXSxXpN2/e3FWd6I9feKHKji4K+9KA+phjjol5ruoztUk50PYz2VF7KlXBxF9IVH0VLo+mqqF4CgXx7VEyeh29x/jjl9nrHApquxJfHafwoAtbfJsyzY9+j7pwq+dSZtV5qvbcXwrhqmp68sknXfWWQlEoo2pJtWNS9ZSqwOKrtbSfCkyZne/x+7m/n29m57Ece+yxrkosrJJT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AIdLo+rdu3fbc889Z++//741atQo3T3Mhg0blqj9AwAASK1A9P3331uNGjXsyy+/tIYNG7p5alwdTV3wAQAAcm0g0kjUum/ZzJkzI7fqePTRR61ChQoHa/8AAABSqw1R/N3s33nnHdflHgAAwLtG1ZkFpH01ePBgO+WUU6x48eJWvnx5u/jii2358uUx62zfvt169OhhZcqUsWLFiln79u1tw4YNMevoJrOtW7d2txPRdvr27evaOUX74IMPXDWfbi1Sq1YtGzt27AHtOwAA8DQQqX1QfBuhA2kzNGvWLBd25s6da9OmTXNjHLVs2TKm1KlXr1725ptv2uTJk936a9eudYNAhvbs2ePCkEbMnj17to0bN86FnQEDBkTWWblypVtHtxVZtGiR9ezZ066++mp3g1oAAIA8wT4U8+TNm9cuuOCCyA1cFVTOPffcdL3MXnnllf3amZ9//tmV8Cj4nHnmmbZ582YrV66cvfjii3bppZe6dZYtW2bHHXeczZkzxxo3buyq7S666CIXlMK2TBo08rbbbnPbK1CggPv/W2+95RqDhzp27GibNm2yqVOnZrtfW7ZssZIlS7r9KVGihCVajdvfynadH4a0TvjrAgCQm23Zh+v3PpUQde3a1QUWbVyTxiOqXLly5Hk47S/tsJQuXdo9LliwwJUatWjRIrJOnTp1rFq1ai4QiR7r168f07C7VatW7iDo/mrhOtHbCNcJtwEAAPy2T73MxowZc9B2ZO/eva4q64wzznD3SpP169e7Ep5SpUrFrKvwo2XhOvG93MLn2a2j0PTXX39Z4cKFY5bt2LHDTSGtBwAAcq8DalSdSGpLpCqtCRMmJHtXXGPv6BKvqlWrJnuXAABAbg9EN954o02ZMsWNb1SlSpXI/IoVK7rG0mrrE029zLQsXCe+11n4PLt1VJ8YXzok/fv3d9V34bR69eoEvlsAAJBqkhqI1J5bYejVV1+1GTNmWM2aNWOW67Ygupns9OnTI/PULV/d7Js0aeKe63HJkiW2cePGyDrqsaawU7du3cg60dsI1wm3EU+NxvXz0RMAAMi99uteZomsJlMPstdff92NRRS2+VE1lUpu9Ni9e3fr3bu3a2itYHLTTTe5IKMeZqJu+go+nTt3tgcffNBt484773TbDnvDXXfddfb4449bv3797KqrrnLha9KkSa7nGQAAQFJL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v/76K7KN888/PzjppJOCefPmBR9//HFwzDHHBJdddlngi6yOoZbdeuutrieUzs33338/aNiwoTtG27dvj2zD92N4/fXXByVLlnS/w+vWrYtMf/75Z2Sd7H6Hd+/eHdSrVy9o2bJlsGjRomDq1KlBuXLlgv79+wc+yO4Yfvfdd8GgQYPcsdO5qN/po446KjjzzDMj2/D9GGaHQJREjz32mPsDUKBAAdcNf+7cucnepZTVoUOHoFKlSu5YHXnkke65/gCEdAG/4YYbgiOOOCIoUqRI0K5dO/fHwnczZ850F/H4SV3Fw673d911V1ChQgUX0Js3bx4sX748Zhu//vqru3gXK1bMdc/t1q2bCwK+yOoY6mKki4suKuo2Xr169eCaa65J98XG92OY0fHTNGbMmH36Hf7hhx+CCy64IChcuLD7QqQvSrt27Qp8kN0xXLVqlQs/pUuXdr/LtWrVCvr27Rts3rw5Zjs+H8Ps5NE/2ZcjAQAA5F60IQIAAN4jEAEAAO8RiAAAgPcIRAAAwHsEIgAA4D0CEQAA8B6BCAAAeI9ABMC58sor7eKLL072biAbd911V8xNPBPtl19+sfLly7tbkAA+IRABHsiTJ0+W0913320jRoywsWPHmg90s8tu3bq5m2MWLFjQ3Rfqsssus/nz57vlP/zwgzsu4b2gop199tnWs2fPyPMaNWpEjmORIkXcXcZHjx4d8zO6872WhzcvDZ9nNK1fvz7T/dYyfU533HGHHSy6MW2XLl1s4MCBB+01gFSUluwdAHDwrVu3LvL/iRMn2oABA9zNM0PFihVzU26ya9cud8PQeAo9zZs3t3r16tlTTz1lderUsa1bt9rrr79uffr0sVmzZu3zaw0aNMiuueYa+/PPP23y5Mnu/0ceeaRdcMEFWf6cPgPdWDOaSmcyo6B1+umnW/Xq1e1gUljUDVeHDh1qpUuXPqivBaQKSogAD+iu9uFUsmRJVxIRPU9hKL7KTCUhN910kysNOeKII6xChQr2zDPP2B9//OEumMWLF7datWrZO++8E/NaX375pQsC2qZ+pnPnzq4aJjMqlSpVqpS99tprdswxx1ihQoWsVatWtnr16pj1FFgaNmzolh911FF2zz332O7duyPL9Z5Gjhxpf/vb36xo0aL273//O91r6U5Fep96nY8++shat25tRx99tJ144omuRESvsT90LHQctV+33XabCxG6i3h2FH6iPwdNefNm/md5woQJ1qZNm5h5+/M5/f7779apUycrV66cFS5c2B2PMWPGRJYff/zxVrlyZXdndcAXBCIAmRo3bpyrQvn000/dRff666+3v//9766UYuHChdayZUsXeFQyIqoSOvfcc+2kk05yJTFTp061DRs22D/+8Y8sX0c/rwDz/PPP2yeffOK207Fjx8hyhRdV49xyyy321VdfuZIdBan40KOqv3bt2tmSJUvsqquuSvc6qgJbunSpKwnKKHgomB2IvXv32ssvv+wCR4ECBSyRfvvtN/feTz755AP+nNQOSdtSSPr6669dkNTPRzv11FPdcQe8ke3tXwHkKro7dsmSJdPN193b27ZtG3l+1llnBU2bNo083717d1C0aNGgc+fOkXm6G7n+jMyZM8c9v/fee93d36OtXr3arbN8+fJM90fL586dG5n39ddfu3nz5s1zz5s3bx7cf//9MT/3n//8J6hUqVLkudbv2bNnlu994sSJbr2FCxdmud7KlSvdep9//nm6ZTout9xyS+S57nBfoEABd2zS0tLcz+mO499++21knZkzZ7r5v//+e8xz/Uz0VLdu3Uz3Sfuin9FdzeP3Z18/pzZt2gTdunXL8hj06tUrOPvss7NcB8hNaEMEIFMnnHBC5P/58uWzMmXKuEbDIVXPyMaNG93jF198YTNnzsywPdKKFSvs2GOPzfB10tLS7JRTTok8V7seldao9EIlFdquSo6iS4T27Nlj27dvd6UeaswsGZWeRPtfbkq8vn37uqo4tdXS/2+44QZXTZUdlcCoSiuUUZun0F9//eUeVWV4oJ+TSpDat28fKT1SValKk6KpKi0sUQJ8QCACkKn4C7Ta6UTP0/Owqki2bdvm2rg88MAD6bZVqVKl/d4PbVdthi655JJ0y6IDgtoOZSUMZMuWLXPVepkJGzpv3rw53TJV56kdVjRVNykAaVKjaoURhbO6detmuT/q3ZbTarqwSkvVcWr7cyCfk9p4/fjjj/b222+7tk5qZN6jRw976KGHYqro4l8HyM1oQwQgYdToWW101BU9DAjhlFVYUePosMt72PtKweO4446LbFfz4repKatGyPHUeFoh5eGHH46Eg2hht3g1ilYAWbBgQczyLVu2uC77mZV0SdWqVa1Dhw7Wv39/SyQ1/lZQU9ufRFDY6dq1q73wwgv2yCOP2NNPP52ucXxWoRHIbQhEABJGpQwqWdCYPp999pmrJnv33XddbydVcWVGpRlqDDxv3jwXQlT91LhxY1ddJhomQA2uVUqkwKWqNPW4uvPOO/dp/1RSot5U33zzjTVr1syVkHz//fe2ePFiVx3Xtm3byLq9e/e2+++/38aPH+/ehxoshz2zMiqpiqbG32+++WZMyMuIqrA0tlD0pOECMqLg16JFC/v444/tQOl4qkedwp2O55QpUyLhU1RVps9B1WmALwhEABJGXbXV1kfhRxdTVR2pO7iqhbIqyVEbIHVXv/zyy+2MM85wbZA0XlJI3fB10X7vvfdcWyOFpeHDh+/XeDwKWQoqKl3SeEEKAuqqr2CgkpJQv379XFd8Vf+pjY7a3KiUS22k1L4mKyqF0vtX8MhK7dq1XVVi9BRfKhXt6quvdkEwo9KtfaEecCrB0vs688wzXbsjbTeksFStWjUXGgFf5FHL6mTvBAB/qfu8QlNYXYXM6c/1aaedZr169XKlcAeLAufNN9/sAirgC0qIAOAwoSo/tfWJHpAy0TSIpqoED2bgAlIRJUQAkooSIgCpgEAEAAC8R5UZAADwHoEIAAB4j0AEAAC8RyACAADeIxABAADvEYgAAID3CEQAAMB7BCIAAOA9AhEAADDf/R/nSCIyIAx60gAAAABJRU5ErkJggg==\\\",\\n\",\n", - " \" \\\"text/plain\\\": [\\n\",\n", - " \" \\\"
\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"# 2. Histogram of time per CURIE\\\\n\\\",\\n\",\n", - " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", - " \" \\\"plt.hist(df['time_taken_per_curie_ms'], bins=50)\\\\n\\\",\\n\",\n", - " \" \\\"plt.xlabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.ylabel(\\\\\\\"Frequency\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.title(\\\\\\\"Distribution of Time Taken per CURIE\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.show()\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": 34,\\n\",\n", - " \" \\\"id\\\": \\\"0dd31031-25d0-42f7-977b-93cb194228f8\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [\\n\",\n", - " \" {\\n\",\n", - " \" \\\"data\\\": {\\n\",\n", - " \" \\\"image/png\\\": \\\"iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOAZJREFUeJzt3QnclPP+//HP3ao97aVFSpRWRZIQkRCpCB3KQZYKZStLyZZTlnAiB0fH+ZHtJD+doyQqlC1LC6XSqlW0qLTc9/wf7+/vf82ZuZv7bube5p7v/Xo+HtPdXHPNzHe263pf3+1KC4VCIQMAAPBUsWQXAAAAID8RdgAAgNcIOwAAwGuEHQAA4DXCDgAA8BphBwAAeI2wAwAAvEbYAQAAXiPsAAAArxF2kLLS0tLsvvvus8Lkyy+/tJNPPtnKlSvnyvftt9/m6vH0+vQ4KHrGjBljxx57rGVkZBS639rEiRPdslWrVlkqmTVrliv3W2+9ZaliwoQJVr9+fdu7d2+yi5LSCDs4SLAhi7zUqFHDOnfubO+9956luu+//95tuPN6Q71//367+OKL7ddff7UnnnjC/vnPf1qDBg0OWu/II4886P2NddHngKxt2rTJbrvtNhcIypYt6wJm27Zt7cEHH7Rt27ZFvd/nn39+zMf46quvDnqvg4AZXEqWLOke46abbop63OweP7vP9frrrz/ka9uxY4f95S9/sTvvvNOKFYveTO/atcseeOABa9mypXvdlSpVsk6dOtnLL79suTn7z3/+859Cd/CQiHfffddOO+00t63S+3LUUUfZJZdcYtOmTbNU1r9/f9u3b58999xzyS5KSiuR7AKg8Lr//vutYcOGbgOqHYt2COeee67bqGS180iVsDNq1Cg7/fTT3Y4qr6xYscJWr15tzz//vF1zzTVZrjdu3Dj7/fffo3YykyZNcgGpWrVq4eWqIfrTn/5kw4YNy7My+kI1aPou6n3Ue6SQE4SXRx55xObMmWPvv/9+rp7j2WeftfLly7twMXPmTHv66aft66+/tk8++SSu+5911ll25ZVXHrS8SZMmh7zv3//+dztw4IBddtllUcv1OzzzzDPthx9+sEsvvdQGDRpkf/zxh/3rX/+yfv36ue/SK6+8YsWLF7dE6b7jx4+PK/BcccUV7vlLly5thcGjjz5qt99+uws7w4cPd2Fn+fLl9sEHH9hrr71m55xzjqWqww47zH22jz/+uA0ePJia3hwi7CBL3bp1s3bt2oWvX3311VazZk23Y07lsJNfNm/e7P5Wrlw52/V69OgRdX3jxo3uPdXyWOGrRImi9zNVwFBNTSyqXbnooovcDv2bb75xNTuRHnroIRc4c6t3797h8Hnddde5nfvrr79uX3zxhZ144omHvL9CjYJYTrz00kt2wQUXuB1dJO30FHTefvttd3tAtU7a2Wun36ZNG1cjlJ/03uckUOXk8z4UhULVdClcxgq4we8ylamGSs2aH330kZ1xxhnJLk5KohkLcdNOvEyZMgftfLWhuvXWW61evXruSO+YY45xG92gSn3Pnj1uh6SL/h9Qc0/t2rVdDUZ6enq4ylZH0z/99JN17drVbQDr1KnjapniqaLXzk8hrWLFiu5xdBT82WefhW9X7ZSamkTNckHTgtrys/Phhx+6pgKVR+/DhRde6HY6AZVbR5Wix9djquYot2L12dF1HdG/+eab1qxZM/eZdOjQwRYuXOhuV3V348aN3Y5SZYjVXPf555+7o101gegoWGX/9NNP4+7zoJ3+XXfdZbVq1XLviXa8a9euzdHzBK9RNW6XX365HX744XbKKadkWQa9vp9//tkd6WYOOqJAfs8991he0+cf1ODlp5UrV9qCBQusS5cuUcv1PZ4+fbr7rkUGncDo0aPt6KOPds1fwe8s+Lwyf7/1nYhsvtNjqlZHIpvcspJVnx01cwe/kwoVKth5551nixcvjlon+I3rfVTtnNbr27evu23ZsmXWq1cv973S97du3bouZG7fvj3Lsvzyyy+u2a9jx44xb1ezVmbqB6VQrMfX82g7oZqgzPQbU62hfmMKvgqv+u4F/vd//9e9D/q8Aqpl07KePXtGPVbTpk2tT58+B/2Op0yZYs2bN3fbzuOOOy5ms5vKUKVKFXvnnXeyfB+QvaJ3yIi4aQOjDYlCho6OVI0fNBsEdJs2vDriUM1P69at3QZZR5naKKhpRhuKf/zjH25jdPfdd7udlAwcONA9hzackUeJCj7aQZ500knuaEY//pEjR7ojOIWerGijqg2tgs4dd9zh+lpox6gd/uzZs619+/Z26qmnuqPgp556yu2stQGS4G8sqgpXgFIfAO2YtSPRe6HXo2YN1cboyP+II46whx9+2D3+CSec4Ha6+eXjjz92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zjoea2iXhn2dddZZNnbs2NyVBgAAIFlh5/PPP7cLL7wwy9u7d+9uc+fOzatyAQAAFGzY+fnnn93pILKiGYs3bNiQN6UCAAAo6LBTvXp1W7p0aZa3L1myxA1BBwAASMmw06VLF3vooYdi3qa5d3Sb1gEAAEjJoef33HOPtW3b1tq3b2+33nqrHXPMMeEaHXVe/vHHH23ixIn5WVYAAID8Czs679UHH3xg/fv3t0svvdTNphzU6jRr1sxmzJhhjRs3TrwEAAAAhSHsSLt27WzRokX27bff2rJly1zQadKkiTuVBAAAQMqHnYDCDQEHAAB41UEZAAAgFRF2AACA1wg7AADAawmFnQMHDtj9999v69aty78SAQAAJCvslChRwp3sU6EHAADAy2Ysnfl89uzZ+VMaAACAZA8979atmw0bNswWLlzoZlQuV65c1O0XXHBBXpYPAAAgV9JCmhkwAcWKZV0ZpFmV09PTLdXs2LHDKlWqZNu3b7eKFSsmuzgAACAP998J1+xkZGQkehcAAIDUHHr+xx9/5F1JAAAACkPYUTPVAw88YEcccYSVL1/efvrpJ7f83nvvtRdffDE/yggAAFBwYeehhx6yiRMn2pgxY6xUqVLh5c2bN7cXXngh5yUBAAAoDGHn5Zdftr/97W/Wt29fK168eHh5q1atbMmSJXldPgAAgIINOz///LM1btw4Zsfl/fv35640AAAAyQ47zZo1s48//vig5W+99Za1adMmr8oFAACQJxIeej5ixAjr16+fq+FRbc7kyZNt6dKlrnlr6tSpeVMqAACAZNXsXHjhhfbuu+/aBx984GZPVvj54Ycf3LKzzjorr8oFAACQnBmUfcQMygAApJ58m0E58NVXX7kanaAfj86TBQAAUNgkHHbWrVtnl112mX366adWuXJlt2zbtm128skn22uvvWZ169bNj3ICAAAUTJ+da665xg0xV63Or7/+6i76vzor6zYAAICU7rNTpkwZmzt37kHDzOfPn2+dOnWy3bt3W6qhzw4AAObt/jvhmp169erFnDxQ58yqU6dO4iUFAADIRwmHnbFjx9rgwYNdB+WA/n/zzTfbo48+mtflAwAAKNhmrMMPP9w1VR04cMBKlPi//s3B/zXvTiT150kFNGMBAJB68m3o+bhx43JbNgAAgAKTcNjRqSIAAAC87bMDAACQSgg7AADA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\\\",\\n\",\n", - " \" \\\"text/plain\\\": [\\n\",\n", - " \" \\\"
\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"output_type\\\": \\\"display_data\\\"\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"source\\\": [\\n\",\n", - " \" \\\"# 3. Boxplot to highlight outliers in time per CURIE\\\\n\\\",\\n\",\n", - " \" \\\"plt.figure()\\\\n\\\",\\n\",\n", - " \" \\\"plt.boxplot(df['time_taken_per_curie_ms'])\\\\n\\\",\\n\",\n", - " \" \\\"plt.ylabel(\\\\\\\"Time per CURIE (ms)\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.title(\\\\\\\"Boxplot of Time per CURIE (Outliers Shown)\\\\\\\")\\\\n\\\",\\n\",\n", - " \" \\\"plt.show()\\\"\\n\",\n", - " \" ]\\n\",\n", - " \" },\\n\",\n", - " \" {\\n\",\n", - " \" \\\"cell_type\\\": \\\"code\\\",\\n\",\n", - " \" \\\"execution_count\\\": null,\\n\",\n", - " \" \\\"id\\\": \\\"fee5ecb0-a7a6-4797-930c-5d89074acc91\\\",\\n\",\n", - " \" \\\"metadata\\\": {},\\n\",\n", - " \" \\\"outputs\\\": [],\\n\",\n", - " \" \\\"source\\\": []\\n\",\n", - " \" }\\n\",\n", - " \" ],\\n\",\n", - " \" \\\"metadata\\\": {\\n\",\n", - " \" \\\"kernelspec\\\": {\\n\",\n", - " \" \\\"display_name\\\": \\\"Python 3 (ipykernel)\\\",\\n\",\n", - " \" \\\"language\\\": \\\"python\\\",\\n\",\n", - " \" \\\"name\\\": \\\"python3\\\"\\n\",\n", - " \" },\\n\",\n", - " \" \\\"language_info\\\": {\\n\",\n", - " \" \\\"codemirror_mode\\\": {\\n\",\n", - " \" \\\"name\\\": \\\"ipython\\\",\\n\",\n", - " \" \\\"version\\\": 3\\n\",\n", - " \" },\\n\",\n", - " \" \\\"file_extension\\\": \\\".py\\\",\\n\",\n", - " \" \\\"mimetype\\\": \\\"text/x-python\\\",\\n\",\n", - " \" \\\"name\\\": \\\"python\\\",\\n\",\n", - " \" \\\"nbconvert_exporter\\\": \\\"python\\\",\\n\",\n", - " \" \\\"pygments_lexer\\\": \\\"ipython3\\\",\\n\",\n", - " \" \\\"version\\\": \\\"3.13.5\\\"\\n\",\n", - " \" }\\n\",\n", - " \" },\\n\",\n", - " \" \\\"nbformat\\\": 4,\\n\",\n", - " \" \\\"nbformat_minor\\\": 5\\n\",\n", - " \"}\\n\"\n", - " ],\n", - " \"execution_count\": 93\n", - " },\n", - " {\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T19:58:50.581601Z\",\n", - " \"start_time\": \"2025-07-03T19:58:50.538167Z\"\n", - " }\n", - " },\n", - " \"cell_type\": \"code\",\n", - " \"source\": [\n", - " \"# CURIEs per request (but only from 1-10)\\n\",\n", - " \"sns.histplot(df['curie_count'], bins=10, binrange=(1, 10), stat='percent')\\n\",\n", - " \"plt.title(\\\"CURIEs per request (from 1-10)\\\")\\n\",\n", - " \"plt.xlabel(\\\"Number of CURIEs\\\")\\n\",\n", - " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", - " \"plt.show()\"\n", - " ],\n", - " \"id\": \"c661fc023ff6240c\",\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"text/plain\": [\n", - " \"
\"\n", - " ],\n", - " \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAANX5JREFUeJzt3QmczWXfx/HfMIx9328m2gxJokJpsUSSEk93ilJpl0RK2qQNLUiR6rak5RZ3qXQ/qCRaRlnadCNUhuyVGfuS87y+1/Ocec4ZZ5gZM3PONfN5v15/Zv7nnP9cZ5k533Ndv+v6xwUCgYABAAB4qEi0GwAAAJBTBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQDII0899ZQlJSXZoUOH0vft3LnTbrzxRqtRo4bFxcXZXXfdFdU2+mj8+PGWmJho+/bti3ZTEAMIMigQ1qxZY7fccosdf/zxVqJECStXrpydc8459txzz9mePXvSr6c3jjvuuCPiMf71r3+5yz/99NP0fdddd53bF9wSEhLs5JNPtocfftj27t172DEyHv/XX38Nu33Gbfjw4bn+WCD3bdiwwR555BH79ttvs3ybtLQ0GzFihA0aNMiKFPn/P7VPPvmkTZ482W677TZ77bXX7JprrrFY9tZbb1nPnj3tpJNOcq/ZCy64IFu337hxo913333WunVrK1u27GG/Yxl9+eWX1qpVKytVqpQLe3feeacLf6H0e7l//3576aWXcny/UHDER7sBwLH697//bVdccYULGddee601atTI/ZH7/PPP7Z577rEff/zRXn755RwfX8f9xz/+4b5OTU219957zx577DEXnt54440sHeOqq66yiy+++LD9p59+eo7bhfwNMkOHDrW6detakyZNsnSbiRMn2sGDB91zH+qTTz6xFi1a2JAhQ8wHL774oi1ZssTOPPNM+/3337N9+5UrV7pApyB06qmnWnJycqbXVVBs27atNWjQwEaOHGnr16+3Z555xlatWmWzZs1Kv54+rPTq1ctdp2/fvi4cofAiyMBrv/zyi3Xv3t2OO+449wZRs2bN9Mv69Oljq1evdkHnWMTHx7tPpEG33367nX322fbPf/7T/SGtXr36UY/RtGnTsGP4Rm/IGh4pXrx4lq6v6ypM6g2nsJo0aZJdeumlhz0GW7ZssYYNGx719urx0+Md2psTDeo1+tvf/ubaoQ8J2dWsWTMXgCpVquR6PfWhIzP333+/VaxY0fXYqFdVFB5vuukm+/DDD619+/bp1/373//uhu7mzZtnbdq0yeG9Q0HA0BK8pj9k6naeMGFCWIgJOvHEE61fv365+jP16U9d3zpx/M8//5xrx128eLF16NDBqlSpYiVLlrR69erZDTfccNTb6Q/9JZdc4v7Qq7dAb5x6o3znnXcOu+727dtdTUadOnVcT5MeH31aDq3hCA6H6ZPw6NGj7YQTTnDX/c9//pNpG4JDauqhOuWUU9z1Z8+e7S777bff3P1Q4NN+Xa7eioz06btLly5WunRpq1atmvXv39/mzJlz2FCE7q+GFjLSkEfGYQ/VUKjnQ/dTP1v3+9577z2stuKjjz5yz2mFChWsTJkyVr9+ffemKvrZ6o2Q66+/Pn1YUMNDRwrY33//vbVr1y59n46j2+kyhevgcfR4By+bOnWqPfjggy44aGhFw1Myffp0Fwj0utDrQ6FYj2soPSZqe0pKins96GsdZ+zYse7yH374wb3h6/FV8H/zzTctK/SYHUuY0nCSQszR6L7qedB9C4YYUS+r7su0adPCrq/HQ8dVDykKN3pk4LWZM2e6uhj1kOQnvfmIPj1mxe7du23btm2H7dcbp3p89CldnzarVq3q6gm0Xz8jUhiJRF3vV155pd16662uy129AfrkqzBx4YUXprfh/PPPd2+AqidSsaTqEQYPHuzqGBRaQukY6hW4+eabXQg42puResT0ZqNAozdbBY7Nmze7YZRg0NH90xBB79693RtXsNBVdUwaUtCbsGoiatWq5XoCdMycUjhTj4iGGHUfNFyhN/NRo0bZTz/9ZO+++667noYe9cbfuHFje/TRR919VU/eF1984S7X7bRfdVE6zrnnnuv2H+k1p8c12BMXpOPoPimg1a5d2+6++263X49J8PWkIUv1wgwcONCFLX2twKQApTA1bNgw95iq9kvt++abb9xrJeivv/6yjh072nnnnedCvoKlHneFlwceeMB69OhhXbt2dcWyCggtW7Z0gTkW6LlRz98ZZ5wRtl+PgQK67mtGenyDzxMKsQDgqdTU1IBewpdddlmWb6Pr9+nTJ+Jl06dPd5fPmzcvfV+vXr0CpUuXDmzdutVtq1evDjzzzDOB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vkdGC+KdccYZ9ueff7rzLAWpbkYL2AEAAMRsj8xnn31mX375pVtPJlTdunXtt99+y622AQAA5H6PjE4joPMtZbR+/Xo3xAQAABCzQaZ9+/Y2evTo9O+1KJ6KfIcMGXLMpy0AAADI06GlZ5991p0uoGHDhrZ37167+uqrbdWqVValShX75z//mZNDAgAA5E+QqV27tn333Xfu5JHff/+9643RCR579OgRVvwLAAAQc0HG3TA+3nr27Jm7rQEAAMjrIDNlypQjXq4zWgMAAMRkkNE6MqEOHDhgu3fvdtOxS5UqRZABAACxO2tJC+GFbqqRWblypbVq1YpiXwAAEPvnWsropJNOsuHDhx/WWwMAABDzQSZYAKwTRwIAAMRsjcz7778f9n0gELCNGzfaCy+8YOecc05utQ0AACD3g0yXLl3CvtfKvlWrVrU2bdq4xfIAAABiNsjoXEsAAAAFqkYGAAAg5ntkBgwYkOXrjhw5Mic/AgAAIG+CzDfffOM2LYRXv359t++nn36yokWLWtOmTcNqZwAAAGIqyHTu3NnKli1rr776qlWsWNHt08J4119/vZ177rl2991353Y7AQAAcqdGRjOThg0blh5iRF8//vjjzFoCAACxHWTS0tJs69ath+3Xvh07duRGuwAAAPImyFx++eVuGOmdd96x9evXu+3tt9+23r17W9euXXNySAAAgPypkRk/frwNHDjQrr76alfw6w4UH++CzNNPP52TQwIAAORPkClVqpSNGzfOhZY1a9a4fSeccIKVLl06J4cDAADI/wXxdH4lbTrztUKMzrkEAAAQ00Hm999/t7Zt29rJJ59sF198sQszoqElpl4DAICYDjL9+/e3YsWKWUpKihtmCrryyitt9uzZudk+AACA3K2R+fDDD23OnDlWu3btsP0aYlq7dm1ODgkAAJA/PTK7du0K64kJ+uOPPywhISEnhwQAAMifIKPTEEyZMiXsnEqHDh2yp556ylq3bp2TQwIAAOTP0JICi4p9Fy9ebPv377d7773XfvzxR9cj88UXX+TkkAAAAPnTI9OoUSN3tutWrVrZZZdd5oaatKKvzoit9WQAAABiskdGK/ledNFFbnXfBx54IG9aBQAAkBc9Mpp2/f3332f3ZgAAALExtNSzZ0+bMGFC7rcGAAAgr4t9Dx48aBMnTrSPP/7YmjVrdtg5lkaO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nXHGGXbWWWfZ6NGjbdeuXW4WEwAAKNxiPshceeWVtnXrVnv44Ydt06ZN1qRJE5s9e/ZhBcAAAKDwifkgIxpGymwoCcdOQ3FacDDjkByig+cjtvB8xBaej9iSEAPPR5wqfqP20wEAAArqgngAAABHQpABAADeIsgAAABvEWQAAIC3CDKF1LBhw+zMM8+0smXLWrVq1dyCgytXrox2s/B/hg8f7laivuuuu6LdlELtt99+s549e7qVwUuWLGmnnnqqLV68ONrNKpR03r2HHnrI6tWr556LE044wR577LGjn4cHuWLBggXWuXNnt8qu/ja9++67YZfredAyKTVr1nTPj07uvGrVKssPBJlCav78+danTx9buHChffTRR3bgwAFr3769W2wQ0bVo0SJ76aWXrHHjxtFuSqH2559/2jnnnGPFihWzWbNm2X/+8x979tlnrWLFitFuWqE0YsQIe/HFF+2FF16w5cuXu++feuope/7556PdtEJh165ddtppp9nYsWMjXq7nYsyYMTZ+/Hj76quvrHTp0tahQwfbu3dvnreN6ddwtOigemYUcM4777xoN6fQ0hlkmzZtauPGjbPHH3/cLQCp1ayR/+677z774osv7LPPPot2U2Bml1xyiVsIdcKECen7unXr5j79v/7661FtW2ETFxdnM2bMSD91kGKEemruvvtuGzhwoNuXmprqnq/Jkydb9+7d87Q99Mgg/UUnlSpVinZTCjX1knXq1Ml1yyK63n//fXdqlCuuuMKF/NNPP91eeeWVaDer0Dr77LPdefZ++ukn9/13331nn3/+uXXs2DHaTSv0fvnlF7fyfujfLZ0jqXnz5pacnJznP9+LlX2Rt3QiTtViqBu9UaNG0W5OoTV16lRbunSpG1pC9P38889uKEPne7v//vvd83LnnXe6k9nq/G/I/x4ynWk5KSnJihYt6mpmnnjiCevRo0e0m1bobdq0yf2f8dRB+j54WV4iyMD1Aixbtsx9ukF0rFu3zvr16+fqlUqUKBHt5uD/Ar56ZJ588kn3vXpk9HuiGgCCTP6bNm2avfHGG/bmm2/aKaecYt9++637AKYhDZ6Pwo2hpUJO57D64IMPbN68eVa7du1oN6fQWrJkiW3ZssXVx8THx7tN9UoqntPX+vSJ/KXZFw0bNgzb16BBA0tJSYlamwqze+65x/XKqN5Cs8eu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\"\n", - " },\n", - " \"metadata\": {},\n", - " \"output_type\": \"display_data\"\n", - " }\n", - " ],\n", - " \"execution_count\": 94\n", - " },\n", - " {\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T19:53:37.033040Z\",\n", - " \"start_time\": \"2025-07-03T19:53:36.967540Z\"\n", - " }\n", - " },\n", - " \"cell_type\": \"code\",\n", - " \"source\": [\n", - " \"# Time taken distribution\\n\",\n", - " \"sns.histplot(df['time_taken_ms'], bins=20)\\n\",\n", - " \"plt.title(\\\"Time taken\\\")\\n\",\n", - " \"plt.xlabel(\\\"Time taken (ms)\\\")\\n\",\n", - " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", - " \"plt.show()\"\n", - " ],\n", - " \"id\": \"c06ac224b4390df3\",\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"text/plain\": [\n", - " \"
\"\n", - " ],\n", - " \"image/png\": \"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fXsra9as1unTp62UKiwszJo8ebK1e/dua8eOHdZTTz1lFSxY0Lp48aKrTMeOHa0CBQpYy5cvt7Zs2WJVrVrVql69uut8XFycVbp0aatevXrW9u3brUWLFlk5c+a0+vXr5ypz8OBBK0OGDFbPnj2tvXv3WmPHjrVSpUplLVmyxApEmzZtsgoXLmyVLVvW6tatm+s499KZs2fPWoUKFbJefvlla+PGjeYzL1261Pr9999dZT788EMrNDTUmjdvnvXrr79a//3vf60iRYpYV65ccZVp0KCBVa5cOeuXX36x1q5daxUtWtRq0aKF63xUVJSVO3duq1WrVuZn4LvvvrPSp09vffbZZ1ageP/9960cOXJYCxYssA4dOmTNnj3bypQpkzV69GhXGe5lwvTn7+2337bmzJljnqU2d+5cj/P36r6tX7/e/IwPHz7c/Mz379/fSp06tbVr1y7L3xGafJg+KLhTp06u/evXr1v58uWzhg4dmqzX5UvOnDljfjmsXr3a7J8/f978cOovWtu+fftMmYiICNcvluDgYOvUqVOuMhMmTLCyZMlixcTEmP3evXtbpUqV8nivZs2amdAWaC5cuGA9+OCDVnh4uFW7dm1XaOJeOtenTx+rRo0atzx/48YNK0+ePNaIESNcx/T+pk2b1vzRUfrHRe/t5s2bXWUWL15sBQUFmQeKq/Hjx1vZsmVz3Vv7vYsVK2YFioYNG1qvvPKKx7Fnn33W/JFW3Etn4oeme3nfXnjhBfP/o7sqVapYr732muXv6J7zUbGxsbJ161bTfGoLDg42+xEREcl6bb4kKirKvGbPnt286j27du2ax33TJuKCBQu67pu+anOx+0rvYWFh5gGVe/bscZVxr8MuE4j3XrvftHst/uflXjo3f/588/il559/3nRRVqhQQb744gvX+UOHDpmnDLjfB33WlXa5u99L7Q7RemxaXn/uN27c6CpTq1Yt86xM93upXdTnzp2TQFC9enXzzM/ffvvN7P/666+ybt06efLJJ80+9zJx7uV9iwjgn3lCk4/6+++/Td9+/Ee46L7+h4//faCyjr959NFHpXTp0uaY3hv9YY7/8GT3+6avCd1X+9ztymgYuHLligSKGTNmyLZt28xYsfi4l84dPHhQJkyYIA8++KAsXbpUXn/9denatatMnTrV417c7udZXzVwuQsJCTH/ILib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\"\n", - " },\n", - " \"metadata\": {},\n", - " \"output_type\": \"display_data\"\n", - " }\n", - " ],\n", - " \"execution_count\": 85\n", - " },\n", - " {\n", - " \"metadata\": {\n", - " \"ExecuteTime\": {\n", - " \"end_time\": \"2025-07-03T19:54:02.295055Z\",\n", - " \"start_time\": \"2025-07-03T19:54:02.241718Z\"\n", - " }\n", - " },\n", - " \"cell_type\": \"code\",\n", - " \"source\": [\n", - " \"# Time per CURIE distribution\\n\",\n", - " \"# CURIEs per request\\n\",\n", - " \"sns.histplot(df['time_taken_per_curie_ms'], bins=30)\\n\",\n", - " \"plt.title(\\\"Time taken per CURIE\\\")\\n\",\n", - " \"plt.xlabel(\\\"Time taken per CURIE (ms)\\\")\\n\",\n", - " \"plt.ylabel(\\\"Frequency\\\")\\n\",\n", - " \"plt.show()\"\n", - " ],\n", - " \"id\": \"629b162554799779\",\n", - " \"outputs\": [\n", - " {\n", - " \"data\": {\n", - " \"text/plain\": [\n", - " \"
\"\n", - " ],\n", - " \"image/png\": \"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\"\n", - " },\n", - " \"metadata\": {},\n", - " \"output_type\": \"display_data\"\n", - " }\n", - " ],\n", - " \"execution_count\": 87\n", - " \"id\": \"724e9f735fea9bd3\"\n", - " }\n", - " ],\n", - " \"metadata\": {\n", - " \"kernelspec\": {\n", - " \"display_name\": \"Python 3 (ipykernel)\",\n", - " \"language\": \"python\",\n", - " \"name\": \"python3\"\n", - " },\n", - " \"language_info\": {\n", - " \"codemirror_mode\": {\n", - " \"name\": \"ipython\",\n", - " \"version\": 3\n", - " },\n", - " \"file_extension\": \".py\",\n", - " \"mimetype\": \"text/x-python\",\n", - " \"name\": \"python\",\n", - " \"nbconvert_exporter\": \"python\",\n", - " \"pygments_lexer\": \"ipython3\",\n", - " \"version\": \"3.13.5\"\n", - " }\n", - " },\n", - " \"nbformat\": 4,\n", - " \"nbformat_minor\": 5\n", - "}\n" + "# NodeNorm Log Analysis\n", + "\n", + "As of [PR #312](https://github.com/TranslatorSRI/NodeNormalization/pull/312), NodeNorm produces logs in the format:\n", + "\n", + "```\n", + "2025-06-18T03:26:30-04:00\t2025-06-18 07:26:30,635 | INFO | normalizer:get_normalized_nodes | Normalized 1 nodes in 1.21 ms with arguments (curies=['UMLS:C0132098'], conflate_gene_protein=True, conflate_chemical_drug=True, include_descriptions=False, include_individual_types=True)\n", + "```\n", + "\n", + "This Jupyter Notebook is intended to be used in analysing these logs." + ] + }, + { + "cell_type": "markdown", + "id": "bc4248bb-1c4a-446e-95a3-54acc13e01de", + "metadata": {}, + "source": [ + "## Install prerequisites" + ] + }, + { + "cell_type": "code", + "id": "721be6fa-7f14-4979-bffb-5a32cb316444", + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T19:47:15.465380Z", + "start_time": "2025-07-03T19:47:13.789441Z" + } + }, + "source": [ + "import csv\n", + "%pip install pandas matplotlib numpy seaborn" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pandas in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.0)\r\n", + "Requirement already satisfied: matplotlib in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (3.10.3)\r\n", + "Requirement already satisfied: numpy in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.1)\r\n", + "Collecting seaborn\r\n", + " Obtaining dependency information for seaborn from https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl.metadata\r\n", + " Downloading seaborn-0.13.2-py3-none-any.whl.metadata (5.4 kB)\r\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\r\n", + "Requirement already satisfied: pytz>=2020.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\r\n", + "Requirement already satisfied: tzdata>=2022.7 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\r\n", + "Requirement already satisfied: contourpy>=1.0.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (1.3.2)\r\n", + "Requirement already satisfied: cycler>=0.10 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (0.12.1)\r\n", + "Requirement already satisfied: fonttools>=4.22.0 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (4.58.4)\r\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (1.4.8)\r\n", + "Requirement already satisfied: packaging>=20.0 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (24.1)\r\n", + "Requirement already satisfied: pillow>=8 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (11.3.0)\r\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (3.2.3)\r\n", + "Requirement already satisfied: six>=1.5 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\r\n", + "Downloading seaborn-0.13.2-py3-none-any.whl (294 kB)\r\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m294.9/294.9 kB\u001B[0m \u001B[31m3.5 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", + "\u001B[?25hInstalling collected packages: seaborn\r\n", + "Successfully installed seaborn-0.13.2\r\n", + "\r\n", + "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m25.1.1\u001B[0m\r\n", + "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "execution_count": 72 + }, + { + "cell_type": "markdown", + "id": "3a6bab9f-897e-4c96-84c8-3e402676e753", + "metadata": {}, + "source": [ + "## Loading files\n", + "\n", + "These files can be checked into the repository into the `logs/` subdirectory." + ] + }, + { + "cell_type": "code", + "id": "c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea", + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T15:08:37.248772Z", + "start_time": "2025-07-03T15:08:37.247086Z" + } + }, + "source": [ + "logfiles_json_gz = [\n", + " \"logs/nodenorm-ci-logs-2025jul3-10k.json.gz\",\n", + " \"logs/nodenorm-ci-logs-2025jun26-to-2025jun29.json.gz\"\n", + "]" + ], + "outputs": [], + "execution_count": 56 + }, + { + "cell_type": "markdown", + "id": "67ca8f70-adaa-4883-ac51-1c0ec235bd13", + "metadata": {}, + "source": [ + "We can use Python dataclasses to load the important information from the logfile." + ] + }, + { + "cell_type": "code", + "id": "42805620-22f8-4469-845a-a5fd40ae7a3d", + "metadata": { + "scrolled": true, + "ExecuteTime": { + "end_time": "2025-07-03T14:27:45.146407Z", + "start_time": "2025-07-03T14:27:45.139031Z" + } + }, + "source": [ + "import json\n", + "from dataclasses import dataclass\n", + "from datetime import datetime\n", + "import csv\n", + "import gzip\n", + "import logging\n", + "import re\n", + "import ast\n", + "\n", + "logging.basicConfig(level=logging.INFO)\n", + "\n", + "@dataclass\n", + "class LogEntry:\n", + " time: datetime\n", + " curies: list[str]\n", + " curie_count: int\n", + " time_taken_ms: float\n", + " time_taken_per_curie_ms: float\n", + " arguments: dict[str, str]\n", + " node: str = \"\"\n", + "\n", + "def convert_log_line_into_entry(line: str) -> list[LogEntry]:\n", + " # Depending on where the log file comes from, it might start with one of two types of timestamps:\n", + " # - ISO 8601 date (e.g. \"2007-04-05T12:30−02:00\"), which will be separated from the rest of the log line with a tab character.\n", + " # - Python log format date (e.g. \"2025-06-12 13:01:49,319\"), which should always be in UTC.\n", + "\n", + " # Entry variables.\n", + " log_time = None\n", + " curies = []\n", + " curie_count = -1\n", + " time_taken_ms = -1.0\n", + " arguments = {}\n", + "\n", + " # Parse the datetime stamp.\n", + " iso8601date_match = re.match(r'^(\\d{4}-\\d{2}-\\d{2}(?:[T ]\\d{2}:\\d{2}(?::\\d{2}(?:[\\.,]\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?)?) |', line)\n", + " if iso8601date_match:\n", + " log_time = datetime.fromisoformat(iso8601date_match.group(1))\n", + " else:\n", + " raise ValueError(f\"Could not identify the datetime for the line: '{line}'\")\n", + "\n", + " # Is the log line too long?\n", + " if len(line) > 81_900: # Longest we've seen is 114688, and that was truncated.\n", + " return []\n", + "\n", + " # Parse the log text.\n", + " log_text_match = re.search(r'\\| INFO \\| normalizer:get_normalized_nodes \\| Normalized (\\d+) nodes in ([\\d\\.]+) ms with arguments \\((.*)\\)', line)\n", + " if not log_text_match:\n", + " raise ValueError(f\"Could not find NodeNorm log-line (length: {len(line)}): {line}\")\n", + " curie_count = int(log_text_match.group(1))\n", + " time_taken_ms = float(log_text_match.group(2))\n", + " argument_text = log_text_match.group(3)\n", + "\n", + " # To parse the argument_text, we can turn it into a function call and use Python's ast module to parse it.\n", + " argument_fn_call = f'arguments({argument_text})'\n", + " tree = ast.parse(argument_fn_call, mode=\"eval\")\n", + " call_node = tree.body\n", + " for kw in call_node.keywords:\n", + " arguments[kw.arg] = ast.literal_eval(kw.value)\n", + "\n", + " # Some assertions.\n", + " if 'curies' not in arguments:\n", + " raise ValueError(f'No CURIEs found in arguments {argument_text} on line {line}, which was parsed into: {arguments}')\n", + " curies = arguments['curies']\n", + " if len(curies) != curie_count:\n", + " raise ValueError(f'Found {len(curies)} CURIEs in arguments but expected {curie_count} CURIEs: {curies}')\n", + " if len(curies) < 1:\n", + " raise ValueError(f'Found no CURIEs in line: {line}')\n", + "\n", + " # Emit the LogEntry.\n", + " return [LogEntry(\n", + " time=log_time,\n", + " curies=curies,\n", + " curie_count=curie_count,\n", + " time_taken_ms=time_taken_ms,\n", + " time_taken_per_curie_ms=time_taken_ms/curie_count,\n", + " arguments=arguments\n", + " )]" + ], + "outputs": [], + "execution_count": 35 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T15:08:57.067103Z", + "start_time": "2025-07-03T15:08:54.423827Z" + } + }, + "cell_type": "code", + "source": [ + "import sys\n", + "\n", + "logs = []\n", + "for logfile_json_gz in logfiles_json_gz:\n", + " print(f\"Loading logfile {logfile_json_gz}\")\n", + " with gzip.open(logfile_json_gz, 'rt') as logf:\n", + " # The entire log file from AWS is one massive JSON list *curses*.\n", + " data = json.load(logf)\n", + " for row in data:\n", + " # print(f\"Processing row: {row}\")\n", + "\n", + " # Weirdly enough, AWS logs are wrapped in TWO layers:\n", + " message = row['@message']\n", + " if isinstance(message, dict):\n", + " line = row['@message']['log']\n", + " else:\n", + " # This will probably (?) be an incomplete log line, so let's skip it.\n", + " continue\n", + "\n", + " # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\n", + " if \"normalizer:get_normalized_nodes\" not in line:\n", + " continue\n", + "\n", + " logs.extend(convert_log_line_into_entry(line))" + ], + "id": "77059385da4ddcc9", + "outputs": [], + "execution_count": 57 + }, + { + "cell_type": "code", + "id": "227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc", + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T15:09:08.592424Z", + "start_time": "2025-07-03T15:09:08.590150Z" + } + }, + "source": [ + "logs[0:10]" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "[LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 4, 186000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=48.27, time_taken_per_curie_ms=1.9308, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 537000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.73, time_taken_per_curie_ms=11.73, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 308000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.74, time_taken_per_curie_ms=11.74, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 14, 1, 3, 241000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.35, time_taken_per_curie_ms=12.35, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 4, 335000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=71.37, time_taken_per_curie_ms=2.8548, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 608000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=16.55, time_taken_per_curie_ms=16.55, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 386000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=11.73, time_taken_per_curie_ms=11.73, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 13, 1, 3, 319000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=17.6, time_taken_per_curie_ms=17.6, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 873000), curies=['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], curie_count=25, time_taken_ms=47.77, time_taken_per_curie_ms=1.9108, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112', 'UniProtKB:P05177', 'UniProtKB:O43570', 'UniProtKB:P00918', 'UniProtKB:P00915', 'UniProtKB:P07451', 'UniProtKB:P35218', 'UniProtKB:Q9Y2D0', 'UniProtKB:P23280', 'UniProtKB:P22748', 'UniProtKB:P43166', 'UniProtKB:Q16790', 'UniProtKB:Q9ULX7', 'UniProtKB:P20292', 'UniProtKB:P51589', 'UniProtKB:P02144', 'UniProtKB:P35354', 'UniProtKB:P23219', 'UniProtKB:O15438', 'UniProtKB:O95342', 'UniProtKB:P10635', 'UniProtKB:P08684', 'UniProtKB:O15439', 'UniProtKB:Q92887', 'UniProtKB:P04798'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node=''),\n", + " LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 183000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.33, time_taken_per_curie_ms=12.33, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node='')]" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 58 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "# Some overall measures", + "id": "a13af441dd8d87d" + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "", + "id": "2ee4b13bab99da17" + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T19:48:02.050286Z", + "start_time": "2025-07-03T19:48:01.872030Z" + } + }, + "cell_type": "code", + "source": [ + "times = sorted(list(set(map(lambda x: x.time, logs))))\n", + "count_requests = len(logs)\n", + "unique_curies = sorted(set([x for xs in map(lambda x: x.curies, logs) for x in xs]))\n", + "\n", + "print(f\"Time range: {times[0]} to {times[-1]} ({times[-1] - times[0]})\")\n", + "print(f\"Total number of requests: {count_requests}\")\n", + "print(f\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\")\n", + "print(f\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\")\n", + "print(f\"Average time per CURIE: {sum(map(lambda x: x.time_taken_ms, logs))/count_requests} ms\")\n", + "print(f\"Total number of unique CURIEs: {len(unique_curies)}\")" + ], + "id": "702b88dac738feb0", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Time range: 2025-06-26 00:01:03.559000 to 2025-07-03 14:01:04.186000 (7 days, 14:00:00.627000)\n", + "Total number of requests: 19043\n", + "Total number of CURIEs: 2176206\n", + "Total time taken: 6709482.9 ms\n", + "Average time per CURIE: 352.33329307357036 ms\n", + "Total number of unique CURIEs: 233697\n" + ] + } + ], + "execution_count": 76 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T19:47:29.963351Z", + "start_time": "2025-07-03T19:47:29.451910Z" + } + }, + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from dataclasses import asdict\n", + "\n", + "# Assume `records` is your list of dataclass instances\n", + "# Convert to DataFrame\n", + "df = pd.DataFrame([asdict(r) for r in logs])\n", + "df['time'] = pd.to_datetime(df['time'])\n", + "df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000" + ], + "id": "95e54a3b26740479", + "outputs": [], + "execution_count": 73 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T19:47:41.139654Z", + "start_time": "2025-07-03T19:47:41.081034Z" + } + }, + "cell_type": "code", + "source": [ + "# Plot requests against time.\n", + "requests_per_hour = df.set_index('time').resample('h').size()\n", + "sns.lineplot(x=requests_per_hour.index, y=requests_per_hour.values)\n", + "plt.title(\"Requests per Hour\")\n", + "plt.xlabel(\"Time\")\n", + "plt.ylabel(\"Number of Requests\")\n", + "plt.xticks(rotation=45)\n", + "plt.tight_layout()\n", + "plt.show()" + ], + "id": "acd50a9d9affe09f", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 75 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T19:58:35.599825Z", + "start_time": "2025-07-03T19:58:35.544619Z" + } + }, + "cell_type": "code", + "source": [ + "# CURIEs per request\n", + "sns.histplot(df['curie_count'], bins=50, stat='percent')\n", + "plt.title(f\"CURIEs per request (max = {max(df['curie_count'])})\")\n", + "plt.xlabel(\"Number of CURIEs\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.show()" + ], + "id": "f9e4e8b8b5738328", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPdlJREFUeJzt3Qd8FHX+//EPNfQOCWgoilIFBRUQbIggegjCzxNFBcWOqMSKvVM8AfUoVxDk7jyVE1DPE0tELBdUsCCoCIoEhAQsJBQTEOb/eH9//93f7mYTkrBkd5LX8/EYws7Ozn53dnbnvd8yU8nzPM8AAAB8qHK8CwAAAFBaBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAKIHJkydb+/btbf/+/fEuCg5g8eLFVqdOHdu2bVu8i4JDiCCDhPXtt9/a1VdfbUcccYTVqFHD6tWrZ71797YnnnjCfv311+BylSpVsuuvvz7qOv71r3+5+995553gvFGjRrl5gSkpKcmOPvpou/feey0vL6/AOiLX//3334c9PnKaOHFizLcFYm/z5s12//3322effVbsx+Tm5tqkSZPs9ttvt8qVK+7X58cff+w+E506dbLatWtby5Yt7fe//7198803BZYt6rNy5plnRv3cX3TRRdasWTOrWbOmHXXUUXbXXXcVWO6Pf/yjdejQwX1+DzvsMEtLS7Ndu3aFLXPWWWdZ27ZtbcKECTHeAkgkVeNdACCaV1991c4//3z3JXXppZda586dbc+ePfb+++/brbfeaqtXr7Y///nPpV6/1vvXv/7V/T8nJ8deeukle+ihh9yX6D/+8Y9irePCCy+0s88+u8D84447rtTlQtkGmQceeMBat25txx57bLEe8/TTT9tvv/3m3vuKTGHugw8+cJ/RLl26WFZWlgsW3bp1s2XLlrnPa8Df/va3Ao9fvny5+0HSv3//sPkKlaeddpoLJjfffLM1btzYMjMzbePGjWHLKUiqZux//ud/7MYbb7Qvv/zSnnrqKfe98Prrr4ctqx9Dt9xyi3uv69atG/NtgQSgi0YCieS7777z6tSp47Vv397bvHlzgfvXrl3rTZs2LXhbu/GYMWOirmv+/Pnu/iVLlgTnjRw50qtdu3bYcvv37/d69uzpVapUycvKygq7L3L969evd/Mee+wxz8/27t3r5efnF3v5ffv2eb/++qtXXnz88cfufZwzZ06xH9OlSxfv4osv9iq6Dz74oMC+880333hJSUneiBEjDvj40aNHu8/axo0bw/avzp07ez169PB2795d6GP1nVC1alXvkksuCZv/1FNPuffz5ZdfDpufnZ3tValSxZs9e3YJXiH8pOLWjSJh6ZfWzp07bfbs2da8efMC96uqWL/CYknV3H369FGwt++++y5m69UvzwEDBliTJk1cNXmbNm3s8ssvP+DjVEvwu9/9zt544w1XW6CmtY4dO9qCBQsKLLt9+3a76aabLDU11dU0afvoF3NoH45Ac9gf/vAHmzZtmh155JFuWf2SLUygSU01VGpC0PLqcyA//PCDex3Jycluvu5XbUWkTZs22ZAhQ1zzg5oKxo0b534xRzb36fWqyS+Sfp1rCpWfn2/33Xefe516br3u2267zc0P9eabb7r3tEGDBq6fRLt27ezOO+909+m5TzjhBPf/yy67LNjUMXfu3EK3x/r1623lypXWr1+/sPmh23b69OmuKbRWrVqutkE1CdqnVNt3+OGHu31g8ODB9vPPP4etQzWC55xzjrVo0cK9Jr0/esy+ffuCy3z11Vfu8aqhDKVayipVqrhairJy0kknWfXq1cPmqQlI+4HKWRS9Ty+++KKdeuqpbpsEaF9ftWqVe2/1Onfv3h32+gMyMjJcrdjw4cPD5gduP/fcc2Hztd+p1kjbGOUTTUtIOK+88oo7GOjLsizpgCQNGzYs1vL6ov3xxx8LzNeBs2rVqrZ161Z3MGvatKndcccdbr6eI1oYiWbt2rV2wQUX2DXXXGMjR460OXPmuKp8hYlA3wKVQQcEBQtVoauvwn//+18bP368bdmyxYWWUFqH+gFdddVV7oDZqFGjIsvw9ttv2wsvvOACjcKYAkd2drb17NkzGHT0+l577TUbPXq060OiUCXqx3TGGWe4poEbbrjBHaTVzKB1lpbC2bnnnusO3noN6iPxxRdf2NSpU13/jEWLFrnl1MSgIKgD2IMPPuhe67p161xziOhxmq9+UVrPySef7OYXtc9pu4qaT6JR4FPz59ixY11QUSBXv5G+ffu64KSgoTKoCURNHaHBTwFKYUv9PPRX20hl0/Z87LHHgmVWuFHTqppUtB3UJ0QBUJ2P9XoOFCB27NhRrO2s97qkFNi0byjMFOU///mPC98jRowIm//WW2+5v3qvjj/+eFuxYoULS+edd57NmDEjuK8GAqvCTiiFR9HjInXv3j24b6AcineVEBAqJyfHVQ8PHjy42I8pbdPStm3b3LRu3TrvD3/4g6vqVtW2mpmK07RU2JSRkeGWW7hwobutJoySatWqlXvsiy++GLZtmjdv7h133HHBeQ899JB7LarWD3XHHXe46vTMzMywMterV8/bunVrscqg5StXruytXr26QLOAyvHjjz+GzR8+fLhXv379YLOAmv+0jhdeeCG4zK5du7y2bdsWeE/0evW+RDr11FPdFPC3v/3Nlem9994LW27WrFlunWrykKlTp7rben9j1bR09913u+V37NgRNj+wbZs2bept3749OH/8+PFufteuXV0zXsCFF17oVa9e3cvLywvOi9aUcvXVV3u1atUKW07NL3369PGSk5Pd9td+qWaW4uxjep1F7behU2novdFjD9SEM2zYMNcE9csvv4TNP/fcc93jGzdu7Jqn/vWvf3n33HOPe30nnXRS8HO5YsUKt5z2/VCLFy9289UsHenRRx9196mZCeUPNTJIKPoFKoe6U55+yaomIZSaIZ555hlX01Ac+iWvGpJIagIS1cDIv//9b+vatatVq1atRGVUDYZ+jQZo1JaaFdRspM6VKSkpNn/+fFeboFqk0NohNX9o9NS7774b9st32LBhBV53UVTbE3g9onyjZgHVNOj/oc+pJjRV63/yySdudJl+eatpULUHob+atd3UFFQaer2qmVANROhzq9ZDlixZ4mpVAttezQlqOorFCKOffvrJ1bSpxiQa7Qv169cP3u7Ro4f7e/HFF7vHhc7/5z//6WrRVPMYWbugWhPVOuh9/dOf/mRff/21239Er0O1N7o9cOBA13R59913uxqMA9H7o+a2Q0FlHDNmjPXq1cvVHhb1+VZHfnWSD7xHAWpOFjX5/f3vfw/ur9pnVMOYnp7u9mvViGkb6nOgTsGnn366a8669tpr3WcsdERjQKCWVfuMmppQvhBkkFB0sJbiVoEXV2Q4UZ8TNWEF+nGoGUBNQZHV1UVRn4DI/hKRIUBfxBotoaYP9fVQfxENLVX1+YGoD0hkuTVMXNREpSCj5if12ygsnOg1hVIfnZKIXF7n41CzgEaMFTZqLPCcGzZsiPoa1FeltPR6ddA6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2+zZs2NfGgAAgEPd2fe3336zp59+2t566y3r3r17gWssTZkypTSrBQAAOHRB5rvvvrPWrVvbqlWrrFu3bm6eOv2G0lBsAACAhAsyOnOvrqu0ZMmS4CUJnnzySUtOTj5U5QMAAIhNH5nIq1u/9tprbug1AACAbzr7FhZsAAAAEjbIqP9LZB+Yg+kTM3PmTOvSpYvVq1fPTb169XK1PAF5eXk2ZswYa9y4sdWpU8eGDRtm2dnZpX4+AABQgfvIqAZm1KhRwQtDKmhcc801BUYtLViwoFjr09WzJ06c6PreaN3PPPOMO1OwzhDcqVMnGzdunL366qs2f/58q1+/vl1//fXuDMJcBgEAAJQ4yIwcObLA+WQOxqBBg8JuP/LII66WZtmyZS7k6Fw1zz77rPXt29fdP2fOHOvQoYO7v2fPnryDAABUcCUKMgoSh8q+fftczYs6D6uJacWKFe5yCP369Qsu0759e2vZsqVlZGQQZAAAQOlOiBdLX3zxhQsuaqZSP5iFCxdax44d7bPPPrPq1atbgwYNwpbXUO+srKxC15efn++mgNzc3ENafgAA4NNRS7HQrl07F1o+/PBDu/baa13z1Zdfflnq9U2YMMH1pwlMqampMS0vAABIHHEPMqp1adu2rbvUgUJI165d7YknnrCUlBTbs2ePbd++PWx5jVrSfYUZP3685eTkBKeNGzeWwasAAAAVMshE2r9/v2saUrDRlbbT09OD961Zs8YyMzNdU1RhNKIqMJw7MAEAgPIprn1kVHsycOBA14F3x44dboTSO++8Y6+//rprFho9erSlpaVZo0aNXCAZO3asCzF09AUAAHEPMlu3brVLL73UXb9JwUUnx1OIOfPMM939U6dOtcqVK7sT4amWZsCAATZjxgzeOQAAEP8go/PEFKVGjRo2ffp0NwEAACR8HxkAAIDiIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgA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+geVJZrwAMCnQebHH3+0ffv2WXJy+C9x3f7666+jPiY/P99NATk5Oe5vbm7uITm47v11V9HLeF5Mlonlulim6GVycndYw8ZNi1xmd16+1aqRVCbL5O7cGZvXvn//AT8HJ/bqbdlZWUUuk5ySYh9lfFAm6wFQceX+/+8rfb8VyUtgP/zwg0rv/fe//w2bf+utt3onnnhi1Mfcd9997jFMTExMTExM5vtp48aNRWaFhK6RadKkiVWpUsWys7PD5ut2SkpK1MeoGUqdgwP2799vP//8szVu3NgqVaoU06SYmppqGzdutHr16sVsvRUN2/HgsQ1jg+148NiGscF2tGBNzI4dO6xFixZWlIQOMtWrV7fu3btbenq6DRkyJBhMdPv666+P+pikpCQ3hWrQoMEhK6N2soq8o8UK2/HgsQ1jg+148NiGscF2NKtfv/4Bl0noICOqXRk5cqQdf/zx7twxGn69a9eu4CgmAABQcSV8kLngggts27Ztdu+997oT4h177LG2ePHiAh2AAQBAxZPwQUbUjFRYU1K8qPnqvvvuK9CMhZJhOx48tmFssB0PHtswNtiOJVNJPX5L+BgAAICEUDneBQAAACgtggwAAPAtggwAAPAtggwAAPAtgkwpTZ8+3Vq3bm01atSwHj162EcffRTvIiWM+++/351FOXRq37598P68vDwbM2aMO9tynTp1bNiwYQXO3pyZmWnnnHOO1apVy5o1a2a33nqr/fbbb1ZevfvuuzZo0CB3Bkttr0WLwi8SqT75OgWBrsxds2ZNd+HUtWvXhi2jM1iPGDHCnUBLJ4EcPXq07dy5M2yZlStX2sknn+z2W505dPLkyVaRtuOoUaMK7JtnnXVW2DIVfTtOmDDBTjjhBKtbt6777OlkpGvWrAlbJlaf4Xfeece6devmRue0bdvW5s6daxVlG5522mkF9sVrrrkmbJmKvA1LJJbXRqoonnvuOa969ere008/7a1evdq78sorvQYNGnjZ2dnxLlpC0PWuOnXq5G3ZsiU4bdu2LXj/Nddc46Wmpnrp6ene8uXLvZ49e3onnXRS8P7ffvvN69y5s9evXz/v008/9f7zn/94TZo08caPH++VV3qNd911l7dgwQJ3bZGFCxeG3T9x4kSvfv363qJFi7zPP//cO/fcc702bdp4v/76a3CZs846y+vatau3bNky7733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Xai1NHSh0nPOOcdatWpV6DIKEb1793ZXaH/sscfsmGOOcReDfP31123MmDGuVqekrrzySnvwwQctPz/fXTDwqquucuu/9tpri3zcW2+9ZZ06dQqb17hx4xI/P1DRUCMDlBP9+vVzV8lWDUBh7r///gLNLNOmTbPWrVsXqGV49NFHLTk52R2EdWD+7bff7NZbb7VGjRrZ4YcfbnPmzCmwfh34TzrpJBeqOnfubEuXLg27f9WqVTZw4ECrU6eOW/cll1xiP/74Y1iNhq4afNNNN1mTJk1swIABUV+HrkatMqkcqkXRa1q8eHHwftVm6ArWWkb/1+uO5rrrrnP3f/TRRzZs2DBXg6IwkZaWVurakFq1arn3QQHqsssusy5durgrEh+IQoseFzrpKtPy+eef2+mnn25169Z1Vz/WFaiXL19eqvIB5Q1BBignqlSp4sLHU089ZZs2bTqodakmYfPmzfbuu+/alClTXDPN7373O1fT8+GHH9o111zjan4in0dB5+abb7ZPP/3UevXq5ZpofvrpJ3ff9u3brW/fvnbccce5g7CCR3Z2tv3+978PW8czzzzjamE++OADmzVrVtTyPfHEE/b444/bH/7wB1u5cqULPOeee66tXbvW3b9lyxYXSFQW/f+WW24psI6ff/7ZlUE1L2qCiqQAdzDUnPTee++5cFfaWqWAESNGuND28ccfu4B2xx13BEMOUNERZIBy5LzzznO1EwoeB0O1Lk8++aS1a9fOLr/8cvd39+7dduedd9pRRx1l48ePdwfn999/P+xxqk1RzUaHDh1s5syZVr9+fZs9e7a7749//KMLMQpb7du3d/9/+umnbcmSJfbNN98E16H1T5482T2npmgUYG6//XYbPny4W0ZNanrdql0S1WZUrVrV1fzo//obad26dS5sqCyxNGPGDPd8qik65ZRTXO3RDTfccMDHqSZLjwudAjIzM12Nm8qq7XP++edb165dY1puwK/oIwOUMzqoq+YjWi1Ecak2o3Ll//udo2YgNRWF1v6oKWTr1q1hj1MtTICCxPHHH29fffVVsHlEoSVaqFB/FjXriJpNipKbm+tqi9S3JZRu6zmKK7QDbiyp9uSuu+6yX375xQVKBRRNB/L888+7ABiNmrquuOIK+9vf/uYCjYLMkUceeQhKD/gPQQYoZ1QLoKYW1Zqov0sohZPIA7g6t0aKbLZQP5Jo81TbUFw7d+50TU0KWpGaN28e/H+0Zp5DQTUbeg3F6dCrvik5OTkF5qu5TLVOoXS7bdu27v8vvPCC+7+GgSuAFEWjpQKPi6Q+PhdddJG9+uqr9tprr7mA9Nxzz7kaOKCio2kJKIc0DPuVV16xjIyMsPlNmzZ1w41Dw0wsz/0S2kFWnYPVnyNQy9CtWzdbvXq161isA3boVJLwos6uLVq0cH1oQul2x44dS9R8psA3ffp027VrV9SQEqDmK72WUPv27XM1QIGapGhU+3TjjTe62rGDrQHS84wbN87eeOMNGzp0aNTO1kBFRJAByiENI1YTh/q5hNKooG3btrk+KGrO0UFcv/BjRetbuHChq+VQJ1o1r6iPjei2OtheeOGFrtOqnl/DnDWyR6GgJNSpWDU7ao7ReWLU+VWBTKGhpOXVc5944on24osvus7CagrTdgttJlPTzl//+lfX/0XL6Lk0rFqvT00+RVGnaPUB0vqLok7RCpmhU15env3666+u79E777xjGzZscIFN26+wZiigoiHIAOWUhh5HNv3o4KeDsQ7g6iyqYccH05cmWk2QJq1bHYFffvllN4xaArUoCg79+/d3YUvDrDU6KLQ/TnGo86zChUYlaT0afaTnUnNRSegkeJ988okb2qx1qR/QmWee6U6Gp87KAQpfCjLqnKw+PGeddZYLGhrVpf5DB6r5ufTSS13zUFFNcWp6UhNb6KST8Kk/kkKO1qFaGY3y0hD2Bx54oESvFSivKnmHqscbAADAIUaNDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAAML/6f8bgsMdHNVolAAAAAElFTkSuQmCC" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 93 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T19:58:50.581601Z", + "start_time": "2025-07-03T19:58:50.538167Z" + } + }, + "cell_type": "code", + "source": [ + "# CURIEs per request (but only from 1-10)\n", + "sns.histplot(df['curie_count'], bins=10, binrange=(1, 10), stat='percent')\n", + "plt.title(\"CURIEs per request (from 1-10)\")\n", + "plt.xlabel(\"Number of CURIEs\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.show()" + ], + "id": "c661fc023ff6240c", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAANX5JREFUeJzt3QmczWXfx/HfMIx9328m2gxJokJpsUSSEk93ilJpl0RK2qQNLUiR6rak5RZ3qXQ/qCRaRlnadCNUhuyVGfuS87y+1/Ocec4ZZ5gZM3PONfN5v15/Zv7nnP9cZ5k533Ndv+v6xwUCgYABAAB4qEi0GwAAAJBTBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQDII0899ZQlJSXZoUOH0vft3LnTbrzxRqtRo4bFxcXZXXfdFdU2+mj8+PGWmJho+/bti3ZTEAMIMigQ1qxZY7fccosdf/zxVqJECStXrpydc8459txzz9mePXvSr6c3jjvuuCPiMf71r3+5yz/99NP0fdddd53bF9wSEhLs5JNPtocfftj27t172DEyHv/XX38Nu33Gbfjw4bn+WCD3bdiwwR555BH79ttvs3ybtLQ0GzFihA0aNMiKFPn/P7VPPvmkTZ482W677TZ77bXX7JprrrFY9tZbb1nPnj3tpJNOcq/ZCy64IFu337hxo913333WunVrK1u27GG/Yxl9+eWX1qpVKytVqpQLe3feeacLf6H0e7l//3576aWXcny/UHDER7sBwLH697//bVdccYULGddee601atTI/ZH7/PPP7Z577rEff/zRXn755RwfX8f9xz/+4b5OTU219957zx577DEXnt54440sHeOqq66yiy+++LD9p59+eo7bhfwNMkOHDrW6detakyZNsnSbiRMn2sGDB91zH+qTTz6xFi1a2JAhQ8wHL774oi1ZssTOPPNM+/3337N9+5UrV7pApyB06qmnWnJycqbXVVBs27atNWjQwEaOHGnr16+3Z555xlatWmWzZs1Kv54+rPTq1ctdp2/fvi4cofAiyMBrv/zyi3Xv3t2OO+449wZRs2bN9Mv69Oljq1evdkHnWMTHx7tPpEG33367nX322fbPf/7T/SGtXr36UY/RtGnTsGP4Rm/IGh4pXrx4lq6v6ypM6g2nsJo0aZJdeumlhz0GW7ZssYYNGx719urx0+Md2psTDeo1+tvf/ubaoQ8J2dWsWTMXgCpVquR6PfWhIzP333+/VaxY0fXYqFdVFB5vuukm+/DDD619+/bp1/373//uhu7mzZtnbdq0yeG9Q0HA0BK8pj9k6naeMGFCWIgJOvHEE61fv365+jP16U9d3zpx/M8//5xrx128eLF16NDBqlSpYiVLlrR69erZDTfccNTb6Q/9JZdc4v7Qq7dAb5x6o3znnXcOu+727dtdTUadOnVcT5MeH31aDq3hCA6H6ZPw6NGj7YQTTnDX/c9//pNpG4JDauqhOuWUU9z1Z8+e7S777bff3P1Q4NN+Xa7eioz06btLly5WunRpq1atmvXv39/mzJlz2FCE7q+GFjLSkEfGYQ/VUKjnQ/dTP1v3+9577z2stuKjjz5yz2mFChWsTJkyVr9+ffemKvrZ6o2Q66+/Pn1YUMNDRwrY33//vbVr1y59n46j2+kyhevgcfR4By+bOnWqPfjggy44aGhFw1Myffp0Fwj0utDrQ6FYj2soPSZqe0pKins96GsdZ+zYse7yH374wb3h6/FV8H/zzTctK/SYHUuY0nCSQszR6L7qedB9C4YYUS+r7su0adPCrq/HQ8dVDykKN3pk4LWZM2e6uhj1kOQnvfmIPj1mxe7du23btm2H7dcbp3p89CldnzarVq3q6gm0Xz8jUhiJRF3vV155pd16662uy129AfrkqzBx4YUXprfh/PPPd2+AqidSsaTqEQYPHuzqGBRaQukY6hW4+eabXQg42puResT0ZqNAozdbBY7Nmze7YZRg0NH90xBB79693RtXsNBVdUwaUtCbsGoiatWq5XoCdMycUjhTj4iGGHUfNFyhN/NRo0bZTz/9ZO+++667noYe9cbfuHFje/TRR919VU/eF1984S7X7bRfdVE6zrnnnuv2H+k1p8c12BMXpOPoPimg1a5d2+6++263X49J8PWkIUv1wgwcONCFLX2twKQApTA1bNgw95iq9kvt++abb9xrJeivv/6yjh072nnnnedCvoKlHneFlwceeMB69OhhXbt2dcWyCggtW7Z0gTkW6LlRz98ZZ5wRtl+PgQK67mtGenyDzxMKsQDgqdTU1IBewpdddlmWb6Pr9+nTJ+Jl06dPd5fPmzcvfV+vXr0CpUuXDmzdutVtq1evDjzzzDOBuLi4QKNGjQKHDh064vF/+eUXty+zLTk52V1vxowZ7vtFixZl+3E47rjj3G3ffvvtsMemZs2agdNPPz1932OPPebuy08//RR2+/vuuy9QtGjRQEpKSliby5UrF9iyZUuW2qDrFylSJPDjjz+G7e/du7drx7Zt28L2d+/ePVC+fPnA7t273fejR492x5g2bVr6dXbt2hU48cQTD3tOdH/1vGR0/vnnuy3otddec2367LPPwq43fvx4d8wvvvjCfT9q1Cj3vZ7fzOh50XUmTZqUpcfjwQcfdNffsWPHYZep/Z06dQrbp/un6x9//PHpj4ns378/UK1aNfda27NnT/r+Dz74wF3/4YcfTt+nx0T7nnzyyfR9f/75Z6BkyZLu9Tp16tT0/StWrHDXHTJkSCA7TjnllLDHOLsi/Y5lvGzBggWHXXbFFVcEatSocdj+m2++2d0/FG4MLcFbwW53dV3npV27drlPzdo0RKFPy5oRpS7trBYZ6pO8us0zbsFaieCn6g8++MAOHDiQ7TaqB+Pyyy9P/15d8/rErU+xmzZtSh+eUG+CepHUOxTcNPyhT/ILFiwIO2a3bt3cfc4q9faE1n4o37z99tvWuXNn93Xoz9QQmgqnly5d6q773//9325o8L/+67/Sb6+hFT1uOaX7q14QTX8O/dnBegrVVoQ+9no+Q4fYjoVqQtTTpiGR7FBvmoaPQocb1VunuqzQWptOnTq5+xWp/ktTu4N03zRMph4Z1ZQEaZ8uy82h0WMVnF2oHrGMdN9DZx8G6bWs/eptROHF0BK8FRxH37FjR64eN2M40R9RDWEF6zjUZa83l9A3nKPRjI3QeolIIUDBQTNjNPShWg/Vi1x99dUR/7BnpICVsd2aJi4attA0Vg0/qW4js3Ci+xQqu0MOGa+/detWV5OjGWOZzRoL/sy1a9dGvA96w80p3d/ly5cf9f5qSE6z0hQANKynIS4NvyhU5XehbcbHUI9LZo+DgoyGzTK+VjPe3/Lly7uhrIyPrfb/+eefudJuFXb/8ccfYfvUjqJFi2b5GMHfp0hrw2iIM9Lv2/92Bh7+O4vChSADr4OMeiKWLVuW5dsoFET6ZCfBT3UZZ5noj3FoCFFvgt5EVGfy/vvvW27QH2LN6Fi4cKELTSpyVYHss88+6/Zl95N9JOptUL2Mil0jCQafoOwEtUjXD/ZuqHhTPQ2RqC4luzJ701KvUugbp36+pvtqZllmRazBdqs3Sj006uFQXZHWTlHPjQqos/NmHFS5cmVX76GQnZ0ew+w+5hll1tbM9geDwLFSTZDWiQmlombVSWVVsFhf9VoZaZ9+1zNSEFPP3bE+bvAbQQZeU5GmPu1rbQoVLh6NZmtoXYtIgvt1naP9wVXBpnpPFDJUzJpbdCxtTzzxhJtVouJMzWQJHS6IRMWpelMKfZNXQasE30w0+0gzvI7UM5Sb9Ilcb+IKGEf7mXrMFUgz3odIz5WGE9TTk5F6L1T4HaT7+91337kelqN9YlfPi66nTcFHi9apOFbhRm3P7id+Bd3gm3lOwlpQ8LWoxyHjFGPtO9prNb+cdtppbqg0lHoBs0NTuzUcp+G00GEw9fZofZnQfUF6fDV8iMKNGhl4Tb0LGv/XG71mc2SkRes0wyNIi9IpfGiBr1B6Y9QMD82OyMofYC3CpU+CubUyrz5ZZvx0HFx4LSvLsGvBthkzZoTVD02ZMiXs/uiNQIFPvT0Z6f6rByE3qRdAw2Wqk4nUa6ahp9DnRfdBvVKhPWSRhqQUUPQc6g0uSLVF69atC7ue7q9maL3yyiuHHUO9cqp9koxDIpEee73GJFKAiiQYqvWmfCw0g0dT0TXLKPR1oJlfGjZTrUwsULhU4AvdsruGkIa6dLvXX389bLhYM70UwCOtP6Maq/yesYjYQ48MvKY3NfVcqM5Bn8xCV/ZVd7cKPkPXHFENhPZpeqqGhvTJWW+gmuKq7mtNOc7q0IGmxI4bN869oRztU6H+4OoPdKT2603v1VdfdcdSwa726Q+53oA1fBZpReBIw0Ka0rxo0SK3XovWaVGwC70/WuVYQ2HqxdJjonU49Gauaa8KEKql0bTp3KSgp16N5s2bu0XNVAys4KDH4+OPP04PEbrshRdecM+fQqZ6vfQGprCYkUKr2nvRRRe5sKKwqsdWj1soLf2v6eCakq42qEBbvUMrVqxw+xXoFBQ0tVpDSwoF6uFQ7YyeC9WVaG0Z0bFVHKtAoV4mBRvdp8zqiNQzpNeh7mNW1gLKTLFixdw6P3qtqY5KqwQHp1+rp009g3lNj02wEFzhU6+Zxx9/3H2v3yNtRxO8vqa6i57bYH2P1s0JUk+kgonuqwq9VZOm4VUtTaDnO5ReJ3r9XHbZZbl4b+GlaE+bAnKDphTfdNNNgbp16waKFy8eKFu2bOCcc84JPP/884G9e/eGXXf9+vWBG2+8MfC3v/0tEB8fH6hUqVLgkksuCSxcuPCw4wanX0eyZs0aN205dCpwdqdfB2+7dOnSwFVXXRVITEwMJCQkuCm3atPixYuPet+D03nnzJkTaNy4sbt9UlKSm86akaYDDx482E1r1uNUpUqVwNlnn+2mlGuqb2ibn3766aP+7Mzud6jNmze7y+rUqRMoVqyYm0bbtm3bwMsvvxx2vbVr1wYuvfTSQKlSpVy7+vXrF5g9e3bE6brPPvuse/50X/U863HKOP1adJ9GjBjhpg3ruhUrVgw0a9YsMHToUDdFXebOneum8NeqVcs9Jvpfz0XGaervvfdeoGHDhu41k5Wp2CNHjgyUKVMmbDr10aZfR3rO5K233nJT6XUf9Hrt0aOHex1n5bWqx0T3P6NI7YhEU7Qze/1mdfr2kX4HMtJ0eb0mS5QoEahatap77aSlpR12vUGDBrnfl4xLIKDwidM/0Q5TAHJOn8z16V/DKwWNVrxVEal6VLJ7ssJo0/Ry9cxolpt6y5B7NMym1716WHN75W74hxoZAMgDqvlQDdfTTz+da+vT4H9pyFTDbho2BAgyAJBHBg0a5Gpyon3ix4JGAUans8jKGkso+PjtAgAA3qJGBgAAeIseGQAA4C2CDAAA8FaBXxBPswW04JkWseLEYgAA+EGVL1ocVOfZOlLBfIEPMgoxwZPDAQAAv+j0I1ppu9AGmeCZZ/VAaLl3AAAQ+3TOOHVEHO0M8gU+yASHkxRiCDIAAPjlqGevz7eWAAAA5DKCDAAA8BZBBgAAeIsgAwAAvEWQAQAA3iLIAAAAbxFkAACAtwgyAADAWwQZAADgLYIMAADwFkEGAAB4iyADAAC8RZABAADeIsgAAABvxUe7AT5LSUmxbdu2mW+qVKliiYmJ0W4GAADHjCBzDCEmKamB7dmz23xTsmQpW7FiOWEGAOA9gkwOqSdGIab5DUOsXM265ou0jb/aVxOHuvYTZAAAviPIHCOFmEqJ9aPdDAAACiWKfQEAgLcIMgAAwFsEGQAA4C2CDAAA8BZBBgAAeIsgAwAAvEWQAQAA3opqkHnkkUcsLi4ubEtKSkq/fO/evdanTx+rXLmylSlTxrp162abN2+OZpMBAEAMiXqPzCmnnGIbN25M3z7//PP0y/r3728zZ8606dOn2/z5823Dhg3WtWvXqLYXAADEjqiv7BsfH281atQ4bH9qaqpNmDDB3nzzTWvTpo3bN2nSJGvQoIEtXLjQWrRoEYXWAgCAWBL1HplVq1ZZrVq17Pjjj7cePXq4kzHKkiVL7MCBA9auXbv062rYSecHSk5OjmKLAQBArIhqj0zz5s1t8uTJVr9+fTesNHToUDv33HNt2bJltmnTJitevLhVqFAh7DbVq1d3l2Vm3759bgtKS0vL0/sAAAAKaZDp2LFj+teNGzd2wea4446zadOmWcmSJXN0zGHDhrlABAAACr6oDy2FUu/LySefbKtXr3Z1M/v377ft27eHXUezliLV1AQNHjzY1dcEt3Xr1uVDywEAgBX2ILNz505bs2aN1axZ05o1a2bFihWzuXPnpl++cuVKV0PTsmXLTI+RkJBg5cqVC9sAAEDBFNWhpYEDB1rnzp3dcJKmVg8ZMsSKFi1qV111lZUvX9569+5tAwYMsEqVKrlA0rdvXxdimLEEAACiHmTWr1/vQsvvv/9uVatWtVatWrmp1fpaRo0aZUWKFHEL4amAt0OHDjZu3DieOQAAEP0gM3Xq1CNeXqJECRs7dqzbAAAAYrpGBgAAIDsIMgAAwFsEGQAA4C2CDAAA8BZBBgAAeIsgAwAAvEWQAQAA3iLIAAAAbxFkAACAtwgyAADAWwQZAADgLYIMAADwFkEGAAB4iyADAAC8RZABAADeIsgAAABvEWQAAIC3CDIAAMBbBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQAA4C2CDAAA8BZBBgAAeIsgAwAAvEWQAQAA3iLIAAAAbxFkAACAtwgyAADAWwQZAADgLYIMAADwFkEGAAB4iyADAAC8RZABAADeIsgAAABvEWQAAIC3CDIAAMBbBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQAA4C2CDAAA8BZBBgAAeIsgAwAAvEWQAQAA3iLIAAAAbxFkAACAt2ImyAwfPtzi4uLsrrvuSt+3d+9e69Onj1WuXNnKlClj3bp1s82bN0e1nQAAIHbERJBZtGiRvfTSS9a4ceOw/f3797eZM2fa9OnTbf78+bZhwwbr2rVr1NoJAABiS9SDzM6dO61Hjx72yiuvWMWKFdP3p6am2oQJE2zkyJHWpk0ba9asmU2aNMm+/PJLW7hwYVTbDAAAYkPUg4yGjjp16mTt2rUL279kyRI7cOBA2P6kpCRLTEy05OTkTI+3b98+S0tLC9sAAEDBFB/NHz516lRbunSpG1rKaNOmTVa8eHGrUKFC2P7q1au7yzIzbNgwGzp0aJ60FwAAxJao9cisW7fO+vXrZ2+88YaVKFEi1447ePBgNywV3PRzAABAwRS1IKOhoy1btljTpk0tPj7ebSroHTNmjPtaPS/79++37du3h91Os5Zq1KiR6XETEhKsXLlyYRsAACiYoja01LZtW/vhhx/C9l1//fWuDmbQoEFWp04dK1asmM2dO9dNu5aVK1daSkqKtWzZMkqtBgAAsSRqQaZs2bLWqFGjsH2lS5d2a8YE9/fu3dsGDBhglSpVcj0rffv2dSGmRYsWUWo1AACIJVEt9j2aUaNGWZEiRVyPjGYjdejQwcaNGxftZgEAgBgRU0Hm008/DfteRcBjx451GwAAQMytIwMAAJBTBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQAA4C2CDAAA8BZBBgAAeIsgAwAAvEWQAQAA3iLIAAAAbxFkAACAtwgyAADAWwQZAADgLYIMAADwFkEGAAB4iyADAAC8RZABAADeIsgAAABvEWQAAIC3CDIAAMBbBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQAA4C2CDAAA8BZBBgAAeIsgAwAAvEWQAQAA3iLIAAAAbxFkAACAtwgyAADAWwQZAADgLYIMAADwFkEGAAB4iyADAAAKV5D5+eefc78lAAAA+RFkTjzxRGvdurW9/vrrtnfv3pwcAgAAIDpBZunSpda4cWMbMGCA1ahRw2655Rb7+uuvj701AAAAeR1kmjRpYs8995xt2LDBJk6caBs3brRWrVpZo0aNbOTIkbZ169acHBYAACD/in3j4+Ota9euNn36dBsxYoStXr3aBg4caHXq1LFrr73WBRwAAICYDDKLFy+222+/3WrWrOl6YhRi1qxZYx999JHrrbnssstyr6UAAAAZxFsOKLRMmjTJVq5caRdffLFNmTLF/V+kyP/monr16tnkyZOtbt26OTk8AABA3gWZF1980W644Qa77rrrXG9MJNWqVbMJEybk5PAAAAB5F2RWrVp11OsUL17cevXqlZPDAwAA5F2NjIaVVOCbkfa9+uqrOTkkAABA/gSZYcOGWZUqVSIOJz355JM5OSQAAED+BJmUlBRX0JvRcccd5y7LTq2NFtYrV66c21q2bGmzZs1Kv1yrBvfp08cqV65sZcqUsW7dutnmzZtz0mQAAFAA5SjIqOfl+++/P2z/d99950JHVtWuXduGDx9uS5YscVO527Rp46Zs//jjj+7y/v3728yZM92Q1fz5892Ubq1bAwAAkONi36uuusruvPNOK1u2rJ133nlun4JGv379rHv37lk+TufOncO+f+KJJ1wvzcKFC13I0aynN9980wWcYG1OgwYN3OUtWrTgGQQAoJDLUZB57LHH7Ndff7W2bdu61X3l0KFDbjXfnNbI/PXXX67nZdeuXW6ISb00Bw4csHbt2qVfJykpyRITEy05OTnTILNv3z63BaWlpeWoPQAAoIAGGU2tfuutt1yg0XBSyZIl7dRTT3U1Mtn1ww8/uOCiehjVwcyYMcMaNmxo3377rfs5FSpUCLt+9erVbdOmTUcsRB46dGhO7hYAACgMQSbo5JNPdtuxqF+/vgstqamp9q9//cutPaNhqpwaPHiwOyt3aI+Mzv0EAAAKnvicDgPpFARz5861LVu2uGGlUJ988kmWj6VelxNPPNF93axZM1u0aJE7s/aVV15p+/fvt+3bt4f1ymjWUo0aNTI9XkJCgtsAAEDBl6Mgo6JeBZlOnTpZo0aNLC4uLtcapFCkGheFmmLFirmwpGnXonM7aXq3hqIAAAByFGSmTp1q06ZNcyeKPBYaBurYsaMr4N2xY4ebofTpp5/anDlzrHz58ta7d283TFSpUiW3zkzfvn1diGHGEgAAOKZi3+Bw0LHQsJRmOm3cuNEFFy2OpxBz4YUXustHjRrlzqitHhn10nTo0MHGjRvHMwcAAHIeZO6++25Xx/LCCy8c07DS0c6OXaJECRs7dqzbAAAAciXIfP755zZv3jx3OoFTTjnF1bKEeuedd3JyWAAAgLwPMppFdPnll+fkpgAAANENMjpVAAAAgJcnjZSDBw/axx9/bC+99JKbcSQ6qePOnTtzs30AAAC52yOzdu1au+iii9yaLppNpFlGOoHkiBEj3Pfjx4/PyWEBAADyvkdGC+KdccYZ9ueff7rzLAWpbkYL2AEAAMRsj8xnn31mX375pVtPJlTdunXtt99+y622AQAA5H6PjE4joPMtZbR+/Xo3xAQAABCzQaZ9+/Y2evTo9O+1KJ6KfIcMGXLMpy0AAADI06GlZ5991p0uoGHDhrZ37167+uqrbdWqVValShX75z//mZNDAgAA5E+QqV27tn333Xfu5JHff/+9643RCR579OgRVvwLAAAQc0HG3TA+3nr27Jm7rQEAAMjrIDNlypQjXq4zWgMAAMRkkNE6MqEOHDhgu3fvdtOxS5UqRZABAACxO2tJC+GFbqqRWblypbVq1YpiXwAAEPvnWsropJNOsuHDhx/WWwMAABDzQSZYAKwTRwIAAMRsjcz7778f9n0gELCNGzfaCy+8YOecc05utQ0AACD3g0yXLl3CvtfKvlWrVrU2bdq4xfIAAABiNsjoXEsAAAAFqkYGAAAg5ntkBgwYkOXrjhw5Mic/AgAAIG+CzDfffOM2LYRXv359t++nn36yokWLWtOmTcNqZwAAAGIqyHTu3NnKli1rr776qlWsWNHt08J4119/vZ177rl2991353Y7AQAAcqdGRjOThg0blh5iRF8//vjjzFoCAACxHWTS0tJs69ath+3Xvh07duRGuwAAAPImyFx++eVuGOmdd96x9evXu+3tt9+23r17W9euXXNySAAAgPypkRk/frwNHDjQrr76alfw6w4UH++CzNNPP52TQwIAAORPkClVqpSNGzfOhZY1a9a4fSeccIKVLl06J4cDAADI/wXxdH4lbTrztUKMzrkEAAAQ00Hm999/t7Zt29rJJ59sF198sQszoqElpl4DAICYDjL9+/e3YsWKWUpKihtmCrryyitt9uzZudk+AACA3K2R+fDDD23OnDlWu3btsP0aYlq7dm1ODgkAAJA/PTK7du0K64kJ+uOPPywhISEnhwQAAMifIKPTEEyZMiXsnEqHDh2yp556ylq3bp2TQwIAAOTP0JICi4p9Fy9ebPv377d7773XfvzxR9cj88UXX+TkkAAAAPnTI9OoUSN3tutWrVrZZZdd5oaatKKvzoit9WQAAABiskdGK/ledNFFbnXfBx54IG9aBQAAkBc9Mpp2/f3332f3ZgAAALExtNSzZ0+bMGFC7rcGAAAgr4t9Dx48aBMnTrSPP/7YmjVrdtg5lkaO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nXHGGXbWWWfZ6NGjbdeuXW4WEwAAKNxiPshceeWVtnXrVnv44Ydt06ZN1qRJE5s9e/ZhBcAAAKDwifkgIxpGymwoCcdOQ3FacDDjkByig+cjtvB8xBaej9iSEAPPR5wqfqP20wEAAArqgngAAABHQpABAADeIsgAAABvEWQAAIC3CDKF1LBhw+zMM8+0smXLWrVq1dyCgytXrox2s/B/hg8f7laivuuuu6LdlELtt99+s549e7qVwUuWLGmnnnqqLV68ONrNKpR03r2HHnrI6tWr556LE044wR577LGjn4cHuWLBggXWuXNnt8qu/ja9++67YZfredAyKTVr1nTPj07uvGrVKssPBJlCav78+danTx9buHChffTRR3bgwAFr3769W2wQ0bVo0SJ76aWXrHHjxtFuSqH2559/2jnnnGPFihWzWbNm2X/+8x979tlnrWLFitFuWqE0YsQIe/HFF+2FF16w5cuXu++feuope/7556PdtEJh165ddtppp9nYsWMjXq7nYsyYMTZ+/Hj76quvrHTp0tahQwfbu3dvnreN6ddwtOigemYUcM4777xoN6fQ0hlkmzZtauPGjbPHH3/cLQCp1ayR/+677z774osv7LPPPot2U2Bml1xyiVsIdcKECen7unXr5j79v/7661FtW2ETFxdnM2bMSD91kGKEemruvvtuGzhwoNuXmprqnq/Jkydb9+7d87Q99Mgg/UUnlSpVinZTCjX1knXq1Ml1yyK63n//fXdqlCuuuMKF/NNPP91eeeWVaDer0Dr77LPdefZ++ukn9/13331nn3/+uXXs2DHaTSv0fvnlF7fyfujfLZ0jqXnz5pacnJznP9+LlX2Rt3QiTtViqBu9UaNG0W5OoTV16lRbunSpG1pC9P38889uKEPne7v//vvd83LnnXe6k9nq/G/I/x4ynWk5KSnJihYt6mpmnnjiCevRo0e0m1bobdq0yf2f8dRB+j54WV4iyMD1Aixbtsx9ukF0rFu3zvr16+fqlUqUKBHt5uD/Ar56ZJ588kn3vXpk9HuiGgCCTP6bNm2avfHGG/bmm2/aKaecYt9++637AKYhDZ6Pwo2hpUJO57D64IMPbN68eVa7du1oN6fQWrJkiW3ZssXVx8THx7tN9UoqntPX+vSJ/KXZFw0bNgzb16BBA0tJSYlamwqze+65x/XKqN5Cs8eu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" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 94 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T19:53:37.033040Z", + "start_time": "2025-07-03T19:53:36.967540Z" + } + }, + "cell_type": "code", + "source": [ + "# Time taken distribution\n", + "sns.histplot(df['time_taken_ms'], bins=20)\n", + "plt.title(\"Time taken\")\n", + "plt.xlabel(\"Time taken (ms)\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.show()" + ], + "id": "c06ac224b4390df3", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "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fXsra9as1unTp62UKiwszJo8ebK1e/dua8eOHdZTTz1lFSxY0Lp48aKrTMeOHa0CBQpYy5cvt7Zs2WJVrVrVql69uut8XFycVbp0aatevXrW9u3brUWLFlk5c+a0+vXr5ypz8OBBK0OGDFbPnj2tvXv3WmPHjrVSpUplLVmyxApEmzZtsgoXLmyVLVvW6tatm+s499KZs2fPWoUKFbJefvlla+PGjeYzL1261Pr9999dZT788EMrNDTUmjdvnvXrr79a//3vf60iRYpYV65ccZVp0KCBVa5cOeuXX36x1q5daxUtWtRq0aKF63xUVJSVO3duq1WrVuZn4LvvvrPSp09vffbZZ1ageP/9960cOXJYCxYssA4dOmTNnj3bypQpkzV69GhXGe5lwvTn7+2337bmzJljnqU2d+5cj/P36r6tX7/e/IwPHz7c/Mz379/fSp06tbVr1y7L3xGafJg+KLhTp06u/evXr1v58uWzhg4dmqzX5UvOnDljfjmsXr3a7J8/f978cOovWtu+fftMmYiICNcvluDgYOvUqVOuMhMmTLCyZMlixcTEmP3evXtbpUqV8nivZs2amdAWaC5cuGA9+OCDVnh4uFW7dm1XaOJeOtenTx+rRo0atzx/48YNK0+ePNaIESNcx/T+pk2b1vzRUfrHRe/t5s2bXWUWL15sBQUFmQeKq/Hjx1vZsmVz3Vv7vYsVK2YFioYNG1qvvPKKx7Fnn33W/JFW3Etn4oeme3nfXnjhBfP/o7sqVapYr732muXv6J7zUbGxsbJ161bTfGoLDg42+xEREcl6bb4kKirKvGbPnt286j27du2ax33TJuKCBQu67pu+anOx+0rvYWFh5gGVe/bscZVxr8MuE4j3XrvftHst/uflXjo3f/588/il559/3nRRVqhQQb744gvX+UOHDpmnDLjfB33WlXa5u99L7Q7RemxaXn/uN27c6CpTq1Yt86xM93upXdTnzp2TQFC9enXzzM/ffvvN7P/666+ybt06efLJJ80+9zJx7uV9iwjgn3lCk4/6+++/Td9+/Ee46L7+h4//faCyjr959NFHpXTp0uaY3hv9YY7/8GT3+6avCd1X+9ztymgYuHLligSKGTNmyLZt28xYsfi4l84dPHhQJkyYIA8++KAsXbpUXn/9denatatMnTrV417c7udZXzVwuQsJCTH/ILib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" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 85 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-03T19:54:02.295055Z", + "start_time": "2025-07-03T19:54:02.241718Z" + } + }, + "cell_type": "code", + "source": [ + "# Time per CURIE distribution\n", + "# CURIEs per request\n", + "sns.histplot(df['time_taken_per_curie_ms'], bins=30)\n", + "plt.title(\"Time taken per CURIE\")\n", + "plt.xlabel(\"Time taken per CURIE (ms)\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.show()" + ], + "id": "629b162554799779", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": {}, + "output_type": "display_data" + } ], - "id": "b7c3cedbda9d03f0" + "execution_count": 87 } ], "metadata": { From ff9bbf10f9dd61ae3e1ebae7614dfcb95356c44d Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 3 Jul 2025 16:54:29 -0400 Subject: [PATCH 06/12] Added support for downloading logs from stars.renci.org. --- log-analysis/NodeNorm_log_analysis.ipynb | 148 ++++++++++++----------- 1 file changed, 79 insertions(+), 69 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index ba0485e..841a131 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -29,8 +29,8 @@ "id": "721be6fa-7f14-4979-bffb-5a32cb316444", "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T19:47:15.465380Z", - "start_time": "2025-07-03T19:47:13.789441Z" + "end_time": "2025-07-03T20:53:34.875408Z", + "start_time": "2025-07-03T20:53:33.765722Z" } }, "source": [ @@ -45,9 +45,7 @@ "Requirement already satisfied: pandas in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.0)\r\n", "Requirement already satisfied: matplotlib in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (3.10.3)\r\n", "Requirement already satisfied: numpy in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (2.3.1)\r\n", - "Collecting seaborn\r\n", - " Obtaining dependency information for seaborn from https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl.metadata\r\n", - " Downloading seaborn-0.13.2-py3-none-any.whl.metadata (5.4 kB)\r\n", + "Requirement already satisfied: seaborn in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (0.13.2)\r\n", "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2.9.0.post0)\r\n", "Requirement already satisfied: pytz>=2020.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\r\n", "Requirement already satisfied: tzdata>=2022.7 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from pandas) (2025.2)\r\n", @@ -59,10 +57,6 @@ "Requirement already satisfied: pillow>=8 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (11.3.0)\r\n", "Requirement already satisfied: pyparsing>=2.3.1 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from matplotlib) (3.2.3)\r\n", "Requirement already satisfied: six>=1.5 in /Users/gaurav/Developer/translator/babel-validation/venv/lib/python3.13/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\r\n", - "Downloading seaborn-0.13.2-py3-none-any.whl (294 kB)\r\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m294.9/294.9 kB\u001B[0m \u001B[31m3.5 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0ma \u001B[36m0:00:01\u001B[0m\r\n", - "\u001B[?25hInstalling collected packages: seaborn\r\n", - "Successfully installed seaborn-0.13.2\r\n", "\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m25.1.1\u001B[0m\r\n", "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n", @@ -70,7 +64,7 @@ ] } ], - "execution_count": 72 + "execution_count": 7 }, { "cell_type": "markdown", @@ -87,18 +81,18 @@ "id": "c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea", "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T15:08:37.248772Z", - "start_time": "2025-07-03T15:08:37.247086Z" + "end_time": "2025-07-03T20:53:34.886527Z", + "start_time": "2025-07-03T20:53:34.884679Z" } }, "source": [ "logfiles_json_gz = [\n", - " \"logs/nodenorm-ci-logs-2025jul3-10k.json.gz\",\n", - " \"logs/nodenorm-ci-logs-2025jun26-to-2025jun29.json.gz\"\n", + " \"https://stars.renci.org/var/babel_outputs/nodenorm-logs/nodenorm-ci-logs-2025jul3-10k.json.gz\",\n", + " \"https://stars.renci.org/var/babel_outputs/nodenorm-logs/nodenorm-ci-logs-2025jun26-to-2025jun29.json.gz\"\n", "]" ], "outputs": [], - "execution_count": 56 + "execution_count": 8 }, { "cell_type": "markdown", @@ -114,8 +108,8 @@ "metadata": { "scrolled": true, "ExecuteTime": { - "end_time": "2025-07-03T14:27:45.146407Z", - "start_time": "2025-07-03T14:27:45.139031Z" + "end_time": "2025-07-03T20:53:34.901352Z", + "start_time": "2025-07-03T20:53:34.896228Z" } }, "source": [ @@ -198,53 +192,69 @@ " )]" ], "outputs": [], - "execution_count": 35 + "execution_count": 9 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T15:08:57.067103Z", - "start_time": "2025-07-03T15:08:54.423827Z" + "end_time": "2025-07-03T20:53:39.591860Z", + "start_time": "2025-07-03T20:53:34.907674Z" } }, "cell_type": "code", "source": [ - "import sys\n", + "import urllib\n", + "import io\n", "\n", "logs = []\n", "for logfile_json_gz in logfiles_json_gz:\n", " print(f\"Loading logfile {logfile_json_gz}\")\n", - " with gzip.open(logfile_json_gz, 'rt') as logf:\n", - " # The entire log file from AWS is one massive JSON list *curses*.\n", - " data = json.load(logf)\n", - " for row in data:\n", - " # print(f\"Processing row: {row}\")\n", "\n", - " # Weirdly enough, AWS logs are wrapped in TWO layers:\n", - " message = row['@message']\n", - " if isinstance(message, dict):\n", - " line = row['@message']['log']\n", - " else:\n", - " # This will probably (?) be an incomplete log line, so let's skip it.\n", - " continue\n", + " with urllib.request.urlopen(logfile_json_gz) as response:\n", + " with gzip.open(io.BytesIO(response.read()), 'rt', encoding='utf-8') as logf:\n", + " # The entire log file from AWS is one massive JSON list *curses*.\n", + " data = json.load(logf)\n", + " for row in data:\n", + " # print(f\"Processing row: {row}\")\n", "\n", - " # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\n", - " if \"normalizer:get_normalized_nodes\" not in line:\n", - " continue\n", + " # Weirdly enough, AWS logs are wrapped in TWO layers:\n", + " message = row['@message']\n", + " if isinstance(message, dict):\n", + " line = row['@message']['log']\n", + " else:\n", + " # This will probably (?) be an incomplete log line, so let's skip it.\n", + " continue\n", "\n", - " logs.extend(convert_log_line_into_entry(line))" + " # We're only interested in log-lines -- these will all contain `normalizer:get_normalized_nodes`\n", + " if \"normalizer:get_normalized_nodes\" not in line:\n", + " continue\n", + "\n", + " logs.extend(convert_log_line_into_entry(line))\n", + "\n", + " print(f\"Loaded {len(logs)} log entries from {logfile_json_gz}\")" ], "id": "77059385da4ddcc9", - "outputs": [], - "execution_count": 57 + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading logfile https://stars.renci.org/var/babel_outputs/nodenorm-logs/nodenorm-ci-logs-2025jul3-10k.json.gz\n", + "Loaded 9992 log entries from https://stars.renci.org/var/babel_outputs/nodenorm-logs/nodenorm-ci-logs-2025jul3-10k.json.gz\n", + "Loading logfile https://stars.renci.org/var/babel_outputs/nodenorm-logs/nodenorm-ci-logs-2025jun26-to-2025jun29.json.gz\n", + "Loaded 19043 log entries from https://stars.renci.org/var/babel_outputs/nodenorm-logs/nodenorm-ci-logs-2025jun26-to-2025jun29.json.gz\n" + ] + } + ], + "execution_count": 10 }, { "cell_type": "code", "id": "227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc", "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T15:09:08.592424Z", - "start_time": "2025-07-03T15:09:08.590150Z" + "end_time": "2025-07-03T20:53:39.600164Z", + "start_time": "2025-07-03T20:53:39.598147Z" } }, "source": [ @@ -266,12 +276,12 @@ " LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 183000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.33, time_taken_per_curie_ms=12.33, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node='')]" ] }, - "execution_count": 58, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], - "execution_count": 58 + "execution_count": 11 }, { "metadata": {}, @@ -288,8 +298,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T19:48:02.050286Z", - "start_time": "2025-07-03T19:48:01.872030Z" + "end_time": "2025-07-03T20:53:39.769820Z", + "start_time": "2025-07-03T20:53:39.611915Z" } }, "cell_type": "code", @@ -320,13 +330,13 @@ ] } ], - "execution_count": 76 + "execution_count": 12 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T19:47:29.963351Z", - "start_time": "2025-07-03T19:47:29.451910Z" + "end_time": "2025-07-03T20:53:40.296162Z", + "start_time": "2025-07-03T20:53:39.783069Z" } }, "cell_type": "code", @@ -345,13 +355,13 @@ ], "id": "95e54a3b26740479", "outputs": [], - "execution_count": 73 + "execution_count": 13 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T19:47:41.139654Z", - "start_time": "2025-07-03T19:47:41.081034Z" + "end_time": "2025-07-03T20:53:40.409802Z", + "start_time": "2025-07-03T20:53:40.307059Z" } }, "cell_type": "code", @@ -373,19 +383,19 @@ "text/plain": [ "
" ], - "image/png": "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" + "image/png": "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2wQ3QTifRP3Nr4dENFu3bvVcccUVnj/++MNeNnr0aE+fPn08qamp6mfYsGGejh07embNmuXZs2ePes8zzzzjuf766z3Hjx/35OXledxqh759+yobgJycHPW4bNky9d1ff/11V3z30uwP4I033vB06NDBs379evs9zz77rGfw4MGejIwMV9ikMDucddZZnrS0NPU6NzfXXqeXPfXUU55Ro0apfcUNdli9erXnoosu8qxatUq93rhxo+ecc85Rj/r7v/jii5727dt73n//fXufGDNmjOf222/3pKenu8IOhw4d8gwaNMjz888/28smTZqkzgNPPPGE2l8Avqu2y5o1azwDBgzwPPzww+o86QZKagfw5ptvevr162fvIykpKZ6lS5d6TLLD7t271TGhz51PP/2055Zbbon644Kh2AgHd0+ocHPePSCPCp4q5FSdf/758thjj6lwJHIEcAeCu9P169crlzI8dm62A9p6zJs3T7nOtUeiVatWql8XenjBU4WwpFsoyg6//fabCkUi5IBQG0KRCMnBcwvPFUKSuBN1ux1wdw47wFOLUBQ8WvDa4Lv/+eefKnzrlvA87OD01sMeCMm+8MILKm0DHmyEoHEcIP92ypQpKjyNkNPbb7/tmjQN2AEheWeuGHJw0d7m66+/Vt8VKSq6OhweGpwnsG/AQ+Om82RJ7VCrVi3l2Ue/S4QsP/jgA+nQoYOYZIft27erRxwfsAeqh5FnF+3HBYVdhIMdEYUSGzduVPljOBCx0+kqJ4CTEnKG0L8NYSactPBeN7U8KcwOEHOodAO6sz4u4AhBweWO3EM3UZQddMEIluHCjj5mOLlB7CP0hIR6E+yAno4AyyBiLrnkEnWjg+UPP/ywnTztBnBDh1YmugoYN3PItcWNDUJQELo4DvC9UViC8wOOF+QWuamZOYRK37591c0c2nfg/w6QTwiBP2vWLLUOqQo6txL2ckt7i9LaAfnZOIbQDgn7BPJyUYhmoh3GjRuncvCwHOkcOlc9qgm3y5AUz0cffeRZsWKFCiHAPZyZmalCTu+8845ar0MLCLOZbAfNkSNHCoTiTLSD2ynODjqUkp2d7XEzy5cvt58vXrzYDisB2KJ///4+ITi38vHHH3uuueYazyeffFIgtIpQ43nnnec5evSox3Q7nHvuuZ5jx46p1+PGjfOsXbvWY6Id+vXrZ9vB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" }, "metadata": {}, "output_type": "display_data" } ], - "execution_count": 75 + "execution_count": 14 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T19:58:35.599825Z", - "start_time": "2025-07-03T19:58:35.544619Z" + "end_time": "2025-07-03T20:53:40.479378Z", + "start_time": "2025-07-03T20:53:40.418377Z" } }, "cell_type": "code", @@ -404,19 +414,19 @@ "text/plain": [ "
" ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPdlJREFUeJzt3Qd8FHX+//EPNfQOCWgoilIFBRUQbIggegjCzxNFBcWOqMSKvVM8AfUoVxDk7jyVE1DPE0tELBdUsCCoCIoEhAQsJBQTEOb/eH9//93f7mYTkrBkd5LX8/EYws7Ozn53dnbnvd8yU8nzPM8AAAB8qHK8CwAAAFBaBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAAOBbBBkAKIHJkydb+/btbf/+/fEuCg5g8eLFVqdOHdu2bVu8i4JDiCCDhPXtt9/a1VdfbUcccYTVqFHD6tWrZ71797YnnnjCfv311+BylSpVsuuvvz7qOv71r3+5+995553gvFGjRrl5gSkpKcmOPvpou/feey0vL6/AOiLX//3334c9PnKaOHFizLcFYm/z5s12//3322effVbsx+Tm5tqkSZPs9ttvt8qVK+7X58cff+w+E506dbLatWtby5Yt7fe//7198803BZYt6rNy5plnRv3cX3TRRdasWTOrWbOmHXXUUXbXXXcVWO6Pf/yjdejQwX1+DzvsMEtLS7Ndu3aFLXPWWWdZ27ZtbcKECTHeAkgkVeNdACCaV1991c4//3z3JXXppZda586dbc+ePfb+++/brbfeaqtXr7Y///nPpV6/1vvXv/7V/T8nJ8deeukle+ihh9yX6D/+8Y9irePCCy+0s88+u8D84447rtTlQtkGmQceeMBat25txx57bLEe8/TTT9tvv/3m3vuKTGHugw8+cJ/RLl26WFZWlgsW3bp1s2XLlrnPa8Df/va3Ao9fvny5+0HSv3//sPkKlaeddpoLJjfffLM1btzYMjMzbePGjWHLKUiqZux//ud/7MYbb7Qvv/zSnnrqKfe98Prrr4ctqx9Dt9xyi3uv69atG/NtgQSgi0YCieS7777z6tSp47Vv397bvHlzgfvXrl3rTZs2LXhbu/GYMWOirmv+/Pnu/iVLlgTnjRw50qtdu3bYcvv37/d69uzpVapUycvKygq7L3L969evd/Mee+wxz8/27t3r5efnF3v5ffv2eb/++qtXXnz88cfufZwzZ06xH9OlSxfv4osv9iq6Dz74oMC+880333hJSUneiBEjDvj40aNHu8/axo0bw/avzp07ez169PB2795d6GP1nVC1alXvkksuCZv/1FNPuffz5ZdfDpufnZ3tValSxZs9e3YJXiH8pOLWjSJh6ZfWzp07bfbs2da8efMC96uqWL/CYknV3H369FGwt++++y5m69UvzwEDBliTJk1cNXmbNm3s8ssvP+DjVEvwu9/9zt544w1XW6CmtY4dO9qCBQsKLLt9+3a76aabLDU11dU0afvoF3NoH45Ac9gf/vAHmzZtmh155JFuWf2SLUygSU01VGpC0PLqcyA//PCDex3Jycluvu5XbUWkTZs22ZAhQ1zzg5oKxo0b534xRzb36fWqyS+Sfp1rCpWfn2/33Xefe516br3u2267zc0P9eabb7r3tEGDBq6fRLt27ezOO+909+m5TzjhBPf/yy67LNjUMXfu3EK3x/r1623lypXWr1+/sPmh23b69OmuKbRWrVqutkE1CdqnVNt3+OGHu31g8ODB9vPPP4etQzWC55xzjrVo0cK9Jr0/esy+ffuCy3z11Vfu8aqhDKVayipVqrhairJy0kknWfXq1cPmqQlI+4HKWRS9Ty+++KKdeuqpbpsEaF9ftWqVe2/1Onfv3h32+gMyMjJcrdjw4cPD5gduP/fcc2Hztd+p1kjbGOUTTUtIOK+88oo7GOjLsizpgCQNGzYs1vL6ov3xxx8LzNeBs2rVqrZ161Z3MGvatKndcccdbr6eI1oYiWbt2rV2wQUX2DXXXGMjR460OXPmuKp8hYlA3wKVQQcEBQtVoauvwn//+18bP368bdmyxYWWUFqH+gFdddVV7oDZqFGjIsvw9ttv2wsvvOACjcKYAkd2drb17NkzGHT0+l577TUbPXq060OiUCXqx3TGGWe4poEbbrjBHaTVzKB1lpbC2bnnnusO3noN6iPxxRdf2NSpU13/jEWLFrnl1MSgIKgD2IMPPuhe67p161xziOhxmq9+UVrPySef7OYXtc9pu4qaT6JR4FPz59ixY11QUSBXv5G+ffu64KSgoTKoCURNHaHBTwFKYUv9PPRX20hl0/Z87LHHgmVWuFHTqppUtB3UJ0QBUJ2P9XoOFCB27NhRrO2s97qkFNi0byjMFOU///mPC98jRowIm//WW2+5v3qvjj/+eFuxYoULS+edd57NmDEjuK8GAqvCTiiFR9HjInXv3j24b6AcineVEBAqJyfHVQ8PHjy42I8pbdPStm3b3LRu3TrvD3/4g6vqVtW2mpmK07RU2JSRkeGWW7hwobutJoySatWqlXvsiy++GLZtmjdv7h133HHBeQ899JB7LarWD3XHHXe46vTMzMywMterV8/bunVrscqg5StXruytXr26QLOAyvHjjz+GzR8+fLhXv379YLOAmv+0jhdeeCG4zK5du7y2bdsWeE/0evW+RDr11FPdFPC3v/3Nlem9994LW27WrFlunWrykKlTp7rben9j1bR09913u+V37NgRNj+wbZs2bept3749OH/8+PFufteuXV0zXsCFF17oVa9e3cvLywvOi9aUcvXVV3u1atUKW07NL3369PGSk5Pd9td+qWaW4uxjep1F7behU2novdFjD9SEM2zYMNcE9csvv4TNP/fcc93jGzdu7Jqn/vWvf3n33HOPe30nnXRS8HO5YsUKt5z2/VCLFy9289UsHenRRx9196mZCeUPNTJIKPoFKoe6U55+yaomIZSaIZ555hlX01Ac+iWvGpJIagIS1cDIv//9b+vatatVq1atRGVUDYZ+jQZo1JaaFdRspM6VKSkpNn/+fFeboFqk0NohNX9o9NS7774b9st32LBhBV53UVTbE3g9onyjZgHVNOj/oc+pJjRV63/yySdudJl+eatpULUHob+atd3UFFQaer2qmVANROhzq9ZDlixZ4mpVAttezQlqOorFCKOffvrJ1bSpxiQa7Qv169cP3u7Ro4f7e/HFF7vHhc7/5z//6WrRVPMYWbugWhPVOuh9/dOf/mRff/21239Er0O1N7o9cOBA13R59913uxqMA9H7o+a2Q0FlHDNmjPXq1cvVHhb1+VZHfnWSD7xHAWpOFjX5/f3vfw/ur9pnVMOYnp7u9mvViGkb6nOgTsGnn366a8669tpr3WcsdERjQKCWVfuMmppQvhBkkFB0sJbiVoEXV2Q4UZ8TNWEF+nGoGUBNQZHV1UVRn4DI/hKRIUBfxBotoaYP9fVQfxENLVX1+YGoD0hkuTVMXNREpSCj5if12ygsnOg1hVIfnZKIXF7n41CzgEaMFTZqLPCcGzZsiPoa1FeltPR6ddA60OtVk5xGpV1xxRWuWU9NXEOHDnWh6lANm1azXqhAqFEfnmjzf/nll+A8NYUpkKhJKRDmAzSqLpT6z2jYuJqYNDronnvuKVb5FCqj9Tk7WArV6t+j16XTHai/TmEUgtW0GdmsJIHPXuSIMH1eFGTUtBf4vGk9eo8D/c30nGqWW7p0qa1Zs6bAuv+3grHg9wDKB4IMEi7IqCZCnf6KS6Eg2q+wQB+SQHAJpS++0BCiX6v6la9+Ji+//LLFgr409cWu4agKTerkqi/exx9/3M0r7Jd9SfuMqL9MYTUcgeATUJKgFm35QAdi1TIU9stb/VJKqrADjDp7hh4Y9fzHHHOMTZkyJerygdCgcqs2SjU0qgFQv6Lnn3/e1dyoU2lRB9vCaCiwOpkqZEerMSxsnYXNDxxcFQwVerXvq5+Lgor2V9VsqV9NtBPv6TUEhpCrpkih9kD0GYkMRYUpzvpE61PNkF7De++95z67RVE/IgUe9V+KFHisOpCHCtSghAY/1cSon5SCrYKUflSozFpH5D4f+tjS9P1B4iPIIOHoS06/9jU6QVXVB9KqVauov8IkMF/LFEW/VDWiRrUnChnqzBorWpemRx55xJ599ln3a1RNMKotKIo6hupgF3qQD5xwTJ1uRQc9VckXVTMUS6oJ0UFcAeNAz6ltrkAa+RqivVeq+tfBMJJqdQLNL4HX+/nnn7salgP9ulbNi5bTpODz6KOPuhOrKdyo7CX9da6gGxi9VJqwVhh1BFYYUSfwU045JThfzxPNrFmzXBOR9ied6E3huzgjchTk1MxWHIGQVRTVrAwaNMjtk+qoG9oEGY06n2vbq3NytBpJdcj9y1/+4prcQimsSbRaOAUYTaIReHqOaKPftC0VYkrSrAr/YPg1Eo5qFzRcVwd6jYKIpJPW6WRaAWpvV/iIHK2gA6N+AWr4cnF+YWq0idrjY3VmXv0KjDwgBE68FjlUOBp9gS9cuDB4W00O8+bNC3s96quiwBd5ErDA61cNQiypdkHNZaraj1ZrFnoqeL0veg2qlQqtIYvWJKWAovdQo34C1Lco8kRoer060OmAF63GIXBm18jhzdG2vfYxiRagogmEavVLiaVAjU3ovqLtoJE60Q7IalLSe6Ch5BryrRpE7RfF7SNTnOlAFGTVtKN9T/2WivODQ+FdtUvRmpVEw9IVcDSyLrQWKnDiymhnAQ7Q8vre0OdXo/wi6buhOGWEP1Ejg4Sjg5pqLvRFqY6doWf2VTu5vjhDf3WpD4Tm6desfp3ql7MOoOoUqV9o+mIsbtOBfrHqAKJ+GHruoqjqP9ApMbL8+tJUx2GtSx12NU9NEjoAqwkh2hmBI6mKXEOadTp4VbdruK6CXejr0UFNBzLVYmmb6FetDuYakqwAob40sa5OV9DTL2t1uLzyyivdL3EFB20P/TIPhAjdp7O96v3TgUS1Xhp+HRgmG0qhVeXVKeUVVhRWtW213UJdcsklbji4DlYqgzoV66Cqzqaar0Cnjq9qolHTkvpuqGZIfWf0Xui8JerULVq3OpyqhkO1TAo2ek2F9SNSzZD2Q73G4pwLqLjUOVk1Umqq0zB11RRpO0WGYN3W86rZbObMmW6e9neFSp1XSbVMRTXtxLKPjM66q/1ONTJ6vyM/B2p6jKQfFSpf5HmBAhTOVWOmYefaD9SfTLVv+syo30zgvD+i16saIYXTvXv3uu+Ljz76yH3mIvsq6b1XPzJ1RkY5Fe9hU0BhNKT4yiuv9Fq3bu2Gq9atW9fr3bu3O4Nn6JBU2bRpk3fFFVd4hx12mBuu2ahRI+93v/udt2zZsgLrjXZm34Bvv/3WDVsOHQpc0uHXgcd+8sknbqhty5Yt3XDTZs2auTItX778gK9dw5HPOecc7/XXX3dnk9XjdaZjDSePpOHAGuqrYc3aTk2aNHHDVTWkfM+ePaU+G3FRw9o1jFX3paametWqVfNSUlK8M844w/vzn/8cttyGDRvcsFoNI1a5brzxxuAw2dDh1/L444+790+vVe+ztlPk8GvRa5o0aZLXqVMnt2zDhg297t27ew888IAboi7p6eluCH+LFi3cNtFfvReRw9Rfeuklr2PHjm6fKc5Q7ClTprjhvaHDpQvbtnp9mh/5ngWGQYcOmdawcZ1ZumbNmq6st912m3vvQ7fTE088UWBIvmiIvYbVn3322V5Z0XtSkuHbX3/9tZuflpZW5Ho1xFqf76OPPtrtV9q/NOw9sB+HbkMNa9fnWN8L2vfefvvtqOucOXOm2/9yc3MP8lUjUVXSP/EOUwDCqQ+Mfv2reaW8UZ8QDZlVjUphv84TlTq3qmZGo9xUW4bEp2ufaT/TyEGUT/SRAYBi0ogb9cXQ2XajjSZCYtFoNY1s0vBtlF8EGQAoAQ2JVp+cQ3U+GsSO+tpoVB8nwSvf+CQCAADfoo8MAADwLWpkAACAbxFkAACAb5X7E+JpZIFOjqYTXnHBMAAA/EE9X3QiUZ1IsajO9eU+yCjERF59FgAA+IMuVaKzclfYIBO4Sq02hE4NDwAAEp+uL6eKiGhXm69QQSbQnKQQQ5ABAMBfDnil+zIrCQAAQIwRZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG8RZAAAgG9VjXcB/KxTl2Nty5YtRS7TvHlzW73yszIrEwAAFQlB5iAoxPR/ZFGRy7xx15AyKw8AABUNTUsAAMC3CDIAAMC3CDIAAMC3CDIAAMC3CDIAAMC34hpkWrdubZUqVSowjRkzxt2fl5fn/t+4cWOrU6eODRs2zLKzs+NZZAAAkEDiGmQ+/vhjN4Q5ML355ptu/vnnn+/+jhs3zl555RWbP3++LV261DZv3mxDhw6NZ5EBAEACiet5ZJo2bRp2e+LEiXbkkUfaqaeeajk5OTZ79mx79tlnrW/fvu7+OXPmWIcOHWzZsmXWs2fPOJUaAAAkioTpI7Nnzx77+9//bpdffrlrXlqxYoXt3bvX+vXrF1ymffv21rJlS8vIyCh0Pfn5+Zabmxs2AQCA8ilhgsyiRYts+/btNmrUKHc7KyvLqlevbg0aNAhbLjk52d1XmAkTJlj9+vWDU2pq6iEvOwAAqOBBRs1IAwcOtBYtWhzUesaPH++apQLTxo0bY1ZGAACQWBLiWksbNmywt956yxYsWBCcl5KS4pqbVEsTWiujUUu6rzBJSUluAgAA5V9C1MioE2+zZs3snHPOCc7r3r27VatWzdLT04Pz1qxZY5mZmdarV684lRQAACSSuNfI7N+/3wWZkSNHWtWq/1cc9W8ZPXq0paWlWaNGjaxevXo2duxYF2IYsQQAABIiyKhJSbUsGq0UaerUqVa5cmV3IjyNRhowYIDNmDEjLuUEAACJJ+5Bpn///uZ5XtT7atSoYdOnT3cTAABAQvaRAQAAKA2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8K24B5kffvjBLr74YmvcuLHVrFnTjjnmGFu+fHnwfs/z7N5777XmzZu7+/v162dr166Na5kBAEBiiGuQ+eWXX6x3795WrVo1e+211+zLL7+0xx9/3Bo2bBhcZvLkyfbkk0/arFmz7MMPP7TatWvbgAEDLC8vL55FBwAACaBqPJ980qRJlpqaanPmzAnOa9OmTVhtzLRp0+zuu++2wYMHu3nz5s2z5ORkW7RokQ0fPjwu5QYAAIkhrjUyL7/8sh1//PF2/vnnW7Nmzey4446zv/zlL8H7169fb1lZWa45KaB+/frWo0cPy8jIiFOpAQBAoohrkPnuu+9s5syZdtRRR9nrr79u1157rd1www32zDPPuPsVYkQ1MKF0O3BfpPz8fMvNzQ2bAABA+RTXpqX9+/e7GplHH33U3VaNzKpVq1x/mJEjR5ZqnRMmTLAHHnggxiUFAACJKK41MhqJ1LFjx7B5HTp0sMzMTPf/lJQU9zc7OztsGd0O3Bdp/PjxlpOTE5w2btx4yMoPAAAqcJDRiKU1a9aEzfvmm2+sVatWwY6/Cizp6enB+9VUpNFLvXr1irrOpKQkq1evXtgEAADKp7g2LY0bN85OOukk17T0+9//3j766CP785//7CapVKmS3XTTTfbwww+7fjQKNvfcc4+1aNHChgwZEs+iAwCAih5kTjjhBFu4cKFrDnrwwQddUNFw6xEjRgSXue2222zXrl121VVX2fbt261Pnz62ePFiq1GjRjyLDgAAEkAlTydrKcfUFKUh2+ovE+tmpkZNk63/I4uKXOaNu4bYz9vC+/gAAIDYHL/jfokCAACA0iLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA3yLIAAAA34prkLn//vutUqVKYVP79u2D9+fl5dmYMWOscePGVqdOHRs2bJhlZ2fHs8gAACCBxL1GplOnTrZly5bg9P777wfvGzdunL3yyis2f/58W7p0qW3evNmGDh0a1/ICAIDEUTXuBaha1VJSUgrMz8nJsdmzZ9uzzz5rffv2dfPmzJljHTp0sGXLllnPnj3jUFoAAJBI4l4js3btWmvRooUdccQRNmLECMvMzHTzV6xYYXv37rV+/foFl1WzU8uWLS0jI6PQ9eXn51tubm7YBAAAyqe4BpkePXrY3LlzbfHixTZz5kxbv369nXzyybZjxw7Lysqy6tWrW4MGDcIek5yc7O4rzIQJE6x+/frBKTU1tQxeCQAAqHBNSwMHDgz+v0uXLi7YtGrVyl544QWrWbNmqdY5fvx4S0tLC95WjQxhBgCA8inuTUuhVPty9NFH27p161y/mT179tj27dvDltGopWh9agKSkpKsXr16YRMAACifEirI7Ny507799ltr3ry5de/e3apVq2bp6enB+9esWeP60PTq1Suu5QQAAIkhrk1Lt9xyiw0aNMg1J2lo9X333WdVqlSxCy+80PVvGT16tGsmatSokatZGTt2rAsxjFgCAABxDzKbNm1yoeWnn36ypk2bWp8+fdzQav1fpk6dapUrV3YnwtNopAEDBtiMGTN45wAAQPyDzHPPPVfk/TVq1LDp06e7CQAAIKH7yAAAAJQEQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAPgWQQYAAFSsIPPdd9/FviQAAABlEWTatm1rp59+uv3973+3vLy80qwCAAAgPkHmk08+sS5dulhaWpqlpKTY1VdfbR999NHBlwYAAOBQB5ljjz3WnnjiCdu8ebM9/fTTtmXLFuvTp4917tzZpkyZYtu2bSvNagEAAMqus2/VqlVt6NChNn/+fJs0aZKtW7fObrnlFktNTbVLL73UBRwAAICEDDLLly+36667zpo3b+5qYhRivv32W3vzzTddbc3gwYNjV1IAAIAIVa0UFFrmzJlja9assbPPPtvmzZvn/lau/L+5qE2bNjZ37lxr3bp1aVYPAABw6ILMzJkz7fLLL7dRo0a52phomjVrZrNnzy7N6gEAAA5dkFm7du0Bl6levbqNHDmyNKsHAAA4dH1k1KykDr6RNO+ZZ54pzSoBAADKJshMmDDBmjRpErU56dFHHy3NKgEAAMomyGRmZroOvZFatWrl7gMAAEjYIKOal5UrVxaY//nnn1vjxo1jUS4AAIBDE2QuvPBCu+GGG2zJkiW2b98+N7399tt244032vDhw0uzSgAAgLIZtfTQQw/Z999/b2eccYY7u6/s37/fnc2XPjIAACChg4yGVj///PMu0Kg5qWbNmnbMMce4PjIAAAAJHWQCjj76aDcBAAD4JsioT4wuQZCenm5bt251zUqh1F8GAAAgIYOMOvUqyJxzzjnWuXNnq1SpUuxLBgAAcCiCzHPPPWcvvPCCu1BkrEycONHGjx/vQtK0adPcvLy8PLv55pvd8+Xn59uAAQNsxowZlpycHLPnBQAAFWz4tTr7tm3bNmaF+Pjjj+1Pf/qTdenSJWz+uHHj7JVXXnGXPli6dKlt3rzZhg4dGrPnBQAAFTDIqJbkiSeeMM/zDroAO3futBEjRthf/vIXa9iwYXB+Tk6Ou3r2lClTrG/fvta9e3d3jaf//ve/tmzZsoN+XgAAUEGblt5//313MrzXXnvNOnXqZNWqVQu7f8GCBcVe15gxY1xfm379+tnDDz8cnL9ixQrbu3evmx/Qvn17a9mypWVkZFjPnj2jrk9NUJoCcnNzS/jqAABAuQ4yDRo0sPPOO++gn1x9Xz755BPXtBQpKyvLNWHpuUKpf4zuK+qClg888MBBlw0AAJTTIKMmnoO1ceNG17H3zTfftBo1alisqMNwWlpaWI1MampqzNYPAAB83kdGfvvtN3vrrbdcJ90dO3a4eeqMqz4vxaGmI52Dplu3bu4yB5rUoffJJ590/1fNy549e2z79u1hj8vOzraUlJRC15uUlGT16tULmwAAQPlUqhqZDRs22FlnnWWZmZmuP8qZZ55pdevWtUmTJrnbs2bNOuA6dJ2mL774ImzeZZdd5vrB3H777a4WRX1vdNK9YcOGufvXrFnjnrNXr16lKTYAAChnSn1CvOOPP95dZ6lx48bB+eo3c+WVVxZrHQo+OpleqNq1a7v1BeaPHj3aNRM1atTI1ayMHTvWhZjCOvoCAICKpVRB5r333nPDoNUZN1Tr1q3thx9+iFXZbOrUqVa5cmVXIxN6QjwAAIBSBxldW0nXW4q0adMmV9NSWu+8807YbXUCnj59upsAAABi0tm3f//+wcsIiK61pE6+9913X0wvWwAAABDzGpnHH3/cNfN07NjRXQ/poosusrVr11qTJk3sn//8Z2lWCQAAUDZB5vDDD3cdfXVCu5UrV7raGHXM1aUGatasWZpVAgAAlE2QcQ+sWtUuvvji0j4cAAAgPkFm3rx5Rd5/6aWXlrY8AAAAh/48MqF0ccfdu3e74di1atUiyAAAgMQdtfTLL7+ETeojo7Pu9unTh86+AAAg8a+1FOmoo46yiRMnFqitAQAASPggE+gArAtHAgAAJGwfmZdffjnstud5tmXLFvvjH/9ovXv3jlXZAAAAYh9khgwZEnZbZ/Zt2rSp9e3b150sDwAAIKGvtQQAAFCu+sgAAAAkfI1MWlpasZedMmVKaZ4CAADg0ASZTz/91E06EV67du3cvG+++caqVKli3bp1C+s7AwAAkFBBZtCgQVa3bl175plnrGHDhm6eTox32WWX2cknn2w333xzrMsJAAAQmz4yGpk0YcKEYIgR/f/hhx9m1BIAAEjsIJObm2vbtm0rMF/zduzYEYtyAQAAHJogc95557lmpAULFtimTZvc9OKLL9ro0aNt6NChpVklAABA2fSRmTVrlt1yyy120UUXuQ6/bkVVq7og89hjj5VmlQAAAGUTZGrVqmUzZsxwoeXbb79184488kirXbt2aVYHAABQ9ifE0/WVNOnK1woxuuYSAABAQgeZn376yc444ww7+uij7eyzz3ZhRtS0xNBrAACQ0EFm3LhxVq1aNcvMzHTNTAEXXHCBLV68OJblAwAAiG0fmTfeeMNef/11O/zww8Pmq4lpw4YNpVklAABA2dTI7Nq1K6wmJuDnn3+2pKSk0qwSAACgbIKMLkMwb968sGsq7d+/3yZPnmynn356aVYJAABQNk1LCizq7Lt8+XLbs2eP3XbbbbZ69WpXI/PBBx+UZpUAAABlUyPTuXNnd7XrPn362ODBg11Tk87oqyti63wyAAAACVkjozP5nnXWWe7svnfdddehKRUAAMChqJHRsOuVK1eW9GEAAACJ0bR08cUX2+zZs2NfGgAAgEPd2fe3336zp59+2t566y3r3r17gWssTZkypTSrBQAAOHRB5rvvvrPWrVvbqlWrrFu3bm6eOv2G0lBsAACAhAsyOnOvrqu0ZMmS4CUJnnzySUtOTj5U5QMAAIhNH5nIq1u/9tprbug1AACAbzr7FhZsAAAAEjbIqP9LZB+Yg+kTM3PmTOvSpYvVq1fPTb169XK1PAF5eXk2ZswYa9y4sdWpU8eGDRtm2dnZpX4+AABQgfvIqAZm1KhRwQtDKmhcc801BUYtLViwoFjr09WzJ06c6PreaN3PPPOMO1OwzhDcqVMnGzdunL366qs2f/58q1+/vl1//fXuDMJcBgEAAJQ4yIwcObLA+WQOxqBBg8JuP/LII66WZtmyZS7k6Fw1zz77rPXt29fdP2fOHOvQoYO7v2fPnryDAABUcCUKMgoSh8q+fftczYs6D6uJacWKFe5yCP369Qsu0759e2vZsqVlZGQQZAAAQOlOiBdLX3zxhQsuaqZSP5iFCxdax44d7bPPPrPq1atbgwYNwpbXUO+srKxC15efn++mgNzc3ENafgAA4NNRS7HQrl07F1o+/PBDu/baa13z1Zdfflnq9U2YMMH1pwlMqampMS0vAABIHHEPMqp1adu2rbvUgUJI165d7YknnrCUlBTbs2ePbd++PWx5jVrSfYUZP3685eTkBKeNGzeWwasAAAAVMshE2r9/v2saUrDRlbbT09OD961Zs8YyMzNdU1RhNKIqMJw7MAEAgPIprn1kVHsycOBA14F3x44dboTSO++8Y6+//rprFho9erSlpaVZo0aNXCAZO3asCzF09AUAAHEPMlu3brVLL73UXb9JwUUnx1OIOfPMM939U6dOtcqVK7sT4amWZsCAATZjxgzeOQAAEP8go/PEFKVGjRo2ffp0NwEAACR8HxkAAIDiIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgAAADfIsgA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+geVJZrwAMCnQebHH3+0ffv2WXJy+C9x3f7666+jPiY/P99NATk5Oe5vbm7uITm47v11V9HLeF5Mlonlulim6GVycndYw8ZNi1xmd16+1aqRVCbL5O7cGZvXvn//AT8HJ/bqbdlZWUUuk5ySYh9lfFAm6wFQceX+/+8rfb8VyUtgP/zwg0rv/fe//w2bf+utt3onnnhi1Mfcd9997jFMTExMTExM5vtp48aNRWaFhK6RadKkiVWpUsWys7PD5ut2SkpK1MeoGUqdgwP2799vP//8szVu3NgqVaoU06SYmppqGzdutHr16sVsvRUN2/HgsQ1jg+148NiGscF2tGBNzI4dO6xFixZWlIQOMtWrV7fu3btbenq6DRkyJBhMdPv666+P+pikpCQ3hWrQoMEhK6N2soq8o8UK2/HgsQ1jg+148NiGscF2NKtfv/4Bl0noICOqXRk5cqQdf/zx7twxGn69a9eu4CgmAABQcSV8kLngggts27Ztdu+997oT4h177LG2ePHiAh2AAQBAxZPwQUbUjFRYU1K8qPnqvvvuK9CMhZJhOx48tmFssB0PHtswNtiOJVNJPX5L+BgAAICEUDneBQAAACgtggwAAPAtggwAAPAtggwAAPAtgkwpTZ8+3Vq3bm01atSwHj162EcffRTvIiWM+++/351FOXRq37598P68vDwbM2aMO9tynTp1bNiwYQXO3pyZmWnnnHOO1apVy5o1a2a33nqr/fbbb1ZevfvuuzZo0CB3Bkttr0WLwi8SqT75OgWBrsxds2ZNd+HUtWvXhi2jM1iPGDHCnUBLJ4EcPXq07dy5M2yZlStX2sknn+z2W505dPLkyVaRtuOoUaMK7JtnnXVW2DIVfTtOmDDBTjjhBKtbt6777OlkpGvWrAlbJlaf4Xfeece6devmRue0bdvW5s6daxVlG5522mkF9sVrrrkmbJmKvA1LJJbXRqoonnvuOa969ere008/7a1evdq78sorvQYNGnjZ2dnxLlpC0PWuOnXq5G3ZsiU4bdu2LXj/Nddc46Wmpnrp6ene8uXLvZ49e3onnXRS8P7ffvvN69y5s9evXz/v008/9f7zn/94TZo08caPH++VV3qNd911l7dgwQJ3bZGFCxeG3T9x4kSvfv363qJFi7zPP//cO/fcc702bdp4v/76a3CZs846y+vatau3bNky7733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Xai1NHSh0nPOOcdatWpV6DIKEb1793ZXaH/sscfsmGOOcReDfP31123MmDGuVqekrrzySnvwwQctPz/fXTDwqquucuu/9tpri3zcW2+9ZZ06dQqb17hx4xI/P1DRUCMDlBP9+vVzV8lWDUBh7r///gLNLNOmTbPWrVsXqGV49NFHLTk52R2EdWD+7bff7NZbb7VGjRrZ4YcfbnPmzCmwfh34TzrpJBeqOnfubEuXLg27f9WqVTZw4ECrU6eOW/cll1xiP/74Y1iNhq4afNNNN1mTJk1swIABUV+HrkatMqkcqkXRa1q8eHHwftVm6ArWWkb/1+uO5rrrrnP3f/TRRzZs2DBXg6IwkZaWVurakFq1arn3QQHqsssusy5durgrEh+IQoseFzrpKtPy+eef2+mnn25169Z1Vz/WFaiXL19eqvIB5Q1BBignqlSp4sLHU089ZZs2bTqodakmYfPmzfbuu+/alClTXDPN7373O1fT8+GHH9o111zjan4in0dB5+abb7ZPP/3UevXq5ZpofvrpJ3ff9u3brW/fvnbccce5g7CCR3Z2tv3+978PW8czzzzjamE++OADmzVrVtTyPfHEE/b444/bH/7wB1u5cqULPOeee66tXbvW3b9lyxYXSFQW/f+WW24psI6ff/7ZlUE1L2qCiqQAdzDUnPTee++5cFfaWqWAESNGuND28ccfu4B2xx13BEMOUNERZIBy5LzzznO1EwoeB0O1Lk8++aS1a9fOLr/8cvd39+7dduedd9pRRx1l48ePdwfn999/P+xxqk1RzUaHDh1s5syZVr9+fZs9e7a7749//KMLMQpb7du3d/9/+umnbcmSJfbNN98E16H1T5482T2npmgUYG6//XYbPny4W0ZNanrdql0S1WZUrVrV1fzo//obad26dS5sqCyxNGPGDPd8qik65ZRTXO3RDTfccMDHqSZLjwudAjIzM12Nm8qq7XP++edb165dY1puwK/oIwOUMzqoq+YjWi1Ecak2o3Ll//udo2YgNRWF1v6oKWTr1q1hj1MtTICCxPHHH29fffVVsHlEoSVaqFB/FjXriJpNipKbm+tqi9S3JZRu6zmKK7QDbiyp9uSuu+6yX375xQVKBRRNB/L888+7ABiNmrquuOIK+9vf/uYCjYLMkUceeQhKD/gPQQYoZ1QLoKYW1Zqov0sohZPIA7g6t0aKbLZQP5Jo81TbUFw7d+50TU0KWpGaN28e/H+0Zp5DQTUbeg3F6dCrvik5OTkF5qu5TLVOoXS7bdu27v8vvPCC+7+GgSuAFEWjpQKPi6Q+PhdddJG9+uqr9tprr7mA9Nxzz7kaOKCio2kJKIc0DPuVV16xjIyMsPlNmzZ1w41Dw0wsz/0S2kFWnYPVnyNQy9CtWzdbvXq161isA3boVJLwos6uLVq0cH1oQul2x44dS9R8psA3ffp027VrV9SQEqDmK72WUPv27XM1QIGapGhU+3TjjTe62rGDrQHS84wbN87eeOMNGzp0aNTO1kBFRJAByiENI1YTh/q5hNKooG3btrk+KGrO0UFcv/BjRetbuHChq+VQJ1o1r6iPjei2OtheeOGFrtOqnl/DnDWyR6GgJNSpWDU7ao7ReWLU+VWBTKGhpOXVc5944on24osvus7CagrTdgttJlPTzl//+lfX/0XL6Lk0rFqvT00+RVGnaPUB0vqLok7RCpmhU15env3666+u79E777xjGzZscIFN26+wZiigoiHIAOWUhh5HNv3o4KeDsQ7g6iyqYccH05cmWk2QJq1bHYFffvllN4xaArUoCg79+/d3YUvDrDU6KLQ/TnGo86zChUYlaT0afaTnUnNRSegkeJ988okb2qx1qR/QmWee6U6Gp87KAQpfCjLqnKw+PGeddZYLGhrVpf5DB6r5ufTSS13zUFFNcWp6UhNb6KST8Kk/kkKO1qFaGY3y0hD2Bx54oESvFSivKnmHqscbAADAIUaNDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAA8C2CDAAAML/6f8bgsMdHNVolAAAAAElFTkSuQmCC" + "image/png": "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THSyxk6dOtlnn32W6QzUGryekpJiHTp0sI8//jjT73z66afud1QzHaWn54d75pln7JRTTnHXFdP2q8HxyVjHoUOHZtsup02bFtG2p6GCjzzyiJ1wwgnWunVrGzFihDvRVlH066+/ur9XvU5tN8OHD3effcK2GH0N2Q5jSIN4EZn77rvPO++887xly5Z577zzjtesWTPvrbfeivdqJZyxY8d6ffr08X777bfQ7c8///S2b9/utWnTxnvwwQe91atXe/fff7930kknuemyZMkSr0mTJt6sWbO8FStWeJdffrnXu3dvL1ns2rXL69u3r1evXj1v4cKFbtrevXvdNtevXz9Xs3HjxnlNmzb1fv75Z/e4fqakpHiTJk3yvv32W+/mm2/2OnXq5H5P5syZ47Vo0cJ7//33XX07dOjgDRkyxEu2OkqPHj288ePHZ9oud+zYEdG2p/qedtpp3hdffOEtWLDAO/nkk72nn37aK2q03Vx00UVer1693Pak13v22We7v1m2xehrKGyHsUOAiZB2so0bN870gThmzBi3gSEzfcA9+uij2aa/9NJL3hlnnBH6QNNP/WHPnDnT3e/fv783cODA0PPXr1/v1a9f3/vxxx+9om7VqlXev/71L7eDCN/xfvrpp26n4Ic8ueqqq7wnnnjC/X/UqFGZtkF9ECpY+7/fvXv30HNFH3z6gPQ/MJOljnLKKad48+fPz/H38tv2tNPwt1N59dVXvbZt23pFjYKJ6rZx48bQtNdff93tKNkWo6+hsB3GDl1IEfrmm2/cZQ3U9Olr0aKFLVmyJLmb8HKwZs0aO/LII7NNV61UM//aVPrZvHnz0NmW9bi653yHHnqo1axZ000v6j7//HM7/vjj7YUXXsg0Xa+9QYMGVq5cudA01TC3mukEkA0bNnSP64quuqBp+ONq+v/777/d9pxMddy2bZtr1s9pu8xv29Pv/fLLL9aqVatM78HPP/9sv/32mxUl1apVs6efftqqVq2arX5si9HXkO0wthL2WkiJRtdhOvjggzNdX0kbqPo1t2zZYpUrV47r+iUKtep99913rm98/Pjx7oOrffv2rj9YNaxbt26m51epUsVWrVrl/q8/wurVq2d7fMOGDVbUde/ePcfpqlleNcnr8a1bt7rtM/xxXZ7joIMOKrI1za2OCtUKzOPGjbOPPvrI1aBnz57WuXPnfLc91VjCH/d3Tno86+8Fma4zpzEbPn050/gMjblgW4y+hmyHsUWAiZAGm2W9OKR/P+tVs5PZ+vXrQ7UaNWqU/fTTT27Q2q5du3KtoV8/PSevx5NRfjXL63HV07+f2+8ni7Vr17odx9FHH22XX365ffHFF3bXXXe5M3yfffbZeW57OdUxWf72H374YTfw/uWXX3YDcNkWo6vh119/zXYYQwSYCJUuXTrbRuLf1xWy8T+1atVyR35UqlTJ/aHqopz6BtK/f383aj6nGvr1y63GaopOVqqJWvgKWjN9C9Rj/v1kr6muq9a2bVv3jVeOPfZY+/7772369Olux5HXthe+k8ha06JcR+14p06dao899pjVq1ePbTEGNTzmmGPYDmOIMTARqlGjhv3xxx9uHIxPTXr649UfKP6hP05/nIvUqVPHNR+rb3jTpk2Znqv7ftOnapzT4/q9ZJVbTSKpmd4HfdCFP67tVzuhZKuptkd/p+HTt2CNK8ivjnpM/Cb88P8X1Tref//9NmXKFLcDbteunZvGthh9DdkOY4sAEyG1JKjP1h+wJosWLbLGjRvbAQdQRt/8+fPdIMrw8zusWLHC/dFqwNlXX33lxsmIfi5evNid70D0UzX1acCabv7jyUivXc3OfvOxqEa51Ux1V3O1pmu71PYZ/ri2X23H+uaXTB5//PFsF4LV4FHtPPLb9rTj0EDK8Mf1f00riuMORo8ebTNmzLCRI0dax44dQ9PZFqOvIdthjMXwiKYi76677vI6duzojtWfO3eu17x5c+/tt9+O92ollL/++ssdJnjrrbd6a9as8ebNm+cOH5wwYYJ77IQTTnDnf9Hhrvqp88L4h2UuXrzYa9iwoffiiy+GzoGg88kkm/DDf/fs2ePOl3HLLbe4c0ro/BE6lNU/98a6devc4f2a7p97Q4cQ+4eqv/HGG2471faq7Vbbr+qebHXUa2/QoIE7Z8YPP/zgPf/8816jRo3cNhfJtqf6ajvW/HTT/ydPnuwVNToE+LjjjvMee+yxTOcp0Y1tMfoash3GFgGmAHS+ggEDBrg/Wm04U6ZMifcqJSR9eOlkTaqTAsqTTz4Z+hDTH/AFF1zgPuguvPBC7+uvv870uzrHgc51oN/Vycg2b97sJZus5y/5/vvvvcsuu8x90OlD/5NPPsn0fIXEc845x51TQ+flyHreHH3onXjiie4kYoMGDXInekvGOmrHqR2qtr327dtn+/KR17annfewYcO8li1bescff7z38MMPh7bpokTbiuqW003YFqOvIdth7BTTP7Fu1QEAANiXGLwBAAAChwADAAAChwADAAAChwADAAAChwADAAAChwADAAAChwADAAAChwADFCH169e3fv36ZZv+yiuv2BlnnLFPlqn5av7x8t5779mpp57qTreuS1nkRKdjv/POO93zUlJS3MUdX3311YheR9ba6f+qs3/TqfB1odJ///vfbjm+22+/3d184b+T9aartgMoGK5GDRQxb7zxhl144YV24oknWjJ44okn7OSTT7a+fftalSpVsj2uq/12797dmjdv7q5Fo+csWLDA7rnnHtu8ebNdffXVBV7mHXfcYR06dHD/19XWV69e7eY3cOBAe/bZZ3P9vSeffNKaNWuWbXrlypULvA5AsiPAAEVMrVq17L777rP//ve/VqpUKSvq/vrrL3ehUL3unAwZMsS1kig8+FdJP+KIIyw9Pd1dbE9hr6BXlD/wwAMzXQFYF9q76aabrH///m599HhOKlWqlLRXDgZijS4koIi55ZZb7Ndff7VJkybl+Li6K7J2W2jnfsUVV4S6TPT/p556ylq1amVt2rRx3S1z5syxtm3bWsuWLe3hhx/ONM9Vq1a5bhldcfiaa66x9evXhx5Tt8p1113nunjU/aIr9WZkZISWdckll7jWE4WQ1157Ldv67t692y3vtNNOc90/mpffVaP5/fzzz65FJKcusg0bNrjWFl0B2A8vPgWXiRMnWrly5SwW/LAYzdXpZ8+ebe3atXN1VAvPu+++G5N1A4oiAgxQxPitAePGjbN169YVah5fffWV+92XX37ZOnbsaPfee6/rGlGo0biOp59+2pYvXx56/vTp061Xr142c+ZM27Nnj+tKEV1q7YYbbnDdNrNmzbLhw4fb66+/7tYtfFl169a1F1980XUFZaWumblz59pDDz1kM2bMcPO//vrrXdeN1u+QQw5xAUb/z2rlypVuHRQIsipbtqwLYyVKRN8Q/eOPP9qECRPslFNOsfLlyxdqHr///rsNGDDA+vTp48Ji165d7dZbb7UtW7ZEvX5AUUQXElAEqQVFrRsPPPBAprAQKe30NehVrRMXX3yxTZ061W688UbXFaObul7Wrl1rDRo0cM+/9NJLrVOnTu7/WuaZZ55pa9assd9++821xrz00kuuZeLoo4924WbQoEGu1UXUMqIBsGXKlMm2Hn/++afrClNLyQknnOCmPfLII3b66afbJ5984gJD8eLFXZdNTuNItm7d6n7m1qVTWApV999/v/u/AlXJkiXda1aQysu1117r1jecWp4UCNVq9vfff7tApu4wjc1RS1np0qVjuu5AUUGAAYog7STVaqLBq4XphlCLid+14u9ADzvssNDjChsaQ+Jr0qRJ6P963kEHHeQCjnbKakHQTtqnlpNdu3bZH3/8EVpWTuHFH4Cr56v7yad5H3XUUS4gKcDkRc/1g0x+A2XVEqNlZaVpWVtp1MJ1zjnn2Pbt2133m7qxdPTXwQcfnOcyhg4dmum1iP/ajzvuOBfMevbs6V6fAlG3bt1cSxGA7OhCAoooHXWjbgi1iOzcuTM0PetYEL8VIVxO3So5/Z4va6uCdvpqldB81eqiMTT+TeNc3nnnnVCrSF4tDLk9pjE0OYWNrBo2bOjWe9myZdke27FjhwsL33zzjbuv9dm2bVu25+U0KFehq3bt2q4FSkc2ibq11IKSX/eefi/8pmmi9Rw/frxrrdI4mA8++MA6d+5sK1asyPd1AsmIAAMUYbfddpvbUYcP6FWwELUe+KI9D8m3336bqdVELR5qRdBNXUhq/fB32FqWDn3OKxD5Dj/8cBemUlNTQ9PUcvPDDz+4eedHy9UgZHWBqVssnMbrfPnll3booYe6++qu0XicrJYsWRLqKstt8K5aVhQ0nnnmGSsstShpnI9as/7zn//Ym2++6dYtt3PbAMmOAAMUYerSUIhRF4evatWqbseoUKOBuhorM2/evKiWM2XKFNeqotYMjW/R0UoKKxqUq/EcOrxYA2oVGO666y7XLZK11SYnGhCrbhSNN/nss8/c/DUvjRNRMImE1mfp0qV28803u5/fffedTZ482R3ZpG4fHdrsj+PRSfE0UFkBSeurI6bUEnLZZZfluQyFDh3VNHbsWNdtlhuN6dm4cWO2m4600qHcGgyteeh90Xui9y2v8AQkMwIMUMRpxxp+8jQNplW3knbmOlRXR7zo0ORoqCtm1KhRdtFFF7nulWHDhrnpCikKBOru0WMaCKzDoTVAOFIa9HvSSSe5cScKGepWUktHpOe40RFO//d//+f+r8HC6pbRyf5UAx1e7dORSurCUYuHDgnXshYuXOgG2Grgcn7UaqLWrayHmIfT61eoy3rTe6Dzw2g8zdtvv+2O/NK5fHQUUk5HZgEwK+ZlbVcFAABIcLTAAACAwCHAAACAwCHAAACAwCHAAACAwCHAAACAwCHAAACAwCHAAACAwCHAAACAwCHAAACAwCHAAACAwCHAAACAwCHAAAAAC5r/B1hpoLnUi2aOAAAAAElFTkSuQmCC" }, "metadata": {}, "output_type": "display_data" } ], - "execution_count": 93 + "execution_count": 15 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T19:58:50.581601Z", - "start_time": "2025-07-03T19:58:50.538167Z" + "end_time": "2025-07-03T20:53:40.535630Z", + "start_time": "2025-07-03T20:53:40.487701Z" } }, "cell_type": "code", @@ -435,19 +445,19 @@ "text/plain": [ "
" ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAANX5JREFUeJzt3QmczWXfx/HfMIx9328m2gxJokJpsUSSEk93ilJpl0RK2qQNLUiR6rak5RZ3qXQ/qCRaRlnadCNUhuyVGfuS87y+1/Ocec4ZZ5gZM3PONfN5v15/Zv7nnP9cZ5k533Ndv+v6xwUCgYABAAB4qEi0GwAAAJBTBBkAAOAtggwAAPAWQQYAAHiLIAMAALxFkAEAAN4iyAAAAG8RZAAAgLcIMgAAwFsEGQDII0899ZQlJSXZoUOH0vft3LnTbrzxRqtRo4bFxcXZXXfdFdU2+mj8+PGWmJho+/bti3ZTEAMIMigQ1qxZY7fccosdf/zxVqJECStXrpydc8459txzz9mePXvSr6c3jjvuuCPiMf71r3+5yz/99NP0fdddd53bF9wSEhLs5JNPtocfftj27t172DEyHv/XX38Nu33Gbfjw4bn+WCD3bdiwwR555BH79ttvs3ybtLQ0GzFihA0aNMiKFPn/P7VPPvmkTZ482W677TZ77bXX7JprrrFY9tZbb1nPnj3tpJNOcq/ZCy64IFu337hxo913333WunVrK1u27GG/Yxl9+eWX1qpVKytVqpQLe3feeacLf6H0e7l//3576aWXcny/UHDER7sBwLH697//bVdccYULGddee601atTI/ZH7/PPP7Z577rEff/zRXn755RwfX8f9xz/+4b5OTU219957zx577DEXnt54440sHeOqq66yiy+++LD9p59+eo7bhfwNMkOHDrW6detakyZNsnSbiRMn2sGDB91zH+qTTz6xFi1a2JAhQ8wHL774oi1ZssTOPPNM+/3337N9+5UrV7pApyB06qmnWnJycqbXVVBs27atNWjQwEaOHGnr16+3Z555xlatWmWzZs1Kv54+rPTq1ctdp2/fvi4cofAiyMBrv/zyi3Xv3t2OO+449wZRs2bN9Mv69Oljq1evdkHnWMTHx7tPpEG33367nX322fbPf/7T/SGtXr36UY/RtGnTsGP4Rm/IGh4pXrx4lq6v6ypM6g2nsJo0aZJdeumlhz0GW7ZssYYNGx719urx0+Md2psTDeo1+tvf/ubaoQ8J2dWsWTMXgCpVquR6PfWhIzP333+/VaxY0fXYqFdVFB5vuukm+/DDD619+/bp1/373//uhu7mzZtnbdq0yeG9Q0HA0BK8pj9k6naeMGFCWIgJOvHEE61fv365+jP16U9d3zpx/M8//5xrx128eLF16NDBqlSpYiVLlrR69erZDTfccNTb6Q/9JZdc4v7Qq7dAb5x6o3znnXcOu+727dtdTUadOnVcT5MeH31aDq3hCA6H6ZPw6NGj7YQTTnDX/c9//pNpG4JDauqhOuWUU9z1Z8+e7S777bff3P1Q4NN+Xa7eioz06btLly5WunRpq1atmvXv39/mzJlz2FCE7q+GFjLSkEfGYQ/VUKjnQ/dTP1v3+9577z2stuKjjz5yz2mFChWsTJkyVr9+ffemKvrZ6o2Q66+/Pn1YUMNDRwrY33//vbVr1y59n46j2+kyhevgcfR4By+bOnWqPfjggy44aGhFw1Myffp0Fwj0utDrQ6FYj2soPSZqe0pKins96GsdZ+zYse7yH374wb3h6/FV8H/zzTctK/SYHUuY0nCSQszR6L7qedB9C4YYUS+r7su0adPCrq/HQ8dVDykKN3pk4LWZM2e6uhj1kOQnvfmIPj1mxe7du23btm2H7dcbp3p89CldnzarVq3q6gm0Xz8jUhiJRF3vV155pd16662uy129AfrkqzBx4YUXprfh/PPPd2+AqidSsaTqEQYPHuzqGBRaQukY6hW4+eabXQg42puResT0ZqNAozdbBY7Nmze7YZRg0NH90xBB79693RtXsNBVdUwaUtCbsGoiatWq5XoCdMycUjhTj4iGGHUfNFyhN/NRo0bZTz/9ZO+++667noYe9cbfuHFje/TRR919VU/eF1984S7X7bRfdVE6zrnnnuv2H+k1p8c12BMXpOPoPimg1a5d2+6++263X49J8PWkIUv1wgwcONCFLX2twKQApTA1bNgw95iq9kvt++abb9xrJeivv/6yjh072nnnnedCvoKlHneFlwceeMB69OhhXbt2dcWyCggtW7Z0gTkW6LlRz98ZZ5wRtl+PgQK67mtGenyDzxMKsQDgqdTU1IBewpdddlmWb6Pr9+nTJ+Jl06dPd5fPmzcvfV+vXr0CpUuXDmzdutVtq1evDjzzzDOB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vkdGC+KdccYZ9ueff7rzLAWpbkYL2AEAAMRsj8xnn31mX375pVtPJlTdunXtt99+y622AQAA5H6PjE4joPMtZbR+/Xo3xAQAABCzQaZ9+/Y2evTo9O+1KJ6KfIcMGXLMpy0AAADI06GlZ5991p0uoGHDhrZ37167+uqrbdWqVValShX75z//mZNDAgAA5E+QqV27tn333Xfu5JHff/+9643RCR579OgRVvwLAAAQc0HG3TA+3nr27Jm7rQEAAMjrIDNlypQjXq4zWgMAAMRkkNE6MqEOHDhgu3fvdtOxS5UqRZABAACxO2tJC+GFbqqRWblypbVq1YpiXwAAEPvnWsropJNOsuHDhx/WWwMAABDzQSZYAKwTRwIAAMRsjcz7778f9n0gELCNGzfaCy+8YOecc05utQ0AACD3g0yXLl3CvtfKvlWrVrU2bdq4xfIAAABiNsjoXEsAAAAFqkYGAAAg5ntkBgwYkOXrjhw5Mic/AgAAIG+CzDfffOM2LYRXv359t++nn36yokWLWtOmTcNqZwAAAGIqyHTu3NnKli1rr776qlWsWNHt08J4119/vZ177rl2991353Y7AQAAcqdGRjOThg0blh5iRF8//vjjzFoCAACxHWTS0tJs69ath+3Xvh07duRGuwAAAPImyFx++eVuGOmdd96x9evXu+3tt9+23r17W9euXXNySAAAgPypkRk/frwNHDjQrr76alfw6w4UH++CzNNPP52TQwIAAORPkClVqpSNGzfOhZY1a9a4fSeccIKVLl06J4cDAADI/wXxdH4lbTrztUKMzrkEAAAQ00Hm999/t7Zt29rJJ59sF198sQszoqElpl4DAICYDjL9+/e3YsWKWUpKihtmCrryyitt9uzZudk+AACA3K2R+fDDD23OnDlWu3btsP0aYlq7dm1ODgkAAJA/PTK7du0K64kJ+uOPPywhISEnhwQAAMifIKPTEEyZMiXsnEqHDh2yp556ylq3bp2TQwIAAOTP0JICi4p9Fy9ebPv377d7773XfvzxR9cj88UXX+TkkAAAAPnTI9OoUSN3tutWrVrZZZdd5oaatKKvzoit9WQAAABiskdGK/ledNFFbnXfBx54IG9aBQAAkBc9Mpp2/f3332f3ZgAAALExtNSzZ0+bMGFC7rcGAAAgr4t9Dx48aBMnTrSPP/7YmjVrdtg5lkaO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nXHGGXbWWWfZ6NGjbdeuXW4WEwAAKNxiPshceeWVtnXrVnv44Ydt06ZN1qRJE5s9e/ZhBcAAAKDwifkgIxpGymwoCcdOQ3FacDDjkByig+cjtvB8xBaej9iSEAPPR5wqfqP20wEAAArqgngAAABHQpABAADeIsgAAABvEWQAAIC3CDKF1LBhw+zMM8+0smXLWrVq1dyCgytXrox2s/B/hg8f7laivuuuu6LdlELtt99+s549e7qVwUuWLGmnnnqqLV68ONrNKpR03r2HHnrI6tWr556LE044wR577LGjn4cHuWLBggXWuXNnt8qu/ja9++67YZfredAyKTVr1nTPj07uvGrVKssPBJlCav78+danTx9buHChffTRR3bgwAFr3769W2wQ0bVo0SJ76aWXrHHjxtFuSqH2559/2jnnnGPFihWzWbNm2X/+8x979tlnrWLFitFuWqE0YsQIe/HFF+2FF16w5cuXu++feuope/7556PdtEJh165ddtppp9nYsWMjXq7nYsyYMTZ+/Hj76quvrHTp0tahQwfbu3dvnreN6ddwtOigemYUcM4777xoN6fQ0hlkmzZtauPGjbPHH3/cLQCp1ayR/+677z774osv7LPPPot2U2Bml1xyiVsIdcKECen7unXr5j79v/7661FtW2ETFxdnM2bMSD91kGKEemruvvtuGzhwoNuXmprqnq/Jkydb9+7d87Q99Mgg/UUnlSpVinZTCjX1knXq1Ml1yyK63n//fXdqlCuuuMKF/NNPP91eeeWVaDer0Dr77LPdefZ++ukn9/13331nn3/+uXXs2DHaTSv0fvnlF7fyfujfLZ0jqXnz5pacnJznP9+LlX2Rt3QiTtViqBu9UaNG0W5OoTV16lRbunSpG1pC9P38889uKEPne7v//vvd83LnnXe6k9nq/G/I/x4ynWk5KSnJihYt6mpmnnjiCevRo0e0m1bobdq0yf2f8dRB+j54WV4iyMD1Aixbtsx9ukF0rFu3zvr16+fqlUqUKBHt5uD/Ar56ZJ588kn3vXpk9HuiGgCCTP6bNm2avfHGG/bmm2/aKaecYt9++637AKYhDZ6Pwo2hpUJO57D64IMPbN68eVa7du1oN6fQWrJkiW3ZssXVx8THx7tN9UoqntPX+vSJ/KXZFw0bNgzb16BBA0tJSYlamwqze+65x/XKqN5Cs8eu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" + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAHFCAYAAADsRsNYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAANd9JREFUeJzt3Ql4FFXa9vEnhC0hgyibgIqKiIJsgrgvuAyIOCiKOjr64qjgsOkoKogLrggqogIq7oqvuACOC4Ib+oqCCwqEQRkWF5RBQUUnhkVCvus+Y/XX6SSQNJ1UnfT/d119dVLdqT5dlaTufs45VRmFhYWFBgAA4JFqYTcAAACgvAgwAADAOwQYAADgHQIMAADwDgEGAAB4hwADAAC8Q4ABAADeIcAAAADvEGAAoAw45ycQLQQYpJXc3Fy74oor7JhjjrF27drZ8ccfb9dee62tWrWqyPPOPfdcdyvNsccea8OGDSvy/FatWhW57bfffnbggQda79697R//+EeRn9fPah2BDz74oNjPJ97+7//+L6XbAmU3f/5869evX5me+80331jXrl3txx9/dN8vXbrUTjnlFDvggAOsR48eFkVr1qyxzp07u9/D8nrrrbfc72dJ5syZY6eddpq1b9/e/b4//PDDRYLg3XffbSNHjtyhtiN9VQ+7AUBleeqpp+zWW2+1gw8+2C6//HJr1KiRffXVV+6f6muvvWaPP/64Cx3Jat26tV1//fWx7wsKCtyB4bHHHrMrr7zS6tWrZ0cfffQ213HddddZmzZtSnysRYsWSbcNO+a5556zFStWbPd5OjgPHz7c/ud//sd22WUXt2zChAm2evVqdx8si5J///vfdsEFF9h//vOfcv+sAo/+lkqyYMECu/jii+3EE0+0Sy65xIXA22+/3f1dBGFQ9926dXO3Qw89dIffC9ILAQZpQf88b7nlFjvnnHNsxIgRseUKM6rC6BPy1VdfbdOmTUv6NXJycqxDhw7Flh911FHun7PWvb0As88++5S4Dvjh9ddft3/9618uFAd++ukn23fffbe77yvb1q1b7YUXXrDRo0eX+2fz8vLswQcfdLc//OEPlp+fX+w59957r+2///4utAR/B1u2bLH777/fzjvvPKtdu7ZlZWW5sDdq1Ch78cUXU/K+kD7oQkJa0AFF/2gvu+yyYo/pU7G6dI477rgS/xHvqFq1alnNmjUtIyMjZQeeu+66y5Xk1S2h+zvvvNN+++23Un9GBxM9b/bs2da9e3dX0j/jjDOKdRmsX7/eVYEOO+wwa9u2rXvO3LlzizxH3QXjx493XWPqhtPXJVG32tChQ23IkCEulJ1//vlu+aZNm2zMmDHugK72n3zyyTZjxoxi71EVC3X1qa36JP/qq6+611YXTUndcKLH9Jz4IFqW9/Tee++55R07drSDDjrI/va3v8UqLnqd6dOn27ffflts3YkeeOABV03Q/g621YcffmgfffRR7Gd1U7VOVZ3DDz/cunTpYsuXL3fP13bQdlU79Jja/fPPPxfZj9p/Cko9e/Z076dXr1726aefuopHnz593D7RY4nvMZG6tlQxVHjX/iiP559/3p599lnXvr/85S/FHt+8ebP73TrhhBOKLNe2+fXXX90HioDaumzZMnv77bfL1QaAAIMqT2V99cWrCqJPfCXR2ISBAwdadnb2Dr2OPmEGNx2oV65c6boU9E9bB5rt0YE7fh3BTWX3gD71Pv300669jzzyiP35z392Ae2+++7b5ro1JuOqq66ys88+24090CdgdR189tln7nG1V5+G33zzTfv73//ugsmuu+5qF154YbGDoT5FK3jcc8897qBUGoWOOnXquLZpPdpGaveUKVNcoNFyHaz1eqoGBHRAnThxohs/oYN23bp1i3TPlVVZ3pPGPw0YMMCFKbVHlbovvvjCdW9of+gxha2GDRvaM88840JVSbSvFy9ebH/84x9jy/R8hRXd4n9W+1P7Tq+l3w91D+r9KmAr7Gm7ajvNmjXLBcGNGzfG1qluydtuu82FOu3HX375xYVE/awCjIKftrPeb/zPJWrSpIkLQnp9/S6Uh4Kjxr6cddZZJT6ubapAveeeexZZ3rx5c3ev7Rto3Lixe88vvfRSudoA0IWEKk8lfB3Idttttwp9HX3KThy/oqqLug90oNHAzu3p27dvictbtmxpL7/8svtan+h1sNXBXfQJXsFMFaZt2bBhgxswqU/ccsghh7jus0mTJrmKjgYaf/755+6TtaoeQdlfB9A77rjDpk6dGluXBnwGFZVtqVGjht1www2xioQqHe+++657vWBA65FHHunaptfQp3GFvcmTJ7tuhsGDB8faodd7//33rTzK8p4WLVrkDvT9+/d3B1NRyFHoUUVujz32cFU6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NmzImXoBAED0Asznn39e5Ht1IX399dd200032cknn5yqtgEAAKR2GnU8DeDda6+93LiYu+++OxWrBAAAqNgAE/jhhx/sl19+SeUqAQAAUtOFpDPuJvr111/t/ffft+7duyezSgAAgDJL2Wlz69WrZ1dddZU7JwwAAEDkAsyoUaNS3xIAAICKDDDjx48v83MHDRqUzEsAAACkNsB89dVXNnPmTNdtdMABB7jzv2hqtaZSd+jQIXZBR10nCQAAIDKXEtD5Xm644QarUaNGbPno0aPt559/tltvvTWVbQQAANjxadQzZsywCy+8sEh4kTPOOMM9BgAAELkA07hxY3v33XeLLZ81a5a7qCMAAEDkupAuv/xydyXqt99+2/bbbz+3LDc3113Q8f777091GwEAAHa8AnPCCSfYtGnTbN9997UVK1bYt99+a126dHEVGN0DAABE8kR2rVq1cmfk1aDdnJwcq1atGrOOAABAdCswhYWFdt9999nBBx9shx56qK1evdquuOIKu+6662zz5s2pbyUAAMCOBpgJEybYiy++aLfddpubUi2nnnqqvffeezZmzJhkVgkAAFCxAWb69Ol24403WteuXWPdRocffrg7D8yrr76azCoBAAAqNsD88MMP1qhRo2LL69ata/n5+cmsEgAAoGIDzCGHHGIPP/xwkWV5eXk2duxYNy4GAAAgcgFm5MiR7pwv6jbatGmTDRgwwI4++mg3nfqaa65JfSsBAAB2dBq1uoqef/55mzt3rq1cudK2bNlie+21lx1xxBFuOjUAAEDkAkzPnj1t/Pjxbgq1bgAAAJUpqXKJqiy//fZb6lsDAABQURWYY445xs4//3w3jbpZs2axc8EEBg0alMxqAQAAKi7ALF261Nq0aWPff/+9u8XjcgIAACAyAeacc85xlw/QAN4nn3zSLdu4caPVrl27ItsHAACQ/BiY+fPnFxv3cthhh9mqVavKugoAAICU2KE5z7qoIwAAQGXjpC0AAMA7BBgAAFC1ZyHpStM5OTmx77du3Wqvv/667bLLLkWed8opp6SuhQAAAMkGmKZNm9ojjzxSZFn9+vVt8uTJxaZRE2AAAEAkAsxbb71VoQ0BAAAoK8bAAAAA7xBgAACAdwgwAADAOwQYAADgHQIMAADwDgEGAAB4hwADAAC8Q4ABAADeIcAAAADvEGAAAIB3Qg0w3333nQ0ZMsS6dOliRx55pI0aNco2bdrkHlu1apX17dvXOnToYD169LA5c+aE2VQAABAhoQWYwsJCF142bNhgTz31lN111102e/ZsGzdunHts4MCB1qBBA5s6dar16tXLBg0aZKtXrw6ruQAAwMeLOabaypUrbcGCBfbee++5oCIKNKNHj7ajjjrKVWCmTJli2dnZ1qJFC5s7d64LM4MHDw6ryQAAIN0rMA0bNrSHHnooFl4CeXl5tnDhQmvdurULL4FOnTq5wAMAABBaBaZu3bpu3Etg69atNnnyZDvkkENs7dq11qhRoyLPr1+/vq1Zs6bcr1NQUGCplpmZ6e4LC80r8dsi+Loitg+Swz6JFvZHtLA/0md/FJRxnaEFmES33367LVmyxJ5//nl77LHHrGbNmkUe1/ebN28u93pzc3NT2EqzrKwsVx3Kz8931SIf5GdnuPulS5e6MUcVuX2w49gn0cL+iBb2R7Tkhrg/qkclvDz++ONuIO++++5rtWrVsvXr1xd5jsJL7dq1y73utm3bxiomqaTurZwcP0owQVdcq1atiiRc/eJV1PZB+bFPooX9ES3sj/TZHwW/rzvyAeamm26yp59+2oWYbt26uWWNGze25cuXF3neunXrinUrlYU2bEX9smf8t7DhjZK2Q0VuHySHfRIt7I9oYX9ES2aI+yPU88CMHz/ezTQaO3asnXTSSbHl7du3t3/+85+2cePG2LL58+e75QAAAKEFmBUrVtjEiRPtoosucjOMNHA3uOnEdk2aNLHhw4fbsmXLbNKkSbZo0SI7/fTTw2ouAACIkNC6kN58803Xz3Xfffe5WzwNNlW4GTFihPXu3duaN29uEyZMsKZNm4bVXAAAECGhBZh+/fq5W2kUWjStGgAAIBEXcwQAAN4hwAAAAO8QYAAAgHcIMAAAwDsEGAAA4B0CDAAA8A4BBgAAeIcAAwAAvEOAAQAA3iHAAAAA7xBgAACAdwgwAADAOwQYAADgHQIMAADwDgEGAAB4hwADAAC8Q4ABAADeIcAAAADvEGAAAIB3CDAAAMA7BBgAAOAdAgwAAPAOAQYAAHiHAAMAALxDgAEAAN4hwAAAAO8QYAAAgHcIMAAAwDsEGAAA4B0CDAAA8A4BBgAAeIcAAwAAvEOAAQAA3iHAAAAA7xBgAACAdwgwAADAOwQYAADgHQIMAADwDgEGAAB4hwADAAC8Q4ABAADeIcAAAADvEGAAAIB3CDAAAMA7BBgAAOAdAgwAAPAOAQYAAHiHAAMAALxDgAEAAN4hwAAAAO8QYAAAgHcIMAAAwDsEGAAA4B0CDAAA8A4BBgAAeCcSAWbz5s3Ws2dP++CDD2LLVq1aZX379rUOHTpYjx49bM6cOaG2EQAAREfoAWbTpk122WWX2bJly2LLCgsLbeDAgdagQQObOnWq9erVywYNGmSrV68Ota0AACAaqof54suXL7fLL7/cBZZ48+bNcxWYKVOmWHZ2trVo0cLmzp3rwszgwYNDay8AAIiGUCswH374oR188MH2zDPPFFm+cOFCa926tQsvgU6dOtmCBQtCaCUAAIiaUCswZ599donL165da40aNSqyrH79+rZmzZpyv0ZBQYGlWmZmprtPKBxFXvy2CL6uiO2D5LBPooX9ES3sj/TZHwVlXGeoAaY0GzZssJo1axZZpu812Le8cnNzU9gys6ysLFcdys/Pt7y8PPNBfnaGu1+6dKnbthW5fbDj2CfRwv6IFvZHtOSGuD8iGWBq1apl69evL7JM4aV27drlXlfbtm1jFZNUUvdWTo4fJZigK65Vq1ZFEq5+8Spq+6D82CfRwv6IFvZH+uyPgt/X7WWAady4sRvgG2/dunXFupXKQhu2on7ZM/5b2PBG4nZQNakitw+Swz6JFvZHtLA/oiUzxP0R+jTqkrRv397++c9/2saNG2PL5s+f75aj/HbKqmFbtxatFukXTl1hUf9HkNhuAAAiW4Hp0qWLNWnSxIYPH24DBgyw2bNn26JFi2zUqFFhN81LdWpVt2rVMuzet5bZtz/9/zEwGscTP9MraprtnGWDj20ZdjMAABEUyQCjqsDEiRNtxIgR1rt3b2vevLlNmDDBmjZtGnbTvKbw8uUPv8ZmUGkQssbx+NYVBgBAZAKMZsjEU2iZPHlyaO0BAADRFckxMAAAANtCgAEAAN4hwAARoqntAIDtI8AAEZn6HebUdqarA/BNZAbxAlVFSVPWyyqMqe1MVwfgIwIMUMFT1suKqe0AUHZ0IcGrMwgDACBUYODdGYSjrMPu9eysLnuE3QwAqPIIMKiS3TFhaVqPWUQAUBnoQgIAAN4hwAAAAO8QYAAAgHcIMAAAwDsEGAAA4B0CDAAA8A4BBgAAeIcAAwAAvEOAAQAA3iHAAAAA7xBgAACAdwgwAADAOwQYAADgHQIMAADwDgEGAOCFrKyssJuACCHAAABKtXVroUVBZmamtW7d2t370mZUrOoVvH4AgMeqVcuwe99aZt/+tCHsplh+fr5lZ2dv8znNds6ywce2rLQ2ITwEGADANim8fPnDr6G2obDQLC8vz3JyCi0jI9SmICLoQgIAAN4hwAAAAO8QYAAAgHcIMAAAwDsEGAAA4B0CDAAA8A4BBgAAeIcAA6S5nbJqeHnmUh/bDCB1OJEdkObq1KoeqbOtlgVnWwVAgAEQmbOtAkBZ0YUEAAC8Q4ABgErCuB1UJTVq1Aj19elCAoBK4ttYow6717OzuuwRdjPSJtzq98MXmZmZ1rpNm1DbQIABgErk01ijpvWywm5C2vAt3Darl2WDj2tpBQUFobWBAAMAqHKnBfCpmuFjuI0CAgwAlCIriwqEb3w8LQBddckhwADwTmV8ynZ9/K1bV9j6UbF8qmbQVZccAgwA71TWp+z8/HzLzs5Oybr4lA2kFgEGgLcq8lN2YaFZXl6e5eQUWkYKCj18ygZSi/PAAAAA7xBgAACAdwgwAADAOwQYAADgHQIMAADwDgEGAAB4hwADAAC8Q4ABAADeIcAAAADvEGAAAIB3Ih1gNm3aZFdffbV17tzZjjjiCHvkkUfCbhIAAIiASF8LacyYMbZ48WJ7/PHHbfXq1XbVVVdZ06ZNrXv37mE3DQAAhCiyAUZXgX3uuefswQcftDZt2rjbsmXL7KmnniLAAACQ5iLbhfT555/bli1brGPHjrFlnTp1soULF9rWrVtDbRsAAAhXZCswa9eutZ133tlq1qwZW9agQQM3Lmb9+vW2yy67bPPnCwsL3f3mzZstMzMzpW3T+vaoV9uqZ/z3NaJu1z/UsIKCgqJtLiy0DTkZllW7tllGhnnT7ojboTaHtE/SbjuHtD/YzpWzPyLV5jLysc1Nd6rl2vzbb7+5+1QK1hccx0uTUbi9Z4TkhRdesLvvvttmz54dW7Zq1So7/vjj7Z133rFdd911mz+v4JKbm1sJLQUAAKnWtm3bIkUMbyowtWrVciEkXvB9bSXw7ahevbp789WqVbOMiFYYAABAUaqraKiIjuPbEtkA07hxY/vpp5/cOJjgTahbSeGlbt262/15BZdtJTcAAOCvyA7i3X///V1wWbBgQWzZ/PnzY1UVAACQviKbBLKysuyUU06xkSNH2qJFi+yNN95wJ7I777zzwm4aAAAIWWQH8cqGDRtcgHnttdcsJyfHLrjgAuvbt2/YzQIAACGLdIABAADwqgsJAACgNAQYAADgHQIMAADwDgEmDX333Xc2ZMgQ69Klix155JE2atQod4kGhK9fv342bNiwsJuR9nTSzBtuuMEOOuggO+yww2zs2LHbPa05Ks6///1v69+/vx144IF27LHH2mOPPRZ2k9L276Jnz572wQcfFDlDvibXdOjQwXr06GFz5syptPYQYNKM/gkrvGiGl67sfdddd7nLNYwbNy7spqW9V155xV0mA+G7+eab7f3337eHH37Y7rzzTnv22WftmWeeCbtZaevSSy+17OxsmzZtml199dXu/9Xrr78edrPSyqZNm+yyyy6zZcuWFTmeDBw40F2ncOrUqdarVy8bNGiQrV69ulLaRIBJMytXrnQnB1TVpWXLlta5c2cXaF5++eWwm5bWdIHSMWPGuBM1Ivx9oX/GN910k7Vr184OPfRQ++tf/2oLFy4Mu2lp6eeff3b/s/72t7/Znnvu6a6Hp8rx3Llzw25a2li+fLmdccYZ9vXXXxdZPm/ePFeBufHGG61FixauSqZKjP5+KgMBJs00bNjQHnroIZeY4+Xl5YXWJpiNHj3afXrZZ599wm5K2tMZv3XeKXWxxnftKfSj8unyMTqxqaovuvKxPoR98skn7mztqBwffvihHXzwwcWqkAr1rVu3dtWxQKdOnYqcQb8iEWDSjK4jpU8vAV0wa/LkyXbIIYeE2q50pk+SH3/8sQ0YMCDspuD3Pv1mzZrZCy+8YN27d7fjjjvOJkyY4P5WEM6Ffa+77jp38Gzfvr2deOKJdtRRR1mfPn3CblraOPvss13XnYJkPF2fsFGjRkWW1a9f39asWVMp7YrsxRxROW6//XZbsmSJPf/882E3JW37la+//nr3D7osV1lHxcvPz7evvvrKpkyZ4qou+iet/aN/3upKQuVbsWKFde3a1c4//3w3BkPde+ra+9Of/hR209Lahg0bil00Wd9rsG9lIMCkeXh5/PHH3UDefffdN+zmpKXx48fbAQccUKQqhnDpIrLqUtXgXVViRIMSn376aQJMSBVKfcDSAHeFfI0T00zK++67jwATgeqYxozFU3iprA9jBJg0pU8w+oesENOtW7ewm5PWM4/WrVtnHTt2dN8Hn1xmzZpln376acitS99xYvrHHIQX2WuvvdxUXlS+xYsXW/PmzYscFDXu4v777w+1XTBr3LixG+AbT//PEruVKgoBJk0/9as8rnNbqI8f4XnyySdty5Ytse/vuOMOdz906NAQW5XeNM5CXXtffPGFCy6igaPxgQaVRwdDdekp3AfdFdofu+22W9hNS3vt27e3SZMm2caNG2MBU4PgNZC3MjCINw37kidOnGgXXXSR+yVT/35wQ+XTQVGfLoNbnTp13E1fIxx77723HXPMMTZ8+HD7/PPP7d1333X/pP/85z+H3bS0pBPX1ahRw6655hoXKt966y1XfTn33HPDblra69KlizVp0sT9rWhskv5OFi1aZKeffnqlvD4VmDTz5ptvWkFBges/1i3e0qVLQ2sXECWqhKmbVaFFg3fPOeccDpgh+cMf/uDOvHvLLbe4A+Muu+zizglz5plnht20tJeZmek+EI8YMcJ69+7tPnhpxl7Tpk0r5fUzCjk/NgAA8AxdSAAAwDsEGAAA4B0CDAAA8A4BBgAAeIcAAwAAvEOAAQAA3iHAAAAA7xBggCqkVatWdvnllxdbPm3aNHdG04qg9Wr9YZ6c8aijjnKnNddZc0ui6xjpTK56XocOHeyUU06xF154oUzvI3Hb6Wtt5+C23377uTOS6uRq8ddLGjZsmLsF4n8m8fbNN9+kaGsA6YMz8QJVzMsvv+zOWHrooYdaOrjnnnvsiCOOsIEDB1r9+vWLPf7ll1/a2WefbQceeKDdfffd7jm6wvH1119vP/74Y1JXmL766qutR48e7uutW7e6C9ppfVdddZU98cQTpf7cvffeG7twZzydXRZA+RBggCp4faUbb7zR/vGPf8QufleV/ec//3HX9SrtYos33HCDq5IoPGRkZLhle+yxh7s4oC5oqrBXt27dcp/eXletjr8q75AhQ+yKK65w7dHjJdlpp52K/ByA5NGFBFQxl156qX333Xf28MMPl/i4uisSuy10cA+u9aMuE32ta2UddNBBdvjhh7vulpkzZ1rXrl2tc+fOdvvttxdZpy7kpm6Ztm3b2gUXXGCrV6+OPaZulYsvvth18aj7RVdD1/W4gtc666yzXPVEIeTFF18s1l5dGVqvd/TRR7vuH60r6KrR+r799ltXESmpi2zNmjWu2tK3b99YeAkouDz44IOWnZ1tqRCExWrVkv+3OmPGDOvWrZvbjqrwvPHGGylpG1AVEWCAKiaoBuiKvatWrUpqHZ9++qn72eeff95OOukkGzlypOsaUajRuI6HHnrIlixZEnv+008/bRdeeKFNnTrVtmzZ4rpSRJdaGzRokOu2mT59uo0aNcpeeukl17b419pnn33s2WefdV1BidQ18/rrr9vo0aNtypQpbv0DBgxwXTdq36677uoCjL5OpAuUqg0KBIl0kUaFserVd7wQ/fXXX7sr8R555JHuauLJ+OGHH+zKK6+0/v37u7B42mmn2WWXXWbr16/f4fYBVRFdSEAVpAqKqhu6gm98WCgrHfQ16FXVCV319/HHH7fBgwe7rhjd1PWycuVKa926tXu+rtrcs2dP97Ve87jjjrMVK1bY999/76oxzz33nKtM7L333i7cDB8+3FVdRJURDYCtXbt2sXb8/PPPritMlZJDDjkkdqXoY445xt577z0XGHRFXHXZlDSO5JdffnH3pXXpJEuhSlerFgWqGjVquPesILUtF110kWtvPFWeFAhVNfvtt99cIFN3mMbmqFJWq1atlLYdqCoIMEAVpIOkqiYavJpMN4QqJkHXSnAA3W233WKPK2xoDEmgXbt2sa/1vHr16rmAo4OyKgg6SAdUOdm4caP99NNPsdcqKbwEA3D1fHU/BbTuvfbaywUkBZht0XODILO9gbKqxOi1EmlZYpVGFa4//vGP9uuvv7ruN3VjafbXzjvvvM3XuPnmm4u8Fwne+/777++C2fnnn+/enwJRnz59XKUIQHF0IQFVlGbdqBtCFZENGzbElieOBQmqCPFK6lYp6ecCiVUFHfRVldB6VXXRGJrgpnEur732Wqwqsq0KQ2mPaQxNSWEjUZs2bVy7Fy9eXOyx/Px8FxY+//xz973ak5eXV+x5JQ3KVehq3ry5q0BpZpOoW0sVlO117+nn4m9aJmrnAw884KpVGgcze/ZsO/XUU+2zzz7b7vsE0hEBBqjChg4d6g7U8QN6FSxE1YPAjp6H5F//+leRqokqHqoi6KYuJFU/ggO2XktTn7cViAK77767C1MLFiyILVPl5quvvnLr3h69rgYhqwtM3WLxNF7n448/tiZNmrjv1V2j8TiJFi5cGOsqK23wriorChqPPfaYJUsVJY3zUTXr73//u73yyiuubaWd2wZIdwQYoApTl4ZCjLo4Ag0aNHAHRoUaDdTVWJm33357h17n0UcfdVUVVTM0vkWzlRRWNChX4zk0vVgDahUYrr32Wtctkli1KYkGxKobReNNPvjgA7d+rUvjRBRMykLtWbRokV1yySXu/osvvrBHHnnEzWxSt4+mNgfjeHRSPA1UVkBSezVjSpWQc845Z5uvodChWU0TJ0503Wal0ZietWvXFrtpppWmcmswtNah/aJ9ov22rfAEpDMCDFDF6cAaf/I0DaZVt5IO5pqqqxkvmpq8I9QVM27cODvjjDNc98qtt97qliukKBCou0ePaSCwpkNrgHBZadDvYYcd5sadKGSoW0mVjrKe40YznP73f//Xfa3BwuqW0cn+tA00vTqgmUrqwlHFQ1PC9Vrz5s1zA2w1cHl7VDVRdStxink8vX+FusSb9oHOD6PxNLNmzXIzv3QuH81CKmlmFgCzjMLEuioAAEDEUYEBAADeIcAAAADvEGAAAIB3CDAAAMA7BBgAAOAdAgwAAPAOAQYAAHiHAAMAALxDgAEAAN4hwAAAAO8QYAAAgHcIMAAAwHzz/wC+Bci3gECBHAAAAABJRU5ErkJggg==" }, "metadata": {}, "output_type": "display_data" } ], - "execution_count": 94 + "execution_count": 16 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T19:53:37.033040Z", - "start_time": "2025-07-03T19:53:36.967540Z" + "end_time": "2025-07-03T20:53:40.597265Z", + "start_time": "2025-07-03T20:53:40.546131Z" } }, "cell_type": "code", @@ -466,19 +476,19 @@ "text/plain": [ "
" ], - "image/png": "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fXsra9as1unTp62UKiwszJo8ebK1e/dua8eOHdZTTz1lFSxY0Lp48aKrTMeOHa0CBQpYy5cvt7Zs2WJVrVrVql69uut8XFycVbp0aatevXrW9u3brUWLFlk5c+a0+vXr5ypz8OBBK0OGDFbPnj2tvXv3WmPHjrVSpUplLVmyxApEmzZtsgoXLmyVLVvW6tatm+s499KZs2fPWoUKFbJefvlla+PGjeYzL1261Pr9999dZT788EMrNDTUmjdvnvXrr79a//3vf60iRYpYV65ccZVp0KCBVa5cOeuXX36x1q5daxUtWtRq0aKF63xUVJSVO3duq1WrVuZn4LvvvrPSp09vffbZZ1ageP/9960cOXJYCxYssA4dOmTNnj3bypQpkzV69GhXGe5lwvTn7+2337bmzJljnqU2d+5cj/P36r6tX7/e/IwPHz7c/Mz379/fSp06tbVr1y7L3xGafJg+KLhTp06u/evXr1v58uWzhg4dmqzX5UvOnDljfjmsXr3a7J8/f978cOovWtu+fftMmYiICNcvluDgYOvUqVOuMhMmTLCyZMlixcTEmP3evXtbpUqV8nivZs2amdAWaC5cuGA9+OCDVnh4uFW7dm1XaOJeOtenTx+rRo0atzx/48YNK0+ePNaIESNcx/T+pk2b1vzRUfrHRe/t5s2bXWUWL15sBQUFmQeKq/Hjx1vZsmVz3Vv7vYsVK2YFioYNG1qvvPKKx7Fnn33W/JFW3Etn4oeme3nfXnjhBfP/o7sqVapYr732muXv6J7zUbGxsbJ161bTfGoLDg42+xEREcl6bb4kKirKvGbPnt286j27du2ax33TJuKCBQu67pu+anOx+0rvYWFh5gGVe/bscZVxr8MuE4j3XrvftHst/uflXjo3f/588/il559/3nRRVqhQQb744gvX+UOHDpmnDLjfB33WlXa5u99L7Q7RemxaXn/uN27c6CpTq1Yt86xM93upXdTnzp2TQFC9enXzzM/ffvvN7P/666+ybt06efLJJ80+9zJx7uV9iwjgn3lCk4/6+++/Td9+/Ee46L7+h4//faCyjr959NFHpXTp0uaY3hv9YY7/8GT3+6avCd1X+9ztymgYuHLligSKGTNmyLZt28xYsfi4l84dPHhQJkyYIA8++KAsXbpUXn/9denatatMnTrV417c7udZXzVwuQsJCTH/ILib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" + "image/png": "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yy+/yMyZM+Xuu+/2/Nh169a1O7CvW7fO82MD4YaABOCK0a61wC42fa3dYM2aNbO7iPfp00diY2OtNUeXO3ToIAcPHvTv/9FHH0nz5s2trG3btrJ27doUW2gWLVpkjyZNmtg67Xrq0qWLVK9e3e46rsfes2dPsvuPGDFCGjVqJPv377dlDRytW7eWKlWqyB133CErVqwI6lbU7R977DE7r4YNG8q7776bYh0sXrxYSpcubXebV9rtqF1jr732mtSqVUvq1atn+y9fvlwaN24sNWvWlNGjR/v3/+abb+TOO++09/C3v/1N5s6dG3R8fb9z5sy5pO8HgJQRkACkq/Hjx1s32Ouvvy4ffvihtG/f3h76h//w4cPy73//27bbsWOHPPXUU/LII4/I+++/L3//+9/l4Ycflh9//PGiY3bu3NlClz60iy8pKUn++c9/SvHixeW9996zYycmJgYFD8e0adNsmylTpkixYsXsHLp162YBScPNQw89ZKEosJVm9uzZUrFiRVmyZInceuutMmjQIOtuTM6XX34pN910U9C6jRs3WjDUc23RooUMHjzYWpk0NOnXeuONN2T79u12zhrEbr/9dguWjz76qAwZMiRo3JEGrK+++ipkW9CAjIKABCBdderUyVpetHuoQoUKFh402OhrDRvff/+9baeBpV27dtaCU6pUKWtluvnmm5NtLbnqqqskV65c9tDxTjou6p577rGwcc0111iY0UHS7gHNOm5qwoQJFsrKlCnjDz96Tvfdd599XW290e6xGTNm+PfTljANayVLlrTQol9v165dyb5fDTrOsR0aZp555hk7vh47ISFBevXqJeXLl7eWsvz588vevXstdJ04cUIKFCggJUqUsJCogU67LR16bN0mLi7uT35ngPCWLb1PAEB401Dh0ECjrTyBy+fOnbPX2h2mrSbz5s3zl58/f17q16//h18jKirKWqW062rbtm0WNjSoaNAIpAFKx0kVKVLEv063/fTTT61rLvDrajeZ469//av/dXR0tD1fuHAh2XM5duyY5M2bN2idBiA9R5UzZ0571gDkroc8efLY+9Aw9eqrr1oXXJs2bWzwu8M5tn6dwGMASB0CEoB05R6wnSVL8g3b2r2krTStWrUKWq/h4VIGRmtLjIYHHaPTsmVLCz56lV0g7XLT7qyRI0fKmDFj/EFHW620iy5Qtmz//+sze/bsF33NlLq4IiIi7L2kdKzA7ZKj3W/33nuvrFy50h4aGDUs6dgnpd2Jv7c/gEtDFxuADEFbbHRwt3ZDOQ8NB1988UWy2wcGBB3MfejQIRvXo2OItMtMB2C7Q8xtt91mrTMffPCBfPvtt/6vq+OcAr/uxx9/bOORLoe2FmkX2OXQ8VA65kjPQcdiLViwwLomP/nkE/82ztxKgd1uAFKPgAQgw4xV0jFCGnL27dsn06dPt0dg91agyMhIG4ejV8Fp11R8fLy1uGjImj9/vo0tcrrvAul4KB1nNHToUGs90qvdtFvuxRdflB9++MGC0bhx42wA9+WIiYm57PmWtCtNr+QbPny41YGGOB28rsd06LG169C5Sg7A5SEgAcgQqlWrJqNGjZK33nrLLvV/++23ZezYsXZpfHI05OgAbx3IrPv26NHDWl90WS+tHzhwoM22HTiNgOPxxx+3cKUTLuqYqEmTJtnVZ9o199JLL9lYJT3O5WjQoIFs2LDhsvbV8VHanaahSL++XtGmXYd33XWXf5v169fbuCy62IA/h5m0AeAKOn36tM2xpFMJBA5I94L+Om/atKmNodL5kwBcPlqQAOAK0qvcdJC1toB57euvv5ZChQoRjgAPEJAA4ArTK+J06gCvb1arE0vqVW4A/jy62AAAAFxoQQIAAHAhIAEAALgQkAAAAFwISAAAAC4EJAAAABcCEgAAgAsBCQAAwIWABAAA4EJAAgAAkGD/B5EUoVI7RuQIAAAAAElFTkSuQmCC" }, "metadata": {}, "output_type": "display_data" } ], - "execution_count": 85 + "execution_count": 17 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T19:54:02.295055Z", - "start_time": "2025-07-03T19:54:02.241718Z" + "end_time": "2025-07-03T20:53:40.665510Z", + "start_time": "2025-07-03T20:53:40.607960Z" } }, "cell_type": "code", @@ -498,13 +508,13 @@ "text/plain": [ "
" ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAHHCAYAAAB0nLYeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAARRVJREFUeJzt3QmcjfX////XjLFn34aMsS8ZS/RJZI0M+fgQH5UtO/UhhZCS9VMjQirxkZCQpSQh+87IvoYMY8tWxFjHdv1vr/fve53/ObPhaoYzZx732+3qzHVd73POdV1nmvP03i4/y7IsAQAAwAPzf/CnAAAAQBGkAAAAHCJIAQAAOESQAgAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAAIcIUgAAAA4RpIAUom3btlKwYEHxJTVr1pSQkJBHfRgAUjCCFJCM+fn53deyevVq8Ta//vqrDBo0SI4ePfqoD8Xn6OfdpEkTCQwMlDRp0kju3LmlYcOGMnfuXI8y+rvx3Xffxfka3bp1M/vdaRB3/73KmDGjPP300zJ16tQ4jyHm60+ZMiXB39NNmzYl6nUAHoaAh/IuAJLEN99847GuX2jLli2Ltb1UqVLy5Zdfyt27d8WbgtTgwYNNrZKv1ZQ9SgMHDpQhQ4ZIsWLFpEuXLhIcHCznz5+XRYsWSdOmTWX69OnSokULx69fvnx56dWrl/n59OnTMnHiRGnTpo1ER0dLp06d7us19PgKFSoUa3vRokUdHxfwqBCkgGSsVatWHuv6L3oNUjG3wzfoPeZv3Lgh6dOnj3O/1v5oSPn3v/8tM2bMkNSpU7v29e7dW5YsWSK3bt36W8fw+OOPe/x+aZNx4cKFZfTo0fcdpOrXry9PPfXU3zoOwFvQtAek0D5S2qSmzSkff/yxjB071nwZZsiQQerWrSsnTpwwX9pDhw6V/Pnzmy/uRo0ayYULF2K97s8//yzVqlUzzTyZMmWSBg0ayL59+xI8Fm3iadasmfm5Vq1asZogf/zxR/M6+fLlk7Rp00qRIkXMsdy5c+ee57l06VJzHs2bN5fbt2+bbQcOHDDhInv27JIuXTrzJT5//vxYx6THsGHDBunZs6fkypXLnNOLL74of/zxx31d38cee0yOHDkioaGh5rl6/Bps9Fq605rBTz75REqXLm2OJ0+ePKb26K+//vIop5/XP//5TxOA9Jj1c/jf//4X7zG8//775hwnTZrkEaJselz6eolJr1PJkiXl8OHDifq6QHJBjRSQwmlTz82bN+WNN94wQWn48OHy0ksvyXPPPWeCTd++fSUiIkI+++wzefvtt82XtE2bELVZR7+gP/roI7l27ZqMGzdOqlatKjt27Ii3ya569erSvXt3+fTTT+Xdd981TY/KftRQo6FEA40+rly5UgYMGCBRUVEyYsSIeM9lwYIFJjC9/PLL5jhTpUplQt2zzz5ralLeeecdE3Bmz54tjRs3lu+//94EJXd6HbJly2aayDRsauDR/kKzZs2657XUoFevXj155plnzHVcvHixeR0NdBqobBqa9BzbtWtnrkNkZKR8/vnn5pppkHMPQQcPHjShUJ+jNT4lSpSI870PHTpkAmP79u1NoH1Y9NxOnjxprtn9unTpkvz5558e2zTE5siRIwmOEEhiFgCf0bVrV636iHNfmzZtrODgYNd6ZGSkKZsrVy7r4sWLru39+vUz28uVK2fdunXLtb158+ZWmjRprBs3bpj1y5cvW1mzZrU6derk8T5nzpyxsmTJEmt7THPmzDHvs2rVqlj7rl27Fmtbly5drAwZMrjeX9WoUcMqXbq0+fn777+3UqdObd73zp07rjK1a9e2ypQp4/G8u3fvWlWqVLGKFSvm2jZ58mRzPHXq1DH7bT169LBSpUrlcY3iu776/DfeeMPjfRo0aGCu2x9//GG2rVu3zpSbPn26x/MXL14ca7t+XrpN993Ljz/+aMqOHj3auh963bW8fg73+7ukx1O3bl1zLrrs2bPHat26tSmn5e/1+vY1jmtJmzbtfR034G1o2gNSOG1iy5Ili2u9UqVK5lH7wQQEBHhs15qr33//3axrX6yLFy+a2hKtXbAXrQXSsqtWrXJ8TO59gC5fvmxeV5sPtcZLa11i+vbbb00tlNbaaNOXv///+9OmNWxam6U1bPbr6KKdr7UWTWtx7POxde7c2WO0mr6v1jQdO3bsvo5da69s+jq6rtdt+fLlZtucOXPM9X7++ec9rlvFihVN7VvM66adsvVY70Vr61RS10Zp06k25+lSpkwZUyupNWsJ1RTGpE3J+vvjvmgTMZAc0bQHpHAFChTwWLdDVVBQUJzb7X48GkKUNgHGJXPmzI6PSZvj+vfvb0KQHRDcm4XcabOYhj4NhNr86E6bJLV/kvYd0iUu586dM81+8V0Pu8kqZv+luGiA075m7ooXL24e7Wke9LrpOeiUBPEdj7u4RrcldL01MCYlDcn//e9/Tbjcu3ev+VmvjU6zcL90ygQ6m8NXEKSAFE5rkB5ku91x2p5KQWskdL6imNxrsx6E1nLVqFHDBAPtV6QdzbVD9vbt201/rZhTOOTNm9csOrx/69atHl/Qdlnt2xVfrU7MIff3Ou+/S49JQ5T2TYuL1vS4i2+EXkza4Vvt2bPnvsrrNVXXr1+Pc7/W/tll3OXMmVPq1KljftZrqu+rHdjHjBlj+rQBKQ1BCoAjGnCUhgL7i/VBxJzs0aYd3LXpTSeP1E7p7jVPcdEve+1krjVj2tF7zZo1ZjScsmuHtPO2k2N0EpJ01J5dC6V+++0382h3vNfrps182gH+fkPS/dD31I7oOuJRQ402EyZE55eyO7PHRbfbZRKioys1+H744YemaVU78wMpCX2kADiitRFaa6RfoHHNTXSvKQPsL1ytgYqrRsi9Bkj7GH3xxRfxvpY2O+oUARrqtO+RPRRf13XCT+03pZNHPugxOqGj72x6DrquQa527dpmm/bX0mYxnc4hrhFwMa/Hg9AJTjWEduzY0TX1Q8z+TRo6ldbi6eSa06ZNi/We27ZtM3OS6XxP90NrCvV9ddJXIKWhRgqAIxqidKqD1q1bS4UKFeSVV14xzVLHjx+XhQsXmhoX91ARk36Ja2jSaRO0z5DOF6W1SlWqVDH9knRaBZ0aQGuutPnwXk1r2uSknZZ16gWtfVq/fr3p+6Qdm3WbdozW6QO0lurs2bMSHh5uhu3v2rUr0a6J1o7plAd67NqXSDtQ67XQKR7sJjutvdGam7CwMNm5c6eZt0uDlvad0o7oWpukUzg4oR3utWnvgw8+MFMp6EAAe2ZzPa4VK1aYiTpto0aNMoFYPwudB0vnvdq/f79MmDDBBK1+/frd1/tq4NJ7Hurrde3aNc45rNzpdYlr0IB+9jH7mAFe71EPGwTwaKc/GDFixH0Ni7eHrm/ZsiVW+dDQUDPlQbp06awiRYpYbdu2tbZu3XrP4/3yyy+twoULm+kF3KdC2LBhg/XMM89Y6dOnt/Lly2f16dPHWrJkSazpEtynP7BFRERYefPmtUqVKuWacuDw4cPWq6++agUGBpopEh5//HHrn//8p/Xdd9/d1/nFN01DzOubMWNG8146RYBO1ZAnTx5r4MCBHtMx2CZMmGBVrFjRnGOmTJnMFA16nqdOnXKV0c9Lp094UCtWrLAaNWpk5c6d2woICDBTXDRs2NBMkRDTpk2bzLXIli2bKavXpmPHjtbJkydjlU3oeKZMmWKuk15HJ9MfuD8XSE789D+POswBQHKnNTp6i5YrV6486kMB8BDRRwoAAMAhghQAAIBDBCkAAACH6CMFAADgEDVSAAAADhGkAAAAHGJCzkS8NcSpU6fMndfju/UFAADwLtrDSW/2rRPS6o3HHxRBKpFoiAoKCnrUhwEAABw4ceKE5M+f/4GfR5BKJFoTZX8QeusMAADg/aKiokxFiP09/qAIUonEbs7TEEWQAgAgeXHaLYfO5gAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAAAOEaQAAAAcIkgBAAA4RJACAABwiCAFAADgEEEKAADAoQCnT8TDdfz4cfnzzz8dPTdnzpxSoECBRD8mAABSOoJUMglRJUuWkuvXrzl6fvr0GeTAgf2EKQAAEhlBKhnQmigNUZXaD5TMeQs+0HOjTh+VXyYNNq9BkAIAIHERpJIRDVHZC5R41IcBAAD+D53NAQAAHCJIAQAAOESQAgAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAAAOEaQAAAAcIkgBAAAkxyC1du1aadiwoeTLl0/8/Pxk3rx5Hvt1W1zLiBEjXGUKFiwYa/+wYcM8Xmf37t1SrVo1SZcunQQFBcnw4cNjHcucOXOkZMmSpkyZMmVk0aJFSXjmAADAFzzSIHX16lUpV66cjB07Ns79p0+f9lgmTZpkglLTpk09yg0ZMsSj3BtvvOHaFxUVJXXr1pXg4GDZtm2bCWGDBg2SCRMmuMps3LhRmjdvLh06dJAdO3ZI48aNzbJ3794kPHsAAJDcBTzKN69fv75Z4hMYGOix/uOPP0qtWrWkcOHCHtszZcoUq6xt+vTpcvPmTRPC0qRJI6VLl5adO3fKqFGjpHPnzqbMmDFjpF69etK7d2+zPnToUFm2bJl8/vnnMn78+EQ4UwAA4IuSTR+ps2fPysKFC02tUUzalJcjRw558sknTY3T7du3XfvCw8OlevXqJkTZQkND5eDBg/LXX3+5ytSpU8fjNbWMbo9PdHS0qe1yXwAAQMrySGukHsTXX39tap6aNGnisb179+5SoUIFyZ49u2mi69evn2ne0xondebMGSlUqJDHc/LkyePaly1bNvNob3Mvo9vjExYWJoMHD07EMwQAAMlNsglS2jTXsmVL0xncXc+ePV0/ly1b1tQ8denSxQSdtGnTJtnxaGBzf2+tkdKO7AAAIOVIFkFq3bp1pilu1qxZ9yxbqVIl07R39OhRKVGihOk7pc2C7ux1u19VfGXi63elNKQlZVADAADeL1n0kfrqq6+kYsWKZoTfvWhHcn9/f8mdO7dZr1y5splm4datW64y2pFcQ5Y269llVqxY4fE6Wka3AwAAeGWQunLligk+uqjIyEjz8/Hjxz2azHSOp44dO8Z6vnYG/+STT2TXrl1y5MgRM0KvR48e0qpVK1dIatGihWnu007q+/btM7VaOkrPvVnuzTfflMWLF8vIkSPlwIEDZnqErVu3Srdu3R7KdQAAAMnTI23a07Ci0xnY7HDTpk0bmTJlivl55syZYlmWmecpJm1a0/0afHQUnXYq1yDlHpKyZMkiS5cula5du5parZw5c8qAAQNcUx+oKlWqyIwZM6R///7y7rvvSrFixczkoCEhIUl8BQAAQHLmZ2lKwd+mNWca2i5duiSZM2dO1Nfevn27CYHPvzdZshco8UDPvXD8oCz7oJ2ZjFRHNwIAgMT7/k4WfaQAAAC8EUEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAAOESQAgAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAAAOEaQAAAAcIkgBAAA4RJACAABwiCAFAADgEEEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAAOESQAgAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAgOQYpNauXSsNGzaUfPnyiZ+fn8ybN89jf9u2bc1296VevXoeZS5cuCAtW7aUzJkzS9asWaVDhw5y5coVjzK7d++WatWqSbp06SQoKEiGDx8e61jmzJkjJUuWNGXKlCkjixYtSqKzBgAAvuKRBqmrV69KuXLlZOzYsfGW0eB0+vRp1/Ltt9967NcQtW/fPlm2bJksWLDAhLPOnTu79kdFRUndunUlODhYtm3bJiNGjJBBgwbJhAkTXGU2btwozZs3NyFsx44d0rhxY7Ps3bs3ic4cAAD4goBH+eb169c3S0LSpk0rgYGBce7bv3+/LF68WLZs2SJPPfWU2fbZZ5/JCy+8IB9//LGp6Zo+fbrcvHlTJk2aJGnSpJHSpUvLzp07ZdSoUa7ANWbMGBPYevfubdaHDh1qgtnnn38u48ePT/TzBgAAvsHr+0itXr1acufOLSVKlJDXX39dzp8/79oXHh5umvPsEKXq1Kkj/v7+8ssvv7jKVK9e3YQoW2hoqBw8eFD++usvVxl9njsto9vjEx0dbWq73BcAAJCyeHWQ0lqiqVOnyooVK+Sjjz6SNWvWmBqsO3fumP1nzpwxIctdQECAZM+e3eyzy+TJk8ejjL1+rzL2/riEhYVJlixZXIv2vQIAACnLI23au5dXXnnF9bN2AC9btqwUKVLE1FLVrl37kR5bv379pGfPnq51rZEiTAEAkLJ4dY1UTIULF5acOXNKRESEWde+U+fOnfMoc/v2bTOSz+5XpY9nz571KGOv36tMfH2z7L5bOlLQfQEAAClLsgpSJ0+eNH2k8ubNa9YrV64sFy9eNKPxbCtXrpS7d+9KpUqVXGV0JN+tW7dcZbQjufa5ypYtm6uMNh+60zK6HQAAwCuDlM73pCPodFGRkZHm5+PHj5t9Oopu06ZNcvToURN0GjVqJEWLFjUdwVWpUqVMP6pOnTrJ5s2bZcOGDdKtWzfTJKgj9lSLFi1MR3Od2kCnSZg1a5YZpefeLPfmm2+a0X8jR46UAwcOmOkRtm7dal4LAADAK4OUhpUnn3zSLErDjf48YMAASZUqlZlI81//+pcUL17cBKGKFSvKunXrTLOaTac30Ik0tc+UTntQtWpVjzmitCP40qVLTUjT5/fq1cu8vvtcU1WqVJEZM2aY5+m8Vt99952ZHDQkJOQhXxEAAJCcPNLO5jVr1hTLsuLdv2TJknu+ho7Q0xCUEO2krgEsIc2aNTMLAACAT/aRAgAA8CYEKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAAAOEaQAAAAcIkgBAAA4RJACAABwiCAFAADgEEEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAAOESQAgAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAADJMUitXbtWGjZsKPny5RM/Pz+ZN2+ea9+tW7ekb9++UqZMGcmYMaMp8+qrr8qpU6c8XqNgwYLmue7LsGHDPMrs3r1bqlWrJunSpZOgoCAZPnx4rGOZM2eOlCxZ0pTR91y0aFESnjkAAPAFjzRIXb16VcqVKydjx46Nte/atWuyfft2ef/9983j3Llz5eDBg/Kvf/0rVtkhQ4bI6dOnXcsbb7zh2hcVFSV169aV4OBg2bZtm4wYMUIGDRokEyZMcJXZuHGjNG/eXDp06CA7duyQxo0bm2Xv3r1JePYAACC5C3iUb16/fn2zxCVLliyybNkyj22ff/65PP3003L8+HEpUKCAa3umTJkkMDAwzteZPn263Lx5UyZNmiRp0qSR0qVLy86dO2XUqFHSuXNnU2bMmDFSr1496d27t1kfOnSoeW99v/HjxyfiGQMAAF+SrPpIXbp0yTTdZc2a1WO7NuXlyJFDnnzySVPjdPv2bde+8PBwqV69uglRttDQUFO79ddff7nK1KlTx+M1tYxuBwAA8MoaqQdx48YN02dKm+AyZ87s2t69e3epUKGCZM+e3TTR9evXzzTvaY2TOnPmjBQqVMjjtfLkyePaly1bNvNob3Mvo9vjEx0dbRb3JkQAAJCyJIsgpR3PX3rpJbEsS8aNG+exr2fPnq6fy5Yta2qeunTpImFhYZI2bdokOyZ9/cGDByfZ6wMAAO/nn1xC1LFjx0y/JffaqLhUqlTJNO0dPXrUrGvfqbNnz3qUsdftflXxlYmv35XSmi9tarSXEydOOD5HAACQPPknhxB16NAhWb58uekHdS/akdzf319y585t1itXrmymWdDXsmkgK1GihGnWs8usWLHC43W0jG6Pj9Z2aahzXwAAQMrySJv2rly5IhEREa71yMhIE4S0v1PevHnl3//+t5n6YMGCBXLnzh1XnyXdr0142hn8l19+kVq1apmRe7reo0cPadWqlSsktWjRwjTB6dQG2sdKpzTQUXqjR492ve+bb74pNWrUkJEjR0qDBg1k5syZsnXrVo8pEgAAALwqSGlY0RAUs79TmzZtzFxP8+fPN+vly5f3eN6qVaukZs2aplZIQ4+W1Y7f2qlcg5R7vymdRmHp0qXStWtXqVixouTMmVMGDBjgmvpAValSRWbMmCH9+/eXd999V4oVK2YmBw0JCXkIVwEAACRXjzRIaRjSDuTxSWif0tF6mzZtuuf7aCf0devWJVimWbNmZgEAAPCJPlIAAADejCAFAADgEEEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAAOESQAgAAeJhB6siRI07fDwAAIGUHqaJFi5p75E2bNk1u3LiR+EcFAADgq0Fq+/bt5v51enPgwMBA6dKli2zevDnxjw4AAMDXglT58uVlzJgxcurUKZk0aZKcPn1aqlatKiEhITJq1Cj5448/Ev9IAQAAfKmzeUBAgDRp0kTmzJkjH330kURERMjbb78tQUFB8uqrr5qABQAA4Kv+VpDaunWr/Oc//5G8efOamigNUYcPH5Zly5aZ2qpGjRol3pECAAB4mQAnT9LQNHnyZDl48KC88MILMnXqVPPo7///clmhQoVkypQpUrBgwcQ+XgAAgOQdpMaNGyft27eXtm3bmtqouOTOnVu++uqrv3t8AAAAvhWkDh06dM8yadKkkTZt2jh5eQAAAN/tI6XNetrBPCbd9vXXXyfGcQEAAPhmkAoLC5OcOXPG2Zz34YcfJsZxAQAA+GaQOn78uOlQHlNwcLDZBwAAkBI4ClJa87R79+5Y23ft2iU5cuRIjOMCAADwzSDVvHlz6d69u6xatUru3LljlpUrV8qbb74pr7zySuIfJQAAgK+M2hs6dKgcPXpUateubWY3V3fv3jWzmdNHCgAApBSOgpRObTBr1iwTqLQ5L3369FKmTBnTRwoAACClcBSkbMWLFzcLAABASuQoSGmfKL0FzIoVK+TcuXOmWc+d9pcCAADwdY6ClHYq1yDVoEEDCQkJET8/v8Q/MgAAAF8MUjNnzpTZs2ebGxUDAACkVP5OO5sXLVo08Y8GAADA14NUr169ZMyYMWJZVuIfEQAAgC837a1fv95Mxvnzzz9L6dKlJXXq1B77586dm1jHBwAA4FtBKmvWrPLiiy8m/tEAAAD4epCaPHly4h8JAABASugjpW7fvi3Lly+X//3vf3L58mWz7dSpU3LlypXEPD4AAADfqpE6duyY1KtXT44fPy7R0dHy/PPPS6ZMmeSjjz4y6+PHj0/8IwUAAPCFGimdkPOpp56Sv/76y9xnz6b9pnS28/u1du1aadiwoeTLl89M6jlv3jyP/ToqcMCAAZI3b17zPnXq1JFDhw55lLlw4YK0bNlSMmfObPpudejQIVat2O7du6VatWqSLl06CQoKkuHDh8c6ljlz5kjJkiVNGb1v4KJFix7gigAAgJTIUZBat26d9O/f38wn5a5gwYLy+++/3/frXL16VcqVKydjx46Nc78Gnk8//dTUcP3yyy+SMWNGCQ0NlRs3brjKaIjat2+fLFu2TBYsWGDCWefOnV37o6KipG7duuaGytu2bZMRI0bIoEGDZMKECa4yGzdulObNm5sQtmPHDmncuLFZ9u7d+4BXBgAApCSOmvb03np6v72YTp48aZr47lf9+vXNEhetjfrkk09MYGvUqJHZNnXqVMmTJ4+puXrllVdk//79snjxYtmyZYupIVOfffaZmXH9448/NjVd06dPl5s3b8qkSZNM8NPpGnbu3CmjRo1yBS6dE0ubKnv37m3Whw4daoLZ559/TjMlAABI3BopreHRkGPTZjltThs4cGCi3TYmMjJSzpw5Y5rzbFmyZJFKlSpJeHi4WddHbc6zQ5TS8v7+/qYGyy5TvXp1j9ozrdU6ePCgaZq0y7i/j13Gfp+4aF8wre1yXwAAQMriKEiNHDlSNmzYIE888YRpZmvRooWrWU87nCcGDVFKa6Dc6bq9Tx9z587tsT8gIECyZ8/uUSau13B/j/jK2PvjEhYWZoKdvWjfKwAAkLI4atrLnz+/7Nq1y9y8WDtya22U9i/S/krunc99Wb9+/aRnz56uda2RIkwBAJCyBDh+YkCAtGrVSpJKYGCgeTx79qwZtWfT9fLly7vKnDt3Ltb8VjqSz36+Pupz3Nnr9ypj749L2rRpzQIAAFIuR0FKO30n5NVXX5W/q1ChQibI6HQKdnDSWh/t+/T666+b9cqVK8vFixfNaLyKFSuabStXrjSd4bUvlV3mvffek1u3brnuCagdyUuUKCHZsmVzldH3eeutt1zvr2V0OwAAQKIGKZ1Hyp2GlGvXrpkO3RkyZLjvIKVNghERER4dzHVEnfZxKlCggAk2//3vf6VYsWImWL3//vtmJJ5OTaBKlSplRtt16tTJjK7T4+jWrZsZ0afllPbfGjx4sGl67Nu3r5nSQEfpjR492uN8atSoYfp+NWjQwDRZbt261WOKBAAAgEQJUvZoN3c6UabWFNlTCNwPDSu1atVyrdt9jtq0aSNTpkyRPn36mLmmdJoCrXmqWrWqme5AJ8206fQGGp5q165tRus1bdrUzD1l047gS5cula5du5paq5w5c5pJPt3nmqpSpYrMmDHDTLXw7rvvmuCmUyyEhIQ4uTwAACCF8LN0wqZEosFI+00dOHBAUhptdtTQdunSJTPLemLavn27CYHPvzdZshco8UDPvXD8oCz7oJ1p/qxQoUKiHhcAACn9+9vxTYvj64CuNy4GAABICRw17c2fP99jXSu1Tp8+bWYCf/bZZxPr2AAAAHwvSNmdvd1nNs+VK5c899xzpsM2AABASuD4XnsAAAApXaL2kQIAAEhJHNVIud8a5V5GjRrl5C0AAAB8M0jt2LHDLDoBps4Qrn777TdJlSqVxxB77TsFAADgqxwFqYYNG0qmTJnk66+/dt1mRSfpbNeunVSrVk169eqV2McJAADgG32kdGReWFiYK0Qp/Vlv58KoPQAAkFL4O50F9I8//oi1Xbddvnw5MY4LAADAN4PUiy++aJrx5s6dKydPnjTL999/b24M3KRJk8Q/SgAAAF/pIzV+/Hh5++23pUWLFqbDuXmhgAATpEaMGJHYxwgAAOA7QSpDhgzyxRdfmNB0+PBhs61IkSKSMWPGxD4+AAAA35yQU++vp0uxYsVMiNJ77gEAAKQUjoLU+fPnpXbt2lK8eHF54YUXTJhS2rTH1AcAACClcBSkevToIalTp5bjx4+bZj7byy+/LIsXL07M4wMAAPCtPlJLly6VJUuWSP78+T22axPfsWPHEuvYAAAAfK9G6urVqx41UbYLFy5I2rRpE+O4AAAAfDNI6W1gpk6d6nFPvbt378rw4cOlVq1aiXl8AAAAvtW0p4FJO5tv3bpVbt68KX369JF9+/aZGqkNGzYk/lECAAD4So1USEiI/Pbbb1K1alVp1KiRaerTGc137Nhh5pMCAABICR64RkpnMq9Xr56Z3fy9995LmqMCAADwxRopnfZg9+7dSXM0AAAAvt6016pVK/nqq68S/2gAAAB8vbP57du3ZdKkSbJ8+XKpWLFirHvsjRo1KrGODwAAwDeC1JEjR6RgwYKyd+9eqVChgtmmnc7d6VQIAAAAKcEDBSmduVzvq7dq1SrXLWE+/fRTyZMnT1IdHwAAgG/0kbIsy2P9559/NlMfAAAApESOOpvHF6wAAABSkgcKUtr/KWYfKPpEAQCAlCrgQWug2rZt67ox8Y0bN+S1116LNWpv7ty5iXuUAAAAyT1ItWnTJtZ8UgAAACnVAwWpyZMnJ92RAAAApKTO5gAAACkZQQoAAMAhghQAAICvBim9JY097YL70rVrV7O/Zs2asfbpSEJ3x48flwYNGkiGDBkkd+7c0rt3b3O/QHerV682t73REYlFixaVKVOmPNTzBAAAKeSmxQ/Tli1b5M6dO651vc/f888/L82aNXNt69SpkwwZMsS1roHJps/VEBUYGCgbN240t7h59dVXJXXq1PLhhx+aMpGRkaaMBrDp06fLihUrpGPHjpI3b14JDQ19aOcKAACSF68PUrly5fJYHzZsmBQpUkRq1KjhEZw0KMVl6dKl8uuvv8ry5cvNPQHLly8vQ4cOlb59+8qgQYMkTZo0Mn78eClUqJCMHDnSPKdUqVKyfv16GT16NEEKAAAk36Y9dzdv3pRp06ZJ+/btPWZU11qknDlzSkhIiPTr10+uXbvm2hceHi5lypTxuLGyhqOoqCjZt2+fq0ydOnU83kvL6Pb4REdHm9dwXwAAQMri9TVS7ubNmycXL140s6vbWrRoIcHBwZIvXz7ZvXu3qWk6ePCga3b1M2fOeIQoZa/rvoTKaDi6fv26pE+fPtaxhIWFyeDBg5PkPAEAQPKQrILUV199JfXr1zehyda5c2fXz1rzpP2aateuLYcPHzZNgElFa7569uzpWtfQFRQUlGTvBwAAvE+yCVLHjh0z/ZzudR+/SpUqmceIiAgTpLTv1ObNmz3KnD171jza/ar00d7mXiZz5sxx1kYpHd1n33MQAACkTMmmj5TenkanLtDRdQnZuXOnedSaKVW5cmXZs2ePnDt3zlVm2bJlJiQ98cQTrjI6Us+dltHtAAAAyTpI3b171wQpvWlyQMD/X4mmzXc6Am/btm1y9OhRmT9/vpnaoHr16lK2bFlTpm7duiYwtW7dWnbt2iVLliyR/v37m3mo7BolnfbgyJEj0qdPHzlw4IB88cUXMnv2bOnRo8cjO2cAAOD9kkWQ0iY9nVRTR+u506kLdJ+GpZIlS0qvXr2kadOm8tNPP7nKpEqVShYsWGAetYapVatWJmy5zzulUx8sXLjQ1EKVK1fOTIMwceJEpj4AAADJv4+UBiXLsmJt187da9asuefzdVTfokWLEiyjM6Tv2LHjbx0nAABIWZJFjRQAAIA3IkgBAAA4RJACAABwiCAFAADgEEEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAAOESQAgAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAAAOEaQAAAAcIkgBAAA4RJACAABwiCAFAADgEEEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAAOESQAgAA8MUgNWjQIPHz8/NYSpYs6dp/48YN6dq1q+TIkUMee+wxadq0qZw9e9bjNY4fPy4NGjSQDBkySO7cuaV3795y+/ZtjzKrV6+WChUqSNq0aaVo0aIyZcqUh3aOAAAg+fLqIKVKly4tp0+fdi3r16937evRo4f89NNPMmfOHFmzZo2cOnVKmjRp4tp/584dE6Ju3rwpGzdulK+//tqEpAEDBrjKREZGmjK1atWSnTt3yltvvSUdO3aUJUuWPPRzBQAAyUuAeLmAgAAJDAyMtf3SpUvy1VdfyYwZM+S5554z2yZPniylSpWSTZs2yTPPPCNLly6VX3/9VZYvXy558uSR8uXLy9ChQ6Vv376mtitNmjQyfvx4KVSokIwcOdK8hj5fw9ro0aMlNDT0oZ8vAABIPry+RurQoUOSL18+KVy4sLRs2dI01alt27bJrVu3pE6dOq6y2uxXoEABCQ8PN+v6WKZMGROibBqOoqKiZN++fa4y7q9hl7FfIz7R0dHmddwXAACQsnh1kKpUqZJpilu8eLGMGzfONMNVq1ZNLl++LGfOnDE1SlmzZvV4joYm3af00T1E2fvtfQmV0WB0/fr1eI8tLCxMsmTJ4lqCgoIS7bwBAEDy4NVNe/Xr13f9XLZsWROsgoODZfbs2ZI+ffpHemz9+vWTnj17utY1eBGmAABIWby6RiomrX0qXry4REREmH5T2on84sWLHmV01J7dp0ofY47is9fvVSZz5swJhjUd4adl3BcAAJCyJKsgdeXKFTl8+LDkzZtXKlasKKlTp5YVK1a49h88eND0oapcubJZ18c9e/bIuXPnXGWWLVtmQs8TTzzhKuP+GnYZ+zUAAACSZZB6++23zbQGR48eNdMXvPjii5IqVSpp3ry56ZfUoUMH07y2atUq0/m8Xbt2JgDpiD1Vt25dE5hat24tu3btMlMa9O/f38w9pTVK6rXXXpMjR45Inz595MCBA/LFF1+YpkOdWgEAACDZ9pE6efKkCU3nz5+XXLlySdWqVc3UBvqz0ikK/P39zUScOopOR9tpELJp6FqwYIG8/vrrJmBlzJhR2rRpI0OGDHGV0akPFi5caILTmDFjJH/+/DJx4kSmPgAAAMk7SM2cOTPB/enSpZOxY8eaJT7aOX3RokUJvk7NmjVlx44djo8TAACkTF7dtAcAAODNCFIAAAAOEaQAAAAcIkgBAAA4RJACAABwiCAFAADgEEEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAAOESQAgAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAAAOEaQAAAAcIkgBAAA4RJACAABwiCAFAADgEEEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAA+GKQCgsLk3/84x+SKVMmyZ07tzRu3FgOHjzoUaZmzZri5+fnsbz22mseZY4fPy4NGjSQDBkymNfp3bu33L5926PM6tWrpUKFCpI2bVopWrSoTJky5aGcIwAASL68OkitWbNGunbtKps2bZJly5bJrVu3pG7dunL16lWPcp06dZLTp0+7luHDh7v23blzx4SomzdvysaNG+Xrr782IWnAgAGuMpGRkaZMrVq1ZOfOnfLWW29Jx44dZcmSJQ/1fAEAQPISIF5s8eLFHusagLRGadu2bVK9enXXdq1pCgwMjPM1li5dKr/++qssX75c8uTJI+XLl5ehQ4dK3759ZdCgQZImTRoZP368FCpUSEaOHGmeU6pUKVm/fr2MHj1aQkNDk/gsAQBAcuXVNVIxXbp0yTxmz57dY/v06dMlZ86cEhISIv369ZNr16659oWHh0uZMmVMiLJpOIqKipJ9+/a5ytSpU8fjNbWMbo9PdHS0eQ33BQAApCxeXSPl7u7du6bJ7dlnnzWBydaiRQsJDg6WfPnyye7du01Nk/ajmjt3rtl/5swZjxCl7HXdl1AZDUfXr1+X9OnTx9l/a/DgwUlyrgAAIHlINkFK+0rt3bvXNLm569y5s+tnrXnKmzev1K5dWw4fPixFihRJsuPRmq+ePXu61jV0BQUFJdn7AQAA75Msmva6desmCxYskFWrVkn+/PkTLFupUiXzGBERYR6179TZs2c9ytjrdr+q+Mpkzpw5ztoopaP7dL/7AgAAUhavDlKWZZkQ9cMPP8jKlStNh/B70VF3SmumVOXKlWXPnj1y7tw5VxkdAajB54knnnCVWbFihcfraBndDgAAkCyDlDbnTZs2TWbMmGHmktK+TLpovyWlzXc6Ak9H8R09elTmz58vr776qhnRV7ZsWVNGp0vQwNS6dWvZtWuXmdKgf//+5rW1VknpvFNHjhyRPn36yIEDB+SLL76Q2bNnS48ePR7p+QMAAO/m1UFq3LhxZqSeTrqpNUz2MmvWLLNfpy7QaQ00LJUsWVJ69eolTZs2lZ9++sn1GqlSpTLNgvqoNUytWrUyYWvIkCGuMlrTtXDhQlMLVa5cOTMNwsSJE5n6AAAAJN/O5tq0lxDt3K2Tdt6LjupbtGhRgmU0rO3YseOBjxEAAKRcXl0jBQAA4M0IUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAAAOEaQAAAAcIkgBAAA4RJACAABwiCAFAADgEEEKAADAIYIUAACAQwQpAAAAhwhSAAAADhGkAAAAHCJIAQAAOESQAgAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghQAAIBDBCkAAACHCFIAAAAOEaQAAAAcIkjFMHbsWClYsKCkS5dOKlWqJJs3b37UhwQAALwUQcrNrFmzpGfPnjJw4EDZvn27lCtXTkJDQ+XcuXOP+tAAAIAXCnjUB+BNRo0aJZ06dZJ27dqZ9fHjx8vChQtl0qRJ8s4770hytn//fkfPy5kzpxQoUCDRjwcAAF9AkPo/N2/elG3btkm/fv1c2/z9/aVOnToSHh4uydX1S+dFxE9atWrl6Plp06aT77//TvLmzfvAz42Ojpa0adM6el8CHAAgOSBI/Z8///xT7ty5I3ny5PHYrusHDhyIMyToYrt06ZJ5jIqKSvRju3Llinm8cOyg3I6+/kDPPX94r4hYUrhmM8mSJ/8DPffSqSNyZN2P8s9//lMeNg1w33wzNdbncT80AN+9e9fR+/JcnstzeW5KeO6jfG//v/HcwMBAsyQm+3vbsixHzydIORQWFiaDBw+OtT0oKCjJ3nPbtGGOn3tk9RxJTqKjb8hLL730qA8DAJBCXL58WbJkyfLAzyNIuTUlpUqVSs6ePeuxXdfjSr/aBKgd022ari9cuCA5cuQQPz+/RE/LGtBOnDghmTNnFl/FefqWlHKeKelcOU/fwnmKqyZKQ1S+fPnECYLU/0mTJo1UrFhRVqxYIY0bN3aFI13v1q1brPLa9ydm/5+sWbMm6THqL4Av/7LbOE/fklLOMyWdK+fpWzhPcVQTZSNIudEapjZt2shTTz0lTz/9tHzyySdy9epV1yg+AAAAdwQpNy+//LL88ccfMmDAADlz5oyUL19eFi9e7KjDMwAA8H0EqRi0GS+uprxHSZsQdZJQp1MJJBecp29JKeeZks6V8/QtnGfi8LOcjvcDAABI4bhFDAAAgEMEKQAAAIcIUgAAAA4RpAAAABwiSHm5sWPHSsGCBSVdunRSqVIl2bx5syQna9eulYYNG5oZY3XG93nz5nns17EOOt2E3hQ5ffr05ibRhw4d8iijM8a3bNnSTKSmk5526NDBdf9Bb7pl0D/+8Q/JlCmT5M6d20zqevDgQY8yN27ckK5du5rZ7x977DFp2rRprJn0jx8/Lg0aNJAMGTKY1+ndu7fcvn1bvMW4ceOkbNmyrontKleuLD///LNPnWNchg0bZn5/33rrLZ8710GDBplzc19Klizpc+epfv/9d3MDdz0X/XtTpkwZ2bp1q0/9PdLvi5ifpy76GfrS53nnzh15//33pVChQuazKlKkiAwdOtTjfnkP7fPUUXvwTjNnzrTSpEljTZo0ydq3b5/VqVMnK2vWrNbZs2et5GLRokXWe++9Z82dO1d/u60ffvjBY/+wYcOsLFmyWPPmzbN27dpl/etf/7IKFSpkXb9+3VWmXr16Vrly5axNmzZZ69ats4oWLWo1b97c8iahoaHW5MmTrb1791o7d+60XnjhBatAgQLWlStXXGVee+01KygoyFqxYoW1detW65lnnrGqVKni2n/79m0rJCTEqlOnjrVjxw5z7XLmzGn169fP8hbz58+3Fi5caP3222/WwYMHrXfffddKnTq1OW9fOceYNm/ebBUsWNAqW7as9eabb7q2+8q5Dhw40CpdurR1+vRp1/LHH3/43HleuHDBCg4Ottq2bWv98ssv1pEjR6wlS5ZYERERPvX36Ny5cx6f5bJly8zf3lWrVvnU5/nBBx9YOXLksBYsWGBFRkZac+bMsR577DFrzJgxD/3zJEh5saefftrq2rWra/3OnTtWvnz5rLCwMCs5ihmk7t69awUGBlojRoxwbbt48aKVNm1a69tvvzXrv/76q3neli1bXGV+/vlny8/Pz/r9998tb6V/zPS416xZ4zovDRz6P7tt//79pkx4eLhZ1z9Y/v7+1pkzZ1xlxo0bZ2XOnNmKjo62vFW2bNmsiRMn+uQ5Xr582SpWrJj5MqpRo4YrSPnSuWqQ0i+SuPjSefbt29eqWrVqvPt99e+R/s4WKVLEnJ8vfZ4NGjSw2rdv77GtSZMmVsuWLR/650nTnpe6efOmbNu2zVRF2vz9/c16eHi4+ILIyEgzg7z7Oer9jrQJ0z5HfdTqVr1tj03L67X45ZdfxFtdunTJPGbPnt086md569Ytj3PV5pMCBQp4nKs2NbjPpB8aGmpuuLlv3z7xNlq1PnPmTHMbJW3i88Vz1CYQbeJwPyfla+eqzR3a/F64cGHTzKFNO752nvPnzzd/R5o1a2aaq5588kn58ssvffrvkX6PTJs2Tdq3b2+a93zp86xSpYq5F+5vv/1m1nft2iXr16+X+vXrP/TPk5nNvdSff/5pvqhi3p5G1w8cOCC+QH/JVVznaO/TR/2j5y4gIMAEFLuMt9GbXWtfmmeffVZCQkLMNj1WvTF2zBtbxzzXuK6Fvc9b7NmzxwQn7WuhfSx++OEHeeKJJ2Tnzp0+c45KQ+L27dtly5Ytsfb50uepXyxTpkyREiVKyOnTp2Xw4MFSrVo12bt3r0+d55EjR0wfP72n6rvvvms+1+7du5vz03us+uLfI+2TevHiRWnbtq1Z96XP85133jHhToNgqlSpzPflBx98YP4hoB7m50mQApKgFkO/hPRfR75Iv3A1NGmt23fffWe+hNasWSO+5MSJE/Lmm2/KsmXLzEAPX2b/C17pQAINVsHBwTJ79mzTQddX6D9wtObhww8/NOtaI6X/n44fP978Dvuir776yny+Wtvoa2bPni3Tp0+XGTNmSOnSpc3fJP0HrJ7rw/48adrzUjlz5jQpO+ZoCl0PDAwUX2CfR0LnqI/nzp3z2K+jR3SkhTdeB71P44IFC2TVqlWSP39+13Y9Vq1m138dJnSucV0Le5+30H/RFi1aVCpWrGhGK5YrV07GjBnjU+eoTSD6e1ehQgXzL1RdNCx++umn5mf9V62vnGtMWltRvHhxiYiI8KnPVEduac2pu1KlSrmaMX3t79GxY8dk+fLl0rFjR9c2X/o8e/fubWqlXnnlFdMU2bp1a+nRo4f5m/SwP0+ClJfSLyv9otI2YPd/Uem6Nqv4Ah22qr+s7ueoVbXaNm2foz7q//T6xWZbuXKluRb6L2dvoX3pNURpM5cen56bO/0sU6dO7XGuOj2C/hF3P1dtNnP/H1trRHRYbswvAG+in0V0dLRPnWPt2rXNceq/cu1FazO02cD+2VfONSYd+n348GETPHzpM9Wm9phTkmj/Gq1987W/R2ry5Mmm2Ur7+Nl86fO8du2a6cvkTisf9LN46J9nInSeRxJOf6AjDKZMmWJGF3Tu3NlMf+A+msLb6agnHUKri/66jRo1yvx87Ngx1/BUPacff/zR2r17t9WoUaM4h6c++eSTZsjy+vXrzSgqbxpurF5//XUzzHb16tUeQ4+vXbvmKqPDjnVKhJUrV5phx5UrVzZLzGHHdevWNVMoLF682MqVK5dXDTt+5513zEhEHW6sn5eu6wiXpUuX+sw5xsd91J4vnWuvXr3M761+phs2bDDD3nW4u4489aXz1GksAgICzLD5Q4cOWdOnT7cyZMhgTZs2zVXGV/4e6Qhv/cx0pGJMvvJ5tmnTxnr88cdd0x/oFDv6e9unT5+H/nkSpLzcZ599Zn7pdT4pnQ5B57pITnTuEg1QMRf9n8Aeovr+++9befLkMaGxdu3aZn4id+fPnze/2DpHiA7BbdeunQlo3iSuc9RF55ay6f+8//nPf8x0AfoH/MUXXzRhy93Ro0et+vXrW+nTpzd/FPRL7tatW5a30OHGOheP/j7qH1f9vOwQ5SvneL9BylfO9eWXX7by5s1rPlP9YtJ197mVfOU81U8//WRCgv6tKVmypDVhwgSP/b7y90jnx9K/PzGP3Zc+z6ioKPP/o34/pkuXzipcuLCZs9B9ioaH9Xn66X/+fiUbAABAykMfKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAAHCIIAUAAOAQQQoAAMAhghTgg/Ru740bN5bkYvXq1eLn5xfrHmDwHnorEb3lxuXLl5PsPfS+aSNHjkyy1weSAkEKSGY0cCS0DBo0yNxEeMqUKQ/92PQ99aa3iJveMHb48OHmRs8ZMmQwNyfXe8DpfdFu3bplytSsWdPcxf5e11Y/Z/sz13uMBQUFSefOnc0NV90VLFhQPvnkE4/1uH5vhg0bluCx9+vXT9544w3JlCmTJJX+/fvLBx98IJcuXUqy9wASW0CivyKAJHX69GnXz7NmzZIBAwZ43Iz1scceMwseXVjSm47HtT00NFR27dolQ4cONQFKbwS7adMm+fjjj+XJJ5+U8uXLP9B7lS5dWpYvXy537tyR/fv3S/v27U0I0d+LhAwZMkQ6derksS2hgKQ3tV2wYIF89tlnkpRCQkKkSJEiMm3aNOnatWuSvheQWKiRApIZbV6xlyxZspjaBPdtGqJiNu1pLYfWJmhNR7Zs2SRPnjzy5ZdfytWrV6Vdu3bmS7Ro0aLy888/e7zX3r17pX79+uY19TmtW7eWP//8M97mOX0t/SJ3rx1T33zzjTz11FPmffQYW7Ro4XF3+bju7K7vq2HDbu6bOHGilCpVStKlSyclS5aUL774wlX+6NGj5v3mzp0rtWrVMrU9WusTHh6e4LXU54wbN868V/r06aVw4cLy3XffeZQ5ceKEvPTSS6Y2KHv27NKoUSPzfjb7WmtNSr58+aREiRJxvpfWCq1du9bcjV5DgoYmfT+9FnpH+mLFismDCggIMNfz8ccflzp16kizZs1k2bJl93ye/Tm4LxkzZoy3/OzZs8311PeJWUOmAUvPWa/5v//9b/PZff3116bmS3/XunfvboKeTT83PVf9HPV3Sp/jrmHDhjJz5swHvhbAo0KQAlII/XLTpqTNmzebUPX666+bL94qVarI9u3bpW7duiYo6Reh0gDz3HPPmZqSrVu3yuLFi+Xs2bMmVMRFX0fDgtayaK2ZLm+//bbZp81WWgujtTHz5s0zQUQDSFz0fZ9//nm5e/euCQX6ZT19+nRT86ZhRWtePvzwQ3n//ffNObl77733zHvu3LlTihcvLs2bN5fbt28neF30dZo2bWqOrWXLlqafjr6Hfdxai6TBY926dbJhwwYTKuvVq2dqmGwajrRWUI9Xg0Vc9Bw07Oj1jCl16tQJBpn7odd0yZIlcdaG/V167hqEY9LflU8//dQEH/390DD94osvyqJFi8yiAfp///ufK5zq75EGK60R0+ulz6levbrHaz799NPmdzQ6OjrRzwNIEol1J2YAD9/kyZOtLFmyxNrepk0bq1GjRq71GjVqWFWrVnWt375928qYMaPVunVr1za9A7z+SQgPDzfrQ4cOterWrevxuidOnIj3rvIJHU9MW7ZsMa9j32V91apVZn3//v1W2bJlraZNm3rcxb1IkSLWjBkzPF5Dj69y5crm58jISPP8iRMnuvbv27fP9Zrx0f2vvfaax7ZKlSpZr7/+uvn5m2++sUqUKGHuIm/T40qfPr21ZMkS17XWu8u7H29c9Dndu3e/57XRz0rvan+vaztw4EDL39/ffI7p0qUz56LLqFGjPJ4XHBxsjR492mM9TZo05nnuy9q1a+M9pnLlyllDhgyJdTz6fhEREa5tXbp0sTJkyOD6XFVoaKjZrr7//nsrc+bMVlRUVLzvtWvXLvO6R48eTeAqAd6DPlJAClG2bFnXz9o5OUeOHFKmTBnXNm1mUXaTm9bQrFq1Ks7+VocPHzY1Pvdr27ZtpplPX/Ovv/4ytU1235snnnjCVU5rorRGQvv46DEqbX7U9+vQoYNHvx6tadKmzfjOMW/evK7z0abA+FSuXDnWutZo2dcgIiIiVv+hGzdumGOy6XW8V03Q/8ttiUub1ObPn2+OR/sV6XFrbeO99O7dO1aNoHuzXUzXr183TXExaXOe9mly/x3SJj333xndZv9O6ecbHBxsmjS1Vk8XrcHS17FpE6uya0YBb0eQAlIIbT6K2T/IfZuuKzvkXLlyxfRX+eijj2K9lh1S7ocGIW0e00Wbt3LlymUClK67N4+pBg0ayPfffy+//vqrK+TpcSjt01WpUiWP8nbYiuscY56PE/reFStWNMcdk56H7X6a5TR4Hjhw4J7ltGk0rlFr2uQZMzhqeNO+bUpH3en1Gzx4sGlGTYg28drPux9aXgPwg/5O2dvsz0ADqTYjaxPg0qVLTXOtBuwtW7a4RiTaow7dry/gzegjBSBOFSpUkH379pkaBv3SdV/iCw76xe7esVhpeDh//rz5oq9WrZqpHYqvo7mWadOmjdSuXduEKbtGQztxHzlyJNZxFCpU6G+fp46ai7mundrta3Do0CHJnTt3rPeOGWruRTuV6wi7HTt2xNqnfbE0cNq1TBo2YtJt96oF1OkDdATgqVOnJDFpvy778/i7tIO89hXTaSB2795t+natXLnSY4BD/vz5TXgDkgOCFIA46cgyrR3QDttaY6BNWdqZWUfmxQxLNg1dWoujna91dJ82zxQoUMAELB06r2FIm6ISqjHRIKCdvrWju12Do7UsYWFhpmPzb7/9Jnv27DFzL40aNepvn+ecOXNk0qRJ5nUHDhxoOjp369bN7NPj0C90HamnHa4jIyNNbYp2mD558uQDvY+OmNRRiBoSx44da5oN9XroiLhnnnnGBDalgwD0WPQ9NGhop2w9z2+//VZ69eqV4Htos6Q2b2pn/ITopJpnzpzxWKKiouItr7WHOgIyvs/9fmlHfP0MtQny2LFjMnXqVFNb5T7SUa+zDnwAkguCFIA4aS2QjlLTL0/9YtOmNg0D2gTj7+8f78i91157TV5++WXTNKO1DvqoQ+U1sGh/KK110rCUkNGjR5vRgRqmNFR07NjRTH+g4UmPo0aNGuY1E6NGSkOajjrTAKJf7BpY7H5b2ndHpyzQMNikSRNTU6V9tbRPkjbBPYi0adOaUX19+vQxI9k0PP3jH/8wwUJDk86hpLT/kL6nhkitudHmTA1bev20T9G99OjRw1wrnbYhPtqkps2z7oseV3x0egitSdIatb9Df3d0igr9XPVajh8/3lxvnQ9L6XXVUZ0x57gCvJmf9jh/1AcBAI+C9t/54YcfktXtdB4VrUXT2kStlUwqOqeXfh7afwpILuhsDgC4py5dupgO79osmFS3idGO6kk9ezqQ2KiRApBiUSMF4O+iRgpAisW/IwH8XXQ2BwAAcIggBQAA4BBBCgAAwCGCFAAAgEMEKQAAAIcIUgAAAA4RpAAAABwiSAEAADhEkAIAABBn/j+dtxf7jTqYkQAAAABJRU5ErkJggg==" + "image/png": "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IPKd0rC0Zs0aF4jUE5SRwpLCTfHixY/aph6mK664wtq2bevuq+eoWbNmtmHDBitXrpxNmTLFevXqZXXq1HHb+/TpY08++aR7vl9++cXmzp1rc+bMsbJly1rFihVt8eLF9tJLLxGWAABAZA3DLViwwOrXr+96eELt3bvXtmzZYmeffXam+6k3yAtCUqpUKStdurRbr/1+++03q1u3bnB77dq1bePGjbZ161b3GD1eQSl0+3fffZcrbQQAANHtlPYsdejQIdP16lVKSEiw8ePH22effWaFCxe2W265JTgkp9BTokSJdPtomG3z5s22bds2dz90e7Fixdyttz2zfRWysistLc3CTbVViYmJKrzSnxzJjeMKN+8Yo+FYTwTtjC3x0s54aivtjK92puWw/ae8Zikz69atc2GpfPnydtNNN9nChQvt3nvvdTVLl156qas3yp8/f7p9dF+F4trm3Q/dJtqempqa5b7ZtWzZMgu3pKQkq1q1qu1LTXU9bNmxLznB3a5atcq1MxrkxnsYiWhnbImXdsZTW2lnbFkW5nZGZFhSLZJqkNSjJCriXr9+vb388ssuLBUoUOCocKP7ChqhwUiP834Wbc9q34IFC2b7OKtXr/7fXqAw8s7aS05KspSU7HUtJScnu1udORjplO71y5wb72EkoZ2xJV7aGU9tpZ3x1c60/22PibCkXiUvKHnUy/T111+7n0uWLGnbt29Pt133VQyubaLhNq8uyRua87ZntW926YPItV+6hAT9yZFo+h8hV9/DCEI7Y0u8tDOe2ko7Y0timNsZEfMsZaQz1zp37pxu3cqVK11gEs2ttGjRouA2FXRr0XqFIRV7h27Xz1qnWqWaNWu6Ym/VL4Vu13oAAICoCEsaglOd0sSJE92p/jqt/80337Rbb73Vbb/hhhvcRJIzZsxwIapfv37WtGlTN22At12TUmqSSy2jR4+2jh07um16TKNGjdzcS9pXz6E5mW688cZT2mYAABCZInIYTvMdqXfpqaeecrdlypRxgUczbotuhw0b5rbv2bPHGjZsaA888EBwf82ntGPHDuvRo4frhmvfvn26nirNy6RJLa+77jo3/Pbggw8yxxIAAIjssKQzuELpUiZastKuXTu3ZEYBSbN0a8mMpgrQtAQAAABROQwHAAAQKQhLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAPghLAAAAkR6WDh48aG3atLH58+cH1y1evNiuv/56q1Wrll1++eU2Y8aMdPtcddVVVqlSpXTLjz/+6LYFAgEbNWqUNWjQwOrVq2cjR460I0eOBPfdtWuX9ezZ0z138+bN7a233jqJrQUAANEk76k+gAMHDljv3r1t9erVwXXbtm2zf/7zn3bDDTfYww8/bCtWrLCBAwda8eLFrWnTppaWlmbr16+3qVOn2tlnnx3cr0iRIu520qRJNnv2bBszZowdPnzY+vbta0WLFrUuXbq47Xqu/fv32/Tp023JkiV2zz332DnnnGMXXHDBKXgHAABAJDulYWnNmjUuKKknKNTHH39sxYoVs7vvvtvdVyBSr9OsWbNcWPr111/t0KFDLtwUKFDgqOedMmWK9erVy+rUqePu9+nTx5588kkXln755RebO3euzZkzx8qWLWsVK1Z0vVgvvfQSYQkAAETWMNyCBQusfv36rocnVOPGje2hhx466vF79+4NhqxSpUplGpS2bNliv/32m9WtWze4rnbt2rZx40bbunWr60nSvgpKodu/++67MLcOAADEglPas9ShQ4dM1yvIhIaZHTt22DvvvOPqjGTt2rWWL18+u+2222z58uVuCK1fv36uZ0hDeFKiRIng/uqlks2bN7vtodtEQ3QKWQAAABFXs3Qsqi1SSFLg+cc//uHW/fTTT7Znzx679tpr3XDbq6++ap06dbJ3333XPV7y588ffA7vZxWSp6amptvmbde27FLtVLipED0xMVFV6vqTI7lxXOHmHWM0HOuJoJ2xJV7aGU9tpZ3x1c60HLY/osPSn3/+aXfccYcr5lZNUVJSklv/wAMPuFCUkpLi7g8dOtS+/fZbd1bbxRdf7NYp/HjDdF4Q0v5alzEY6X7BggWzfXzLli2zcNMxVq1a1falpgaHHY/XvuQEd7tq1SoXCqNBbryHkYh2xpZ4aWc8tZV2xpZlYW5nxIYlBYWuXbu6guzJkyenO+stb968waAkCQkJVr58eTeUVrJkSbdOw23eUJ43NKez6bR9+/bt6V5L97Utu6pXr/7fXqAw8qY4SE5KspSU7HUtJScnu1tNoxDplO71y5wb72EkoZ2xJV7aGU9tpZ3x1c60/22PibCkwNCjRw931tu///1vq1ChQrrtN998sysM12O8x6s35cYbb3RhqHTp0rZo0aJgWNLPWqdapZo1a7pib9UvnXnmmcHtWp9d+iBy7ZcuIUF/ciSa/kfI1fcwgtDO2BIv7YynttLO2JIY5nZGZFh67bXX3FQB48aNs0KFCgV7hlTUXbhwYTeR5NixY61KlSquuFtTBfzxxx929dVXu8dpfiZNSumFodGjR9utt97qfi5Xrpw1atTIzb00ePBglzA1J5PmbAIAAIiKsPTBBx+43iKd7RZKs3Grp6lz585uMsvhw4e7IbQaNWq4iSi9oTnNp6Qz6NTzpGTZvn17t49HM3orKF133XVu+O3BBx9kjiUAABDZYUnDaJ6JEyf6PlY1SrfffrtbMqOApFm6tWRGUwWMHz/+BI8YAADEg4i4NhwAAECkIiwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAACEOyx9/fXXFggEcrIrAABAVMmbk53uvPNOy5cvn7Vs2dLatGljNWvWDP+RAQAARGtY+uKLL9zy/vvvW7du3SwlJcWuuOIKa926tVWtWjX8RwkAABBNYSlv3rzWpEkTtxw+fNi+/PJL+89//mMdOnSwkiVL2pVXXmnt2rWz0qVLh/+IAQAAoqXA++DBg/bpp5/aO++8Y++9954VKVLEmjdvbuvXr3e9TFOnTg3fkQIAAERLz9LHH3/shuA++eQTV7t0+eWX29ixY61OnTrBx0ybNs0ee+wxu+mmm8J5vAAAAJEflvr3728tWrRwYahhw4aWmJh41GPOP/98u+WWW8JxjAAAANEVllSjtHfvXvv999+DQendd9+1unXrWvHixd39GjVquAUAACDuapa+/fZbu/TSS23WrFnBdVOmTLFWrVrZokWLwnl8AAAA0ReWHnnkEbv99tutV69ewXWvvPKKde3a1R588MFwHh8AAED0hSWd7aYJKTPSXEtr1qwJx3EBAABEb1gqX768myogI8219Ne//jUcxwUAABC9Bd533XWX3XHHHW4W72rVqrl1q1atsm+++caefvrpcB8jAABAdPUs/e1vf7M33njDXdpk3bp19ssvv1jlypXd5JSa1RsAACCue5bkvPPOswEDBoT3aAAAAGIhLGl+pRdeeMGWLVvmrg0XCATSbdc0AgAAAHEblvr16+eCki6Ym5KSEv6jAgAAiPYZvHWR3AsuuCD8RwQAABDtBd4lS5a0PHlytCsAAEB8DMMNHTrUzeB91llnWb58+dJtL126dLiODwAAIPrCUs+ePd1tt27d3G1CQoK7VaG3fv7hhx/CeYwAAADRFZbmzJkT/iMBAACIQDkqPCpTpoxb9u3bZ99//70VKVLEjhw54obftB4AACCuw9KePXusc+fO9ve//93uvPNO27Fjh40YMcLatGljGzduzPbzHTx40O07f/784LoNGza416hZs6a1atXKPv/886POyNM+NWrUsI4dO7rHh3rxxRetcePGVqtWLRs0aJClpqYGtx04cMCtq1OnjjVq1MjNGQUAABC2sDR8+HBLSkqyr7/+2goUKODWPfjgg3bmmWe6bdmh4HL33Xfb6tWrg+tU+9S9e3crVqyYvf766y6U9ejRwzZt2uS261bb27VrZ6+99pqdccYZ7lp13uSYH3zwgY0ZM8aGDRtmkydPtiVLltijjz4afP6RI0fa8uXL3bYhQ4a4x77//vs5eSsAAECMy1FYmjdvngs4hQoVCq5TYBk4cKAtXLjwuJ9nzZo1dt1117lry4VSCFNPkcJOhQoV7LbbbnM9TApOMmPGDDv//PPt1ltvdZddeeihh1yP1oIFC4IziHfq1MmaNWvm5oK6//773b7qXdLQofYfPHiwuwjwpZdeal27drVp06bl5K0AAAAxLseTJalHKKOdO3da3rzHXzOucFO/fn2bPn16uvXqCdJFepOTk4PrateubYsXLw5u1xCaR71cCj7anpaW5mYXD92uoHXo0CFbuXKlW3SJFg3PhT63nlN1VwAAACd8NpxqhVSjpJ4fTRWg3hr1BmlIS/VFx6tDhw6Zrt+2bZuVKFEi3bqiRYva5s2bj7ld161TkAvdrgBXuHBht12TaaogPX/+/MHtGu7TPrt373Y9ZMdLwSzcFNgSExM1Fqk/OZIbxxVu3jFGw7GeCNoZW+KlnfHUVtoZX+1My2H7czwp5WOPPeZqhtRjo5oifcFfe+21btuJ0nBZaJgR3Vch+LG279+/P3g/s+2qa8psm3jPf7zUgxVu6iVTr9q+1FTbu3dvtvbdl/zf+a5WrVqVrqA9kuXGexiJaGdsiZd2xlNbaWdsWRbmduYoLClcDBgwwO666y5XW6SkVq5cOTvttNPCclAqGlcvTygFmYIFCwa3Zww2uq8aKq/gPLPtCiI61sy2iff8x6t69er/7QUKI28oMDkpyVJSste15A1bVqpUySKdN1yaG+9hJKGdsSVe2hlPbaWd8dXOtP9tPylhKbMibs235Klbt66dCF17TsXfobZv3x4cWtN23c+4vUqVKm64TYFJ91UcLqpRUvgqXry461natWuXW+fVV2lYT0EptGD9eOiDyLVfuoQE/cmRaPofIVffwwhCO2NLvLQzntpKO2NLYpjbmaOwdPPNN2fZ46RAcqIzfGvupGeffdYNqXm9PYsWLXKF2N523fdoyElhTdMLqCZJiVLbVTwuKvxWMKpcubK7r5+1zisC12O1DxcHBgAAYQlLOqMsY7eWTv9/4IEH7Morr7QTVa9ePStVqpSbikDzJ82dO9eWLl3qpgiQa665xiZOnOgClaYHGDt2rJUtWzYYjlQ4ft9991nFihVdb5Qu+qspCjQMJ23btnXrNDfU1q1b3aSU3nMDAACECktXirq6zjnnHFfH9OSTT4bl+Z555hk3PKYi8rffftsFIl1ORRSMnn76aTd3Uvv27d0Qm7Z7F/Rt3bq1m5tJgUlzMWmupb59+wafXyFMUw1oLibNwaQLA1922WUnfNwAACD25KhnKSu67IlO3c8JncEV6qyzzrKpU6dm+fgmTZq4JSvdunVzS2bUw/TII4+4BQAAIOxhST0zGf3555/uem0tW7bMyVMCAADEds+SzkLr37+/m3MJAAAgrsMSxdAAACBe5CgsjRkz5rgfq9P5AQAA4ios/fzzz/b++++7obfzzz/fza+k6QQ0fYAuWutN9uidnQYAABCtcny5E82npNPu8+XLF1yvs8v27Nnj5i8CAACI23mW3n33XevatWu6oCSa+FHbAAAA4jos6dps8+bNO2r9Bx984C6oCwAAENfDcL1797a77rrLPvnkk+D11nQVX12fbfz48eE+RgAAgOjqWbr00ktt5syZ7tpra9eutY0bN7rrualnSbcAAAAW75NSVqpUyc3krYLulJQUy5MnD2e/AQCAmJOjnqVAIGDjxo2z+vXr20UXXWSbNm1yF6rVhWsPHjwY/qMEAACIprA0duxYe/vtt+3hhx920wjI1VdfbV988YWNHDky3McIAAAQXWHpjTfesGHDhlmzZs2CQ28NGzZ08yy999574T5GAACA6ApLO3bssBIlShy1vlChQrZv375wHBcAAED0hqUGDRrYxIkT063bu3evPfbYY66OCQAAIK7D0tChQ92cShp6O3DggN1xxx3WpEkTN4XAPffcE/6jBAAAiKapAzTc9tprr9lXX31l69ats8OHD9s555xjjRo1clMIAAAAxHVYatOmjY0ZM8ZNG6AFAAAgVuWoG0i9R4cOHQr/0QAAAMRCz1LTpk3tlltucVMHlClTJjjXkqdHjx7hOj4AAIDoC0urVq2yatWq2datW90SikueAACAuAxLN954o7vEiYq7//3vf7t1+/fvt4IFC+bm8QEAAERHzdKiRYuOqlO6+OKLbcOGDblxXAAAABHhhM7z1wV1AQAAYhmTIgEAAPggLAEAAITrbLj33nvPUlJSgvePHDliH330kZ1xxhnpHte2bdvsPC0AAED0h6XSpUvbCy+8kG5d0aJFberUqUdNHUBYAgAAcReW/vOf/+TukQAAAEQgapYAAAB8EJYAAAB8EJYAAAB8EJYAAAB8EJYAAACiMSzNnDnTKlWqdNRSuXJlt/3//u//jto2d+7c4P4vvviiNW7c2GrVqmWDBg2y1NTU4LYDBw64dXXq1LFGjRodNSUCAABAjialPJlatWrlwo7n8OHD1qlTJ2vatKm7v3btWnv00UftoosuCj7m9NNPd7cffPCBjRkzxm3XXFADBw50P993331u+8iRI2358uU2efJk27Rpk/Xv39/NI9WyZcuT3k4AABDZIjYsFSxY0C2eCRMmuAv39unTxw4ePGi//vqrVa9e3YoXL37UvlOmTHHBqlmzZu7+/fffb126dLG+ffu655gxY4Y999xzVq1aNbesXr3apk2bRlgCAADRMwwXavfu3S7c9O7d2/Lnz2/r1q1zM4WXK1fuqMempaXZsmXL3BCbp2bNmnbo0CFbuXKlW9RLpeE5T+3atW3JkiXu8i0AAABR0bMU6uWXX7YSJUoEe34UlnSNun79+tmCBQvszDPPtJ49e1qTJk3s999/dzVJ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uSFDhtirr77qanSeffbZYM2OgtawYcPchJN79uyxhg0b2gMPPBB87i5dutiOHTvcpJXqpmvfvr117tz5FLYWAABEqogNS3LeeedlObP2BRdcYG+88UaW+7Zr184tmVFA0ozeobN6AwAARNUwHAAAQCQgLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAPggLAEAAERrWNqyZYv16tXL6tWrZ40bN7aHHnrIDhw44LYNHz7cKlWqlG6ZOnVqcN/Zs2dbixYtrEaNGta9e3fbuXNncFsgELBRo0ZZgwYN3HOPHDnSjhw5ckraCAAAIltei1AKNApKhQoVsmnTptmePXts0KBBlidPHuvfv7+tXbvWevfubVdffXVwn5SUFHe7dOlSGzx4sN1///1WuXJlGzFihA0cONAmTJjgtk+aNMmFqTFjxtjhw4etb9++VrRoUevSpcspay8AAIhMEduztG7dOlu8eLHrTTrvvPOsTp06Ljwp5IjCUtWqVa148eLBJSkpyW1TD9MVV1xhbdu2dWFJPUeffvqpbdiwwW2fMmWKey49p3qX+vTp4wIZAABA1IQlhZ/nn3/eihUrlm793r173aIhurPPPjvTfZcsWeKCkKdUqVJWunRpt177/fbbb1a3bt3g9tq1a9vGjRtt69atudgiAAAQjSJ2GE7Db6pT8qimSD1G6glSr1JCQoKNHz/ePvvsMytcuLDdcsstwSE5hZ4SJUqkez4Ns23evNm2bdvm7odu9wKZtmfcz09aWpqFm9qZmJiocUj9yZHcOK5w844xGo71RNDO2BIv7YynttLO+GpnWg7bH7FhKaNHH33Uvv/+e3vttddsxYoVLiyVL1/ebrrpJlu4cKHde++9rmbp0ksvtf3791v+/PnT7a/7Bw8edNu8+6HbRNuzY9myZRZuGkrU8OK+1FTXg5Yd+5IT3O2qVassNTXVokFuvIeRiHbGlnhpZzy1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APggLAFRbsCAAVapUqUsl5kzZ7pbXbokt+3YscPee++943qsLuaq44oVe/bssYcffthdJkWXUbjiiivsxRdfdBep9dx888329NNPH/O90OMyfo66lEXHjh3txx9/DD5Oz6XHevTaWf0e6DWyosuCXH311e4aleGkY1uzZk1YnxM4FfKeklcFEDaDBw+23r17u5/fffdde+GFF9zVuT26sGbjxo3d9dxy26hRo9x1mRQU4olCxj/+8Q93/aoRI0a461XpKvC60PKGDRvs3nvvzfZz3nrrrW4Rvad6Hj23rtX3/vvvZ3ndyEGDBlmrVq2OWh96gdWMnn32WWvWrJkVKVLEwql79+52//33u2vvAdGMsAREub/85S9u8X5OTEw86mraJ+sq4vF6QYDRo0db/vz5beLEie5K91KuXDl3hfQ77rjDbrrpJnfF++xITk5O97kpiCkYd+jQwfUuVa5cOdP99DuQnc/7zz//tClTptjs2bMt3Bo0aODC0jfffGN16tQJ+/MDJwvDcECM0/Bb6DCcftZQmXp/NFx09913u14LDfHovr6Mt2zZEtz/o48+cj0V2ta+fXtbsGBBpq+jIaE33njDLRoOEg3BdOnSxWrVqmXVq1d3z7127dpM93/ooYesadOmtmnTJndfX7Dt2rWzCy64wK688kr74IMP0g096vF33XWXO64mTZrYm2++meV7oDbPmDHDWrRo4Y5FPXEKCZ5jvZaWq666yi666CJbv359uufWVdDfeecdu/HGG4NByaPeGg3F6Ur34aBAJgrE4TJr1iwX5EqWLOnua9hWw2fjxo2zunXrWsOGDd17q94stUeh59FHHw3u/9VXX9nf//539/lecskl9sorr6R7fv0uvPzyy2E7XuBUICwBceipp55y9TUTJkywDz/80G644Qa36Itu27Zt9txzz7nHrVy50vr372//93//Z2+//bYLDP/85z/t559/Puo5NWSkAKZFw4Cq1bn99ttdUHjrrbfcc6elpaX7ovVMmjTJPUY9M6VLl3bHcNttt7kAoy/zrl27usCiUOOZNm2aVatWzfWIXHbZZTZkyBD7448/smzzk08+affcc4/rRVHPzH333efWH89r6dgUzPR+nX322eme95dffrF9+/a5sJBRQkKC613xQs6J2Lp1qz3xxBN23nnnWfny5S1c5s2bZxdffHG6dd99950L0PocW7dubUOHDnXvmwKU3pvnn3/evv/+e/d56n1p2bKlC+B33nmn60kKrVNS2Pr888/jttcRsYFhOCAOde7c2fXISJUqVVzPgldnpOChkCQKL9ddd53rbRH1Pi1cuND1FOhLM9Rpp53mhp1E9VEKENdff73rTdKQkqiIWF+0oVRnNWbMGNcDU6FChWAQ0he4hq/krLPOsh9++MEmT54cHM5Rb5GCm+hLWl/mq1evdoXQmdFj1XMlGs5SuFMIOJ7XUhDyessy+v33392tNxQaLgpmqj8ThRLRcWq9X8+SQqNqpUIpgKr3KzMKPQo7oRRsFCz1uakWS+9Fz5493dCflscee8zWrVvnnnf37t1WrFgxV6elRcOFocOA+kz1mI0bN7rtQDQiLAFxSPU0HgWc0GEi3dfQkmjITD0G06dPD24/dOiQNWrU6JivoS9a9VZpCGf58uXuy1VfzPpiDaXQpZ6XM888M7hOj507d64bMgt93dC6n9AenpSUFHd7+PDhLI8nNESdf/75LoD89NNPx/VafsNohQsXDp4Ndyx58+ZNd3acR+u0LZSCpobD9FkorHz55Zf2r3/965hDer169XKBN+PrZmXnzp1HFXYXLVo0GHC9ocXQoOP9jqjt+owVrJ555hk3THfNNdekKyb3nluvQ1hCtCIsAXEoY89EVmdWKVCoR6Zt27bp1ns9SH5UE6QaJ31ZqlemTZs2Lph4vSUeDcupt+mRRx5xZ9N5oUe9WRrGy+pLP1++fEe9pt9QT+jjvcCidh/Pa2WsRQr117/+1fUqrVixwtU8ZaQhTIUe9QrpcZkNFWpdxp4pBQ71col6ivQ5aLhQQ4V+vVgKOt5+x0NDhV7PlV+40uMyo9451Wt9/PHHblGwVnBSHVnoe53V/kA0oGYJQJbUu6LCcH35eou+DD/77LNMHx/6hahCcNXZaHhMdUAKCyrezhhoLr/8ctczoWEiDfF5r6u6qNDXnTNnjgsKOaWhNY96uhSe9Don+loKFiqA13Ce1yPn+c9//uMWDU15Q4eLFy8+6jmWLFliVatWzfI19L4OGzbM9V7pzLtwUrjSMFlOqN5LNUp6zxQKX3/9dVejpTZ7vLmbTtYZmUBuICwB8K1tUk2RAo8KmVVXpCVjkbMnKSnJ1abobDoN0ahuSb0NClw6Gy2zQCGqn9IZVQoE6ulRnZMCzeOPP+7OPlNwUZ2MamROpKhdAU7BZPjw4a5+SnVW4Xgt1fPs3bvXnfmn19B7pfZqiFF1Xueee657nIaoNLSp19etFr23L730knXq1Mn3NXQ86llSWA0Nfpn1UinEZFz0WWRGIW3VqlWWE+r90tmSDz74oGuzwq7q3UKDn55bQ6/e2XZANCIsAchSzZo1beTIke7LXL0nr776quvZ0CnlmVHgUR2QzprTvt6khLqvU9J1Bppm+Q6dmsCj0/kVtDSBoepyxo8f787U0vCdzgLzTt/PKQ0l6jkUaHT83kSR4Xgt9Zqo6F21YH369HHPozoj1Q+FFsKrLkvt03ukmiSFJ51pp/fYG7byo6J01f1kLOAOpeCimrKMi0JuZjRh6bfffms5oVozDbkpIOn90plxGnq99tprg49ZtGiRe32G4RDNEgKczwkgxmn4Sz049evXP9WHEnHUI6azBBXawjUflEdfL5rbSvVoTEqJaEbPEgDEMZ1JqAJt9RqG2xdffOHqtQhKiHaEJQCIczoTUNMnhPtCuprEUmfLAdGOYTgAAAAf9CwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAAD4ICwBAABY1v4fQxgKuOOo7SAAAAAASUVORK5CYII=" }, "metadata": {}, "output_type": "display_data" } ], - "execution_count": 87 + "execution_count": 18 } ], "metadata": { From c2f1969941319fb9b74d152f7699b861272dba80 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 10 Jul 2025 15:25:59 -0400 Subject: [PATCH 07/12] Plotted CURIEs over time (grouped hourly) and hour of the day. --- log-analysis/NodeNorm_log_analysis.ipynb | 150 +++++++++++++++++------ 1 file changed, 113 insertions(+), 37 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index 841a131..a8068d6 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -29,8 +29,8 @@ "id": "721be6fa-7f14-4979-bffb-5a32cb316444", "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:34.875408Z", - "start_time": "2025-07-03T20:53:33.765722Z" + "end_time": "2025-07-10T19:11:18.077862Z", + "start_time": "2025-07-10T19:11:16.014835Z" } }, "source": [ @@ -64,7 +64,7 @@ ] } ], - "execution_count": 7 + "execution_count": 1 }, { "cell_type": "markdown", @@ -81,8 +81,8 @@ "id": "c6e9048c-6f68-4d67-b60f-f6e8fa13f4ea", "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:34.886527Z", - "start_time": "2025-07-03T20:53:34.884679Z" + "end_time": "2025-07-10T19:11:18.088492Z", + "start_time": "2025-07-10T19:11:18.086611Z" } }, "source": [ @@ -92,7 +92,7 @@ "]" ], "outputs": [], - "execution_count": 8 + "execution_count": 2 }, { "cell_type": "markdown", @@ -108,8 +108,8 @@ "metadata": { "scrolled": true, "ExecuteTime": { - "end_time": "2025-07-03T20:53:34.901352Z", - "start_time": "2025-07-03T20:53:34.896228Z" + "end_time": "2025-07-10T19:11:18.095981Z", + "start_time": "2025-07-10T19:11:18.091562Z" } }, "source": [ @@ -192,13 +192,13 @@ " )]" ], "outputs": [], - "execution_count": 9 + "execution_count": 3 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:39.591860Z", - "start_time": "2025-07-03T20:53:34.907674Z" + "end_time": "2025-07-10T19:11:21.902892Z", + "start_time": "2025-07-10T19:11:18.164112Z" } }, "cell_type": "code", @@ -246,15 +246,15 @@ ] } ], - "execution_count": 10 + "execution_count": 4 }, { "cell_type": "code", "id": "227a6bd5-1ca5-4c5b-8cde-4821b7efa7cc", "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:39.600164Z", - "start_time": "2025-07-03T20:53:39.598147Z" + "end_time": "2025-07-10T19:11:21.912357Z", + "start_time": "2025-07-10T19:11:21.909442Z" } }, "source": [ @@ -276,12 +276,12 @@ " LogEntry(time=datetime.datetime(2025, 7, 3, 12, 1, 3, 183000), curies=['CHEMBL.COMPOUND:CHEMBL112'], curie_count=1, time_taken_ms=12.33, time_taken_per_curie_ms=12.33, arguments={'curies': ['CHEMBL.COMPOUND:CHEMBL112'], 'conflate_gene_protein': True, 'conflate_chemical_drug': True, 'include_descriptions': False, 'include_individual_types': False}, node='')]" ] }, - "execution_count": 11, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], - "execution_count": 11 + "execution_count": 5 }, { "metadata": {}, @@ -298,8 +298,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:39.769820Z", - "start_time": "2025-07-03T20:53:39.611915Z" + "end_time": "2025-07-10T19:11:22.141177Z", + "start_time": "2025-07-10T19:11:21.954485Z" } }, "cell_type": "code", @@ -330,13 +330,13 @@ ] } ], - "execution_count": 12 + "execution_count": 6 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:40.296162Z", - "start_time": "2025-07-03T20:53:39.783069Z" + "end_time": "2025-07-10T19:11:22.680550Z", + "start_time": "2025-07-10T19:11:22.149216Z" } }, "cell_type": "code", @@ -355,13 +355,13 @@ ], "id": "95e54a3b26740479", "outputs": [], - "execution_count": 13 + "execution_count": 7 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:40.409802Z", - "start_time": "2025-07-03T20:53:40.307059Z" + "end_time": "2025-07-10T19:11:22.830659Z", + "start_time": "2025-07-10T19:11:22.690071Z" } }, "cell_type": "code", @@ -389,13 +389,89 @@ "output_type": "display_data" } ], - "execution_count": 14 + "execution_count": 8 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-10T19:15:37.888556Z", + "start_time": "2025-07-10T19:15:37.807791Z" + } + }, + "cell_type": "code", + "source": [ + "# Plot CURIEs over time (by hour)\n", + "curies_per_hour = df.set_index('time').resample('h')['curie_count'].sum()\n", + "sns.lineplot(x=curies_per_hour.index, y=curies_per_hour.values)\n", + "plt.title(\"CURIEs per Hour\")\n", + "plt.xlabel(\"Time\")\n", + "plt.ylabel(\"Number of CURIEs\")\n", + "plt.xticks(rotation=45)\n", + "plt.tight_layout()\n", + "plt.show()" + ], + "id": "b5e3a1ee3c803152", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 16 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:40.479378Z", - "start_time": "2025-07-03T20:53:40.418377Z" + "end_time": "2025-07-10T19:25:06.420229Z", + "start_time": "2025-07-10T19:25:06.135625Z" + } + }, + "cell_type": "code", + "source": [ + "# Plot CURIEs against hour of day\n", + "df['hour_of_day'] = df['time'].dt.hour\n", + "sns.barplot(x=df['hour_of_day'], y=df['curie_count'])\n", + "plt.title(\"CURIEs per Hour\")\n", + "plt.xlabel(\"Hour (UTC)\")\n", + "plt.ylabel(\"Number of CURIEs\")\n", + "plt.xticks(rotation=45)\n", + "plt.tight_layout()\n", + "plt.show()" + ], + "id": "e8ed60c82d49d7e1", + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:matplotlib.category:Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.\n", + "INFO:matplotlib.category:Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.\n" + ] + }, + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnUAAAHWCAYAAAARl3+JAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAT2ZJREFUeJzt3QeYU1X6x/F3ho4IKE1ARESlSxVsiKIsyrKCIHZYFxULWFYRF3QtCKLYkaIIlhUUxIKKWFbddRFREaQoDtJUijQREOlM/s/v/PdmM5Vk5maS3Pl+nieEm5s5Obm55b2npoVCoZABAAAgpaUnOgMAAAAoPII6AACAACCoAwAACACCOgAAgAAgqAMAAAgAgjoAAIAAIKgDAAAIAII6AACAACCoAwAACICSic4AgOBavHix/eMf/7C5c+fali1brHr16nbyySdbv379rE6dOuH39e7d2z2/+OKLuabTsWNHa9u2rT3wwAPh93/55ZdZ3pOWlmbly5e3o48+2v785z9bt27dwuv+9re/ufd//PHHbvmLL76wPn365Jv3Z555xk4//XRLFU8++aSNHj3ali5dmuv6g21jAKmPoA5AXEyePNnuv/9+a9eund16660uoPvxxx9t4sSJ9sEHH9gLL7xgDRs2LHD6jRs3trvvvju8fODAAVu/fr09//zzNmjQIKtcubJ16NAh3zTuuusua9KkSa7r6tevX+C8AUAiENQB8N28efNs+PDhdtlll9kdd9wRfl0B3tlnn23du3e3IUOG2Ouvv17gz6hQoYK1aNEix+sqXVNpoNI+WFB37LHH5poGAKQi2tQB8J1K4w499FC75ZZbcqw7/PDDXXXoWWedZTt37vT9s8uUKWOlS5d21bF+yMzMtMcee8xVATdt2tQ9P/LII7Zv3758q0L1vn/96192zjnnWPPmze3CCy901b6Rtm7d6koLTznlFGvWrJl7z5w5c7K8p0GDBq5atUePHnbCCSe4//tl5syZLt2WLVvaqaee6vKybdu28Hr9TvoekdasWePy5AXk+k5anjJlip155pnWqlUrmz17tm95BBA9SuoA+CoUCtmnn37qgoFy5crl+p4uXbr48jn79+/PUv26du1aGzNmjP3+++9Z2tTlF7BFpuFRQFiiRIlw27qXX37Zbr/9dtcOcOHChS7IK1WqlN144415pq02hPqb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m9/mzp1rRx55pMuz3+699153o/HQQw+584DftD9626VUqVK+7idjx461UaNG2UsvvWStWrXydT/UNlG+jz76aPObptvUNUO/qZdnP/b5p59+2u3jq1evtosuusidBxo0aOBbvidNmuRqX4YMGeLy7Of2Hjt2rJuh6scff7SzzjrLOnXqFJ65qrCeeeYZy8jIcIUBut7p3FumTBnzjcapw/+88cYboVNPPTU0e/bs0PTp00Pjxo0LNW/ePPToo48WOu0DBw6ENm3aFGrXrl1o4sSJoT179oT8MmXKlFD79u1DCxcuDH311VehqVOnuny/++67vqT//PPPh0455ZTQl19+GZo2bVrooosuCk2aNMmXtHfs2BE688wzQ127dg2NHDkytH37dvd6ZmZmodO+//77QyeeeGJo1apVIb+9/fbbbl+ZN29e6K233gp98MEHvqU9YsSIUJs2bUI///xz6J577gndfvvtbv/Rww8vvviiy/ucOXNCL7/8svs9n376aV/S1r6ntD///PPQjBkzXLpNmjQJPfHEEyE/PfTQQ6E//vGPodatW4f69esXmjBhQviY8mM7RR47fuyLkR5++GG3v7dt2zZ0ySWXhO677z7fzgePPPJIqFu3bqFWrVqF+vbtG1q2bJkv30HbdPny5aGGDRu68+G6detCftI+37Jly9C3334biocHHnggdM4557jt0qdPn9DXX3/tW9r6/Vq0aOGO2eeeey7kJ21r/Z46j2k/935Pv9LWsa/98Oqrrw6NGTPGl2PomWeeCZ100kmhF154IfT3v/89dOWVV4Z69+4d+ve//+1b3t98881QgwYN3Gf5eZyOGzfOXet0Pn/qqadCAwcOdMfRjz/+WOi0dQ7UdtG1U+lqu+uY8hMlddmoFOqEE06wU045JVxMqru6gQMH2u7du23w4MEFTlt3ElWrVrXKlSu70kDdDf35z392d4x+VFko4lfeRSUXM2fOdKUl55xzji/Vuir5U8mlHvPnz7eFCxfascce60oYCnoXo22g71+rVi1XHK1qY93hXXXVVW47qehe6Re0FEclrl26dAnf4Sq9zz77zH2uZiFp3bq1FaY0RHeeLVu2DN+ZqxRW1S/Ku7ZNQauKdRc6bdo0V4qjfeY///mPr6VFukvs1q2bnXTSSe6hZZVM687U+z0Kavny5dauXTv3EJUwaJ7mkSNHuvmWr7322kLnX/v266+/bo888ogr0dE0gbNmzXL7u0p5VApe0NIG745fx/q///1ve+CBB3wtCVC+9Rg3bpzbT7SPvvnmm+6h0tLCfI5KibTf6PyiEt4BAwbY1KlT7Y477ginWdD0tS11LjzuuONs+vTpbhtrqkY/SuxUCzB58mR7++238yyNKsx20axD2r4qgdH+rX20RYsWvqSvZh1K+4033nD7pY4lKcy5y6PfTqX1OnYOPfRQu/nmm+0f//iHDR06tND5Vn6VvkrVdQyplkfnGZ3rdQ5S6VFBj6HvvvvO1RJ503bquJwxY4YNGzbMXVPPPvtsKyzlWb+lakvUhGTQoEGFPk517lZetZ1VOieqibnzzjvd73rUUUcVOL9qXqTSP9XA6Purpku1U/o8fRcdTzofFBZB3X95O4J2EhVFe3RQ6scdM2aMXX/99VaxYkXr379/gT7DO8D1w9WuXdvtjHv27LF+/foVOLDz8r1p0yZ3sHgOP/xwO+aYY2z27NluR9XFtKDp6+SkYm4FQaJlXYhUxfvll1/atm3b7PLLL7dbb7015vR1wlDetI2Vjrbv+++/77bVX//6V7fDFzTw0ja49NJLXRWj2uwpyOjbt6+rblC1l9pM6MC65ZZbCrTN9axqUf1f20TbQMu//PKL+x6qboy1+ls3Djp5v/baa+GqCl3odfLVBUMBamEoz3qoXaS2u9euQycu7Yu6qFavXt169uwZc9697aLvH3kMqcpbF1Dt96ry1W+ufb4wlH7z5s3t5JNPdssNGzZ0F6Tnn3/eHZ86XnWSLMgJXhcy7X/a/gpedFwpePQrsNONo/Z37wbs/PPPt/fee8/lX791YdJXUK6qLm+76EZMVY7vvPOO+121zfS7F6Z6Tc0LdEOn4FH7jPKs85kn1m20du1ad6OlAMC7aCp/CtK1L+k1bavC5FvHu4JR5V3n2saNG7sbMH220q5Ro4a78Yg17wqIvKYdCkarVKliL7zwgrtWKM3C0o2pLvynnnqqW9bNrn7Pr776yt2465gqaLW90tYNnXfzpe2jc7xuisQL7GJNW+cU3SBGfn8d/zofa9vrWNI5wftOhelApuY/mh5U1x7tFwMHDizUcaprpYLayEKKDh06WLVq1VzQq/8XNG2d21Xt6rVH1zlMhRgvv/yyC9q1b+oYOOOMM6wwCOr+y/uRtEF1l6u7Rl3wvYb7ahOkO3a1+dDdakFKv7QzqH2Bggk1gNdJRRcgfbbq1gsS2Hn57tq1q2vPobYXKtnRga5SnsJS+jrZ3XTTTfbtt9+61/SsNoGad1frlyxZ4gIjHcQKbGLhHSD6DO3wupPW9lYwqgBGJ3X9X79DrCdzXQQ6d+7sShV1V6pSl0qVKrk2dvoMfZ4CRx2wvXv3jmmbiA5wndR14VepiB7ad5RnBaM6eSm4i6U9pgKRa665JnyiFgXPOnnpJKZtUpgLsvKuh04e2r+1DRTk6sKpEgfd8Srv+l7aVgo4YklbzjvvPLdfv/XWW+7/oouPTuK6iCjg0kVVx1RB6YSo/S7ytz7zzDPdxeKpp55yd9b6PgW5mfFuvvR9lH+1IfMCRT8CO21jtU31KM8qZVcpmy4qOhYK+vtm78SkbaGAS/u+StR0jCqwLkh7Xq/kSb+dSqd13Nx1110uv7qw6qL3hz/8IebzmPKn85f2F+2PSl83Y9rOCmC0b+qzdGwVtB2ytolqM7y86YZL6esCroupji+1641lf9Fvpe2h4FYBkdLT9UPnmm+++cZt68K2TdOxqdIdnV/1ec8995wLpBVI6kZGQboCmoLs5zpPqUTNowBO50vdQCrg07VOj2h/z2XLlrnvquuPaqB0fVCJlGoxRL+jtruCG5U21qlTJ6aSL/1WXuCta7BuflVrpG2uEkC1rZOCBHZKW7+l0tRNiraL2kkryNVn6vyl7S+xHvte2vqNVPqv7aljSTfpCsxViq4bPZ1ndM3QdUS/a4H5WpkbEKrvVvsFtZnyqH3Bzp07XdsJtf0oaP39rl27Qk8++WRozZo1blmfoXYBasuwd+/eQuV7/fr1oX379oXbQqiN0Z/+9KcsbXXU5s4P+h6R1G7q+uuvD+3evbtA2+WXX34JXXrppeHl888/37V9GTJkSDj/BW0vsWLFitBZZ53lflO1k4w0fvx415bk999/L1D6an9x3nnnuTYXjz32WPh17SsPPvhg6KabbirwNon0/vvvhxo3buzb7yeLFy92bTsvu+wy1yYzMu9q26g2H9r2seZd+/GoUaNcGyP9ftouamukNnBy6623Fqjdkb771q1b3f9/++03t4/ce++9WfKn/f+dd95xbaZee+21mNPftm2b+/+GDRtCvXr1Cn322WehRYsWhU4++eRQ//79w++NdZtE5l1tMLUNItvSvPLKK66tjb5X9rZMB/usyLS///579/2984HaY+pc8+uvv4b++c9/hi6//HL32xZkm3hmzZoVuvDCC8NtkNUeVseA2jfqc2JJe8uWLeFltRtVWqNHjw4NGjTI5V/nhQ8//NDlW23iYtnukdtl8+bNrl2a9ku1CdZvqfQ3btzo2gsr/ci2WQezYMGC0P79+8PLkb/ZNddc49qPFVRkvleuXOm2q/aN008/PdSzZ0/Xtkt51zlX+dYxXJC09R20TbS9I8+VF198cWjy5MnuGPLawB1su6ttntqI6vfr0qVLaNiwYa7d6A033BBaunRplveqXbba8Wk/ilb29HW+Ults5TfyuG/atGn4PBNNvrOnreulzlk6DvX7etdktWW87bbbsvxdNG1KI9PWs7aJR9cFr/246HygfUf7Z2HQ7zoXqnpSiZOKoVUdJboD0R21InlVPRS0m7buNFX1pLtTpaE7VFXDqpRNvWIiq1Bj5VUheHeGqgpUiYY3RIjarehOqTBDb3hpZb9j1l2IqoB1R1KQ7aK7F90ZqfRSJSwqzVTVke4YVQ2g9ggFLR1RNbTu5FRqphKGSLo71d2w8l+Q9LU9VVSvfUJ30B7tK6qKUc/Sgm6TSCoBURs4Ve2oNMYPKp1QFatKRiKHNFHedYda0Lzrt9Q+rt9R1fYqYVTJoO6gvfWqEo9ln9N3Vpqqlta+oDYoF198sWsbpePGo/1fpQ1qE6jqu1jTV/slHTMqpVS1v6rU1GtPx6dKMNVGTbySgFjTVimF0vvb3/5mdevWDb9P5wLti9r23vGr0jWVDuS1/bOnrd9Q7Ti9KnqdD9TOSOcalTSoNFDVsioNizXf2uYe5Vv5VTWb2tRpW+t30HEQzXBEkWmrVEvNLkQ1ISqBUS2GSmCUf1XZqQRWpbrKd6zb3Ntf9HuqdkWlSf/617/c76r0VQJ4ySWXuKr2yNLTaNJWVb+3XfSbaZuISvxUCqZ2drHIvs11/lY+tT3UxkvbRucblW4p73/5y19cvqM5lnLbD1Xbon1CNSE6llQ6r3OMqmNVUqpzokpfJb9zgEr29DsOHz7cVSPqnKJSV1XB6u8mTpzotrtHv632dbVzjEZk+rom61yi/+v30rld+4R33D/44IPuHKlr3cHynVveVWOjEjSdO3Tu80opta9HniP1m6iEVL9RXvtk9rSV7xdffDH8vbUNFE949PtqP9LvURgEdblQwKK2VwruVL2gnUQHr06wOuGrbYp3ABeEV1TuXRi8wE5Vj9pZChPYibeTaQfRjqnvo3RV5K1ie50oC8q74OiAjaz+0rKCmIKOvaOdW9WZaoui9l3a5iqqVnsXdUiIDJgKQtV+qibVCVHBo0dBo7ZHQbe5/lYN/3XhUZ5VFeOdRHVi13q/xiPS9tF21smssPtI5O+pk7v2DbWT9Gg/18W6oPu5TljnnnuuPfvss+6krqFePNofI4cgibWDkdqg6NhR8KIgXflWNaMXUGif1++tgDKaoWCyp6+mF8q/glCvE4ACFlVbxhrYRaatC41O6t5ruhB5edZ21m/qLeuztP9rH4o2beU7+3ESOYSP91trnz/YOJPZt4najCkQEFWb6VhXdZHyqJs5Nc/Q7zB+/HjXBCSWtHXMeG0w1fSgbdu2WaqflG8Fq9r3oxkfM7f9RdtabQ2176ntooLQyPOx9hdVgXkB5sHSVhWZtnnkdvGq7XV9UBsyteM9WHoH+z21T+hYUd61TSKrSxVwqGpT2+Vg+3n2tHW8a99QtbmaFqipjtpj6jhVACm6qdG5N5ZOejpO9H/duOjY0bVN51t9pm7YPdp+0XawiUxfeVJ7VH1vtSv0vpu3/Tt37uwCKHW2Gz16dMx51/Al2s66SRfv/KfP8K7bCn6VvqpN1TQmr8Axt7S1X6g5kEf7R2QhiwoeIm/2CoI2dXlQSYUu1hq7R5G2Tjw6ueiEpYt3QTseRFJ6XsN17fwKGnW3qjudwgReHh3AKtFQTynlXyc3P8aV89oGqt2ETrYKyHSSVHuPwoy9pztp3XXqbsxreK0LqErtdBLw4zfViVslgLowaduo7Yt+z8KMX6e7fR3gChjVjkQ9V7Ud1B5Id/N+jUeoE5bG9NP+qO3jtVUpLJ0kdcLVnWejRo1cQKNl5b2w+7kuproh0sVCJz+lp5OatlFBOxip3YkupEpTDccVNKqhvS5KagOkC5x+V5XO6PNjTV+BgI5F3djppO3xAjsFezpGtX0OVhKQW96Vti6m2i+8mySvnY2W9Rn6Tjpe87vw5dXxyktbdMHQtjj99NNdgKBtr4DsYO2k8kpbx7yOI+3z1113nTs/6mZUpQza3gpaD9YJJre09XsqoNM+rcBQ+Vfw6bUL1gVc58Ro9sfctrlKWW688UbX7krrlZ5KdVSSqc/WcRVN+tFsc50PFYTpNbV7UwlNNO27csu30ta+pm2ui73yrdqjP/3pT+69KgX3amhi3ceVtm6i1dbV67QQWRqlgE77Sl55z6uTnv5Gn6HgWQGizifq/KbjSaWA2v+1H3o3R352AixRooSr1VAhht5T2LQjj099D+2bEyZMcMF8XuORRpu26EZIveAV7On3UOm82tYWSqEqb4uJ1atXu3YdM2fODP3000++p696f6/uX3X5flGbCbXXUzsDv8d+UhsSjXGmNmkal8yPMXy8dgaRn+E3tRHT+GNqG6m8q82Kn7777jvXPkrjs/m5r0S2DVF7LL/H3dN+p3Z7d911V1y2yzfffOPGT1M7oFjHZdJ31/517rnnujZQOha1X6ttqqhtjba32sCp7Z7ad6kN0pIlSwqVvtq5Zm87KtrvO3fu7MYQ9CtttaPp0KFDaPjw4e54VXtHP9KeP39+eMw6tfOKdrscbJurnaHaXGVvLxXZRqggaXvHv7at2otpvDC1M9J4XoX9PdWeTtSmTJ+l/UT7i9p3qc1kNOfIaLa5d6x67aXVlrEw+fbavKm9oo597ecdO3YMXXfddW7MU51zCpO22hN7x5Hawqnt3oABA9z4jxkZGQdNW2lpW6qdn9fOUMe52r5553C1y9T5RenrPBDLOSCv9NVGLbK9eEHaLX94kLS9NNXeUttL421Gc2weLG2vrZ6u0dov1R596NChrk1sYRHUJQlv5/FzkFOvY4fXmBSpLR5BbqrIq4ORXos8Zj766KPQ3LlzQ2vXrvUl/bwCu9xeK0ja3gVVQbRe0+C7CoALm7Yu1rqQKEjS8a+G7wouYrnRyG+b66KU2wU12vNXfttE6ercpeBZFzzdNP7www9R5zu/9L3ATvlXcKcBbPU53vsKm/fs+4U6q8USwBws3wqalV81wNfNYyzbJb98e525NDi+BtxV2rHc2OXVSS/yJj3W37CoOgGuzydtb3/WoMHqUBfrDWk0+fb7+kxQF3DaoYAg8E6E3l1vZJDhBUfxSD+vwM6vtLVOpSQqJS3ICT6/7VLYWSrySltBY7y2ifLtx3krv/Tj+Xsm83bJL+3IAKywFISqNNHbFiqd0+eoN7MfN6fZ01eQ66WfWciCkexpK6DTLCp+BF/5bRe/CnRoUxdw0bQpAlJBbh2MRD1J1UZF7YMK034xv/TV7koNygs6R2N+aauTgHpM3n333QUa0yy/tNVOR/ku6HaJJu14bBOvvVdh2romartoXynMvhjP7RLvbe61J8veSU9tLQvbSS+/9P3oBBjKI221b1Xa+bXRS/R2yf5hAJBSItuhajw6jUGou91USJ+0izbteKdP2lnT9MZ67d69uxtHMto2oolOPzNF084uTf/4FyICQNHwTl26A1YPW28au1RIn7SLNu14p0/aWWlIEPUAVq9RjdemsTD9FM/0F6Zo2h6COgApK3Ie3sIO8FzU6ZN20aYd7/RJ+380NIqGZNEgxoWptkxE+rtSNG0PQR0AAPCVBl2PZ5vueKa/P0XTFoI6AACAAGCaMAAAgAAgqAMAAAgAgjoAAIAAIKgDAAAIAII6AACAACCoAwAACACCOgApr2PHjvb666/neF2vaV1R+uWXX6xHjx62b98+++KLL6xBgwa5vq93795u/kfRe/J6ROZf83OOHj3aOnfubCeccIKdffbZNmrUKDffqGfgwIE2e/bsIvimAJINs70DgI8eeughu+yyy9xUQNH69NNPw/+/4YYbrGXLlta3b1+3rAnAZe/evdanTx83Kv3gwYOtfv36tmLFChs+fLgtWbLEnnrqqfDfX3fddTZ9+vTwBO4AigeCOgDwyZo1a+yjjz6yoUOHxvR31apVC/9fwWD58uWzvCYTJ0601atX28yZM61y5crutTp16tgRRxxh3bt3d6Vzp556qtWtW9dq1arl3qfXARQfVL8CKDbWr19vN910k7Vt29batWtnw4YNcyVgeVXVRlaR/u1vf3OP8847z04++WT74YcfcqSvSbpPO+20uJSQvfHGG65a1wvoPA0bNrRJkyZZixYtwq/pe0yZMsX3PABIbgR1AIoFBW9//vOfXfXliy++aI8//rj9+9//tpEjR0adxptvvmk333yzPf3003b00UfnWD9r1iw75ZRTfM75/08E/uOPP1qzZs1yXd+mTRs75JBDwssqsVu4cKFt377d97wASF5UvwIIhLvvvtvuu+++HJNne9WYCrg2bNhgr7zyilWqVMm9dtddd7n2Z3/961+j+gwFVXl1vNBnLV261LV185sXnB166KFRvV/Vspo0/LvvvnMlkgCKB4I6AIFw44032h/+8Icsr33wwQf28ssvu/+rU4FK17yATlq1auWCsZ9++imqz6hdu3ae67Zt22aZmZl22GGHhV9TYCV6PT09a8WIXvPWH4xX5arPiIY+S99TPXEBFB9UvwIIhCpVqrhOApEPveYpU6ZMjr85cOBA+DktLS3HegV8kXJLw+P9vYI1T8WKFd3zb7/9lmvpm7f+YPS5xx13nH377be5rh8yZIjNmDEjy2u5BZIAgo0jHkCxUK9ePde5YevWreHXFixY4ErLjjrqKNfr9Pfffw+vC4VCrjdrtFSapuFHfv311/BrCizLli3rPid7QLdq1Spr1KhR1Omrg4Y6c2RvJ5eRkeE6UURWzSqgU6le1apVo04fQOojqANQLKjzgNqaDRo0yLV9+/zzz10bvK5du7oSs6ZNm7qAT50oNHTIiBEjoq7uFJWKqSeq0vaoF+yFF15o9957r33yySe2du1amzt3rg0YMMB9nsaji5bGqFP7QPXIVVrK47vvvmvXXnuta+d3+umnh9+rqmZRfgAUH7SpA1AsqBRt7NixLpBToKXeon/605/slltucevV3u7222+3cePGuZ6xGj5EMzfEon379jZ//nw3+LBHaap9m4ZP0ZAq+v8ZZ5xht912W65VvnlRid8LL7xgY8aMcUHi5s2brWbNmnbBBRfYVVddlSWtefPmuYCxQoUKMeUfQGpLC6mOAQBQaOpwoWBQPW3LlSuXsHyoNE/BXrdu3RKWBwBFj+pXAPCJ2uZ16NDB3n777YTlQVWvP//8s3Xp0iVheQCQGAR1AOAjVbdOnjw5PFNFUVP1rMbfi2XuWQDBQPUrAABAAFBSBwAAEAAEdQAAAAFAUAcAABAABHUAAAABQFAHAAAQAAR1AAAAAUBQBwAAEAAEdQAAAAFAUAcAAGCp7/8AtNMYfpu47UgAAAAASUVORK5CYII=" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 27 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-10T19:11:22.902146Z", + "start_time": "2025-07-10T19:11:22.840515Z" } }, "cell_type": "code", @@ -420,13 +496,13 @@ "output_type": "display_data" } ], - "execution_count": 15 + "execution_count": 9 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:40.535630Z", - "start_time": "2025-07-03T20:53:40.487701Z" + "end_time": "2025-07-10T19:11:22.956832Z", + "start_time": "2025-07-10T19:11:22.911068Z" } }, "cell_type": "code", @@ -451,13 +527,13 @@ "output_type": "display_data" } ], - "execution_count": 16 + "execution_count": 10 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:40.597265Z", - "start_time": "2025-07-03T20:53:40.546131Z" + "end_time": "2025-07-10T19:11:23.019072Z", + "start_time": "2025-07-10T19:11:22.965897Z" } }, "cell_type": "code", @@ -482,13 +558,13 @@ "output_type": "display_data" } ], - "execution_count": 17 + "execution_count": 11 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-03T20:53:40.665510Z", - "start_time": "2025-07-03T20:53:40.607960Z" + "end_time": "2025-07-10T19:11:23.096150Z", + "start_time": "2025-07-10T19:11:23.032486Z" } }, "cell_type": "code", @@ -514,7 +590,7 @@ "output_type": "display_data" } ], - "execution_count": 18 + "execution_count": 12 } ], "metadata": { From 011f97196e35eda4c585db583744d5664b5a73b8 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 10 Jul 2025 15:41:34 -0400 Subject: [PATCH 08/12] Added the frequency distribution of CURIE counts grouped by hour. --- log-analysis/NodeNorm_log_analysis.ipynb | 69 ++++++++++++++++++++---- 1 file changed, 59 insertions(+), 10 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index a8068d6..c700a97 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -298,8 +298,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-07-10T19:11:22.141177Z", - "start_time": "2025-07-10T19:11:21.954485Z" + "end_time": "2025-07-10T19:29:21.432135Z", + "start_time": "2025-07-10T19:29:21.277505Z" } }, "cell_type": "code", @@ -312,7 +312,8 @@ "print(f\"Total number of requests: {count_requests}\")\n", "print(f\"Total number of CURIEs: {sum(map(lambda x: x.curie_count, logs))}\")\n", "print(f\"Total time taken: {sum(map(lambda x: x.time_taken_ms, logs))} ms\")\n", - "print(f\"Average time per CURIE: {sum(map(lambda x: x.time_taken_ms, logs))/count_requests} ms\")\n", + "print(f\"Average time per request: {sum(map(lambda x: x.time_taken_ms, logs))/count_requests} ms\")\n", + "print(f\"Average time per CURIE: {sum(map(lambda x: x.time_taken_per_curie_ms, logs))/count_requests} ms\")\n", "print(f\"Total number of unique CURIEs: {len(unique_curies)}\")" ], "id": "702b88dac738feb0", @@ -325,18 +326,19 @@ "Total number of requests: 19043\n", "Total number of CURIEs: 2176206\n", "Total time taken: 6709482.9 ms\n", - "Average time per CURIE: 352.33329307357036 ms\n", + "Average time per request: 352.33329307357036 ms\n", + "Average time per CURIE: 5.6768893532676605 ms\n", "Total number of unique CURIEs: 233697\n" ] } ], - "execution_count": 6 + "execution_count": 32 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-07-10T19:11:22.680550Z", - "start_time": "2025-07-10T19:11:22.149216Z" + "end_time": "2025-07-10T19:30:42.851646Z", + "start_time": "2025-07-10T19:30:42.285485Z" } }, "cell_type": "code", @@ -351,11 +353,20 @@ "# Convert to DataFrame\n", "df = pd.DataFrame([asdict(r) for r in logs])\n", "df['time'] = pd.to_datetime(df['time'])\n", - "df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000" + "df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\n", + "print(f\"Throughput: {df['throughput_cps'].mean()} CURIES per second\")" ], "id": "95e54a3b26740479", - "outputs": [], - "execution_count": 7 + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Throughput: 454.24311040513027 CURIES per second\n" + ] + } + ], + "execution_count": 35 }, { "metadata": { @@ -391,6 +402,44 @@ ], "execution_count": 8 }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-10T19:41:24.179870Z", + "start_time": "2025-07-10T19:41:24.094305Z" + } + }, + "cell_type": "code", + "source": [ + "# Plot the frequency distribution of CURIE counts grouped by hour.\n", + "curies_per_hour = df.set_index('time').resample('h')['curie_count'].sum()\n", + "sns.histplot(curies_per_hour, bins=10) # stat='percent'\n", + "plt.title(\"CURIEs per Hour\")\n", + "plt.xlabel(\"Number of CURIEs\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.xticks(rotation=45)\n", + "plt.tight_layout()\n", + "plt.title(\"CURIEs per hour\")\n", + "plt.xlabel(\"Number of CURIEs\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.xticks(rotation=45)\n", + "plt.tight_layout()" + ], + "id": "a6ad5a37dd6128f5", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUEhJREFUeJzt3Qd4FOX6/vEnhpYYkc4RROwISG82FBGPiBxFLNjwWAGlqHh+KKKCShFUbKCIvYKCYEXFhqIiCAhEEQSxoICCiogJQZL9X/fLf9ZsEkoy2ezu7PdzkStsSXby7uzuPc9bJiUUCoUMAAAACW+PWG8AAAAASgfBDgAAICAIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACgmAHAAAQEAQ7AACAgCDYAQAABES5WG8AgGDLzMy0p556yj777DP77bffrFatWnbkkUdar169rF69euH79ezZ031/+umni/w9HTt2tLZt29rtt98evv+8efMi7pOSkmLp6em2//7723//+1877bTTwrddf/317v7vvfeeuzx37ly78MILd7rtDz/8sB177LGWKHbVhgCCj2AHIGqeffZZGzlypLVr186uvfZaF+q+//57e/TRR23mzJn25JNP2mGHHVbi39+oUSMbOnRo+HJubq6tW7fOnnjiCRs0aJBVqVLFjjvuuJ3+jptvvtkaN25c5G0HHXRQibcNAGKBYAcgKhYsWGAjRoyw888/34YMGRK+XiGvU6dO1q1bN7vhhhts2rRpJX6MjIwMa968eaHrVWVTVVC/e1fB7uCDDy7ydwBAImKMHYCoUFVur732soEDBxa6rVq1aq5r9IQTTrCsrKxSf+yKFStahQoVXNdsacjLy7O7777bdQcffvjh7vtdd91lf//99w5/5v7773f3e//9961z587WrFkzO/vss10XcH4bN250VcOjjjrKmjRp4u4zZ86ciPs0aNDAxo0bZ927d7emTZu6/+9IKBRyXcgdOnRw9+3Ro4ctWbKkUPf4pZde6kJ2y5YtrU+fPrZixYrw7QrEeswff/wx4uf09+h5K8l2ASgbVOwAlDqFi48++sgFgbS0tCLv06VLl1J5nG3btkV0xf700082fvx4++uvvyLG2O0stOX/HR6FwtTUVPd/BaVJkybZdddd58YFLl682AW98uXL24ABA3b4uzWmUD/Tr18/22+//eyxxx5zgWrKlCnWsGFDy8nJcWMBN2zYYNdcc43rqn7xxRftsssus0ceecRVHT0TJkxw3dkHHHCA1a1bd6eV0q1bt9pNN93k/i6NSbziiivsgw8+sHLlytmnn37qfr9CnbrJtQ0PPfSQnXPOOfbCCy8Uu/t5d7cLQNkg2AEodb///rsLDPvuu29UH0cTMgqOj1MgO/TQQ+3ee++1448/fpe/46KLLiry+kMOOcRee+01939NulCl7owzznCXNYlDgVUVyZ3Jzs62YcOGuW5nOeKII1w39MSJE10wfPnll23ZsmUuUKmi53UjaxLEnXfe6UKep3Xr1nbxxRfv8u9RpVK/X+MLZdOmTXbjjTfaypUr3XhGVRrr16/v7uMF12OOOcZOPPFEu++++1y7FcfubheAskGwA1DqvMCgClppKti1qlB3yy23uP//8ssvds8997juUX0/8MADd+t36ueLmjxRqVKl8P9V3VIgOu+881wVUt2cF1xwwS5/typkXbt2jfidCm4ffvihu6wu15o1a7rHz181VCAdM2aM/fHHH7b33nu761Th2x0aM+iFOvHC9Z9//um6vdUNqwqi9xxJ5cqV3WOqqldcu7tdAMoGwQ5AqVMY2XPPPW3NmjU7vI9ChkKYF1y0TInGm+2IuhcLduvqMTQuzaOq16mnnmqXXHKJGyemsXy7oi7E/L+jKOq61GOpgqZK2h133OEqeqqEqQq3IzVq1HDhLr/q1auH/059X79+/Q5n5eq2/O2zOwreb4899gh3OSvcqfta21XUtur24trd7QJQNpg8ASAq1L2niQLqki2Kuh8Vir788stwsFDVbUehTuPVigok+el2TURYu3atm5FbWhSONLtXYfHjjz+2UaNGuW3q37+/+74jRQVVjadTuBN15WrNvalTpxb5Vdpd2Xo8VT21DUWFSK/S51VGFQbz07hFAPGNYAcgKlQ1U7BRt2hRIUITCdRt6FWrNG5NFb5FixYVuv8777zjunV3Vh3zaAZq+/bt3fi4ggsYl5QmFgwfPtz9X6FMs0AV9DR+bfPmzTv8uS1bttjs2bMjLqsb1psUob9ZIVS/U1VD70vhUZMn8neXlgZV1zRW8I033ojoJlelbtasWdaqVavwMjKiNQE933zzzU4rqgDiA12xAKJCa8NdddVVLtgpFGgCQdWqVd2yGloKRZW8/KFPs2S1YHHv3r3dlwKfKkYLFy50IUdj1bQ0x+7Q+njqklUYmz59+k4DkiYVaHmUomj8m2Z6tmnTxgVRVQRbtGhhP//8sz3++OMumO2qu3fw4MF29dVXu/Cmv1td0JqlKgqIzzzzjJt8oCVH9tlnH/vkk0/cLFyN4dOs29KmGayamaszf2jMoLrDNZFClce+ffuGxxRqPKBm1Oo5VKVOEyvyj90DEJ8IdgCiRgFGZ4fwzkChyQAKL5p84AUZj0KMQo6Wz9ByIAoS6gLVDE4tBbI7kxU8mjihmaUKY1qmZGc/e+utt+7wNp1yTIsrK9xotqnG2GkpFXVpahKFQtKuaFas/nZ1JSuYanv0N3kVNLWNJmZo3J4qZwqS+r2qeEaDqoUKpWpfrTGov0szW0ePHu3GDXqTKbQOn7ZLYU/bpAkXL730UlS2CUDpSQlpJC0AoFQpGGnB3uXLl8d6UwAkEcbYAQAABATBDgAAICDoigUAAAgIKnYAAAABQbADAAAICIIdAABAQCTtOnZa+FQn3dY6WQVPLA4AABAvNB1CuUXnnvbO/7wjSRvsFOoyMzNjvRkAAAC7Racc1KLiO5O0wc5LvGqk0j4fo0fnYlR4jOZjBB1t6A/t5x9t6B9t6A/t519ugreht/27qtYldbDzul/1BEf7SS6Lxwg62tAf2s8/2tA/2tAf2s+/1ARvw90ZOsbkCQAAgIAg2AEAAAQEwQ4AACAgCHYAAAABQbADAAAICIIdAABAQBDsAAAAAoJgBwAAEBAEOwAAgIAg2AEAAAQEwQ4AACAgCHYAAAABQbADAAAICIJdlJUvXz7WmwAAAJIEwS7KGjVubKmpqRYEeXmhWG8CAADYiXI7uxH+lUtNtfvfXWE/bcy2RFa3apr173hIrDcDAADsBMGuDCjUfffrX7HeDAAAEHB0xQIAAAQEwQ4AACAgCHYAAAABQbADAAAICIIdAABAQBDsAAAAAiIugt3WrVuta9euNnfu3PB1a9asscsvv9yaNWtmJ554os2YMSPiZ1577TXr1KmTu71v377222+/xWDLAQAA4kfMg11OTo4NHDjQVqxYEb5u27Zt1rt3bytXrpxNnz7dLr30Uhs0aJB9/fXX7vYlS5bYkCFDrF+/fvb888/bpk2bbPDgwTH8KwAAAJJ8geKVK1fatddea6FQ5KmqPvjgA1u7dq1NmjTJMjIy7MADD7QPP/zQPv/8czv00EPtmWeesZNPPtm6devm7j9mzBg7/vjjbfXq1VavXr0Y/TUAAABJXLGbN2+etWvXzlXdCl5/5JFHulDneeCBB6xHjx7u/4sXL7bWrVuHb9tnn32sTp067noAAIBkFdOK3XnnnVfk9aq81a1b1+688057+eWXrWrVqjZgwAA3pk5++eUXq1WrVsTPVK9e3datW1cm2w0AABCP4vJcsVlZWW5sXZcuXWzChAluUoWCnSp7TZo0sS1btliFChUifkaXNQmjuHJzcy1a8vLyLDU11SwU0r9AiGZ77ezxyvpxg4L284829I829If28y83wduwONsdl8FOYahKlSo2bNgw22OPPaxx48Y2f/58e+GFF1ywq1ixYqEQp8tpaWnFfqzMzEyLFm1Po0aNLCs72zZv3myJLCs9xX1fvny5ZWdnl/njR/N5Sga0n3+0oX+0oT+0n3+ZSdCGcRns1M2akpLiQp3ngAMOcKFCateubRs2bIj4GV2uWbNmsR9LQdFV1aJUsZP0tDTLyEjskl16err73qBBgzI/StELMZrPU5DRfv7Rhv7Rhv7Qfv7lJngbetufsMFOa9M9+OCD7g/xnoBvvvnGjbvzbl+wYIF1797dXdYMWn3p+uLS74/6k5ySon+BEKsXRJk8TwFG+/lHG/pHG/pD+/mXDG0Y83XsiqLFilXtuuWWW+z777+3Z5991mbPnm1nn322u/3cc891kyqmTJliy5Ytc2vcdejQgaVOAABAUovLYKdlTh5//HFbtWqVC3lPPfWU3X333W6snbRo0cJuvfVWGz9+vAt5e++9t40aNSrWmw0AABBTcdMV642f8xx88MFuIeIdUTes1xULAACAOK3YAQAAoPgIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACgmAHAAAQEAQ7AACAgCDYAQAABATBDgAAICAIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACgmAHAAAQEAQ7AACAgCDYAQAABATBDgAAICAIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACgmAHAAAQEAQ7AACAgCDYAQAABATBDgAAICAIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACIi6C3datW61r1642d+7cQrf9+eef1r59e5s2bVrE9a+99pp16tTJmjVrZn379rXffvutDLcY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uNT1ul3323fffd0MWwAAgGRVomCnWa+dO3cudP3JJ59cqAu1JFQmfeCBB9zsVy1C/Morr7jJGXXq1HG3K8Tdf//9bl07hT2Nx9PtKUHp7wQAACiBEo2xO/DAA+2NN95wCwfn995779l+++1Xkl/pZlvmV79+fXvmmWd2eH+to6cvAAAA+Ah2V199tTuFl85AoYWBvWA2f/58V0kDAABAgnTFHnvssTZ9+nS3RtuqVavcKcEOO+wwe/3116miAQAAJNqZJ3SO1uuvv750twYAAABlG+y0ft1jjz3mFsvbtm2bhQqcL0tLnwAAACABgt2gQYNcqPvPf/5jGRkZpb9VAAAAKLYSn3lCM1abNm1akh8HAABAvEye0Cm99tijRD8KAACAeOuKHTZsmDvzhNabK1++fMTt3kLCAAAAiPNg179/f/e9V69e7rt3xgdNotD/v/rqq9LcRgAAAEQr2L377rsl+TEAAABEUYkGytWtW9d9ZWVl2dKlS61q1aqWl5fnumB1PQAAABKkYvfHH3/YVVddZfPmzXOX33rrLRsxYoStXr3aJk6cSLgDAABIlIrd8OHDLS0tzT799FOrWLGiu27kyJH2r3/9y90GAACABAl2s2fPtoEDB1rlypXD11WrVs0GDx5sn332WWluHwAAAHZTiRejy8nJKXTdb7/9ZuXKlfj0swAAACjrYNe1a1c3pm7FihVueRNNolC37E033WRdunTxsz0AAAAo6wWKx44da927d7e///7bTjvtNEtNTbWzzjrL3QYAAIAECXYVKlSw66+/3q6++mo3EzY3N9fq1atne+65Z+lvIQAAAKIX7IqaIKH17Dxt2rQpya8FAABAWQe7nj177rCSV7NmTc5MAQAAkCjBbtmyZRGX1RX7ww8/2G233Wb/+c9/SmvbAAAAUBbLneSniRMHHHCAG3d37733lsavBAAAQCyCnefXX3+1TZs2leavBAAAQDS7YnWGiYL++usv++STT6xz584l+ZUAAADwqdROE1GlShW77rrr3Jp2AAAASJBgN2rUqNLfEgAAAJR9sBs3btxu37dfv34leQgAAACURbD7/vvv7c0333Tdr4cffrhbv05LoGjJk+bNm1u5ctt/rc4jCwAAgDg/pZjWq7vlllusfPny4etHjx5tf/zxh40cObJUNm7t2rU2bNgwd6YLhcgLL7zQLrroovCZLoYOHWpff/21HXzwwW5bFDIBAACSVYmWO5kxY4ZddtllEaFOzj77bHdbadG5aNPT023atGl2ww032D333GNvv/22ZWVlWa9evax169buthYtWljv3r3d9QAAAMmqRMGudu3aNnv27ELXv/XWW1avXr3S2C5X+Vu0aJFdccUVtv/++1unTp2sffv2NmfOHBceK1asaIMGDbKDDjrIhgwZYnvuuafrHgYAAEhWJeqKvfbaa101bdasWXbYYYe56zIzM1336IQJE0plwypVqmRpaWmuIqfHW716tS1cuNA97uLFi61Vq1bhMXz63rJlSxcEu3fvXiqPDwAAkBQVuxNPPNEFrkMPPdS++eYb++mnn6xt27auYqfvpUEVuZtvvtmef/55a9asmZ188sl27LHH2llnnWXr16+3WrVqRdy/evXqtm7dulJ5bAAAgKRaoLhBgwbuDBTqMs3IyLA99tij1GfBKjQef/zxdvHFF9uKFSvstttusyOPPNKys7PdBI78dHnr1q3Ffozc3FyLlry8PHceXQuF9C8QotleO3u8sn7coKD9/KMN/aMN/aH9/MtN8DYsznaXKNiFQiHX5frEE0/Yn3/+6Sp19957r5vocOONNxYKXSWhsXRTp061Dz74wHXLNmnSxH7++Wd78MEH3Ti+giFOl3W/4lIXcrSoK7lRo0aWlZ1tmzdvtkSWlb49tC9fvtwF67IWzecpGdB+/tGG/tGG/tB+/mUmQRuWKNiNHz/eXn/9dbv99tvtmmuucdedfvrprut0zJgxLtz59cUXX1j9+vUjwppCkgKlZsNu2LAh4v66XLB7dncoMLqqWpQqdpKelmYZGYldslNo9yq1ZX2UohdiNJ+nIKP9/KMN/aMN/aH9/MtN8Db0tj9qwW769Oku1LVp0ybc/Xr00Ue7deyuuuqqUgl2CmlaCFmVOK8CuGrVKtt3333dmLuHH37YVQ71+PquiRV9+vQp9uPoCY76k5ySon+BEKsXRJk8TwFG+/lHG/pHG/pD+/mXmgRtWKLJE7/++muR1bHKlSuX2lpyHTt2dOvkKSR+++239t5777lqXc+ePa1z5862adMmGzFihK1cudJ9V/egJlgAAAAkqxIFuyOOOMIeffTRiOs0hmzs2LHWrl27Utmwvfbay43h0wzYM88800aNGuXWtOvRo4ebrPHQQw/ZggUL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bt3spZde2q2/o2Db6f9qZ+/rsMMOs7Zt29oVV1zhHsejc+Xqy5P/Zwp+/fjjj6XUGgDKAqskAigzr732mp155pl25JFHWjK477777JhjjrG+ffta9erVC93+3XffubMQtGzZ0u699153nzlz5tjQoUPtt99+s0suuaTYj3nDDTdYly5dwqdg0vk09fuuu+46e+qpp3b4czopfYsWLQpdX61atWJvA4DYIdgBKDN169Z1J0B/+eWXrUKFChZ0f/75p7Vq1cr93UW55ZZbXFVNoco7vZnOfbl161YbO3asC8GVK1cu1mPq5Og1a9YMX65du7YNGDDA/u///s9tj24vis69mf/nACQmumIBlJmrr77afv75Z3v00UeLvF3dfgW7/xR6evbsGe561P8ffPBBa9OmjR199NGu2/LNN9+0448/3lq3bm133HFHxO9csWKF695s0qSJXXrppbZmzZrwbeqe7NOnj+sqVTfmuHHjLDc3N/xY55xzjqu2KZy98sorhbY3JyfHPd5xxx3nulH1u7wuT/2+n376yVXQiupqXrdunavOXXTRRYXOWatA9/DDD1t6erqVBi9E77FHyd/yZ8yYYSeddJJrR1UE33nnnVLZNgCli2AHoMx41aMJEybY6tWrS/Q7Pv/8c/ezU6dOtVNOOcWGDRvmuhgV9jRu7JFHHrGlS5eG7z9p0iS77LLL7MUXX3Tn6VSXpOhsiv369XPdn9OnT7dRo0bZq6++6rYt/2MdfPDB9sILL7gu1YLUxfn222/b6NGjbfLkye73X3nlla4LVNv3r3/9ywU7/b+g5cuXu21QUCooLS3NhdTSOKfoDz/8YBMnTrT27dvbnnvuWaLf8euvv9qgQYOsd+/eLkSfccYZNnDgQNu4caPv7QNQuuiKBVCmVHFTNWzEiBERIWp3KQxpsoGqWT169LAnn3zS+vfv77o09aUuzFWrVlmjRo3c/c8991zr2rWr+78e84QTTrBvvvnGfvnlF1e9mzJliqtkHXjggS70DR482FXpRJU0TTyoVKlSoe34448/XJeyKmtHHHGEu+7OO++0Dh062Mcff+yCVGpqquv6LGqc2qZNm9z3HXWNlpTC5m233eb+r6BZvnx59zcrYO7M5Zdf7rY3P1UqFZRVZf37779dUFW3ssb+qbJasWLFUt12AP4R7ACUKYUHVdk0aaAk3XmqsHldlF6w2HfffcO3K4RpjJqnadOm4f/rflWqVHHBT2FFFSeFF48qbVu2bLHff/89/FhFhTpv4oPur25cj373AQcc4IKjgt3O6L5ewNvVBAVV7vRYBem6glU9VUT//e9/219//eW6sdUdrNnIVatW3eljDB8+POJvEe9vb9iwoQusF198sfv7FBTPOussV1kEEF/oigVQ5jQLVN15qqBlZ2eHry841syrOuVXVPdkUT/nKViFUhhSFUu/V1U6jdHzvjSObubMmeEq2s4qUju6TWP0igphBTVu3Nht9xdffFHotqysLBeili1b5i5rezZv3lzofkVNhlAYrV+/vqtYaqatqHtYFbdddZPr5/J/6TrRdj700EOuuqlxdu+//76dfvrp9tVXX+3y7wRQtgh2AGLif//7nwsw+SdSKHCJqk0ev+uoff311xFVNlXIVHXSl7piVS3zgoweS0uU7CwoeurVq+dC5qJFi8LXqdL3/fffu9+9K3pcTf5QV7K6l/PTeMD58+fbPvvs4y6r21Pj/QpavHhxuMt5R5MmVIlTAHviiSespFSB1DhCVT+vueYae/3119227WhtPgCxQ7ADEBPqGlS4U1ehp0aNGi4wKOxpgoTG4s2aNcvX4zz++OOuCqfql8bPafasQpwmQ2i8mJYB0UQGBambbrrJdS8WrPIVRRMR1B2p8Wxz5851v1+/S+PQFNh2h7ZnyZIldtVVV7nv3377rT322GNupq26T7UEiTdOUIsda4KIgqO2VzN4VTk7//zzd/oYCmOaZfvAAw+47ucd0ZjB9evXF/rSzF8tuaJJKPodel70nOh521moBBAbBDsAMaPAkX9RXE1iUPesQo6W1NAMTC0h4oe6NO+55x47++yzXTflyJEj3fUKbwpK6jbVbZqAoWVLNDFjd2myxVFHHeXGtSl8qXtWlbHdXaNPM26fe+45939N0lD3phZxVhtoGRSPZs6qK1QVMi3dosf69NNP3cQGTRjZFVXZVA0tuBRMfvr7FXYLfuk50Pp2Gq/31ltvuZnIWotQs2KLmikMILZSQgX7AAAAAJCQqNgBAAAEBMEOAAAgIAh2AAAAAUGwAwAACAiCHQAAQEAQ7AAAAAKCYAcAABAQBDsAAICAINgBAAAEBMEOAAAgIAh2AAAAAUGwAwAAsGD4fzj32pV7DxsOAAAAAElFTkSuQmCC" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 54 + }, { "metadata": { "ExecuteTime": { From e18713a892e4f86b4e84661ab4777cde6a3d3f98 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 10 Jul 2025 15:43:05 -0400 Subject: [PATCH 09/12] Switched to using probability. --- log-analysis/NodeNorm_log_analysis.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index c700a97..1a712d7 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -405,15 +405,15 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-07-10T19:41:24.179870Z", - "start_time": "2025-07-10T19:41:24.094305Z" + "end_time": "2025-07-10T19:43:02.317044Z", + "start_time": "2025-07-10T19:43:02.234788Z" } }, "cell_type": "code", "source": [ "# Plot the frequency distribution of CURIE counts grouped by hour.\n", "curies_per_hour = df.set_index('time').resample('h')['curie_count'].sum()\n", - "sns.histplot(curies_per_hour, bins=10) # stat='percent'\n", + "sns.histplot(curies_per_hour, bins=10, stat='percent')\n", "plt.title(\"CURIEs per Hour\")\n", "plt.xlabel(\"Number of CURIEs\")\n", "plt.ylabel(\"Frequency\")\n", @@ -432,13 +432,13 @@ "text/plain": [ "
" ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUEhJREFUeJzt3Qd4FOX6/vEnhpYYkc4RROwISG82FBGPiBxFLNjwWAGlqHh+KKKCShFUbKCIvYKCYEXFhqIiCAhEEQSxoICCiogJQZL9X/fLf9ZsEkoy2ezu7PdzkStsSXby7uzuPc9bJiUUCoUMAAAACW+PWG8AAAAASgfBDgAAICAIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACgmAHAAAQEAQ7AACAgCDYAQAABES5WG8AgGDLzMy0p556yj777DP77bffrFatWnbkkUdar169rF69euH79ezZ031/+umni/w9HTt2tLZt29rtt98evv+8efMi7pOSkmLp6em2//7723//+1877bTTwrddf/317v7vvfeeuzx37ly78MILd7rtDz/8sB177LGWKHbVhgCCj2AHIGqeffZZGzlypLVr186uvfZaF+q+//57e/TRR23mzJn25JNP2mGHHVbi39+oUSMbOnRo+HJubq6tW7fOnnjiCRs0aJBVqVLFjjvuuJ3+jptvvtkaN25c5G0HHXRQibcNAGKBYAcgKhYsWGAjRoyw888/34YMGRK+XiGvU6dO1q1bN7vhhhts2rRpJX6MjIwMa968eaHrVWVTVVC/e1fB7uCDDy7ydwBAImKMHYCoUFVur732soEDBxa6rVq1aq5r9IQTTrCsrKxSf+yKFStahQoVXNdsacjLy7O7777bdQcffvjh7vtdd91lf//99w5/5v7773f3e//9961z587WrFkzO/vss10XcH4bN250VcOjjjrKmjRp4u4zZ86ciPs0aNDAxo0bZ927d7emTZu6/+9IKBRyXcgdOnRw9+3Ro4ctWbKkUPf4pZde6kJ2y5YtrU+fPrZixYrw7QrEeswff/wx4uf09+h5K8l2ASgbVOwAlDqFi48++sgFgbS0tCLv06VLl1J5nG3btkV0xf700082fvx4++uvvyLG2O0stOX/HR6FwtTUVPd/BaVJkybZdddd58YFLl682AW98uXL24ABA3b4uzWmUD/Tr18/22+//eyxxx5zgWrKlCnWsGFDy8nJcWMBN2zYYNdcc43rqn7xxRftsssus0ceecRVHT0TJkxw3dkHHHCA1a1bd6eV0q1bt9pNN93k/i6NSbziiivsgw8+sHLlytmnn37qfr9CnbrJtQ0PPfSQnXPOOfbCCy8Uu/t5d7cLQNkg2AEodb///rsLDPvuu29UH0cTMgqOj1MgO/TQQ+3ee++1448/fpe/46KLLiry+kMOOcRee+01939NulCl7owzznCXNYlDgVUVyZ3Jzs62YcOGuW5nOeKII1w39MSJE10wfPnll23ZsmUuUKmi53UjaxLEnXfe6UKep3Xr1nbxxRfv8u9RpVK/X+MLZdOmTXbjjTfaypUr3XhGVRrr16/v7uMF12OOOcZOPPFEu++++1y7FcfubheAskGwA1DqvMCgClppKti1qlB3yy23uP//8ssvds8997juUX0/8MADd+t36ueLmjxRqVKl8P9V3VIgOu+881wVUt2cF1xwwS5/typkXbt2jfidCm4ffvihu6wu15o1a7rHz181VCAdM2aM/fHHH7b33nu761Th2x0aM+iFOvHC9Z9//um6vdUNqwqi9xxJ5cqV3WOqqldcu7tdAMoGwQ5AqVMY2XPPPW3NmjU7vI9ChkKYF1y0TInGm+2IuhcLduvqMTQuzaOq16mnnmqXXHKJGyemsXy7oi7E/L+jKOq61GOpgqZK2h133OEqeqqEqQq3IzVq1HDhLr/q1auH/059X79+/Q5n5eq2/O2zOwreb4899gh3OSvcqfta21XUtur24trd7QJQNpg8ASAq1L2niQLqki2Kuh8Vir788stwsFDVbUehTuPVigok+el2TURYu3atm5FbWhSONLtXYfHjjz+2UaNGuW3q37+/+74jRQVVjadTuBN15WrNvalTpxb5Vdpd2Xo8VT21DUWFSK/S51VGFQbz07hFAPGNYAcgKlQ1U7BRt2hRIUITCdRt6FWrNG5NFb5FixYVuv8777zjunV3Vh3zaAZq+/bt3fi4ggsYl5QmFgwfPtz9X6FMs0AV9DR+bfPmzTv8uS1bttjs2bMjLqsb1psUob9ZIVS/U1VD70vhUZMn8neXlgZV1zRW8I033ojoJlelbtasWdaqVavwMjKiNQE933zzzU4rqgDiA12xAKJCa8NdddVVLtgpFGgCQdWqVd2yGloKRZW8/KFPs2S1YHHv3r3dlwKfKkYLFy50IUdj1bQ0x+7Q+njqklUYmz59+k4DkiYVaHmUomj8m2Z6tmnTxgVRVQRbtGhhP//8sz3++OMumO2qu3fw4MF29dVXu/Cmv1td0JqlKgqIzzzzjJt8oCVH9tlnH/vkk0/cLFyN4dOs29KmGayamaszf2jMoLrDNZFClce+ffuGxxRqPKBm1Oo5VKVOEyvyj90DEJ8IdgCiRgFGZ4fwzkChyQAKL5p84AUZj0KMQo6Wz9ByIAoS6gLVDE4tBbI7kxU8mjihmaUKY1qmZGc/e+utt+7wNp1yTIsrK9xotqnG2GkpFXVpahKFQtKuaFas/nZ1JSuYanv0N3kVNLWNJmZo3J4qZwqS+r2qeEaDqoUKpWpfrTGov0szW0ePHu3GDXqTKbQOn7ZLYU/bpAkXL730UlS2CUDpSQlpJC0AoFQpGGnB3uXLl8d6UwAkEcbYAQAABATBDgAAICDoigUAAAgIKnYAAAABQbADAAAICIIdAABAQCTtOnZa+FQn3dY6WQVPLA4AABAvNB1CuUXnnvbO/7wjSRvsFOoyMzNjvRkAAAC7Racc1KLiO5O0wc5LvGqk0j4fo0fnYlR4jOZjBB1t6A/t5x9t6B9t6A/t519ugreht/27qtYldbDzul/1BEf7SS6Lxwg62tAf2s8/2tA/2tAf2s+/1ARvw90ZOsbkCQAAgIAg2AEAAAQEwQ4AACAgCHYAAAABQbADAAAICIIdAABAQBDsAAAAAoJgBwAAEBAEOwAAgIAg2AEAAAQEwQ4AACAgCHYAAAABQbADAAAICIJdlJUvXz7WmwAAAJIEwS7KGjVubKmpqRYEeXmhWG8CAADYiXI7uxH+lUtNtfvfXWE/bcy2RFa3apr173hIrDcDAADsBMGuDCjUfffrX7HeDAAAEHB0xQIAAAQEwQ4AACAgCHYAAAABQbADAAAICIIdAABAQBDsAAAAAiIugt3WrVuta9euNnfu3PB1a9asscsvv9yaNWtmJ554os2YMSPiZ1577TXr1KmTu71v377222+/xWDLAQAA4kfMg11OTo4NHDjQVqxYEb5u27Zt1rt3bytXrpxNnz7dLr30Uhs0aJB9/fXX7vYlS5bYkCFDrF+/fvb888/bpk2bbPDgwTH8KwAAAJJ8geKVK1fatddea6FQ5KmqPvjgA1u7dq1NmjTJMjIy7MADD7QPP/zQPv/8czv00EPtmWeesZNPPtm6devm7j9mzBg7/vjjbfXq1VavXr0Y/TUAAABJXLGbN2+etWvXzlXdCl5/5JFHulDneeCBB6xHjx7u/4sXL7bWrVuHb9tnn32sTp067noAAIBkFdOK3XnnnVfk9aq81a1b1+688057+eWXrWrVqjZgwAA3pk5++eUXq1WrVsTPVK9e3datW1cm2w0AABCP4vJcsVlZWW5sXZcuXWzChAluUoWCnSp7TZo0sS1btliFChUifkaXNQmjuHJzcy1a8vLyLDU11SwU0r9AiGZ77ezxyvpxg4L284829I829If28y83wduwONsdl8FOYahKlSo2bNgw22OPPaxx48Y2f/58e+GFF1ywq1ixYqEQp8tpaWnFfqzMzEyLFm1Po0aNLCs72zZv3myJLCs9xX1fvny5ZWdnl/njR/N5Sga0n3+0oX+0oT+0n3+ZSdCGcRns1M2akpLiQp3ngAMOcKFCateubRs2bIj4GV2uWbNmsR9LQdFV1aJUsZP0tDTLyEjskl16err73qBBgzI/StELMZrPU5DRfv7Rhv7Rhv7Qfv7lJngbetufsMFOa9M9+OCD7g/xnoBvvvnGjbvzbl+wYIF1797dXdYMWn3p+uLS74/6k5ySon+BEKsXRJk8TwFG+/lHG/pHG/pD+/mXDG0Y83XsiqLFilXtuuWWW+z777+3Z5991mbPnm1nn322u/3cc891kyqmTJliy5Ytc2vcdejQgaVOAABAUovLYKdlTh5//HFbtWqVC3lPPfWU3X333W6snbRo0cJuvfVWGz9+vAt5e++9t40aNSrWmw0AABBTcdMV642f8xx88MFuIeIdUTes1xULAACAOK3YAQAAoPgIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACgmAHAAAQEAQ7AACAgCDYAQAABATBDgAAICAIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACgmAHAAAQEAQ7AACAgCDYAQAABATBDgAAICAIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACgmAHAAAQEAQ7AACAgCDYAQAABATBDgAAICAIdgAAAAFBsAMAAAgIgh0AAEBAEOwAAAACIi6C3datW61r1642d+7cQrf9+eef1r59e5s2bVrE9a+99pp16tTJmjVrZn379rXffvutDLcY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uNT1ul3323fffd0MWwAAgGRVomCnWa+dO3cudP3JJ59cqAu1JFQmfeCBB9zsVy1C/Morr7jJGXXq1HG3K8Tdf//9bl07hT2Nx9PtKUHp7wQAACiBEo2xO/DAA+2NN95wCwfn995779l+++1Xkl/pZlvmV79+fXvmmWd2eH+to6cvAAAA+Ah2V199tTuFl85AoYWBvWA2f/58V0kDAABAgnTFHnvssTZ9+nS3RtuqVavcKcEOO+wwe/3116miAQAAJNqZJ3SO1uuvv750twYAAABlG+y0ft1jjz3mFsvbtm2bhQqcL0tLnwAAACABgt2gQYNcqPvPf/5jGRkZpb9VAAAAKLYSn3lCM1abNm1akh8HAABAvEye0Cm99tijRD8KAACAeOuKHTZsmDvzhNabK1++fMTt3kLCAAAAiPNg179/f/e9V69e7rt3xgdNotD/v/rqq9LcRgAAAEQr2L377rsl+TEAAABEUYkGytWtW9d9ZWVl2dKlS61q1aqWl5fnumB1PQAAABKkYvfHH3/YVVddZfPmzXOX33rrLRsxYoStXr3aJk6cSLgDAABIlIrd8OHDLS0tzT799FOrWLGiu27kyJH2r3/9y90GAACABAl2s2fPtoEDB1rlypXD11WrVs0GDx5sn332WWluHwAAAHZTiRejy8nJKXTdb7/9ZuXKlfj0swAAACjrYNe1a1c3pm7FihVueRNNolC37E033WRdunTxsz0AAAAo6wWKx44da927d7e///7bTjvtNEtNTbWzzjrL3QYAAIAECXYVKlSw66+/3q6++mo3EzY3N9fq1atne+65Z+lvIQAAAKIX7IqaIKH17Dxt2rQpya8FAABAWQe7nj177rCSV7NmTc5MAQAAkCjBbtmyZRGX1RX7ww8/2G233Wb/+c9/SmvbAAAAUBbLneSniRMHHHCAG3d37733lsavBAAAQCyCnefXX3+1TZs2leavBAAAQDS7YnWGiYL++usv++STT6xz584l+ZUAAADwqdROE1GlShW77rrr3Jp2AAAASJBgN2rUqNLfEgAAAJR9sBs3btxu37dfv34leQgAAACURbD7/vvv7c0333Tdr4cffrhbv05LoGjJk+bNm1u5ctt/rc4jCwAAgDg/pZjWq7vlllusfPny4etHjx5tf/zxh40cObJUNm7t2rU2bNgwd6YLhcgLL7zQLrroovCZLoYOHWpff/21HXzwwW5bFDIBAACSVYmWO5kxY4ZddtllEaFOzj77bHdbadG5aNPT023atGl2ww032D333GNvv/22ZWVlWa9evax169buthYtWljv3r3d9QAAAMmqRMGudu3aNnv27ELXv/XWW1avXr3S2C5X+Vu0aJFdccUVtv/++1unTp2sffv2NmfOHBceK1asaIMGDbKDDjrIhgwZYnvuuafrHgYAAEhWJeqKvfbaa101bdasWXbYYYe56zIzM1336IQJE0plwypVqmRpaWmuIqfHW716tS1cuNA97uLFi61Vq1bhMXz63rJlSxcEu3fvXiqPDwAAkBQVuxNPPNEFrkMPPdS++eYb++mnn6xt27auYqfvpUEVuZtvvtmef/55a9asmZ188sl27LHH2llnnWXr16+3WrVqRdy/evXqtm7dulJ5bAAAgKRaoLhBgwbuDBTqMs3IyLA99tij1GfBKjQef/zxdvHFF9uKFSvstttusyOPPNKys7PdBI78dHnr1q3Ffozc3FyLlry8PHceXQuF9C8QotleO3u8sn7coKD9/KMN/aMN/aH9/MtN8DYsznaXKNiFQiHX5frEE0/Yn3/+6Sp19957r5vocOONNxYKXSWhsXRTp061Dz74wHXLNmnSxH7++Wd78MEH3Ti+giFOl3W/4lIXcrSoK7lRo0aWlZ1tmzdvtkSWlb49tC9fvtwF67IWzecpGdB+/tGG/tGG/tB+/mUmQRuWKNiNHz/eXn/9dbv99tvtmmuucdedfvrprut0zJgxLtz59cUXX1j9+vUjwppCkgKlZsNu2LAh4v66XLB7dncoMLqqWpQqdpKelmYZGYldslNo9yq1ZX2UohdiNJ+nIKP9/KMN/aMN/aH9/MtN8Db0tj9qwW769Oku1LVp0ybc/Xr00Ue7deyuuuqqUgl2CmlaCFmVOK8CuGrVKtt3333dmLuHH37YVQ71+PquiRV9+vQp9uPoCY76k5ySon+BEKsXRJk8TwFG+/lHG/pHG/pD+/mXmgRtWKLJE7/++muR1bHKlSuX2lpyHTt2dOvkKSR+++239t5777lqXc+ePa1z5862adMmGzFihK1cudJ9V/egJlgAAAAkqxIFuyOOOMIeffTRiOs0hmzs2LHWrl27Utmwvfbay43h0wzYM88800aNGuXWtOvRo4ebrPHQQw/ZggUL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bt3spZde2q2/o2Db6f9qZ+/rsMMOs7Zt29oVV1zhHsejc+Xqy5P/Zwp+/fjjj6XUGgDKAqskAigzr732mp155pl25JFHWjK477777JhjjrG+ffta9erVC93+3XffubMQtGzZ0u699153nzlz5tjQoUPtt99+s0suuaTYj3nDDTdYly5dwqdg0vk09fuuu+46e+qpp3b4czopfYsWLQpdX61atWJvA4DYIdgBKDN169Z1J0B/+eWXrUKFChZ0f/75p7Vq1cr93UW55ZZbXFVNoco7vZnOfbl161YbO3asC8GVK1cu1mPq5Og1a9YMX65du7YNGDDA/u///s9tj24vis69mf/nACQmumIBlJmrr77afv75Z3v00UeLvF3dfgW7/xR6evbsGe561P8ffPBBa9OmjR199NGu2/LNN9+0448/3lq3bm133HFHxO9csWKF695s0qSJXXrppbZmzZrwbeqe7NOnj+sqVTfmuHHjLDc3N/xY55xzjqu2KZy98sorhbY3JyfHPd5xxx3nulH1u7wuT/2+n376yVXQiupqXrdunavOXXTRRYXOWatA9/DDD1t6erqVBi9E77FHyd/yZ8yYYSeddJJrR1UE33nnnVLZNgCli2AHoMx41aMJEybY6tWrS/Q7Pv/8c/ezU6dOtVNOOcWGDRvmuhgV9jRu7JFHHrGlS5eG7z9p0iS77LLL7MUXX3Tn6VSXpOhsiv369XPdn9OnT7dRo0bZq6++6rYt/2MdfPDB9sILL7gu1YLUxfn222/b6NGjbfLkye73X3nlla4LVNv3r3/9ywU7/b+g5cuXu21QUCooLS3NhdTSOKfoDz/8YBMnTrT27dvbnnvuWaLf8euvv9qgQYOsd+/eLkSfccYZNnDgQNu4caPv7QNQuuiKBVCmVHFTNWzEiBERIWp3KQxpsoGqWT169LAnn3zS+vfv77o09aUuzFWrVlmjRo3c/c8991zr2rWr+78e84QTTrBvvvnGfvnlF1e9mzJliqtkHXjggS70DR482FXpRJU0TTyoVKlSoe34448/XJeyKmtHHHGEu+7OO++0Dh062Mcff+yCVGpqquv6LGqc2qZNm9z3HXWNlpTC5m233eb+r6BZvnx59zcrYO7M5Zdf7rY3P1UqFZRVZf37779dUFW3ssb+qbJasWLFUt12AP4R7ACUKYUHVdk0aaAk3XmqsHldlF6w2HfffcO3K4RpjJqnadOm4f/rflWqVHHBT2FFFSeFF48qbVu2bLHff/89/FhFhTpv4oPur25cj373AQcc4IKjgt3O6L5ewNvVBAVV7vRYBem6glU9VUT//e9/219//eW6sdUdrNnIVatW3eljDB8+POJvEe9vb9iwoQusF198sfv7FBTPOussV1kEEF/oigVQ5jQLVN15qqBlZ2eHry841syrOuVXVPdkUT/nKViFUhhSFUu/V1U6jdHzvjSObubMmeEq2s4qUju6TWP0igphBTVu3Nht9xdffFHotqysLBeili1b5i5rezZv3lzofkVNhlAYrV+/vqtYaqatqHtYFbdddZPr5/J/6TrRdj700EOuuqlxdu+//76dfvrp9tVXX+3y7wRQtgh2AGLif//7nwsw+SdSKHCJqk0ev+uoff311xFVNlXIVHXSl7piVS3zgoweS0uU7CwoeurVq+dC5qJFi8LXqdL3/fffu9+9K3pcTf5QV7K6l/PTeMD58+fbPvvs4y6r21Pj/QpavHhxuMt5R5MmVIlTAHviiSespFSB1DhCVT+vueYae/3119227WhtPgCxQ7ADEBPqGlS4U1ehp0aNGi4wKOxpgoTG4s2aNcvX4zz++OOuCqfql8bPafasQpwmQ2i8mJYB0UQGBambbrrJdS8WrPIVRRMR1B2p8Wxz5851v1+/S+PQFNh2h7ZnyZIldtVVV7nv3377rT322GNupq26T7UEiTdOUIsda4KIgqO2VzN4VTk7//zzd/oYCmOaZfvAAw+47ucd0ZjB9evXF/rSzF8tuaJJKPodel70nOh521moBBAbBDsAMaPAkX9RXE1iUPesQo6W1NAMTC0h4oe6NO+55x47++yzXTflyJEj3fUKbwpK6jbVbZqAoWVLNDFjd2myxVFHHeXGtSl8qXtWlbHdXaNPM26fe+45939N0lD3phZxVhtoGRSPZs6qK1QVMi3dosf69NNP3cQGTRjZFVXZVA0tuBRMfvr7FXYLfuk50Pp2Gq/31ltvuZnIWotQs2KLmikMILZSQgX7AAAAAJCQqNgBAAAEBMEOAAAgIAh2AAAAAUGwAwAACAiCHQAAQEAQ7AAAAAKCYAcAABAQBDsAAICAINgBAAAEBMEOAAAgIAh2AAAAAUGwAwAAsGD4fzj32pV7DxsOAAAAAElFTkSuQmCC" + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAARadJREFUeJzt3QmcjWX/x/GfxjZMPZZQhJSSfRcqooWkjaTN86QFFZKKRFJZ0qJNWdpL8cjSinYltCBb4rGUlCUqSWQZ5//6Xv73acYMZjkz58x1Pu+XeY05c+ace665z32+9+9a7nyhUChkAAAAyPOOiPYGAAAAIDIIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAACeINgBAAB4gmAHAADgCYIdAACAJ/JHewMA+GXJkiX28ssv29dff22//fablS5d2po0aWJdunSx8uXLh+/XqVMn9/mVV15J93FatmxpjRo1sgceeCB8/6+++irVffLly2dFihSx448/3v7zn//YRRddFP7enXfe6e7/8ccfu6+//PJL+/e//33IbX/mmWesWbNmllccrg0BxB+CHYCIefXVV23o0KF26qmn2m233eZC3dq1a+25556z999/31566SU75ZRTsvz41apVs3vuuSf8dXJysm3cuNFefPFF69OnjxUrVsyaN29+yMcYOHCgVa9ePd3vnXjiiVneNgCIBQQ7ABExf/58GzJkiF111VXWv3//8O0KeWeffbZdfPHFdtddd9mUKVOy/BxJSUlWp06dNLeryqaqoB77cMGucuXK6T4GAPiAMXYAIkJVuSOPPNJ69+6d5nslSpRwXaNnnXWW7dixI+LPXahQIStYsKDrmo2Effv22aOPPuq6g2vUqOE+P/LII7Znz56D/syTTz7p7vfJJ59Y69atrXbt2nbZZZe5LuCUtm7d6qqGTZs2tZo1a7r7zJ07N9V9qlSpYiNHjrR27dpZrVq13P8PJhQKuS7kM8880923Y8eOtnjx4jTd49ddd50L2fXq1bNu3brZypUrw99XINZz/vTTT6l+Tr+P/m5Z2S4A0UHFDkC2KVx8/vnnLggkJiame582bdpE5Hn27t2bqiv2559/tqeeesr++uuvVGPsDhXaUj5GQKEwISHB/V9Bafz48da3b183LnDRokUu6BUoUMB69ux50MfWmEL9TPfu3a1ChQr2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zFNKx+7fJhP7Y9l/FXb7mT58oePlIfezjIry/hjsZxH5XaIlRRueUCop7/8+0frbhHJuXyyZVNAuqlPOdu/O2WNAcIwJss2h5Atl5F5RMH36dBs8eLDNnj07fNvq1autTZs29uWXX1qxYsUO+fMKdEuWLMmFLQUAAMh5NWvWTFP0yjMVuzJlytjvv//uxtnlz58/3D1buHBhO+qoow778/oZNYDG4uWL4eoFAADAoagGp17CIA/lyWBXtWpV9wssXLjQrWMn8+fPD4e1w9F9DpdqAQAAfHJELM9gufjii23QoEG2ePFi+/DDD90Cxf/+97+jvWkAAAAxKWbH2AUTKBTs3n//fUtKSrLrrrvOrrnmmmhvFgAAQEyK6WAHAAAAD7piAQAAkDkEOwAAAE8Q7AAAADxBsAMAAPAEwQ4AAMATMbtAcazatGmTFShQwF0Bo0iRItHenLijSdxcSQTwE69vxJJQHt0fCXaZMGLECPv888/tl19+sYYNG9oZZ5xh7dq1i/Zmee2HH36wv//+2ypUqOCCtF5kuqxKRq4+gvTpUn26lrIu25fXD2DRXmdzz549qS5xSDtm3Isvvmhr1qxxl4q89NJLrXr16nbMMcfw+s6k1157zTZu3Gi//fabXXnllVauXDn717/+xb4Yx/sj69hl0BtvvGEPP/ywPfjgg+4Pv2HDBhs9erT95z//sVtvvTXam+cltfUnn3ziqqR169a1k046yfr06eNeZMnJyZaQkBDtTcxzHn30UZs9e7atXbvWzj77bHe5vvbt27vv5cUDWLQ8+eST9tVXX9lPP/1krVq1subNm1uTJk3c93hDPTwdO1944QXr1KmTLV261Hbt2mWFChWyXr162SmnnMK+mEFPPPGEvfrqq3beeefZ8uXL3YmGjpW6QpNOhtkX43N/JNhl0KhRo2zJkiX29NNPu6/1Apo5c6bdfvvtdvnll1u/fv2ivYle0SXkdNURHbjU7a1rBr/99tvuIDVu3DjCXRZMnjzZHnnkERsyZIhru88++8xWr15tVapUsYEDB7r75LUDWDTojVTB7s4773Tt9eabb7rhGY0aNbIuXbq4+/CGenB79+61G2+80c4880y76qqr3G3aF9WOK1ascCd01apVY188jB07dljXrl3d+8/555/vbps4caI7Gdb+p5PgE044gX0xDvfHvLGVURTk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U045xRo1amQ33nije56ArpWrj0DKnznw46effopQawCIBlZLBJBj3nnnHbv00kutSZMmFg+eeOIJO/300+3mm2+2kiVLpvn+Dz/84K4+UK9ePXv88cfdfebOnWv33HOP/fbbb3bttddm+jnvuusua9OmTfiyS7qGph6vb9++9vLLLx/053Qx+rp166a5vUSJEpneBgCxg2AHIMeUK1fOXfj8zTfftIIFC5rv/vzzT6tfv777vdNz7733uqqaQlVweTNd73L37t02YsQIF4KPOuqoTD2nLoheqlSp8NdlypSxnj172h133OG2R99Pj663mfLnAPiBrlgAOaZXr162adMme+6559L9vrr9Duz+U+jp1KlTuOtR/x81apQ1bNjQTjvtNNdtOWPGDGvRooU1aNDAHnrooVSPuXLlSte9WbNmTbvuuuts/fr14e+pe7Jbt26uq1TdmCNHjrTk5OTwc11++eWu2qZw9tZbb6XZ3l27drnna968uetG1WMFXZ56vJ9//tlV0NLrat64caOrzl1zzTVprlmrQPfMM89YkSJFLBKCEH3EEVk/xE+bNs1atWrl2lEVwQ8//DAi2wYgZxHsAOSYoHo0evRoW7duXZYe45tvvnE/O2nSJDv//PNt0KBBrotRYU/jxp599llbtmxZ+P7jx4+366+/3iZPnuyuz6kuSdHVE7t37+66P6dOnWrDhg2zt99+221byueqXLmyTZw40XWpHkhdnB988IENHz7cJkyY4B7/pptucl2g2r5jjjnGBTv9/0ArVqxw26CgdKDExEQXUiNxLdEff/zRxo4da2eccYYVLVo0S4/x66+/Wp8+faxr164uRLdv39569+5tW7duzfb2AchZdMUCyFGquKkaNmTIkFQhKqMUhjTZQNWsjh072ksvvWQ9evRwXZr6UBfmmjVrrFq1au7+V1xxhbVt29b9X8951lln2erVq+2XX35x1bvXX3/dVbJOOOEEF/r69evnqnSiSpomHhQuXDjNdvzxxx+uS1mVtcaNG7vbHn74YTvzzDNt9uzZLkglJCS4rs/0xqlt27bNfT5Y12hWKWzef//97v8KmgUKFHC/swLmodxwww1ue1NSpVJBWVXWPXv2uKCqbmWN/VNltVChQhHddgCRR7ADkKMUHlRl06SBrHTnqcIWdFEGweK4444Lf18hTGPUArVq1Qr/X/crVqyYC34KK6o4KbwEVGn7+++/7ffffw8/V3qhLpj4oPurGzegx65UqZILjgp2h6L7BgHvcBMUVLnTcx1Itx1Y1VNF9Nxzz7W//vrLdWOrO1izkYsXL37I5xg8eHCq30WC371q1aousHbu3Nn9fgqKHTp0cJVFALGNrlgAOU6zQNWdpwrazp07w7cfONYsqDqllF73ZHo/FziwCqUwpCqWHldVOo3RCz40ju79998PV9EOVZE62Pc0Ri+9EHag6tWru+1eunRpmu/t2LHDhajly5e7r7U927dvT3O/9CZDKIxWrFjRVSw101bUPayK2+G6yfVzKT90m2g7x4wZ46qbGmf3ySef2CWXXGLffffdYX9PANFFsAOQK26//XYXYFJOpFDgElWbAtldR+1///tfqiqbKmSqOulDXbGqlgVBRs+lJUoOFRQD5cuXdyFz4cKF4dtU6Vu7dq177MPR82ryh7qS1b2cksYDzps3z4499lj3tbo9Nd7vQIsWLQp3OR9s0oQqcQpgL774omWVKpAaR6jq56233mrvvvuu27aDrc0HIHYQ7ADkCnUNKtypqzBw9NFHu8CgsKcJEhqLN3PmzGw9zwsvvOCqcKp+afycZs8qxGkyhMaLaRkQTWRQkLr77rtd9+KBVb70aCKCuiM1nu3LL790j6/H0jg0BbaM0PYsXrzYbrnlFvf5+++/t+eff97NtFX3qZYgCcYJarFjTRBRcNT2agavKmdXXXXVIZ9DYUyzbJ9++mnX/XwwGjO4efPmNB+a+aslVzQJRY+hv4v+Jvq7HSpUAogNBDsAuUaBI+WiuJrEoO5ZhRwtqaEZmFpCJDvUpfnYY4/ZZZdd5rophw4d6m5XeFNQUrepvqcJGFq2RBMzMkqTLZo2berGtSl8qXtWlbGMrtGnGbevvfaa+78maah7U4s4qw20DEpAM2fVFaoKmZZu0XN98cUXbmKDJowcjqpsqoYeuBRMSvr9FXYP/NDfQOvbabzee++952Yiay1CzYpNb6YwgNiSL3RgnwAAAADyJCp2AAAAniDYAQAAeIJgBwAA4AmCHQAAgCcIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAACeINgBAAB4gmAHAADgCYIdAACA+eH/AKSsnlTKXmkjAAAAAElFTkSuQmCC" }, "metadata": {}, "output_type": "display_data" } ], - "execution_count": 54 + "execution_count": 55 }, { "metadata": { From 8595568495b3e6ccc61341597bd4e8fcd9c89e42 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 10 Jul 2025 15:45:31 -0400 Subject: [PATCH 10/12] Fixed Y-label. --- log-analysis/NodeNorm_log_analysis.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index 1a712d7..f1b942f 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -405,8 +405,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-07-10T19:43:02.317044Z", - "start_time": "2025-07-10T19:43:02.234788Z" + "end_time": "2025-07-10T19:45:27.354339Z", + "start_time": "2025-07-10T19:45:27.284086Z" } }, "cell_type": "code", @@ -421,7 +421,7 @@ "plt.tight_layout()\n", "plt.title(\"CURIEs per hour\")\n", "plt.xlabel(\"Number of CURIEs\")\n", - "plt.ylabel(\"Frequency\")\n", + "plt.ylabel(\"Percentage\")\n", "plt.xticks(rotation=45)\n", "plt.tight_layout()" ], @@ -432,13 +432,13 @@ "text/plain": [ "
" ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAARadJREFUeJzt3QmcjWX/x/GfxjZMPZZQhJSSfRcqooWkjaTN86QFFZKKRFJZ0qJNWdpL8cjSinYltCBb4rGUlCUqSWQZ5//6Xv73acYMZjkz58x1Pu+XeY05c+ace665z32+9+9a7nyhUChkAAAAyPOOiPYGAAAAIDIIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAACeINgBAAB4gmAHAADgCYIdAACAJ/JHewMA+GXJkiX28ssv29dff22//fablS5d2po0aWJdunSx8uXLh+/XqVMn9/mVV15J93FatmxpjRo1sgceeCB8/6+++irVffLly2dFihSx448/3v7zn//YRRddFP7enXfe6e7/8ccfu6+//PJL+/e//33IbX/mmWesWbNmllccrg0BxB+CHYCIefXVV23o0KF26qmn2m233eZC3dq1a+25556z999/31566SU75ZRTsvz41apVs3vuuSf8dXJysm3cuNFefPFF69OnjxUrVsyaN29+yMcYOHCgVa9ePd3vnXjiiVneNgCIBQQ7ABExf/58GzJkiF111VXWv3//8O0KeWeffbZdfPHFdtddd9mUKVOy/BxJSUlWp06dNLeryqaqoB77cMGucuXK6T4GAPiAMXYAIkJVuSOPPNJ69+6d5nslSpRwXaNnnXWW7dixI+LPXahQIStYsKDrmo2Effv22aOPPuq6g2vUqOE+P/LII7Znz56D/syTTz7p7vfJJ59Y69atrXbt2nbZZZe5LuCUtm7d6qqGTZs2tZo1a7r7zJ07N9V9qlSpYiNHjrR27dpZrVq13P8PJhQKuS7kM8880923Y8eOtnjx4jTd49ddd50L2fXq1bNu3brZypUrw99XINZz/vTTT6l+Tr+P/m5Z2S4A0UHFDkC2KVx8/vnnLggkJiame582bdpE5Hn27t2bqiv2559/tqeeesr++uuvVGPsDhXaUj5GQKEwISHB/V9Bafz48da3b183LnDRokUu6BUoUMB69ux50MfWmEL9TPfu3a1ChQr2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zFNKx+7fJhP7Y9l/FXb7mT58oePlIfezjIry/hjsZxH5XaIlRRueUCop7/8+0frbhHJuXyyZVNAuqlPOdu/O2WNAcIwJss2h5Atl5F5RMH36dBs8eLDNnj07fNvq1autTZs29uWXX1qxYsUO+fMKdEuWLMmFLQUAAMh5NWvWTFP0yjMVuzJlytjvv//uxtnlz58/3D1buHBhO+qoow778/oZNYDG4uWL4eoFAADAoagGp17CIA/lyWBXtWpV9wssXLjQrWMn8+fPD4e1w9F9DpdqAQAAfHJELM9gufjii23QoEG2ePFi+/DDD90Cxf/+97+jvWkAAAAxKWbH2AUTKBTs3n//fUtKSrLrrrvOrrnmmmhvFgAAQEyK6WAHAAAAD7piAQAAkDkEOwAAAE8Q7AAAADxBsAMAAPAEwQ4AAMATMbtAcazatGmTFShQwF0Bo0iRItHenLijSdxcSQTwE69vxJJQHt0fCXaZMGLECPv888/tl19+sYYNG9oZZ5xh7dq1i/Zmee2HH36wv//+2ypUqOCCtF5kuqxKRq4+gvTpUn26lrIu25fXD2DRXmdzz549qS5xSDtm3Isvvmhr1qxxl4q89NJLrXr16nbMMcfw+s6k1157zTZu3Gi//fabXXnllVauXDn717/+xb4Yx/sj69hl0BtvvGEPP/ywPfjgg+4Pv2HDBhs9erT95z//sVtvvTXam+cltfUnn3ziqqR169a1k046yfr06eNeZMnJyZaQkBDtTcxzHn30UZs9e7atXbvWzj77bHe5vvbt27vv5cUDWLQ8+eST9tVXX9lPP/1krVq1subNm1uTJk3c93hDPTwdO1944QXr1KmTLV261Hbt2mWFChWyXr162SmnnMK+mEFPPPGEvfrqq3beeefZ8uXL3YmGjpW6QpNOhtkX43N/JNhl0KhRo2zJkiX29NNPu6/1Apo5c6bdfvvtdvnll1u/fv2ivYle0SXkdNURHbjU7a1rBr/99tvuIDVu3DjCXRZMnjzZHnnkERsyZIhru88++8xWr15tVapUsYEDB7r75LUDWDTojVTB7s4773Tt9eabb7rhGY0aNbIuXbq4+/CGenB79+61G2+80c4880y76qqr3G3aF9WOK1ascCd01apVY188jB07dljXrl3d+8/555/vbps4caI7Gdb+p5PgE044gX0xDvfHvLGVURTk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U045xRo1amQ33nije56ArpWrj0DKnznw46effopQawCIBlZLBJBj3nnnHbv00kutSZMmFg+eeOIJO/300+3mm2+2kiVLpvn+Dz/84K4+UK9ePXv88cfdfebOnWv33HOP/fbbb3bttddm+jnvuusua9OmTfiyS7qGph6vb9++9vLLLx/053Qx+rp166a5vUSJEpneBgCxg2AHIMeUK1fOXfj8zTfftIIFC5rv/vzzT6tfv777vdNz7733uqqaQlVweTNd73L37t02YsQIF4KPOuqoTD2nLoheqlSp8NdlypSxnj172h133OG2R99Pj663mfLnAPiBrlgAOaZXr162adMme+6559L9vrr9Duz+U+jp1KlTuOtR/x81apQ1bNjQTjvtNNdtOWPGDGvRooU1aNDAHnrooVSPuXLlSte9WbNmTbvuuuts/fr14e+pe7Jbt26uq1TdmCNHjrTk5OTwc11++eWu2qZw9tZbb6XZ3l27drnna968uetG1WMFXZ56vJ9//tlV0NLrat64caOrzl1zzTVprlmrQPfMM89YkSJFLBKCEH3EEVk/xE+bNs1atWrl2lEVwQ8//DAi2wYgZxHsAOSYoHo0evRoW7duXZYe45tvvnE/O2nSJDv//PNt0KBBrotRYU/jxp599llbtmxZ+P7jx4+366+/3iZPnuyuz6kuSdHVE7t37+66P6dOnWrDhg2zt99+221byueqXLmyTZw40XWpHkhdnB988IENHz7cJkyY4B7/pptucl2g2r5jjjnGBTv9/0ArVqxw26CgdKDExEQXUiNxLdEff/zRxo4da2eccYYVLVo0S4/x66+/Wp8+faxr164uRLdv39569+5tW7duzfb2AchZdMUCyFGquKkaNmTIkFQhKqMUhjTZQNWsjh072ksvvWQ9evRwXZr6UBfmmjVrrFq1au7+V1xxhbVt29b9X8951lln2erVq+2XX35x1bvXX3/dVbJOOOEEF/r69evnqnSiSpomHhQuXDjNdvzxxx+uS1mVtcaNG7vbHn74YTvzzDNt9uzZLkglJCS4rs/0xqlt27bNfT5Y12hWKWzef//97v8KmgUKFHC/swLmodxwww1ue1NSpVJBWVXWPXv2uKCqbmWN/VNltVChQhHddgCRR7ADkKMUHlRl06SBrHTnqcIWdFEGweK4444Lf18hTGPUArVq1Qr/X/crVqyYC34KK6o4KbwEVGn7+++/7ffffw8/V3qhLpj4oPurGzegx65UqZILjgp2h6L7BgHvcBMUVLnTcx1Itx1Y1VNF9Nxzz7W//vrLdWOrO1izkYsXL37I5xg8eHCq30WC371q1aousHbu3Nn9fgqKHTp0cJVFALGNrlgAOU6zQNWdpwrazp07w7cfONYsqDqllF73ZHo/FziwCqUwpCqWHldVOo3RCz40ju79998PV9EOVZE62Pc0Ri+9EHag6tWru+1eunRpmu/t2LHDhajly5e7r7U927dvT3O/9CZDKIxWrFjRVSw101bUPayK2+G6yfVzKT90m2g7x4wZ46qbGmf3ySef2CWXXGLffffdYX9PANFFsAOQK26//XYXYFJOpFDgElWbAtldR+1///tfqiqbKmSqOulDXbGqlgVBRs+lJUoOFRQD5cuXdyFz4cKF4dtU6Vu7dq177MPR82ryh7qS1b2cksYDzps3z4499lj3tbo9Nd7vQIsWLQp3OR9s0oQqcQpgL774omWVKpAaR6jq56233mrvvvuu27aDrc0HIHYQ7ADkCnUNKtypqzBw9NFHu8CgsKcJEhqLN3PmzGw9zwsvvOCqcKp+afycZs8qxGkyhMaLaRkQTWRQkLr77rtd9+KBVb70aCKCuiM1nu3LL790j6/H0jg0BbaM0PYsXrzYbrnlFvf5+++/t+eff97NtFX3qZYgCcYJarFjTRBRcNT2agavKmdXXXXVIZ9DYUyzbJ9++mnX/XwwGjO4efPmNB+a+aslVzQJRY+hv4v+Jvq7HSpUAogNBDsAuUaBI+WiuJrEoO5ZhRwtqaEZmFpCJDvUpfnYY4/ZZZdd5rophw4d6m5XeFNQUrepvqcJGFq2RBMzMkqTLZo2berGtSl8qXtWlbGMrtGnGbevvfaa+78maah7U4s4qw20DEpAM2fVFaoKmZZu0XN98cUXbmKDJowcjqpsqoYeuBRMSvr9FXYP/NDfQOvbabzee++952Yiay1CzYpNb6YwgNiSL3RgnwAAAADyJCp2AAAAniDYAQAAeIJgBwAA4AmCHQAAgCcIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAIAnCHYAAACeINgBAAB4gmAHAADgCYIdAACA+eH/AKSsnlTKXmkjAAAAAElFTkSuQmCC" + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAARr5JREFUeJzt3QmcjWX/x/HfZJ0hydYTlZSSPWvRSpvkiSxpX1SWRKUesrVLad+RhBKPvaeStClJm12WbEnZlRChcf6v7+V/TzNmMMs5c85c5/N+mdfMnDnOueea+9zne/+u5U4IhUIhAwAAQJ53RLQ3AAAAAOFBsAMAAPAEwQ4AAMATBDsAAABPEOwAAAA8QbADAADwBMEOAADAEwQ7AAAATxDsAAAAPJE/2hsAwC8LFiywESNG2HfffWe//fablSlTxho0aGDt27e3448/PuV+119/vfv85ptvZvg4jRs3tvr169vjjz+ecv9vv/02zX0SEhIsKSnJTjzxRLvxxhutefPmKT+777773P0//fRT9/0333xjN9xwwyG3/bXXXrNzzz3X8orDtSGA+EOwAxA2I0eOtMcee8zOOOMMu+eee1yoW716tb3++us2depUGz58uJ122mnZfvwqVarYAw88kPJ9cnKyrV+/3oYNG2bdu3e34sWL23nnnXfIx7j//vutatWqGf7s5JNPzva2AUAsINgBCItZs2ZZv3797Nprr7XevXun3K6Qd+GFF1qLFi2sV69eNmHChGw/R9GiRe30009Pd7uqbKoK6rEPF+wqVqyY4WMAgA8YYwcgLFSVO/LII61bt27pflaiRAnXNXrBBRfYzp07w/7chQoVsoIFC7qu2XDYt2+fPfvss647uFq1au7z008/bXv37j3o/3nxxRfd/T777DNr0qSJ1axZ06688krXBZza1q1bXdWwYcOGVr16dXefmTNnprlPpUqV7KWXXrKWLVtajRo13NcHEwqFXBfy+eef7+7btm1bmz9/frru8VtuucWF7Nq1a1vHjh1t2bJlKT9XINZz/vLLL2n+n34f/d2ys10AooOKHYAcU7j48ssvXRBITEzM8D5NmzYNy/P8/fffabpif/31V3v55Zftzz//TDPG7lChLfVjBBQK8+XL575WUBo1apT16NHDjQucN2+eC3oFChSwrl27HvSxNaZQ/+eOO+6wE044wYYO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AABAHgl2Gk/32Wef2V9//WVHH320jR8/3j7++GMrXry4NW3aNPxbCQAAgMh0xWpyxL59+6xUqVLue423u/baa61BgwbWqlWr7DwkAAAAcqtip9muWs4kmBU7cOBAS0pKSnOf1atX26+//prTbQIAAEAkg12FChXcWDrNiNWH1q8rUKBAys8TEhJc0OvXr192tgMAAAC5Fex0CbERI0a4r3v27Gm9e/e2okWL5vT5AQAAEM3JE/3793efN23aZH///ber4KVWtmzZ8GwdAAAAIhvstG5d3759bd26de57BTt1xQafFy9enJ2HBQAAQG4Hu4cffthq1Khhr776Kt2xAAAAeTnYrV+/3k2k0Lg7AAAA5OF17OrWrWuzZs0K/9YAAAAgdyt29erVs4ceesimTZtm5cuXT7Psidxxxx3Z3yIAAADk7uSJatWq2ZYtW9xHapo8AQAAgDwS7N58883wbwkAAAByf4ydrFmzxp544gm7/fbbbePGjTZu3DjG3QEAAOS1YKdrxV5++eXuurDTp0+33bt328qVK+3GG2+0qVOnhn8rAQAAEJlg9+STT9o999xjL7zwguXPv783t3v37nbvvfe62wAAAJBHgt2PP/5o5513XrrbL7jgAvv555/DsV0AAADIjWBXrlw5W7BgQbrbtfyJfgYAAIA8Miv2rrvusvvuu8+Fu+TkZJs0aZL98ssv9v7779uAAQPCv5UAAACITMXuoosuspEjR7o17E455RT75JNPbM+ePe62pk2bZuchAQAAEI2KnZQuXdo6depkFSpUcN9PnjzZypYtm9PtAQAAQG5W7GbOnOmqdu+++27KbSNGjHDVOtayAwAAyEPBTgsTd+zY0bp27Zpy2+jRo+3WW2+1xx57LJzbBwAAgEgGu59++smaNGmS7vZLL73Uli9fnp2HBAAAQDSC3UknnWQffPBButs//fRTO+GEE3K6TQAAAMjN5U50jdgZM2ZY1apV3W1Lly6177//3l588cXsPCQAAACiUbE799xz3dp1VapUcdeI1dUmTjvtNLeOXUZXpAAAAECMVuxUrdO1YrVIMQAAAPJwxW727NmWP3+2l8ADAABABGQrnV1zzTV2991321VXXeUWJS5UqFCan9erVy9c2wcAAIBIBrtXXnnFfb7//vvT/SwhIcEWL16cnYcFAABAbge7JUuW5OQ5AQAA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9zPeUA9Px8433njDrr/+elu4cKHt3r3bChUqZHfddZeddtpp7IuZ9MILL9jIkSPt0ksvtSVLlrgTDR0rdYUmnQyzL8bn/kiwy6RXX33VFixYYK+88or7Xi+gadOm2b333mtXXXWV9ezZM9qb6BVdQk5XHdGBS93eumbwu+++6w5Sb731FuEuG8aPH29PP/209evXz7XdF198YStWrLBKlSrZ/fff7+6T1w5g0aA3UgW7++67z7XXO++844Zn1K9f39q3b+/uwxvqwf3999/WqVMnO//88+3aa691t2lfVDsuXbrUndBVqVKFffEwdu7caR06dHDvP5dddpm7bcyYMe5kWPufToJPOukk9sU43B/zxlZGUZB7deD+888/U25XoLjooovs5ZdftlGjRrnPCB+dMZUvX96qVavmXlRt2rRx4Vndsqow6UWmv4E+I3PUVXPWWWdZo0aNXLWuW7duri1nz56dcmKiAxfneoemav0VV1zhrmWtoRg68NeoUcO9oT7//PPuPnojpR3T0+tVb6RbtmxJc/u5555rt956q3ut9+7d25YtW8a+eAhqFw2nUMU4dWi78sor3Uf+/PlddX7NmjWEujjcHwl2hxG8KJTmv/vuO3e2Lvoja6c4++yz7fHHH7cRI0bYlClTory1eV/wwlGA+/XXX61gwYIpwVpvnnoTVaDTi073zStnULHQplu3bnUHqEDx4sVdF46qTDozfeKJJ9ztvBEcmsbYqrsmoLGK6sJRYNYxQmN1hHZMT69XVeAbNmzojpl6jQcqV67suhBVZVLPiE5EaMOMqV30+tU477Fjx9rmzZtTfqb9UCcd6lXSz1TZQ3ztj7wrZlLFihVdctcZ+XvvvZcm3OmF9O9//9t1F0peSfWxKHjhqJJUtGhRu/POO9P9HdQFpuA3ePDgKG1l3mxTDazetm1bynACSUxMdCctbdu2dWFFXeA4NLWjQvKECRNSbjv66KPdgGuNb/rqq69s0aJFUd3GWKN96/vvv3eToXR8DMaAvfTSS27MckAV+iZNmriqqCYEIC21n8bS7dixw31/+eWXu2EV6oLVazugirzGfGq4UOqeJsTH/kiwywKFjeuuu86efPJJN94rCHd6czzyyCNt3rx57kWWV1J9LFEltE+fPq5qFLxhaoyIXkz9+/dPc1+9eWpW8vz586O0tXnD+++/74YI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" }, "metadata": {}, "output_type": "display_data" } ], - "execution_count": 55 + "execution_count": 56 }, { "metadata": { From a45430bbcc82d96ce9d804735f5dd26dd967c99d Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 10 Jul 2025 15:48:32 -0400 Subject: [PATCH 11/12] Added a requests-per-hour-frequency graph as well. --- log-analysis/NodeNorm_log_analysis.ipynb | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index f1b942f..b60c112 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -402,6 +402,39 @@ ], "execution_count": 8 }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-07-10T19:48:12.664790Z", + "start_time": "2025-07-10T19:48:12.603158Z" + } + }, + "cell_type": "code", + "source": [ + "# Plot the frequency distribution of requests grouped by hour.\n", + "curies_per_hour = df.set_index('time').resample('h').size()\n", + "sns.histplot(curies_per_hour, bins=10, stat='percent')\n", + "plt.title(\"Requests per Hour\")\n", + "plt.xlabel(\"Number of requests\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.xticks(rotation=45)\n", + "plt.tight_layout()" + ], + "id": "cd45fe49f9ffbc4d", + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "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hhzsNgEAACCvKnZnn322TZo0yZ0+bM2aNfbjjz/aaaed5hYq1tkoAAAAECcVOznllFOse/fukd0aAAAA5G2w0/p1L730ki1ZssSdKzYUCmW4XkufAAAAIA6CXbdu3Vyoa9mypSUlJUV+qwAAAJB3Z54YPXq0VatWLSe/DgAAgFiZPFG6dGk77LAc/SoAAABirSu2d+/e7swT5cqVswIFCmS4vkyZMpHaPgAAAORmsLv99tvd944dO7rv+fLlc981iUL///bbb3NytwAAAMjrYDdjxoyDeUwAAADkghwNlCtbtqz7Sk5OtmXLllmxYsVsz549rgtWlwMAACBOKnbbtm2zO++807744gv387Rp06xfv362bt06GzVqFOEOAAAgXip2jz76qCUmJtpnn31mhQoVcpf179/fjjnmGHcdAAAA4iTYzZ492+6++2474ogjwpcVL17cevToYV9++WUktw8AAABZlOPF6Hbu3Jnpsl9//dXy58/x6WcBAACQ18GuRYsWbkzdypUr3fImmkShbtmHHnrImjdvfjDbAwAAgLxeoHjw4MHWunVr27Vrl7Vq1coSEhKsXbt27joAAADESbArWLCgde/e3bp27epmwqalpdnxxx9vRYsWjfwWAgAAIPeC3b4mSGg9u0DdunVzcrcAAADI62DXvn37/VbySpYsyZkpAAAA4iXYLV++PMPP6or98ccfrW/fvtayZctIbRsAAADyYrmT9DRxonz58m7c3TPPPBOJuwQAAEA0gl1gy5Yttn379kjeJQAAAHKzK1ZnmNjbH3/8YfPmzbNmzZrl5C4BAABwkCJ2moijjjrK7r//fremHQAAAOIk2A0YMCDyWwIAAIC8D3ZDhw7N8m27dOmSk4cAAABAXgS7tWvX2tSpU133a5UqVdz6dVoCRUue1KhRw/Ln/+tudR5ZAAAAxPgpxbReXZ8+faxAgQLhywcOHGjbtm2z/v37R3IbAQAAkFvLnUyePNluuummDKFOLrvsMncdAAAA4iTYlS5d2mbPnp3p8mnTptnxxx8fie0CAABAXnTF3nPPPda1a1ebNWuWnXbaae6yJUuW2LJly2zEiBE5uUsAAABEo2J3wQUX2MSJE+3UU0+11atX208//WT16tVzFTt9BwAAQBwtUFyxYkV3BgpNlkhKSrLDDjuMWbAAAADxVrELhUI2fPhwO+OM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mzdvto4dO9pFF11kxx9/fLQ3zYuDEp29RTt3narv7rvvtgYNGmTpvIPI7JlnnrHZs2fbrl27rEyZMnbLLbdYtWrVor1ZcWnUqFH24osv2lVXXWU7d+60t956y6pUqWL33XefCyUEkuwZOnSovf7663bxxRfbtm3b7LPPPrMzzzzTHn74YRf0cAi8PhXscGDPPfdc6JZbbgn/nJqaGvrwww9D1apVC/Xv3z+q2+aDefPmhRo0aBBasGBB6McffwxNmzYt1KRJk1D37t3dZci5Dz74IFS/fv3QnDlzQrNmzQo9++yzocqVK4eGDRsW2rhxY7Q3L+6MHz/etef06dNDY8eODfXp08e154QJE0K7du2K9ubFlZSUlNBtt93m2jSwZcuWUKtWrULXXnute+/v2bMnqtsYL9RO27ZtC11zzTWhyZMnhy9btmxZqGHDhqEOHTrwfj9EXp/0GxxAUNBUCfaPP/4IX56QkGAXXHCBDRs2zMaOHeu+I+dUoStVqpTVrl3bVeguvPBCe/zxx23t2rWufXW+YOTMunXrrEaNGq5Cd84559jtt99ujz76qGvX//73v65LEVm3evVqa9y4sZ1//vl2xRVXWK9evVwF9MEHH3RtiqwrXLiw/fnnn7Z8+fLw/rZ48eKu4qRq6JAhQ+z777+P9mbGBVWOdOpNDQ1Yv359+HJ1Hb7zzjuuHXv27Gmpqanucjrr/H19EuwOICiznnvuufbll1+6sQuisTQaU9OwYUN77LHH7LXXXrOpU6dGeWvjT7BzKVeunHsDLV68OHxdrVq1rHv37va///3PJkyYQADJYdsqMP/2229ubGhAY27UtmrXSZMmucv0esb+Be2j8Ylqz+ADUm644QZ76KGHrH///m44QfrbY/8UQqpXr24//vijm5im/e3u3btdl+HIkSPdAZ+GaCBr1HbHHnusff311+5ntadepwoj48ePd+PudP714Dr4+fok2GXRySef7I52NLbm/fffzxDudPTesmXLcCjhSCjrgp1L6dKlrUSJEi4c60MzoHFL9957r3344YcE5xy27YknnujGhX7yyScZAofG4Nxzzz1u7OiCBQsY+H8AQfuccsop9sUXX7gv0ZG7aAxO165drUePHvbdd9/RnvuxcOFC93pTFUQ9H1dffbWrguoDUvtOjfsMPjxfeuklN2hdY5yxbwprar8f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wp26UisHaLhFcCpBXxDsAA+6aoLvODi0Z2ToPNBalkdnQtACujg4tCeyg2AHAIg4n8YsxQLaE1lFsAMAAPAEc84BAAA8QbADAADwBMEOAADAEwQ7AAAATxDsAAAAPEGwAwAA8ATBDkBEVaxY0e65555Ml0+cONGaNGmSK4+p+9X9R8uMGTPs7LPPturVq9vs2bMtXumMG2+//Xa0NwPAQSDYAYi4999/3+bPn2+HimeffdYaNmxokydPtrp161q8euWVV+ytt96K9mYAOAgEOwARV7ZsWXfC8tTUVDsU/P7771a7dm33d8fzycRZrx6IfwQ7ABHXtWtX+/nnn+3FF1/c5/X/+9//XJetvgeGDBli7du3d/9Xt6r+P3z4cFcBa9CggesinDp1qjVu3Njq1Kljjz/+eIb7XLlypV166aVWtWpVu/HGG239+vXh6zZs2GCdO3d2XaXqth06dKilpaWFH+uKK66w2267zYWzd999N9P27ty50z3eOeecYzVq1HD3pfsU3d9PP/1kDzzwwD67mj///HN3+cMPP+zuf9SoUe7ycePGuctr1qzp/tYVK1Zk6BJVd7aua9q0qfvb1V5ZaTtZsGCBtW7d2qpVq2YtW7a0adOmha9Tu9xwww3uvs8880zr27ev7dq1y7WD2kUnSA8eS1XXVq1auTY977zz3DYDiG0EOwARV7p0abvjjjtsxIgRtm7duhzdx1dffeV+d8KECXbxxRdb79697bXXXnNhr3v37vbCCy/YsmXLwrcfO3as3XTTTa4rUefVvP/++8NVqC5duliJEiVs0qRJNmDAAHvvvffctqV/rJNPPtnGjx/vulT3plA2ffp0GzhwoAs3uv9bb73V9uzZ47bvmGOOccFO/98XBT9VLxWeWrRoYTNnznQh6qGHHnLbpMB37bXX2rZt29zte/bsaatXr7bXX3/devToYYMHD85yu23atMk6derkgp3+TrWJ2kthTxTkihQp4sLisGHDXOjT3928efNw4JszZ44LvgrozZo1sylTptidd95pffr0sVWrVmXjWQSQ1wh2AHKFKkjlypWzfv365ej3FcgefPBBdx+XX365paSk2O23326nnXaatW3b1gW1NWvWhG9/5ZVXutB06qmnusdU5Unh6LPPPnNVKgWak046yc444wwX+hQSA/ny5bNbbrnFKlSoYMWLF8+wHQpb77zzjvXq1cvq16/vHv+JJ56w77//3ubOnetun5CQYIcffnim301PAUt/S5kyZVwoVfhS9fHEE090AUrduKoW6vEUIvW3V6lSxc4991zr2LFjltttzJgxdtZZZ9k111zjHk8VN7Xfq6++Gg6Z2lZtR61atVwFUZVIdSEr8BUoUMBKlizpupe3bt1qRx99tB133HF2ySWX2Msvv+yuAxC78kd7AwD4SWFHVbarrrrKPvroo2z/voKbgoYUKlTIfVfACCiIpB/Dp27HgG531FFHueCnLmEFFFXFAqq0/fnnn/bbb7+FH2t/Y+N++OEHd3t14wZ03+XLl3fBsVGjRln6e9Jvu35PXbvpK3Hq7tVjrV271lXLFCADqqJllf7mjz/+OMPvqKtV2xsETFUXFR41k1eVukqVKmW6H/2NCssKmM8995wLoW3atLEjjzwyy9sCIO8R7ADkGlWEFAZUQVOgSF8h25u6N9PLnz/z7mlfv5c+SKanMKbqk+5XlTqFk72pcpU+OO7L/q5T+NJjZFX6+9HvKlxpjFt6SUlJtmXLlky/W7BgwSy3nf6vcXUaB7iv9lTlTY+rsD1r1izXZX7zzTfbXXfdlel+Fcyvvvpqd1t9vfHGG64dVeEDEJvoigWQq+69915LTk7OMJFCgUv++OOP8GXpJwPkxHfffRf+vypf27dvd1UqfakrVt2k6prUlx5LS5T8W1AMHH/88S4ULV68OHyZKn2qrAVVsOzS723cuDG8PfrSmD89hh5PQW7JkiXh26cfS3igttN9a9vS37fW2dN4O3nqqadceFQ1buTIka4b+MMPP3TXpW8PjdXTmDr9vrqpNXZRXdEaHwggdhHsAOSqYsWKuXCnsV0Bjds69thjXdjTBAlNKlD16GBo/JcCyvLly92EA3UdKpRoMoTGr913331u5qkmEWjSQmJiYqYq374ULVrU2rVr58boaYar7l/3pQkTmq2bEx06dHBj3jSB4ccff3TdspqgoDF+2i5VyfR4CnpffvmlPf3001luO3V9L1261AU4BVwFOnX5akxd0FWrpWj0d2gm8SeffBLuitVj//LLLy4oqstV3bX9+/d326jt0O/sq9sWQOwg2AHIdZrskH7M12GHHea6Z7/55hs3xkvLmOzddZiTsKQAdNlll7kxcwokovCmmbTqNtV1moChrkSNHcsqTbbQhAR1W6rSpW5VLeabvos0O/Q3q+tTVUNN+NCyItpGTaSQu+++2y3por9Jj63u7Ky2nUKsqn86A4buW22iWbHqgg26VxUONblF7VGqVCk3C1cuuOAC106ahazJE+p2VZjT76qyp+dRIRdA7MoXYkVKAIhpqhRqOZT0a90BwL5QsQMAAPAEwQ4AAMATdMUCAAB4goodAACAJwh2AAAAniDYAQAAeIJgBwAA4AmCHQAAgCcIdgAAAJ4g2AEAAHiCYAcAAOAJgh0AAID54f8B7kn4+oVr+EAAAAAASUVORK5CYII=" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 60 + }, { "metadata": { "ExecuteTime": { From 03d17ddbfa9fe6d8641e57d82b05ebc9967c3714 Mon Sep 17 00:00:00 2001 From: Gaurav Vaidya Date: Thu, 10 Jul 2025 16:27:26 -0400 Subject: [PATCH 12/12] Failed attempt at removing warnings. --- log-analysis/NodeNorm_log_analysis.ipynb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/log-analysis/NodeNorm_log_analysis.ipynb b/log-analysis/NodeNorm_log_analysis.ipynb index b60c112..b881db1 100644 --- a/log-analysis/NodeNorm_log_analysis.ipynb +++ b/log-analysis/NodeNorm_log_analysis.ipynb @@ -337,8 +337,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-07-10T19:30:42.851646Z", - "start_time": "2025-07-10T19:30:42.285485Z" + "end_time": "2025-07-10T20:12:47.933696Z", + "start_time": "2025-07-10T20:12:47.432571Z" } }, "cell_type": "code", @@ -352,6 +352,7 @@ "# Assume `records` is your list of dataclass instances\n", "# Convert to DataFrame\n", "df = pd.DataFrame([asdict(r) for r in logs])\n", + "df['curie_count'] = df['curie_count'].astype(int)\n", "df['time'] = pd.to_datetime(df['time'])\n", "df['throughput_cps'] = df['curie_count'] / df['time_taken_ms'] * 1000\n", "print(f\"Throughput: {df['throughput_cps'].mean()} CURIES per second\")" @@ -366,7 +367,7 @@ ] } ], - "execution_count": 35 + "execution_count": 64 }, { "metadata": { @@ -510,15 +511,15 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-07-10T19:25:06.420229Z", - "start_time": "2025-07-10T19:25:06.135625Z" + "end_time": "2025-07-10T20:27:07.780527Z", + "start_time": "2025-07-10T20:27:07.493995Z" } }, "cell_type": "code", "source": [ "# Plot CURIEs against hour of day\n", "df['hour_of_day'] = df['time'].dt.hour\n", - "sns.barplot(x=df['hour_of_day'], y=df['curie_count'])\n", + "sns.barplot(data=df, x='hour_of_day', y='curie_count')\n", "plt.title(\"CURIEs per Hour\")\n", "plt.xlabel(\"Hour (UTC)\")\n", "plt.ylabel(\"Number of CURIEs\")\n", @@ -541,13 +542,13 @@ "text/plain": [ "
" ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnUAAAHWCAYAAAARl3+JAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAT2ZJREFUeJzt3QeYU1X6x/F3ho4IKE1ARESlSxVsiKIsyrKCIHZYFxULWFYRF3QtCKLYkaIIlhUUxIKKWFbddRFREaQoDtJUijQREOlM/s/v/PdmM5Vk5maS3Pl+nieEm5s5Obm55b2npoVCoZABAAAgpaUnOgMAAAAoPII6AACAACCoAwAACACCOgAAgAAgqAMAAAgAgjoAAIAAIKgDAAAIAII6AACAACCoAwAACICSic4AgOBavHix/eMf/7C5c+fali1brHr16nbyySdbv379rE6dOuH39e7d2z2/+OKLuabTsWNHa9u2rT3wwAPh93/55ZdZ3pOWlmbly5e3o48+2v785z9bt27dwuv+9re/ufd//PHHbvmLL76wPn365Jv3Z555xk4//XRLFU8++aSNHj3ali5dmuv6g21jAKmPoA5AXEyePNnuv/9+a9eund16660uoPvxxx9t4sSJ9sEHH9gLL7xgDRs2LHD6jRs3trvvvju8fODAAVu/fr09//zzNmjQIKtcubJ16NAh3zTuuusua9KkSa7r6tevX+C8AUAiENQB8N28efNs+PDhdtlll9kdd9wRfl0B3tlnn23du3e3IUOG2Ouvv17gz6hQoYK1aNEix+sqXVNpoNI+WFB37LHH5poGAKQi2tQB8J1K4w499FC75ZZbcqw7/PDDXXXoWWedZTt37vT9s8uUKWOlS5d21bF+yMzMtMcee8xVATdt2tQ9P/LII7Zv3758q0L1vn/96192zjnnWPPmze3CCy901b6Rtm7d6koLTznlFGvWrJl7z5w5c7K8p0GDBq5atUePHnbCCSe4//tl5syZLt2WLVvaqaee6vKybdu28Hr9TvoekdasWePy5AXk+k5anjJlip155pnWqlUrmz17tm95BBA9SuoA+CoUCtmnn37qgoFy5crl+p4uXbr48jn79+/PUv26du1aGzNmjP3+++9Z2tTlF7BFpuFRQFiiRIlw27qXX37Zbr/9dtcOcOHChS7IK1WqlN144415pq02hPqb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m9/mzp1rRx55pMuz3+699153o/HQQw+584DftD9626VUqVK+7idjx461UaNG2UsvvWStWrXydT/UNlG+jz76aPObptvUNUO/qZdnP/b5p59+2u3jq1evtosuusidBxo0aOBbvidNmuRqX4YMGeLy7Of2Hjt2rJuh6scff7SzzjrLOnXqFJ65qrCeeeYZy8jIcIUBut7p3FumTBnzjcapw/+88cYboVNPPTU0e/bs0PTp00Pjxo0LNW/ePPToo48WOu0DBw6ENm3aFGrXrl1o4sSJoT179oT8MmXKlFD79u1DCxcuDH311VehqVOnuny/++67vqT//PPPh0455ZTQl19+GZo2bVrooosuCk2aNMmXtHfs2BE688wzQ127dg2NHDkytH37dvd6ZmZmodO+//77QyeeeGJo1apVIb+9/fbbbl+ZN29e6K233gp98MEHvqU9YsSIUJs2bUI///xz6J577gndfvvtbv/Rww8vvviiy/ucOXNCL7/8svs9n376aV/S1r6ntD///PPQjBkzXLpNmjQJPfHEEyE/PfTQQ6E//vGPodatW4f69esXmjBhQviY8mM7RR47fuyLkR5++GG3v7dt2zZ0ySWXhO677z7fzgePPPJIqFu3bqFWrVqF+vbtG1q2bJkv30HbdPny5aGGDRu68+G6detCftI+37Jly9C3334biocHHnggdM4557jt0qdPn9DXX3/tW9r6/Vq0aOGO2eeeey7kJ21r/Z46j2k/935Pv9LWsa/98Oqrrw6NGTPGl2PomWeeCZ100kmhF154IfT3v/89dOWVV4Z69+4d+ve//+1b3t98881QgwYN3Gf5eZyOGzfOXet0Pn/qqadCAwcOdMfRjz/+WOi0dQ7UdtG1U+lqu+uY8hMlddmoFOqEE06wU045JVxMqru6gQMH2u7du23w4MEFTlt3ElWrVrXKlSu70kDdDf35z392d4x+VFko4lfeRSUXM2fOdKUl55xzji/Vuir5U8mlHvPnz7eFCxfascce60oYCnoXo22g71+rVi1XHK1qY93hXXXVVW47qehe6Re0FEclrl26dAnf4Sq9zz77zH2uZiFp3bq1FaY0RHeeLVu2DN+ZqxRW1S/Ku7ZNQauKdRc6bdo0V4qjfeY///mPr6VFukvs1q2bnXTSSe6hZZVM687U+z0Kavny5dauXTv3EJUwaJ7m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7YMK034xv/TV7koNygs6R2N+aauTgHpM3n333QUa0yy/tNVOR/ku6HaJJu14bBOvvVdh2romartoXynMvhjP7RLvbe61J8veSU9tLQvbSS+/9P3oBBjKI221b1Xa+bXRS/R2yf5hAJBSItuhajw6jUGou91USJ+0izbteKdP2lnT9MZ67d69uxtHMto2oolOPzNF084uTf/4FyICQNHwTl26A1YPW28au1RIn7SLNu14p0/aWWlIEPUAVq9RjdemsTD9FM/0F6Zo2h6COgApK3Ie3sIO8FzU6ZN20aYd7/RJ+380NIqGZNEgxoWptkxE+rtSNG0PQR0AAPCVBl2PZ5vueKa/P0XTFoI6AACAAGCaMAAAgAAgqAMAAAgAgjoAAIAAIKgDAAAIAII6AACAACCoAwAACACCOgApr2PHjvb666/neF2vaV1R+uWXX6xHjx62b98+++KLL6xBgwa5vq93795u/kfRe/J6ROZf83OOHj3aOnfubCeccIKdffbZNmrUKDffqGfgwIE2e/bsIvimAJINs70DgI8eeughu+yyy9xUQNH69NNPw/+/4YYbrGXLlta3b1+3rAnAZe/evdanTx83Kv3gwYOtfv36tmLFChs+fLgtWbLEnnrqqfDfX3fddTZ9+vTwBO4AigeCOgDwyZo1a+yjjz6yoUOHxvR31apVC/9fwWD58uWzvCYTJ0601atX28yZM61y5crutTp16tgRRxxh3bt3d6Vzp556qtWtW9dq1arl3qfXARQfVL8CKDbWr19vN910k7Vt29batWtnw4YNcyVgeVXVRlaR/u1vf3OP8847z04++WT74YcfcqSvSbpPO+20uJSQvfHGG65a1wvoPA0bNrRJkyZZixYtwq/pe0yZMsX3PABIbgR1AIoFBW9//vOfXfXliy++aI8//rj9+9//tpEjR0adxptvvmk333yzPf3003b00UfnWD9r1iw75ZRTfM75/08E/uOPP1qzZs1yXd+mTRs75JBDwssqsVu4cKFt377d97wASF5UvwIIhLvvvtvuu+++HJNne9WYCrg2bNhgr7zyilWqVMm9dtddd7n2Z3/961+j+gwFVXl1vNBnLV261LV185sXnB166KFRvV/Vspo0/LvvvnMlkgCKB4I6AIFw44032h/+8Icsr33wwQf28ssvu/+rU4FK17yATlq1auWCsZ9++imqz6hdu3ae67Zt22aZmZl22GGHhV9TYCV6PT09a8WIXvPWH4xX5arPiIY+S99TPXEBFB9UvwIIhCpVqrhOApEPveYpU6ZMjr85cOBA+DktLS3HegV8kXJLw+P9vYI1T8WKFd3zb7/9lmvpm7f+YPS5xx13nH377be5rh8yZIjNmDEjy2u5BZIAgo0jHkCxUK9ePde5YevWreHXFixY4ErLjjrqKNfr9Pfffw+vC4VCrjdrtFSapuFHfv311/BrCizLli3rPid7QLdq1Spr1KhR1Omrg4Y6c2RvJ5eRkeE6UURWzSqgU6le1apVo04fQOojqANQLKjzgNqaDRo0yLV9+/zzz10bvK5du7oSs6ZNm7qAT50oNHTIiBEjoq7uFJWKqSeq0vaoF+yFF15o9957r33yySe2du1amzt3rg0YMMB9nsaji5bGqFP7QPXIVVrK47vvvmvXXnuta+d3+umnh9+rqmZRfgAUH7SpA1AsqBRt7NixLpBToKXeon/605/slltucevV3u7222+3cePGuZ6xGj5EMzfEon379jZ//nw3+LBHaap9m4ZP0ZAq+v8ZZ5xht912W65VvnlRid8LL7xgY8aMcUHi5s2brWbNmnbBBRfYVVddlSWtefPmuYCxQoUKMeUfQGpLC6mOAQBQaOpwoWBQPW3LlSuXsHyoNE/BXrdu3RKWBwBFj+pXAPCJ2uZ16NDB3n777YTlQVWvP//8s3Xp0iVheQCQGAR1AOAjVbdOnjw5PFNFUVP1rMbfi2XuWQDBQPUrAABAAFBSBwAAEAAEdQAAAAFAUAcAABAABHUAAAABQFAHAAAQAAR1AAAAAUBQBwAAEAAEdQAAAAFAUAcAAGCp7/8AtNMYfpu47UgAAAAASUVORK5CYII=" + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnUAAAHWCAYAAAARl3+JAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAT8FJREFUeJzt3Qm81PP+x/HPaS+paFNJEtq1KkkiUrohJbuuW2QpyyURriUlsqdEZLmKEimS5eLyT7KVFnLShrQnlbR35v94f+/9zZ2zNnPOb87M/M7r+XhM029+c77znd/8ls/vu6aFQqGQAQAAIKUVS3QGAAAAUHAEdQAAAAFAUAcAABAABHUAAAABQFAHAAAQAAR1AAAAAUBQBwAAEAAEdQAAAAFAUAcAABAAJRKdAQDBtWjRIvvnP/9pX3/9tW3evNmqVatm7dq1s/79+1vt2rXD77vsssvc88svv5xjOp06dbI2bdrYAw88EH7/V199lek9aWlpVq5cOTvyyCPtr3/9q51zzjnhdbfddpt7/8cff+yWv/zyS+vTp0+eeX/22Wft5JNPtlTx5JNP2ujRo23JkiU5rj/QNgaQ+gjqAMTFxIkT7f7777e2bdvazTff7AK6n3/+2caPH28ffPCBvfTSS9agQYN8p9+oUSO7++67w8v79++3devW2YsvvmiDBw+2SpUqWceOHfNM46677rLGjRvnuK5evXr5zhsAJAJBHQDfzZ0714YPH26XXHKJ3XHHHeHXFeCdfvrp1qNHD7v99ttt6tSp+f6M8uXLW/PmzbO9rtI1lQYq7QMFdUcffXSOaQBAKqJNHQDfqTTu4IMPtptuuinbukMPPdRVh5522mm2Y8cO3z+7dOnSVqpUKVcd64eMjAx77LHHXBVwkyZN3PMjjzxie/fuzbMqVO/797//bV27drVmzZrZ+eef76p9I23ZssWVFp544onWtGlT9545c+Zkek/9+vVdtWrPnj3tuOOOc//3y8yZM126LVq0sPbt27u8bN26Nbxev5O+R6Rff/3V5ckLyPWdtDxp0iQ79dRTrWXLljZ79mzf8gggepTUAfBVKBSyzz77zAUDZcuWzfE93bp18+Vz9u3bl6n6dfXq1TZmzBj7888/M7Wpyytgi0zDo4CwePHi4bZ1r776qt16662uHeCCBQtckFeyZEm7/vrrc01bbQj1NwMHDrQjjjjCnn/+eevXr59NmTLFGjZsaLt373Zt/zZt2mR///vfXfX0G2+8YVdccYU999xzrrTR8/TTT7sq7Lp161qtWrXy/E45fR9ve0UGuk899ZSNGjXKLr74Yvf5q1atsieeeMLmz59vr732mpUpU8ZioWDzzjvvtF27drkgEUDhI6gD4Kvff//dBSyHH354XD9HnS+ytodT0HLssce64ESlRgdy+eWX5/j6McccYzNmzHD/VwcLldD16tXLLavDhoJVlUTmZefOnXbPPfe4qmY54YQTXNXzuHHjXFA4ffp0S09PdwGUSvK8qmN1aHj44YddgOdp3bq1/e1vf7No5NZG0Mu7qDRu7NixrmRQpXMebTtVmeuz9RwLBYcqlQSQOAR1AHzllXCp5MxPWatTFbzce++97v8bNmywxx9/3FWJ6vmoo46KKk39fU5BUGQpldoBqrpVQYtKH0855RS79NJLD5h2iRIlrHv37pnSVND2f//3f25Z1axVq1Z1nx9ZuqZgdOTIkS7wqlixontNJXvRev3113N8PbJTiUrj9uzZkyl/XvCokkAFsrEGdbHkEUB8ENQB8JUCkYMOOsjWrFmT63vUlk4BmBe0aCgStS/LjQKQrFW5+gy1Q/OotOvss8+2vn37uvZeart3IKrOjEwjJ6oO1Wep9EolaA899JAryVNVo0rfclOlShUX2EWqXLly+HvqeePGjbmWrGld5PaJVm7fR9/B47WbUx5zyvcff/xhsYoljwDig44SAHx30kknuQb0qobNiaocFRB9//334UBCpW25BXRqn5ZTABJJ61WVuHbtWtfz1i/FihVzpVYKFNUBYMSIES5P1113nXvOTU5BqtrPKbATVd9qTD2VrOX0iGf1tRcsKj85BZOHHHJIuHQ0a4lrPDq3APAHQR0A36m0TEGNqkJzChrUaUDDiXilVGrrpZI9VQtm9eGHH7rAIq9SMY/adHXo0MG1h8s6OHF+XXjhhTZs2DD3fwVk6i2qIG/btm22ffv2XP9OHQZmzZqVaVlVr14HCH1nBaBKU6Vr3kOBozpKeNXY8aBSTfUQ9toNer755hv3O6gHq1e657WRjByuBkByovoVgO809tsNN9zggrrly5e7zgIq/Vm6dKkb7kRBQmTAp96wGoz4qquucg8Fe+qZOm/ePBfgqO2XF2gciMa/UzWsArE333wz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d5neP2PGDDv99NPd+gEDBtjmzZsTkGsAAIDkkBRB3TvvvGOffvppeHnHjh0uyGvdurVNnTrVWrRoYVdddZV7XRYuXGh33HGHDRw40CZPnmzbtm2zIUOGJPAbAAAAFPGgbsuWLTZy5Ehr2rRp+LWZM2da6dKlbfDgwVavXj0XwB100EH23nvvufUTJkywM88803r06GENGjRwf6+gcNWqVQn8JgAAAEU4qHvwwQftnHPOsaOPPjr82oIFC6xVq1aWlpbmlvXcsmVLmz9/fni9SvE8NWrUsJo1a7rXAQAAiqISifzwOXPm2DfffGNvv/223XPPPeHXN27cmCnIk8qVK9vSpUvd/zds2GDVqlXLtn7dunUx52H//v1WvHjxfH+HnNIDAAAo7NgiYUHd7t277e6777a77rrLypQpk2ndzp07rVSpUple0/KePXvc/3ft2pXn+lgoUGzcuLH5ZcmSJS7/AAAAhSlhQd3o0aOtSZMm1qFDh2zr1J4ua4CmZS/4y2192bJlY87HMcccY36qX7++r+kBAICibf/+/bZo0aLkDerU43XTpk2uZ6t4Qdr7779v3bt3d+siadmrcq1evXqO66tWrRpzPvyseo1HegAAANHIV1CnIURUWqZHenq6ffbZZ64Ks127dlGn8fLLL9u+ffvCyw8//LB7HjRokH399df27LPPWigUcp0k9Dxv3jy7+uqr3Xs0Nt3cuXOtZ8+ebnnt2rXuodcBAACKoph7v3744Yd28sknu6Dq559/tksuucTefPNNu/baa91QI9GqVauW1alTJ/zQkCV66P9du3Z1gePw4cNt2bJl7lnt1DSMiVx00UU2ffp0mzJligsqNfTJKaecYrVr14716wAAABTNoO7xxx+366+/3k488UQXVGk4EVWlPvroo/b888/7kqny5cvbM888Ey6N01Al48aNs3Llyrn1qrIdOnSojRkzxgV4FStWtBEjRvjy2QAAAEWi+vWXX34Jl5h99NFHrlTN63BQkKm6HnjggUzLxx13nCsBzI2CPa/6FQAAoKiLOajTIL9ffvml66ywcuVK69Spk3tdY80deeSR8cgjAAAA/A7qVPWqNmzqXqt2bJreS7NCTJo0yQ1TAgAAgBQI6rp162YnnHCCrV+/3ho2bOhe6927t/Xr18+qVKkSjzwCAADAj44Sa9asccOKeA499NBwQCdHHXWUVahQwVXBAgAAIEmDutNOOy1bJ4j+/fu7OVg9GoJE1bIAAABI0qAuspTOowGCNX8rAAAAUnCcOgAAACQfgjoAAIAAIKgDAAAoSkOafPvtt246rsh2dgsXLrR169a55a1bt8YnhwAAAPAvqBs4cGC2126++eZMy2lpadEmBwAAgMIO6tLT0/38TAAAAPiMNnUAAABFpaRuyJAhUSc4YsSIguQHAAAA+UBJHQAAQFEpqaP0DQAAIEAlddu3b7edO3fmuG7jxo3M/QoAAJDMQZ3Gorv88svt+OOPt5YtW9pVV10VHpdu//79Nn78eOvSpYt9+umn8c4vAAAA8hvUDR061FavXm0jR460xx57zJXKqUp2/fr11rt3b3vkkUese/fu9t5770WTHAAAABLRpm7u3Ln2+OOPW7t27dxyo0aN7Nxzz3Xj12lmicmTJ1vTpk39zhsAAAD8DOq2bdtm9erVCy8fccQRtnfvXqtVq5YL9kqWLBnt5wEAACBR1a8qjStevHim17R83XXXEdABAACk+jh1Bx10kH85AQAAQHyrX+Xdd9+18uXLh5czMjLsgw8+sMqVK2d6X48ePfKfGwAAAMQvqKtZs6Y9//zzmV5TMDdx4sRMr6WlpRHUAQAAJGtQ9/HHH8c/JwAAAMg35n4FAAAoKiV1nTp1clWr2f64RAmrUKGCNWzY0C655BKrX79+PPIIAAAAP4I6DV2SE3WW+OOPP2zBggV24YUX2nPPPWetWrWKJkkAAAAUdlCn2SMOZPTo0W4g4pdfftmPfAEAACARberOOOMM++GHH/xKDgAAAIkI6sqUKeNmngAAAEAKB3UanLhBgwZ+JQcAAAC/29RNmzYtz44S8+fPtw8//NDGjRsXy2cDAACgMIO6UaNG5fh6yZIl7eCDD3ZDmbz66qvWpEkTv/IFAACAGDCjBAAAQFFrU7d9+3ZX5RppyZIlrgoWAAAAKRDUvfDCC3byySe79nORHnzwQTvppJMYnw4AACDZq1+nT59uTzzxhA0aNMgaN26cad2YMWPs9ddft0ceecQqV65s3bp1i1deAQAAUJCg7qWXXrI77rjDevfunW1d2bJl7bLLLrO9e/fa+PHjCeoAAACStfp15cqVdsIJJ+T5nk6dOtmKFSv8yhcAAAD8DuoqVKhgmzdvzvM927Zts4MOOiiWzwYAAEBhBnXqIKGq1bxofevWrf3KFwAAAPwO6gYMGGBz5861K664wmbPnm1bt251Q5v8/vvv9tlnn7nXv/jiC7vuuuti+WwAAAAUZkeJww47zCZOnGj33nuvC+Cyat++vb3yyitWr149v/IFAAAAv4M6OfLII91YdevXr7f09HQ34HClSpWsUaNGduihh8bymQAAAEhUUOepXr26exQVoWLFLGRplmYh96xlAACAZEOEciDFStieqg1cQKdnLQMAEBSaRKBz587uGamNoC4KO2u3sa0t+7hnAACCYteuXTZt2jTX+VHPWkbAgzr1eN2zZ0/8cwMAAArNvn37XEAnetYyAh7UDRw4MDz48GmnneaGMvHDzz//bP369bMWLVrYKaecYs8991x43apVq+zyyy+35s2bu6nHNHRKpM8//9y6d+9uzZo1sz59+rj3AwAAFFUlop1RQnXtLVu2tNWrV9s777xj5cuXz/G9PXr0iOqDdUfQv39/a9q0qb355psuwLvppptcJwwFaxob79hjj7U33njDPvzwQxdYzpw502rWrGlr1qxx6zUuXocOHVzerr32WnvrrbcsLS0tti0AAABQVIK6u+66y5588klXOqagSSVqxXLoBap10QZ1mzZtsoYNG9o999zjAkQNmdKuXTs3yHGVKlVcydukSZOsXLlybvy7OXPmuABPgdyUKVOsSZMm1rdvX5fWiBEj3Fh5X331lbVt2zbWbQAAAFA0gjpVueohnTp1stdff73AY9NVq1bNHn/8cff/UChk8+bNs6+//truvvtuW7BggRv/TgGdp1WrVjZ//nz3f62PnJKsbNmy1rhxY7eeoA4AABRFMY/P8fHHH4c7TyxfvtxVo9atW9dOPPFEK1myZL4yoUBRVaqnnnqqdenSxe6//34X9EWqXLmyrVu3zv1/48aNea4HAAAoamIO6jSjxDXXXGMrV650wdz+/ftdezi1ddOME/kZmHjUqFGuOlZVsapK3blzp5UqVSrTe7Ts9cA90PpYKP/FixeP+e/ySg8AgFSQ9ZqlZa5jySfa3yTmoE6Bl0rFFMBVrFjRvabesLfccosNHz7cBWixUmcJ2b17tw0aNMh69erlArdICtjKlCnj/l+6dOlsAZyW1aEjVkuXLnVVt35ZsmRJtrwDAJCMsl6vFi1a5Jo0ITXFHNR98cUXNnny5HBAJ4cccogL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IYfEJTB6/PHH7YsvvrBff/3VOnXqZL1793YzsvjhiSeecLO9/PTTTy5N7S8KTv22bt06F5DWrVs3/JrfAYGf+2KkJUuWuJujww47zGrUqOEmAPcr72vWrHHbpV69eua3r7/+2g4//HCXZ7/de++97kbjoYcecucBv2l/9LZLyZIlfd1PnnrqKRs1apS98sor1rJlS1/3Q20T5fvII480v2m6TV0z9Jt6efZjn3/mmWfcPr5q1Sq74IIL3Hmgfv36vuV7woQJrvbl9ttvd3n2c3s/9dRTboaqn3/+2U477TTr3LlzeOaqgnr22WctPT3dFQboeqdzb+nSpc03GqcO//Pmm2+G2rdvH5o9e3Zo2rRpobFjx4aaNWsWevTRRwuc9v79+0MbN24MtW3bNjR+/PjQ7t27Q36ZNGlSqEOHDqEFCxaEvvnmm9DkyZNdvt99911f0n/xxRdDJ554Yuirr74KTZkyJXTBBReEJkyY4Eva27dvD5166qmh7t27h0aOHBnatm2bez0jI6PAad9///2h448/PrRy5cqQ395++223r8ydOzf01ltvhT744APf0h4xYkSodevWobVr14buueee0K233ur2Hz388PLLL7u8z5kzJ/Tqq6+63/OZZ57xJW3te0r7iy++CM2YMcOl27hx49ATTzwR8tNDDz0U+stf/hJq1apVqH///qHnnnsufEz5sZ0ijx0/9sVIDz/8sNvf27RpE7roootC9913n2/ng0ceeSR0zjnnhFq2bBnq27dvaOnSpb58B23TZcuWhRo0aODOh2vWrAn5Sft8ixYtQt9//30oHh544IFQ165d3Xbp06dP6Ntvv/Utbf1+zZs3d8fsCy+8EPKTtrV+T53HtJ97v6dfaevY13545ZVXhsaMGePLMfTss8+GTjjhhNBLL70U+sc//hHq169f6LLLLgt98sknvuV9+vTpofr167vP8vM4HTt2rLvW6Xz+9NNPhwYNGuSOo59//rnAaescqO2ia6fS1XbXMeUnSuqyUCnUcccdZyeeeGK4mFR3dYMGDbJdu3bZkCFD8p227iSqVKlilSpVcqWBuhv661//6u4Y/aiyUMSvvItKLmbOnOlKS7p27epLta5K/lRyqce8efNswYIFdvTRR7sShvzexWgb6PvXrFnTFUer2lh3eFdccYXbTiq6V/r5LcVRiWu3bt3C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+/GoUaNcGyP9ftouamukNnBy880356vdkb77li1b3P//+OMPt4/ce++9mfKn/f+dd95xbabeeOONmNPfunWr+//69etDvXv3Dn3++eehhQsXhtq1axcaMGBA+L2xbpPIvKsNprZBZFua1157zbW10ffK2pbpQJ8VmfaPP/7ovr93PlB7TJ1rfv/999C//vWv0KWXXup+2/xsE8+sWbNC559/frgNstrD6hhQ+0Z9Tixpb968ObysdqNKa/To0aHBgwe7/Ou88OGHH7p8q01cLNs9crts2rTJtUvTfqk2wfotlf6GDRtce2GlH9k260Dmz58f2rdvX3g58je76qqrXPux/IrM94oVK9x21b5x8sknh3r16uXadinvOucq3zqG85O2voO2ibZ35LnywgsvDE2cONEdQ14buANtd7XNUxtR/X7dunULDRs2zLUbve6660JLlizJ9F61y1Y7Pu1H0cqavs5Xaout/EYe902aNAmfZ6LJd9a0db3UOUvHoX5f75qstoy33HJLpr+Lpk1pZNp61jbx6LrgtR8XnQ+072j/LAj6XedAVU8qcVIxtKqjRHcguqNWJK+qh/x209adpqqedHeqNHSHqmpYlbKpV0xkFWqsvCoE785QVYEq0fCGCFG7Fd0pFWToDS+trHfMugtRFbDuSPKzXXT3ojsjlV6qhEWlmao60h2jqgHUHiG/pSOqhtadnErNVMIQSXenuhtW/vOTvraniuq1T+gO2qN9RVUx6lma320SSSUgagOnqh2VxvhBpROqYlXJSOSQJsq77lDzm3f9ltrH9Tuq2l4ljCoZ1B20t15V4rHsc/rOSlPV0toX1AblwgsvdG2jdNx4tP+rtEFtAlV9F2v6ar+kY0allKr2V5Waeu3p+FQJptqoiVcSEGvaKqVQerfddpvVqVMn/D6dC7Qvatt7x69K11Q6kNv2z5q2fkO14/Sq6HU+UDsjnWtU0qDSQFXLqjQs1nxrm3uUb+VX1WxqU6dtrd9Bx0E0wxFFpq1SLTW7ENWEqARGtRgqgVH+VWWnEliV6irfsW5zb3/R76naFZUm/fvf/3a/q9JXCeBFF13kqtojS0+jSVtV/d520W+mbSIq8VMpmNrZxSLrNtf5W/nU9lAbL20bnW9UuqW8/+1vf3P5juZYymk/VG2L9gnVhOhYUum8zjGqjlVJqc6JKn2VvM4B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XXe59md///vfo/oMBVW5dbzQZy1ZssS1dfObF5wdfPDBUb1f1bKaNPyHH35wJZIAigaCOgCBcP3119sZZ5yR6bUPPvjAXn31Vfd/dSpQ6ZoX0EnLli1dMPbLL79E9Rm1atXKdd3WrVstIyPDDjnkkPBrCqxErxcrlrliRK956w/Eq3LVZ0RDn6XvqZ64AIoOql8BBELlypVdJ4HIh17zlC5dOtvf7N+/P/yclpaWbb0Cvkg5peHx/l7BmqdChQru+Y8//six9M1bfyD63GOOOca+//77HNfffvvtNmPGjEyv5RRIAgg2jngARULdunVd54YtW7aEX5s/f74rLTviiCNcr9M///wzvC4UCrnerNFSaZqGH/n999/DrymwLFOmjPucrAHdypUrrWHDhlGnrw4a6syRtZ1cenq660QRWTWrgE6lelWqVIk6fQCpj6AOQJGgzgNqazZ48GDX9u2LL75wbfC6d+/uSsyaNGniAj51otDQISNGjIi6ulNUKqaeqErbo16w559/vt1777326aef2urVq+3rr7+2gQMHus/TeHTR0hh1ah+oHrlKS3l899137eqrr3bt/E4++eTwe1XVLMoPgKKDNnUAigSVoj311FMukFOgpd6iZ511lt10001uvdrb3XrrrTZ27FjXM1bDh2jmhlh06NDB5s2b5wYf9ihNtW/T8CkaUkX/P+WUU+yWW27Jsco3Nyrxe+mll2zMmDEuSNy0aZPVqFHDzjvvPLviiisypTV37lwXMJYvXz6m/ANIbWkh1TEAAApMHS4UDKqnbdmyZROWD5XmKdg755xzEpYHAIWP6lcA8Ina5nXs2NHefvvthOVBVa9r1661bt26JSwPABKDoA4AfKTq1okTJ4Znqihsqp7V+HuxzD0LIBiofgUAAAgASuoAAAACgKAOAAAgAAjqAAAAAoCgDgAAIAAI6gAAAAKAoA4AACAACOoAAAACgKAOAAAgAAjqAAAALPX9P8klF40p42f+AAAAAElFTkSuQmCC" }, "metadata": {}, "output_type": "display_data" } ], - "execution_count": 27 + "execution_count": 90 }, { "metadata": {