diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..1929a21 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,4 @@ +# Copilot Instructions + +Read `AGENTS.md` and `README.md`. Repository code, tests, and the current +working tree are authoritative for implementation state. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ab83e9a..8523fe3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,3 +34,6 @@ jobs: - name: Check formatting run: uvx ruff format --check . + + - name: Test + run: uv run python -m unittest discover -s tests -v diff --git a/.gitignore b/.gitignore index 4a880fe..9f7f4a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,4 @@ .DS_Store -AGENTS.md -CLAUDE.md -.github/copilot-instructions.md # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..692adea --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,20 @@ +# Project Instructions + +Behavioral-only analysis code for Churchland Lab thesis work. + +- Start from the actual branch, working tree, notebooks, scripts, and tests. +- Read `README.md` and `docs/MIGRATION.md` before changing the data-access or + package surface. +- Keep behavioral analysis here; electrophysiology work belongs in the + `ephys` repository. +- Maintained reusable work uses `labdata`, `labdata_plugin/`, and + `src/behavior_analyses/`. Archived `djchurchland` notebooks live under + `archive/djchurchland/`. +- Do not reintroduce `/Users/gabriel` paths or machine-local dependency paths. +- Use Notion for current priorities and decisions, not as a copy of repository + state. + +Run the narrowest relevant checks, then `uvx ruff check .`, +`uvx ruff format --check .`, and +`uv run python -m unittest discover -s tests -v` when the full migration +surface is affected. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..29723e5 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,3 @@ +# Project Instructions + +Read `AGENTS.md` and `README.md`. diff --git a/README.md b/README.md new file mode 100644 index 0000000..aa4a7ac --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# behavior_analyses + +Behavioral-only analysis code for thesis work in the Churchland Lab. + +## Setup and checks + +```bash +uv sync +uvx ruff check . +uvx ruff format --check . +uv run python -m unittest discover -s tests -v +``` + +`fit-psychometric` is vendored under `third_party/fit_psychometric` (no sibling +checkout or machine-local path required). Optional Chipmunk plugin fallback: + +```bash +export CHIPMUNK_PLUGIN_PATH=/path/to/labdata/plugins/chipmunk +``` + +## Layout + +- `src/behavior_analyses/` — reusable analysis modules +- `scripts/analyses/` — maintained scripts and migration entry points +- `labdata_plugin/` — local analysis-schema plugin under development +- `tests/` — migration-focused tests +- `docs/MIGRATION.md` — inventory, portability notes, live-validation gates +- `behavioral_metrics/`, `psychometric_curves/`, + `psychophysical_kernels/` — maintained labdata notebooks + helpers +- `archive/djchurchland/` — preserved pre-migration notebooks +- `archive/labdata_migration/` — preserved superseded migration smoke notebooks +- `notebooks/` — ingestion and exploratory work +- `oft/` — open-field analyses (archived notebooks relocated) + +## Data access + +Maintained analysis paths use `labdata` and the local plugin in +`labdata_plugin/`. Prefer `from chipmunk import Chipmunk` for trial-level +Chipmunk data. Archived `djchurchland` notebooks are under +`archive/djchurchland/` and are not active entry points. + +## Migration CLIs + +```bash +uv run python scripts/analyses/seed_behavior_analysis_set.py --help +uv run python scripts/analyses/migrate_behavior_analysis_schema.py --help +uv run python scripts/analyses/populate_behavior_tables.py --help +uv run python scripts/analyses/plot_psychometrics.py --help +``` + +Use `--dry-run` on seed/populate before any database writes. diff --git a/archive/djchurchland/README.md b/archive/djchurchland/README.md new file mode 100644 index 0000000..f12a25b --- /dev/null +++ b/archive/djchurchland/README.md @@ -0,0 +1,23 @@ +# Archived djchurchland notebooks + +These notebooks are preserved as provenance for the pre-labdata analysis workflows. +They are **not** maintained entry points. + +| Path | Classification | +| --- | --- | +| `psychometric_curves/` | archived | +| `behavioral_metrics/` | archived | +| `psychophysical_kernels/` | archived | +| `root/sess.ipynb` | archived | +| `oft/` | archived (absolute desktop paths; not part of the Chipmunk LabData migration) | + +Maintained replacements: + +- `src/behavior_analyses/` — reusable analysis functions +- `labdata_plugin/analysisschema.py` — DataJoint computed/manual tables +- `scripts/analyses/` — seed, populate, and plot CLIs +- `psychometric_curves/utils.py` — labdata-backed plotting helpers +- `psychometric_curves/plot_psychometric_fits.ipynb` +- `behavioral_metrics/plot_learning_curves.ipynb` +- `psychophysical_kernels/plot_kernels.ipynb` +- `sess.ipynb` diff --git a/behavioral_metrics/correlations.ipynb b/archive/djchurchland/behavioral_metrics/correlations.ipynb similarity index 100% rename from behavioral_metrics/correlations.ipynb rename to archive/djchurchland/behavioral_metrics/correlations.ipynb diff --git a/behavioral_metrics/plot_performance_learning.ipynb b/archive/djchurchland/behavioral_metrics/plot_performance_learning.ipynb similarity index 100% rename from behavioral_metrics/plot_performance_learning.ipynb rename to archive/djchurchland/behavioral_metrics/plot_performance_learning.ipynb diff --git a/behavioral_metrics/session_stats.ipynb b/archive/djchurchland/behavioral_metrics/session_stats.ipynb similarity index 100% rename from behavioral_metrics/session_stats.ipynb rename to archive/djchurchland/behavioral_metrics/session_stats.ipynb diff --git a/oft/oft_MPH.ipynb b/archive/djchurchland/oft/oft_MPH.ipynb similarity index 100% rename from oft/oft_MPH.ipynb rename to archive/djchurchland/oft/oft_MPH.ipynb diff --git a/oft/openfieldtest.ipynb b/archive/djchurchland/oft/openfieldtest.ipynb similarity index 100% rename from oft/openfieldtest.ipynb rename to archive/djchurchland/oft/openfieldtest.ipynb diff --git a/archive/djchurchland/psychometric_curves/plot_psychometric_fits.ipynb b/archive/djchurchland/psychometric_curves/plot_psychometric_fits.ipynb new file mode 100644 index 0000000..9d06602 --- /dev/null +++ b/archive/djchurchland/psychometric_curves/plot_psychometric_fits.ipynb @@ -0,0 +1,512 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], + "source": [ + "from djchurchland.schema import Task\n", + "from djchurchland.chipmunk.task import Chipmunk\n", + "from djchurchland.chipmunk.psychometric import PsychometricFit\n", + "from chiCa.chiCa import separate_axes\n", + "from behavior_analyses.psychometric_curves.utils import (\n", + " plot_single_mouse_psychometric_fit,\n", + " plot_multi_mouse_psychometric_fit,\n", + ")\n", + "\n", + "from datetime import datetime\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "import os\n", + "\n", + "\n", + "new_rc_params = {\"text.usetex\": False, \"svg.fonttype\": \"none\"}\n", + "mpl.rcParams.update(new_rc_params)\n", + "plt.rcParams[\"font.sans-serif\"] = [\"Arial\"]\n", + "plt.rcParams[\"font.size\"] = 12\n", + "\n", + "save_dir = \"/Users/gabriel/Desktop/BSN_figures/\"\n", + "if not os.path.exists(save_dir):\n", + " os.makedirs(save_dir)\n", + "\n", + "%matplotlib widget\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Identify sessions with good behavior (>80% performance)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['GRB005', 'GRB006', 'GRB026', 'GRB027', 'GRB036', 'GRB037', 'GRB038', 'GRB039', 'GRB041', 'GRB045', 'GRB046'])" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mice = np.unique(PsychometricFit.fetch(\"subject_name\"))\n", + "performance_threshold = 0.7\n", + "good_behavior_sessions = dict()\n", + "for mouse in mice:\n", + " if mouse in [\n", + " \"GRB001\",\n", + " \"GRB002\",\n", + " \"GRB003\",\n", + " \"GRB004\",\n", + " \"GRB007\",\n", + " ]: # mice only trained on 1s wait time version of the task\n", + " continue\n", + "\n", + " trials_df = pd.DataFrame(Task.TrialSet() & f'subject_name = \"{mouse}\"')\n", + "\n", + " easy_perf_df = pd.DataFrame(\n", + " {\n", + " \"session_datetime\": trials_df.session_datetime,\n", + " \"avg_performance\": trials_df.performance.apply(\n", + " lambda x: np.mean([x[0], x[-1]])\n", + " ),\n", + " }\n", + " )\n", + "\n", + " # find sessions with performance above threshold in database\n", + " try:\n", + " sessions = (\n", + " Chipmunk() * Chipmunk.Trial() * PsychometricFit() * Task()\n", + " & \"n_total_trials_with_choice > 200\"\n", + " & \"goal_wait_time >= 0.5\"\n", + " & \"goal_wait_time < 0.6\"\n", + " & f'subject_name = \"{mouse}\"'\n", + " & \"session_datetime in (\"\n", + " + \",\".join(\n", + " [\n", + " f'\"{dt}\"'\n", + " for dt in easy_perf_df[\n", + " easy_perf_df.avg_performance >= performance_threshold\n", + " ].session_datetime.dt.strftime(\"%Y-%m-%d %H:%M:%S\")\n", + " ]\n", + " )\n", + " + \")\"\n", + " ).fetch(\"session_datetime\")\n", + " except Exception:\n", + " print(\n", + " f\"Mouse {mouse} has no sessions with performance above {performance_threshold}\"\n", + " )\n", + " continue\n", + "\n", + " if len(np.unique(sessions)) >= 10:\n", + " good_behavior_sessions.update({mouse: sessions})\n", + "\n", + "good_behavior_sessions.keys()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Identify good behavior ephys sessions" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "GRB006_ephys_sessions = [\n", + " \"20240424_150511\",\n", + " \"20240429_174359\",\n", + " \"20240430_183206\",\n", + " \"20240501_195113\",\n", + " \"20240502_161058\",\n", + " \"20240506_171411\",\n", + " \"20240507_180829\",\n", + " \"20240508_173227\",\n", + " \"20240509_163637\",\n", + " \"20240510_180411\",\n", + " \"20240530_164626\",\n", + " \"20240604_123410\",\n", + " \"20240605_133531\",\n", + " \"20240606_141045\",\n", + " \"20240607_133855\",\n", + " \"20240612_142350\",\n", + " \"20240613_140011\",\n", + " \"20240614_132538\",\n", + " \"20240620_124808\",\n", + " \"20240621_143838\",\n", + " \"20240628_130506\",\n", + " \"20240702_134736\",\n", + " \"20240715_134530\",\n", + " \"20240716_151257\",\n", + " \"20240717_154846\",\n", + " \"20240723_142451\",\n", + " \"20240724_144439\",\n", + " \"20240806_141817\",\n", + " \"20240814_154434\",\n", + "]\n", + "\n", + "ephys_mice = [\"GRB006\"]\n", + "behavior_ephys_sessions = {}\n", + "\n", + "for mice in ephys_mice:\n", + " ephys_sessions = []\n", + " for date in GRB006_ephys_sessions:\n", + " ephys_sessions.append(datetime.strptime(date, \"%Y%m%d_%H%M%S\"))\n", + "\n", + " ephys_set = set(ephys_sessions)\n", + " behavior_set = set(good_behavior_sessions[mice])\n", + " behavior_ephys_sessions[mice] = ephys_set.intersection(\n", + " behavior_set\n", + " ) # get the ephys sessions that are also good behavior sessions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Single animal psychometric fit plotting" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Calculating average fit for 29 sessions for mouse GRB006...\n", + "Combined data: 10394 trials for mouse GRB006\n", + "Successfully fit average curve for mouse GRB006\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b0391a5254de4e4da41249fd8f3750bc", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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uJrNZjq/XiwWaQ3dYrHAZDKhXC5jaGiIjqV5PB6EQiF6c+L1emG1WsFxHNLpNPNyBxP0PQ6LxYK6urqdfYytwvM8nnnmGbz77rs44IADAAC/+tWv8OUvfxmCIOCll15CKpXCH/7wB3i9XixcuBDvvfce7rnnHjzxxBM7+fQMxq4BaSIzm80Ih8NjRrGKoqBcLuPDDz+kQhoMBsFxHBoaGmAymaDrOlRVhclkgsVigcfjGSWekiQhm80il8uhXC7XjKvJsgxN0+iedJvNRp3oiJuc0WikRjQkza9pGqxWKyKRCLxeL4xGI4aGhpBMJiFJEs4//3wAwM033wyPx4Pe3l40NDQgFovtiLd3l4Sl3LeT7u5uGAwGPPvss+jo6IDNZsM3v/lNZDKZCX1/b28vjj76aLhcLkQiEVxxxRV0ZEPXddx8882or6+Hz+fDCSecgN7eXvq9Tz75JObNmwebzYa99toLzz//PP3cvffei5aWFthsNhx44IH461//CmB0yr2/vx+nnXYaAoEAQqEQrrzySoiiCAD43e9+hyOOOALLli1DKBSCz+fDj370I1qr2trZR0Lu8kd+3HjjjaO+luM4vPTSS1i0aFHN46qqolQqYdOmTZg/fz68Xi/93L777ov3339/Qu85gzGb0TQN6XQahUIBLpcLoVBolJgrioK+vj68//77SKVSEAQB5XIZJpMJw8PDEEURXq8XqqoCAOx2O4LBICKRCBVzURSRTCaxfv16rFq1CkNDQzCbzWhpacGCBQvQ0NBAr6tpGlKpFNavX48NGzZg3bp16OnpgSAINHVvt9sBACaTCX6/Hy0tLWhra0MgEKANc7/97W9xyimn4Oqrr6av5frrr8fSpUtxyimn4Le//e2OeIt3WViEPk3cdttteOKJJ6DrOk488UTcdddduPXWW7f5fVdccQVcLhc+++wzDA8P45RTTsGCBQtw6aWX4v7778d//Md/4P/9v/+Huro63HnnnTj66KPxz3/+E9lsFueeey4eeughHHnkkXj66adx5plnYmBgAD09Pbj66qvx7LPPYuHChVi+fDm+853vYGBgoOa5JUnCV7/6VXR2duKtt95CMpnERRddBIPBgOXLlwMA3nvvPdTV1eHdd9/Fxx9/jPPOOw/HHnssjjrqqK2efSTjpfnHGpex2+045phjah5bvnw59t13X4RC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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "mouse = \"GRB006\"\n", + "fig, ax = plt.subplots(figsize=(5, 5))\n", + "\n", + "plot_single_mouse_psychometric_fit(\n", + " mouse_id=mouse,\n", + " ax=ax,\n", + " plot_mode=\"both\",\n", + " sessions_list=behavior_ephys_sessions[mouse],\n", + ")\n", + "\n", + "# plt.title(f'Psychometric Fits for {mouse}')\n", + "ax.legend(frameon=False, fontsize=10)\n", + "ax.text(4, 0.89, f\"n_sessions = {len(behavior_ephys_sessions[mouse])}\", fontsize=10)\n", + "separate_axes(ax)\n", + "# plt.savefig(pjoin(save_dir, f'{mouse}_ephys_psychometric_fits.svg'), format='svg', dpi=300)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Multi-animal psychometric fit plotting" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Calculating average fit for mouse GRB005 with 12 sessions...\n", + "Combined data: 3400 trials for mouse GRB005\n", + "Successfully fit average curve for mouse GRB005\n", + "Calculating average fit for mouse GRB006 with 81 sessions...\n", + "Combined data: 28103 trials for mouse GRB006\n", + "Successfully fit average curve for mouse GRB006\n", + "Calculating average fit for mouse GRB026 with 25 sessions...\n", + "Combined data: 6965 trials for mouse GRB026\n", + "Successfully fit average curve for mouse GRB026\n", + "Calculating average fit for mouse GRB027 with 28 sessions...\n", + "Combined data: 10611 trials for mouse GRB027\n", + "Successfully fit average curve for mouse GRB027\n", + "Calculating average fit for mouse GRB036 with 25 sessions...\n", + "Combined data: 6324 trials for mouse GRB036\n", + "Successfully fit average curve for mouse GRB036\n", + "Calculating average fit for mouse GRB037 with 42 sessions...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/gabriel/miniconda3/lib/python3.10/site-packages/statsmodels/base/model.py:595: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available\n", + " warnings.warn('Inverting hessian failed, no bse or cov_params '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Combined data: 12521 trials for mouse GRB037\n", + "Successfully fit average curve for mouse GRB037\n", + "Calculating average fit for mouse GRB038 with 39 sessions...\n", + "Combined data: 12185 trials for mouse GRB038\n", + "Successfully fit average curve for mouse GRB038\n", + "Calculating average fit for mouse GRB039 with 12 sessions...\n", + "Combined data: 3416 trials for mouse GRB039\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/gabriel/miniconda3/lib/python3.10/site-packages/statsmodels/base/model.py:595: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available\n", + " warnings.warn('Inverting hessian failed, no bse or cov_params '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Successfully fit average curve for mouse GRB039\n", + "Calculating average fit for mouse GRB041 with 17 sessions...\n", + "Combined data: 4473 trials for mouse GRB041\n", + "Successfully fit average curve for mouse GRB041\n", + "Calculating average fit for mouse GRB045 with 12 sessions...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/gabriel/miniconda3/lib/python3.10/site-packages/statsmodels/base/model.py:595: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available\n", + " warnings.warn('Inverting hessian failed, no bse or cov_params '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Combined data: 4182 trials for mouse GRB045\n", + "Successfully fit average curve for mouse GRB045\n", + "Calculating average fit for mouse GRB046 with 17 sessions...\n", + "Combined data: 5527 trials for mouse GRB046\n", + "Successfully fit average curve for mouse GRB046\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3d78c5f5811a4109ae3546dedb7e5c2c", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(5, 5))\n", + "mice_list = list(good_behavior_sessions.keys())\n", + "\n", + "plot_multi_mouse_psychometric_fit(mouse_sessions_dict=good_behavior_sessions, ax=ax)\n", + "\n", + "ax.legend(frameon=False, fontsize=10, loc=\"upper left\")\n", + "ax.text(\n", + " 20,\n", + " 0.1,\n", + " s=f\"session performance threshold = {int(performance_threshold * 100)}%\",\n", + " fontsize=10,\n", + " ha=\"right\",\n", + ")\n", + "separate_axes(ax)\n", + "# plt.savefig(pjoin(save_dir, 'psychometric_fits_all_mice.svg'), format='svg', dpi=300, bbox_inches='tight')" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Calculating average fit for mouse GRB036 with 25 sessions...\n", + "Combined data: 6324 trials for mouse GRB036\n", + "Successfully fit average curve for mouse GRB036\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/gabriel/miniconda3/lib/python3.10/site-packages/statsmodels/base/model.py:595: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available\n", + " warnings.warn('Inverting hessian failed, no bse or cov_params '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Calculating average fit for mouse GRB037 with 42 sessions...\n", + "Combined data: 12521 trials for mouse GRB037\n", + "Successfully fit average curve for mouse GRB037\n", + "Calculating average fit for mouse GRB038 with 39 sessions...\n", + "Combined data: 12185 trials for mouse GRB038\n", + "Successfully fit average curve for mouse GRB038\n", + "Calculating average fit for mouse GRB045 with 12 sessions...\n", + "Combined data: 4182 trials for mouse GRB045\n", + "Successfully fit average curve for mouse GRB045\n", + "Calculating average fit for mouse GRB046 with 17 sessions...\n", + "Combined data: 5527 trials for mouse GRB046\n", + "Successfully fit average curve for mouse GRB046\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "edb757ce96d1407795b5cc29178a0d09", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAA0z1JREFUeJzs3Xd4U2X7wPFv0nTvCS20BVr2KHsWZAmKCxUX44ciKAjIXgrIFFBARF59UWTIeFFkqIDKRtl7jzIKtNDSvdu0Sc7vj5SUWCqlNKWU+3NdveQ858k5TyL0znnG/agURVEQQgghxGNN/agbIIQQQoiHJwFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDJAAroQQghRBkhAF0IIIcoACehCCCFEGSABXQghhCgDJKALIYQQZYAEdCGEEKIMkIAuhBBClAES0IUQQogyQAK6EEIIUQZIQBdCCCHKAAnoQgghRBkgAV0IIYQoAySgCyGEEGWABHQhhBCiDJCALoQQQpQBEtCFEEKIMkACuhBCCFEGSEAXQgghygAJ6EIIIUQZIAFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDJAAroQQghRBkhAF0IIIcoACehCCCFEGSABXQghhCgDJKALIYQQZYAEdCGEEKIMkIAuhBBClAES0IUQQogyQAK6EEIIUQZIQBdCCCHKAAnoQgghRBkgAV0IIYQoAySgCyGEEGWABHQhhBCiDJCALoQQQpQBEtCFEEKIMkACuhBCCFEGSEAXQgghygAJ6EIIIUQZIAFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDKgVAZ0rVZLnTp12LVrV4F1jh8/TrNmzXBwcKBJkyYcPXq05BoohBBClDKlLqBnZWXx1ltvcfbs2QLrpKen06VLF1q3bs3Ro0dp2bIlzz33HOnp6SXYUiGEEKL0KFUB/dy5czRv3pwrV678a70ff/wRe3t7Pv/8c2rWrMm8efNwdnZmzZo1JdRSIYQQonQpVQF99+7dtGvXjv379/9rvQMHDhAaGopKpQJApVLRqlWr+75OCCGEKKs0j7oBdxswYECh6kVFRVG7dm2zsnLlynHmzJkCX6PVatFqtaZjRVHIzs7Gy8vL9MVACCGEeFyVqif0wsrIyMDW1taszNbW1ixg/9OMGTNwdXU1/bi5ueHj40NqaqqlmyuEEEJY3GMZ0O3s7PIFb61Wi4ODQ4GvGTduHMnJyaafiIgISzdTCCGEKDGlqsu9sCpUqEB0dLRZWXR0NL6+vgW+xtbWNt9TvRBCCFFWPJZP6M2bN2ffvn0oigIYx8P37t1L8+bNH3HLhBBCiEfjsQno0dHRZGZmAtCtWzeSkpIYOnQo586dY+jQoaSnp/P6668/4lYKIYQQj8ZjE9B9fX358ccfAXBxcWHjxo38/fffNGrUiAMHDrB582YcHR0fcSuFEEKIR0Ol3Om3fsKkpKTg6upKcnIyLi4uj7o5QgghxEN5bJ7QhRBCCFEwCehCCCFEGSABXQghhCgDJKALIYQQZYAEdCGEEKIMkIAuhBBClAES0Mug9PR0JkyYQI0aNbC3t8fLy4tu3bpx9uxZAK5du4ZKpTL7sba2xs/Pj8GDB5OdnX3PelZWVvj5+TFmzBh0Op3pfoqiMHbsWLy9vfHw8GD06NEYDAbT+SNHjtCyZUscHByoXr06P/zwg1l7T58+TWhoKPb29tStW5edO3eWwKckhBBly2OZy10ULC0tjdDQUNLS0pg7dy4hISHExcWxYMECWrZsyYkTJ0zbxR46dAh/f38AsrKy2LVrF/3798fb25uJEyearnmnnk6nIywsjN69e+Ph4cGYMWMAmDt3LqtWrWL9+vXk5OTQs2dPfHx8GDlyJMnJyTz77LO8/fbbrFixgv379/POO+8QFBREq1atSE5O5umnn+bFF19k6dKlLF++nJdffpmwsDB8fHxK/gMUQojHlfKESk5OVgAlOTn5UTelWI0aNUrx9fVVEhMT853r0KGDMmjQICU8PFwBlPDw8Hx1+vbtq9SvX19RFKXAejNmzFAaNGhgOvb391eWLFliOl6+fLkSGBioKIqinD59WunVq5diMBhM5xs0aKDMmjVLURRF+fLLL5WgoCBFp9OZzjdu3FjZtGnTA75zIYR4sskTehliMBhYunQpo0ePxs3NLd/55cuX4+bmxu3btwu8hq2tLRrNv/+1uDvF7q1bt4iIiKBNmzamstDQUK5fv05UVBR16tQxdbEbDAY2bdrExYsXTfV37drFSy+9hJWVlen1hw8fLtT7FUIIkUfG0MuQK1euEBsbS+vWre953tfXF3t7+3ueUxSFXbt2sXLlSrp161bgPSIiIli0aBE9e/YEICoqCgA/Pz9TnXLlygEQGRlpKsvOzsbOzo4XX3yR//u//zPtjHf16lW8vb157733KF++PM2bN2fv3r0P8K6FEEKAjKEXWsyzXdDHxJb4fa18vPH5fXOh6sbFxQHg4eFhKtu2bRtdu3Y1HQcGBrJp0yYAateubRpP12q1+Pj4MGTIEEaOHGl23Tv1DAYDmZmZBAcH06tXLwAyMjIAzPaav/NnrVZrdp0DBw5w4cIFBg4cSNWqVRk+fDhpaWnMnDmTIUOG8Pvvv7N69Wo6derEhQsXTOP7Qggh7k8CeiHpY2IxREc/6mb8K3d3dwCSkpJMZXcmwgGsW7eOr7/+2nRu8+bNVKhQgRs3bjBw4EBCQkL4+OOPzbq/765nMBiIjo5m2rRptG7dmpMnT2JnZwcYg/fdfwZwcHAwXcPGxoaGDRvSsGFDbt26xfz58xk+fDgajYYGDRowefJkABo0aMCWLVtYvnw5H330UfF+QEIIUYZJQC8kKx/vUn/f4OBgPD092bdvH02aNAGMQTU4OBgg36zxwMBAKlWqRHBwMBs3biQkJIQRI0Ywf/78e9YDqFatGsuWLcPPz4+tW7fSsGFDwLhf/Z060blffHx9fQkPDycsLIzOnTubrlerVi1Tb4Kvry81atQwu1+1atWIiIgo9PsWQgghAb3QCtvt/ShpNBr69OnDvHnz6NOnD87Ozmbnb968WeBrg4KCmDx5MqNGjaJHjx40a9aswLpK7o67er0ePz8/AgIC2LNnjymg79mzh4CAAHx9fVm9ejX9+/cnKirKNH5/9OhRatasCUDz5s3ZvXu32fUvXLhA9+7dH/j9CyHEE+1RT7N/VMrqsrX09HSlefPmSu3atZU1a9YoV69eVQ4ePKj069dPUavVSs+ePQtcjpaTk6PUqlVLady4saLX6031Dh06pERFRSlRUVHKmTNnlK5duypeXl6mz27GjBmKn5+fsnPnTmXnzp2Kn5+fMmfOHEVRFCU1NVUJCAhQevXqpVy8eFFZuXKl4uTkpGzYsEFRFEW5du2a4ujoqHzyySfKpUuXlAkTJihOTk5KZGRkiX5uQgjxuJOAXsYCuqIoilarVWbNmqXUq1dPsbe3V9zc3JTOnTsr69evVxSl4PXliqIo27ZtUwDlu+++M9W7+8fFxUXp0qWLcuzYMdNrdDqdMmzYMMXNzU3x8vJSxowZY7bu/Pz580qHDh0UR0dHpVKlSsqiRYvM7rlnzx6lYcOGiq2trVK/fn1l9+7dFvlchBCiLFMpSm7/6RMmJSUFV1dXkpOTcXFxedTNEUIIIR6KrEMXQgghygAJ6EIIIUQZIAFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDJAAroQQghRBkhAL4PS09OZMGECNWrUwN7eHi8vL7p168bZs2cBuHbtGiqVyuzH2toaPz8/Bg8eTHZ29j3rWVlZ4efnx5gxY9DpdKb7KYrC2LFj8fb2xsPDg9GjR2MwGEznjxw5QsuWLXFwcKB69er88MMPpnNt27bN1xaVSkWfPn1K6NMSQoiyQTZnKWPS0tIIDQ0lLS2NuXPnEhISQlxcHAsWLDBtpXpnD/RDhw6Z9hzPyspi165d9O/fH29vbyZOnGi65p16Op2OsLAwevfujYeHB2PGjAFg7ty5rFq1ivXr15OTk0PPnj3x8fFh5MiRJCcn8+yzz/L222+zYsUK9u/fzzvvvENQUBCtWrVi3bp1pi8QAAcPHuT111/ngw8+KMFPTQghyoBHnHr2kSmrudxHjRql+Pr6KomJifnOdejQQRk0aNC/5nLv27evUr9+fUVRCs75PmPGDKVBgwamY39/f2XJkiWm4+XLlyuBgYGKoijK6dOnlV69epnldm/QoIEya9asfPfW6XRKrVq1lPHjxxf+DQshhFAURVHkCb0MMRgMLF26lNGjR+Pm5pbv/PLly3Fzc+P27dsFXsPW1haN5t//Wjg6Opr+fOvWLSIiImjTpo2pLDQ0lOvXrxMVFUWdOnVMXewGg4FNmzZx8eJFs/p3LF26lISEBNOTvxBCiMKTgF6GXLlyhdjYWFq3bn3P876+vgW+VlEUdu/ezcqVKxk7dmyB9SIiIli0aBG9e/cGICoqCgA/Pz9TnXLlygEQGRlpumd2djZOTk7k5OTQv39/mjdvnu/+s2bNYujQoTg5ORXi3QohhLibTIorQ+Li4gDw8PAwlW3btg0nJyfTT+3atU3nateubSq3sbGhR48eDBkyhJEjR5pd9049BwcHAgICyMjIoFevXgBkZGQAxif7O+78WavVml3nwIEDrFy5ktWrVzN37lyzc7t27SIyMpJ+/fo97McghBBPJHlCL6S3F+4nPk17/4rFzNPJlqXvtyhUXXd3dwCSkpJMZXcmwgGsW7eOr7/+2nRu8+bNVKhQgRs3bjBw4EBCQkL4+OOPsbKyMrvunXoGg4Ho6GimTZtG69atOXnyJHZ2doAxeN/9ZwAHBwfTNWxsbGjYsCENGzbk1q1bzJ8/n+HDh5vO//zzzzz77LNmX0aEEEIUngT0QopP0xKbUvIB/UEEBwfj6enJvn37aNKkCWAMqsHBwQD4+PiY1Q8MDKRSpUoEBwezceNGQkJCGDFiBPPnz79nPYBq1aqxbNky/Pz82Lp1Kw0bNgQgOjraVCc6OhowdvGHh4cTFhZG586dTderVauWqTfhjj/++INJkyYVy+cghBBPIgnoheTpZHv/So/4vhqNhj59+jBv3jz69OmDs7Oz2fmbN28W+NqgoCAmT57MqFGj6NGjB82aNSuwrqIoAOj1evz8/AgICGDPnj2mgL5nzx4CAgLw9fVl9erV9O/fn6ioKOzt7QE4evQoNWvWNF0vLi6Oq1ev0qpVq0K/VyGEEP/wiGfZPzJlddlaenq60rx5c6V27drKmjVrlKtXryoHDx5U+vXrp6jVaqVnz54FLkfLyclRatWqpTRu3FjR6/WmeocOHVKioqKUqKgo5cyZM0rXrl0VLy8v02c3Y8YMxc/PT9m5c6eyc+dOxc/PT5kzZ46iKIqSmpqqBAQEKL169VIuXryorFy5UnFyclI2bNhguu/OnTsVOzs7s6VtQgghHowE9DIW0BVFUbRarTJr1iylXr16ir29veLm5qZ07txZWb9+vaIoBa8vVxRF2bZtmwIo3333nane3T8uLi5Kly5dlGPHjpleo9PplGHDhilubm6Kl5eXMmbMGLPgfP78eaVDhw6Ko6OjUqlSJWXRokVm91y9erVSvnx5i3wWQgjxpFApSm7/6RMmJSUFV1dXkpOTcXFxedTNEUIIIR6KLFsTQgghygAJ6EIIIUQZIAFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDJAAroQQghRBkhAF0IIIcoACehlUHp6OhMmTKBGjRrY29vj5eVFt27dOHv2LADXrl1DpVKZ/VhbW+Pn58fgwYPJzs6+Zz0rKyv8/PwYM2YMOp3OdD9FURg7dize3t54eHgwevRoDAaD6fyRI0do2bIlDg4OVK9enR9++MGsvevXr6dmzZo4OTkRGhrKsWPHSuBTEkKIskV2Wytj0tLSCA0NJS0tjblz5xISEkJcXBwLFiww7Y2uUqkAOHToEP7+/gBkZWWxa9cu+vfvj7e3NxMnTjRd8049nU5HWFgYvXv3xsPDgzFjxgAwd+5cVq1axfr168nJyaFnz574+PgwcuRIkpOTefbZZ3n77bdZsWIF+/fv55133iEoKIhWrVpx9uxZunfvzsKFC2nVqhVffPEFzz33HFeuXDHbT10IIcR9POJc8o9MWd2cZdSoUYqvr6+SmJiY71yHDh2UQYMG/evmLH379lXq16+vKErBm7jMmDFDadCggenY399fWbJkiel4+fLlSmBgoKIoinL69GmlV69eZpu1NGjQQJk1a5aiKIoyd+5cpVGjRqZzKSkpCqAcPnz4Ad+5EEI82eQJvQwxGAwsXbqU0aNH4+bmlu/88uXLcXNz4/bt2wVew9bWFo3m3/9aODo6mv5869YtIiIiaNOmjaksNDSU69evExUVRZ06dUxd7AaDgU2bNnHx4kVTfU9PT86ePcvevXtp0aIFS5YswcXFhaCgoAd560II8cSTgF6GXLlyhdjYWFq3bn3P876+vgW+VlEUdu/ezcqVKxk7dmyB9SIiIli0aBG9e/cGICoqCgA/Pz9TnXLlygEQGRlpumd2djZOTk7k5OTQv39/mjdvDsAbb7zBr7/+SmhoKFZWVqjVajZt2oS7u/sDvHMhhBAyKa4MiYuLA8DDw8NUtm3bNpycnEw/tWvXNp2rXbu2qdzGxoYePXowZMgQRo4caXbdO/UcHBwICAggIyODXr16AZCRkQEYn+zvuPNnrVZrdp0DBw6wcuVKVq9ezdy5cwGIj48nOjqaBQsWcPDgQf7v//6Pd955h5iYmOL6WIQQ4okgT+iFNHzXEBKzEkv8vu527sxt+2Xh6uY+1SYlJZnK7kyEA1i3bh1ff/216dzmzZupUKECN27cYODAgYSEhPDxxx9jZWVldt079QwGA9HR0UybNo3WrVtz8uRJ7OzsAGPwvvvPgNmkNhsbGxo2bEjDhg25desW8+fPZ/jw4YwZM4a6desycOBAAL799ltq1qzJkiVLTJPuhBBC3J8E9EJKzEokPiv+UTfjXwUHB+Pp6cm+ffto0qQJYAyqwcHBAPj4+JjVDwwMpFKlSgQHB7Nx40ZCQkIYMWIE8+fPv2c9gGrVqrFs2TL8/PzYunUrDRs2BCA6OtpUJzo6GjB28YeHhxMWFkbnzp1N16tVq5apN+Ho0aN8+OGHpnNqtZqQkBCuX79eTJ+KEKLM0qaBSgU2jvev+wSQgF5I7naPZkz3Qe6r0Wjo06cP8+bNo0+fPjg7O5udv3nzZoGvDQoKYvLkyYwaNYoePXrQrFmzAusqigKAXq/Hz8+PgIAA9uzZYwroe/bsISAgAF9fX1avXk3//v2JiorC3t4eMAbxmjVrAsax93Pnzpld/+LFi6YvJEIIkU/sBTj8NZxcBm0nQYthj7pFpcOjnmb/qJTVZWvp6elK8+bNldq1aytr1qxRrl69qhw8eFDp16+folarlZ49exa4HC0nJ0epVauW0rhxY0Wv15vqHTp0SImKilKioqKUM2fOKF27dlW8vLxMn92MGTMUPz8/ZefOncrOnTsVPz8/Zc6cOYqiKEpqaqoSEBCg9OrVS7l48aKycuVKxcnJSdmwYYOiKIqyevVqxc7OTvnhhx+US5cuKWPGjFFcXV2V27dvl+jnJoQo5fQ6RTm/QVGWdVSUT8j7mRekKHr9o25dqSBP6GWMg4MDu3fvZt68eUydOpVLly5ha2tLs2bNWLt2LV27duXatWv3fK1Go2H+/Pl07NiRxYsX07FjRwCaNm1qquPi4kJoaChbtmzBxcUFgFGjRhETE8PLL7+MRqPh3XffZdgw4zdmJycn/vzzTwYNGkTDhg3x9vZm3rx5vPTSS4BxlntaWhqffvopkZGR1K9fnx07duQbHhBCPL4Ug4JOqyNHq0OXpSMnS4dOq0en1aHLNv5Zr9Wjy9ahzzGgz879c7YBRZuMd8oG/DLWYG+4ZXZdnWJLbFYdfLPTwM7lEb270kOlKLn9p0+YlJQUXF1dSU5ONgUmIYQQ5gx6A9q07NwfLdr0HLLv/Dc9m+z0HLIzssnOyCE7I4eczLz/5twJ3lm6+9/oH5xsYqnn/SfVPXdjY5Vldi5Z68PZ2I5cTGiDe3AgXT97prje7mNNntCFEOIJYtAbyErRkpGYSWZSlvEnOe8nKzmLrBQtWanGn+z0nBJtn5d9OCHlNlPF7RBqlcHsXERKXU7HdiIipR53Vl3rdYZ7XOXJJAFdCCHKCH2OnvSETNJi0kiLyyA9PsP03/T4DFMQVwyW7ZhVa9RY22uwtrfG2k6DtZ01GjsN1rZWuf/VoLHToLHVoLG1QmNthUv2EXyiv8Mxaa/ZtRQrO7KC3iS7Tn9cfWrxlLUVams1Vho1VtZWqK0kncodEtCFEOIxoSgKmUlZpESnkhyVSkpUGqkxaaTeTiM1Jp30hAwoplht62SDnYsttk622DnbYOtsi62jDbbONtg42mDraIONgzU2jjbYOFpj45B77GCNlbXV/W9gfENw8Tf4+1O4edD8nIM3NB2EqskH2Dt6YV88b6tMk4AuhBCljC5bT/KtFBJvJJN0M5mkmykk30ol+WYKOUUYjwZQqVXYu9rh4GGPg7vxx97NzvhfVzvsXW2xc7XD3sUOW2cbyz75GgxwYQP8NRWiT5ifc68CLUdB/d5gLWH8QUhAF0KIR0QxKKREpxJ/LYmE64nEX0si8UYSKdFpD9wtbu9qh7OPI04+jjh5O+Lk5YijlwNOng44ejpg72b36LunDQa4sB52TYaY0+bnfOpC63FQ6zWwktBUFKXqU8vKymLgwIGsXbsWe3t7Ro4cyYgRI+5Zd/369Xz00UdERERQv3595s+fb8paJoQQpY1BbyD5Zgoxl+OJvZxAfHgC8eFJ5GQWbtKZSq3C2ccR1wouuJR3xtXXGZfyTjiXc8LZxwlru1L169ycokDYRtg5Mf8TuV9jaDMBqr9gzPomiqxU/Q0YNWoUR44cYceOHVy/fp3evXsTGBhIt27dzOqdPXuW7t27s3DhQlq1asUXX3zBc889x5UrV8zyhwshxKOSkZTJ7QtxxFyM43ZYLHGXEwrVXa6xscLN3xX33B+3iq64VXDBpbxT4cemS5OrO2D7OLh5yLy8QjNo+wkEPyOBvJiUmnXo6enpeHl58fvvv9O2bVsApk2bxrZt29i1a5dZ3S+++IKVK1dy5MgRAFJTU3FxceHw4cM0bty4UPeTdehCiOKiKArJt1KJPhdD1LkYos/FkBKddt/XOXk74lXFHc/K7nhUcscz0A3nck6Pvmu8ONw8Ats/gqtbzct9G0H7qRLILaDUPKGfPHmSnJwcWrZsaSoLDQ1l+vTpGAwG1Oq8v+Cenp6cPXuWvXv30qJFC5YsWYKLiwtBQUGPoulCiCdQ6u00bp6K5ubpaG6dvk1GQua/1nfycsC7qifewcYfryoe2LnY/utrHksJV41P5Gd/Mi/3qWsM5NVflEBuIaUmoEdFReHl5YWNjY2prFy5cmRlZREfH4+3t7ep/I033uDXX38lNDQUKysr1Go1mzZtMm0f+qRLT09n5syZrFmzhuvXr+Po6Ejbtm2ZPHkytWvX5tq1a1SuXNnsNRqNBm9vb1599VXmzJmDjY1NvnpqtZpy5crRq1cvpk+fjkZj/OujKArjxo3j+++/R6/X07dvX2bOnGn2JQxAp9PRuHFjunbtyqRJk0zlISEhnDp1yqzu6dOnqVOnTjF/MkIUXU5mDjdPRRN5IorIE1Ek30otsK6VtRrvqp6Uq+FNuWpe+FT3wtGjjA8HZsTDX9Pg0H/AcNe8ALfKxkBe5y1Ql4Geh1Ks1AT0jIwMbG3Nv63eOb6zv/Yd8fHxREdHs2DBApo3b84333zDO++8w7FjxwrMAa7Vas2uk5KSUszvoHRIS0sjNDSUtLQ05s6dS0hICHFxcSxYsMC0N7oq99vxoUOH8Pf3B4wTEnft2kX//v3x9vZm4sSJpmveqafT6QgLC6N37954eHiY9iufO3cuq1atYv369eTk5NCzZ098fHwYOXKkWdtmz57NyZMn6dq1q6lMr9cTFhbG7t27qVatmqncy8vLUh+REIWWHJXKjSM3uXHkJrfO3MZQQFYyja0V5Wv64Fe3HOVr+eAd7InG5jEc7y4KXbZx57PdkyErKa/cwRuemgiN3gONTYEvF8Wn1Iyhr1mzhsGDB5v20gY4f/48tWrVIj4+Hg8PD1N5r169cHJy4ptvvgHAYDBQs2ZN+vTpYwoy/zRp0iQmT56cr7ysjaGPHj2aFStWcO7cOdzc3MzOdezYkZo1azJixAgqV65MeHi4acvTO/r168eRI0c4fvy46Qn9n/VmzpzJTz/9xLFjxwAICAhgypQpvP322wCsWLGC8ePHm20Cc/nyZdq0aYO7uzuvvfaa6Qn98uXLVK9enfT0dOzs7Ir50xDiwSiKQuzleK4djOTawQgSbyTfs57aSoVPdW8q1i9PhXrl8Q72fDwnrD0MRYGwTbBlBMSH5ZVr7KHFcGg1WjZMKWGl5gm9QoUKxMXFodPpTF250dHR2Nvb5wtMR48e5cMPPzQdq9VqQkJCuH79eoHXHzduHMOHDzcdp6SkmJ5OywqDwcDSpUsZPXp0vs8MYPny5bi5uXH79u0Cr2Fra2v6/Avi6Oho+vOtW7eIiIigTZs2prLQ0FCuX79OVFQUvr6+ALz//vtMmjSJVatWmV3r3Llz+Pv7SzAXj4yiKMSExXF17w2u7rtBWmz6Pes5eTsS0LgC/g188atbHhsH6xJuaSkSewH+GAJXttxVqDImg2k/DVwqPLKmPclKTUCvX78+1tbWHDhwgNDQUAD27NlDkyZN8o3F+vn5ce7cObOyixcv0qRJkwKvb2trm69Lv6y5cuUKsbGxtG7d+p7n7wTXe1EUhd27d7Ny5UrGjh1bYL2IiAgWLVpE7969AePcBzD+P7mjXLlyAERGRuLr68uSJUvIysqiX79++QL6+fPnsbGx4fnnn+fIkSNUr16dzz//3GzLViEsIf5aIpd3X+Py39fuHcRVUK6aF5Wa+RPQpALu/q6m4aonVlaKMbvbgXlguGsJXkBreOYL8Gv0yJomSlFAd3BwoHfv3vTv358lS5Zw8+ZNZs+ezZIlSwDj07qrqyv29vb069ePt99+myZNmtCiRQsWLVpkWrduKWuHbyYzKev+FYuZvZsdr87tUqi6cXFxAGbDE9u2bTMbsw4MDGTTpk0A1K5d2/QLSqvV4uPjw5AhQ/KNfd+pZzAYyMzMJDg4mF69egHGuQ+A2Zelu+c+xMTEMG7cOLZt23bPX4YXLlwgMTGRvn37MmXKFL777js6dOhgenIXojilJ2RwaVc4l3aFk3A9Kd95tZUKv3rlqdIygMAmFXFwl9SjgLF7/cxq+HMEpEXllbsGQqfPoVY3mbleCpSagA7GyVUDBgygXbt2uLq6MnnyZF555RUA05Pe22+/zRtvvEFaWhqffvopkZGR1K9fnx07dhQ4Ia44ZCZlkR6fYbHrF4c7s/yTkpJMZXcmwgGsW7eOr7/+2nRu8+bNVKhQgRs3bjBw4EBCQkL4+OOPsbIyHwu8U89gMBAdHc20adNo3bo1J0+eNHWVa7Vasz+D8UvakCFDeOeddwqcsf7dd9+RkZFhmsfw9ddfs3fvXpYvX85HH3308B+KeOLpc/RcPxTJxe1XiDgelS+lqkqtomJ9X6q0CqRSs4rYOZftnrwHFncRNg2E8O15ZVa2EDoGWo0Bm4efva9X9KTnpOf+pJn+nJGTQXpOOpm6DDJ0GWTkZJCpy8w9ziQzO50qbkEMaTT8/jd5ApSqgO7g4MCyZctYtmxZvnP/nLv37rvv8u6775ZU07B3ezRjvA9y3+DgYDw9Pdm3b59p+MHBwYHg4GCAfF94AgMDqVSpEsHBwWzcuJGQkBBGjBjB/Pnz71kPoFq1aixbtgw/Pz+2bt1qSrcbHR1tqnNnYqOvry+rV6/G3t6er776CoDMzEz27dvHmjVrOHv2LBqNxmxSokqlokaNGty8ebPQ71uIe0mOSuX8lktc3H6FrGRtvvPlqnsR/FRlgloFPrJ/36VaThb8PR32zDJfhlb9Rej8BXhUuefL9Iqe1OxUkrKSSM5OJkWbnPvfFFKzU0jJTiE1O5W0nFTjf7PTSNfde95CYWhSMkB6+oFSFtBLs8J2ez9KGo2GPn36MG/ePPr06YOzs7PZ+X8LkkFBQUyePJlRo0bRo0cPmjVrVmDdO1+u9Ho9fn5+BAQEsGfPHlNA37NnDwEBAfj6+nLp0iWz19659p0c/e3ataNt27Z88skngHFi36lTpxg4cOADv38hDHoDN47c5OzmMCJPROU77+TlQLX2VajWrgqufjIDu0DhO+G39yEh79+v4laJ5PZTiKrQiITMW8RfOU1iVgIJWYkkaRNJzEokUZtIqjYFA/de3lfcrHQGlNtRKHo9KqsnbJXBPUhAL2MmTZrE33//TYsWLZg0aRKNGjUiNjaWRYsW8f3339O9e/cCXztkyBAWL17MoEGDOHgwb2/i2NhYU3d6fHw848ePx8vLi3bt2gEwYMAAxowZQ8WKFQEYO3asKWDf6R24w97eHg8PDwIDAwF44YUXmDJlCg0aNKB69ep8+eWXJCUlmZbACVEY2jQt57dc5tzvYaTGmD/tqTVqKjXzp2anYCrUK49KLWO995KWnUZswkUcd3yCT9gmU7lOpWazb02We/mjvboarq4ulvupUeNk44SzjTOO1k44WTvhZOOEo7UjjtZOOGoccLB2xMHaAfscNeotuzD8tAHb2CTssgzYag1Y68H+hedRUlNR3WNlz5NGAnoZ4+DgwO7du5k3bx5Tp07l0qVL2Nra0qxZM9auXUvXrl3N1offTaPRMH/+fDp27MjixYvp2LEjgNmMcxcXF0JDQ9myZYupq3zUqFHExMTw8ssvo9FoePfddxk2bFih2jts2DCysrIYPHgwt2/fplmzZmzbti1f74IQ95ISncrp3y5wYdsVdP/Y+MSlvBM1O1elevsg6VLH2LOWkJXArbSb3Eq/RXR6FFHpUUSnR3M7PZqQuMv0jzyLmy7b9Jpzju78x78OEXb3//eoUWtws3XHzdYNN1s3XG3dcLN1xcXGFVdbV1xsXHCxdcHZxgVna2ccrB1Qq/49c5whLY30xUtIXfgtyl1zg1Crse/aFecPB2NdtWpRP5Iyp9QklilpsjmLEI+v2CvxnFh7lvD9Efkmufk38qNOl+r4N/R7Ip/Gcww53Eq7SURqBJGpEUSmRRKZGsmttJtk6fOv1HHL0dI/8gwtk/PyU6SrNSz1q8EWT39QqXG388DL3gtPO0+87L3wsPPAw84TD3sP3G09cLdzx8naqdiW9RkyMkhfuozU/3ydP5C//LIxkAfL3h3/JE/oQojHgqIoRJ2N4fjPZ4g8bj4+rrGxolqHIOq9WOOJGRs3KAZiMm5zLeUa15KvcS0lnIjUG9xKu4Ve0d//AopCm6RbvB95Dmd93qS3mxUaca31aJ7yqsVrDj542HmgUZdMqFCyskhfvoLUBf/BkLsMFzAFcpehQ9BUqVzwBZ5wEtCFEKWaoijcOn2bI/87RfS5GLNz9m521Hm+BrU6Vy2bO5fl0it6bqZGcinpEleTrnI1+QrhyVfJ0BVuKa1apaacQ3kqOPnh51SBSmoHGh9ZjNv1k3mVHLygywIq1H6dCiW8plzJySHjpzWkfjEPfdRdX9ZUKuxf7orz0KFYB917Vr3IIwFdCFFq3TwVfc9A7lzOiZCXa1G9Q1CZ2wRFURRiMmIIS7xIWOJFLiVd4krSZbT6/Evv/kmj1lDRyZ8AlwD8nQPwd/anopM/vo6+WFvlpqo9txY29oeMu56Aa78BXb4CR+97X9hCFIOBzF9+IWX2HPTXzFN32z//PM4jhmF916ZN4t9JQBdClDoxl+I4tPwEN09Gm5W7VXChwet1CG5dCbVV2diKM8eQw5Wky5yPP8f5hPNcSDhPkjbpvq/zsveisksVKrtWppJrZQJdAvFzrICVuoAvOFnJsHkwnFqeV+bgBc99DbVfK543U0iKoqDdsZPkGTPRnT9vds7u6Y64jBqFde1aJdqmskACuhCi1EiKTObQihOE748wK3er4ELDN+oSFBr42AdyrV7LhYQLnI07w9n401xMuEi2IftfX+PjUI5gt2CqulWlilswVVyr4GrrWvibhu+E9b0h5a7PtcbL8Px/wclyGTbvRXvkKCkzZpB94KBZuW2rVriMGY1No4Yl2p6yRAK6EOKRy0zK4sjqU5z/85LZrHXnck40fqsewW0e3ydyvUFPWOJFTsWd4lTsCc4nnEdn0BVY31HjSDWP6lR3r0419+pUc6+Gy4ME77vpsmHHeNg3G8j9XG1doMsCqNezRPOv51y+QsrMmWT9/odZuXVIPVzGjsWuzb03lRKFJwFdCPHI6LL1nP71PMd/PktOZt5Mawd3Oxq+XpcaTwc/lvuM306/zbGYoxyPOcbp2FP/mtrUx6EctT1rU9OjFjU9a+LvHHDf9dmFEncR1naHqGN5ZZXaQtel4Bb48NcvJH1MDCmz55KxejXo82bfa4KCcBkzGrsuz8oudsVEAroQosQpisK1g5EcWHKUlOg0U7nGTkP9V2pR76VaWNs9Pr+edAYdZ+PPcvT2YY7ePkJEakSBdcs5lKOuVz3qetejjmcdvB2KuctbUeDY98b9ynNyZ8GrraHDp9BiOKhLpqfDkJ5O2sJvSfvmvygZebPx1eV8cBk+HIc330CleXz+Hz8O5NMUQpSoxIhk9i06YpZrXaVWUePpIBq/FfLYbFmakZPB0dtHOBR9kCO3D5Oec++ncGcbF+p71yfEuz71vEMo71jeco3KSjbmYD/7Y16ZZ3V4dRX4lczYtKLXk/HTGlI++xxDTN7qBJWTE84fDMCxX1/UDg+/Q5vITwJ6GZSens7MmTNZs2YN169fx9HRkbZt2zJ58mRq167NtWvXqFzZPDmDRqPB29ubV199lTlz5mBjY5Ovnlqtply5cvTq1Yvp06ejyf12rSgK48aN4/vvv0ev19O3b19mzpyJ+h9PAjqdjsaNG9O1a1cmTZpkKt+9ezdDhgwhLCyMevXqsXDhQkJCQiz3AYlHIker49hPpzm14TwGXd7mHX51y9Gyb2M8K7k/wtYVToo2mYPRB9l/ay8nYk/ccyxcjZrqHjVoVK4RDcs1ooprUPF0od9P5CH4+U1ICs8ra/SecWe0YtjitDCy/vqb5ClTzWeuazQ49uyB87ChWHl5lUg7nlQS0MuYtLQ0QkNDSUtLY+7cuYSEhBAXF8eCBQtMe6PfGa86dOgQ/v7+AGRlZbFr1y769++Pt7c3EydONF3zTj2dTkdYWBi9e/fGw8ODMWPGAMZ97FetWsX69evJycmhZ8+e+Pj4MHLkSLO2zZ49m5MnT9K1a1dTWXh4OM8++yxjxoyhe/fufP7557z00kuEhYVhY2Nj4U9LlJTrhyPZ++1hs41TnHwcafFOIyq38C/VY6ip2ansv7WPPTf/5lTcSQxK/p3EHDWONC7fhMblm9DQpxHONiW4F4GiwIF5sHU03PmCYesKLy6C2t1KpAk5ly+TPGUa2u3bzcrtnumMy0cfSVKYEiK53MtYLvfRo0ezYsUKzp07h9s/dh/q2LEjNWvWZMSIEVSuXJnw8HDTlqd39OvXjyNHjnD8+HHTE/o/682cOZOffvqJY8eMk20CAgKYMmWKaYe0FStWMH78eLNNYC5fvkybNm1wd3fntddeMz2hDx8+nOPHj7Nz504AMjIyqFu3LuvWrZOn9DIgIzGTvd8d5ureG6YytUZNyMu1aPBaHaxtS+czhVaXxaHoQ+yK2MnxmGPolPxP4l72XjT3bUEz3xbU9qxdYulRzWQmwS994ML6vLKKzeHV/4F7JYvf3pCYSMoXX5K+bBno8j4j63p1cf1kIrbNm1u8DSJP6fzXJIrEYDCwdOlSRo8enS+YAyxfvhw3Nzdu376d/8W5bG1tTV3pBXF0dDT9+datW0RERNCmTRtTWWhoKNevXycqKgpfX18A3n//fSZNmsSqVavMrrVr1y7eeecd07GDgwNXrlz51/uL0k9RFC5uv8qBJUfRpuWtsfarV57W7zfBrWIRl2FZkEExcCbuNDtubGd/1D4ydZn56vg4lKOVXygt/VpS1b1ayXSlF+TWUfjpNfMu9lajof00uJMVzkIUnY70FStI+XyO2eYp6vLlcR03FvtXXkZVQpPvRB4J6GXIlStXiI2NpXXre6/nvBNc70VRFHbv3s3KlSsZO3ZsgfUiIiJYtGgRvXv3BiAqN++yn5+fqU65cuUAiIyMxNfXlyVLlpCVlUW/fv3yBfSrV6/i4ODAa6+9xl9//UXt2rVZsGABtWpJlqjHVWpMGrsXHDDL8mbnbEuLvo2o+lTlUte9Hp0ezY4b29hxYzsxmTH5znvaeRJaoQ2tK7amqlu1R99+RYGj38Hvg0Gf+2XJzh1e/gGqP2/x22v37CXpk0/QXbhoKlPZ2eE08AOc+r8vE94eIQnohbWwMaRF379ecXMqD+8fKVTVuNzdiTw8PExl27ZtMxuzDgwMZNOmTQDUrl3b9MtJq9Xi4+PDkCFD8o1936lnMBjIzMwkODiYXr16AcYucjA+2d9x589arZaYmBjGjRvHtm3b7vmLMC0tjTFjxvDJJ58wbtw4vvzySzp27EhYWBhOTk6Fet+idFAUhQtbL7N/8TGzNeVV21amRZ9G2LuWnj3Jcww5HIw6wJ/X/uBk7Il85x01jrSs0Iq2FdtR26vOo30Sv1tOJmz6AE4szSur2By6/QhuARa9tS4iguQpU8na/LtZuf0rL+M6bhxWfgU/MIiSIQG9sNKiIfXmo27Fv3J3N84STrqrC+zORDiAdevW8fXXX5vObd68mQoVKnDjxg0GDhxISEgIH3/8MVZW5ok87tQzGAxER0czbdo0WrduzcmTJ7GzM/6S1mq1Zn8GY/f5kCFDeOedd6hTp84926zRaHjhhRcYPHgwAN999x3+/v78+uuvdO/e/eE/FFEi0uMz2L3gABHHbpnKHD0daDOwGQGNKjzClpmLTo/mz2u/s+36VpKzk83OqVHToFxDOgR0pGn5ZthYlbJJmQlX4adXIfpEXlnTwdBpNmgs11YlM5PUb/5L6n/+A1l5G8RY1w/BdfJkbBs3sti975ajMxCZkMG1uHSux6VzLTaN63Hp1PV3Y3iXmiXShtJOAnphOVlw7Wgx3Tc4OBhPT0/27dtHkyZNAGNQDQ4OBsDHxzyBRWBgIJUqVSI4OJiNGzcSEhLCiBEjmD9//j3rAVSrVo1ly5bh5+fH1q1badjQuLY1OjraVCc62tiT4evry+rVq7G3t+err74CIDMzk3379rFmzRrOnj2Lr68vNWrUMN3LxsaGSpUqERFRcGIOUbpc3Xudv74+aDZWXqNjEM37NMLW8dEHRYNi4HjMMTZd3cjR20dQMJ8HXN7Rl6cDO9Hevz2e9qV0WdXlLcYlaVmJxmNrB+Ms9rpvWeyWiqKQ9eefJE+agv6uf49qb29cxo3B4bXXLDJOrtMbuJmYyZXbqVyJSSM8Jo2rsWlExGegN+Sfw615TFMCW4IE9MIqZLf3o6TRaOjTpw/z5s2jT58+ODubL525ebPgHoagoCAmT57MqFGj6NGjB82aNSuw7p2FEXq9Hj8/PwICAtizZ48poO/Zs4eAgAB8fX25dOmS2WvvXHvEiBEANG/enJMn8/Zkzs7O5urVq/lm34vSJzsjm73fHSFsx1VTmYOHPU8Nal4qnsozdZnsuLGdjVd/5Waa+d99jUpDC7+WdKr0DHW96paeLvV/UhTYMwu2f4QpF7tnNXhjHfjUtthtdVfDSZo4Ee3OXXmFGg1Ofd7Befgw1M7FsywvJTOHS9GpXIpO4fLtNC5FpxIem0a2Lv/SwHtRqSBHX7i6TwIJ6GXMpEmT+Pvvv2nRogWTJk2iUaNGxMbGsmjRIr7//vt/7cYeMmQIixcvZtCgQRw8mLcTUmxsrKk7PT4+nvHjx+Pl5UW7du0AGDBgAGPGjKFixYoAjB071hSw7/QO3GFvb4+HhweBgcZc0kOHDqVNmzZ88803dOzYkc8++ww7Ozuef97yk3tE0d2+GMf2OXtIvZ2XtrVKqwBaD2iGnbPtv7zS8uIy4/jtyq9sufZHvhzq3vbePFO5C08HdsLN1u3RNLCwtGnwyztw7ue8suovGie/2VlmlYAhM5O0rxaQ+s1/ITuvx8W2dWtcp07GumrVIl87IU3LhagULtxK4WJUCmFRqUQl5V9JcC/WVioCvRyp7O1EJW9HKnk7EejlSEUPB+wew1z/liIBvYxxcHBg9+7dzJs3j6lTp3Lp0iVsbW1p1qwZa9eupWvXrmbrw++m0WiYP38+HTt2ZPHixXTs2BGApk2bmuq4uLgQGhrKli1bTOv3R40aRUxMDC+//DIajYZ3332XYcOGFaq9zZo146effmLMmDEMGzaMxo0b88cff5gtjROlh2JQOLnhHIdXnMCgNz4xWttbE/p+E6q2fbQz2MOTw9lweR1/Re5Gr+jNztX1qscLQS/SpHxTrFSPQQBIvAarX4Lbp/LK2k6GNuMtlos9c8tWkidMRB8ZaSqz8vXFddIn2D3X5YH+36ZrdVy4lczZyGTO30rh3M1kbidn3fd1ahX4ezoSXM6JKj5OVPFxJsjHCT93e+laLwRJLFPGEssIYSmZSVns+GKvWQ72ctW9aD8iFJdyj25Fwvn4c6wJ+4kjtw+blVurrXmqYlteCHqJyq6VC3h1KXRtN/zUDTKMq1awcYZXV0L1FyxyO11EBMkTPyFry9a8QmtrnN5/D+chH953GZqiKNyIz+DUjUTORCZzJjKJqzFp3C+y2NtYEVzOmeq+zlQt70LV8s5U8XbCzuYx+MJVSskTuhDivqLOxbDt87/JSMjtIlVBg1fr0OitelhpSv7JSVEUTsSeYM3FHzkTf9rsnJO1E10qP89zVZ7H3a7054c3c+Rb2DwwL4WrRzC89St4F/8sbiUnh7RvvyN17hcoWXlPz7ahobhOn4r1P4bL7sjRGbgQlcKJ64mcvJHI6YgkkjNy7ln3DgcbK6r7ulDD786PKxU9HLBSl66cBI87CehCiAIpisKpDec5+MNxlNwZxg7udrQb1oqKISW/7tgYyI/zvwuruJBw3uycl703Lwe/wtOBnbDTlJ4174Wi18GWkXDwy7yyoE7QbTXYF/+XEu2hQySNHYfuYpipTO3jg+ukidi/+KJZ93q2zsDZyCSOXUvg2LVEzkQmoc0peCKalVpFUDknaldwo3ZFV2pVcCXQy1GCdwmQgC6EuCdteja7vtzPtYN5S5b86pajw8hQHNxKfovTk7EnWHl+ORcSLpiVV3CqSLeq3Wjj3xZrtWVTnlpEVjKseQOu/JlX1nwYPP0ZWBXvr2hDUhLJ0z8lY9X/8grVahzf7o3LqJGoXVzQ6Q1cuJXMkfAEjlyN53REEtp/mXXuYm9NXX83QgLcqOPvRk0/F+xtJLQ8CvKpCyHySYxIZsuM3STdTDGVNXitDo3fqoe6hCcnnY8/x4rzyzkdd8qsPMA5kDdrvEULv5aPx0S3e0kMh5XPQVxub4NaA8//Fxq+W6y3URSFzF9+IfmTyRhyM0pC7iYqM2dwu2Iw2y7Ec+jKFY6GJ5Cuzb8ZzR3lXe2oH+hO/UB3QgLdCfR0RC1P36WCBHQhhJnw/TfYOW8fOVnGX+q2Tja0H9aKgMYlu7b8WvI1fji3NN9ktzuBvKVfq9K7frwwIvbD/16CjFjjsb0nvLEWKj1VrLfR3bhB0riP0O7abSrLcvPg6oAxHA8M4cDOeG4l7inw9eXd7GhUyYOGlT1oEOiBn3vJ986IwpGALoQAjEvSjvzvFMd+yptk5lHJjc7jnsKlfMnt7x2bEcuqCyvYcWO7WVY3P0c/3qrZg9YV2jzegRzgzE+w/v9An5tK1asGdN8IHkHFdgtFpyNt0fekzp6DkplJtLM3RwLqcaJBe844lCcnVoHYyHyvc3e0oVFlDxpX9qBJFU/83O0f/YY0olAkoAshyMnMYce8fVw7kDdeHtymEm0GNsfarmR+TWTkZLAm7Cd+vbKBHEPerGkvey/erN6dDgEdsVI/pl3rd5gyv43LK6vcHl7/uVgnv2WfOUP8qDGci07ncJ0uHA6sz023uyYx3pVCVWOlIiTAnWZBnjQL9qJqOWfpQn9MSUAX4gmXGpPGH9N3kXAtCQCVWkWz3g2o91LNEnky0xv0bL2+hZXnl5ttmOJo7chr1d7guSrPY2v1aLPPFQu9DjYPgqML88oa9IHnvim2zVW0qen8/eUydp25xeG6b5Pc9N45Nsq72tGymjfNg71oXNkDB1sJBWWB/F8U4gl2+2Isf07fTWZuFi8bB2s6jGpNQEO/+7yyeJyKPcl3pxdyPeW6qUyj1vBClRfpVu11nG1KrqvforRp8PMbcGlzXln76dB6nDEh+UPIytFz4HIc23afZV9EKhmaIKhu3nWvVkEdfzdCq3nTqpo3VXycpBu9DJKALsQT6sre6+yctw99tjFNqouvM8983BZ3f8vkCb9bbEYMi898z95b5pOxWvmF0rv225R3LEN7a6dGw6rnIOqY8djKBl5aAvWKvj2wNkfP/stxbDsTzd6LMWTeWRd+1/p7Www0r+5D65rlaVXNG/dSsPOdsCwJ6EI8YRRF4cTasxxafsJU5le3HE+PaWPxjVVy9Dmsu7yWNWE/ka3P21s72C2YvnXfo5an5XYQeyTiwmDFM5AUbjy2c4M3NxRpJrtOb+Dw1Xi2no5m14XbZGj1+eo4atNpmhbB0y+3oWWberJxyRNGAroQTxCD3sDf3xziwtbLprJq7avQ5oNmWFn4l//xmOMsPPk1t9JvmcpcbVz5v9pv0yGg4+M/c/2fIg/CqufzcrK7BkCP38GnVqEvoSgKZ28m8+epKLadiSYxPTtfHaesNJpeP07Lm6dp9X8v4tZnECorCeRPIgnoQjwhcrJ0bPvsL24czQuoTXrWp0G32hYdT03ISuD709/x982/TGVqlZrnKr/AWzW642Tz6DZ2sZiwTbDmdcjJMB6Xq2cM5i6Fm5sQlZTJ7ydv8fvJW0TEZ+Q775CTRbPwo7S6eoi6Ny/g2LI5bivmo8ndllg8mSSgC/EEyEzK4vdpO4m9FA+AWqOm3ZCWBLepZLF7GhQDW67/ybIzS8z2Ja/hUZMBIQMfrx3QHsSJH+CXPnBnC9dKbY3d7PfZwzwrW8/O87fZePwmR8MT8p23sVLRLPMWLXavpUHkGWz0OlROTrjOnI5Dj+4yyU1IQBeirEuOSmXzpO2kRKcBYONoTedxT+FXt7zF7hmZGsGCE19xLv6sqczZxoV3avehfUCHste9fsfe2bB1VN5x7dfh5R9Ac++5CYqicO5mMhuP32TL6eh8KVdVKmhYyYOONsnU/fIT7CNvmM7Ztn0Kt89moalQshn8ROklAV2IMiw+PJFNk7aTmWRclubo6UCXT9rjEehmkfvpDDrWX17H/y6sRGfIC07t/Dvwbp13cbG1/Az6R0JRYOsY2Pd5XlnTQfDMl6DO/+UlNTOHP09F8cuxSC5Fp+Y77+/pQJcQPzoHuWD/xSwyVv9oOqdydsZ10kQc3nhDnsqFGQnoQpRRUedi+GPaTrLTjVnX3P1d6fJJe5y8HS1yv/Dkq8w/No8ryVdMZeUdyvNB/UHU92lgkXuWCnodbHwfji/OK2s3BdqMz7fG/NzNZNYdjmDrmah8W5Da21jRsXZ5XmhYgbr+bmj/3kPSy93JuJU358H4VP4ZmgolkydAPF4koAtRBl0/EsnWWX+b1pj7VPfi2QntLLIsTWfQ8XPYT/x4cTX63HFjNWpeCu5K9xo9sH3c9iZ/EDotrO0O59flFqjgua+hSX9TlawcPdvORLP20A3O30rJd4k6FV15qVFFOtQuj4OtBkNGBsnjJ5C+dJmpjsrJCddPJuLw1pvyVC4KJAFdiDLm8l/X2DlvLwa9MV+3f0M/nh7TxiI52W+kXGfesblcTspbBhfgHMiHDYdQzb16sd+vVNGmwY8vw9VtxmO1NbyyAuq8Dhhnqq89dINfj90kJTPH7KVOdhqeqefHS40qUvWujW+0h4+QOHQo+mt5mfNsW7XCbe5sNBUrWv49iceaBHQhypALWy+z+z8HuLNJWVDrQNoNaVnsa8wNioFfLq9nxfnlpo1U1Co13aq+zhvV38TayrpY71fqZCbCyi4QecB4bO0Ab6xDCerEyeuJrN5/jb8uxNy9BwoA1X1deLWJP0/XLY+9Td6vX0WrJWXuF6R9/Q0YjF3xKjs7XMZ/jGPv/0N1j3F4If5JAroQZcTp3y6wb9ER03GNTsG07t8UtVXxBoPYjBjmHZvL6bi8bVb9nf0Z2nA4Vd2rFeu9SqW0GFjeCW6fNB7buaF74ze2plRh9cIDXIwy71bXWKnoWLs83ZoFULuCa74u85xz50n4cAi68+dNZTaNGuE+7ws0Vcro0j5hERLQhSgDjv98xiyVa90Xa9CiT6NiH2/dHbmL/5742rSuXIWKl4K70rPm/2Fj9QTkCk+OhOVPQ9wFAAwOPmyuu4SFa3XEpp42q+rlbMsrTfx5qVFFPJ3yz11Q9HrSvv2OlM8+h+zcDHDW1riMHIHTgP6S7U08MAnoQjzmjq4+xZH/nTIdN3yjLo3fqleswTwjJ4P/nvyaXZE7TWXe9t4MazSCOl51i+0+pVrCVfihAyRdAyDVpjyDsj/l4gErIC8vfQ0/F95sEUiHWuWx1ty7d0QXGUnikKFkHzhoKtPUrIHHl19iXbvwqWGFuFuRAvq5c+fYsGED27dv5/Lly8TGxqJWq/H19aVy5cp06dKFF154gaCgoPtfTAhRJIqicGTVSY79dMZU1uz/GlD/1eLd4ORSYhifH/mM6PQoU9lTFdvyfr0BZTNt673EXYRlHSD1JgCR+DJYO4MojMl5VCpoU92Ht1pWIiTArcAvU4qikLl2HUnjJ6Ck5q4/V6lwev89XEaPQmVbBvZ9F4+MSlEU5f7VjPbs2cOMGTP4448/UBQFOzs7KlWqhJubG3q9ntjYWKKiotBqtahUKp555hk++eQTmjZtasn3UCQpKSm4urqSnJyMi4vLo26OEA9EURQOLT/BibV5mdha9GlEvZdqFts9DIqB9ZfXseLcD6blaA4aBwaEDOQp/7bFdp9S7/YZdEs7oMmMASBcCWAwM4jDE1uNmi71K/BWi0ACvP59fb8hMZGkcR+R+dtGU5lVhQq4f/kFti1aWPQtiCdDoZ7QU1JSGDp0KEuXLqVJkybMmTOHTp06UaNGDdT/mH2Zk5PDkSNH2LFjBz/88AMtWrSge/fuLFiwAFfXMpolSogSdK9g3qpfY+o8X6PY7pGsTeaLo3M4FnPUVFbdvQYjGo+ivKPlUsaWNmHHd+P320s4GZKNx0oVPuRT9HZevN00gNebBeBxj/Hxf8r6ew+JQ4dhiI42ldl364bb1Mmo5YFCFJNCPaH7+/tTs2ZNpk+fTpMmTR7oBjt27OCTTz7h2rVrREREFLmhxU2e0MXjSFEUDq84yfGf87rZQ/s3pfazxTe7/GzcGWYf+Yz4LONGLipUdKv2Gm/V6IFG/WRMuzlxPZEtf/5K/5uDcFEZc+CfVaoxxfEzXmxVj66N/XG0vf9noWi1pHz2OWn/XWgqU7m54j5zJvYvPG+x9osnU6EC+saNG3n++Yf7y7dhwwa6du36UNcoThLQxePo8MqTHPspbzZ1cQZzg2Jg/aW1LD//AwbFuBba1daNEY1Glu3UrXc5cT2R73ZeJit8H/P4GGeVcTb/eas6hLX/H880rYltIdf051y6ROLAweSczetJsQ0Nxf2LuVj5+Vqk/eLJ9kBj6GWJBHTxuPnnbPZW7zWhznPFk40tLTuNecfmcig6b9Z1Xa+6jGg8Gg87j2K5R2l2JiKJb3de5tCVeOpxli+YgKPKuA95nGdz3Pr+ica+cL8nFEUh/YflJE+ZAlm5s99tbHAZMxqn9/pJkhhhMQ/Vf5aVlcVff/3FtWvXeO6553B0dCQrK4vy5Z+cMTYhSsKJdWfNg3m/xsUWzK8mXWHmoU+JzjCO76pQ8Xr1N3izRnesVGV7LXRYVAoLd1xmb1gsACGc4QvG46Ay7k5nqNQer+6/gk3hNrTRJySQNGIkWVu2mso0VavivuArbOoU7+oDIf6pyAF93bp1DBgwgLi4OAC2bt1KdnY2Xbt25dNPP2X48OHF1kghnmRnNl3k4LLjpuMWfRoW2wS4HTe28/WJBWQbjIlNnK2dGd54JI3KNS6W65dW1+PS+XbHZbafzZukFsIZ5qkmYI8xmBPUCfWbG8DavlDX1O7ZS8KQIRiib5vKHHv/Hy4TxqO2L9w1hHgYRQro+/bt44033qBq1aq89957fPrppwD4+voSEBDAqFGjCAoK4qWXXirWxgrxpLmw7TJ7vz1sOm7SI4R6Lz184hGdQcfiM4vYePU3U1mwW1XGNv0IHwefh75+aRWTksWinZfZdOIW+rsSrbdzDGOqdiIafaaxIPhZeGMdWN9/pzglJ4eU2XNI+8/Xxn3RAbW7O25z52Df6WmLvA8h7qVIY+hdunTh0qVLnDx5koyMDHx8fNi2bRvt27cnJSWF5s2b4+3tze7duy3R5mIhY+iitLv89zW2z9lj2milwWt1aNqz/kNfNzErkVmHZ3AuPm+yVqfAzrxfb0CZ3VQlNTOH5XvC+fHAdbS6vH3I3R1tGFknjvbH30GVY5wA9yDBXHf9OgkDB5Fz/ISpzLZ1a9znzcVKhh5FCSvSE/r+/fsZNWoUDg4OZGZmmp1zcXGhb9++zJgxo1gaKMST6MaRm+z8Yq8pmNd9sQZNeoQ89HUvJ13i04PTiMs0DpVp1BrerzeAzpWeeehrl0Y5OgNrD99g8e6rZluYOtpq6NmqEm9ViMDux3egCME8Y8MGksaMQ0kzLmtDo8Fl7Bic3n9PJr6JR6JIAV2r1eLhUfDMV2trazIyMorcKCGeZFFnY9gy6y/TfuY1ng4ulo1W/orczfxj80zj5R52noxt+hE1PIovIU1poSgKO8/d5uttYUQm5D10WFupeLVpAO+0qYJr3BFY8cIDB3NDRgbJ4yeQ8eNPpjKrSoF4/GcBNvXrW+LtCFEoRQro1atXZ9euXfTv3/+e53/55ReqVq36UA0T4kkUeyWeP6btRJ9tTLVapVUArQc0fahgblAMrDi/nJ/D8gJQDY8ajGv6Me5lcEna2cgk5v1xkdMRSWblnev58n77qvi520PEAVjxDGTnPl0HP1OoYJ5z9hwJAz5Ad+WKqcz+1Vdx+3QaaqcnJK+9KLWKFND79OnD0KFDadq0Ka+88goAKpWKmJgYJkyYwM6dO/nss8+KtaFClHXJt1LYPHkH2RnGrmH/hn60H9bqofYzz9RlMvfIbA5GHzCVdQx4mgEhA8vceHlMchZfbwvjj1NRZuWNKnswuFM1avjlpp6+eRhWdIbs3M1RqjwNb6z/12CuKArpy5aRPGUaaI1ry1UODrjN+BSHbq9a5P0I8aCKNClOURTeeustfvrpJ9OTg4ODAxkZGSiKQufOndm4cSNWpXg/X5kUJ0qT9PgMfhn7J6kxxu7f8jW96TK5A9aFSC9akNiMGKYdmEJ4SjgAapWavnX68VyVF4p9n/RHKStHz8q94fywJxxtTt6Et0AvRwZ3qkarat557zfqOCxrD1lJxuPK7aH7xn9dmmZITiZx5CiyNv9uKrOuUwf3r/+DdVAVS7wlIYrkoTLF/fTTT/zvf/8jLCwMg8FA5cqV6datG2+//Xa+TVtKGwnoorTQpmXz60dbSLieBIBHoBsvftoJWyebIl/zYsIFph+cSpLWeE1HjSOjm46jQRlK4aooCjvP32b+nxeJTsoylbvYa+jbNphXmvijubt34/ZpWNoOMo056qnUFrpvAhuHAu+RffQYCR8MRB8ZaSpzfLcPrh9/JFudilKnWFO/pqen4+hYuIxKj5oEdFEa6LQ6Nk3aQfQ549aczj6OvDSzM46eBQeZ+9l7cw9fHJ1jmvxW3tGXic0/oaKzf7G0uTQIj0ljzubzHAlPMJVZqVW82sSfd9sG4erwjy9DsRdg6VOQbvyc8W8FPf8A23uPeysGA2nffkvKjFmg0wG5m6rMnYN9584WeU9CPKwiP0Zv2rSJRo0aEXnXN9ehQ4dSp04d/v7772JpnBBlmUFvYPvcvaZgbudqy3OTOxQ5mCuKwrpLa5l1eIYpmNf2rMPsp+aWmWCenqXjyz8u0PObfWbBvGmQJysGtGR4l5r5g3n8ZWM3+51gXqEp9NhcYDDXJyQS/3YfUqZONwVzm8aN8dnypwRzUaoVKaBv376drl27cuPGDdLurMEE6tatS0JCAk8//TRHjx79lyvcW1ZWFu+++y5ubm74+voyZ86cAuuePn2a0NBQ7O3tqVu3Ljt37izKWxHikVAUhb3fHeHaAeOWwtZ2GrpMbI+rX9F6i/QGPd+c/A9Lzy42lbX378CUVtNwsXn8e6AURWHL6SjeWLCH/+2/bsry5uduz2dvNeDLXo2o7HOPAJ10HX7oAGm5E+XKNzA+mdvd+zPRHj5MbKfOaLdvN5U5DRqI188/oalQodjflxDFqUhd7u3btycmJoa///4bd3d3s3OJiYm0atWKKlWqsHHjxge67uDBg/nrr79YsmQJ169fp3fv3ixevJhu3bqZ1UtOTqZ69eq8+OKLjB49muXLl/Pll18SFhaGj0/h0lZKl7t4lI7/fIZDy08AoLZS8cyEdvg38CvStTJ1mXx+eCZHbh8xlXWv0ZM3qr9ZJia/XY9L5/NN5zhyNe+J3Faj5v9aV6ZHq8rYFbSdaWoULGkDCZeNxz514O1d4OCZr6piMJD234WkzJwFeuOSQbWnJ+7z52HXtm0xvyMhLKNIU2hPnjzJ5MmT8wVzAHd3d/r168fMmTMf6Jrp6eksWrSI33//nYYNG9KwYUPOnj3LggUL8gX0ZcuW4eTkxDfffIOVlRWTJ09m8+bNHDlyhC5duhTlLQlRYsJ2XDUFc4CnBrcocjBPzEpk6oFJXE4yBi2NWsOHDYbS1r9dcTT1kcrK0bPsr6us2BtOjj7vuaN1dW+GPVsDP/d/GZpIj4UfOuYFc89q0GvrPYO5PiGRxKHDzJ7KbVo0x2PBV5K+VTxWihTQ9Xo9WVlZBZ5XqVSkp6c/0DVPnjxJTk4OLVu2NJWFhoYyffp0DAaD2az5Xbt28dJLL5ktizt8+DBClHaRJ6LYvWC/6bhpr/pUa1e0pU+RqZFM3j+R2xnG3b0crR35uNkE6njVLZa2PkqHrsTz2cZzRCbkZZws72bHiC41aV39Pr1wmUmwvDPEnjMeu1WC/9sOzvmDs/bIURIHfID+1i1jgUqF84eDcR4+DJXmoXaXFqLEFWkMvX79+qxcuRJd7oSRu+n1elatWkXdug/2SyUqKgovLy9sbPImtJQrV46srCzi4+PN6l69ehVvb2/ee+89ypcvT/Pmzdm7d++/Xl+r1ZKSkmL2I0RJSriexNa7UrrWerYa9V8t2h7ZFxIuMObvUaZg7mXvzazWnz/2wTwhTcuktaf48IcjpmBupVbRu3VlVg8MvX8wz06HVc9BdO52s84VjMHctaJZNUVRSPv2O+Je7WYK5mpPTzxXLsdl9CgJ5uKxVKSAPmjQIE6ePEmnTp3YsGED58+f58KFC/zyyy8888wzHD16lA8//PCBrpmRkYHtP9Z13jnW5mZmuiMtLY2ZM2fi6+vL77//zlNPPUWnTp2IiIgo8PozZszA1dXV9OPvXzZm/YrHQ3p8Br9PycsCF9ikAq36NS7SGPeR6MOM3/sRqdnGL6WVXCrzeZvZBLgEFmubS5KiKGw+cZM3F+w1y/RWL8CN5QNaMqBjNexs7pOoKicLVneFiH3GYwdv+L9t4GHeA2JITiah33skT56SN4u9WVN8tvyB3VNPFefbEqJEFXkd+tSpU5kyZQoGgyHfuY8//pgpU6Y80PXWrFnD4MGDiY6ONpWdP3+eWrVqER8fb7YZTI0aNfD19TWb2d6gQQNee+01Pvroo3teX6vVmn0xSElJwd/fXybFCYvLyczh14+2EHc1EQDvYA9emN4Ja7sHfwrcfn0rX52Yj0Ex/rur61WPj5qNx9H68cj/cC+3EjOY+ds5Dl3J64lzttMwqFN1XmhQAbW6EF969Dnw02tw8Rfjsa2rcQKcb32zatmnT5Pwfn/012+YypwGDcRl1Eh5KhePvSL/DZ4wYQK9evVi/fr1hIeHk5OTQ+XKlenatSvVqlV74OtVqFCBuLg4dDodmtx/WNHR0djb2+Pm5mZW19fXlxo1zHeIqlat2r8+odva2ubrARDC0gx6A9vm7DEFcycfR54Z365IwXzdpbVmy9JCK7RmWMMRj21Odr1BYc3B6/x3+2WycvSm8o51yjPs2Rp4OhXy36vBABveyQvm1o7Q83ezYK4oChkrV5E08ZO8XOxurnh8+SV2HTsU11sS4pF6qK+klSpVYtiwYcXSkPr162Ntbc2BAwcIDQ0FYM+ePTRp0iRfGtnmzZuze/dus7ILFy7QvXv3YmmLEMVl/5Jj3Dh8EwAbR2u6TGyPg3vBecPvRVEUlp5dwvrLa01lz1V+nn713ketKt0plgsSHpPG9F/OcCYy2VTm42LH6OdrEnq/cfK7KQr8PhhOrzQeW9nCW7+AfwtTFUNGBkljPyJzbd7nZ92gPh7//QZNxYr/vKIQj61CBfQdO3ZQp04d0xrvHTt2FOri7du3L3RDHBwc6N27N/3792fJkiXcvHmT2bNns2TJEsD4tO7q6oq9vT39+/fnq6++YtKkSfTs2ZMffviBq1ev0rNnz0LfTwhLO7PpImd+uwAY15p3GvsU7v6uD3QNvUHP1ycXsPX6FlNZz5q9eK3aG4/lGnOd3sCKvdf4ftdls6Vo3Zr6M6BjNRwfdDOaHRPg8NfGP6us4LWfoEreE3fO5SskvPceuothpjLHPu/gOmE8Kpui58oXojQq1Bi6Wq1mxYoVpidgtVpdqF8mer3+vnXulpGRwYABA1i7di2urq6MGjWKoUOHGhuqUrFkyRLefvttAPbu3cuHH37I2bNnqVmzJl9++SVt2rQp9L0ksYywpBvHbvHH1J0ouRnNnhrUnBpPBz/QNXL0Ocw+8hn7o4yTvFSo6B/yAc9WfjxzLVy5ncrUDWe4cCtvhYm/pwMfv1SH+oH5c1rc1745sGVk3vHLyyEk70t9xq+/kTRyFEruElqVoyNusz/H4cUXivwehCjNChXQJ0+ezKuvvkqdOnUAmDRpUqEC+ieffPLwLbQQCejCUhJuJLFh9J/kZBpntNd/pTbNej/YLmdZuixmHJrO8ZhjAGhUGoY1GkHrioX/0lpa6PQGlu8J5/vdV9DlPpWrVdC9ZSX6tgsuONPbvzm2GH59N+/42a+g2SAAlOxskqd9Svr335tOa6pXw+Pbb7EODnqo9yJEaVasu609TiSgC0vITM5i/ag/SL1t3OOgcgt/nh7dBlVhZmrnSs9JZ8r+SZxPMCZGsbGyZVzTj2hUrrFF2mxJ12LTmLL+NOdu5j2VV/J2ZHzXOtSp6Fa0i55fDz91g9yZ/rSbAk9NAEAfFUVC/w/IPpKXBtf+lVdwmzUDtUPRd7AT4nHwUJPiUlNT+fPPPwkPD8fW1paAgAA6d+6Mvf2DTfoRoizQ5+jZMnO3KZh7BXnQblirBwrmKdpkPtk3gSvJVwBw0DgwscUkankWLQHNo2IwKPx44Dr/3X4Jrc4YeNUq6NGqMn3bBmFblKdygPCd8PObecG8+VBoMx4A7Z69JHwwEMOdRFQ2NrhNnoRDr56P5XwDIR5UkQP62rVr6devH8nJydx5yFepVLi4uLBw4UJef/31YmukEKWdoij8/c0hos/FAuDgbs8zH7fF+gEmeSVkJTBh78dEpBrXSLvYuDC55VSC3B5s7P1Ru5WYydQNpzl+LdFUFuDpwMRX6hb9qRzg5hH434ugN24NS71e0GkOCpC24D+kzPrMuIQNsKpYEY9v/4tNSEjR7yfEY6ZIXe4HDx6kdevWuLi4MHjwYOrUqYNer+fMmTP85z//ITU1lb1799KkSRNLtLlYSJe7KE4nN5zjwBLjeLeVjRUvfvo0PlW9Cv362IxYJuz9iFvpxjSkHnaeTG01DX/nAIu01xIURWHTiVvM/f08Gdq8CbFvNg+kf4eq98/09m/iLsLiUMiIMx5XewHeWIshPZPEYcPJ+uNPU1Xbtk/h/tVXWHkUYaKdEI+xIgX0F198kUOHDnHixAnK/2M3oujoaOrXr0/r1q1Zs2ZNsTW0uElAF8XlxtGb/DFtl2lGe8dRrQkKLXwa1uj0aMbv/YiY3LzsPg7lmNZqOuUdfS3SXktISs9mxm9n2X0+xlRW3s2OCV3r0qiyx7+8shBSbsL3LSE5N7tbYBvo+Qc5V64T3/c99OHhxnKVCudhQ3EeOgSV1UN8eRDiMVWkLve9e/cyePDgfMEcoHz58rz//vssXLjwoRsnRGmXGJnM9tl7TMG84Rt1HyiY30y7yfg944jPMo77+jr6Ma3Vp3g7eFukvZaw/1Is0zacIT4t21T2XH0/hj9bE8ciZMQzk5Fg3DntTjAvFwJv/UrGpj9JGjkaJTMTyM369tVX2LV//LeNFaKoivSvLT09nXLlyhV4vly5ciQnJxd4XoiyQJum5c/pu0wbrlRu4U/jN+sV+vWRqRGM3/sRCVkJAPg7BzC11XQ87B7yibaEZOXo+c/WMNYczMuL7upgzdgXatOuVsG/HwotOwNWPQ+xZ43H7lVQ3viV5E/nkv59Xgpc67p18fj2v2gCHp/hCSEsoUh5IytXrsz27dsLPL99+3YCAx/fnZ+EuB+D3sC22XtIvpUKgEclN9oNaVnoGe03Uq7z0Z6xpmBeyaUyn4bOfGyC+aXoVPp8e8AsmDcP9mLVB62KJ5jrc2DN6xCZu3e8Yzn0z64irs9Qs2Du8MbreK9fK8FcCIoY0N966y3Wr1/P5MmTzXYw02q1TJo0iQ0bNvDGG28UWyOFKG0O/nCcyOPGbT7tXGx55qO2WNsXbpOUa8nX+HjPOJK0SQBUcQ1iWuinuNo+WFrYR0FRFH46cJ13vzvA1Rjj8jxbjZoRXWrwRc+GeDoXwwZIigK/9oNLm4zHti5k1/+cmDc+IPvwYWOZjQ1un83Cbc5sVLJMVgigiJPisrKyaNu2LYcOHcLBwYEqVYz7DV+9epWMjAwaNmzI33//XarXo8ukOFFUl3aHs2PuXsCYo/25qR3xq124p9Lw5HAm7P2IlNy9zIPdqjKl5VScbJwt1t7ikpCmZdqGM+y7FGcqq1remSmv1qOyj1Px3WjrWNg7CwDFypZMjyEkfvaTae9yK19fPL5biE2DB8u+J0RZV6QxdDs7O3bu3Mns2bNZs2YNV65cQVEUgoKC6NatG6NGjSrVwVyIooq9Es/uBQdMxy37Ni5yMK/mXp1JLabgZFOMwdBCDl+NZ9LaU2YT395sHsiAjlWLniTmXvbPywvmqEhLak/Kf1eZTtu2aoX7N//BytOz+O4pRBkhqV/lCV0UUmZSFutGbCYtLgOAGk8H02Zgs0JlIftnMK/uXoNJLafgaO1o0TY/LJ3ewHc7L/PDnnDu/KZwd7Rhwst1aFm1mGfin14Na98yHaZcqUnqjlTTsdOA/riMHYNK85Az54Uoo4rlX4YhNzvTP/1zH3MhHld6nYGtn/9lCuY+1b0Ifb9JoYL5teRrj2Uwj0rKZOLPpzgdkWQqaxbkycRX6uLpVAxj5Xe7sg3W/5/pMPWsN6n7jMFc5eCA+9w52L/wfPHeU4gypkgBXafTMWHCBFatWkVUVNQ9t0lVqVTocse8hHjcHVx6jKgzxqQpDu72dBrTBqtCdDXfSLn+WAbz3edvM23DGVKzcset1SoGdKhK95aVUD9AbvpCiToOP74MBuPyv/TzjqTsM+5VrqlSBY/vv8O6WrXivacQZVCRAvr06dOZNWsWLi4uNGzYUMbLRZkWtusqp3+7AIBao+bpsW1w9Lz/zl0RqTf4eO9HJGcbczJUc69W6oN5ts7Af7Ze5McDecvR/NztmdqtHrUfJg97QRKuwopnIds4Yz7zmh1Je90AFXadnsb9y3moZUhMiEIpUkBftmwZTZo0YcuWLbi6lv6lNkIUVdzVBP7+z0HTcau+jSlf4/5jx5GpkYzf8xHJuUvTgt2qMqnF1FIdzG8lZvDxTyc5fytvq9N2tcrx0Yu1cS7kkrwHkh4LK56BdGPKW220DQk7PAE1zqNG4PzhYFQybCdEoRUpoN+6dYtRo0ZJMBdlWlaKli0zdqPLNg4p1egYRM1nqt73dVHpUYzf+xGJWuNuY1Vcg3KXppXe2ey7crvY03K72K2tVAx5pgavNvG3zNaj2enGLHAJlwDISdQQv8ULlZMbHgskhasQRVGkgB4QEEBqaur9KwrxmDLoDWyfu4fUmHQAvKt60ur9pvcNbjEZMYzfM46E3NzslV0qM6XVtFK7zjxHZ+A/28JYvf+6qayihz3TX69PdV8LdXXrdShrXkd185DxMF1N/O9eWFWphed336KpXNky9xWijCtSf9a7777Lt99+S1JSUjE3R4jS4ejq03mZ4Fxt6TSmDZr7bP8ZnxnH+L0fEZtp3BM9wDmQKa2m42JTOseAY5Kz+GDpYbNg3r5WOZa+38JywVxRUNa/i+rSZgAM2Sri/vDCpn1XvH/9RYK5EA+hUE/oEydONDvW6/Xcvn2bGjVq8Nxzz1G+fHms/rFdoUqlYvLkycXXUiFKyLVDkRz76TQAKrWKjiNb4+T972PfiVmJTNj7MdHpxi8BFZwqMLXVtFKbzvXglTg++fkUSbkby2isVAzpXJ1uTQMs08WeS79+KFZnfgBA0UP8Nm8cPpiMU//3LXpfIZ4EhUosU5T15CqV6p7L2UoLSSwj7iU5KpV1IzaTnW4MdM16N6D+K7X/9TWp2al8tGcs11OuAVDeoTwzWs/C097L0s19YAaDwpK/rrBo1xVTopjyrnZMfz3EMrPY75L9wzBsrs4zHSccqIjDRyuxa9PGovcV4klRqCf0nTt3WrodQjxyOVodW2buNgXzyi0CCHm51r++JiMng0n7JpqCuZe9N9NCZ5TKYJ6ckc2kdafZf1cu9pZVvfjklbq4OthY7L6KwUDmZ+9hn/G9aZAvNbwqLt9uk13ShChGhQroTz311D3LDQaD2dN7REQEvr6+aCQ1o3jMKIrCnm8OkXAtCQC3ii60/bDFv3YDZ+mymHJgEpeSwgBwt3VnWqvp+Dj4lESTH8iFWymM+/EEUUmZAKhV0K9dML1bVyn+RDF3MaSkkDKyBy7em1DlrnzLyqiH49f7UDuW3iV8QjyOirzI87///S8VKlTg6tWrprKJEyfi4+PD6tWri6VxQpSU81suE7bT+HdZY6eh05g22DgUvPY6R5/DjEPTORd/FgBnGxemtJqGn1OFEmnvg/jtWCTvfX/QFMzdHKyZ16sx7zwVZNFgnnP5MvHdnsbZbTNqa2P/fo5tQ2xnHpNgLoQFFCmgr1mzhg8++AAPDw+z8meeeQZ/f3969OjBtm3biqWBQlha7KV49n572HT81MDmuAe4FVhfb9Dz+ZFZHI85BoCDxoHJLacQ6FLJwi19MNk6A7N+O8v0X86SrTPut1CrgivL+regaZBldyvL3LKFuJe74FbrGFYOxnsbXOtiPXIvKnUx7s4mhDAp0m5rLVq0QK1Ws3PnTmxszMfecnJyaN26Nfb29qV67F0mxQmArFQta4dvJi13vXmd56vTql+TAusbFANfHpvHzojtANha2TK55TRqef77WHtJi0nOYtxPJzgbmWwqe6WJP0OfqYGNxnLZ1xSDgdQv55P6xWy8usRiW9643ariGoTq/UPg4HGfKwghiqpI/7LPnz9Pr1698gVzAGtra3r16sXJkycfunFCWJJiUNj5xV5TMC9X3YvmbzcsuL6i8N2phaZgrlFr+KjZ+FIXzI9fS6D3wv2mYG6rUTPh5TqMfr6WRYO5IS2NhH7vkTp7Nh5tE/KCuWM5VG9vk2AuhIUVafaaRqMhMTGxwPPp6emy05oo9Y6vPcuNo7cAsHOxpePo1v+6g9rK8yvYFL4RADVqRjYeTQOfgr8AlDRFUVhz8AZf/nkRvcHY8ebrZs/MNy2Y9S2XLjyc+D590YWF4do8GfsqxvF6xdoRVY/N4F7JovcXQhTxCb1JkyYsWrSI9PT0fOcyMjJYvHgxTZoU3G0pxKN281Q0R1bl9iKpoMOIUJy8Cp6oteHyen4Ky5vsObjhEFr6tbJ0MwstK0fP1PVnmPv7BVMwbxrkydL3m1s8mGft3EnMcy+gCwvDsXYqTnWNO6ehskL1+s/gV3q+9AhRlhXpCX3UqFE8/fTTNGnShPfee4/q1aujUqm4ePEi3333HZcvX2b+/PnF3VYhikV6fAbbZ+9ByQ18jd6sR8X6vgXW33Z9K4vPLDIdv1f3fToEdLR4OwvrdnImY1af4MJdu6T1Cq1M/w5VsbLgLHZFUUj75r+kzJgJBgN2lTJwbZE3Zs/z/4Wqz1js/kIIc0UK6O3bt2fx4sV8+OGHDB8+3LRWV1EUHB0dWbhwIZ06dSrWhgpRHAx6A9vn7CEzOQuAivV9afhanQLr77+1jwXH876cdq/Rg+eDXrR4OwvrxPVExv14gsR043i1nbUV47vWoWOd8ha9ryEzk6QRI8n85VcAbHy0eHRIxrRsv814aNTXom0QQpgr0iz3OzIyMtiyZQtXr14lJyeHypUr06lTJ9zc3IqxiZYhs9yfTAd/OM6Jtca1446eDrz6RRfsXe3uWfdk7Ekm75+IzmCcD/JClZfoW7dfqck5vu5wBHM2nzd1sfu52zPrzQZULW/Znd10EREkvNuPnLPGz9HKJQefN9NQK7lDcPV6wcvLoJR8TkI8KR4qpZuDgwNdu3YtpqYIYVk3jtw0BXO1lYqOo1oXGMwvJV7i04NTTcG8nX8H3q3bt1QE8xydgbm/n2f9kUhTWeMqHkx/LcSiKVwBtPv2k/B+fwwJCQBYedji012PWpsbzCu3hxcXSTAX4hGQHK3iiZAam86OeXtNx816N6B8Te971o1MjWTy/olk6owztZuWb8rgBh+iVlluyVdhJaRp+eink5y4nrfK5K0WgQx8uhoaKwuuL1cU0pcuI/mTSZC76ZJVFX98Xs9EHX/FWMmnDryxDjSW/VIhhLg3CeiizNPn6Nn2+d9oU43jzJWaVaTuizXvWTcuM46J+8aTkm2cYFbLszajmoxFo370/1TColIY/b/jROeO/9to1Ix9oRZd6ls23ayi1ZL00cdkrP7RVGbbrg2ez6SiuvybscDZD3psBrvSuV2sEE+CR/9bSggLO7T8BDEXjTuMOfs4FrjpSmp2Kp/sG09cZiwAlV0qM6H5J9ha2ZZoe+9lx9lopqw/Q1aO8enYy9mWWW/Wt/iWp/rbt4nv+x45x46Zypw+GIBLw9uoDq4yFtg4QfdN4Opv0bYIIf6dBHRRpl07GMGpX84DoNaoeXp0G2yd8gdorS6LqQcmEZEaAUB5R18mtZyCo/Wj3UTEYFBYvNu4f/kdtSu6MvON+ni73Hv8v7hkHztOfL9+GKJvA6Cys8Ntzuc4lL8Bf3xsrKSygtfWgG99i7ZFCHF/Fhl00+v1XL582RKXFqLQUm+nsfPL/abjFn0a4V01/6YkOoOOWYdncCHhAmDcBnVKy6m42z3aVKWZ2TrGrzlpFsyfDfHj67ebWDyYp//4E7GvdjMFc6sKFfD6ZT0ONVTwx9C8irLWXIhSo0gB3crKiv/9738Fnl+2bBmNGjUqcqOEeFh3xs2zc9dnV24RQO0u1fLVUxSFr47P58jtI4Bx57RJLadQ3rHgRDMlISY5i/cXH2LHudynYxUMeroaE1+ug+2/pKd9WEpODkkTPyFp+AjINn52Ns2b4b15IzbumfDzW0DuStfWH8tacyFKkUJ1ud+8eZPt27ebjhVF4a+//iInJydfXYPBwMqVKzEYDMXXSiEe0MEfjhNzKR4Al/JOPDW4+T3HzZeeXWLabMVabc345hOp7FqlRNv6T2cikxjzv+PEpxkDqoOtFVO7hdCq2r1n5RcXfUIiif0HoN2btxrAsff/4Tp5Eqq0SFj1POTO/KduD2g/1aLtEUI8mEIlltFqtVSrVo3IyMj7VeXO5Xr06MHy5csfvoUWIollyq5rByP489PdgHHcvOuszngH5+9q/+Xyer7PTemqRs3opmMfeX72LaejmLbhjGn/cj93e2Z3b0gVHyeL3jfn3Hni3+2L/sYNY4G1NW7Tp+HYoztkJsL3LSHOOCRB4FPQ60/QPPrJgkKIPIV6Qre1tWXdunWcOHECRVF47733ePfdd2nevHm+ulZWVpQrV46nn3662BsrxP2kxtxj3PwewXx35C5TMAfoH/LBIw3mBoPC97uu8P3uvPHyBoHuzHijPm6Oll3XnblpM4lDhqJkGp++1d7eeHy3ENsmTUCnhdUv5wVzrxrw5noJ5kKUQoWe5d6oUSPTuPjevXvp27cvzZo1s1jDhHhQep2BbbP33DVu7n/PcfPjMcf58ugXpuM3q3fnmcrPllg7/ykrW8/UDafZfva2qezFhhUY9VwtrC24f7liMJA6ew6pX+blqrcOqYfnokVY+fmCosAv78J1Y28Hjj7Gteb27hZrkxCi6Iq0bG3JkiXF3Q4hHtrhFXetNy/nxFOD8q83v5J0mZmHpqNTjCldO1d6hrdqdC/xtt4Rl6pl1KpjnM/dKU2lgg87VefNFoEWTTNrSE0l8cMhZG3Zaiqzf+UV3D+bicre3liwcyKcXmn8s8Ye3voN3CtbrE1CiIdT5HXoZ86cYc2aNdy6dQutVpvvvEqlYtmyZQ/VOCEK68aRm5xcfw4wjpt3HBWKrZN5V3V0ehST939iSuna3LcF/UM+eGT52cOiUhi56jgxKcbMbw42Vkx9zfKT33Th4cT36YsuLMxYoFbjMv5jnN67a+OZY4vhr2m5r1DBq6ugYlOLtksI8XCKFNC3bt3K888/f89Z7ndIQBclJS0unZ3z9pmOm/VugE9VL7M6ydpkJu2bSJI2CYCaHrUY0XgUVirLLQH7N39fjGHiz6fIzDZmfivvasfsHg0JLmfZndKydu0i4YNBKMnGfctVbq54fPM1dm3a5FW6shU2vp93/Mw8qNnVou0SQjy8IgX0SZMmYW9vz8KFC2nevDn2d7rohChhxv3N95KVauwlCmxakbov1DCrk5WbBe5W+i0A/J39Gd984iNJ6aooCv/bf52vtlzkzvqS2hVd+eytBnjeI4Ndcd43beFCUqbPgNwlpZpq1fBcvAhN5bu60W+fhp+6Qe4uczQbAs0/tFi7hBDFp0gB/eTJk4waNYq33367mJsjxIM5uvo00ediAHDycsiXp11v0PPZ4ZmEJRq7lz3sPJnUYgrONpZ9Er4Xnd7AnM3m254+Xac8H3etg50lk8VkZpI4eiyZ69aZyuw6d8L9y3mone/6HFJuwcrnQGscz6f6S9B5jsXaJYQoXkUK6La2tvj5+RV3W4R4IJEnozi25jQAKrWKDiNbY+ec95SrKArfnPwPR24fBnKzwLWYgreDT4m3NS0rh49/OsnBK/GmsnefCqJvuyCLjuHrbt4ioW9fck6dNpU5DxuK8/BhqNR3zaDXphkTx6QYc9nj1wReXQnqRzMkIYR4cEVaE9O5c2c2btxY3G0RotAykjLZMXevKQtpkx4h+fY3//Hi/9hy/U8ANGoNHzUbTyXXSiXcUriVmEm/RQdNwdzaSsWkV+vSr32wRYO59tAhYrs8ZwrmKgcHPL5diMvIEebBXK+Dn9+A6OPGY7dK0P03sHm0G9MIIR5MoZ7Qr169anbcr18/XnzxRd577z169epF+fLlsbLK/02+SpVHm0JTlE2KQWHnF/vITDLODq9Y35f6r9Q2q7Pl2p+surDSdDy04XDqeYeUaDsBzkYmMXLVcRJz18a7Olgz680G1A+07Fru9BUrSRo/AXInrloFBOC5eBHWNf+xD7yiwO+D4dJm47Gdm3GtuVM5i7ZPCFH8CpX6Va1W53uSuPOygp4wVCoVOp2uGJpoGZL69fF1/OczHFp+AgAHdzu6zXsee7e83ceORB9m2sEpGBTj5K8+dfrSNfjlEm/njnPRTF57Gm1uGtcATwfm9GiIv6flnnyV7GySJ35C+vIVpjLb0FDcv/kaK497fInYOxu2jjL+WW1tTOlauZ3F2ieEsJxCPaH/3//93yNbqyvE3aLPx3J45UnjgQraDWtlFswvJV5i1uEZpmD+YtBLJR7MFUVh5d5rLNgaZiprUMmdmW/Ux9XBcmlc9bGxJLz3PtmHDpvKHPu+i+uE8ag09/infnZNXjAHeOl7CeZCPMYKFdCXLl1q4WYIcX9ZqVq2z9mDYjD2DjV8rS4VQ/K2OY1Oj2LKgUlo9cYlbK38QulTp2S397zXTPYuIX6Me7G2RdO4Zp86RUKfvuijoowFtra4z5qJw2vd7v2CG/tgXa+843ZTIKTXvesKIR4LRc4UJ0RJUhSF3V8dIC02HYDytXxo9GZd0/mU3MQxybmJY2p51mZYoxGoVZYLov+UnqXj4zUnOXA5zlTWr10QfZ6y7Ez2jHXrSRw1CrKMX2TU5cvjuehbbBo0uPcL4i/D/16E3C8+1H8b2oy3WPuEECWjSAG9cuXK//oLSqVSYWtrS/ny5WnZsiUjRozA3V02dBBFd3ZzGNcOGpdU2Trb0GFEK9RWxmCt1WuZdnCKWeKYj5tNwMbKsruU3S0mOYvhK49y+XYaYJzJ/nHXOjxTz3LLOxWdjpRPZ5C28FtTmU2jRngs+hYrnwKW5qXHwcoukJm7fK5yB3h+oTGJvBDisVakgB4UFMTx48dJTEzEycmJoKAg7O3tuXTpEvHx8djY2ODu7s61a9fYtWsXq1at4siRI3h4eBR3+8UTIO5qAvsXHzUdtxvSEicv48QyvaJnzpHPuZBg3N7T3dadT0o4cUxYVAojVh4jNjdbnYu9hllvNqBBJcv9fTckJpIwcBDa3X+Zyhy6v4XbtKmobAvIOJeTBau7QsIl47F3bXj9Z9CU3BcfIYTlFKk/ctiwYSQnJ/Ppp58SFxfH8ePH2bdvHzExMXz77bcoisLy5ctJT09n9erVxMTEMHXq1OJuu3gC5GTmsO3zvzHkzhSv+0INAptUBIzd8ItPL+JAlHH/c3uNPRNbTManBBPH7LsUS//Fh0zBvIK7Pd/1bW7RYJ5z4QIxz7+QF8w1GlynT8Pts1kFB3ODATb0hoi9xmOn8tBjE9i7WaydQoiSVahla//UpEkTatasyQ8//HDP83379uXMmTMcOHAAgKFDh/Lbb79x5cqVh2ttMZJla4+HnfP2EbbTmAfBK8iDrrM6Y5WbJnXD5fUsPrMIALVKzcTmk2hYrlGJtW3DkQg+33Qefe4kvbr+bnz2VgPcHS33xJv5++8kfjgUJSMDALWnJx4Lv8G2RYt/f+HWsbB3lvHP1o7wzl/g19Bi7RRClLwiPaGfOXOGli1bFni+cePGnDx50nRcr149ou7MvhWikMJ2XjUFc2s7DR1HtTYF8z03/zYFc4BB9T8ssWBuMCh8vTWMmb+dMwXz9rXK8VXvxhYL5orBQMrsOST0fc8UzK3r1sX79033D+ZHFuYFc5Uauq2WYC5EGVSkMXQfHx+OHj1a4PmjR4/i5uZmOo6Li5NJceKBJEUm8/d/D5mOWw9ohquvcVz8XPxZvjiat2nIm9W70zHw6RJpV7bOwNT1p9l6JtpU1qNlJQY+XQ212jITywypqSQO/pCsrdtMZfYvd8Xt889Q32+nw7DNsOmDvONnv4Lqz1uknUKIR6tIT+gvv/wyS5YsYd68eWbZ4BRF4fvvv2fJkiW89NJLAFy7do1vv/2WJk2aFE+LRZmny9azbfYedFnGv1vVOwRRta1xi8/I1EimH5hKjsGY0rRDwNO8VaN7ibQrOSObIT8cMQVztQpGPleTwZ2rWyyY51y+QuzzL+YFc7Ualwkf4/7V/PsH81vHYM3rkJtkh5YjoekH//4aIcRjq0hj6CkpKbRp04ZTp07h7OxM5cqVsbW15fLlyyQlJVGrVi12796Ni4sL9vb2qFQq/vrrL5o3b26J91AkMoZeeu399jBnNl0EwK2iC6/M6YK1nYbErERG/zWC2xm3Aajv3YCJLSahUVs+ncKtxAyGrTjG9TjjOng7ayumvlaP1tUtNwEvc+s2Egd/iJKaCoDKzRWPb77Grk2b+7846QYsagZpuT0JtV4zdrWrS25dvhCiZBXpX7eLiwsHDx7ks88+o3r16oSHh3Pq1CkqVqzI1KlTOXToEB4eHiQnJ9OvX79SF8xF6XXtYIQpmFtZq+k4qjXWdhqydFlMOzDFFMwru1RmbNOPSiSYn7uZzLvfHTQFcw8nG755p4nFgrliMJAy70sS3uljCuaaGtXx2bypcME8M8m41vxOMPdvCS8vk2AuRBlXpCd0S8nKymLgwIGsXbsWe3t7Ro4cyYgRI/71NdeuXaNOnTps3LiRtm3bFvpe8oRe+qTGprN26Ca0acadyVr3b0qtZ6uhV/TMODiNQ9HGMXUvey8+bzMHT3svi7fp74sxTFhziqwcPQCBXo580bMRfu736e4uIkN6OolDh5G1+XdTmV2XLrjPm4vasRCbuuiyYeWzEL7DeOwRDO/uB0fLf1ZCiEerUI83BoMB9V3f7g0GQ6Eurn7AJ4JRo0Zx5MgRduzYwfXr1+nduzeBgYF061ZAPmpgwIABpKenP9B9ROlj0BvYMWePKZhXbhFAzWeqoigK351aaArmDhoHJjafXCLB/OdDN5i7+Ty5E9lpEOjOrLca4GJvbZH76cLDiX+3L7qLuZu6qFS4jBmN06CBhUsdqyjwa9+8YO7gZdwKVYK5EE+EQgV0a2trli9fTvfuxslHGo3mvr9gHnT71PT0dBYtWsTvv/9Ow4YNadiwIWfPnmXBggUFBvSVK1eSmtslKR5vR/53iujzsQA4+Tjy1KDmqFQq1l9ay+bwTQBoVBrGNfuYSq6VLNoWg0Hh621hrNh7zVT2dJ3yTHi5LjYW2mAla8dOEgYNRklOBkDl4oLHgq+w69C+8BfZNQlOLTf+WWMHb/0KnlWLv7FCiFKpUAG9TZs2lCtXzuy4uDebOHnyJDk5OWbr20NDQ5k+fXq+HgKA+Ph4Ro8ezZYtW6hTp06xtkWUrMiTURz/+QwAKrWKjiNDsXWyYc/Nv1lydrGp3uAGQwjxrm/RttxrWVqv0MoM6FDVIjPZFUUhbcF/SJn1mfEJG9BUq4bHou+wDqpS+AsdWwy7p+QeqOCVleB/n/XpQogypVABfefOnWbHK1eupEKFCsXakKioKLy8vLCxyUvMUa5cObKysoiPj8fb29us/vDhw+nduze1a9cu1naIkpWZlMXOL/ZCbrd20571KVfdm7NxZ5h7dLapXvcaPWkX8ABPq0WQkpnDmNXHOX4tETAuSxvepSbdmgZY5H6GtDQSh40ga/NmU5nds8/gPu8L1E5Ohb/Q5T/ht/fyjjvPhVqvFGNLhRCPgyJNEW7RogV9+vRh0qRJxdaQjIwMbP+Rh/rOsVarNSvftm0be/bs4cyZM4W+vlarNbtOSkrKQ7RWFAfFoLBj3l4yErMAqFjfl5CXaxnXmh+cis5gHLJ5OrATb1R/06JtiUrKZPiKo4THlsyyNN3V3PHysLzxcueRI3D+cDCqB5l7EnUCfuoGinHSHs2GQIuhxd1cIcRjoEgDgjExMVSsWLFYG2JnZ5cvcN85dnBwMJVlZmby/vvv8/XXX2N/v8Qad5kxYwaurq6mH39//+JpuCiykxvOEXncmBLY3s2OdsNakpSdxOT9E0nLMW5D2sCnIQNCCjkprIguRqXQ97sDpmDu7mjDf95ubLFgnrV9BzHPPW8K5ioXFzyXLsFl6JAHC+bJEbDqOcg2flbUfAU6z/n31wghyqwiBfSnnnqKX375heJc8VahQgXi4uLMJtJFR0djb29vlkb20KFDXL16lVdffRUnJyeccrsmn332Wfr371/g9ceNG0dycrLpJyIiotjaLh7c7YuxHF5xwniggvbDWqF2UuVbaz6myTiLrjU/cDmOAYsPEZ87u97f04Hv+jajdkW3Yr+XYjCQ8sU84nu/jZLbQ6SpVg2fTRux69jhwS52Z615qnEPeCo2h1dWgNqqeBsthHhsFOk35QsvvMBHH31E1apVadu2LeXKlcPKyvwXiUqlYvLkyYW+Zv369bG2tubAgQOEhoYCsGfPHpo0aWI2Ia5p06ZcunTJ7LVVq1Zl0aJFPP10wfm8bW1t83Xpi0dDm5bN9tl7MOiNXwgbvFoH3xAfZhycxqUk41Orl70XE1tMwsHa4d8u9VA2Hr/JjF/Pmu2W9vlbDXCzwAYrhtRUEocMJevPLaayIo2XA+i08OPLEJM75OQRbJzRbm2ZtfFCiMdDkRLLFGZ9uUqlQq/XP9B1+/fvz549e1iyZAk3b96kd+/eLFmyhFdeeYXo6GhcXV3v2c2uUqnYuXOnJJZ5DCiKwtZZfxO+/wYA5Wp488L0jnx39ls2h28EjGvNZ7b+3GLL0xRF4ftdV1i0K28736dq+jD51XrYWRf/E27OpUskvNsP3Z3tgx90ffndDAZY3wtOrzIeO3gZE8d4Bhdvo4UQj50iPaH/c9Z7cZk7dy4DBgygXbt2uLq6MnnyZF55xThb19fXlyVLlvD2229b5N6iZJz745IpmNs62dBhZCi/hv9iCuZWKiuLrjXX6Q3M2niO347dNJW93iyAIc/UwMoCy9Iyf/+dxCHDUHKTH6ncXI3ry9u1K9oFd3ycF8w19tB9owRzIQRQylK/liR5Qi958eGJrB/1O/ocY6bBTuOe4qb/NT47PNNUZ2jD4bQPeMDx5EJK1+r4+KcTHLgcbyr7sHN13moRWOyT7hS9npTPZ5P21QJTmaZmDTy/X4QmMLBoFz38Td5WqCo1vLEearxYDK0VQpQFhZoUN3/+/AfuPr9bTk4Oc+bI7NsnWU5mDls/+8sUzOs8V53Mqilm+5p3r9HTYsE8LlXLgCWHTMHc2krF1Nfq0b1lpWIP5obEROL/r7dZMLfv+hLev/5S9GB+4RfYPCjv+NmvJJgLIcwUKqAvXbqUOnXq8OOPPz5QYM/MzGTx4sXUqFGDFStWFLmR4vG3Z+Fhkm8Z0/R6VXGnYrdy+fY1t9Ra8/DYNPouOkBYlPH+znYa5v9fY56u41vs98o+c4aYZ59Du2u3scDKCtdPJuK+4CvUDkWc4BexH35+M29f81ZjZF9zIUQ+hQrohw8fpnv37vTu3Rt/f3+GDh3Kpk2biIyMNKunKArXr19n1apV9O3bF19fXwYOHEj37t05dOiQRd6AKP3CdlwlbOdVAKztNDT5MIRpRyaRmmMMsA18GjKw/iCLrDU/cT2R978/SHSSMXlNeVc7vn23GQ0qeRT7vTLW/EzsS13R5y6JVHt64vW/VTi916/o7y0uDFa9ADpj+6nbAzp8WkwtFkKUJQ80hh4eHs7s2bNZunQpWVnGXzA2Nja4uLig1+tJSkpCURQURcHe3p63336bcePGFXsSmuIgY+glIzEymXXDN6PTGnt2Wg9tyveqb0zL0yq7VGZG688ssjxt+9loJq87TbbO+GRbrbwzc3s2wsu5eJcvKtnZJE+eQvrSZaYy6wb18Vi4EE0Fv6JfOO02fN8SEo1fhqjcHnr8DpriX1YnhHj8FWlSXGJiIn/88Qc7d+7k0qVLxMbGolar8fX1pXLlyjz77LN06tTpgTK5lTQJ6Jan0+pYP+oPEq4nAVCtQxX2Nt1aIvua/2/fNeZvuXhnvxOaB3sy/fX6ONoWb5IafVQUCe8PIPvoUVOZQ8+euE2ZhOph8h5oU2FpW4g6ZjwuVw/e+QvsXB+qvUKIsktmuUtAt5i/vj7A+T8vA+Du70p87xv8ftO4EYml1pobDArz/7zI6gPXTWXPN6jA2BdqobEq3q1Ptfv3k9D/AwxxccYCW1vcpk/D8a2HnAugzzF2s1/503js4g9994NL8W6IJIQoWx74cSU5ORmdToenp6cl2iPKiMt/XTMFc42NFcobmaZgbql9zbNy9Exed5qd526byt59Koi+7YKKdXxeURTSFn5LyqczIHeSqFWFCnh8txCbkJCHvTj82jcvmNu5Qc/fJZgLIe6r0I8sW7duJSQkBA8PD3x8fAgODuaHH36wZNvEYyo5KpW/vj5oOvZ+zYWV8Xnjy5bY1zw5I5sPfzhiCuZWahUfvVibfu2DizWYG9LSSHh/AClTp5mCuW2b1nj/sfnhgznA9o/hZO6/KytbY0pXH9kiWAhxf4V6Qt+/fz/PPfccer2e2rVrY2Vlxfnz53nnnXfIysrivffeu/9FxBNBl61n22d/kZNpXI7m3dyNpbbfmvY771mzV7Hva34rMYOhy49yIz4DAHsbKz59PYQWVb2L9T45ly6R0Pc9dJcvm8qcPxyM88gRqKyKIWXswQWwZ0bugQpeXQmBrR/+ukKIJ0KhntA///xz3N3dOXLkCKdOneL48eNcvHiRunXrMmXKFEu3UTxGDiw5StzVRAAcy9uzrsZKdIpxB71OgZ15rdobxXq/8zeTefe7g6Zg7uFkwzfvNC32YJ7x62/EdnneFMxVLi54LFmMy5jRxRPMz/4Mv3+Yd/zsfKj16sNfVwjxxChUQD948CCDBg2iQYMGprLAwECmT59OVFQUV69etVgDxePj6t7rnN1sXI6mtlZzoM1OUlTGbUIbl2tc7Pua7w2LZcCSwySmG7c+DfRyZFHf5tTwK75Jjkp2NkkTJ5E44AOUDOOXBk3NGvhs3oh9p4J393sg4btgXQ9M3Rih46DZoH97hRBC5FOogB4XF0dAQEC+8vr166MoClFRUcXeMPF4SYlOZfeCA6bjyDaXueEYDkCwWzCjmozFqhj36t5wJIJRq46RlWMcx64f6M637zbFz734lkrqo6KIe/1N0r//3lRm/+qreP/2K5rKlYvnJtGnYHVX0Bu/lBDSGzpML55rCyGeKIUaQ8/JycHa2jpfuZ2dHQBarbZ4WyUeK/ocPVs/+5vsDOO4eUaNFI77GyfF+TiUY0LzT7DXFE+gVRSF/26/xLK/w01lHWqXZ+LLdbAtxq1PtXv2kjBwUN6SNBsb3KZMxqFnj+LrZUi8BiueAW2y8bhqF3jxO7BAxjwhRNlXvFk2xBNp/5JjxF1JAMDgoePvRn+CCpytnZnUYjLudsWTZjVHZ2DaL2f481Rej1D3lpUY9HQ11MW09aliMJC24D+kfD7buPc4uUvSvv0vNvXrF8s9AEiPhRWdIS33vVRoCq/9BFb5vzgLIURhSEAXD+Xq3uuc3XTReKBR2Bu6FZ2NDhu1DR83n0hFZ/9iuU9qZg5jfzzB0fD/b+++w6os3wCOf88BZA9BRUDCbW5c5Z45+7l3pmimZq6y3CnitsxVrhaWM1Nzj3JPVHCiODB3mooCIpvz/P44cvAIOJEDeH+ui6ve5133OXC8z/u8z3s/+i8OGg183uRtOlR9ydnL0qC7f597gz4nbvt2Q5tlvbrknj0bM+fcGXYe4qJgyfsQph9vgEsJ+GAj5LLNuHMIId44z53Q9+7dS2JiolFbVFQUAH/99VeqiVoAunXr9orhiaws4qbxffOT7xwh0iUcDRoGV/6SUi6lMuQ8t8JjGLzkKP/c1v+9WZprGdeuHHVKumbI8QHijx/nXp++JCX/HWs02H8xGPtBA9FoM7DCXGI8rGgH/x7RL9u7Q9etYJvx5W+FEG+W5yr9qtVq071vqJRKtS657VXmUH/dpPTrq0mMT2Lt8K2GrvZ/C1/hWO0DoIHeZfvwvyIZM1f3uZuRfLHkKHcf6MdpONlYMO2DipTxdMqQ4yulePjrb0T4jYN4/cA0rbMzub+fjVWdOhlyDgOdDlZ/CMHL9MuWjvDRXnAtm7HnEUK8kZ7rCt3X1/d1xyGymYM/BxqS+UPHB5ysfhg00LpomwxL5gcu3OGrFSeIjtd/MSzgbMOMDyvi6ZIxXdO6qCjChw4jZu06Q1uuSpVwnj8PM/cMnitdKdjyWUoyN7eCD9ZLMhdCZBhJ6OKFXdh9iTNbLgCQZJZEUN19JFkkUrtAHXxK98iQc6wJvMY3G0NI0uk7kMp6OvFN5wo42WbM1KEJISHc6/0JiY/VULDt9TGOo0aiSeOJjle2dxIc/k7//xoz/QA4qQInhMhAMihOvJD71yKM6rQHVw3kgXM45fKUZ1CFz9FqXu1+s/6xtFB+3ZuSaOuWzMfYtuWwyqDH0h7+voKIkaNQsbEAaOztyf3tNKzfb5Yhx08l8AfY8VXKcoufoETz13MuIcQbSxK6eG4JsYn8/fUeEmP1gyOvFf2H68X/oaBDIUa8OwqLV3zkKj5Rx8QnHkvrXM2LAY1KZMhjabroaCJGjiL6j5WGNosyZXBeMA/zggVf+fhpOr0SNnySstzwa6jQ/fWcSwjxRpOELp6LUop98w9z/6q+CEqkUzjB1QLJa50X32pjsbV4tfvaEdHxDF9+nGNX9HXgM/qxtIQLF/Rd7OfPG9psunTBadxYNI8KJGW4i3/Dqg8wlHSt/iXUGPJ6ziWEeONJQhfP5ezfoZzfqe8GTzRP4Gj9fdhYWzO2+jhcrF/tkasb96IZvOQoV+4+BMDSQsv4duWp/Xa+V44bIPqPlYSPGImKiQFAY2OD09dTsGndOkOOn6brh2B5a9Dpq+dR4SP91bkQQrwmktDFM925GMb+H44Ylk/WOExC7jjGV52Ip33qGv8vIvh6OEOWHjNMsJLbNhffdqlIKQ/HVzouPOpi/2o00b+vMLSZl3wb5/nzsSha5JWPn67bp2FJM0jQf0Hh7VbwvwVS0lUI8VpJQhdPFRcVx99T95KUoC+Dernkef4rfJ3hVUZS8hULx+w88x9jV50kLlF/7IJ5bZnepSLuuW1eOe6E8+e516evcRd75044jh+H1jrjJnBJ5d4/8FtDiNE/0kfButB2GZjJR00I8XrJvzIiXUqn2DnzAA/+01dou5/3LmeqHKOv96dUdav28sdViqUHrvD93+dILmtUoWBupnaqgIP1qw2sU0oR/fvvRIwanTKK3cYGpymTsWnb5pWO/UwPbsKihin12d0rQ+d1YPGa7tELIcRjJKGLdB1ffZorR24AEG8Zx9G6++lcujNNCjZ96WMmJumYsfksq45cM7Q1Le/OyBalsTB/tUfedFFRhI8YSczqPw1t+i72eVgULfpKx36m6HuwqBHcf/S4Xd5S0GUzWNq/3vMKIcQjktBFmq6fuMnhxccBUCiO1z5I3TJ16Vii80sf82FcIl/9cYKDF+4a2nrWLcLHdYu88pSk8cGnud/3U6NCMTZduuDk54vmdXaxA8Q9gCVN4XawftmpIHT9S+qzCyEylSR0kUrU3Yf8PW2P4WmrC97BFK1SiD7lP3npxHs7IpbBS4IIfdR9b26mYUSL0rzv7fFKsSqleOi/kIjxEwy12DV2djh9PRWblhlTgvapEmJgWUu4cVi/bOsKXf8Gh1d7XUII8aIkoQsjSQlJbJ6yk/hI/eNWtz3+xbKBhi8qD8FM83KV2s7+G8mQpUe582iCFXsrc6Z0qkClQq82T3rSvfuEf/klsVv/MrRZlCuL87y5r69QjFEACbCiPVzeqV+2yg3d/gaX19y9L4QQaZCELozs+SmAexfCAYi2i+L++/8yvtpEcpm9XA31PWdvM2blSWIT9BOseOS25tsuFSmY1+6V4owLCOB+/4Ek3UypKmfb62McR45Akytj6r0/lS4JVneFCxv1y7ns4MMtMtmKEMJkJKELgzPbz3F+yyUAkrRJXG4agm8D35eqAqeUYvnBK8z+K2Uke1lPJ77uXIHcrzDBikpM5MGs2TyYOUs/HSmgzZ2b3DNnYPVeg5c+7gvR6WBdLzj9u37Z3Ao6r4cC72TO+YUQIg2S0AUA/128w565h9CgH2n+T60zDGs1DGerF+8WT0zSMX3zWVY/NpK9YZn8fNWqDJavMMFK4o1/uT9gAPGHDhvaclWrhvN3szBzy+DpTtOjFGwZBMf99ctac+iwEgrVzZzzCyFEOiShC6IjY1g9biPaRP2fw78lLtP3o96427m/8LEexCQw6o8THL4YZmjrWacIH9d7tZHsMRs3cX/IUFSEvpY8ZmY4fDEYu/790JhlzCxsz6QUbBsBh7/XL2u00HYpFH8/c84vhBBPIQn9DZeUmMSicSvQhuv/FCLy3KPt580p4vTipVFv3Ivmi6VHuXxHX/LU3EzDyBalafYKI9l10dFEjPUjeslSQ5uZhwe553yPZZXKL33cl7J7POyfmrLc0h9Kt8/cGIQQIh2S0N9wi+Yuhwv6K9x4y1iqfu5NObfyL3ycE1fvM2zZMcKj9aPjHW0smNqpAt5euV86tvjgYO73G0BiaKihzbr5/3CaOgWt46vXen8h+76GXb4py+/PA+9umRuDEEI8hST0N9jKNauJ264fsaY0Orw+zk/tMrVf+DibT/zLpLXBJCTpj+WVx5ZpH1TA0+XlplRVOh1RP/xA5JSvIUH/BUFjY4PjhHHYdOjwykVoXljALNg2LGW50bdQ5ZP0txdCCBOQhP6G2nrkL/5bFIE5+trp9u9b0qLR/17oGDqd4oedoSzck1KdrXIhZyZ19H7pmuxJt25xf9DnxO3bZ2izKFuW3HO+x6JI4Zc65is5Mh+2fJay3GASVB+c+XEIIcQzSEJ/AwVcOkjw7FDsEh0AMCuv44OPO7zQMWLjkxj35yl2nPnP0Na6cgG+aFYSc7OXq8kes3ET94cOQ4WH6xs0Guz6foLDkC8z59nyJx39BTb2TVmuMwZqjcj8OIQQ4jlIQn/DnPzvBNum7yVvpH4Eu8qfhM/ID16oG/t2RCxDlh3j3M1IALQaGNT4bTpUfeulusN1UVFEjPE1mrdcmz8/zrNmYlmzxgsfL0Mc/w3WfZyyXH0I1B1rmliEEOI5SEJ/g5y/f46l81ZS6GoJAHTWOjr7tcbC6vm7x09fD2fY8uPcfVTG1cbSjAntylO9eN6XiikuMIj7AweSdOWqoc2qWTOcpk7BzPnlB9S9kpNLYU13DMXsq34GDadCZt+7F0KIFyAJ/Q1xOeIy3y+eR+lj+ke9lEbRbGh9nPI7PPcx/jp1k4lrgolL1Fdoc89tzbQPKlI434uXcVUJCTyYMZMH331vqPimsbXFcfw4bDq0z/yBb8mCV8CfXTEk83f6Q+PpksyFEFmeJPQ3wL9RN5iyfgpld1U1tL3T3RuvigWea3+dTrFgRyi/7k0Z/ObtlZspHb1xeokyrgmhF7k/cCAJJ04a2nJVqkTu2TMzZ1KV9ASvgFUfgNJ/waByX2g6W5K5ECJbkISew92Ovs3YbWMpubkS5o8qwRWu8xYVWpZ5rv0fxiXit/oUe87eNrQ1r+DB0P+VwsL8xQa/KZ2Ohwt/JWLiRIjVd9ljbo7D4M+x6/cpGnMT/jkakrl+Ehkq9oJm30syF0JkG5LQc7B7sfcYvecrCm5+G5sofbe4cxEn6vWv8Vxd2v/ej2bIsmNcfDSHuVYDAxuXoGNVrxfuEk+88S/hX3xJ3N69hjbzIkXI/d0scpV/8UI2GSpVMv8Y/jcftC83Wl8IIUxBEnoOFRkXweh9o3DZ4YbLLVcArBwtaTqyHua5nl37POjSPUauOE7Eo8pvdlbmTGhfnqpF87xQHEopYlb/SfjoMSl12AHbj3rgMHIEWmvrFzpehgv+HVZ1eSKZL5BkLoTIdiSh50BR8VH4HhiN9oglXueKAaC10NJkVF3s8jy7etuqw1eZvvksSTr9wDBPFxu+6VzhhecwTwoLI3z4CGI3bTa0afPnJ/eMb7Gq/eIV6TLcyaX6AXDJ98wr9JRkLoTItiSh5zDRCdGMPTiG8JAo3jlU19Bep19VXEs8/dGyhEQd324KYU3QdUNb1aIujG9XHvsXrPwWs3Ur4UOHo7t719Bm3boVThPGo3VyeqFjvRYnFukfTUtO5nJlLoTI5iSh5yCxibGMCxjL9cs3qLGzEVqlT07l25SieL2nl00Ni4pjxO/HOXk13NDWpXpBPm1YHDPt898v14WHEz5mLDGrVhnatLlz4zRlMtb/yyLTjB5bCGs/wvBoWuVPoNkcSeZCiGxNEnoOEZcUx4SAcZz/9zw1tjUiV7wlAG9V9uCdD72fum/IjQiGLj/GnUj9yPNc5lpGtChN0/IvNh967I6d3B8yBN2tlHKwVo0a4vT1VMzyvlzhmQwX+ANs6JOyXKUfNPtORrMLIbI9Seg5QHxSPJMOTeDU7ZO8s7MudpH6YjHOXk40+KIG2qfUVt90/AZT1p8h/lGxmHwOVkzt5E1Jj+efnlQXEUHEuPFEL//d0KZxcMBpnB/W7dqarkjMkwJmw5ZBKcvvDoQmMyWZCyFyBEno2VxCUgJTDk/k2H9HKXOwCnlu5gf0I9qbjKpLLpu0C78kJumYtfUcfxxKKbla7i0nJnfwxsXe8rnPr78qH4ru1i1Dm2W9uuT++mvM3N1e7kW9Dvu/gb+HpixXHyLlXIUQOYok9GwsQZfA1COTCPwvkIJnSuB1vigAWnMtjUfUxd417VHp96LiGLXiBMeu3De0taqknynteYvF6MLD9Vflj02oorGzw9F3DDadO2Wdq3KlYPd42OWb0lZ7NNTzk2QuhMhRJKFnUwm6BL45MpXDtw7jesWDUocrGNbVHVCN/CXTvmd9+no4I34/we3IWAAszDR80awkrSp7Pve5Y/76i/DhI9D9l1I9zrJuHZy+noq5h8dLvqLXQCn9VfmBaSlt9SdA7VGmi0kIIV4TSejZUHIyD7h5EIe7uamwpzoa9FebFTuUoVjdQmnutybwGt9uCiEhST+6O4+9JVM6elPG0+m5zpt07x4Ro8cQs2atoU1jZ4fjWF9sOnXMOlfloJ/wZVM/CJyf0tZ4OlT73HQxCSHEayQJPZt5PJlbRdnwzvY6mD2q0V60dkEqf5C6jGp8oo5pG8+w7ugNQ1v5t5yY2MGbPM9xv1wpRczatUSM9kV3756h3bJ+fZymTMbc48VGw792SYmwriec+O1RgwaaL4BKvUwalhBCvE6S0LORx5O5ebw572yvg2W0vnRq/pJ5qTOgWqqr5JvhMYz8/Tgh/0Ya2tq/+xYDG5V4rvvlSf/eJHzESGK3bTO0aZwccfLzw7ptm6x1VQ6QEAsrO8G5R70IGjNo/RuU+8C0cQkhxGsmCT2bSEhK4OsjUzh0KwCNTkPlnbWxv+cEgEN+OxqNrJOqRvuh0LuMXnmSyBh9PXZLcy3Dn/P5cqXTEb14CRGTJqMePDC0WzVrhtPE8Zjly5dxLy6jxD2A5a3g0g79slkuaPc7lGxlyqiEECJTSELPBuKT4plyeBKB/x0BBeUPVMXlX/2EK5b2uWg6pj7WDlaG7XU6xcK9//DjzlDUo2JoHrmtmdzRm+JuDs88X8KFC4QPHUb84SOGNm3evDhNmoh1s6YZ++IySnQYLGkGNw7rly1sodMaKPKeScMSQojMIgk9i4tLimPSoQkcu30UgLdPlsfjQkEAzB5NuOLkkZKkI6Lj8Vt9igMXUmqo1yieF982ZXF4Rj12FRfHg7nzeDD7O4iPN7TbdOyA45jRWaMGe1oirsOiRnA3RL9slRu6bALPqqaNSwghMpEk9CwsLjGWCYfGc+LOcQAKXSxOkaOl9Cs1UP/zGuQvmdL1feZGBCNXHOdWuP6RNI0GetUrSvdahdE+ox573KFDhA8dTmJoqKHNrKAXuadOxbJmjYx9YRnpzll9Mo+8pl+2yw9d/wLXsqaNSwghMpkk9CwqOiGacQFjORN2GoAC/xak1L5KhvXVelSicA0vQD8KfdWRa8zactbwSJqTjQXj2pXnnSIuTz2PLjyciEmTiV6yNKXRzAy7Pr1xGPw5GlPPV/401w/ru9ljwvTLuYvok7nz0yeiEUKInEgSehYUFf+AsQd9OX//HAD573lQYWcNdDp9vfUyzd+mbIu3AXgYm8jk9afZFpxSerWspxMT25cnn6NV6oM/opQiZs0aIsaOM5ri1KKCN7mnTsWidKnX8dIyTuhW+L0tJDzUL+f3hi6bwT6/ScMSQghTkYSexUTERTDmwFdcivgHgHwP81N1e30S4hMBKFzDi+ofVUKj0XDhViQjV5zgWli0Yf+OVd+if8OnP5KWeOkS4SNGEbd3r6FNY2uLw/Bh2Pp0Q2Nmlu6+WcKJRfrpT3X69wSvOtB5LVg9/4QyQgiR00hCz0LCYu4y5sBorj3QT5iSJ9GV2juaEBOln9bUvYwr9T+vDhp91bcZm88S92iWNFtLc75qVYZ6pVzTPb6KjeXBnLk8mDMX4uIM7VbNmuLk55e1JlNJi1L6SVa2DUtpK9kG2iwBi/R7I4QQ4k0gCT2LuPXwJqP3j+K/aP1c4nk1rjTY1ZwHd/Vdys4FnWg0sg6xSYopa07y92Nd7CXcHJjYoTwFnG3SPX7srl2Ej/qKpMtXDG1mHh44TpyAdcNs8GiXLgm2fA6Hv0tpq/IpNJ0N2izeoyCEEJng+abWyiSxsbH07NkTJycn3Nzc+Pbbb9PdduPGjXh7e2NnZ0e5cuVYt25dJkaasa5GXmX43mGGZO5m4UaTfa15cE2fzO3y2dJsTH0uR8bis+CgUTJvW8WTH3q+k24yT7zxL2G9PyGsS9eUZG5ujt2nfcm3a0f2SOYJMbCivXEyrz8Bmn0vyVwIIR7JUlfoQ4YMITAwkB07dnDlyhV8fHzw8vKiXbt2RtudPHmSNm3a8M0339CsWTO2bt1Ku3btOHLkCOXLp65lnpVduH+BsQfH8CBeX5rV0+YtGh1oxa3zdwCwdrTi/bH12XDhDt//dc4wit3W0pxRLUtTv3Tag8BUfDxRP/7EgxkzUTExhvZc776D06SJWLz99mt+ZRnk4V1Y1hyuB+iXtebQ/Aeo0MO0cQkhRBajUSq5lphpPXz4kDx58rB582bq1q0LwIQJE9i2bRu7du0y2nb48OGcOHGCzZs3G9oaN25M5cqVmThx4nOdLzIyEkdHRyIiInBweHb1tNfhxJ0TTDo0nphEfcIt6liUxkGtuLxXP4lKLhsL6n1Vl+9P3GDfuTuG/Uq6OzChfXk80rkqj92zh4jRvkbPlGtdXHD4ahQ27dtlvfrr6Qm7AEveh3sX9Mu57KDDKijayLRxCSFEFpRlrtBPnDhBQkIC1atXN7TVrFmTiRMnotPp0GpT7g74+PgQ/1gls2QRERGZEmtGOPjvAb4JnErio5HapZxL0zi4Jef3XgL0VeAKfVSRAVtCuBOZMoDtg+oF6dugWJqj2BOvXyfCbxyxm1K+6KDVYuvTDYchX6J1zEajwK/s1ddlj3k0u5udm776m5u3KaMSQogsK8sk9Js3b5InTx5y5cplaHN1dSU2NpawsDDy5s1raC9ZsqTRvqdPn2b79u188skn6R4/Li6OuMdGdkdGRqa77ev295W/mHPsO3ToR6i/4/oO9c42I3ir/rlzjVZDQqOijNj/j6EWu5ONBWNal6V68bypjqdiYngwbz5Rc+aiYmMN7bkqVcJx4nhylc1mVdNOLoW1PSDp0Ze2vKX1ydzpLdPGJYQQWViWSejR0dFYWhrPzZ28/HgiftLdu3dp27YtNWrUoGXLluluN3nyZPz8/DIm2JeklOKP8ytYHPKboa2eZwNqX3yPwDUn9Q0aCC2Xjz037hu2qVTImbFtypLXwSrV8WI3biJi3HiSbqTMda7NkweHUSOxadcWjTZLjXt8OqVg93jY5ZvSVrghdPhDnjEXQohnyDIJ3crKKlXiTl62sUn7XvF///1Hw4YN0el0rFy50qhb/kkjRoxg8ODBhuXIyEg8PT0zIPLnk6SS+OnkD2y8tMHQ1rJIK6pcqsHBJUcNbYFeDpx6dOVuptXQp35RutQohNkTtdgTTp8h3Hcs8QcPpjSam2Pb3QeHLwajNdG4gJeWEANre0LwspS2ir3g/Tlg9vRJZYQQQmShhO7h4cHdu3dJTEzE3Fwf1q1bt7C2tsYpjVm+bty4Qf369QHYtWuXUZd8WiwtLVP1AGSWhKQEpgdNY/+/+wxtPqV78HZoWfb9nDJF6RF3W4Kd9DEWcLbGr205ShdwMjpW0t27RH49jehly+BRKVgAyzq1cfQbi0WxYq/3xbwOD27p75ffOPSoQQPvTYEaQ/QzzAghhHimLJPQvb29sbCwICAggJo1awKwb98+qlSpkurK++HDhzRp0gStVsvOnTvJnz/r1u+Oin/ApEMTCQ47BYBWo2Vghc9wP+/F7vkBhu2OudoQnE/fE/G+tzuDm5XE1jLl16Pi4ojy9+fBzNmoBw8M7WZeb+HoOwarRo2yz+j1x908DstapMyWZmGjr/xWspUpoxJCiGwnyyR0GxsbfHx8+OSTT/D39+fGjRtMmzYNf39/QH+17ujoiLW1NZMmTeLixYuGx9lu3dIXWrG2tsYxC43kvh19G7+DvoZSrpZmlgyrMgLHs3nY8f1+w3Yn81lzPL8NDtbmDGtemgaPPVuulCJ202YiJk4k6cpVQ7vGzg77QQOx6/kRGhP1PLyy03/Amu6Q8KgWvUMB6LxeRrILIcRLyDLPoYN+YFzfvn1ZtWoVjo6ODBkyhM8++wwAjUaDv78/3bt35+233+bcuXOp9vfx8WHhwoXPda7X/Rz6P+EXGRcwlnux+seuHHM5MqbaWDSnLNg+fT88etdP57XmsLstlQq74Nu6rNEMafHHjhExfgLxhw6nHFijwaZTRxyGDcXsGbcZsiydDnb7we5xKW0e70CnNWCfxevJCyFEFpWlEnpmep0JPei/QL4+MsVQMMbd1h3f6uOIPBLDrpkHDMk8xMWKowUd6PtecTpW9UL7aOBb4tWrRE6ZSsxa43K2ljVq4Og7JutPbfo0cQ/gTx84+2dKW7mu+upvMsGKEEK8tCzT5Z5TbLq0kR9OzDc8Y/6289t89e4YTm+7yYkfAkm+y33WxYqwym74ty1HEVd7AHT37/Pgu++J8l8IjxXOMStUCMcxX2HVsGH2vE+e7O55/eC3uyH6ZY0WGn4N1QbL4DchhHhFktAzSJJKYmGwP2svplx5VnevwcAKg1n560kerj9vmAnnnIsVxTuXZWq9YuQy16JiY4nyX8iD775HPVbtTuvsjP3gz7H9sAsai2z+6Na5DbC6C8Q9Kuhj6QjtlkGxpqaNSwghcghJ6BkgJjGGbwO/4fCtQ4a2tsXaUde1HeMn7MHr+G1DMr/uYUePYXUo65UblZTEw99X8ODb6UaFYbC0xO7jntj375f9nid/kk4He8bDLj8M9xryltbfL3cpasrIhBAiR5GE/oruRN9mfMA4Lkfqa7BrNVo+KfcpEf+VYtyCHbxzJeURs4RSeRjp+x5WlmbE/PUXkVOmknjufMrBNBps2rfD/ssvMfdwz+yXkvGi78GfXeHCppS2km2hlT9Y2psuLiGEyIEkob+Cs/dCmHhoAhFx4QDYmtvSvcTnrNqhJTHoKO/eeGjY1rVOQVp+XoP4gADuTvma+MBAo2NZ1q+H44gRWJQyrlOfbd08Br+3gfDL+mWNVj+Hec3hcr9cCCFeA0noL2n3tV3MPjaTBF0CAPlt3CiX6yMmLntAyRtRvHsr2rBt6ZYlqVLRjLAuHxK3e4/RcSwqVsRx5HAsq1XLzPBfH6Ug6EfYPBCSHpXytckD7ZZD4QamjU0IIXIwSegvKUGXYEjmRexLcSe0MYtvRFL534eUvRNj2M67gRtF9s/n7ugtRvubFy+Ow7AhWDVunL1Hrj8uLgo29oWTi1PaPN6BDivBMfPq5gshxJtIEvpLes+rIZcjrnD06k0O76+MLjGR6tejKBGWMn1pOYfLFPh6JHGPPepv5umJwxeDsW7TGo2ZmSlCfz1un4YV7VMeSQN4pz80mgbm2bSSnRBCZCOS0F9S0KV7bN5ZnBv3CqDVQe2rDygcnjxbnKLslbW8dSdl1LvWNR/2Awdg+8EHaB6b8z3bUwqO/gSbB8GjQjrksocWP0GZDqaNTQgh3iCS0F9SyI0IbtyLwTxJ8d7lSNwe6LvfNSoJ739W4HFfP7+51sUF+/79sO36IRpra1OGnPFiI2FDHwhentKWr6y+iz1PcdPFJYQQbyBJ6C+pUzUvdgZdp/SRf7F9lMy1SfFU+mcprhHn0Dg5Yd/3E2x7dEdra2viaF+D64dh1Qdw/2JKW+W+0PhbsMhhX1yEECIbkIT+kiIDz1BnzzliEvX1xy0So3nnwq84W0RgP3QIth/1QGufA5+11iXB/q9h5xjQJerbLB31Xeyl25k2NiGEeINJQn9JxxceJCZRfyVqFR9O1Zsrce/XUX9Fnt2ru6Un4hr82Q0u70ppK1AV2i6F3IVMFpYQQghJ6C+t1vi23O80h1gLexo0yEW+TzagtbMzdVivz6llsPFTiA3XL2u0UGsU1BkNZtm8zrwQQuQAMn3qK0yfGrXvENqixbDJ75zB0WUhMff1ifzxgW8OntBmMRSsbbq4hBBCGJEr9FdgV/NdU4fweoVuhbU94cFjE8eU/QCafQ/WuU0XlxBCiFQkoYvU4h7A1i/g6I8pbVZO8P48KNvJZGEJIYRInyR0YezSTlj7UcqkKgCFG0LLX8CxgMnCEkII8XSS0IVebAT8PRSCfkhps7DVP1deqbfMkCaEEFmcJHQB5zfpK75FXk9p86oNLf3BubDp4hJCCPHcJKG/yaJuw9bP4dTSlDYLW2g4VV/1Tas1XWxCCCFeiPyL/SZSCo7/CnNKGifzwg3h02B4p58kcxOpW7cuY8eONXUYz+WHH34gb9682NnZcebMGVOHk2n++OMPbt++DcDYsWOpW7duppz3Vc+l0WjYtWtXmut27dqVYdM4d+/eHY1Gk+qnfv36hm2WLVtGkSJFsLGxoXXr1ty9e9ewbvXq1bi5ueHp6cn69euNjv3uu+9y7NixDIkzJ5J/td80d8/Bb+/Bmu4Qc0/fZpUbWvwMXbdC7oKmjO6Nt3r1ar788ktTh/Fchg4dyqeffsrp06cpUaKEqcPJFFeuXKFDhw5ER0ebOpQsa9asWdy8edPwc/DgQSwtLRk4cCAAhw8fpmfPnvj6+hIQEMD9+/fp3r07AElJSfTu3Ztp06YxadIkevToQXKplE2bNuHm5kaFChVM9dKyPOlyf1MkxMDeSfo67EnxKe1lOkOTGWDnarrYhIGzc/YpUhQREUHdunXx8vIydSiZ5g2tw/VCHB0dcXR0NCz7+PjQvn17WrVqBcD3339Phw4d6NatGwCLFi3Cy8uLS5cuYWNjQ1hYGO3bt0cpRbdu3bhz5w758uVj3LhxzJs3zxQvKduQK/Q3wfmNMLcM7JmQksydCsIHG6HdUknmTzF79my8vLywsrKicuXK7Nu3z7AuODiYevXqYW1tTYkSJZg7d65hXXh4OG3btsXJyYncuXPz4YcfEhkZCcDVq1dp1KgRdnZ25MuXjwEDBpCQoJ+x78ku94ULF1KyZEmsra2pXLkye/bsMawrWLAgc+fOpWrVqlhZWeHt7U1QUFCar2PXrl0UKFCA2bNn4+LigqurKxMnTjTaZsGCBRQqVAg7Ozvq1q3LqVOnjM41bNgwwxVScvds/fr1Dd3AISEhNGnSBAcHBzw8PBg3bhw6nQ7Qdxe3atWK2rVr4+zszO7duylYsCC//PILVapUwdramkaNGnHlyhXatm2LjY0N3t7enD592hDDTz/9xNtvv02uXLnIkycP/fr1IykpCdB38w4ePJiOHTtiY2ODp6cnixYtMuz78OFD+vTpg4uLCy4uLvTu3ZvY2FjD76pr1644ODjg7u7OgAEDiImJSfN9LFSokOG/CxcuBCAhIYF+/frh4OCAq6sr06dPN2xft25dBgwYQOHChXnrrbd48OAB165do0WLFtjY2FCwYEH8/PwMryMhIYFevXqRJ08e7OzsaNGiBTdupBR2etq5dDod33zzDYULF8ba2pp69eoZ/Q4fFxkZSefOnbG3t6d48eIcOXIkze1A/zeYVhe6RqPh8uXL6e4HsH37dvbs2cOkSZMMbQEBAdSunVJl0tPTk7feeouAgADy5MmDjY0NR48eJSgoCFtbW1xcXNiyZQuurq5ydf4s6g0VERGhABUREWHqUF6fsFCllvxPKV9SfvwslPp7hFJxD00dXZZ39OhRlStXLrVhwwZ16dIl9dlnn6n8+fOrpKQkFR0drQoUKKC++uordf78ebVu3Trl6uqqfvvtN6WUUgMHDlTVq1dXwcHB6tixY6p06dJqyJAhSimlWrRooVq3bq0uXLig9u/fr/Lnz6/mzJmjlFKqTp06ytfXVymllL+/v7K1tVW//vqrOnv2rBo2bJiytbVV169fV0op5eXlpfLkyaP+/PNPde7cOVW7dm1VvXr1NF/Lzp07lbm5uapUqZIKCgpSf/75p3JwcFA//PCDUkqpdevWqfz586v169er8+fPq6+++kq5uLioe/fuGc7l4eGhTp48qY4fP65u3rypALVq1SoVFham7ty5o1xcXFSPHj3UmTNn1Jo1a1SePHnU9OnTlVJK+fr6KkDNmzdPHTt2TEVHRysvLy/l5uam/v77bxUYGKjy5MmjcufOrebNm6eCg4NVtWrVVIsWLZRSSu3atUtZW1urVatWqUuXLqk//vhDWVpaqlWrVimllPLx8VEWFhZq6tSp6uLFi2rQoEHK2tpahYeHK6WU6tSpkypVqpTat2+fCgoKUiVLllRffPGFUkqpNm3aqObNm6uTJ0+qQ4cOqXfffVd99NFHab6Phw8fVoA6fPiwio6ONryuzz77TIWGhqrp06crQJ05c8bw+7S1tVX79+9XgYGBSqfTqcqVK6uePXuqs2fPqp07d6rixYurcePGKaWUmj59uipWrJgKCgpSISEhqm7duqp9+/ZG72F65/L19VX58uVTa9euVWfOnFE+Pj7K3d1dRUVFKaWUAtTOnTuVUkp17txZeXt7q6CgILVlyxbl6uqq0ksH0dHR6ubNm2n+JCYmprlPsvfee0998sknRm12dnZq8+bNRm3vvPOO+vrrr5VSSn333XfK3Nxc5cqVSy1YsEAppVS1atXU0aNHn3ouoZQk9JyY0GMfKLX9K6XGWRon81/qKPXfaVNHl22sXr1aWVpaqlOnTimllIqKilLbtm1TCQkJ6qefflIVK1Y02n727NmGthYtWqhGjRqphw/1X5xCQkIM//CWK1dOde/eXcXHxyul9F8cLl26pJQyTugVKlRQI0aMMDpH1apV1fDhw5VS+iT75ZdfGtatXbtWWVhYpPladu7cqQB1/PhxQ9uYMWNUpUqVlFJK1axZU82ePdton4oVKxravLy81LBhw4zWP54gZs2apTw9PVVCQoJh/bx581T+/PmVUvpk4+rqarS/l5eX0evr0KGDqlWrlmF57ty5qnjx4koppQIDA9XSpUtTvRfJidDHx0dVrlzZsC75871//3517949ZWZmZohVKaX27NmjZs+erUJDQ5VWqzUkfqWUOnnyZKq2ZJcuXVKA4ffl6+urPDw8lE6nM2zj5OSkli9frpTS/z47duxoWLdt2zaVN29elZSUZGhbt26dcnZ2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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(5, 5))\n", + "mice_list = [\"GRB036\", \"GRB037\", \"GRB038\", \"GRB045\", \"GRB046\"]\n", + "\n", + "plot_multi_mouse_psychometric_fit(\n", + " mouse_sessions_dict=good_behavior_sessions, mice_list=mice_list, ax=ax\n", + ")\n", + "\n", + "ax.legend(frameon=False, fontsize=10, loc=\"upper left\")\n", + "ax.text(\n", + " 20,\n", + " 0.1,\n", + " s=f\"session performance threshold = {int(performance_threshold * 100)}%\",\n", + " fontsize=10,\n", + " ha=\"right\",\n", + ")\n", + "separate_axes(ax)\n", + "# plt.savefig(pjoin(save_dir, 'psychometric_fits_all_mice.svg'), format='svg', dpi=300, bbox_inches='tight')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/psychometric_curves/pmf_params.ipynb b/archive/djchurchland/psychometric_curves/pmf_params.ipynb similarity index 100% rename from psychometric_curves/pmf_params.ipynb rename to archive/djchurchland/psychometric_curves/pmf_params.ipynb diff --git a/psychophysical_kernels/psychophysical_kernels.ipynb b/archive/djchurchland/psychophysical_kernels/psychophysical_kernels.ipynb similarity index 100% rename from psychophysical_kernels/psychophysical_kernels.ipynb rename to archive/djchurchland/psychophysical_kernels/psychophysical_kernels.ipynb diff --git a/archive/djchurchland/root/sess.ipynb b/archive/djchurchland/root/sess.ipynb new file mode 100644 index 0000000..8891334 --- /dev/null +++ b/archive/djchurchland/root/sess.ipynb @@ -0,0 +1,230 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "9ad1f58e", + "metadata": {}, + "outputs": [], + "source": [ + "from djchurchland.schema import Chipmunk\n", + "\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "\n", + "new_rc_params = {\"text.usetex\": False, \"svg.fonttype\": \"none\"}\n", + "mpl.rcParams.update(new_rc_params)\n", + "plt.rcParams[\"font.sans-serif\"] = [\"Arial\"]\n", + "plt.rcParams[\"font.size\"] = 12\n", + "\n", + "%matplotlib widget\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fd46321d", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "subject_name", + "rawType": "object", + "type": "string" + }, + { + "name": "session_datetime", + "rawType": "datetime64[ns]", + "type": "datetime" + }, + { + "name": "session_num", + "rawType": "int64", + "type": "integer" + }, + { + "name": "starttime", + "rawType": "datetime64[ns]", + "type": "datetime" + }, + { + "name": "duration", + "rawType": "float64", + "type": "float" + }, + { + "name": "setting_task_type", + "rawType": "object", + "type": "string" + }, + { + "name": "setting_modalities", + "rawType": "object", + "type": "unknown" + }, + { + "name": "setting_left_reward_volume", + "rawType": "float64", + "type": "float" + }, + { + "name": "setting_right_reward_volume", + "rawType": "float64", + "type": "float" + }, + { + "name": "setting_prob_audio", + "rawType": "float64", + "type": "float" + }, + { + "name": "setting_prob_vision", + "rawType": "float64", + "type": "float" + }, + { + "name": "setting_high_rate_side", + "rawType": "object", + "type": "string" + } + ], + "ref": "1b2f4d73-bb0b-4b29-965e-418b3a1bcce8", + "rows": [ + [ + "0", + "GRB006", + "2024-08-26 11:33:07", + "211", + "2024-08-26 11:34:07", + "3256.48", + "discrimination", + "['auditory']", + "3.0", + "3.0", + "1.0", + "0.0", + "right" + ] + ], + "shape": { + "columns": 12, + "rows": 1 + } + }, + "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", + "
subject_namesession_datetimesession_numstarttimedurationsetting_task_typesetting_modalitiessetting_left_reward_volumesetting_right_reward_volumesetting_prob_audiosetting_prob_visionsetting_high_rate_side
0GRB0062024-08-26 11:33:072112024-08-26 11:34:073256.48discrimination[auditory]3.03.01.00.0right
\n", + "
" + ], + "text/plain": [ + " subject_name session_datetime ... setting_prob_vision setting_high_rate_side\n", + "0 GRB006 2024-08-26 11:33:07 ... 0.0 right\n", + "\n", + "[1 rows x 12 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.DataFrame(\n", + " Chipmunk() & 'subject_name = \"GRB006\"' & 'session_datetime LIKE \"2024-08-26%\"'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "01b67aa5", + "metadata": {}, + "outputs": [], + "source": [ + "visual = [\"20240819_110829\", \"20240820_115126\", \"20240821_121447\"]\n", + "auditory = [\"20240826_113307\", \"20240827_130938\", \"20240828_115206\"]\n", + "mixed = [\"20241016_153658\", \"20241018_141859\", \"20241021_172639\"]" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "base", + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/archive/labdata_migration/stress_test_labdata_migration.ipynb b/archive/labdata_migration/stress_test_labdata_migration.ipynb new file mode 100644 index 0000000..4127104 --- /dev/null +++ b/archive/labdata_migration/stress_test_labdata_migration.ipynb @@ -0,0 +1,538 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "8b347f1d", + "metadata": {}, + "source": [ + "# Labdata migration stress test (archived)\n", + "\n", + "Use this notebook to smoke-test the new labdata-backed behavior analysis implementation before trusting it on live cohorts.\n", + "\n", + "The first sections are synthetic and do not require DataJoint, labdata, or a database connection. The live sections are gated by explicit flags so this notebook is safe to open and run top-to-bottom until you choose to query or write tables." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "740c8759", + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import annotations\n", + "\n", + "from pathlib import Path\n", + "import subprocess\n", + "import sys\n", + "\n", + "from IPython.display import display\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "REPO_ROOT = Path.cwd()\n", + "if not (REPO_ROOT / \"pyproject.toml\").exists():\n", + " candidate = Path.cwd().parent\n", + " if (candidate / \"pyproject.toml\").exists():\n", + " REPO_ROOT = candidate\n", + "\n", + "for path in [REPO_ROOT, REPO_ROOT / \"src\"]:\n", + " if str(path) not in sys.path:\n", + " sys.path.insert(0, str(path))\n", + "\n", + "from behavior_analyses.kernels import build_residual_rate_matrix, fit_psychophysical_kernel\n", + "from behavior_analyses.learning import summarize_trialset\n", + "from behavior_analyses.psychometrics import cumulative_gaussian, fit_psychometric_labdata\n" + ] + }, + { + "cell_type": "markdown", + "id": "705f2936", + "metadata": {}, + "source": [ + "## Synthetic learning metrics\n", + "\n", + "This checks that fake `DecisionTask.TrialSet`-like rows can be summarized without a database." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "473f6c81", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "n_trials 240.000000\n", + "n_with_choice 222.000000\n", + "n_correct 182.000000\n", + "performance 0.758333\n", + "performance_easy 0.800000\n", + "mean_initiation_time 0.385213\n", + "mean_reaction_time 0.237324\n", + "dtype: float64" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rng = np.random.default_rng(20260601)\n", + "n_trials = 240\n", + "\n", + "response_values = rng.choice(np.array([-1, 0, 1], dtype=float), p=[0.43, 0.07, 0.50], size=n_trials)\n", + "correct_values = rng.choice(np.array([0, 1], dtype=float), p=[0.24, 0.76], size=n_trials)\n", + "\n", + "trial_row = {\n", + " \"n_trials\": n_trials,\n", + " \"performance\": float(np.nanmean(correct_values)),\n", + " \"performance_easy\": float(np.nanmean(correct_values[:80])),\n", + " \"response_values\": response_values,\n", + " \"correct_values\": correct_values,\n", + " \"intensity_values\": rng.choice(np.array([-24, -16, -8, -4, 4, 8, 16, 24], dtype=float), size=n_trials),\n", + " \"initiation_times\": rng.gamma(shape=2.2, scale=0.18, size=n_trials),\n", + " \"reaction_times\": rng.gamma(shape=2.0, scale=0.12, size=n_trials),\n", + "}\n", + "\n", + "learning_summary = summarize_trialset(trial_row)\n", + "pd.Series({k: v for k, v in learning_summary.items() if not isinstance(v, np.ndarray)})" + ] + }, + { + "cell_type": "markdown", + "id": "82a894ff", + "metadata": {}, + "source": [ + "## Synthetic psychometric fit\n", + "\n", + "This checks the labdata-era response convention directly: `1` is right choice, `-1` is left choice, and `0` is no choice." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "766a0c3d", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'cumulative_gaussian' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/var/folders/k4/_l1cqd4d0gn02n75d0rrj10h0000gr/T/ipykernel_30114/1318954324.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mstim_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrepeat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstim_levels\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstims_per_level\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mtrue_params\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1.5\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0.12\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0.04\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0.06\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mp_right\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcumulative_gaussian\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mtrue_params\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstim_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mresponses\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwhere\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrng\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstim_values\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mp_right\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfloat\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'cumulative_gaussian' is not defined" + ] + } + ], + "source": [ + "stims_per_level = 60\n", + "stim_levels = np.array([-30, -20, -12, -6, 0, 6, 12, 20, 30], dtype=float)\n", + "stim_values = np.repeat(stim_levels, stims_per_level)\n", + "true_params = np.array([1.5, 0.12, 0.04, 0.06])\n", + "p_right = cumulative_gaussian(*true_params, stim_values)\n", + "\n", + "responses = np.where(rng.random(stim_values.size) < p_right, 1, -1).astype(float)\n", + "no_choice = rng.random(stim_values.size) < 0.03\n", + "responses[no_choice] = 0\n", + "\n", + "fit = fit_psychometric_labdata(stim_values, responses)\n", + "assert fit is not None\n", + "display(pd.Series({k: v for k, v in fit.items() if np.isscalar(v)}))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2d1f323", + "metadata": {}, + "outputs": [], + "source": [ + "if fit is not None:\n", + " x_grid = np.linspace(fit[\"stims\"].min(), fit[\"stims\"].max(), 300)\n", + " y_grid = fit[\"function\"](*fit[\"fit_params\"], x_grid)\n", + "\n", + " fig, ax = plt.subplots(figsize=(7, 4))\n", + " ci = np.asarray(fit[\"p_right_ci\"])\n", + " yerr = np.abs(np.vstack([fit[\"p_right\"] - ci[:, 0], ci[:, 1] - fit[\"p_right\"]]))\n", + " ax.errorbar(fit[\"stims\"], fit[\"p_right\"], yerr=yerr, fmt=\"o\", color=\"black\", label=\"observed\")\n", + " ax.plot(x_grid, y_grid, color=\"tab:blue\", label=\"fit_psychometric\")\n", + " ax.axhline(0.5, color=\"0.75\", linewidth=1)\n", + " ax.axvline(fit[\"bias\"], color=\"tab:blue\", linestyle=\"--\", linewidth=1)\n", + " ax.set(xlabel=\"stimulus\", ylabel=\"p_right\", ylim=(-0.03, 1.03), title=\"Synthetic psychometric stress test\")\n", + " ax.legend(frameon=False)\n", + " fig.tight_layout()\n", + "else:\n", + " print(\"No psychometric plot because the package-backed fit was skipped.\")" + ] + }, + { + "cell_type": "markdown", + "id": "dff7f64d", + "metadata": {}, + "source": [ + "## Synthetic psychophysical kernel\n", + "\n", + "This validates the trial-by-timebin design matrix and logistic-regression kernel on fake `stim_events` arrays." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3117b552", + "metadata": {}, + "outputs": [], + "source": [ + "n_kernel_trials = 360\n", + "timebins = 10\n", + "stim_events = []\n", + "kernel_responses = []\n", + "true_weights = np.linspace(-1.0, 1.3, timebins)\n", + "\n", + "for _ in range(n_kernel_trials):\n", + " event_count = rng.integers(8, 28)\n", + " events = np.sort(rng.uniform(0.0, 1.0, size=event_count))\n", + " x_row, _ = build_residual_rate_matrix([events], [1], timebins=timebins)\n", + " logit = float(x_row[0] @ true_weights / 7.0 + rng.normal(0, 0.35))\n", + " prob = 1 / (1 + np.exp(-logit))\n", + " stim_events.append(events)\n", + " kernel_responses.append(1 if rng.random() < prob else -1)\n", + "\n", + "kernel_fit = fit_psychophysical_kernel(stim_events, kernel_responses, timebins=timebins, cv_splits=5)\n", + "print({\n", + " \"design_shape\": kernel_fit[\"design_matrix\"].shape,\n", + " \"mean_cv_score\": float(np.mean(kernel_fit[\"scores\"])),\n", + " \"n_folds\": int(kernel_fit[\"weights\"].shape[0]),\n", + "})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76a349b7", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "mean_weights = kernel_fit[\"weights\"].mean(axis=0)\n", + "sem_weights = kernel_fit[\"weights\"].std(axis=0, ddof=1) / np.sqrt(kernel_fit[\"weights\"].shape[0])\n", + "bin_index = np.arange(timebins)\n", + "ax.plot(bin_index, true_weights / np.max(np.abs(true_weights)) * np.max(np.abs(mean_weights)), color=\"0.55\", linestyle=\"--\", label=\"true shape\")\n", + "ax.errorbar(bin_index, mean_weights, yerr=sem_weights, fmt=\"o-\", color=\"tab:green\", label=\"estimated\")\n", + "ax.axhline(0, color=\"0.75\", linewidth=1)\n", + "ax.set(xlabel=\"time bin\", ylabel=\"kernel weight\", title=\"Synthetic psychophysical kernel\")\n", + "ax.legend(frameon=False)\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "f8180344", + "metadata": {}, + "source": [ + "## Import and script checks\n", + "\n", + "These cells inspect the local implementation without touching the database." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9fbe26cd", + "metadata": {}, + "outputs": [], + "source": [ + "script_paths = [\n", + " REPO_ROOT / \"scripts\" / \"analyses\" / \"seed_behavior_session_set.py\",\n", + " REPO_ROOT / \"scripts\" / \"analyses\" / \"populate_behavior_tables.py\",\n", + " REPO_ROOT / \"scripts\" / \"analyses\" / \"plot_psychometrics.py\",\n", + " REPO_ROOT / \"scripts\" / \"analyses\" / \"plot_learning_curves.py\",\n", + " REPO_ROOT / \"scripts\" / \"analyses\" / \"plot_psychophysical_kernels.py\",\n", + "]\n", + "\n", + "for script in script_paths:\n", + " result = subprocess.run([sys.executable, str(script), \"--help\"], capture_output=True, text=True)\n", + " print(script.name, result.returncode)\n", + " assert result.returncode == 0, result.stderr" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a75c7aa0", + "metadata": {}, + "outputs": [], + "source": [ + "RUN_PLUGIN_IMPORT_CHECK = False\n", + "\n", + "if RUN_PLUGIN_IMPORT_CHECK:\n", + " try:\n", + " from behavior_analyses.io import get_chipmunk_table\n", + " chipmunk_table = get_chipmunk_table()\n", + " print(\"Chipmunk table import OK:\", chipmunk_table)\n", + " except Exception as exc:\n", + " print(\"Chipmunk table import unavailable in this kernel:\", repr(exc))\n", + "else:\n", + " print(\"Skipping Chipmunk plugin import. Flip RUN_PLUGIN_IMPORT_CHECK to True to test plugin loading.\")" + ] + }, + { + "cell_type": "markdown", + "id": "87313f98", + "metadata": {}, + "source": [ + "## Live labdata checks\n", + "\n", + "Set `RUN_LIVE_DB_CHECKS = True` only in an environment with labdata/DataJoint credentials. Set `RUN_DB_WRITES = True` only when you intentionally want to insert or populate user-schema rows." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d4dc1d0", + "metadata": {}, + "outputs": [], + "source": [ + "RUN_LIVE_DB_CHECKS = False\n", + "RUN_DB_WRITES = False\n", + "\n", + "SESSION_SET_ID = \"migration_stress_test\"\n", + "SESSION_SET_NAME = \"Migration stress test\"\n", + "SUBJECTS = [\"GRB006\", \"GRB036\"]\n", + "TRIALSET = \"chipmunk\"\n", + "MIN_TRIALS = 100\n", + "\n", + "print({\n", + " \"run_live_db_checks\": RUN_LIVE_DB_CHECKS,\n", + " \"run_db_writes\": RUN_DB_WRITES,\n", + " \"session_set_id\": SESSION_SET_ID,\n", + " \"subjects\": SUBJECTS,\n", + "})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8dfe9777", + "metadata": {}, + "outputs": [], + "source": [ + "if RUN_LIVE_DB_CHECKS:\n", + " from labdata.schema import DecisionTask, get_user_schema\n", + " from labdata_plugin.analysisschema import (\n", + " BehaviorSessionSet,\n", + " LearningSessionMetrics,\n", + " PsychometricSessionFit,\n", + " PsychometricSubjectFit,\n", + " PsychophysicalKernel,\n", + " )\n", + "\n", + " schema = get_user_schema()\n", + " print(\"user schema:\", schema)\n", + " for table in [BehaviorSessionSet, LearningSessionMetrics, PsychometricSessionFit, PsychometricSubjectFit, PsychophysicalKernel]:\n", + " print(\"\\n\", table.__name__)\n", + " print(table.describe())\n", + "else:\n", + " print(\"Skipping live labdata imports. Flip RUN_LIVE_DB_CHECKS to True to inspect schema definitions against the DB.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "034c1335", + "metadata": {}, + "outputs": [], + "source": [ + "if RUN_LIVE_DB_CHECKS:\n", + " relation = DecisionTask.TrialSet & {\"trialset\": TRIALSET}\n", + " if SUBJECTS:\n", + " relation = relation & [{\"subject\": subject} for subject in SUBJECTS]\n", + " candidate_rows = relation.fetch(\"KEY\", limit=20)\n", + " print(\"candidate trialsets shown:\", len(candidate_rows))\n", + " display(pd.DataFrame(candidate_rows))\n", + "else:\n", + " print(\"Skipping live candidate session query.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d686947", + "metadata": {}, + "outputs": [], + "source": [ + "dry_run_command = [\n", + " sys.executable,\n", + " str(REPO_ROOT / \"scripts\" / \"analyses\" / \"seed_behavior_session_set.py\"),\n", + " \"--session-set-id\", SESSION_SET_ID,\n", + " \"--name\", SESSION_SET_NAME,\n", + " \"--trialset\", TRIALSET,\n", + " \"--min-trials\", str(MIN_TRIALS),\n", + " \"--dry-run\",\n", + "]\n", + "for subject in SUBJECTS:\n", + " dry_run_command.extend([\"--subjects\", subject])\n", + "\n", + "if RUN_LIVE_DB_CHECKS:\n", + " result = subprocess.run(dry_run_command, cwd=REPO_ROOT, capture_output=True, text=True)\n", + " print(result.stdout)\n", + " print(result.stderr)\n", + " assert result.returncode == 0\n", + "else:\n", + " print(\"Dry-run command prepared but not executed:\")\n", + " print(\" \".join(dry_run_command))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08429efd", + "metadata": {}, + "outputs": [], + "source": [ + "if RUN_DB_WRITES:\n", + " assert RUN_LIVE_DB_CHECKS, \"Set RUN_LIVE_DB_CHECKS=True before RUN_DB_WRITES=True.\"\n", + " seed_command = [arg for arg in dry_run_command if arg != \"--dry-run\"]\n", + " result = subprocess.run(seed_command, cwd=REPO_ROOT, capture_output=True, text=True)\n", + " print(result.stdout)\n", + " print(result.stderr)\n", + " assert result.returncode == 0\n", + "else:\n", + " print(\"Skipping user-schema inserts. Flip RUN_DB_WRITES to True intentionally to seed BehaviorSessionSet.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e35a4942", + "metadata": {}, + "outputs": [], + "source": [ + "if RUN_LIVE_DB_CHECKS:\n", + " key = {\"session_set_id\": SESSION_SET_ID}\n", + " table_counts = {\n", + " \"BehaviorSessionSet.Session\": len(BehaviorSessionSet.Session & key),\n", + " \"BehaviorSessionSet.TrialSet\": len(BehaviorSessionSet.TrialSet & key),\n", + " \"BehaviorSessionSet.SubjectTrialSet\": len(BehaviorSessionSet.SubjectTrialSet & key),\n", + " \"LearningSessionMetrics\": len(LearningSessionMetrics & key),\n", + " \"PsychometricSessionFit\": len(PsychometricSessionFit & key),\n", + " \"PsychometricSubjectFit\": len(PsychometricSubjectFit & key),\n", + " \"PsychophysicalKernel\": len(PsychophysicalKernel & key),\n", + " }\n", + " display(pd.Series(table_counts, name=\"rows\"))\n", + "\n", + " pending_counts = {\n", + " \"LearningSessionMetrics\": len((LearningSessionMetrics.key_source & key) - LearningSessionMetrics),\n", + " \"PsychometricSessionFit\": len((PsychometricSessionFit.key_source & key) - PsychometricSessionFit),\n", + " \"PsychometricSubjectFit\": len((PsychometricSubjectFit.key_source & key) - PsychometricSubjectFit),\n", + " \"PsychophysicalKernel\": len((PsychophysicalKernel.key_source & key) - PsychophysicalKernel),\n", + " }\n", + " display(pd.Series(pending_counts, name=\"pending\"))\n", + "else:\n", + " print(\"Skipping user-schema row counts.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f996de15", + "metadata": {}, + "outputs": [], + "source": [ + "if RUN_DB_WRITES:\n", + " populate_command = [\n", + " sys.executable,\n", + " str(REPO_ROOT / \"scripts\" / \"analyses\" / \"populate_behavior_tables.py\"),\n", + " \"--session-set-id\", SESSION_SET_ID,\n", + " ]\n", + " result = subprocess.run(populate_command, cwd=REPO_ROOT, capture_output=True, text=True)\n", + " print(result.stdout)\n", + " print(result.stderr)\n", + " assert result.returncode == 0\n", + "else:\n", + " print(\"Skipping computed-table population. Flip RUN_DB_WRITES to True intentionally to populate results.\")" + ] + }, + { + "cell_type": "markdown", + "id": "5ce4aca2", + "metadata": {}, + "source": [ + "## Live result previews\n", + "\n", + "After seeding/populating, these cells confirm that figures and downstream checks read analysis tables rather than raw notebook state." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "115cdb85", + "metadata": {}, + "outputs": [], + "source": [ + "if RUN_LIVE_DB_CHECKS:\n", + " key = {\"session_set_id\": SESSION_SET_ID}\n", + " psych_rows = (PsychometricSubjectFit & key).fetch(as_dict=True)\n", + " print(\"pooled psychometric rows:\", len(psych_rows))\n", + " if psych_rows:\n", + " display(pd.DataFrame([{k: v for k, v in row.items() if k not in {\"stims\", \"p_right\", \"p_right_ci\", \"fit_params\"}} for row in psych_rows]))\n", + " row = psych_rows[0]\n", + " stims = np.asarray(row[\"stims\"], dtype=float)\n", + " p = np.asarray(row[\"p_right\"], dtype=float)\n", + " fig, ax = plt.subplots(figsize=(7, 4))\n", + " ax.plot(stims, p, \"o\", color=\"black\")\n", + " ax.set(xlabel=\"stimulus\", ylabel=\"p_right\", title=f\"{row.get('subject', SESSION_SET_ID)} pooled psychometric\")\n", + " fig.tight_layout()\n", + "else:\n", + " print(\"Skipping live psychometric preview.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e09d0513", + "metadata": {}, + "outputs": [], + "source": [ + "if RUN_LIVE_DB_CHECKS:\n", + " kernel_rows = (PsychophysicalKernel & {\"session_set_id\": SESSION_SET_ID}).fetch(as_dict=True)\n", + " print(\"kernel rows:\", len(kernel_rows))\n", + " if kernel_rows:\n", + " row = kernel_rows[0]\n", + " weights = np.asarray(row[\"weights\"], dtype=float)\n", + " fig, ax = plt.subplots(figsize=(7, 4))\n", + " ax.plot(weights.mean(axis=0), \"o-\", color=\"tab:green\")\n", + " ax.axhline(0, color=\"0.75\", linewidth=1)\n", + " ax.set(xlabel=\"time bin\", ylabel=\"mean weight\", title=f\"{row.get('subject', SESSION_SET_ID)} kernel\")\n", + " fig.tight_layout()\n", + "else:\n", + " print(\"Skipping live kernel preview.\")" + ] + } + ], + "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.10.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/archive/labdata_migration/stress_test_labdata_migration_executed.ipynb b/archive/labdata_migration/stress_test_labdata_migration_executed.ipynb new file mode 100644 index 0000000..dbdb6b2 --- /dev/null +++ b/archive/labdata_migration/stress_test_labdata_migration_executed.ipynb @@ -0,0 +1,1024 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d6aab3be", + "metadata": {}, + "source": [ + "# Behavior analysis smoke test (archived)\n", + "\n", + "Check that source trial data loads, computed tables populate, and the resulting plots look reasonable.\n", + "\n", + "Requires labdata/DataJoint credentials and the project `.venv` kernel." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b2016f8", + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import annotations\n", + "\n", + "from pathlib import Path\n", + "import sys\n", + "\n", + "from IPython.display import display\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "REPO_ROOT = Path.cwd()\n", + "if not (REPO_ROOT / \"pyproject.toml\").exists():\n", + " REPO_ROOT = REPO_ROOT.parent\n", + "for path in (REPO_ROOT / \"src\", REPO_ROOT):\n", + " if str(path) not in sys.path:\n", + " sys.path.insert(0, str(path))\n", + "\n", + "from behavior_analyses.psychometrics import cumulative_gaussian\n", + "from labdata.schema import DecisionTask\n", + "from labdata_plugin.analysisschema import (\n", + " BehaviorSessionSet,\n", + " LearningSessionMetrics,\n", + " PsychometricSessionFit,\n", + " PsychometricSubjectFit,\n", + " PsychophysicalKernel,\n", + ")\n", + "\n", + "SESSION_SET_ID = \"migration_stress_test\"\n", + "SESSION_SET_NAME = \"Migration stress test\"\n", + "SUBJECT_TRIALSETS = {\n", + " \"GRB006\": \"visual+audio\",\n", + " \"GRB026\": \"visual\",\n", + "}\n", + "MIN_TRIALS_WITH_CHOICE = 100\n", + "PERFORMANCE_THRESHOLD = 0.7\n", + "\n", + "SEED_IF_MISSING = True\n", + "POPULATE = True" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "12eb94ee-fe63-4e60-923e-00d6144ae093", + "metadata": {}, + "outputs": [], + "source": [ + "from labdata.schema import *" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c601cd6-1499-40a7-a9eb-d011ac3955ef", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "2f93d90d", + "metadata": {}, + "source": [ + "## 1. Source data and session set" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "706401f2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "matching source trialsets: 183\n" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
subject_namesession_nametrialset_descriptionn_trialsn_with_choiceperformance_easy
0GRB00620230825_164150visual+audio1721560.750000
1GRB00620230828_121451visual+audio2181690.721893
2GRB00620230830_153320visual+audio2552200.704545
3GRB00620230907_130602visual+audio4111900.784211
4GRB00620230908_145401visual+audio2921130.858407
5GRB00620230911_135336visual+audio3141200.816667
6GRB00620230913_120155visual+audio2741160.870690
7GRB00620230915_142428visual+audio3831270.952756
8GRB00620230920_155219visual+audio3071200.797101
9GRB00620230921_133636visual+audio3041340.967213
10GRB00620230922_131609visual+audio3331540.957747
11GRB00620230926_123033visual+audio3501460.972603
12GRB00620230927_145701visual+audio4391790.917526
13GRB00620230928_145546visual+audio4502340.947368
14GRB00620230929_145546visual+audio4531980.961165
15GRB00620231002_140748visual+audio4421500.939024
16GRB00620231003_141126visual+audio4632180.960396
17GRB00620231004_122636visual+audio4412310.973684
18GRB00620231005_133120visual+audio4492300.954023
19GRB00620231006_132453visual+audio5902870.888889
\n", + "
" + ], + "text/plain": [ + " subject_name session_name trialset_description n_trials \\\n", + "0 GRB006 20230825_164150 visual+audio 172 \n", + "1 GRB006 20230828_121451 visual+audio 218 \n", + "2 GRB006 20230830_153320 visual+audio 255 \n", + "3 GRB006 20230907_130602 visual+audio 411 \n", + "4 GRB006 20230908_145401 visual+audio 292 \n", + "5 GRB006 20230911_135336 visual+audio 314 \n", + "6 GRB006 20230913_120155 visual+audio 274 \n", + "7 GRB006 20230915_142428 visual+audio 383 \n", + "8 GRB006 20230920_155219 visual+audio 307 \n", + "9 GRB006 20230921_133636 visual+audio 304 \n", + "10 GRB006 20230922_131609 visual+audio 333 \n", + "11 GRB006 20230926_123033 visual+audio 350 \n", + "12 GRB006 20230927_145701 visual+audio 439 \n", + "13 GRB006 20230928_145546 visual+audio 450 \n", + "14 GRB006 20230929_145546 visual+audio 453 \n", + "15 GRB006 20231002_140748 visual+audio 442 \n", + "16 GRB006 20231003_141126 visual+audio 463 \n", + "17 GRB006 20231004_122636 visual+audio 441 \n", + "18 GRB006 20231005_133120 visual+audio 449 \n", + "19 GRB006 20231006_132453 visual+audio 590 \n", + "\n", + " n_with_choice performance_easy \n", + "0 156 0.750000 \n", + "1 169 0.721893 \n", + "2 220 0.704545 \n", + "3 190 0.784211 \n", + "4 113 0.858407 \n", + "5 120 0.816667 \n", + "6 116 0.870690 \n", + "7 127 0.952756 \n", + "8 120 0.797101 \n", + "9 134 0.967213 \n", + "10 154 0.957747 \n", + "11 146 0.972603 \n", + "12 179 0.917526 \n", + "13 234 0.947368 \n", + "14 198 0.961165 \n", + "15 150 0.939024 \n", + "16 218 0.960396 \n", + "17 231 0.973684 \n", + "18 230 0.954023 \n", + "19 287 0.888889 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "session set exists: True\n", + "session set parts empty: False\n" + ] + }, + { + "data": { + "text/plain": [ + "sessions 183\n", + "trialsets 183\n", + "subject_trialsets 2\n", + "Name: session_set_parts, dtype: int64" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "source = DecisionTask.TrialSet() & [\n", + " {\"subject_name\": subject, \"trialset_description\": trialset}\n", + " for subject, trialset in SUBJECT_TRIALSETS.items()\n", + "]\n", + "source = source & f\"n_with_choice >= {MIN_TRIALS_WITH_CHOICE}\"\n", + "source = source & f\"performance_easy >= {PERFORMANCE_THRESHOLD}\"\n", + "\n", + "preview_cols = [\n", + " \"subject_name\",\n", + " \"session_name\",\n", + " \"trialset_description\",\n", + " \"n_trials\",\n", + " \"n_with_choice\",\n", + " \"performance_easy\",\n", + "]\n", + "source_rows = source.fetch(as_dict=True, limit=20)\n", + "print(f\"matching source trialsets: {len(source)}\")\n", + "if source_rows:\n", + " display(pd.DataFrame(source_rows)[preview_cols])\n", + "else:\n", + " raise ValueError(\n", + " \"No source trialsets matched. Check SUBJECT_TRIALSETS and thresholds.\"\n", + " )\n", + "\n", + "key = {\"session_set_id\": SESSION_SET_ID}\n", + "session_set_exists = len(BehaviorSessionSet & key) > 0\n", + "parts_empty = session_set_exists and len(BehaviorSessionSet.TrialSet & key) == 0\n", + "print(\"session set exists:\", session_set_exists)\n", + "print(\"session set parts empty:\", parts_empty)\n", + "\n", + "if not session_set_exists or parts_empty:\n", + " if not SEED_IF_MISSING:\n", + " raise ValueError(\"Set SEED_IF_MISSING=True to create or fill the session set.\")\n", + " from collections import Counter\n", + "\n", + " trialset_keys = source.fetch(\"KEY\")\n", + " if not trialset_keys:\n", + " raise ValueError(\"Refusing to seed an empty session set.\")\n", + "\n", + " session_rows = {\n", + " (row[\"subject_name\"], row[\"session_name\"]): {\n", + " \"session_set_id\": SESSION_SET_ID,\n", + " \"subject_name\": row[\"subject_name\"],\n", + " \"session_name\": row[\"session_name\"],\n", + " \"include_reason\": \"notebook_seed\",\n", + " }\n", + " for row in trialset_keys\n", + " }\n", + " subject_trialset_rows = [\n", + " {\n", + " \"session_set_id\": SESSION_SET_ID,\n", + " \"subject_name\": subject,\n", + " \"trialset_description\": trialset,\n", + " \"n_sessions\": count,\n", + " }\n", + " for (subject, trialset), count in Counter(\n", + " (row[\"subject_name\"], row[\"trialset_description\"]) for row in trialset_keys\n", + " ).items()\n", + " ]\n", + " if not session_set_exists:\n", + " BehaviorSessionSet.insert1(\n", + " {\n", + " **key,\n", + " \"session_set_name\": SESSION_SET_NAME,\n", + " \"performance_threshold\": PERFORMANCE_THRESHOLD,\n", + " \"min_trials_with_choice\": MIN_TRIALS_WITH_CHOICE,\n", + " \"kernel_timebins\": 10,\n", + " \"kernel_cv_splits\": 10,\n", + " \"kernel_random_state\": 0,\n", + " \"analysis_version\": \"v1\",\n", + " },\n", + " skip_duplicates=True,\n", + " )\n", + " BehaviorSessionSet.Session.insert(\n", + " list(session_rows.values()), skip_duplicates=True, ignore_extra_fields=True\n", + " )\n", + " BehaviorSessionSet.TrialSet.insert(\n", + " [\n", + " {**row, \"session_set_id\": SESSION_SET_ID, \"include_reason\": \"notebook_seed\"}\n", + " for row in trialset_keys\n", + " ],\n", + " skip_duplicates=True,\n", + " ignore_extra_fields=True,\n", + " )\n", + " BehaviorSessionSet.SubjectTrialSet.insert(\n", + " subject_trialset_rows, skip_duplicates=True, ignore_extra_fields=True\n", + " )\n", + " print(\"seeded session set\")\n", + "\n", + "display(\n", + " pd.Series(\n", + " {\n", + " \"sessions\": len(BehaviorSessionSet.Session & key),\n", + " \"trialsets\": len(BehaviorSessionSet.TrialSet & key),\n", + " \"subject_trialsets\": len(BehaviorSessionSet.SubjectTrialSet & key),\n", + " },\n", + " name=\"session_set_parts\",\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "76418d27", + "metadata": {}, + "source": [ + "## 2. Populate computed tables" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "67f7348e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "populating PsychometricSessionFit (56 pending)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "PsychometricSessionFit: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 56/56 [00:06<00:00, 9.21it/s]\n" + ] + }, + { + "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", + "
rowspending
LearningSessionMetrics1830
PsychometricSessionFit12756
PsychometricSubjectFit20
PsychophysicalKernel20
\n", + "
" + ], + "text/plain": [ + " rows pending\n", + "LearningSessionMetrics 183 0\n", + "PsychometricSessionFit 127 56\n", + "PsychometricSubjectFit 2 0\n", + "PsychophysicalKernel 2 0" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "computed_tables = [\n", + " LearningSessionMetrics,\n", + " PsychometricSessionFit,\n", + " PsychometricSubjectFit,\n", + " PsychophysicalKernel,\n", + "]\n", + "\n", + "status = {}\n", + "for table in computed_tables:\n", + " pending = (table.key_source & key) - table()\n", + " status[table.__name__] = {\"rows\": len(table & key), \"pending\": len(pending)}\n", + " if POPULATE and len(pending):\n", + " print(f\"populating {table.__name__} ({len(pending)} pending)\")\n", + " table.populate(key, display_progress=True)\n", + " status[table.__name__][\"rows\"] = len(table & key)\n", + " status[table.__name__][\"pending\"] = len((table.key_source & key) - table())\n", + "\n", + "display(pd.DataFrame(status).T.astype({\"rows\": int, \"pending\": int}))" + ] + }, + { + "cell_type": "markdown", + "id": "285a09a4", + "metadata": {}, + "source": [ + "## 3. Quick look at computed rows" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "fe3421ab", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'learning_sessions': 183, 'psychometric_subjects': 2, 'kernels': 2}\n" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
subject_namesession_namen_trialsn_with_choiceperformanceperformance_easy
0GRB00620230825_1641501721560.7500000.750000
1GRB00620230828_1214512181690.7218930.721893
2GRB00620230830_1533202552200.7045450.704545
3GRB00620230907_1306024111900.7842110.784211
4GRB00620230908_1454012921130.8584070.858407
.....................
178GRB02620240729_1050493031090.7522940.823529
179GRB02620240730_1126457283050.7803280.870229
180GRB02620240731_1116523552370.7594940.888889
181GRB02620240731_1238064703480.7988510.902439
182GRB02620240801_1120104632770.8050540.917355
\n", + "

183 rows \u00d7 6 columns

\n", + "
" + ], + "text/plain": [ + " subject_name session_name n_trials n_with_choice performance \\\n", + "0 GRB006 20230825_164150 172 156 0.750000 \n", + "1 GRB006 20230828_121451 218 169 0.721893 \n", + "2 GRB006 20230830_153320 255 220 0.704545 \n", + "3 GRB006 20230907_130602 411 190 0.784211 \n", + "4 GRB006 20230908_145401 292 113 0.858407 \n", + ".. ... ... ... ... ... \n", + "178 GRB026 20240729_105049 303 109 0.752294 \n", + "179 GRB026 20240730_112645 728 305 0.780328 \n", + "180 GRB026 20240731_111652 355 237 0.759494 \n", + "181 GRB026 20240731_123806 470 348 0.798851 \n", + "182 GRB026 20240801_112010 463 277 0.805054 \n", + "\n", + " performance_easy \n", + "0 0.750000 \n", + "1 0.721893 \n", + "2 0.704545 \n", + "3 0.784211 \n", + "4 0.858407 \n", + ".. ... \n", + "178 0.823529 \n", + "179 0.870229 \n", + "180 0.888889 \n", + "181 0.902439 \n", + "182 0.917355 \n", + "\n", + "[183 rows x 6 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "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", + "
session_set_idsubject_nametrialset_descriptionn_sessionsn_trialsbiassensitivityguess_ratelapse_rategoodness_of_fit
0migration_stress_testGRB006visual+audio13057115-0.5517290.2237990.0793450.1270260.992201
1migration_stress_testGRB026visual5321981-1.7134600.1961470.0037480.1133100.988667
\n", + "
" + ], + "text/plain": [ + " session_set_id subject_name trialset_description n_sessions \\\n", + "0 migration_stress_test GRB006 visual+audio 130 \n", + "1 migration_stress_test GRB026 visual 53 \n", + "\n", + " n_trials bias sensitivity guess_rate lapse_rate goodness_of_fit \n", + "0 57115 -0.551729 0.223799 0.079345 0.127026 0.992201 \n", + "1 21981 -1.713460 0.196147 0.003748 0.113310 0.988667 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "learning_rows = (LearningSessionMetrics & key).fetch(as_dict=True)\n", + "psych_rows = (PsychometricSubjectFit & key).fetch(as_dict=True)\n", + "kernel_rows = (PsychophysicalKernel & key).fetch(as_dict=True)\n", + "\n", + "print({\n", + " \"learning_sessions\": len(learning_rows),\n", + " \"psychometric_subjects\": len(psych_rows),\n", + " \"kernels\": len(kernel_rows),\n", + "})\n", + "\n", + "if learning_rows:\n", + " display(\n", + " pd.DataFrame(learning_rows)[\n", + " [\"subject_name\", \"session_name\", \"n_trials\", \"n_with_choice\", \"performance\", \"performance_easy\"]\n", + " ].sort_values([\"subject_name\", \"session_name\"])\n", + " )\n", + "\n", + "if psych_rows:\n", + " display(\n", + " pd.DataFrame([\n", + " {k: v for k, v in row.items() if k not in {\"stims\", \"p_right\", \"p_right_ci\", \"fit_params\", \"p_side\", \"p_side_ci\", \"n_side\", \"n_obs\", \"n_right\"}}\n", + " for row in psych_rows\n", + " ])\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "45241abd", + "metadata": {}, + "source": [ + "## 4. Plots" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ecefd1bf", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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LDDcVlZWRpMnT6ZGjRqJ25OTk+nFF18Ut+l0OnrmmWeoefPmFBoaSo0bN6YpU6ZYTYU6efIkXX311VSvXj2Kjo6mm266iTIzMw2382N169aNPvvsM3HfmJgYuvnmm6mgoEB1KpSax+DnPn78eLEe/Lxef/31ao9bWlpKDz/8MDVp0kSMuvTt25dWr14tbispKaGOHTvSvffea1j+6NGjFBUVRR9++KED7wwAQO2FwAIAoJY5e/YsjRs3ju68807av3+/ODi+7rrrRFDAvvjiC3r66afphRdeELfPmTOHnnrqKfrkk0/E7W+//Tb9+OOP9PXXX9PBgwfF8nzAzr799lt688036X//+x8dPnyYvv/+exHAWKLVakVQkZubS3///TetWLGCjh07JlKZjPEBOj/Ozz//LH542Zdeesmh52zvMR555BFx3Q8//EB//PGHeE22b99u8hgcTG3YsIEWL15Mu3fvphtvvJFGjRolnicHWPw68GvEj1FZWUm33XYbDR8+XLzOAACgnH0CAIBaZNu2bRxB6NLS0izenpqaqvvyyy9Nrnvuued0/fv3F/9/8MEHdZdffrlOq9VWu+/rr7+ua9Omja6srMziYycnJ+vefPNN8f8//vhDFxgYqDt58qTh9n///Ves2+bNm8XlWbNm6SIiInT5+fmGZR555BFd3759rT6/jz76SBcTE2O4bO8xCgoKdCEhIbqvv/7acHtOTo4uPDxcN3XqVHH5xIkTYl3T09NN/tbQoUN1jz32mOHyK6+8oouPj9dNnjxZ16hRI112drbV9QQAqGswYgEAUMt07dqVhg4dKkYS+Kz7okWL6Pz584aUID67f9ddd4m0IPnz/PPPi+vZHXfcQTt37qS2bduKNCc+wy/x4xUXF1PLli3pnnvuoWXLllFFRYXF9eDRkGbNmokfqUOHDiKNiW+TeDSEU4okTlXKyspy6Dnbegx+XpzexalNUmxsrHh+0p49e8QoRJs2bUxeFx7lkK8L++9//yuWmTdvnkiB4jQzAABQoHgbAKCWCQwMFGlH69evF0HBO++8Q0888QRt2rSJIiIixDIcbBgfaMv7sR49etDx48fpt99+oz///FPURXCNBtdtcJDA6VF8Pf+N+++/n1599VVxAB4cHOzU+prfT6PRiDSqmnyMixcviue/bds2w+sgcYAhcbBy6NAhsQynSHGqFAAAKDBiAQBQC/GB9YABA2j27Nm0Y8cOCgkJEaMLiYmJouCaax1atWpl8tOiRQvD/bnQmmshOABZsmSJqK3gWgnGBeFXXXWVqMXgWgWuS+Az/ua4OPzUqVPiR9q3bx/l5eWJkYuakpqaKgIPDqwkHsHhAEHq3r27GLHgwMH8dUlKSjIsx/UUPBLEtRYzZswwGXkBAKjrMGIBAFDL8AH0ypUracSIEZSQkCAunzt3ThzoMw42OMWJuyfxGXfuhrR161ZxsD19+nR64403RCoRH2wHBATQ0qVLxcE1pzBxRyY+AOfRDh79+Pzzz0WgwZ2jzPEoBx+E33rrraJTFKdM8QjH4MGDqVevXjX2evCIA6d+cQE3py7xa8IjOPzcJE5v4vXkzlHcMYqfO79m/Dp26dKFRo8eTfPnzxdBFBd288jNL7/8Iu6zceNGEbgBANR1GLEAAKhleLThn3/+EZPI8QHzk08+KQ6Wr7jiCnH73XffLdrNfvTRR+LAnw/0OWCQIxZcq/DKK6+Ig//evXtTWloa/frrr+JAnIMLHsXg0RA+4OaUqJ9++slirQGPmnAHpQYNGtCll14qAg2uzeARkJrG6VqDBg0SIy28HgMHDqSePXuaLMOvBwcWXEfB9RfXXHONmPCPW+seOHBABCbcllfWjPD/s7OzRUctAAAg0nAFN14IAAAAAABwBUYsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAADAZQgsAAAAAACAXPX/q+dkJUX3EfIAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if learning_rows:\n", + " data = pd.DataFrame(learning_rows).sort_values([\"subject_name\", \"session_name\"])\n", + " fig, ax = plt.subplots(figsize=(8, 4))\n", + " for subject, subject_df in data.groupby(\"subject_name\"):\n", + " ax.plot(subject_df[\"performance_easy\"].to_numpy(), marker=\"o\", label=subject)\n", + " ax.set(xlabel=\"session index\", ylabel=\"easy performance\", ylim=(0, 1), title=\"Learning curves\")\n", + " ax.legend(frameon=False)\n", + " fig.tight_layout()\n", + "else:\n", + " print(\"no learning rows to plot\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7d51f282", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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uvaXtVzOf+0l+9LvSYKDXPUlU32PP/54sc8PHDhQTdXJ1XQSoG53JEku1d+3bx92795t2JeRkYHPP/9cXVVmzJSgMR588EE10iRXBF57nrKdmJho2Ja2AYVTfGV11113qZAmHchTUlKu+3ql/b4QUdlwqo6ISi08PBz33XefmnKTIGJhYaHqmKQVgBSRFyU1P/fffz9WrFihipplxKmo+vXrq0v25ZJ8KfyWQCK1Ovv374ePj4+aZioNaSuwdOlS1bxT2hFIbyVpRyCF1b/++ut1BehlJYFkxowZmDhxoio6lwAoAUW+jrwXUowu7QWETFcuX74c48aNQ9u2bdU0nkynlYact3Rul+e1bNlS9WqStgQykibtB2RarjTfFyIqGwYnIio1KZyWkaTNmzfjhx9+UL+gGzVqpJpJSh+ha8l0nfQakl/oEoputLSL9ECSECVNIKWxY9EicmNJUfQ///yD8ePHq+PJCIwc688//7wutN0uCWmyhp/0Z5KRp8L3RnpPSd+oQi+99BKOHDmCb775Rj1WpgtLG5yEFOZLob58LZl6kxE6CXDPPvtsmb4vRFR6GulJUIbnEREZTZZokRGZHTt2FGsnQERU3TA4EVGFk27Xcom+dOYuj0JpIqLKwqk6IqowsgbbsWPH1Fptsp4aQxMRVXcccSKiivsBo9GoQughQ4bg008/VTU3RETVWaW2I5B6BymQlCtn5AesNGy7FVlKQC7LlQJTuRpHFt4koqpJSihluZUvv/ySoYmITEKlBifprdKiRQu1rIMx5DJfuSqme/fu6goV6ZArK5LLZbhERERENWaqTkacpN+IXHlzI3J5sdRKFO2cK71JpBncunXr7tCZEhERUU1VrQoOpBOwLGVwbV8TGXm6EemWW7RjrvQ9SUpKgpubGwtViYiICIVlBVI6dKsmudUqOMkK39LcrijZTktLUyuwl7RQpnQdLmxMR0RERHQj0dHRqFOnDkwmOJWFLIcgyxwUkvWi6tatq94cJyenSj03IiIiqnwyACOd92XZpFupVsHJ29tbrblUlGxLACpptEnI1XclLfEgz2FwIiIiokLG9Jqr1KvqSqtjx45qDaaiNm7cqPYTERERVbRKDU5Xr15VbQXkVthuQD6OiooyTLPJ4qCFXnjhBUREROCNN95QK4J/8sknavHKV155pdJeAxEREdUclRqc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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if psych_rows:\n", + " fig, ax = plt.subplots(figsize=(6, 4))\n", + " for row in psych_rows:\n", + " stims = np.asarray(row[\"stims\"], dtype=float)\n", + " params = np.asarray(row[\"fit_params\"], dtype=float)\n", + " p_right = np.asarray(row[\"p_right\"], dtype=float)\n", + " x = np.linspace(stims.min(), stims.max(), 200)\n", + " ax.plot(x, cumulative_gaussian(*params, x), label=row[\"subject_name\"])\n", + " ax.plot(stims, p_right, \"o\", ms=4)\n", + " ax.set(xlabel=\"stimulus\", ylabel=\"p(right)\", ylim=(0, 1), title=\"Psychometrics\")\n", + " ax.legend(frameon=False)\n", + " fig.tight_layout()\n", + "else:\n", + " print(\"no psychometric rows to plot\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "48a5b675", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if kernel_rows:\n", + " fig, ax = plt.subplots(figsize=(6, 4))\n", + " for row in kernel_rows:\n", + " weights = np.asarray(row[\"weights_mean\"], dtype=float)\n", + " error = np.asarray(row[\"weights_error\"], dtype=float)\n", + " x = np.arange(weights.size)\n", + " ax.errorbar(\n", + " x,\n", + " weights,\n", + " yerr=error,\n", + " fmt=\"o-\",\n", + " label=row[\"subject_name\"],\n", + " )\n", + " ax.axhline(0, color=\"0.75\", linewidth=1)\n", + " ax.set(xlabel=\"time bin\", ylabel=\"kernel weight\", title=\"Psychophysical kernels\")\n", + " ax.legend(frameon=False)\n", + " fig.tight_layout()\n", + "else:\n", + " print(\"no kernel rows to plot\")" + ] + } + ], + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/behavioral_metrics/plot_learning_curves.ipynb b/behavioral_metrics/plot_learning_curves.ipynb new file mode 100644 index 0000000..f5677eb --- /dev/null +++ b/behavioral_metrics/plot_learning_curves.ipynb @@ -0,0 +1,69 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7fb27b941602401d91542211134fc71a", + "metadata": {}, + "source": [ + "# Learning curves (labdata)\n", + "\n", + "Reads selected upstream `DecisionTask.TrialSet` rows directly. CLI alternative:\n", + "\n", + "```bash\n", + "uv run python scripts/analyses/plot_learning_curves.py --analysis-set-id --output figures/learning.pdf\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "acae54e37e7d407bbb7b55eff062a284", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import sys\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "REPO_ROOT = Path.cwd().parent if Path.cwd().name == \"behavioral_metrics\" else Path.cwd()\n", + "for path in [REPO_ROOT, REPO_ROOT / \"src\"]:\n", + " if str(path) not in sys.path:\n", + " sys.path.insert(0, str(path))\n", + "\n", + "from labdata.schema import DecisionTask\n", + "from labdata_plugin.analysisschema import BehaviorAnalysisSet\n", + "\n", + "ANALYSIS_SET_ID = \"example_analysis_set\" # replace after seeding\n", + "selected = BehaviorAnalysisSet.TrialSet() & {\"analysis_set_id\": ANALYSIS_SET_ID}\n", + "rows = (DecisionTask.TrialSet() & selected).fetch(as_dict=True)\n", + "assert rows, f\"No selected TrialSets for {ANALYSIS_SET_ID}\"\n", + "\n", + "data = pd.DataFrame(rows).sort_values([\"subject_name\", \"session_name\"])\n", + "fig, ax = plt.subplots(figsize=(8, 4))\n", + "for subject, subject_df in data.groupby(\"subject_name\"):\n", + " ax.plot(subject_df[\"performance_easy\"].to_numpy(), marker=\"o\", label=subject)\n", + "ax.set_xlabel(\"Session index\")\n", + "ax.set_ylabel(\"Easy performance\")\n", + "ax.set_ylim(0, 1)\n", + "ax.legend(frameon=False, fontsize=8)\n", + "ax.set_title(\"Easy performance across selected sessions\")\n", + "fig.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "pygments_lexer": "ipython3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/MIGRATION.md b/docs/MIGRATION.md new file mode 100644 index 0000000..8fcbb48 --- /dev/null +++ b/docs/MIGRATION.md @@ -0,0 +1,132 @@ +# LabData migration notes + +## Goal + +Finish moving maintained behavior analyses from `djchurchland` to `labdata`, +keep machine-local paths out of the runtime, and validate against LabData before +merging [PR #8](https://github.com/rojasgabriel/behavior_analyses/pull/8). + +## Inventory + +| Surface | Classification | Notes | +| --- | --- | --- | +| `src/behavior_analyses/` | migrate (done) | Reusable learning / psychometric / kernel math | +| `labdata_plugin/` | migrate (done) | Skill-informed analysis-set/config/fit schema; live activation completed 2026-08-03 | +| `scripts/analyses/` | migrate (done) | Seed / populate / plot CLIs | +| `psychometric_curves/utils.py` | migrate (done) | LabData/Chipmunk plotting helpers | +| `psychometric_curves/*.ipynb` (old) | archived | Moved under `archive/djchurchland/` | +| `behavioral_metrics/*.ipynb` (old) | archived | Moved under `archive/djchurchland/` | +| `psychophysical_kernels/*.ipynb` (old) | archived | Moved under `archive/djchurchland/` | +| migration stress notebooks (old schema) | archived | Moved under `archive/labdata_migration/`; superseded by tested CLIs | +| `sess.ipynb` (old) | archived | Moved under `archive/djchurchland/root/` | +| `oft/` notebooks | archived | Open-field; not Chipmunk LabData path | +| `psychometric_curves/fit_psychometric.py` | preserve local copy | Upstream also vendored in `third_party/fit_psychometric` | +| `labdata2_testing/`, `notebooks/ingest_subjects.ipynb` | already labdata | Leave as-is | + +## Portability + +- `fit-psychometric` is vendored at `third_party/fit_psychometric` (upstream + `jcouto/fit_psychometric@665d058`) so CI and local `uv sync` do not need a + sibling checkout or `/Users/gabriel/...` path. +- Chipmunk access prefers `from chipmunk import Chipmunk`. Optional local + fallback uses `CHIPMUNK_PLUGIN_PATH` or + `tool.behavior_analyses.chipmunk_plugin_path` (empty by default). +- LabData 0.1.x requires DataJoint `<2`. DataJoint 0.14.9 is the latest + compatible release and upstream pins `setuptools<82` because it still uses + `pkg_resources`. + +## Plugin schema design lock + +This design follows the Notion skills **Design LabData Plugin Tables** v0.2 +and **Plan Analysis** v0.5. + +| Table | Tier | One row represents | Primary dependencies | Persisted facts | +| --- | --- | --- | --- | --- | +| `BehaviorAnalysisSet` | Manual | One curated analysis selection and its provenance | none | name, description, selection thresholds/version | +| `BehaviorAnalysisSet.TrialSet` | Part | One selected upstream task TrialSet | master + `DecisionTask.TrialSet` | optional inclusion reason | +| `PsychometricFitConfig` | Lookup | One versioned psychometric eligibility configuration | none | minimum choices/stimulus values, analysis version | +| `PsychometricSessionFit` | Computed | One fit for one upstream TrialSet and config | `DecisionTask.TrialSet` + config | status, fit sample size, curve/parameters/diagnostics | +| `PsychometricSubjectFit` | Computed | One pooled fit for one analysis set, subject, condition, and config | analysis set + `Subject` + config | status, fit sample size, curve/parameters/diagnostics | +| `PsychophysicalKernelFitConfig` | Lookup | One versioned pooled-kernel configuration | none | bins, CV folds, seed, calibration rate, regularization, version | +| `PsychophysicalKernel` | Computed | One pooled kernel for one analysis set, subject, condition, and config | analysis set + `Subject` + kernel config | status, fit sample size, weights, held-out scores, bias | + +Keep: + +- one manual selector containing only selection provenance and upstream TrialSet + membership +- direct upstream keys and versioned fit configuration in computed primary keys +- explicit `fit` / `skipped` rows so eligible keys do not remain pending +- numerical outputs and sample sizes needed to reproduce and interpret plots + +Drop or derive: + +- `BehaviorSessionSet.Session` and `.SubjectTrialSet`; both project from selected + TrialSets +- `LearningSessionMetrics`; learning curves read canonical counts/performance + directly from `DecisionTask.TrialSet` +- duplicated `p_side`, `n_side`, `fit_params`, selection-owned kernel settings, + and upstream trial payloads +- figures in database blobs; maintained plot code produces editable PDF/SVG + outputs from numerical tables + +Live state: + +- the old definitions are preserved under `archive_l479_*` table names and the + canonical class names are active; no legacy table was dropped. + +## Live LabData validation + +Read-only checks completed on 2026-07-28: + +- DataJoint 0.14.9 connected and exposed the expected Chipmunk + `TrialParameters` and LabData `DecisionTask.TrialSet` fields. +- GRB006 had 263 LabData trial sets. +- The corrected psychometric query returned 422 choice trials for + `20240826_113307`, all with finite boundary-centered intensities spanning + -8 to +8 Hz. +- The shared user schema already contains ephys-owned + `PsychophysicalKernelParam` / `SessionPsychophysicalKernel`, so this plugin + uses the collision-safe and method-specific + `PsychophysicalKernelFitConfig`. +- The deployed behavior schema contains two selections: one disposable smoke + set and `migration_stress_test` with 183 selected TrialSets. Across both + selections it currently stores 184 duplicated learning rows, 128 session + fits, three pooled subject fits, and three pooled kernels. + +Approved disposable write checks completed on 2026-07-28: + +- Seeded `lab_tasks_479_smoke_20260728` with the GRB006 + `20240819_110829` visual trial set: one session, one trial set, and one + subject/trial-set aggregate. +- Created the old four computed analysis tables and populated one row in each: + `LearningSessionMetrics`, `PsychometricSessionFit`, + `PsychometricSubjectFit`, and `PsychophysicalKernel`. +- Verified 393 choice trials in the psychometric outputs and a 10-fold kernel + fit over 393 trials (`score_mean = 0.844744`). + +The repository's Python 3.10 environment has a damaged local SciPy binary, so +the successful populate ran from the same lockfile under Python 3.11. + +## Completed live migration + +The bounded migration was approved and completed on 2026-08-03. It: + +1. archived the eight old behavior tables with plugin-specific names + (no drops); +2. activated the seven locked relations above and their two default config rows; +3. copied the two selection masters and 184 TrialSet membership rows; +4. copied compatible fitted rows under the default config while deduplicating + session fits by their upstream TrialSet key; +5. dry-ran pending keys, then populated only the two migrated analysis-set IDs; +6. verified counts, statuses, headings, and bounded diagnostic figures. + +Final active counts are two analysis sets, 184 memberships, 184 session fits, +three pooled subject fits, and three pooled kernels. Session results comprise +128 `fit` rows and 56 explicit `skipped` rows; every pooled subject fit and +kernel is `fit`. All eight archive tables retain their original counts. + +Figures use a plain white canvas, neutral comparison titles, units, sample +sizes, frameless legends, and vector output. Raw figures, commands, +configuration IDs, and observation-first notes are on the LAB-TASKS-479 +[Results](https://www.notion.so/3b1ecf086b7c814a959aebd29420b453) +subpage. diff --git a/labdata_plugin/__init__.py b/labdata_plugin/__init__.py new file mode 100644 index 0000000..7d151a2 --- /dev/null +++ b/labdata_plugin/__init__.py @@ -0,0 +1,17 @@ +from .analysisschema import ( + BehaviorAnalysisSet, + PsychometricFitConfig, + PsychometricSessionFit, + PsychometricSubjectFit, + PsychophysicalKernel, + PsychophysicalKernelFitConfig, +) + +__all__ = [ + "BehaviorAnalysisSet", + "PsychometricFitConfig", + "PsychometricSessionFit", + "PsychometricSubjectFit", + "PsychophysicalKernel", + "PsychophysicalKernelFitConfig", +] diff --git a/labdata_plugin/analysisschema.py b/labdata_plugin/analysisschema.py new file mode 100644 index 0000000..8710664 --- /dev/null +++ b/labdata_plugin/analysisschema.py @@ -0,0 +1,304 @@ +from __future__ import annotations + +import numpy as np +import datajoint as dj +from labdata.schema import ( + DecisionTask, + Subject, # noqa: F401 - referenced by DataJoint definitions + get_user_schema, +) + + +rojasbowe_schema = get_user_schema() + +TRIALSET_KEY_FIELDS = ( + "subject_name", + "session_name", + "dataset_name", + "trialset_description", +) + + +@rojasbowe_schema +class BehaviorAnalysisSet(dj.Manual): + """A curated set of upstream DecisionTask trial sets.""" + + definition = """ + analysis_set_id : varchar(64) + --- + analysis_set_name : varchar(64) + analysis_set_description = NULL : varchar(512) + performance_threshold = NULL : float + min_trials_with_choice = 0 : int + selection_version : varchar(32) + """ + + class TrialSet(dj.Part): + definition = """ + -> master + -> DecisionTask.TrialSet + --- + include_reason = NULL : varchar(256) + """ + + +@rojasbowe_schema +class PsychometricFitConfig(dj.Lookup): + """Versioned eligibility settings for psychometric fits.""" + + definition = """ + psychometric_fit_config_id : varchar(48) + --- + min_choices : int + min_stim_values : int + analysis_version : varchar(32) + """ + contents = [("v1", 100, 6, "v1")] # noqa: RUF012 + + +@rojasbowe_schema +class PsychometricSessionFit(dj.Computed): + """One psychometric fit per upstream trial set and fit configuration.""" + + definition = """ + -> DecisionTask.TrialSet + -> PsychometricFitConfig + --- + fit_status : enum('fit', 'skipped') + fit_message = NULL : varchar(256) + n_choices_fit : int + stims = NULL : longblob # boundary-centered stimulus rate (Hz) + p_right = NULL : longblob + p_right_ci = NULL : longblob + n_right = NULL : longblob + n_obs = NULL : longblob + bias = NULL : float + sensitivity = NULL : float + guess_rate = NULL : float + lapse_rate = NULL : float + goodness_of_fit = NULL : float + """ + + @property + def key_source(self): + selected = DecisionTask.TrialSet() & BehaviorAnalysisSet.TrialSet() + return selected * PsychometricFitConfig() + + def make(self, key): + row = (DecisionTask.TrialSet() & _trialset_key(key)).fetch1() + config = (PsychometricFitConfig() & key).fetch1() + self.insert1({**key, **_psychometric_fit_payload(row, config)}) + + +@rojasbowe_schema +class PsychometricSubjectFit(dj.Computed): + """One pooled psychometric fit per analysis set, subject, condition, and config.""" + + definition = """ + -> BehaviorAnalysisSet + -> Subject + trialset_description : varchar(54) + -> PsychometricFitConfig + --- + fit_status : enum('fit', 'skipped') + fit_message = NULL : varchar(256) + n_choices_fit : int + stims = NULL : longblob # boundary-centered stimulus rate (Hz) + p_right = NULL : longblob + p_right_ci = NULL : longblob + n_right = NULL : longblob + n_obs = NULL : longblob + bias = NULL : float + sensitivity = NULL : float + guess_rate = NULL : float + lapse_rate = NULL : float + goodness_of_fit = NULL : float + """ + + @property + def key_source(self): + subject_conditions = ( + dj.U("analysis_set_id", "subject_name", "trialset_description") + & BehaviorAnalysisSet.TrialSet() + ) + return subject_conditions * PsychometricFitConfig() + + def make(self, key): + rows = _fetch_trialset_rows_for_subject(key) + intensity_values = np.concatenate( + [np.asarray(row["intensity_values"], dtype=float) for row in rows] + ) + response_values = np.concatenate( + [np.asarray(row["response_values"], dtype=float) for row in rows] + ) + config = (PsychometricFitConfig() & key).fetch1() + self.insert1( + { + **key, + **_psychometric_fit_payload( + { + "intensity_values": intensity_values, + "response_values": response_values, + }, + config, + ), + } + ) + + +@rojasbowe_schema +class PsychophysicalKernelFitConfig(dj.Lookup): + """Versioned settings for pooled psychophysical-kernel fits.""" + + definition = """ + kernel_fit_config_id : varchar(48) + --- + timebins : int + cv_splits : int + random_state : int + max_rate_hz : float # calibration rate + regularization_c : float + analysis_version : varchar(32) + """ + contents = [("v1_10bin_10fold", 10, 10, 0, 20.0, 1.0, "v1")] # noqa: RUF012 + + +@rojasbowe_schema +class PsychophysicalKernel(dj.Computed): + """One pooled kernel per analysis set, subject, condition, and config.""" + + definition = """ + -> BehaviorAnalysisSet + -> Subject + trialset_description : varchar(54) + -> PsychophysicalKernelFitConfig + --- + fit_status : enum('fit', 'skipped') + fit_message = NULL : varchar(256) + n_trials_fit : int + weights = NULL : longblob # cv fold x stimulus time bin + weights_mean = NULL : longblob + weights_error = NULL : longblob + scores = NULL : longblob # held-out accuracy by fold + score_mean = NULL : float + bias = NULL : longblob # intercept by fold + bias_mean = NULL : float + """ + + @property + def key_source(self): + subject_conditions = ( + dj.U("analysis_set_id", "subject_name", "trialset_description") + & BehaviorAnalysisSet.TrialSet() + ) + return subject_conditions * PsychophysicalKernelFitConfig() + + def make(self, key): + from behavior_analyses.io import get_chipmunk_table + from behavior_analyses.kernels import fit_psychophysical_kernel + + config = (PsychophysicalKernelFitConfig() & key).fetch1() + trialset_keys = _selected_trialset_keys(key) + Chipmunk = get_chipmunk_table() + relation = ( + Chipmunk() * Chipmunk.Trial() * Chipmunk.TrialParameters() + & trialset_keys + & {"rewarded_modality": key["trialset_description"]} + ) + stim_events, response_values = relation.fetch("stim_events", "response") + result = fit_psychophysical_kernel( + stim_events, + response_values, + timebins=int(config["timebins"]), + cv_splits=int(config["cv_splits"]), + random_state=int(config["random_state"]), + max_rate_hz=float(config["max_rate_hz"]), + regularization_c=float(config["regularization_c"]), + ) + n_trials_fit = int(result["choice_right"].size) + if result["weights"].size == 0: + self.insert1( + { + **key, + "fit_status": "skipped", + "fit_message": "insufficient trials or response classes for CV", + "n_trials_fit": n_trials_fit, + } + ) + return + + self.insert1( + { + **key, + "fit_status": "fit", + "n_trials_fit": n_trials_fit, + "weights": result["weights"], + "weights_mean": np.mean(result["weights"], axis=0), + "weights_error": np.mean(result["error"], axis=0), + "scores": result["scores"], + "score_mean": float(np.mean(result["scores"])), + "bias": result["bias"], + "bias_mean": float(np.mean(result["bias"])), + } + ) + + +def _trialset_key(key): + return {field: key[field] for field in TRIALSET_KEY_FIELDS} + + +def _selected_trialset_keys(key): + selection_key = { + field: key[field] + for field in ("analysis_set_id", "subject_name", "trialset_description") + } + return list( + (BehaviorAnalysisSet.TrialSet() & selection_key).fetch( + *TRIALSET_KEY_FIELDS, as_dict=True + ) + ) + + +def _fetch_trialset_rows_for_subject(key): + trialset_keys = _selected_trialset_keys(key) + return list((DecisionTask.TrialSet() & trialset_keys).fetch(as_dict=True)) + + +def _psychometric_fit_payload(row, config): + from behavior_analyses.psychometrics import fit_psychometric_labdata + + intensity_values = np.asarray(row["intensity_values"], dtype=float) + response_values = np.asarray(row["response_values"], dtype=float) + valid_choice = np.isfinite(intensity_values) & np.isin(response_values, [-1, 1]) + n_choices_fit = int(np.sum(valid_choice)) + fit = fit_psychometric_labdata( + intensity_values, + response_values, + min_choices=int(config["min_choices"]), + min_required_stim_values=int(config["min_stim_values"]), + ) + if fit is None: + return { + "fit_status": "skipped", + "fit_message": "insufficient choices, stimulus values, or fit convergence", + "n_choices_fit": n_choices_fit, + } + return { + "fit_status": "fit", + "n_choices_fit": n_choices_fit, + **{ + field: fit[field] + for field in ( + "stims", + "p_right", + "p_right_ci", + "n_right", + "n_obs", + "bias", + "sensitivity", + "guess_rate", + "lapse_rate", + "goodness_of_fit", + ) + }, + } diff --git a/oft/README.md b/oft/README.md new file mode 100644 index 0000000..d67bdf3 --- /dev/null +++ b/oft/README.md @@ -0,0 +1,4 @@ +# Open-field test + +Notebooks with machine-local video paths were moved to +`archive/djchurchland/oft/`. diff --git a/psychometric_curves/plot_psychometric_fits.ipynb b/psychometric_curves/plot_psychometric_fits.ipynb index 9d06602..2ec8358 100644 --- a/psychometric_curves/plot_psychometric_fits.ipynb +++ b/psychometric_curves/plot_psychometric_fits.ipynb @@ -1,512 +1,80 @@ { "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The autoreload extension is already loaded. To reload it, use:\n", - " %reload_ext autoreload\n" - ] - } - ], - "source": [ - "from djchurchland.schema import Task\n", - "from djchurchland.chipmunk.task import Chipmunk\n", - "from djchurchland.chipmunk.psychometric import PsychometricFit\n", - "from chiCa.chiCa import separate_axes\n", - "from behavior_analyses.psychometric_curves.utils import (\n", - " plot_single_mouse_psychometric_fit,\n", - " plot_multi_mouse_psychometric_fit,\n", - ")\n", - "\n", - "from datetime import datetime\n", - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib as mpl\n", - "import os\n", - "\n", - "\n", - "new_rc_params = {\"text.usetex\": False, \"svg.fonttype\": \"none\"}\n", - "mpl.rcParams.update(new_rc_params)\n", - "plt.rcParams[\"font.sans-serif\"] = [\"Arial\"]\n", - "plt.rcParams[\"font.size\"] = 12\n", - "\n", - "save_dir = \"/Users/gabriel/Desktop/BSN_figures/\"\n", - "if not os.path.exists(save_dir):\n", - " os.makedirs(save_dir)\n", - "\n", - "%matplotlib widget\n", - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, { "cell_type": "markdown", + "id": "7fb27b941602401d91542211134fc71a", "metadata": {}, "source": [ - "#### Identify sessions with good behavior (>80% performance)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys(['GRB005', 'GRB006', 'GRB026', 'GRB027', 'GRB036', 'GRB037', 'GRB038', 'GRB039', 'GRB041', 'GRB045', 'GRB046'])" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mice = np.unique(PsychometricFit.fetch(\"subject_name\"))\n", - "performance_threshold = 0.7\n", - "good_behavior_sessions = dict()\n", - "for mouse in mice:\n", - " if mouse in [\n", - " \"GRB001\",\n", - " \"GRB002\",\n", - " \"GRB003\",\n", - " \"GRB004\",\n", - " \"GRB007\",\n", - " ]: # mice only trained on 1s wait time version of the task\n", - " continue\n", + "# Psychometric fits (labdata)\n", "\n", - " trials_df = pd.DataFrame(Task.TrialSet() & f'subject_name = \"{mouse}\"')\n", + "Uses fitted `PsychometricSubjectFit` rows from a seeded behavior analysis set.\n", + "For batch figures without a notebook, prefer:\n", "\n", - " easy_perf_df = pd.DataFrame(\n", - " {\n", - " \"session_datetime\": trials_df.session_datetime,\n", - " \"avg_performance\": trials_df.performance.apply(\n", - " lambda x: np.mean([x[0], x[-1]])\n", - " ),\n", - " }\n", - " )\n", - "\n", - " # find sessions with performance above threshold in database\n", - " try:\n", - " sessions = (\n", - " Chipmunk() * Chipmunk.Trial() * PsychometricFit() * Task()\n", - " & \"n_total_trials_with_choice > 200\"\n", - " & \"goal_wait_time >= 0.5\"\n", - " & \"goal_wait_time < 0.6\"\n", - " & f'subject_name = \"{mouse}\"'\n", - " & \"session_datetime in (\"\n", - " + \",\".join(\n", - " [\n", - " f'\"{dt}\"'\n", - " for dt in easy_perf_df[\n", - " easy_perf_df.avg_performance >= performance_threshold\n", - " ].session_datetime.dt.strftime(\"%Y-%m-%d %H:%M:%S\")\n", - " ]\n", - " )\n", - " + \")\"\n", - " ).fetch(\"session_datetime\")\n", - " except Exception:\n", - " print(\n", - " f\"Mouse {mouse} has no sessions with performance above {performance_threshold}\"\n", - " )\n", - " continue\n", - "\n", - " if len(np.unique(sessions)) >= 10:\n", - " good_behavior_sessions.update({mouse: sessions})\n", - "\n", - "good_behavior_sessions.keys()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Identify good behavior ephys sessions" + "```bash\n", + "uv run python scripts/analyses/plot_psychometrics.py --analysis-set-id --output figures/psychometrics.pdf\n", + "```" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, + "id": "acae54e37e7d407bbb7b55eff062a284", "metadata": {}, "outputs": [], "source": [ - "GRB006_ephys_sessions = [\n", - " \"20240424_150511\",\n", - " \"20240429_174359\",\n", - " \"20240430_183206\",\n", - " \"20240501_195113\",\n", - " \"20240502_161058\",\n", - " \"20240506_171411\",\n", - " \"20240507_180829\",\n", - " \"20240508_173227\",\n", - " \"20240509_163637\",\n", - " \"20240510_180411\",\n", - " \"20240530_164626\",\n", - " \"20240604_123410\",\n", - " \"20240605_133531\",\n", - " \"20240606_141045\",\n", - " \"20240607_133855\",\n", - " \"20240612_142350\",\n", - " \"20240613_140011\",\n", - " \"20240614_132538\",\n", - " \"20240620_124808\",\n", - " \"20240621_143838\",\n", - " \"20240628_130506\",\n", - " \"20240702_134736\",\n", - " \"20240715_134530\",\n", - " \"20240716_151257\",\n", - " \"20240717_154846\",\n", - " \"20240723_142451\",\n", - " \"20240724_144439\",\n", - " \"20240806_141817\",\n", - " \"20240814_154434\",\n", - "]\n", + "from pathlib import Path\n", + "import sys\n", "\n", - "ephys_mice = [\"GRB006\"]\n", - "behavior_ephys_sessions = {}\n", - "\n", - "for mice in ephys_mice:\n", - " ephys_sessions = []\n", - " for date in GRB006_ephys_sessions:\n", - " ephys_sessions.append(datetime.strptime(date, \"%Y%m%d_%H%M%S\"))\n", - "\n", - " ephys_set = set(ephys_sessions)\n", - " behavior_set = set(good_behavior_sessions[mice])\n", - " behavior_ephys_sessions[mice] = ephys_set.intersection(\n", - " behavior_set\n", - " ) # get the ephys sessions that are also good behavior sessions" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Single animal psychometric fit plotting" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Calculating average fit for 29 sessions for mouse GRB006...\n", - "Combined data: 10394 trials for mouse GRB006\n", - "Successfully fit average curve for mouse GRB006\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b0391a5254de4e4da41249fd8f3750bc", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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uJrNZjq/XiwWaQ3dYrHAZDKhXC5jaGiIjqV5PB6EQiF6c+L1emG1WsFxHNLpNPNyBxP0PQ6LxYK6urqdfYytwvM8nnnmGbz77rs44IADAAC/+tWv8OUvfxmCIOCll15CKpXCH/7wB3i9XixcuBDvvfce7rnnHjzxxBM7+fQMxq4BaSIzm80Ih8NjRrGKoqBcLuPDDz+kQhoMBsFxHBoaGmAymaDrOlRVhclkgsVigcfjGSWekiQhm80il8uhXC7XjKvJsgxN0+iedJvNRp3oiJuc0WikRjQkza9pGqxWKyKRCLxeL4xGI4aGhpBMJiFJEs4//3wAwM033wyPx4Pe3l40NDQgFovtiLd3l4Sl3LeT7u5uGAwGPPvss+jo6IDNZsM3v/lNZDKZCX1/b28vjj76aLhcLkQiEVxxxRV0ZEPXddx8882or6+Hz+fDCSecgN7eXvq9Tz75JObNmwebzYa99toLzz//PP3cvffei5aWFthsNhx44IH461//CmB0yr2/vx+nnXYaAoEAQqEQrrzySoiiCAD43e9+hyOOOALLli1DKBSCz+fDj370I1qr2trZR0Lu8kd+3HjjjaO+luM4vPTSS1i0aFHN46qqolQqYdOmTZg/fz68Xi/93L777ov3339/Qu85gzGb0TQN6XQahUIBLpcLoVBolJgrioK+vj68//77SKVSEAQB5XIZJpMJw8PDEEURXq8XqqoCAOx2O4LBICKRCBVzURSRTCaxfv16rFq1CkNDQzCbzWhpacGCBQvQ0NBAr6tpGlKpFNavX48NGzZg3bp16OnpgSAINHVvt9sBACaTCX6/Hy0tLWhra0MgEKANc7/97W9xyimn4Oqrr6av5frrr8fSpUtxyimn4Le//e2OeIt3WViEPk3cdttteOKJJ6DrOk488UTcdddduPXWW7f5fVdccQVcLhc+++wzDA8P45RTTsGCBQtw6aWX4v7778d//Md/4P/9v/+Huro63HnnnTj66KPxz3/+E9lsFueeey4eeughHHnkkXj66adx5plnYmBgAD09Pbj66qvx7LPPYuHChVi+fDm+853vYGBgoOa5JUnCV7/6VXR2duKtt95CMpnERRddBIPBgOXLlwMA3nvvPdTV1eHdd9/Fxx9/jPPOOw/HHnssjjrqqK2efSTjpfnHGpex2+045phjah5bvnw59t13X4RC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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "mouse = \"GRB006\"\n", - "fig, ax = plt.subplots(figsize=(5, 5))\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", "\n", - "plot_single_mouse_psychometric_fit(\n", - " mouse_id=mouse,\n", - " ax=ax,\n", - " plot_mode=\"both\",\n", - " sessions_list=behavior_ephys_sessions[mouse],\n", + "REPO_ROOT = (\n", + " Path.cwd().parent if Path.cwd().name == \"psychometric_curves\" else Path.cwd()\n", ")\n", + "for path in [REPO_ROOT, REPO_ROOT / \"src\"]:\n", + " if str(path) not in sys.path:\n", + " sys.path.insert(0, str(path))\n", "\n", - "# plt.title(f'Psychometric Fits for {mouse}')\n", - "ax.legend(frameon=False, fontsize=10)\n", - "ax.text(4, 0.89, f\"n_sessions = {len(behavior_ephys_sessions[mouse])}\", fontsize=10)\n", - "separate_axes(ax)\n", - "# plt.savefig(pjoin(save_dir, f'{mouse}_ephys_psychometric_fits.svg'), format='svg', dpi=300)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Multi-animal psychometric fit plotting" - ] - }, - { - "cell_type": "code", - "execution_count": 95, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Calculating average fit for mouse GRB005 with 12 sessions...\n", - "Combined data: 3400 trials for mouse GRB005\n", - "Successfully fit average curve for mouse GRB005\n", - "Calculating average fit for mouse GRB006 with 81 sessions...\n", - "Combined data: 28103 trials for mouse GRB006\n", - "Successfully fit average curve for mouse GRB006\n", - "Calculating average fit for mouse GRB026 with 25 sessions...\n", - "Combined data: 6965 trials for mouse GRB026\n", - "Successfully fit average curve for mouse GRB026\n", - "Calculating average fit for mouse GRB027 with 28 sessions...\n", - "Combined data: 10611 trials for mouse GRB027\n", - "Successfully fit average curve for mouse GRB027\n", - "Calculating average fit for mouse GRB036 with 25 sessions...\n", - "Combined data: 6324 trials for mouse GRB036\n", - "Successfully fit average curve for mouse GRB036\n", - "Calculating average fit for mouse GRB037 with 42 sessions...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/gabriel/miniconda3/lib/python3.10/site-packages/statsmodels/base/model.py:595: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available\n", - " warnings.warn('Inverting hessian failed, no bse or cov_params '\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Combined data: 12521 trials for mouse GRB037\n", - "Successfully fit average curve for mouse GRB037\n", - "Calculating average fit for mouse GRB038 with 39 sessions...\n", - "Combined data: 12185 trials for mouse GRB038\n", - "Successfully fit average curve for mouse GRB038\n", - "Calculating average fit for mouse GRB039 with 12 sessions...\n", - "Combined data: 3416 trials for mouse GRB039\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/gabriel/miniconda3/lib/python3.10/site-packages/statsmodels/base/model.py:595: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available\n", - " warnings.warn('Inverting hessian failed, no bse or cov_params '\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Successfully fit average curve for mouse GRB039\n", - "Calculating average fit for mouse GRB041 with 17 sessions...\n", - "Combined data: 4473 trials for mouse GRB041\n", - "Successfully fit average curve for mouse GRB041\n", - "Calculating average fit for mouse GRB045 with 12 sessions...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/gabriel/miniconda3/lib/python3.10/site-packages/statsmodels/base/model.py:595: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available\n", - " warnings.warn('Inverting hessian failed, no bse or cov_params '\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Combined data: 4182 trials for mouse GRB045\n", - "Successfully fit average curve for mouse GRB045\n", - "Calculating average fit for mouse GRB046 with 17 sessions...\n", - "Combined data: 5527 trials for mouse GRB046\n", - "Successfully fit average curve for mouse GRB046\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "3d78c5f5811a4109ae3546dedb7e5c2c", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig, ax = plt.subplots(figsize=(5, 5))\n", - "mice_list = list(good_behavior_sessions.keys())\n", + "from behavior_analyses.psychometrics import cumulative_gaussian\n", + "from labdata_plugin.analysisschema import PsychometricSubjectFit\n", "\n", - "plot_multi_mouse_psychometric_fit(mouse_sessions_dict=good_behavior_sessions, ax=ax)\n", + "ANALYSIS_SET_ID = \"example_analysis_set\" # replace after seeding\n", + "rows = (\n", + " PsychometricSubjectFit() & {\"analysis_set_id\": ANALYSIS_SET_ID, \"fit_status\": \"fit\"}\n", + ").fetch(as_dict=True)\n", + "assert rows, f\"No fitted psychometrics for {ANALYSIS_SET_ID}\"\n", "\n", - "ax.legend(frameon=False, fontsize=10, loc=\"upper left\")\n", - "ax.text(\n", - " 20,\n", - " 0.1,\n", - " s=f\"session performance threshold = {int(performance_threshold * 100)}%\",\n", - " fontsize=10,\n", - " ha=\"right\",\n", - ")\n", - "separate_axes(ax)\n", - "# plt.savefig(pjoin(save_dir, 'psychometric_fits_all_mice.svg'), format='svg', dpi=300, bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Calculating average fit for mouse GRB036 with 25 sessions...\n", - "Combined data: 6324 trials for mouse GRB036\n", - "Successfully fit average curve for mouse GRB036\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/gabriel/miniconda3/lib/python3.10/site-packages/statsmodels/base/model.py:595: HessianInversionWarning: Inverting hessian failed, no bse or cov_params available\n", - " warnings.warn('Inverting hessian failed, no bse or cov_params '\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Calculating average fit for mouse GRB037 with 42 sessions...\n", - "Combined data: 12521 trials for mouse GRB037\n", - "Successfully fit average curve for mouse GRB037\n", - "Calculating average fit for mouse GRB038 with 39 sessions...\n", - "Combined data: 12185 trials for mouse GRB038\n", - "Successfully fit average curve for mouse GRB038\n", - "Calculating average fit for mouse GRB045 with 12 sessions...\n", - "Combined data: 4182 trials for mouse GRB045\n", - "Successfully fit average curve for mouse GRB045\n", - "Calculating average fit for mouse GRB046 with 17 sessions...\n", - "Combined data: 5527 trials for mouse GRB046\n", - "Successfully fit average curve for mouse GRB046\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "edb757ce96d1407795b5cc29178a0d09", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAA0z1JREFUeJzs3Xd4U2X7wPFv0nTvCS20BVr2KHsWZAmKCxUX44ciKAjIXgrIFFBARF59UWTIeFFkqIDKRtl7jzIKtNDSvdu0Sc7vj5SUWCqlNKWU+3NdveQ858k5TyL0znnG/agURVEQQgghxGNN/agbIIQQQoiHJwFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDJAAroQQghRBkhAF0IIIcoACehCCCFEGSABXQghhCgDJKALIYQQZYAEdCGEEKIMkIAuhBBClAES0IUQQogyQAK6EEIIUQZIQBdCCCHKAAnoQgghRBkgAV0IIYQoAySgCyGEEGWABHQhhBCiDJCALoQQQpQBEtCFEEKIMkACuhBCCFEGSEAXQgghygAJ6EIIIUQZIAFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDJAAroQQghRBkhAF0IIIcoACehCCCFEGSABXQghhCgDJKALIYQQZYAEdCGEEKIMkIAuhBBClAES0IUQQogyQAK6EEIIUQZIQBdCCCHKAAnoQgghRBkgAV0IIYQoAySgCyGEEGWABHQhhBCiDJCALoQQQpQBEtCFEEKIMkACuhBCCFEGSEAXQgghygAJ6EIIIUQZIAFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDKgVAZ0rVZLnTp12LVrV4F1jh8/TrNmzXBwcKBJkyYcPXq05BoohBBClDKlLqBnZWXx1ltvcfbs2QLrpKen06VLF1q3bs3Ro0dp2bIlzz33HOnp6SXYUiGEEKL0KFUB/dy5czRv3pwrV678a70ff/wRe3t7Pv/8c2rWrMm8efNwdnZmzZo1JdRSIYQQonQpVQF99+7dtGvXjv379/9rvQMHDhAaGopKpQJApVLRqlWr+75OCCGEKKs0j7oBdxswYECh6kVFRVG7dm2zsnLlynHmzJkCX6PVatFqtaZjRVHIzs7Gy8vL9MVACCGEeFyVqif0wsrIyMDW1taszNbW1ixg/9OMGTNwdXU1/bi5ueHj40NqaqqlmyuEEEJY3GMZ0O3s7PIFb61Wi4ODQ4GvGTduHMnJyaafiIgISzdTCCGEKDGlqsu9sCpUqEB0dLRZWXR0NL6+vgW+xtbWNt9TvRBCCFFWPJZP6M2bN2ffvn0oigIYx8P37t1L8+bNH3HLhBBCiEfjsQno0dHRZGZmAtCtWzeSkpIYOnQo586dY+jQoaSnp/P6668/4lYKIYQQj8ZjE9B9fX358ccfAXBxcWHjxo38/fffNGrUiAMHDrB582YcHR0fcSuFEEKIR0Ol3Om3fsKkpKTg6upKcnIyLi4uj7o5QgghxEN5bJ7QhRBCCFEwCehCCCFEGSABXQghhCgDJKALIYQQZYAEdCGEEKIMkIAuhBBClAES0Mug9PR0JkyYQI0aNbC3t8fLy4tu3bpx9uxZAK5du4ZKpTL7sba2xs/Pj8GDB5OdnX3PelZWVvj5+TFmzBh0Op3pfoqiMHbsWLy9vfHw8GD06NEYDAbT+SNHjtCyZUscHByoXr06P/zwg1l7T58+TWhoKPb29tStW5edO3eWwKckhBBly2OZy10ULC0tjdDQUNLS0pg7dy4hISHExcWxYMECWrZsyYkTJ0zbxR46dAh/f38AsrKy2LVrF/3798fb25uJEyearnmnnk6nIywsjN69e+Ph4cGYMWMAmDt3LqtWrWL9+vXk5OTQs2dPfHx8GDlyJMnJyTz77LO8/fbbrFixgv379/POO+8QFBREq1atSE5O5umnn+bFF19k6dKlLF++nJdffpmwsDB8fHxK/gMUQojHlfKESk5OVgAlOTn5UTelWI0aNUrx9fVVEhMT853r0KGDMmjQICU8PFwBlPDw8Hx1+vbtq9SvX19RFKXAejNmzFAaNGhgOvb391eWLFliOl6+fLkSGBioKIqinD59WunVq5diMBhM5xs0aKDMmjVLURRF+fLLL5WgoCBFp9OZzjdu3FjZtGnTA75zIYR4sskTehliMBhYunQpo0ePxs3NLd/55cuX4+bmxu3btwu8hq2tLRrNv/+1uDvF7q1bt4iIiKBNmzamstDQUK5fv05UVBR16tQxdbEbDAY2bdrExYsXTfV37drFSy+9hJWVlen1hw8fLtT7FUIIkUfG0MuQK1euEBsbS+vWre953tfXF3t7+3ueUxSFXbt2sXLlSrp161bgPSIiIli0aBE9e/YEICoqCgA/Pz9TnXLlygEQGRlpKsvOzsbOzo4XX3yR//u//zPtjHf16lW8vb157733KF++PM2bN2fv3r0P8K6FEEKAjKEXWsyzXdDHxJb4fa18vPH5fXOh6sbFxQHg4eFhKtu2bRtdu3Y1HQcGBrJp0yYAateubRpP12q1+Pj4MGTIEEaOHGl23Tv1DAYDmZmZBAcH06tXLwAyMjIAzPaav/NnrVZrdp0DBw5w4cIFBg4cSNWqVRk+fDhpaWnMnDmTIUOG8Pvvv7N69Wo6derEhQsXTOP7Qggh7k8CeiHpY2IxREc/6mb8K3d3dwCSkpJMZXcmwgGsW7eOr7/+2nRu8+bNVKhQgRs3bjBw4EBCQkL4+OOPzbq/765nMBiIjo5m2rRptG7dmpMnT2JnZwcYg/fdfwZwcHAwXcPGxoaGDRvSsGFDbt26xfz58xk+fDgajYYGDRowefJkABo0aMCWLVtYvnw5H330UfF+QEIIUYZJQC8kKx/vUn/f4OBgPD092bdvH02aNAGMQTU4OBgg36zxwMBAKlWqRHBwMBs3biQkJIQRI0Ywf/78e9YDqFatGsuWLcPPz4+tW7fSsGFDwLhf/Z060blffHx9fQkPDycsLIzOnTubrlerVi1Tb4Kvry81atQwu1+1atWIiIgo9PsWQgghAb3QCtvt/ShpNBr69OnDvHnz6NOnD87Ozmbnb968WeBrg4KCmDx5MqNGjaJHjx40a9aswLpK7o67er0ePz8/AgIC2LNnjymg79mzh4CAAHx9fVm9ejX9+/cnKirKNH5/9OhRatasCUDz5s3ZvXu32fUvXLhA9+7dH/j9CyHEE+1RT7N/VMrqsrX09HSlefPmSu3atZU1a9YoV69eVQ4ePKj069dPUavVSs+ePQtcjpaTk6PUqlVLady4saLX6031Dh06pERFRSlRUVHKmTNnlK5duypeXl6mz27GjBmKn5+fsnPnTmXnzp2Kn5+fMmfOHEVRFCU1NVUJCAhQevXqpVy8eFFZuXKl4uTkpGzYsEFRFEW5du2a4ujoqHzyySfKpUuXlAkTJihOTk5KZGRkiX5uQgjxuJOAXsYCuqIoilarVWbNmqXUq1dPsbe3V9zc3JTOnTsr69evVxSl4PXliqIo27ZtUwDlu+++M9W7+8fFxUXp0qWLcuzYMdNrdDqdMmzYMMXNzU3x8vJSxowZY7bu/Pz580qHDh0UR0dHpVKlSsqiRYvM7rlnzx6lYcOGiq2trVK/fn1l9+7dFvlchBCiLFMpSm7/6RMmJSUFV1dXkpOTcXFxedTNEUIIIR6KrEMXQgghygAJ6EIIIUQZIAFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDJAAroQQghRBkhAL4PS09OZMGECNWrUwN7eHi8vL7p168bZs2cBuHbtGiqVyuzH2toaPz8/Bg8eTHZ29j3rWVlZ4efnx5gxY9DpdKb7KYrC2LFj8fb2xsPDg9GjR2MwGEznjxw5QsuWLXFwcKB69er88MMPpnNt27bN1xaVSkWfPn1K6NMSQoiyQTZnKWPS0tIIDQ0lLS2NuXPnEhISQlxcHAsWLDBtpXpnD/RDhw6Z9hzPyspi165d9O/fH29vbyZOnGi65p16Op2OsLAwevfujYeHB2PGjAFg7ty5rFq1ivXr15OTk0PPnj3x8fFh5MiRJCcn8+yzz/L222+zYsUK9u/fzzvvvENQUBCtWrVi3bp1pi8QAAcPHuT111/ngw8+KMFPTQghyoBHnHr2kSmrudxHjRql+Pr6KomJifnOdejQQRk0aNC/5nLv27evUr9+fUVRCs75PmPGDKVBgwamY39/f2XJkiWm4+XLlyuBgYGKoijK6dOnlV69epnldm/QoIEya9asfPfW6XRKrVq1lPHjxxf+DQshhFAURVHkCb0MMRgMLF26lNGjR+Pm5pbv/PLly3Fzc+P27dsFXsPW1haN5t//Wjg6Opr+fOvWLSIiImjTpo2pLDQ0lOvXrxMVFUWdOnVMXewGg4FNmzZx8eJFs/p3LF26lISEBNOTvxBCiMKTgF6GXLlyhdjYWFq3bn3P876+vgW+VlEUdu/ezcqVKxk7dmyB9SIiIli0aBG9e/cGICoqCgA/Pz9TnXLlygEQGRlpumd2djZOTk7k5OTQv39/mjdvnu/+s2bNYujQoTg5ORXi3QohhLibTIorQ+Li4gDw8PAwlW3btg0nJyfTT+3atU3nateubSq3sbGhR48eDBkyhJEjR5pd9049BwcHAgICyMjIoFevXgBkZGQAxif7O+78WavVml3nwIEDrFy5ktWrVzN37lyzc7t27SIyMpJ+/fo97McghBBPJHlCL6S3F+4nPk17/4rFzNPJlqXvtyhUXXd3dwCSkpJMZXcmwgGsW7eOr7/+2nRu8+bNVKhQgRs3bjBw4EBCQkL4+OOPsbKyMrvunXoGg4Ho6GimTZtG69atOXnyJHZ2doAxeN/9ZwAHBwfTNWxsbGjYsCENGzbk1q1bzJ8/n+HDh5vO//zzzzz77LNmX0aEEEIUngT0QopP0xKbUvIB/UEEBwfj6enJvn37aNKkCWAMqsHBwQD4+PiY1Q8MDKRSpUoEBwezceNGQkJCGDFiBPPnz79nPYBq1aqxbNky/Pz82Lp1Kw0bNgQgOjraVCc6OhowdvGHh4cTFhZG586dTderVauWqTfhjj/++INJkyYVy+cghBBPIgnoheTpZHv/So/4vhqNhj59+jBv3jz69OmDs7Oz2fmbN28W+NqgoCAmT57MqFGj6NGjB82aNSuwrqIoAOj1evz8/AgICGDPnj2mgL5nzx4CAgLw9fVl9erV9O/fn6ioKOzt7QE4evQoNWvWNF0vLi6Oq1ev0qpVq0K/VyGEEP/wiGfZPzJlddlaenq60rx5c6V27drKmjVrlKtXryoHDx5U+vXrp6jVaqVnz54FLkfLyclRatWqpTRu3FjR6/WmeocOHVKioqKUqKgo5cyZM0rXrl0VLy8v02c3Y8YMxc/PT9m5c6eyc+dOxc/PT5kzZ46iKIqSmpqqBAQEKL169VIuXryorFy5UnFyclI2bNhguu/OnTsVOzs7s6VtQgghHowE9DIW0BVFUbRarTJr1iylXr16ir29veLm5qZ07txZWb9+vaIoBa8vVxRF2bZtmwIo3333nane3T8uLi5Kly5dlGPHjpleo9PplGHDhilubm6Kl5eXMmbMGLPgfP78eaVDhw6Ko6OjUqlSJWXRokVm91y9erVSvnx5i3wWQgjxpFApSm7/6RMmJSUFV1dXkpOTcXFxedTNEUIIIR6KLFsTQgghygAJ6EIIIUQZIAFdCCGEKAMkoAshhBBlgAR0IYQQogyQgC6EEEKUARLQhRBCiDJAAroQQghRBkhAF0IIIcoACehlUHp6OhMmTKBGjRrY29vj5eVFt27dOHv2LADXrl1DpVKZ/VhbW+Pn58fgwYPJzs6+Zz0rKyv8/PwYM2YMOp3OdD9FURg7dize3t54eHgwevRoDAaD6fyRI0do2bIlDg4OVK9enR9++MGsvevXr6dmzZo4OTkRGhrKsWPHSuBTEkKIskV2Wytj0tLSCA0NJS0tjblz5xISEkJcXBwLFiww7Y2uUqkAOHToEP7+/gBkZWWxa9cu+vfvj7e3NxMnTjRd8049nU5HWFgYvXv3xsPDgzFjxgAwd+5cVq1axfr168nJyaFnz574+PgwcuRIkpOTefbZZ3n77bdZsWIF+/fv55133iEoKIhWrVpx9uxZunfvzsKFC2nVqhVffPEFzz33HFeuXDHbT10IIcR9POJc8o9MWd2cZdSoUYqvr6+SmJiY71yHDh2UQYMG/evmLH379lXq16+vKErBm7jMmDFDadCggenY399fWbJkiel4+fLlSmBgoKIoinL69GmlV69eZpu1NGjQQJk1a5aiKIoyd+5cpVGjRqZzKSkpCqAcPnz4Ad+5EEI82eQJvQwxGAwsXbqU0aNH4+bmlu/88uXLcXNz4/bt2wVew9bWFo3m3/9aODo6mv5869YtIiIiaNOmjaksNDSU69evExUVRZ06dUxd7AaDgU2bNnHx4kVTfU9PT86ePcvevXtp0aIFS5YswcXFhaCgoAd560II8cSTgF6GXLlyhdjYWFq3bn3P876+vgW+VlEUdu/ezcqVKxk7dmyB9SIiIli0aBG9e/cGICoqCgA/Pz9TnXLlygEQGRlpumd2djZOTk7k5OTQv39/mjdvDsAbb7zBr7/+SmhoKFZWVqjVajZt2oS7u/sDvHMhhBAyKa4MiYuLA8DDw8NUtm3bNpycnEw/tWvXNp2rXbu2qdzGxoYePXowZMgQRo4caXbdO/UcHBwICAggIyODXr16AZCRkQEYn+zvuPNnrVZrdp0DBw6wcuVKVq9ezdy5cwGIj48nOjqaBQsWcPDgQf7v//6Pd955h5iYmOL6WIQQ4okgT+iFNHzXEBKzEkv8vu527sxt+2Xh6uY+1SYlJZnK7kyEA1i3bh1ff/216dzmzZupUKECN27cYODAgYSEhPDxxx9jZWVldt079QwGA9HR0UybNo3WrVtz8uRJ7OzsAGPwvvvPgNmkNhsbGxo2bEjDhg25desW8+fPZ/jw4YwZM4a6desycOBAAL799ltq1qzJkiVLTJPuhBBC3J8E9EJKzEokPiv+UTfjXwUHB+Pp6cm+ffto0qQJYAyqwcHBAPj4+JjVDwwMpFKlSgQHB7Nx40ZCQkIYMWIE8+fPv2c9gGrVqrFs2TL8/PzYunUrDRs2BCA6OtpUJzo6GjB28YeHhxMWFkbnzp1N16tVq5apN+Ho0aN8+OGHpnNqtZqQkBCuX79eTJ+KEKLM0qaBSgU2jvev+wSQgF5I7naPZkz3Qe6r0Wjo06cP8+bNo0+fPjg7O5udv3nzZoGvDQoKYvLkyYwaNYoePXrQrFmzAusqigKAXq/Hz8+PgIAA9uzZYwroe/bsISAgAF9fX1avXk3//v2JiorC3t4eMAbxmjVrAsax93Pnzpld/+LFi6YvJEIIkU/sBTj8NZxcBm0nQYthj7pFpcOjnmb/qJTVZWvp6elK8+bNldq1aytr1qxRrl69qhw8eFDp16+folarlZ49exa4HC0nJ0epVauW0rhxY0Wv15vqHTp0SImKilKioqKUM2fOKF27dlW8vLxMn92MGTMUPz8/ZefOncrOnTsVPz8/Zc6cOYqiKEpqaqoSEBCg9OrVS7l48aKycuVKxcnJSdmwYYOiKIqyevVqxc7OTvnhhx+US5cuKWPGjFFcXV2V27dvl+jnJoQo5fQ6RTm/QVGWdVSUT8j7mRekKHr9o25dqSBP6GWMg4MDu3fvZt68eUydOpVLly5ha2tLs2bNWLt2LV27duXatWv3fK1Go2H+/Pl07NiRxYsX07FjRwCaNm1qquPi4kJoaChbtmzBxcUFgFGjRhETE8PLL7+MRqPh3XffZdgw4zdmJycn/vzzTwYNGkTDhg3x9vZm3rx5vPTSS4BxlntaWhqffvopkZGR1K9fnx07duQbHhBCPL4Ug4JOqyNHq0OXpSMnS4dOq0en1aHLNv5Zr9Wjy9ahzzGgz879c7YBRZuMd8oG/DLWYG+4ZXZdnWJLbFYdfLPTwM7lEb270kOlKLn9p0+YlJQUXF1dSU5ONgUmIYQQ5gx6A9q07NwfLdr0HLLv/Dc9m+z0HLIzssnOyCE7I4eczLz/5twJ3lm6+9/oH5xsYqnn/SfVPXdjY5Vldi5Z68PZ2I5cTGiDe3AgXT97prje7mNNntCFEOIJYtAbyErRkpGYSWZSlvEnOe8nKzmLrBQtWanGn+z0nBJtn5d9OCHlNlPF7RBqlcHsXERKXU7HdiIipR53Vl3rdYZ7XOXJJAFdCCHKCH2OnvSETNJi0kiLyyA9PsP03/T4DFMQVwyW7ZhVa9RY22uwtrfG2k6DtZ01GjsN1rZWuf/VoLHToLHVoLG1QmNthUv2EXyiv8Mxaa/ZtRQrO7KC3iS7Tn9cfWrxlLUVams1Vho1VtZWqK0kncodEtCFEOIxoSgKmUlZpESnkhyVSkpUGqkxaaTeTiM1Jp30hAwoplht62SDnYsttk622DnbYOtsi62jDbbONtg42mDraIONgzU2jjbYOFpj45B77GCNlbXV/W9gfENw8Tf4+1O4edD8nIM3NB2EqskH2Dt6YV88b6tMk4AuhBCljC5bT/KtFBJvJJN0M5mkmykk30ol+WYKOUUYjwZQqVXYu9rh4GGPg7vxx97NzvhfVzvsXW2xc7XD3sUOW2cbyz75GgxwYQP8NRWiT5ifc68CLUdB/d5gLWH8QUhAF0KIR0QxKKREpxJ/LYmE64nEX0si8UYSKdFpD9wtbu9qh7OPI04+jjh5O+Lk5YijlwNOng44ejpg72b36LunDQa4sB52TYaY0+bnfOpC63FQ6zWwktBUFKXqU8vKymLgwIGsXbsWe3t7Ro4cyYgRI+5Zd/369Xz00UdERERQv3595s+fb8paJoQQpY1BbyD5Zgoxl+OJvZxAfHgC8eFJ5GQWbtKZSq3C2ccR1wouuJR3xtXXGZfyTjiXc8LZxwlru1L169ycokDYRtg5Mf8TuV9jaDMBqr9gzPomiqxU/Q0YNWoUR44cYceOHVy/fp3evXsTGBhIt27dzOqdPXuW7t27s3DhQlq1asUXX3zBc889x5UrV8zyhwshxKOSkZTJ7QtxxFyM43ZYLHGXEwrVXa6xscLN3xX33B+3iq64VXDBpbxT4cemS5OrO2D7OLh5yLy8QjNo+wkEPyOBvJiUmnXo6enpeHl58fvvv9O2bVsApk2bxrZt29i1a5dZ3S+++IKVK1dy5MgRAFJTU3FxceHw4cM0bty4UPeTdehCiOKiKArJt1KJPhdD1LkYos/FkBKddt/XOXk74lXFHc/K7nhUcscz0A3nck6Pvmu8ONw8Ats/gqtbzct9G0H7qRLILaDUPKGfPHmSnJwcWrZsaSoLDQ1l+vTpGAwG1Oq8v+Cenp6cPXuWvXv30qJFC5YsWYKLiwtBQUGPoulCiCdQ6u00bp6K5ubpaG6dvk1GQua/1nfycsC7qifewcYfryoe2LnY/utrHksJV41P5Gd/Mi/3qWsM5NVflEBuIaUmoEdFReHl5YWNjY2prFy5cmRlZREfH4+3t7ep/I033uDXX38lNDQUKysr1Go1mzZtMm0f+qRLT09n5syZrFmzhuvXr+Po6Ejbtm2ZPHkytWvX5tq1a1SuXNnsNRqNBm9vb1599VXmzJmDjY1NvnpqtZpy5crRq1cvpk+fjkZj/OujKArjxo3j+++/R6/X07dvX2bOnGn2JQxAp9PRuHFjunbtyqRJk0zlISEhnDp1yqzu6dOnqVOnTjF/MkIUXU5mDjdPRRN5IorIE1Ek30otsK6VtRrvqp6Uq+FNuWpe+FT3wtGjjA8HZsTDX9Pg0H/AcNe8ALfKxkBe5y1Ql4Geh1Ks1AT0jIwMbG3Nv63eOb6zv/Yd8fHxREdHs2DBApo3b84333zDO++8w7FjxwrMAa7Vas2uk5KSUszvoHRIS0sjNDSUtLQ05s6dS0hICHFxcSxYsMC0N7oq99vxoUOH8Pf3B4wTEnft2kX//v3x9vZm4sSJpmveqafT6QgLC6N37954eHiY9iufO3cuq1atYv369eTk5NCzZ098fHwYOXKkWdtmz57NyZMn6dq1q6lMr9cTFhbG7t27qVatmqncy8vLUh+REIWWHJXKjSM3uXHkJrfO3MZQQFYyja0V5Wv64Fe3HOVr+eAd7InG5jEc7y4KXbZx57PdkyErKa/cwRuemgiN3gONTYEvF8Wn1Iyhr1mzhsGDB5v20gY4f/48tWrVIj4+Hg8PD1N5r169cHJy4ptvvgHAYDBQs2ZN+vTpYwoy/zRp0iQmT56cr7ysjaGPHj2aFStWcO7cOdzc3MzOdezYkZo1azJixAgqV65MeHi4acvTO/r168eRI0c4fvy46Qn9n/VmzpzJTz/9xLFjxwAICAhgypQpvP322wCsWLGC8ePHm20Cc/nyZdq0aYO7uzuvvfaa6Qn98uXLVK9enfT0dOzs7Ir50xDiwSiKQuzleK4djOTawQgSbyTfs57aSoVPdW8q1i9PhXrl8Q72fDwnrD0MRYGwTbBlBMSH5ZVr7KHFcGg1WjZMKWGl5gm9QoUKxMXFodPpTF250dHR2Nvb5wtMR48e5cMPPzQdq9VqQkJCuH79eoHXHzduHMOHDzcdp6SkmJ5OywqDwcDSpUsZPXp0vs8MYPny5bi5uXH79u0Cr2Fra2v6/Avi6Oho+vOtW7eIiIigTZs2prLQ0FCuX79OVFQUvr6+ALz//vtMmjSJVatWmV3r3Llz+Pv7SzAXj4yiKMSExXF17w2u7rtBWmz6Pes5eTsS0LgC/g188atbHhsH6xJuaSkSewH+GAJXttxVqDImg2k/DVwqPLKmPclKTUCvX78+1tbWHDhwgNDQUAD27NlDkyZN8o3F+vn5ce7cObOyixcv0qRJkwKvb2trm69Lv6y5cuUKsbGxtG7d+p7n7wTXe1EUhd27d7Ny5UrGjh1bYL2IiAgWLVpE7969AePcBzD+P7mjXLlyAERGRuLr68uSJUvIysqiX79++QL6+fPnsbGx4fnnn+fIkSNUr16dzz//3GzLViEsIf5aIpd3X+Py39fuHcRVUK6aF5Wa+RPQpALu/q6m4aonVlaKMbvbgXlguGsJXkBreOYL8Gv0yJomSlFAd3BwoHfv3vTv358lS5Zw8+ZNZs+ezZIlSwDj07qrqyv29vb069ePt99+myZNmtCiRQsWLVpkWrduKWuHbyYzKev+FYuZvZsdr87tUqi6cXFxAGbDE9u2bTMbsw4MDGTTpk0A1K5d2/QLSqvV4uPjw5AhQ/KNfd+pZzAYyMzMJDg4mF69egHGuQ+A2Zelu+c+xMTEMG7cOLZt23bPX4YXLlwgMTGRvn37MmXKFL777js6dOhgenIXojilJ2RwaVc4l3aFk3A9Kd95tZUKv3rlqdIygMAmFXFwl9SjgLF7/cxq+HMEpEXllbsGQqfPoVY3mbleCpSagA7GyVUDBgygXbt2uLq6MnnyZF555RUA05Pe22+/zRtvvEFaWhqffvopkZGR1K9fnx07dhQ4Ia44ZCZlkR6fYbHrF4c7s/yTkpJMZXcmwgGsW7eOr7/+2nRu8+bNVKhQgRs3bjBw4EBCQkL4+OOPsbIyHwu8U89gMBAdHc20adNo3bo1J0+eNHWVa7Vasz+D8UvakCFDeOeddwqcsf7dd9+RkZFhmsfw9ddfs3fvXpYvX85HH3308B+KeOLpc/RcPxTJxe1XiDgelS+lqkqtomJ9X6q0CqRSs4rYOZftnrwHFncRNg2E8O15ZVa2EDoGWo0Bm4efva9X9KTnpOf+pJn+nJGTQXpOOpm6DDJ0GWTkZJCpy8w9ziQzO50qbkEMaTT8/jd5ApSqgO7g4MCyZctYtmxZvnP/nLv37rvv8u6775ZU07B3ezRjvA9y3+DgYDw9Pdm3b59p+MHBwYHg4GCAfF94AgMDqVSpEsHBwWzcuJGQkBBGjBjB/Pnz71kPoFq1aixbtgw/Pz+2bt1qSrcbHR1tqnNnYqOvry+rV6/G3t6er776CoDMzEz27dvHmjVrOHv2LBqNxmxSokqlokaNGty8ebPQ71uIe0mOSuX8lktc3H6FrGRtvvPlqnsR/FRlgloFPrJ/36VaThb8PR32zDJfhlb9Rej8BXhUuefL9Iqe1OxUkrKSSM5OJkWbnPvfFFKzU0jJTiE1O5W0nFTjf7PTSNfde95CYWhSMkB6+oFSFtBLs8J2ez9KGo2GPn36MG/ePPr06YOzs7PZ+X8LkkFBQUyePJlRo0bRo0cPmjVrVmDdO1+u9Ho9fn5+BAQEsGfPHlNA37NnDwEBAfj6+nLp0iWz19659p0c/e3ataNt27Z88skngHFi36lTpxg4cOADv38hDHoDN47c5OzmMCJPROU77+TlQLX2VajWrgqufjIDu0DhO+G39yEh79+v4laJ5PZTiKrQiITMW8RfOU1iVgIJWYkkaRNJzEokUZtIqjYFA/de3lfcrHQGlNtRKHo9KqsnbJXBPUhAL2MmTZrE33//TYsWLZg0aRKNGjUiNjaWRYsW8f3339O9e/cCXztkyBAWL17MoEGDOHgwb2/i2NhYU3d6fHw848ePx8vLi3bt2gEwYMAAxowZQ8WKFQEYO3asKWDf6R24w97eHg8PDwIDAwF44YUXmDJlCg0aNKB69ep8+eWXJCUlmZbACVEY2jQt57dc5tzvYaTGmD/tqTVqKjXzp2anYCrUK49KLWO995KWnUZswkUcd3yCT9gmU7lOpWazb02We/mjvboarq4ulvupUeNk44SzjTOO1k44WTvhZOOEo7UjjtZOOGoccLB2xMHaAfscNeotuzD8tAHb2CTssgzYag1Y68H+hedRUlNR3WNlz5NGAnoZ4+DgwO7du5k3bx5Tp07l0qVL2Nra0qxZM9auXUvXrl3N1offTaPRMH/+fDp27MjixYvp2LEjgNmMcxcXF0JDQ9myZYupq3zUqFHExMTw8ssvo9FoePfddxk2bFih2jts2DCysrIYPHgwt2/fplmzZmzbti1f74IQ95ISncrp3y5wYdsVdP/Y+MSlvBM1O1elevsg6VLH2LOWkJXArbSb3Eq/RXR6FFHpUUSnR3M7PZqQuMv0jzyLmy7b9Jpzju78x78OEXb3//eoUWtws3XHzdYNN1s3XG3dcLN1xcXGFVdbV1xsXHCxdcHZxgVna2ccrB1Qq/49c5whLY30xUtIXfgtyl1zg1Crse/aFecPB2NdtWpRP5Iyp9QklilpsjmLEI+v2CvxnFh7lvD9Efkmufk38qNOl+r4N/R7Ip/Gcww53Eq7SURqBJGpEUSmRRKZGsmttJtk6fOv1HHL0dI/8gwtk/PyU6SrNSz1q8EWT39QqXG388DL3gtPO0+87L3wsPPAw84TD3sP3G09cLdzx8naqdiW9RkyMkhfuozU/3ydP5C//LIxkAfL3h3/JE/oQojHgqIoRJ2N4fjPZ4g8bj4+rrGxolqHIOq9WOOJGRs3KAZiMm5zLeUa15KvcS0lnIjUG9xKu4Ve0d//AopCm6RbvB95Dmd93qS3mxUaca31aJ7yqsVrDj542HmgUZdMqFCyskhfvoLUBf/BkLsMFzAFcpehQ9BUqVzwBZ5wEtCFEKWaoijcOn2bI/87RfS5GLNz9m521Hm+BrU6Vy2bO5fl0it6bqZGcinpEleTrnI1+QrhyVfJ0BVuKa1apaacQ3kqOPnh51SBSmoHGh9ZjNv1k3mVHLygywIq1H6dCiW8plzJySHjpzWkfjEPfdRdX9ZUKuxf7orz0KFYB917Vr3IIwFdCFFq3TwVfc9A7lzOiZCXa1G9Q1CZ2wRFURRiMmIIS7xIWOJFLiVd4krSZbT6/Evv/kmj1lDRyZ8AlwD8nQPwd/anopM/vo6+WFvlpqo9txY29oeMu56Aa78BXb4CR+97X9hCFIOBzF9+IWX2HPTXzFN32z//PM4jhmF916ZN4t9JQBdClDoxl+I4tPwEN09Gm5W7VXChwet1CG5dCbVV2diKM8eQw5Wky5yPP8f5hPNcSDhPkjbpvq/zsveisksVKrtWppJrZQJdAvFzrICVuoAvOFnJsHkwnFqeV+bgBc99DbVfK543U0iKoqDdsZPkGTPRnT9vds7u6Y64jBqFde1aJdqmskACuhCi1EiKTObQihOE748wK3er4ELDN+oSFBr42AdyrV7LhYQLnI07w9n401xMuEi2IftfX+PjUI5gt2CqulWlilswVVyr4GrrWvibhu+E9b0h5a7PtcbL8Px/wclyGTbvRXvkKCkzZpB94KBZuW2rVriMGY1No4Yl2p6yRAK6EOKRy0zK4sjqU5z/85LZrHXnck40fqsewW0e3ydyvUFPWOJFTsWd4lTsCc4nnEdn0BVY31HjSDWP6lR3r0419+pUc6+Gy4ME77vpsmHHeNg3G8j9XG1doMsCqNezRPOv51y+QsrMmWT9/odZuXVIPVzGjsWuzb03lRKFJwFdCPHI6LL1nP71PMd/PktOZt5Mawd3Oxq+XpcaTwc/lvuM306/zbGYoxyPOcbp2FP/mtrUx6EctT1rU9OjFjU9a+LvHHDf9dmFEncR1naHqGN5ZZXaQtel4Bb48NcvJH1MDCmz55KxejXo82bfa4KCcBkzGrsuz8oudsVEAroQosQpisK1g5EcWHKUlOg0U7nGTkP9V2pR76VaWNs9Pr+edAYdZ+PPcvT2YY7ePkJEakSBdcs5lKOuVz3qetejjmcdvB2KuctbUeDY98b9ynNyZ8GrraHDp9BiOKhLpqfDkJ5O2sJvSfvmvygZebPx1eV8cBk+HIc330CleXz+Hz8O5NMUQpSoxIhk9i06YpZrXaVWUePpIBq/FfLYbFmakZPB0dtHOBR9kCO3D5Oec++ncGcbF+p71yfEuz71vEMo71jeco3KSjbmYD/7Y16ZZ3V4dRX4lczYtKLXk/HTGlI++xxDTN7qBJWTE84fDMCxX1/UDg+/Q5vITwJ6GZSens7MmTNZs2YN169fx9HRkbZt2zJ58mRq167NtWvXqFzZPDmDRqPB29ubV199lTlz5mBjY5Ovnlqtply5cvTq1Yvp06ejyf12rSgK48aN4/vvv0ev19O3b19mzpyJ+h9PAjqdjsaNG9O1a1cmTZpkKt+9ezdDhgwhLCyMevXqsXDhQkJCQiz3AYlHIker49hPpzm14TwGXd7mHX51y9Gyb2M8K7k/wtYVToo2mYPRB9l/ay8nYk/ccyxcjZrqHjVoVK4RDcs1ooprUPF0od9P5CH4+U1ICs8ra/SecWe0YtjitDCy/vqb5ClTzWeuazQ49uyB87ChWHl5lUg7nlQS0MuYtLQ0QkNDSUtLY+7cuYSEhBAXF8eCBQtMe6PfGa86dOgQ/v7+AGRlZbFr1y769++Pt7c3EydONF3zTj2dTkdYWBi9e/fGw8ODMWPGAMZ97FetWsX69evJycmhZ8+e+Pj4MHLkSLO2zZ49m5MnT9K1a1dTWXh4OM8++yxjxoyhe/fufP7557z00kuEhYVhY2Nj4U9LlJTrhyPZ++1hs41TnHwcafFOIyq38C/VY6ip2ansv7WPPTf/5lTcSQxK/p3EHDWONC7fhMblm9DQpxHONiW4F4GiwIF5sHU03PmCYesKLy6C2t1KpAk5ly+TPGUa2u3bzcrtnumMy0cfSVKYEiK53MtYLvfRo0ezYsUKzp07h9s/dh/q2LEjNWvWZMSIEVSuXJnw8HDTlqd39OvXjyNHjnD8+HHTE/o/682cOZOffvqJY8eMk20CAgKYMmWKaYe0FStWMH78eLNNYC5fvkybNm1wd3fntddeMz2hDx8+nOPHj7Nz504AMjIyqFu3LuvWrZOn9DIgIzGTvd8d5ureG6YytUZNyMu1aPBaHaxtS+czhVaXxaHoQ+yK2MnxmGPolPxP4l72XjT3bUEz3xbU9qxdYulRzWQmwS994ML6vLKKzeHV/4F7JYvf3pCYSMoXX5K+bBno8j4j63p1cf1kIrbNm1u8DSJP6fzXJIrEYDCwdOlSRo8enS+YAyxfvhw3Nzdu376d/8W5bG1tTV3pBXF0dDT9+datW0RERNCmTRtTWWhoKNevXycqKgpfX18A3n//fSZNmsSqVavMrrVr1y7eeecd07GDgwNXrlz51/uL0k9RFC5uv8qBJUfRpuWtsfarV57W7zfBrWIRl2FZkEExcCbuNDtubGd/1D4ydZn56vg4lKOVXygt/VpS1b1ayXSlF+TWUfjpNfMu9lajof00uJMVzkIUnY70FStI+XyO2eYp6vLlcR03FvtXXkZVQpPvRB4J6GXIlStXiI2NpXXre6/nvBNc70VRFHbv3s3KlSsZO3ZsgfUiIiJYtGgRvXv3BiAqN++yn5+fqU65cuUAiIyMxNfXlyVLlpCVlUW/fv3yBfSrV6/i4ODAa6+9xl9//UXt2rVZsGABtWpJlqjHVWpMGrsXHDDL8mbnbEuLvo2o+lTlUte9Hp0ezY4b29hxYzsxmTH5znvaeRJaoQ2tK7amqlu1R99+RYGj38Hvg0Gf+2XJzh1e/gGqP2/x22v37CXpk0/QXbhoKlPZ2eE08AOc+r8vE94eIQnohbWwMaRF379ecXMqD+8fKVTVuNzdiTw8PExl27ZtMxuzDgwMZNOmTQDUrl3b9MtJq9Xi4+PDkCFD8o1936lnMBjIzMwkODiYXr16AcYucjA+2d9x589arZaYmBjGjRvHtm3b7vmLMC0tjTFjxvDJJ58wbtw4vvzySzp27EhYWBhOTk6Fet+idFAUhQtbL7N/8TGzNeVV21amRZ9G2LuWnj3Jcww5HIw6wJ/X/uBk7Il85x01jrSs0Iq2FdtR26vOo30Sv1tOJmz6AE4szSur2By6/QhuARa9tS4iguQpU8na/LtZuf0rL+M6bhxWfgU/MIiSIQG9sNKiIfXmo27Fv3J3N84STrqrC+zORDiAdevW8fXXX5vObd68mQoVKnDjxg0GDhxISEgIH3/8MVZW5ok87tQzGAxER0czbdo0WrduzcmTJ7GzM/6S1mq1Zn8GY/f5kCFDeOedd6hTp84926zRaHjhhRcYPHgwAN999x3+/v78+uuvdO/e/eE/FFEi0uMz2L3gABHHbpnKHD0daDOwGQGNKjzClpmLTo/mz2u/s+36VpKzk83OqVHToFxDOgR0pGn5ZthYlbJJmQlX4adXIfpEXlnTwdBpNmgs11YlM5PUb/5L6n/+A1l5G8RY1w/BdfJkbBs3sti975ajMxCZkMG1uHSux6VzLTaN63Hp1PV3Y3iXmiXShtJOAnphOVlw7Wgx3Tc4OBhPT0/27dtHkyZNAGNQDQ4OBsDHxzyBRWBgIJUqVSI4OJiNGzcSEhLCiBEjmD9//j3rAVSrVo1ly5bh5+fH1q1badjQuLY1OjraVCc62tiT4evry+rVq7G3t+err74CIDMzk3379rFmzRrOnj2Lr68vNWrUMN3LxsaGSpUqERFRcGIOUbpc3Xudv74+aDZWXqNjEM37NMLW8dEHRYNi4HjMMTZd3cjR20dQMJ8HXN7Rl6cDO9Hevz2e9qV0WdXlLcYlaVmJxmNrB+Ms9rpvWeyWiqKQ9eefJE+agv6uf49qb29cxo3B4bXXLDJOrtMbuJmYyZXbqVyJSSM8Jo2rsWlExGegN+Sfw615TFMCW4IE9MIqZLf3o6TRaOjTpw/z5s2jT58+ODubL525ebPgHoagoCAmT57MqFGj6NGjB82aNSuw7p2FEXq9Hj8/PwICAtizZ48poO/Zs4eAgAB8fX25dOmS2WvvXHvEiBEANG/enJMn8/Zkzs7O5urVq/lm34vSJzsjm73fHSFsx1VTmYOHPU8Nal4qnsozdZnsuLGdjVd/5Waa+d99jUpDC7+WdKr0DHW96paeLvV/UhTYMwu2f4QpF7tnNXhjHfjUtthtdVfDSZo4Ee3OXXmFGg1Ofd7Befgw1M7FsywvJTOHS9GpXIpO4fLtNC5FpxIem0a2Lv/SwHtRqSBHX7i6TwIJ6GXMpEmT+Pvvv2nRogWTJk2iUaNGxMbGsmjRIr7//vt/7cYeMmQIixcvZtCgQRw8mLcTUmxsrKk7PT4+nvHjx+Pl5UW7du0AGDBgAGPGjKFixYoAjB071hSw7/QO3GFvb4+HhweBgcZc0kOHDqVNmzZ88803dOzYkc8++ww7Ozuef97yk3tE0d2+GMf2OXtIvZ2XtrVKqwBaD2iGnbPtv7zS8uIy4/jtyq9sufZHvhzq3vbePFO5C08HdsLN1u3RNLCwtGnwyztw7ue8suovGie/2VlmlYAhM5O0rxaQ+s1/ITuvx8W2dWtcp07GumrVIl87IU3LhagULtxK4WJUCmFRqUQl5V9JcC/WVioCvRyp7O1EJW9HKnk7EejlSEUPB+wew1z/liIBvYxxcHBg9+7dzJs3j6lTp3Lp0iVsbW1p1qwZa9eupWvXrmbrw++m0WiYP38+HTt2ZPHixXTs2BGApk2bmuq4uLgQGhrKli1bTOv3R40aRUxMDC+//DIajYZ3332XYcOGFaq9zZo146effmLMmDEMGzaMxo0b88cff5gtjROlh2JQOLnhHIdXnMCgNz4xWttbE/p+E6q2fbQz2MOTw9lweR1/Re5Gr+jNztX1qscLQS/SpHxTrFSPQQBIvAarX4Lbp/LK2k6GNuMtlos9c8tWkidMRB8ZaSqz8vXFddIn2D3X5YH+36ZrdVy4lczZyGTO30rh3M1kbidn3fd1ahX4ezoSXM6JKj5OVPFxJsjHCT93e+laLwRJLFPGEssIYSmZSVns+GKvWQ72ctW9aD8iFJdyj25Fwvn4c6wJ+4kjtw+blVurrXmqYlteCHqJyq6VC3h1KXRtN/zUDTKMq1awcYZXV0L1FyxyO11EBMkTPyFry9a8QmtrnN5/D+chH953GZqiKNyIz+DUjUTORCZzJjKJqzFp3C+y2NtYEVzOmeq+zlQt70LV8s5U8XbCzuYx+MJVSskTuhDivqLOxbDt87/JSMjtIlVBg1fr0OitelhpSv7JSVEUTsSeYM3FHzkTf9rsnJO1E10qP89zVZ7H3a7054c3c+Rb2DwwL4WrRzC89St4F/8sbiUnh7RvvyN17hcoWXlPz7ahobhOn4r1P4bL7sjRGbgQlcKJ64mcvJHI6YgkkjNy7ln3DgcbK6r7ulDD786PKxU9HLBSl66cBI87CehCiAIpisKpDec5+MNxlNwZxg7udrQb1oqKISW/7tgYyI/zvwuruJBw3uycl703Lwe/wtOBnbDTlJ4174Wi18GWkXDwy7yyoE7QbTXYF/+XEu2hQySNHYfuYpipTO3jg+ukidi/+KJZ93q2zsDZyCSOXUvg2LVEzkQmoc0peCKalVpFUDknaldwo3ZFV2pVcCXQy1GCdwmQgC6EuCdteja7vtzPtYN5S5b86pajw8hQHNxKfovTk7EnWHl+ORcSLpiVV3CqSLeq3Wjj3xZrtWVTnlpEVjKseQOu/JlX1nwYPP0ZWBXvr2hDUhLJ0z8lY9X/8grVahzf7o3LqJGoXVzQ6Q1cuJXMkfAEjlyN53REEtp/mXXuYm9NXX83QgLcqOPvRk0/F+xtJLQ8CvKpCyHySYxIZsuM3STdTDGVNXitDo3fqoe6hCcnnY8/x4rzyzkdd8qsPMA5kDdrvEULv5aPx0S3e0kMh5XPQVxub4NaA8//Fxq+W6y3URSFzF9+IfmTyRhyM0pC7iYqM2dwu2Iw2y7Ec+jKFY6GJ5Cuzb8ZzR3lXe2oH+hO/UB3QgLdCfR0RC1P36WCBHQhhJnw/TfYOW8fOVnGX+q2Tja0H9aKgMYlu7b8WvI1fji3NN9ktzuBvKVfq9K7frwwIvbD/16CjFjjsb0nvLEWKj1VrLfR3bhB0riP0O7abSrLcvPg6oAxHA8M4cDOeG4l7inw9eXd7GhUyYOGlT1oEOiBn3vJ986IwpGALoQAjEvSjvzvFMd+yptk5lHJjc7jnsKlfMnt7x2bEcuqCyvYcWO7WVY3P0c/3qrZg9YV2jzegRzgzE+w/v9An5tK1asGdN8IHkHFdgtFpyNt0fekzp6DkplJtLM3RwLqcaJBe844lCcnVoHYyHyvc3e0oVFlDxpX9qBJFU/83O0f/YY0olAkoAshyMnMYce8fVw7kDdeHtymEm0GNsfarmR+TWTkZLAm7Cd+vbKBHEPerGkvey/erN6dDgEdsVI/pl3rd5gyv43LK6vcHl7/uVgnv2WfOUP8qDGci07ncJ0uHA6sz023uyYx3pVCVWOlIiTAnWZBnjQL9qJqOWfpQn9MSUAX4gmXGpPGH9N3kXAtCQCVWkWz3g2o91LNEnky0xv0bL2+hZXnl5ttmOJo7chr1d7guSrPY2v1aLPPFQu9DjYPgqML88oa9IHnvim2zVW0qen8/eUydp25xeG6b5Pc9N45Nsq72tGymjfNg71oXNkDB1sJBWWB/F8U4gl2+2Isf07fTWZuFi8bB2s6jGpNQEO/+7yyeJyKPcl3pxdyPeW6qUyj1vBClRfpVu11nG1KrqvforRp8PMbcGlzXln76dB6nDEh+UPIytFz4HIc23afZV9EKhmaIKhu3nWvVkEdfzdCq3nTqpo3VXycpBu9DJKALsQT6sre6+yctw99tjFNqouvM8983BZ3f8vkCb9bbEYMi898z95b5pOxWvmF0rv225R3LEN7a6dGw6rnIOqY8djKBl5aAvWKvj2wNkfP/stxbDsTzd6LMWTeWRd+1/p7Www0r+5D65rlaVXNG/dSsPOdsCwJ6EI8YRRF4cTasxxafsJU5le3HE+PaWPxjVVy9Dmsu7yWNWE/ka3P21s72C2YvnXfo5an5XYQeyTiwmDFM5AUbjy2c4M3NxRpJrtOb+Dw1Xi2no5m14XbZGj1+eo4atNpmhbB0y+3oWWberJxyRNGAroQTxCD3sDf3xziwtbLprJq7avQ5oNmWFn4l//xmOMsPPk1t9JvmcpcbVz5v9pv0yGg4+M/c/2fIg/CqufzcrK7BkCP38GnVqEvoSgKZ28m8+epKLadiSYxPTtfHaesNJpeP07Lm6dp9X8v4tZnECorCeRPIgnoQjwhcrJ0bPvsL24czQuoTXrWp0G32hYdT03ISuD709/x982/TGVqlZrnKr/AWzW642Tz6DZ2sZiwTbDmdcjJMB6Xq2cM5i6Fm5sQlZTJ7ydv8fvJW0TEZ+Q775CTRbPwo7S6eoi6Ny/g2LI5bivmo8ndllg8mSSgC/EEyEzK4vdpO4m9FA+AWqOm3ZCWBLepZLF7GhQDW67/ybIzS8z2Ja/hUZMBIQMfrx3QHsSJH+CXPnBnC9dKbY3d7PfZwzwrW8/O87fZePwmR8MT8p23sVLRLPMWLXavpUHkGWz0OlROTrjOnI5Dj+4yyU1IQBeirEuOSmXzpO2kRKcBYONoTedxT+FXt7zF7hmZGsGCE19xLv6sqczZxoV3avehfUCHste9fsfe2bB1VN5x7dfh5R9Ac++5CYqicO5mMhuP32TL6eh8KVdVKmhYyYOONsnU/fIT7CNvmM7Ztn0Kt89moalQshn8ROklAV2IMiw+PJFNk7aTmWRclubo6UCXT9rjEehmkfvpDDrWX17H/y6sRGfIC07t/Dvwbp13cbG1/Az6R0JRYOsY2Pd5XlnTQfDMl6DO/+UlNTOHP09F8cuxSC5Fp+Y77+/pQJcQPzoHuWD/xSwyVv9oOqdydsZ10kQc3nhDnsqFGQnoQpRRUedi+GPaTrLTjVnX3P1d6fJJe5y8HS1yv/Dkq8w/No8ryVdMZeUdyvNB/UHU92lgkXuWCnodbHwfji/OK2s3BdqMz7fG/NzNZNYdjmDrmah8W5Da21jRsXZ5XmhYgbr+bmj/3kPSy93JuJU358H4VP4ZmgolkydAPF4koAtRBl0/EsnWWX+b1pj7VPfi2QntLLIsTWfQ8XPYT/x4cTX63HFjNWpeCu5K9xo9sH3c9iZ/EDotrO0O59flFqjgua+hSX9TlawcPdvORLP20A3O30rJd4k6FV15qVFFOtQuj4OtBkNGBsnjJ5C+dJmpjsrJCddPJuLw1pvyVC4KJAFdiDLm8l/X2DlvLwa9MV+3f0M/nh7TxiI52W+kXGfesblcTspbBhfgHMiHDYdQzb16sd+vVNGmwY8vw9VtxmO1NbyyAuq8Dhhnqq89dINfj90kJTPH7KVOdhqeqefHS40qUvWujW+0h4+QOHQo+mt5mfNsW7XCbe5sNBUrWv49iceaBHQhypALWy+z+z8HuLNJWVDrQNoNaVnsa8wNioFfLq9nxfnlpo1U1Co13aq+zhvV38TayrpY71fqZCbCyi4QecB4bO0Ab6xDCerEyeuJrN5/jb8uxNy9BwoA1X1deLWJP0/XLY+9Td6vX0WrJWXuF6R9/Q0YjF3xKjs7XMZ/jGPv/0N1j3F4If5JAroQZcTp3y6wb9ER03GNTsG07t8UtVXxBoPYjBjmHZvL6bi8bVb9nf0Z2nA4Vd2rFeu9SqW0GFjeCW6fNB7buaF74ze2plRh9cIDXIwy71bXWKnoWLs83ZoFULuCa74u85xz50n4cAi68+dNZTaNGuE+7ws0Vcro0j5hERLQhSgDjv98xiyVa90Xa9CiT6NiH2/dHbmL/5742rSuXIWKl4K70rPm/2Fj9QTkCk+OhOVPQ9wFAAwOPmyuu4SFa3XEpp42q+rlbMsrTfx5qVFFPJ3yz11Q9HrSvv2OlM8+h+zcDHDW1riMHIHTgP6S7U08MAnoQjzmjq4+xZH/nTIdN3yjLo3fqleswTwjJ4P/nvyaXZE7TWXe9t4MazSCOl51i+0+pVrCVfihAyRdAyDVpjyDsj/l4gErIC8vfQ0/F95sEUiHWuWx1ty7d0QXGUnikKFkHzhoKtPUrIHHl19iXbvwqWGFuFuRAvq5c+fYsGED27dv5/Lly8TGxqJWq/H19aVy5cp06dKFF154gaCgoPtfTAhRJIqicGTVSY79dMZU1uz/GlD/1eLd4ORSYhifH/mM6PQoU9lTFdvyfr0BZTNt673EXYRlHSD1JgCR+DJYO4MojMl5VCpoU92Ht1pWIiTArcAvU4qikLl2HUnjJ6Ck5q4/V6lwev89XEaPQmVbBvZ9F4+MSlEU5f7VjPbs2cOMGTP4448/UBQFOzs7KlWqhJubG3q9ntjYWKKiotBqtahUKp555hk++eQTmjZtasn3UCQpKSm4urqSnJyMi4vLo26OEA9EURQOLT/BibV5mdha9GlEvZdqFts9DIqB9ZfXseLcD6blaA4aBwaEDOQp/7bFdp9S7/YZdEs7oMmMASBcCWAwM4jDE1uNmi71K/BWi0ACvP59fb8hMZGkcR+R+dtGU5lVhQq4f/kFti1aWPQtiCdDoZ7QU1JSGDp0KEuXLqVJkybMmTOHTp06UaNGDdT/mH2Zk5PDkSNH2LFjBz/88AMtWrSge/fuLFiwAFfXMpolSogSdK9g3qpfY+o8X6PY7pGsTeaLo3M4FnPUVFbdvQYjGo+ivKPlUsaWNmHHd+P320s4GZKNx0oVPuRT9HZevN00gNebBeBxj/Hxf8r6ew+JQ4dhiI42ldl364bb1Mmo5YFCFJNCPaH7+/tTs2ZNpk+fTpMmTR7oBjt27OCTTz7h2rVrREREFLmhxU2e0MXjSFEUDq84yfGf87rZQ/s3pfazxTe7/GzcGWYf+Yz4LONGLipUdKv2Gm/V6IFG/WRMuzlxPZEtf/5K/5uDcFEZc+CfVaoxxfEzXmxVj66N/XG0vf9noWi1pHz2OWn/XWgqU7m54j5zJvYvPG+x9osnU6EC+saNG3n++Yf7y7dhwwa6du36UNcoThLQxePo8MqTHPspbzZ1cQZzg2Jg/aW1LD//AwbFuBba1daNEY1Glu3UrXc5cT2R73ZeJit8H/P4GGeVcTb/eas6hLX/H880rYltIdf051y6ROLAweSczetJsQ0Nxf2LuVj5+Vqk/eLJ9kBj6GWJBHTxuPnnbPZW7zWhznPFk40tLTuNecfmcig6b9Z1Xa+6jGg8Gg87j2K5R2l2JiKJb3de5tCVeOpxli+YgKPKuA95nGdz3Pr+ica+cL8nFEUh/YflJE+ZAlm5s99tbHAZMxqn9/pJkhhhMQ/Vf5aVlcVff/3FtWvXeO6553B0dCQrK4vy5Z+cMTYhSsKJdWfNg3m/xsUWzK8mXWHmoU+JzjCO76pQ8Xr1N3izRnesVGV7LXRYVAoLd1xmb1gsACGc4QvG46Ay7k5nqNQer+6/gk3hNrTRJySQNGIkWVu2mso0VavivuArbOoU7+oDIf6pyAF93bp1DBgwgLi4OAC2bt1KdnY2Xbt25dNPP2X48OHF1kghnmRnNl3k4LLjpuMWfRoW2wS4HTe28/WJBWQbjIlNnK2dGd54JI3KNS6W65dW1+PS+XbHZbafzZukFsIZ5qkmYI8xmBPUCfWbG8DavlDX1O7ZS8KQIRiib5vKHHv/Hy4TxqO2L9w1hHgYRQro+/bt44033qBq1aq89957fPrppwD4+voSEBDAqFGjCAoK4qWXXirWxgrxpLmw7TJ7vz1sOm7SI4R6Lz184hGdQcfiM4vYePU3U1mwW1XGNv0IHwefh75+aRWTksWinZfZdOIW+rsSrbdzDGOqdiIafaaxIPhZeGMdWN9/pzglJ4eU2XNI+8/Xxn3RAbW7O25z52Df6WmLvA8h7qVIY+hdunTh0qVLnDx5koyMDHx8fNi2bRvt27cnJSWF5s2b4+3tze7duy3R5mIhY+iitLv89zW2z9lj2milwWt1aNqz/kNfNzErkVmHZ3AuPm+yVqfAzrxfb0CZ3VQlNTOH5XvC+fHAdbS6vH3I3R1tGFknjvbH30GVY5wA9yDBXHf9OgkDB5Fz/ISpzLZ1a9znzcVKhh5FCSvSE/r+/fsZNWoUDg4OZGZmmp1zcXGhb9++zJgxo1gaKMST6MaRm+z8Yq8pmNd9sQZNeoQ89HUvJ13i04PTiMs0DpVp1BrerzeAzpWeeehrl0Y5OgNrD99g8e6rZluYOtpq6NmqEm9ViMDux3egCME8Y8MGksaMQ0kzLmtDo8Fl7Bic3n9PJr6JR6JIAV2r1eLhUfDMV2trazIyMorcKCGeZFFnY9gy6y/TfuY1ng4ulo1W/orczfxj80zj5R52noxt+hE1PIovIU1poSgKO8/d5uttYUQm5D10WFupeLVpAO+0qYJr3BFY8cIDB3NDRgbJ4yeQ8eNPpjKrSoF4/GcBNvXrW+LtCFEoRQro1atXZ9euXfTv3/+e53/55ReqVq36UA0T4kkUeyWeP6btRJ9tTLVapVUArQc0fahgblAMrDi/nJ/D8gJQDY8ajGv6Me5lcEna2cgk5v1xkdMRSWblnev58n77qvi520PEAVjxDGTnPl0HP1OoYJ5z9hwJAz5Ad+WKqcz+1Vdx+3QaaqcnJK+9KLWKFND79OnD0KFDadq0Ka+88goAKpWKmJgYJkyYwM6dO/nss8+KtaFClHXJt1LYPHkH2RnGrmH/hn60H9bqofYzz9RlMvfIbA5GHzCVdQx4mgEhA8vceHlMchZfbwvjj1NRZuWNKnswuFM1avjlpp6+eRhWdIbs3M1RqjwNb6z/12CuKArpy5aRPGUaaI1ry1UODrjN+BSHbq9a5P0I8aCKNClOURTeeustfvrpJ9OTg4ODAxkZGSiKQufOndm4cSNWpXg/X5kUJ0qT9PgMfhn7J6kxxu7f8jW96TK5A9aFSC9akNiMGKYdmEJ4SjgAapWavnX68VyVF4p9n/RHKStHz8q94fywJxxtTt6Et0AvRwZ3qkarat557zfqOCxrD1lJxuPK7aH7xn9dmmZITiZx5CiyNv9uKrOuUwf3r/+DdVAVS7wlIYrkoTLF/fTTT/zvf/8jLCwMg8FA5cqV6datG2+//Xa+TVtKGwnoorTQpmXz60dbSLieBIBHoBsvftoJWyebIl/zYsIFph+cSpLWeE1HjSOjm46jQRlK4aooCjvP32b+nxeJTsoylbvYa+jbNphXmvijubt34/ZpWNoOMo056qnUFrpvAhuHAu+RffQYCR8MRB8ZaSpzfLcPrh9/JFudilKnWFO/pqen4+hYuIxKj5oEdFEa6LQ6Nk3aQfQ549aczj6OvDSzM46eBQeZ+9l7cw9fHJ1jmvxW3tGXic0/oaKzf7G0uTQIj0ljzubzHAlPMJVZqVW82sSfd9sG4erwjy9DsRdg6VOQbvyc8W8FPf8A23uPeysGA2nffkvKjFmg0wG5m6rMnYN9584WeU9CPKwiP0Zv2rSJRo0aEXnXN9ehQ4dSp04d/v7772JpnBBlmUFvYPvcvaZgbudqy3OTOxQ5mCuKwrpLa5l1eIYpmNf2rMPsp+aWmWCenqXjyz8u0PObfWbBvGmQJysGtGR4l5r5g3n8ZWM3+51gXqEp9NhcYDDXJyQS/3YfUqZONwVzm8aN8dnypwRzUaoVKaBv376drl27cuPGDdLurMEE6tatS0JCAk8//TRHjx79lyvcW1ZWFu+++y5ubm74+voyZ86cAuuePn2a0NBQ7O3tqVu3Ljt37izKWxHikVAUhb3fHeHaAeOWwtZ2GrpMbI+rX9F6i/QGPd+c/A9Lzy42lbX378CUVtNwsXn8e6AURWHL6SjeWLCH/+2/bsry5uduz2dvNeDLXo2o7HOPAJ10HX7oAGm5E+XKNzA+mdvd+zPRHj5MbKfOaLdvN5U5DRqI188/oalQodjflxDFqUhd7u3btycmJoa///4bd3d3s3OJiYm0atWKKlWqsHHjxge67uDBg/nrr79YsmQJ169fp3fv3ixevJhu3bqZ1UtOTqZ69eq8+OKLjB49muXLl/Pll18SFhaGj0/h0lZKl7t4lI7/fIZDy08AoLZS8cyEdvg38CvStTJ1mXx+eCZHbh8xlXWv0ZM3qr9ZJia/XY9L5/NN5zhyNe+J3Faj5v9aV6ZHq8rYFbSdaWoULGkDCZeNxz514O1d4OCZr6piMJD234WkzJwFeuOSQbWnJ+7z52HXtm0xvyMhLKNIU2hPnjzJ5MmT8wVzAHd3d/r168fMmTMf6Jrp6eksWrSI33//nYYNG9KwYUPOnj3LggUL8gX0ZcuW4eTkxDfffIOVlRWTJ09m8+bNHDlyhC5duhTlLQlRYsJ2XDUFc4CnBrcocjBPzEpk6oFJXE4yBi2NWsOHDYbS1r9dcTT1kcrK0bPsr6us2BtOjj7vuaN1dW+GPVsDP/d/GZpIj4UfOuYFc89q0GvrPYO5PiGRxKHDzJ7KbVo0x2PBV5K+VTxWihTQ9Xo9WVlZBZ5XqVSkp6c/0DVPnjxJTk4OLVu2NJWFhoYyffp0DAaD2az5Xbt28dJLL5ktizt8+DBClHaRJ6LYvWC/6bhpr/pUa1e0pU+RqZFM3j+R2xnG3b0crR35uNkE6njVLZa2PkqHrsTz2cZzRCbkZZws72bHiC41aV39Pr1wmUmwvDPEnjMeu1WC/9sOzvmDs/bIURIHfID+1i1jgUqF84eDcR4+DJXmoXaXFqLEFWkMvX79+qxcuRJd7oSRu+n1elatWkXdug/2SyUqKgovLy9sbPImtJQrV46srCzi4+PN6l69ehVvb2/ee+89ypcvT/Pmzdm7d++/Xl+r1ZKSkmL2I0RJSriexNa7UrrWerYa9V8t2h7ZFxIuMObvUaZg7mXvzazWnz/2wTwhTcuktaf48IcjpmBupVbRu3VlVg8MvX8wz06HVc9BdO52s84VjMHctaJZNUVRSPv2O+Je7WYK5mpPTzxXLsdl9CgJ5uKxVKSAPmjQIE6ePEmnTp3YsGED58+f58KFC/zyyy8888wzHD16lA8//PCBrpmRkYHtP9Z13jnW5mZmuiMtLY2ZM2fi6+vL77//zlNPPUWnTp2IiIgo8PozZszA1dXV9OPvXzZm/YrHQ3p8Br9PycsCF9ikAq36NS7SGPeR6MOM3/sRqdnGL6WVXCrzeZvZBLgEFmubS5KiKGw+cZM3F+w1y/RWL8CN5QNaMqBjNexs7pOoKicLVneFiH3GYwdv+L9t4GHeA2JITiah33skT56SN4u9WVN8tvyB3VNPFefbEqJEFXkd+tSpU5kyZQoGgyHfuY8//pgpU6Y80PXWrFnD4MGDiY6ONpWdP3+eWrVqER8fb7YZTI0aNfD19TWb2d6gQQNee+01Pvroo3teX6vVmn0xSElJwd/fXybFCYvLyczh14+2EHc1EQDvYA9emN4Ja7sHfwrcfn0rX52Yj0Ex/rur61WPj5qNx9H68cj/cC+3EjOY+ds5Dl3J64lzttMwqFN1XmhQAbW6EF969Dnw02tw8Rfjsa2rcQKcb32zatmnT5Pwfn/012+YypwGDcRl1Eh5KhePvSL/DZ4wYQK9evVi/fr1hIeHk5OTQ+XKlenatSvVqlV74OtVqFCBuLg4dDodmtx/WNHR0djb2+Pm5mZW19fXlxo1zHeIqlat2r8+odva2ubrARDC0gx6A9vm7DEFcycfR54Z365IwXzdpbVmy9JCK7RmWMMRj21Odr1BYc3B6/x3+2WycvSm8o51yjPs2Rp4OhXy36vBABveyQvm1o7Q83ezYK4oChkrV5E08ZO8XOxurnh8+SV2HTsU11sS4pF6qK+klSpVYtiwYcXSkPr162Ntbc2BAwcIDQ0FYM+ePTRp0iRfGtnmzZuze/dus7ILFy7QvXv3YmmLEMVl/5Jj3Dh8EwAbR2u6TGyPg3vBecPvRVEUlp5dwvrLa01lz1V+nn713ketKt0plgsSHpPG9F/OcCYy2VTm42LH6OdrEnq/cfK7KQr8PhhOrzQeW9nCW7+AfwtTFUNGBkljPyJzbd7nZ92gPh7//QZNxYr/vKIQj61CBfQdO3ZQp04d0xrvHTt2FOri7du3L3RDHBwc6N27N/3792fJkiXcvHmT2bNns2TJEsD4tO7q6oq9vT39+/fnq6++YtKkSfTs2ZMffviBq1ev0rNnz0LfTwhLO7PpImd+uwAY15p3GvsU7v6uD3QNvUHP1ycXsPX6FlNZz5q9eK3aG4/lGnOd3sCKvdf4ftdls6Vo3Zr6M6BjNRwfdDOaHRPg8NfGP6us4LWfoEreE3fO5SskvPceuothpjLHPu/gOmE8Kpui58oXojQq1Bi6Wq1mxYoVpidgtVpdqF8mer3+vnXulpGRwYABA1i7di2urq6MGjWKoUOHGhuqUrFkyRLefvttAPbu3cuHH37I2bNnqVmzJl9++SVt2rQp9L0ksYywpBvHbvHH1J0ouRnNnhrUnBpPBz/QNXL0Ocw+8hn7o4yTvFSo6B/yAc9WfjxzLVy5ncrUDWe4cCtvhYm/pwMfv1SH+oH5c1rc1745sGVk3vHLyyEk70t9xq+/kTRyFEruElqVoyNusz/H4cUXivwehCjNChXQJ0+ezKuvvkqdOnUAmDRpUqEC+ieffPLwLbQQCejCUhJuJLFh9J/kZBpntNd/pTbNej/YLmdZuixmHJrO8ZhjAGhUGoY1GkHrioX/0lpa6PQGlu8J5/vdV9DlPpWrVdC9ZSX6tgsuONPbvzm2GH59N+/42a+g2SAAlOxskqd9Svr335tOa6pXw+Pbb7EODnqo9yJEaVasu609TiSgC0vITM5i/ag/SL1t3OOgcgt/nh7dBlVhZmrnSs9JZ8r+SZxPMCZGsbGyZVzTj2hUrrFF2mxJ12LTmLL+NOdu5j2VV/J2ZHzXOtSp6Fa0i55fDz91g9yZ/rSbAk9NAEAfFUVC/w/IPpKXBtf+lVdwmzUDtUPRd7AT4nHwUJPiUlNT+fPPPwkPD8fW1paAgAA6d+6Mvf2DTfoRoizQ5+jZMnO3KZh7BXnQblirBwrmKdpkPtk3gSvJVwBw0DgwscUkankWLQHNo2IwKPx44Dr/3X4Jrc4YeNUq6NGqMn3bBmFblKdygPCd8PObecG8+VBoMx4A7Z69JHwwEMOdRFQ2NrhNnoRDr56P5XwDIR5UkQP62rVr6devH8nJydx5yFepVLi4uLBw4UJef/31YmukEKWdoij8/c0hos/FAuDgbs8zH7fF+gEmeSVkJTBh78dEpBrXSLvYuDC55VSC3B5s7P1Ru5WYydQNpzl+LdFUFuDpwMRX6hb9qRzg5hH434ugN24NS71e0GkOCpC24D+kzPrMuIQNsKpYEY9v/4tNSEjR7yfEY6ZIXe4HDx6kdevWuLi4MHjwYOrUqYNer+fMmTP85z//ITU1lb1799KkSRNLtLlYSJe7KE4nN5zjwBLjeLeVjRUvfvo0PlW9Cv362IxYJuz9iFvpxjSkHnaeTG01DX/nAIu01xIURWHTiVvM/f08Gdq8CbFvNg+kf4eq98/09m/iLsLiUMiIMx5XewHeWIshPZPEYcPJ+uNPU1Xbtk/h/tVXWHkUYaKdEI+xIgX0F198kUOHDnHixAnK/2M3oujoaOrXr0/r1q1Zs2ZNsTW0uElAF8XlxtGb/DFtl2lGe8dRrQkKLXwa1uj0aMbv/YiY3LzsPg7lmNZqOuUdfS3SXktISs9mxm9n2X0+xlRW3s2OCV3r0qiyx7+8shBSbsL3LSE5N7tbYBvo+Qc5V64T3/c99OHhxnKVCudhQ3EeOgSV1UN8eRDiMVWkLve9e/cyePDgfMEcoHz58rz//vssXLjwoRsnRGmXGJnM9tl7TMG84Rt1HyiY30y7yfg944jPMo77+jr6Ma3Vp3g7eFukvZaw/1Is0zacIT4t21T2XH0/hj9bE8ciZMQzk5Fg3DntTjAvFwJv/UrGpj9JGjkaJTMTyM369tVX2LV//LeNFaKoivSvLT09nXLlyhV4vly5ciQnJxd4XoiyQJum5c/pu0wbrlRu4U/jN+sV+vWRqRGM3/sRCVkJAPg7BzC11XQ87B7yibaEZOXo+c/WMNYczMuL7upgzdgXatOuVsG/HwotOwNWPQ+xZ43H7lVQ3viV5E/nkv59Xgpc67p18fj2v2gCHp/hCSEsoUh5IytXrsz27dsLPL99+3YCAx/fnZ+EuB+D3sC22XtIvpUKgEclN9oNaVnoGe03Uq7z0Z6xpmBeyaUyn4bOfGyC+aXoVPp8e8AsmDcP9mLVB62KJ5jrc2DN6xCZu3e8Yzn0z64irs9Qs2Du8MbreK9fK8FcCIoY0N966y3Wr1/P5MmTzXYw02q1TJo0iQ0bNvDGG28UWyOFKG0O/nCcyOPGbT7tXGx55qO2WNsXbpOUa8nX+HjPOJK0SQBUcQ1iWuinuNo+WFrYR0FRFH46cJ13vzvA1Rjj8jxbjZoRXWrwRc+GeDoXwwZIigK/9oNLm4zHti5k1/+cmDc+IPvwYWOZjQ1un83Cbc5sVLJMVgigiJPisrKyaNu2LYcOHcLBwYEqVYz7DV+9epWMjAwaNmzI33//XarXo8ukOFFUl3aHs2PuXsCYo/25qR3xq124p9Lw5HAm7P2IlNy9zIPdqjKl5VScbJwt1t7ikpCmZdqGM+y7FGcqq1remSmv1qOyj1Px3WjrWNg7CwDFypZMjyEkfvaTae9yK19fPL5biE2DB8u+J0RZV6QxdDs7O3bu3Mns2bNZs2YNV65cQVEUgoKC6NatG6NGjSrVwVyIooq9Es/uBQdMxy37Ni5yMK/mXp1JLabgZFOMwdBCDl+NZ9LaU2YT395sHsiAjlWLniTmXvbPywvmqEhLak/Kf1eZTtu2aoX7N//BytOz+O4pRBkhqV/lCV0UUmZSFutGbCYtLgOAGk8H02Zgs0JlIftnMK/uXoNJLafgaO1o0TY/LJ3ewHc7L/PDnnDu/KZwd7Rhwst1aFm1mGfin14Na98yHaZcqUnqjlTTsdOA/riMHYNK85Az54Uoo4rlX4YhNzvTP/1zH3MhHld6nYGtn/9lCuY+1b0Ifb9JoYL5teRrj2Uwj0rKZOLPpzgdkWQqaxbkycRX6uLpVAxj5Xe7sg3W/5/pMPWsN6n7jMFc5eCA+9w52L/wfPHeU4gypkgBXafTMWHCBFatWkVUVNQ9t0lVqVTocse8hHjcHVx6jKgzxqQpDu72dBrTBqtCdDXfSLn+WAbz3edvM23DGVKzcset1SoGdKhK95aVUD9AbvpCiToOP74MBuPyv/TzjqTsM+5VrqlSBY/vv8O6WrXivacQZVCRAvr06dOZNWsWLi4uNGzYUMbLRZkWtusqp3+7AIBao+bpsW1w9Lz/zl0RqTf4eO9HJGcbczJUc69W6oN5ts7Af7Ze5McDecvR/NztmdqtHrUfJg97QRKuwopnIds4Yz7zmh1Je90AFXadnsb9y3moZUhMiEIpUkBftmwZTZo0YcuWLbi6lv6lNkIUVdzVBP7+z0HTcau+jSlf4/5jx5GpkYzf8xHJuUvTgt2qMqnF1FIdzG8lZvDxTyc5fytvq9N2tcrx0Yu1cS7kkrwHkh4LK56BdGPKW220DQk7PAE1zqNG4PzhYFQybCdEoRUpoN+6dYtRo0ZJMBdlWlaKli0zdqPLNg4p1egYRM1nqt73dVHpUYzf+xGJWuNuY1Vcg3KXppXe2ey7crvY03K72K2tVAx5pgavNvG3zNaj2enGLHAJlwDISdQQv8ULlZMbHgskhasQRVGkgB4QEEBqaur9KwrxmDLoDWyfu4fUmHQAvKt60ur9pvcNbjEZMYzfM46E3NzslV0qM6XVtFK7zjxHZ+A/28JYvf+6qayihz3TX69PdV8LdXXrdShrXkd185DxMF1N/O9eWFWphed336KpXNky9xWijCtSf9a7777Lt99+S1JSUjE3R4jS4ejq03mZ4Fxt6TSmDZr7bP8ZnxnH+L0fEZtp3BM9wDmQKa2m42JTOseAY5Kz+GDpYbNg3r5WOZa+38JywVxRUNa/i+rSZgAM2Sri/vDCpn1XvH/9RYK5EA+hUE/oEydONDvW6/Xcvn2bGjVq8Nxzz1G+fHms/rFdoUqlYvLkycXXUiFKyLVDkRz76TQAKrWKjiNb4+T972PfiVmJTNj7MdHpxi8BFZwqMLXVtFKbzvXglTg++fkUSbkby2isVAzpXJ1uTQMs08WeS79+KFZnfgBA0UP8Nm8cPpiMU//3LXpfIZ4EhUosU5T15CqV6p7L2UoLSSwj7iU5KpV1IzaTnW4MdM16N6D+K7X/9TWp2al8tGcs11OuAVDeoTwzWs/C097L0s19YAaDwpK/rrBo1xVTopjyrnZMfz3EMrPY75L9wzBsrs4zHSccqIjDRyuxa9PGovcV4klRqCf0nTt3WrodQjxyOVodW2buNgXzyi0CCHm51r++JiMng0n7JpqCuZe9N9NCZ5TKYJ6ckc2kdafZf1cu9pZVvfjklbq4OthY7L6KwUDmZ+9hn/G9aZAvNbwqLt9uk13ShChGhQroTz311D3LDQaD2dN7REQEvr6+aCQ1o3jMKIrCnm8OkXAtCQC3ii60/bDFv3YDZ+mymHJgEpeSwgBwt3VnWqvp+Dj4lESTH8iFWymM+/EEUUmZAKhV0K9dML1bVyn+RDF3MaSkkDKyBy7em1DlrnzLyqiH49f7UDuW3iV8QjyOirzI87///S8VKlTg6tWrprKJEyfi4+PD6tWri6VxQpSU81suE7bT+HdZY6eh05g22DgUvPY6R5/DjEPTORd/FgBnGxemtJqGn1OFEmnvg/jtWCTvfX/QFMzdHKyZ16sx7zwVZNFgnnP5MvHdnsbZbTNqa2P/fo5tQ2xnHpNgLoQFFCmgr1mzhg8++AAPDw+z8meeeQZ/f3969OjBtm3biqWBQlha7KV49n572HT81MDmuAe4FVhfb9Dz+ZFZHI85BoCDxoHJLacQ6FLJwi19MNk6A7N+O8v0X86SrTPut1CrgivL+regaZBldyvL3LKFuJe74FbrGFYOxnsbXOtiPXIvKnUx7s4mhDAp0m5rLVq0QK1Ws3PnTmxszMfecnJyaN26Nfb29qV67F0mxQmArFQta4dvJi13vXmd56vTql+TAusbFANfHpvHzojtANha2TK55TRqef77WHtJi0nOYtxPJzgbmWwqe6WJP0OfqYGNxnLZ1xSDgdQv55P6xWy8usRiW9643ariGoTq/UPg4HGfKwghiqpI/7LPnz9Pr1698gVzAGtra3r16sXJkycfunFCWJJiUNj5xV5TMC9X3YvmbzcsuL6i8N2phaZgrlFr+KjZ+FIXzI9fS6D3wv2mYG6rUTPh5TqMfr6WRYO5IS2NhH7vkTp7Nh5tE/KCuWM5VG9vk2AuhIUVafaaRqMhMTGxwPPp6emy05oo9Y6vPcuNo7cAsHOxpePo1v+6g9rK8yvYFL4RADVqRjYeTQOfgr8AlDRFUVhz8AZf/nkRvcHY8ebrZs/MNy2Y9S2XLjyc+D590YWF4do8GfsqxvF6xdoRVY/N4F7JovcXQhTxCb1JkyYsWrSI9PT0fOcyMjJYvHgxTZoU3G0pxKN281Q0R1bl9iKpoMOIUJy8Cp6oteHyen4Ky5vsObjhEFr6tbJ0MwstK0fP1PVnmPv7BVMwbxrkydL3m1s8mGft3EnMcy+gCwvDsXYqTnWNO6ehskL1+s/gV3q+9AhRlhXpCX3UqFE8/fTTNGnShPfee4/q1aujUqm4ePEi3333HZcvX2b+/PnF3VYhikV6fAbbZ+9ByQ18jd6sR8X6vgXW33Z9K4vPLDIdv1f3fToEdLR4OwvrdnImY1af4MJdu6T1Cq1M/w5VsbLgLHZFUUj75r+kzJgJBgN2lTJwbZE3Zs/z/4Wqz1js/kIIc0UK6O3bt2fx4sV8+OGHDB8+3LRWV1EUHB0dWbhwIZ06dSrWhgpRHAx6A9vn7CEzOQuAivV9afhanQLr77+1jwXH876cdq/Rg+eDXrR4OwvrxPVExv14gsR043i1nbUV47vWoWOd8ha9ryEzk6QRI8n85VcAbHy0eHRIxrRsv814aNTXom0QQpgr0iz3OzIyMtiyZQtXr14lJyeHypUr06lTJ9zc3IqxiZYhs9yfTAd/OM6Jtca1446eDrz6RRfsXe3uWfdk7Ekm75+IzmCcD/JClZfoW7dfqck5vu5wBHM2nzd1sfu52zPrzQZULW/Znd10EREkvNuPnLPGz9HKJQefN9NQK7lDcPV6wcvLoJR8TkI8KR4qpZuDgwNdu3YtpqYIYVk3jtw0BXO1lYqOo1oXGMwvJV7i04NTTcG8nX8H3q3bt1QE8xydgbm/n2f9kUhTWeMqHkx/LcSiKVwBtPv2k/B+fwwJCQBYedji012PWpsbzCu3hxcXSTAX4hGQHK3iiZAam86OeXtNx816N6B8Te971o1MjWTy/olk6owztZuWb8rgBh+iVlluyVdhJaRp+eink5y4nrfK5K0WgQx8uhoaKwuuL1cU0pcuI/mTSZC76ZJVFX98Xs9EHX/FWMmnDryxDjSW/VIhhLg3CeiizNPn6Nn2+d9oU43jzJWaVaTuizXvWTcuM46J+8aTkm2cYFbLszajmoxFo370/1TColIY/b/jROeO/9to1Ix9oRZd6ls23ayi1ZL00cdkrP7RVGbbrg2ez6SiuvybscDZD3psBrvSuV2sEE+CR/9bSggLO7T8BDEXjTuMOfs4FrjpSmp2Kp/sG09cZiwAlV0qM6H5J9ha2ZZoe+9lx9lopqw/Q1aO8enYy9mWWW/Wt/iWp/rbt4nv+x45x46Zypw+GIBLw9uoDq4yFtg4QfdN4Opv0bYIIf6dBHRRpl07GMGpX84DoNaoeXp0G2yd8gdorS6LqQcmEZEaAUB5R18mtZyCo/Wj3UTEYFBYvNu4f/kdtSu6MvON+ni73Hv8v7hkHztOfL9+GKJvA6Cys8Ntzuc4lL8Bf3xsrKSygtfWgG99i7ZFCHF/Fhl00+v1XL582RKXFqLQUm+nsfPL/abjFn0a4V01/6YkOoOOWYdncCHhAmDcBnVKy6m42z3aVKWZ2TrGrzlpFsyfDfHj67ebWDyYp//4E7GvdjMFc6sKFfD6ZT0ONVTwx9C8irLWXIhSo0gB3crKiv/9738Fnl+2bBmNGjUqcqOEeFh3xs2zc9dnV24RQO0u1fLVUxSFr47P58jtI4Bx57RJLadQ3rHgRDMlISY5i/cXH2LHudynYxUMeroaE1+ug+2/pKd9WEpODkkTPyFp+AjINn52Ns2b4b15IzbumfDzW0DuStfWH8tacyFKkUJ1ud+8eZPt27ebjhVF4a+//iInJydfXYPBwMqVKzEYDMXXSiEe0MEfjhNzKR4Al/JOPDW4+T3HzZeeXWLabMVabc345hOp7FqlRNv6T2cikxjzv+PEpxkDqoOtFVO7hdCq2r1n5RcXfUIiif0HoN2btxrAsff/4Tp5Eqq0SFj1POTO/KduD2g/1aLtEUI8mEIlltFqtVSrVo3IyMj7VeXO5Xr06MHy5csfvoUWIollyq5rByP489PdgHHcvOuszngH5+9q/+Xyer7PTemqRs3opmMfeX72LaejmLbhjGn/cj93e2Z3b0gVHyeL3jfn3Hni3+2L/sYNY4G1NW7Tp+HYoztkJsL3LSHOOCRB4FPQ60/QPPrJgkKIPIV6Qre1tWXdunWcOHECRVF47733ePfdd2nevHm+ulZWVpQrV46nn3662BsrxP2kxtxj3PwewXx35C5TMAfoH/LBIw3mBoPC97uu8P3uvPHyBoHuzHijPm6Oll3XnblpM4lDhqJkGp++1d7eeHy3ENsmTUCnhdUv5wVzrxrw5noJ5kKUQoWe5d6oUSPTuPjevXvp27cvzZo1s1jDhHhQep2BbbP33DVu7n/PcfPjMcf58ugXpuM3q3fnmcrPllg7/ykrW8/UDafZfva2qezFhhUY9VwtrC24f7liMJA6ew6pX+blqrcOqYfnokVY+fmCosAv78J1Y28Hjj7Gteb27hZrkxCi6Iq0bG3JkiXF3Q4hHtrhFXetNy/nxFOD8q83v5J0mZmHpqNTjCldO1d6hrdqdC/xtt4Rl6pl1KpjnM/dKU2lgg87VefNFoEWTTNrSE0l8cMhZG3Zaiqzf+UV3D+bicre3liwcyKcXmn8s8Ye3voN3CtbrE1CiIdT5HXoZ86cYc2aNdy6dQutVpvvvEqlYtmyZQ/VOCEK68aRm5xcfw4wjpt3HBWKrZN5V3V0ehST939iSuna3LcF/UM+eGT52cOiUhi56jgxKcbMbw42Vkx9zfKT33Th4cT36YsuLMxYoFbjMv5jnN67a+OZY4vhr2m5r1DBq6ugYlOLtksI8XCKFNC3bt3K888/f89Z7ndIQBclJS0unZ3z9pmOm/VugE9VL7M6ydpkJu2bSJI2CYCaHrUY0XgUVirLLQH7N39fjGHiz6fIzDZmfivvasfsHg0JLmfZndKydu0i4YNBKMnGfctVbq54fPM1dm3a5FW6shU2vp93/Mw8qNnVou0SQjy8IgX0SZMmYW9vz8KFC2nevDn2d7rohChhxv3N95KVauwlCmxakbov1DCrk5WbBe5W+i0A/J39Gd984iNJ6aooCv/bf52vtlzkzvqS2hVd+eytBnjeI4Ndcd43beFCUqbPgNwlpZpq1fBcvAhN5bu60W+fhp+6Qe4uczQbAs0/tFi7hBDFp0gB/eTJk4waNYq33367mJsjxIM5uvo00ediAHDycsiXp11v0PPZ4ZmEJRq7lz3sPJnUYgrONpZ9Er4Xnd7AnM3m254+Xac8H3etg50lk8VkZpI4eiyZ69aZyuw6d8L9y3mone/6HFJuwcrnQGscz6f6S9B5jsXaJYQoXkUK6La2tvj5+RV3W4R4IJEnozi25jQAKrWKDiNbY+ec95SrKArfnPwPR24fBnKzwLWYgreDT4m3NS0rh49/OsnBK/GmsnefCqJvuyCLjuHrbt4ioW9fck6dNpU5DxuK8/BhqNR3zaDXphkTx6QYc9nj1wReXQnqRzMkIYR4cEVaE9O5c2c2btxY3G0RotAykjLZMXevKQtpkx4h+fY3//Hi/9hy/U8ANGoNHzUbTyXXSiXcUriVmEm/RQdNwdzaSsWkV+vSr32wRYO59tAhYrs8ZwrmKgcHPL5diMvIEebBXK+Dn9+A6OPGY7dK0P03sHm0G9MIIR5MoZ7Qr169anbcr18/XnzxRd577z169epF+fLlsbLK/02+SpVHm0JTlE2KQWHnF/vITDLODq9Y35f6r9Q2q7Pl2p+surDSdDy04XDqeYeUaDsBzkYmMXLVcRJz18a7Olgz680G1A+07Fru9BUrSRo/AXInrloFBOC5eBHWNf+xD7yiwO+D4dJm47Gdm3GtuVM5i7ZPCFH8CpX6Va1W53uSuPOygp4wVCoVOp2uGJpoGZL69fF1/OczHFp+AgAHdzu6zXsee7e83ceORB9m2sEpGBTj5K8+dfrSNfjlEm/njnPRTF57Gm1uGtcATwfm9GiIv6flnnyV7GySJ35C+vIVpjLb0FDcv/kaK497fInYOxu2jjL+WW1tTOlauZ3F2ieEsJxCPaH/3//93yNbqyvE3aLPx3J45UnjgQraDWtlFswvJV5i1uEZpmD+YtBLJR7MFUVh5d5rLNgaZiprUMmdmW/Ux9XBcmlc9bGxJLz3PtmHDpvKHPu+i+uE8ag09/infnZNXjAHeOl7CeZCPMYKFdCXLl1q4WYIcX9ZqVq2z9mDYjD2DjV8rS4VQ/K2OY1Oj2LKgUlo9cYlbK38QulTp2S397zXTPYuIX6Me7G2RdO4Zp86RUKfvuijoowFtra4z5qJw2vd7v2CG/tgXa+843ZTIKTXvesKIR4LRc4UJ0RJUhSF3V8dIC02HYDytXxo9GZd0/mU3MQxybmJY2p51mZYoxGoVZYLov+UnqXj4zUnOXA5zlTWr10QfZ6y7Ez2jHXrSRw1CrKMX2TU5cvjuehbbBo0uPcL4i/D/16E3C8+1H8b2oy3WPuEECWjSAG9cuXK//oLSqVSYWtrS/ny5WnZsiUjRozA3V02dBBFd3ZzGNcOGpdU2Trb0GFEK9RWxmCt1WuZdnCKWeKYj5tNwMbKsruU3S0mOYvhK49y+XYaYJzJ/nHXOjxTz3LLOxWdjpRPZ5C28FtTmU2jRngs+hYrnwKW5qXHwcoukJm7fK5yB3h+oTGJvBDisVakgB4UFMTx48dJTEzEycmJoKAg7O3tuXTpEvHx8djY2ODu7s61a9fYtWsXq1at4siRI3h4eBR3+8UTIO5qAvsXHzUdtxvSEicv48QyvaJnzpHPuZBg3N7T3dadT0o4cUxYVAojVh4jNjdbnYu9hllvNqBBJcv9fTckJpIwcBDa3X+Zyhy6v4XbtKmobAvIOJeTBau7QsIl47F3bXj9Z9CU3BcfIYTlFKk/ctiwYSQnJ/Ppp58SFxfH8ePH2bdvHzExMXz77bcoisLy5ctJT09n9erVxMTEMHXq1OJuu3gC5GTmsO3zvzHkzhSv+0INAptUBIzd8ItPL+JAlHH/c3uNPRNbTManBBPH7LsUS//Fh0zBvIK7Pd/1bW7RYJ5z4QIxz7+QF8w1GlynT8Pts1kFB3ODATb0hoi9xmOn8tBjE9i7WaydQoiSVahla//UpEkTatasyQ8//HDP83379uXMmTMcOHAAgKFDh/Lbb79x5cqVh2ttMZJla4+HnfP2EbbTmAfBK8iDrrM6Y5WbJnXD5fUsPrMIALVKzcTmk2hYrlGJtW3DkQg+33Qefe4kvbr+bnz2VgPcHS33xJv5++8kfjgUJSMDALWnJx4Lv8G2RYt/f+HWsbB3lvHP1o7wzl/g19Bi7RRClLwiPaGfOXOGli1bFni+cePGnDx50nRcr149ou7MvhWikMJ2XjUFc2s7DR1HtTYF8z03/zYFc4BB9T8ssWBuMCh8vTWMmb+dMwXz9rXK8VXvxhYL5orBQMrsOST0fc8UzK3r1sX79033D+ZHFuYFc5Uauq2WYC5EGVSkMXQfHx+OHj1a4PmjR4/i5uZmOo6Li5NJceKBJEUm8/d/D5mOWw9ohquvcVz8XPxZvjiat2nIm9W70zHw6RJpV7bOwNT1p9l6JtpU1qNlJQY+XQ212jITywypqSQO/pCsrdtMZfYvd8Xt889Q32+nw7DNsOmDvONnv4Lqz1uknUKIR6tIT+gvv/wyS5YsYd68eWbZ4BRF4fvvv2fJkiW89NJLAFy7do1vv/2WJk2aFE+LRZmny9azbfYedFnGv1vVOwRRta1xi8/I1EimH5hKjsGY0rRDwNO8VaN7ibQrOSObIT8cMQVztQpGPleTwZ2rWyyY51y+QuzzL+YFc7Ualwkf4/7V/PsH81vHYM3rkJtkh5YjoekH//4aIcRjq0hj6CkpKbRp04ZTp07h7OxM5cqVsbW15fLlyyQlJVGrVi12796Ni4sL9vb2qFQq/vrrL5o3b26J91AkMoZeeu399jBnNl0EwK2iC6/M6YK1nYbErERG/zWC2xm3Aajv3YCJLSahUVs+ncKtxAyGrTjG9TjjOng7ayumvlaP1tUtNwEvc+s2Egd/iJKaCoDKzRWPb77Grk2b+7846QYsagZpuT0JtV4zdrWrS25dvhCiZBXpX7eLiwsHDx7ks88+o3r16oSHh3Pq1CkqVqzI1KlTOXToEB4eHiQnJ9OvX79SF8xF6XXtYIQpmFtZq+k4qjXWdhqydFlMOzDFFMwru1RmbNOPSiSYn7uZzLvfHTQFcw8nG755p4nFgrliMJAy70sS3uljCuaaGtXx2bypcME8M8m41vxOMPdvCS8vk2AuRBlXpCd0S8nKymLgwIGsXbsWe3t7Ro4cyYgRI/71NdeuXaNOnTps3LiRtm3bFvpe8oRe+qTGprN26Ca0acadyVr3b0qtZ6uhV/TMODiNQ9HGMXUvey8+bzMHT3svi7fp74sxTFhziqwcPQCBXo580bMRfu736e4uIkN6OolDh5G1+XdTmV2XLrjPm4vasRCbuuiyYeWzEL7DeOwRDO/uB0fLf1ZCiEerUI83BoMB9V3f7g0GQ6Eurn7AJ4JRo0Zx5MgRduzYwfXr1+nduzeBgYF061ZAPmpgwIABpKenP9B9ROlj0BvYMWePKZhXbhFAzWeqoigK351aaArmDhoHJjafXCLB/OdDN5i7+Ty5E9lpEOjOrLca4GJvbZH76cLDiX+3L7qLuZu6qFS4jBmN06CBhUsdqyjwa9+8YO7gZdwKVYK5EE+EQgV0a2trli9fTvfuxslHGo3mvr9gHnT71PT0dBYtWsTvv/9Ow4YNadiwIWfPnmXBggUFBvSVK1eSmtslKR5vR/53iujzsQA4+Tjy1KDmqFQq1l9ay+bwTQBoVBrGNfuYSq6VLNoWg0Hh621hrNh7zVT2dJ3yTHi5LjYW2mAla8dOEgYNRklOBkDl4oLHgq+w69C+8BfZNQlOLTf+WWMHb/0KnlWLv7FCiFKpUAG9TZs2lCtXzuy4uDebOHnyJDk5OWbr20NDQ5k+fXq+HgKA+Ph4Ro8ezZYtW6hTp06xtkWUrMiTURz/+QwAKrWKjiNDsXWyYc/Nv1lydrGp3uAGQwjxrm/RttxrWVqv0MoM6FDVIjPZFUUhbcF/SJn1mfEJG9BUq4bHou+wDqpS+AsdWwy7p+QeqOCVleB/n/XpQogypVABfefOnWbHK1eupEKFCsXakKioKLy8vLCxyUvMUa5cObKysoiPj8fb29us/vDhw+nduze1a9cu1naIkpWZlMXOL/ZCbrd20571KVfdm7NxZ5h7dLapXvcaPWkX8ABPq0WQkpnDmNXHOX4tETAuSxvepSbdmgZY5H6GtDQSh40ga/NmU5nds8/gPu8L1E5Ohb/Q5T/ht/fyjjvPhVqvFGNLhRCPgyJNEW7RogV9+vRh0qRJxdaQjIwMbP+Rh/rOsVarNSvftm0be/bs4cyZM4W+vlarNbtOSkrKQ7RWFAfFoLBj3l4yErMAqFjfl5CXaxnXmh+cis5gHLJ5OrATb1R/06JtiUrKZPiKo4THlsyyNN3V3PHysLzxcueRI3D+cDCqB5l7EnUCfuoGinHSHs2GQIuhxd1cIcRjoEgDgjExMVSsWLFYG2JnZ5cvcN85dnBwMJVlZmby/vvv8/XXX2N/v8Qad5kxYwaurq6mH39//+JpuCiykxvOEXncmBLY3s2OdsNakpSdxOT9E0nLMW5D2sCnIQNCCjkprIguRqXQ97sDpmDu7mjDf95ubLFgnrV9BzHPPW8K5ioXFzyXLsFl6JAHC+bJEbDqOcg2flbUfAU6z/n31wghyqwiBfSnnnqKX375heJc8VahQgXi4uLMJtJFR0djb29vlkb20KFDXL16lVdffRUnJyeccrsmn332Wfr371/g9ceNG0dycrLpJyIiotjaLh7c7YuxHF5xwniggvbDWqF2UuVbaz6myTiLrjU/cDmOAYsPEZ87u97f04Hv+jajdkW3Yr+XYjCQ8sU84nu/jZLbQ6SpVg2fTRux69jhwS52Z615qnEPeCo2h1dWgNqqeBsthHhsFOk35QsvvMBHH31E1apVadu2LeXKlcPKyvwXiUqlYvLkyYW+Zv369bG2tubAgQOEhoYCsGfPHpo0aWI2Ia5p06ZcunTJ7LVVq1Zl0aJFPP10wfm8bW1t83Xpi0dDm5bN9tl7MOiNXwgbvFoH3xAfZhycxqUk41Orl70XE1tMwsHa4d8u9VA2Hr/JjF/Pmu2W9vlbDXCzwAYrhtRUEocMJevPLaayIo2XA+i08OPLEJM75OQRbJzRbm2ZtfFCiMdDkRLLFGZ9uUqlQq/XP9B1+/fvz549e1iyZAk3b96kd+/eLFmyhFdeeYXo6GhcXV3v2c2uUqnYuXOnJJZ5DCiKwtZZfxO+/wYA5Wp488L0jnx39ls2h28EjGvNZ7b+3GLL0xRF4ftdV1i0K28736dq+jD51XrYWRf/E27OpUskvNsP3Z3tgx90ffndDAZY3wtOrzIeO3gZE8d4Bhdvo4UQj50iPaH/c9Z7cZk7dy4DBgygXbt2uLq6MnnyZF55xThb19fXlyVLlvD2229b5N6iZJz745IpmNs62dBhZCi/hv9iCuZWKiuLrjXX6Q3M2niO347dNJW93iyAIc/UwMoCy9Iyf/+dxCHDUHKTH6ncXI3ry9u1K9oFd3ycF8w19tB9owRzIQRQylK/liR5Qi958eGJrB/1O/ocY6bBTuOe4qb/NT47PNNUZ2jD4bQPeMDx5EJK1+r4+KcTHLgcbyr7sHN13moRWOyT7hS9npTPZ5P21QJTmaZmDTy/X4QmMLBoFz38Td5WqCo1vLEearxYDK0VQpQFhZoUN3/+/AfuPr9bTk4Oc+bI7NsnWU5mDls/+8sUzOs8V53Mqilm+5p3r9HTYsE8LlXLgCWHTMHc2krF1Nfq0b1lpWIP5obEROL/r7dZMLfv+hLev/5S9GB+4RfYPCjv+NmvJJgLIcwUKqAvXbqUOnXq8OOPPz5QYM/MzGTx4sXUqFGDFStWFLmR4vG3Z+Fhkm8Z0/R6VXGnYrdy+fY1t9Ra8/DYNPouOkBYlPH+znYa5v9fY56u41vs98o+c4aYZ59Du2u3scDKCtdPJuK+4CvUDkWc4BexH35+M29f81ZjZF9zIUQ+hQrohw8fpnv37vTu3Rt/f3+GDh3Kpk2biIyMNKunKArXr19n1apV9O3bF19fXwYOHEj37t05dOiQRd6AKP3CdlwlbOdVAKztNDT5MIRpRyaRmmMMsA18GjKw/iCLrDU/cT2R978/SHSSMXlNeVc7vn23GQ0qeRT7vTLW/EzsS13R5y6JVHt64vW/VTi916/o7y0uDFa9ADpj+6nbAzp8WkwtFkKUJQ80hh4eHs7s2bNZunQpWVnGXzA2Nja4uLig1+tJSkpCURQURcHe3p63336bcePGFXsSmuIgY+glIzEymXXDN6PTGnt2Wg9tyveqb0zL0yq7VGZG688ssjxt+9loJq87TbbO+GRbrbwzc3s2wsu5eJcvKtnZJE+eQvrSZaYy6wb18Vi4EE0Fv6JfOO02fN8SEo1fhqjcHnr8DpriX1YnhHj8FWlSXGJiIn/88Qc7d+7k0qVLxMbGolar8fX1pXLlyjz77LN06tTpgTK5lTQJ6Jan0+pYP+oPEq4nAVCtQxX2Nt1aIvua/2/fNeZvuXhnvxOaB3sy/fX6ONoWb5IafVQUCe8PIPvoUVOZQ8+euE2ZhOph8h5oU2FpW4g6ZjwuVw/e+QvsXB+qvUKIsktmuUtAt5i/vj7A+T8vA+Du70p87xv8ftO4EYml1pobDArz/7zI6gPXTWXPN6jA2BdqobEq3q1Ptfv3k9D/AwxxccYCW1vcpk/D8a2HnAugzzF2s1/503js4g9994NL8W6IJIQoWx74cSU5ORmdToenp6cl2iPKiMt/XTMFc42NFcobmaZgbql9zbNy9Exed5qd526byt59Koi+7YKKdXxeURTSFn5LyqczIHeSqFWFCnh8txCbkJCHvTj82jcvmNu5Qc/fJZgLIe6r0I8sW7duJSQkBA8PD3x8fAgODuaHH36wZNvEYyo5KpW/vj5oOvZ+zYWV8Xnjy5bY1zw5I5sPfzhiCuZWahUfvVibfu2DizWYG9LSSHh/AClTp5mCuW2b1nj/sfnhgznA9o/hZO6/KytbY0pXH9kiWAhxf4V6Qt+/fz/PPfccer2e2rVrY2Vlxfnz53nnnXfIysrivffeu/9FxBNBl61n22d/kZNpXI7m3dyNpbbfmvY771mzV7Hva34rMYOhy49yIz4DAHsbKz59PYQWVb2L9T45ly6R0Pc9dJcvm8qcPxyM88gRqKyKIWXswQWwZ0bugQpeXQmBrR/+ukKIJ0KhntA///xz3N3dOXLkCKdOneL48eNcvHiRunXrMmXKFEu3UTxGDiw5StzVRAAcy9uzrsZKdIpxB71OgZ15rdobxXq/8zeTefe7g6Zg7uFkwzfvNC32YJ7x62/EdnneFMxVLi54LFmMy5jRxRPMz/4Mv3+Yd/zsfKj16sNfVwjxxChUQD948CCDBg2iQYMGprLAwECmT59OVFQUV69etVgDxePj6t7rnN1sXI6mtlZzoM1OUlTGbUIbl2tc7Pua7w2LZcCSwySmG7c+DfRyZFHf5tTwK75Jjkp2NkkTJ5E44AOUDOOXBk3NGvhs3oh9p4J393sg4btgXQ9M3Rih46DZoH97hRBC5FOogB4XF0dAQEC+8vr166MoClFRUcXeMPF4SYlOZfeCA6bjyDaXueEYDkCwWzCjmozFqhj36t5wJIJRq46RlWMcx64f6M637zbFz734lkrqo6KIe/1N0r//3lRm/+qreP/2K5rKlYvnJtGnYHVX0Bu/lBDSGzpML55rCyGeKIUaQ8/JycHa2jpfuZ2dHQBarbZ4WyUeK/ocPVs/+5vsDOO4eUaNFI77GyfF+TiUY0LzT7DXFE+gVRSF/26/xLK/w01lHWqXZ+LLdbAtxq1PtXv2kjBwUN6SNBsb3KZMxqFnj+LrZUi8BiueAW2y8bhqF3jxO7BAxjwhRNlXvFk2xBNp/5JjxF1JAMDgoePvRn+CCpytnZnUYjLudsWTZjVHZ2DaL2f481Rej1D3lpUY9HQ11MW09aliMJC24D+kfD7buPc4uUvSvv0vNvXrF8s9AEiPhRWdIS33vVRoCq/9BFb5vzgLIURhSEAXD+Xq3uuc3XTReKBR2Bu6FZ2NDhu1DR83n0hFZ/9iuU9qZg5jfzzB0fD/b+++w6os3wCOf88BZA9BRUDCbW5c5Z45+7l3pmimZq6y3CnitsxVrhaWM1Nzj3JPVHCiODB3mooCIpvz/P44cvAIOJEDeH+ui6ve5133OXC8z/u8z3s/+i8OGg183uRtOlR9ydnL0qC7f597gz4nbvt2Q5tlvbrknj0bM+fcGXYe4qJgyfsQph9vgEsJ+GAj5LLNuHMIId44z53Q9+7dS2JiolFbVFQUAH/99VeqiVoAunXr9orhiaws4qbxffOT7xwh0iUcDRoGV/6SUi6lMuQ8t8JjGLzkKP/c1v+9WZprGdeuHHVKumbI8QHijx/nXp++JCX/HWs02H8xGPtBA9FoM7DCXGI8rGgH/x7RL9u7Q9etYJvx5W+FEG+W5yr9qtVq071vqJRKtS657VXmUH/dpPTrq0mMT2Lt8K2GrvZ/C1/hWO0DoIHeZfvwvyIZM1f3uZuRfLHkKHcf6MdpONlYMO2DipTxdMqQ4yulePjrb0T4jYN4/cA0rbMzub+fjVWdOhlyDgOdDlZ/CMHL9MuWjvDRXnAtm7HnEUK8kZ7rCt3X1/d1xyGymYM/BxqS+UPHB5ysfhg00LpomwxL5gcu3OGrFSeIjtd/MSzgbMOMDyvi6ZIxXdO6qCjChw4jZu06Q1uuSpVwnj8PM/cMnitdKdjyWUoyN7eCD9ZLMhdCZBhJ6OKFXdh9iTNbLgCQZJZEUN19JFkkUrtAHXxK98iQc6wJvMY3G0NI0uk7kMp6OvFN5wo42WbM1KEJISHc6/0JiY/VULDt9TGOo0aiSeOJjle2dxIc/k7//xoz/QA4qQInhMhAMihOvJD71yKM6rQHVw3kgXM45fKUZ1CFz9FqXu1+s/6xtFB+3ZuSaOuWzMfYtuWwyqDH0h7+voKIkaNQsbEAaOztyf3tNKzfb5Yhx08l8AfY8VXKcoufoETz13MuIcQbSxK6eG4JsYn8/fUeEmP1gyOvFf2H68X/oaBDIUa8OwqLV3zkKj5Rx8QnHkvrXM2LAY1KZMhjabroaCJGjiL6j5WGNosyZXBeMA/zggVf+fhpOr0SNnySstzwa6jQ/fWcSwjxRpOELp6LUop98w9z/6q+CEqkUzjB1QLJa50X32pjsbV4tfvaEdHxDF9+nGNX9HXgM/qxtIQLF/Rd7OfPG9psunTBadxYNI8KJGW4i3/Dqg8wlHSt/iXUGPJ6ziWEeONJQhfP5ezfoZzfqe8GTzRP4Gj9fdhYWzO2+jhcrF/tkasb96IZvOQoV+4+BMDSQsv4duWp/Xa+V44bIPqPlYSPGImKiQFAY2OD09dTsGndOkOOn6brh2B5a9Dpq+dR4SP91bkQQrwmktDFM925GMb+H44Ylk/WOExC7jjGV52Ip33qGv8vIvh6OEOWHjNMsJLbNhffdqlIKQ/HVzouPOpi/2o00b+vMLSZl3wb5/nzsSha5JWPn67bp2FJM0jQf0Hh7VbwvwVS0lUI8VpJQhdPFRcVx99T95KUoC+Dernkef4rfJ3hVUZS8hULx+w88x9jV50kLlF/7IJ5bZnepSLuuW1eOe6E8+e516evcRd75044jh+H1jrjJnBJ5d4/8FtDiNE/0kfButB2GZjJR00I8XrJvzIiXUqn2DnzAA/+01dou5/3LmeqHKOv96dUdav28sdViqUHrvD93+dILmtUoWBupnaqgIP1qw2sU0oR/fvvRIwanTKK3cYGpymTsWnb5pWO/UwPbsKihin12d0rQ+d1YPGa7tELIcRjJKGLdB1ffZorR24AEG8Zx9G6++lcujNNCjZ96WMmJumYsfksq45cM7Q1Le/OyBalsTB/tUfedFFRhI8YSczqPw1t+i72eVgULfpKx36m6HuwqBHcf/S4Xd5S0GUzWNq/3vMKIcQjktBFmq6fuMnhxccBUCiO1z5I3TJ16Vii80sf82FcIl/9cYKDF+4a2nrWLcLHdYu88pSk8cGnud/3U6NCMTZduuDk54vmdXaxA8Q9gCVN4XawftmpIHT9S+qzCyEylSR0kUrU3Yf8PW2P4WmrC97BFK1SiD7lP3npxHs7IpbBS4IIfdR9b26mYUSL0rzv7fFKsSqleOi/kIjxEwy12DV2djh9PRWblhlTgvapEmJgWUu4cVi/bOsKXf8Gh1d7XUII8aIkoQsjSQlJbJ6yk/hI/eNWtz3+xbKBhi8qD8FM83KV2s7+G8mQpUe582iCFXsrc6Z0qkClQq82T3rSvfuEf/klsVv/MrRZlCuL87y5r69QjFEACbCiPVzeqV+2yg3d/gaX19y9L4QQaZCELozs+SmAexfCAYi2i+L++/8yvtpEcpm9XA31PWdvM2blSWIT9BOseOS25tsuFSmY1+6V4owLCOB+/4Ek3UypKmfb62McR45Akytj6r0/lS4JVneFCxv1y7ns4MMtMtmKEMJkJKELgzPbz3F+yyUAkrRJXG4agm8D35eqAqeUYvnBK8z+K2Uke1lPJ77uXIHcrzDBikpM5MGs2TyYOUs/HSmgzZ2b3DNnYPVeg5c+7gvR6WBdLzj9u37Z3Ao6r4cC72TO+YUQIg2S0AUA/128w565h9CgH2n+T60zDGs1DGerF+8WT0zSMX3zWVY/NpK9YZn8fNWqDJavMMFK4o1/uT9gAPGHDhvaclWrhvN3szBzy+DpTtOjFGwZBMf99ctac+iwEgrVzZzzCyFEOiShC6IjY1g9biPaRP2fw78lLtP3o96427m/8LEexCQw6o8THL4YZmjrWacIH9d7tZHsMRs3cX/IUFSEvpY8ZmY4fDEYu/790JhlzCxsz6QUbBsBh7/XL2u00HYpFH8/c84vhBBPIQn9DZeUmMSicSvQhuv/FCLy3KPt580p4vTipVFv3Ivmi6VHuXxHX/LU3EzDyBalafYKI9l10dFEjPUjeslSQ5uZhwe553yPZZXKL33cl7J7POyfmrLc0h9Kt8/cGIQQIh2S0N9wi+Yuhwv6K9x4y1iqfu5NObfyL3ycE1fvM2zZMcKj9aPjHW0smNqpAt5euV86tvjgYO73G0BiaKihzbr5/3CaOgWt46vXen8h+76GXb4py+/PA+9umRuDEEI8hST0N9jKNauJ264fsaY0Orw+zk/tMrVf+DibT/zLpLXBJCTpj+WVx5ZpH1TA0+XlplRVOh1RP/xA5JSvIUH/BUFjY4PjhHHYdOjwykVoXljALNg2LGW50bdQ5ZP0txdCCBOQhP6G2nrkL/5bFIE5+trp9u9b0qLR/17oGDqd4oedoSzck1KdrXIhZyZ19H7pmuxJt25xf9DnxO3bZ2izKFuW3HO+x6JI4Zc65is5Mh+2fJay3GASVB+c+XEIIcQzSEJ/AwVcOkjw7FDsEh0AMCuv44OPO7zQMWLjkxj35yl2nPnP0Na6cgG+aFYSc7OXq8kes3ET94cOQ4WH6xs0Guz6foLDkC8z59nyJx39BTb2TVmuMwZqjcj8OIQQ4jlIQn/DnPzvBNum7yVvpH4Eu8qfhM/ID16oG/t2RCxDlh3j3M1IALQaGNT4bTpUfeulusN1UVFEjPE1mrdcmz8/zrNmYlmzxgsfL0Mc/w3WfZyyXH0I1B1rmliEEOI5SEJ/g5y/f46l81ZS6GoJAHTWOjr7tcbC6vm7x09fD2fY8uPcfVTG1cbSjAntylO9eN6XiikuMIj7AweSdOWqoc2qWTOcpk7BzPnlB9S9kpNLYU13DMXsq34GDadCZt+7F0KIFyAJ/Q1xOeIy3y+eR+lj+ke9lEbRbGh9nPI7PPcx/jp1k4lrgolL1Fdoc89tzbQPKlI434uXcVUJCTyYMZMH331vqPimsbXFcfw4bDq0z/yBb8mCV8CfXTEk83f6Q+PpksyFEFmeJPQ3wL9RN5iyfgpld1U1tL3T3RuvigWea3+dTrFgRyi/7k0Z/ObtlZspHb1xeokyrgmhF7k/cCAJJ04a2nJVqkTu2TMzZ1KV9ASvgFUfgNJ/waByX2g6W5K5ECJbkISew92Ovs3YbWMpubkS5o8qwRWu8xYVWpZ5rv0fxiXit/oUe87eNrQ1r+DB0P+VwsL8xQa/KZ2Ohwt/JWLiRIjVd9ljbo7D4M+x6/cpGnMT/jkakrl+Ehkq9oJm30syF0JkG5LQc7B7sfcYvecrCm5+G5sofbe4cxEn6vWv8Vxd2v/ej2bIsmNcfDSHuVYDAxuXoGNVrxfuEk+88S/hX3xJ3N69hjbzIkXI/d0scpV/8UI2GSpVMv8Y/jcftC83Wl8IIUxBEnoOFRkXweh9o3DZ4YbLLVcArBwtaTqyHua5nl37POjSPUauOE7Eo8pvdlbmTGhfnqpF87xQHEopYlb/SfjoMSl12AHbj3rgMHIEWmvrFzpehgv+HVZ1eSKZL5BkLoTIdiSh50BR8VH4HhiN9oglXueKAaC10NJkVF3s8jy7etuqw1eZvvksSTr9wDBPFxu+6VzhhecwTwoLI3z4CGI3bTa0afPnJ/eMb7Gq/eIV6TLcyaX6AXDJ98wr9JRkLoTItiSh5zDRCdGMPTiG8JAo3jlU19Bep19VXEs8/dGyhEQd324KYU3QdUNb1aIujG9XHvsXrPwWs3Ur4UOHo7t719Bm3boVThPGo3VyeqFjvRYnFukfTUtO5nJlLoTI5iSh5yCxibGMCxjL9cs3qLGzEVqlT07l25SieL2nl00Ni4pjxO/HOXk13NDWpXpBPm1YHDPt898v14WHEz5mLDGrVhnatLlz4zRlMtb/yyLTjB5bCGs/wvBoWuVPoNkcSeZCiGxNEnoOEZcUx4SAcZz/9zw1tjUiV7wlAG9V9uCdD72fum/IjQiGLj/GnUj9yPNc5lpGtChN0/IvNh967I6d3B8yBN2tlHKwVo0a4vT1VMzyvlzhmQwX+ANs6JOyXKUfNPtORrMLIbI9Seg5QHxSPJMOTeDU7ZO8s7MudpH6YjHOXk40+KIG2qfUVt90/AZT1p8h/lGxmHwOVkzt5E1Jj+efnlQXEUHEuPFEL//d0KZxcMBpnB/W7dqarkjMkwJmw5ZBKcvvDoQmMyWZCyFyBEno2VxCUgJTDk/k2H9HKXOwCnlu5gf0I9qbjKpLLpu0C78kJumYtfUcfxxKKbla7i0nJnfwxsXe8rnPr78qH4ru1i1Dm2W9uuT++mvM3N1e7kW9Dvu/gb+HpixXHyLlXIUQOYok9GwsQZfA1COTCPwvkIJnSuB1vigAWnMtjUfUxd417VHp96LiGLXiBMeu3De0taqknynteYvF6MLD9Vflj02oorGzw9F3DDadO2Wdq3KlYPd42OWb0lZ7NNTzk2QuhMhRJKFnUwm6BL45MpXDtw7jesWDUocrGNbVHVCN/CXTvmd9+no4I34/we3IWAAszDR80awkrSp7Pve5Y/76i/DhI9D9l1I9zrJuHZy+noq5h8dLvqLXQCn9VfmBaSlt9SdA7VGmi0kIIV4TSejZUHIyD7h5EIe7uamwpzoa9FebFTuUoVjdQmnutybwGt9uCiEhST+6O4+9JVM6elPG0+m5zpt07x4Ro8cQs2atoU1jZ4fjWF9sOnXMOlfloJ/wZVM/CJyf0tZ4OlT73HQxCSHEayQJPZt5PJlbRdnwzvY6mD2q0V60dkEqf5C6jGp8oo5pG8+w7ugNQ1v5t5yY2MGbPM9xv1wpRczatUSM9kV3756h3bJ+fZymTMbc48VGw792SYmwriec+O1RgwaaL4BKvUwalhBCvE6S0LORx5O5ebw572yvg2W0vnRq/pJ5qTOgWqqr5JvhMYz8/Tgh/0Ya2tq/+xYDG5V4rvvlSf/eJHzESGK3bTO0aZwccfLzw7ptm6x1VQ6QEAsrO8G5R70IGjNo/RuU+8C0cQkhxGsmCT2bSEhK4OsjUzh0KwCNTkPlnbWxv+cEgEN+OxqNrJOqRvuh0LuMXnmSyBh9PXZLcy3Dn/P5cqXTEb14CRGTJqMePDC0WzVrhtPE8Zjly5dxLy6jxD2A5a3g0g79slkuaPc7lGxlyqiEECJTSELPBuKT4plyeBKB/x0BBeUPVMXlX/2EK5b2uWg6pj7WDlaG7XU6xcK9//DjzlDUo2JoHrmtmdzRm+JuDs88X8KFC4QPHUb84SOGNm3evDhNmoh1s6YZ++IySnQYLGkGNw7rly1sodMaKPKeScMSQojMIgk9i4tLimPSoQkcu30UgLdPlsfjQkEAzB5NuOLkkZKkI6Lj8Vt9igMXUmqo1yieF982ZXF4Rj12FRfHg7nzeDD7O4iPN7TbdOyA45jRWaMGe1oirsOiRnA3RL9slRu6bALPqqaNSwghMpEk9CwsLjGWCYfGc+LOcQAKXSxOkaOl9Cs1UP/zGuQvmdL1feZGBCNXHOdWuP6RNI0GetUrSvdahdE+ox573KFDhA8dTmJoqKHNrKAXuadOxbJmjYx9YRnpzll9Mo+8pl+2yw9d/wLXsqaNSwghMpkk9CwqOiGacQFjORN2GoAC/xak1L5KhvXVelSicA0vQD8KfdWRa8zactbwSJqTjQXj2pXnnSIuTz2PLjyciEmTiV6yNKXRzAy7Pr1xGPw5GlPPV/401w/ru9ljwvTLuYvok7nz0yeiEUKInEgSehYUFf+AsQd9OX//HAD573lQYWcNdDp9vfUyzd+mbIu3AXgYm8jk9afZFpxSerWspxMT25cnn6NV6oM/opQiZs0aIsaOM5ri1KKCN7mnTsWidKnX8dIyTuhW+L0tJDzUL+f3hi6bwT6/ScMSQghTkYSexUTERTDmwFdcivgHgHwP81N1e30S4hMBKFzDi+ofVUKj0XDhViQjV5zgWli0Yf+OVd+if8OnP5KWeOkS4SNGEbd3r6FNY2uLw/Bh2Pp0Q2Nmlu6+WcKJRfrpT3X69wSvOtB5LVg9/4QyQgiR00hCz0LCYu4y5sBorj3QT5iSJ9GV2juaEBOln9bUvYwr9T+vDhp91bcZm88S92iWNFtLc75qVYZ6pVzTPb6KjeXBnLk8mDMX4uIM7VbNmuLk55e1JlNJi1L6SVa2DUtpK9kG2iwBi/R7I4QQ4k0gCT2LuPXwJqP3j+K/aP1c4nk1rjTY1ZwHd/Vdys4FnWg0sg6xSYopa07y92Nd7CXcHJjYoTwFnG3SPX7srl2Ej/qKpMtXDG1mHh44TpyAdcNs8GiXLgm2fA6Hv0tpq/IpNJ0N2izeoyCEEJng+abWyiSxsbH07NkTJycn3Nzc+Pbbb9PdduPGjXh7e2NnZ0e5cuVYt25dJkaasa5GXmX43mGGZO5m4UaTfa15cE2fzO3y2dJsTH0uR8bis+CgUTJvW8WTH3q+k24yT7zxL2G9PyGsS9eUZG5ujt2nfcm3a0f2SOYJMbCivXEyrz8Bmn0vyVwIIR7JUlfoQ4YMITAwkB07dnDlyhV8fHzw8vKiXbt2RtudPHmSNm3a8M0339CsWTO2bt1Ku3btOHLkCOXLp65lnpVduH+BsQfH8CBeX5rV0+YtGh1oxa3zdwCwdrTi/bH12XDhDt//dc4wit3W0pxRLUtTv3Tag8BUfDxRP/7EgxkzUTExhvZc776D06SJWLz99mt+ZRnk4V1Y1hyuB+iXtebQ/Aeo0MO0cQkhRBajUSq5lphpPXz4kDx58rB582bq1q0LwIQJE9i2bRu7du0y2nb48OGcOHGCzZs3G9oaN25M5cqVmThx4nOdLzIyEkdHRyIiInBweHb1tNfhxJ0TTDo0nphEfcIt6liUxkGtuLxXP4lKLhsL6n1Vl+9P3GDfuTuG/Uq6OzChfXk80rkqj92zh4jRvkbPlGtdXHD4ahQ27dtlvfrr6Qm7AEveh3sX9Mu57KDDKijayLRxCSFEFpRlrtBPnDhBQkIC1atXN7TVrFmTiRMnotPp0GpT7g74+PgQ/1gls2QRERGZEmtGOPjvAb4JnErio5HapZxL0zi4Jef3XgL0VeAKfVSRAVtCuBOZMoDtg+oF6dugWJqj2BOvXyfCbxyxm1K+6KDVYuvTDYchX6J1zEajwK/s1ddlj3k0u5udm776m5u3KaMSQogsK8sk9Js3b5InTx5y5cplaHN1dSU2NpawsDDy5s1raC9ZsqTRvqdPn2b79u188skn6R4/Li6OuMdGdkdGRqa77ev295W/mHPsO3ToR6i/4/oO9c42I3ir/rlzjVZDQqOijNj/j6EWu5ONBWNal6V68bypjqdiYngwbz5Rc+aiYmMN7bkqVcJx4nhylc1mVdNOLoW1PSDp0Ze2vKX1ydzpLdPGJYQQWViWSejR0dFYWhrPzZ28/HgiftLdu3dp27YtNWrUoGXLluluN3nyZPz8/DIm2JeklOKP8ytYHPKboa2eZwNqX3yPwDUn9Q0aCC2Xjz037hu2qVTImbFtypLXwSrV8WI3biJi3HiSbqTMda7NkweHUSOxadcWjTZLjXt8OqVg93jY5ZvSVrghdPhDnjEXQohnyDIJ3crKKlXiTl62sUn7XvF///1Hw4YN0el0rFy50qhb/kkjRoxg8ODBhuXIyEg8PT0zIPLnk6SS+OnkD2y8tMHQ1rJIK6pcqsHBJUcNbYFeDpx6dOVuptXQp35RutQohNkTtdgTTp8h3Hcs8QcPpjSam2Pb3QeHLwajNdG4gJeWEANre0LwspS2ir3g/Tlg9vRJZYQQQmShhO7h4cHdu3dJTEzE3Fwf1q1bt7C2tsYpjVm+bty4Qf369QHYtWuXUZd8WiwtLVP1AGSWhKQEpgdNY/+/+wxtPqV78HZoWfb9nDJF6RF3W4Kd9DEWcLbGr205ShdwMjpW0t27RH49jehly+BRKVgAyzq1cfQbi0WxYq/3xbwOD27p75ffOPSoQQPvTYEaQ/QzzAghhHimLJPQvb29sbCwICAggJo1awKwb98+qlSpkurK++HDhzRp0gStVsvOnTvJnz/r1u+Oin/ApEMTCQ47BYBWo2Vghc9wP+/F7vkBhu2OudoQnE/fE/G+tzuDm5XE1jLl16Pi4ojy9+fBzNmoBw8M7WZeb+HoOwarRo2yz+j1x908DstapMyWZmGjr/xWspUpoxJCiGwnyyR0GxsbfHx8+OSTT/D39+fGjRtMmzYNf39/QH+17ujoiLW1NZMmTeLixYuGx9lu3dIXWrG2tsYxC43kvh19G7+DvoZSrpZmlgyrMgLHs3nY8f1+w3Yn81lzPL8NDtbmDGtemgaPPVuulCJ202YiJk4k6cpVQ7vGzg77QQOx6/kRGhP1PLyy03/Amu6Q8KgWvUMB6LxeRrILIcRLyDLPoYN+YFzfvn1ZtWoVjo6ODBkyhM8++wwAjUaDv78/3bt35+233+bcuXOp9vfx8WHhwoXPda7X/Rz6P+EXGRcwlnux+seuHHM5MqbaWDSnLNg+fT88etdP57XmsLstlQq74Nu6rNEMafHHjhExfgLxhw6nHFijwaZTRxyGDcXsGbcZsiydDnb7we5xKW0e70CnNWCfxevJCyFEFpWlEnpmep0JPei/QL4+MsVQMMbd1h3f6uOIPBLDrpkHDMk8xMWKowUd6PtecTpW9UL7aOBb4tWrRE6ZSsxa43K2ljVq4Og7JutPbfo0cQ/gTx84+2dKW7mu+upvMsGKEEK8tCzT5Z5TbLq0kR9OzDc8Y/6289t89e4YTm+7yYkfAkm+y33WxYqwym74ty1HEVd7AHT37/Pgu++J8l8IjxXOMStUCMcxX2HVsGH2vE+e7O55/eC3uyH6ZY0WGn4N1QbL4DchhHhFktAzSJJKYmGwP2svplx5VnevwcAKg1n560kerj9vmAnnnIsVxTuXZWq9YuQy16JiY4nyX8iD775HPVbtTuvsjP3gz7H9sAsai2z+6Na5DbC6C8Q9Kuhj6QjtlkGxpqaNSwghcghJ6BkgJjGGbwO/4fCtQ4a2tsXaUde1HeMn7MHr+G1DMr/uYUePYXUo65UblZTEw99X8ODb6UaFYbC0xO7jntj375f9nid/kk4He8bDLj8M9xryltbfL3cpasrIhBAiR5GE/oruRN9mfMA4Lkfqa7BrNVo+KfcpEf+VYtyCHbxzJeURs4RSeRjp+x5WlmbE/PUXkVOmknjufMrBNBps2rfD/ssvMfdwz+yXkvGi78GfXeHCppS2km2hlT9Y2psuLiGEyIEkob+Cs/dCmHhoAhFx4QDYmtvSvcTnrNqhJTHoKO/eeGjY1rVOQVp+XoP4gADuTvma+MBAo2NZ1q+H44gRWJQyrlOfbd08Br+3gfDL+mWNVj+Hec3hcr9cCCFeA0noL2n3tV3MPjaTBF0CAPlt3CiX6yMmLntAyRtRvHsr2rBt6ZYlqVLRjLAuHxK3e4/RcSwqVsRx5HAsq1XLzPBfH6Ug6EfYPBCSHpXytckD7ZZD4QamjU0IIXIwSegvKUGXYEjmRexLcSe0MYtvRFL534eUvRNj2M67gRtF9s/n7ugtRvubFy+Ow7AhWDVunL1Hrj8uLgo29oWTi1PaPN6BDivBMfPq5gshxJtIEvpLes+rIZcjrnD06k0O76+MLjGR6tejKBGWMn1pOYfLFPh6JHGPPepv5umJwxeDsW7TGo2ZmSlCfz1un4YV7VMeSQN4pz80mgbm2bSSnRBCZCOS0F9S0KV7bN5ZnBv3CqDVQe2rDygcnjxbnKLslbW8dSdl1LvWNR/2Awdg+8EHaB6b8z3bUwqO/gSbB8GjQjrksocWP0GZDqaNTQgh3iCS0F9SyI0IbtyLwTxJ8d7lSNwe6LvfNSoJ739W4HFfP7+51sUF+/79sO36IRpra1OGnPFiI2FDHwhentKWr6y+iz1PcdPFJYQQbyBJ6C+pUzUvdgZdp/SRf7F9lMy1SfFU+mcprhHn0Dg5Yd/3E2x7dEdra2viaF+D64dh1Qdw/2JKW+W+0PhbsMhhX1yEECIbkIT+kiIDz1BnzzliEvX1xy0So3nnwq84W0RgP3QIth/1QGufA5+11iXB/q9h5xjQJerbLB31Xeyl25k2NiGEeINJQn9JxxceJCZRfyVqFR9O1Zsrce/XUX9Fnt2ru6Un4hr82Q0u70ppK1AV2i6F3IVMFpYQQghJ6C+t1vi23O80h1gLexo0yEW+TzagtbMzdVivz6llsPFTiA3XL2u0UGsU1BkNZtm8zrwQQuQAMn3qK0yfGrXvENqixbDJ75zB0WUhMff1ifzxgW8OntBmMRSsbbq4hBBCGJEr9FdgV/NdU4fweoVuhbU94cFjE8eU/QCafQ/WuU0XlxBCiFQkoYvU4h7A1i/g6I8pbVZO8P48KNvJZGEJIYRInyR0YezSTlj7UcqkKgCFG0LLX8CxgMnCEkII8XSS0IVebAT8PRSCfkhps7DVP1deqbfMkCaEEFmcJHQB5zfpK75FXk9p86oNLf3BubDp4hJCCPHcJKG/yaJuw9bP4dTSlDYLW2g4VV/1Tas1XWxCCCFeiPyL/SZSCo7/CnNKGifzwg3h02B4p58kcxOpW7cuY8eONXUYz+WHH34gb9682NnZcebMGVOHk2n++OMPbt++DcDYsWOpW7duppz3Vc+l0WjYtWtXmut27dqVYdM4d+/eHY1Gk+qnfv36hm2WLVtGkSJFsLGxoXXr1ty9e9ewbvXq1bi5ueHp6cn69euNjv3uu+9y7NixDIkzJ5J/td80d8/Bb+/Bmu4Qc0/fZpUbWvwMXbdC7oKmjO6Nt3r1ar788ktTh/Fchg4dyqeffsrp06cpUaKEqcPJFFeuXKFDhw5ER0ebOpQsa9asWdy8edPwc/DgQSwtLRk4cCAAhw8fpmfPnvj6+hIQEMD9+/fp3r07AElJSfTu3Ztp06YxadIkevToQXKplE2bNuHm5kaFChVM9dKyPOlyf1MkxMDeSfo67EnxKe1lOkOTGWDnarrYhIGzc/YpUhQREUHdunXx8vIydSiZ5g2tw/VCHB0dcXR0NCz7+PjQvn17WrVqBcD3339Phw4d6NatGwCLFi3Cy8uLS5cuYWNjQ1hYGO3bt0cpRbdu3bhz5w758uVj3LhxzJs3zxQvKduQK/Q3wfmNMLcM7JmQksydCsIHG6HdUknmTzF79my8vLywsrKicuXK7Nu3z7AuODiYevXqYW1tTYkSJZg7d65hXXh4OG3btsXJyYncuXPz4YcfEhkZCcDVq1dp1KgRdnZ25MuXjwEDBpCQoJ+x78ku94ULF1KyZEmsra2pXLkye/bsMawrWLAgc+fOpWrVqlhZWeHt7U1QUFCar2PXrl0UKFCA2bNn4+LigqurKxMnTjTaZsGCBRQqVAg7Ozvq1q3LqVOnjM41bNgwwxVScvds/fr1Dd3AISEhNGnSBAcHBzw8PBg3bhw6nQ7Qdxe3atWK2rVr4+zszO7duylYsCC//PILVapUwdramkaNGnHlyhXatm2LjY0N3t7enD592hDDTz/9xNtvv02uXLnIkycP/fr1IykpCdB38w4ePJiOHTtiY2ODp6cnixYtMuz78OFD+vTpg4uLCy4uLvTu3ZvY2FjD76pr1644ODjg7u7OgAEDiImJSfN9LFSokOG/CxcuBCAhIYF+/frh4OCAq6sr06dPN2xft25dBgwYQOHChXnrrbd48OAB165do0WLFtjY2FCwYEH8/PwMryMhIYFevXqRJ08e7OzsaNGiBTdupBR2etq5dDod33zzDYULF8ba2pp69eoZ/Q4fFxkZSefOnbG3t6d48eIcOXIkze1A/zeYVhe6RqPh8uXL6e4HsH37dvbs2cOkSZMMbQEBAdSunVJl0tPTk7feeouAgADy5MmDjY0NR48eJSgoCFtbW1xcXNiyZQuurq5ydf4s6g0VERGhABUREWHqUF6fsFCllvxPKV9SfvwslPp7hFJxD00dXZZ39OhRlStXLrVhwwZ16dIl9dlnn6n8+fOrpKQkFR0drQoUKKC++uordf78ebVu3Trl6uqqfvvtN6WUUgMHDlTVq1dXwcHB6tixY6p06dJqyJAhSimlWrRooVq3bq0uXLig9u/fr/Lnz6/mzJmjlFKqTp06ytfXVymllL+/v7K1tVW//vqrOnv2rBo2bJiytbVV169fV0op5eXlpfLkyaP+/PNPde7cOVW7dm1VvXr1NF/Lzp07lbm5uapUqZIKCgpSf/75p3JwcFA//PCDUkqpdevWqfz586v169er8+fPq6+++kq5uLioe/fuGc7l4eGhTp48qY4fP65u3rypALVq1SoVFham7ty5o1xcXFSPHj3UmTNn1Jo1a1SePHnU9OnTlVJK+fr6KkDNmzdPHTt2TEVHRysvLy/l5uam/v77bxUYGKjy5MmjcufOrebNm6eCg4NVtWrVVIsWLZRSSu3atUtZW1urVatWqUuXLqk//vhDWVpaqlWrVimllPLx8VEWFhZq6tSp6uLFi2rQoEHK2tpahYeHK6WU6tSpkypVqpTat2+fCgoKUiVLllRffPGFUkqpNm3aqObNm6uTJ0+qQ4cOqXfffVd99NFHab6Phw8fVoA6fPiwio6ONryuzz77TIWGhqrp06crQJ05c8bw+7S1tVX79+9XgYGBSqfTqcqVK6uePXuqs2fPqp07d6rixYurcePGKaWUmj59uipWrJgKCgpSISEhqm7duqp9+/ZG72F65/L19VX58uVTa9euVWfOnFE+Pj7K3d1dRUVFKaWUAtTOnTuVUkp17txZeXt7q6CgILVlyxbl6uqq0ksH0dHR6ubNm2n+JCYmprlPsvfee0998sknRm12dnZq8+bNRm3vvPOO+vrrr5VSSn333XfK3Nxc5cqVSy1YsEAppVS1atXU0aNHn3ouoZQk9JyY0GMfKLX9K6XGWRon81/qKPXfaVNHl22sXr1aWVpaqlOnTimllIqKilLbtm1TCQkJ6qefflIVK1Y02n727NmGthYtWqhGjRqphw/1X5xCQkIM//CWK1dOde/eXcXHxyul9F8cLl26pJQyTugVKlRQI0aMMDpH1apV1fDhw5VS+iT75ZdfGtatXbtWWVhYpPladu7cqQB1/PhxQ9uYMWNUpUqVlFJK1axZU82ePdton4oVKxravLy81LBhw4zWP54gZs2apTw9PVVCQoJh/bx581T+/PmVUvpk4+rqarS/l5eX0evr0KGDqlWrlmF57ty5qnjx4koppQIDA9XSpUtTvRfJidDHx0dVrlzZsC75871//3517949ZWZmZohVKaX27NmjZs+erUJDQ5VWqzUkfqWUOnnyZKq2ZJcuXVKA4ffl6+urPDw8lE6nM2zj5OSkli9frpTS/z47duxoWLdt2zaVN29elZSUZGhbt26dcnZ2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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ "fig, ax = plt.subplots(figsize=(5, 5))\n", - "mice_list = [\"GRB036\", \"GRB037\", \"GRB038\", \"GRB045\", \"GRB046\"]\n", - "\n", - "plot_multi_mouse_psychometric_fit(\n", - " mouse_sessions_dict=good_behavior_sessions, mice_list=mice_list, ax=ax\n", - ")\n", - "\n", - "ax.legend(frameon=False, fontsize=10, loc=\"upper left\")\n", - "ax.text(\n", - " 20,\n", - " 0.1,\n", - " s=f\"session performance threshold = {int(performance_threshold * 100)}%\",\n", - " fontsize=10,\n", - " ha=\"right\",\n", - ")\n", - "separate_axes(ax)\n", - "# plt.savefig(pjoin(save_dir, 'psychometric_fits_all_mice.svg'), format='svg', dpi=300, bbox_inches='tight')" + "for row in rows:\n", + " stims = np.asarray(row[\"stims\"], dtype=float)\n", + " params = np.asarray(\n", + " [row[\"bias\"], row[\"sensitivity\"], row[\"guess_rate\"], row[\"lapse_rate\"]]\n", + " )\n", + " p_right = np.asarray(row[\"p_right\"], dtype=float)\n", + " x = np.asarray(sorted(stims), dtype=float)\n", + " label = f\"{row['subject_name']} (n={row['n_choices_fit']})\"\n", + " ax.plot(x, cumulative_gaussian(*params, x), label=label)\n", + " ax.plot(stims, p_right, \"o\", ms=4)\n", + "ax.set_xlabel(\"Stimulus rate relative to boundary (Hz)\")\n", + "ax.set_ylabel(\"P(right choice)\")\n", + "ax.set_ylim(0, 1)\n", + "ax.legend(frameon=False, fontsize=8)\n", + "ax.set_title(\"Psychometric fits by subject\")\n", + "fig.show()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "base", + "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.12" + "pygments_lexer": "ipython3" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 5 } diff --git a/psychometric_curves/utils.py b/psychometric_curves/utils.py index fe96234..7ab0613 100644 --- a/psychometric_curves/utils.py +++ b/psychometric_curves/utils.py @@ -1,158 +1,156 @@ -import numpy as np +"""Labdata-backed psychometric plotting helpers. + +Archived djchurchland notebooks live under ``archive/djchurchland/``. +Maintained plotting entry points are ``scripts/analyses/plot_psychometrics.py`` +and the helpers in this module. +""" + +from __future__ import annotations + +import datetime +from typing import Any + import matplotlib.pyplot as plt +import numpy as np import seaborn as sns -import datetime -from djchurchland.chipmunk.task import Chipmunk -from djchurchland.chipmunk.psychometric import PsychometricFit -from djchurchland.chipmunk.fit_psychometric import ( - cumulative_gaussian, - PsychometricRegression, -) + +from behavior_analyses.io import get_chipmunk_table + + +def _as_session_name_strings(sessions_list: list[Any] | None) -> list[str] | None: + if sessions_list is None: + return None + out = [] + for session in sessions_list: + if isinstance(session, datetime.datetime): + out.append(session.strftime("%Y%m%d_%H%M%S")) + else: + out.append(str(session)) + return out + + +def _fetch_choice_and_stim( + mouse_id: str, query: str | None, sessions_list: list[Any] | None +): + Chipmunk = get_chipmunk_table() + relation = Chipmunk.Trial() * Chipmunk.TrialParameters() & { + "subject_name": mouse_id + } + if sessions_list is not None: + session_strings = _as_session_name_strings(sessions_list) + assert session_strings is not None + relation = relation & [{"session_name": name} for name in session_strings] + if query: + relation = relation & query + relation = relation & "response != 0" + response, modality, audio_rate, visual_rate, boundary = relation.fetch( + "response", + "rewarded_modality", + "stim_rate_audio", + "stim_rate_vision", + "category_boundary", + ) + modality = np.asarray(modality) + stim_rate = np.where( + np.isin(modality, ["visual", "visual+audio"]), + np.asarray(visual_rate, dtype=float), + np.asarray(audio_rate, dtype=float), + ) + return response, stim_rate - np.asarray(boundary, dtype=float) def plot_single_mouse_psychometric_fit( - mouse_id, query=None, ax=None, plot_mode="both", sessions_list=None + mouse_id, + query=None, + ax=None, + plot_mode="both", + sessions_list=None, + session_fits=None, ): + """Plot individual and/or average psychometric fits for one subject. + + ``session_fits`` may be a list of dict rows with ``stims``, ``p_side`` / + ``p_right``, and ``fit_params`` (for example from + ``PsychometricSessionFit``). When omitted, only the pooled average fit from + Chipmunk trials is drawn. """ - Plot individual sessions and average psychometric fit for a single mouse. - - Args: - mouse_id: The ID of the mouse to plot. - query: Optional additional query as a string. - ax: Optional matplotlib axis to plot on. - plot_mode: Mode of plotting ('individual', 'average', 'both'). - sessions_list: List of session_datetime strings or datetime objects to include. - """ + from behavior_analyses.psychometrics import ( + cumulative_gaussian, + fit_psychometric_labdata, + ) if ax is None: _, ax = plt.subplots(figsize=(5, 5)) - # Build the base query with the mouse_id - combined_query = f'subject_name="{mouse_id}"' - - # Add any additional query - if query: - combined_query += f" AND ({query})" - - # Prepare session query if sessions_list is provided - if sessions_list is not None: - # Ensure all session_datetimes are strings formatted correctly - sessions_list_str = [ - f'"{s.strftime("%Y-%m-%d %H:%M:%S")}"' - if isinstance(s, datetime.datetime) - else f'"{s}"' - for s in sessions_list - ] - session_query = "session_datetime in (" + ", ".join(sessions_list_str) + ")" - combined_query += f" AND ({session_query})" - - # Assign a color to the mouse color = "black" - - # Fetch fits for the current mouse with querys - fits = (PsychometricFit & combined_query).fetch(as_dict=True) - if fits: - if plot_mode in ["individual", "both"]: - # Plot individual fits - for fit in fits: + fits = list(session_fits or []) + + if fits and plot_mode in ["individual", "both"]: + for fit in fits: + stims = np.asarray(fit["stims"], dtype=float) + params = np.asarray(fit["fit_params"], dtype=float) + p_side = np.asarray(fit.get("p_right", fit.get("p_side")), dtype=float) + nx = np.linspace(np.min(stims), np.max(stims), 100) + ax.plot( + nx, + cumulative_gaussian(*params, nx), + linewidth=1, + alpha=0.1, + color=color, + ) + ax.plot(stims, p_side, "o", markersize=4, alpha=0.1, color=color) + + if plot_mode in ["average", "both"]: + response_values, stim_values = _fetch_choice_and_stim( + mouse_id, query, sessions_list + ) + if len(response_values) == 0: + print(f"No trial data available for mouse {mouse_id}.") + else: + fit = fit_psychometric_labdata( + np.asarray(stim_values, dtype=float), + np.asarray(response_values, dtype=float), + min_choices=20, + ) + if fit is None: + print(f"Failed to fit average curve for mouse {mouse_id}") + else: nx = np.linspace(np.min(fit["stims"]), np.max(fit["stims"]), 100) ax.plot( nx, cumulative_gaussian(*fit["fit_params"], nx), - linewidth=1, - alpha=0.1, + linewidth=2, + label=f"{mouse_id} Average", color=color, ) + for stim, p_side, ci in zip( + fit["stims"], fit["p_right"], fit["p_right_ci"] + ): + ax.plot([stim, stim], ci, "-_", color=color) ax.plot( fit["stims"], - fit["p_side"], + fit["p_right"], "o", - markersize=4, - alpha=0.1, + markerfacecolor="lightgray", + markersize=6, color=color, ) - if plot_mode in ["average", "both"]: - print( - f"Calculating average fit for {len(fits)} sessions for mouse {mouse_id}..." - ) - - # Get trial data for all sessions of the current mouse - trial_data = ( - Chipmunk.Trial() & combined_query & "response != 0" - ) * Chipmunk.TrialParameters() - response_values, stim_values = trial_data.fetch("response", "stim_rate") - - if len(response_values) > 0: - # Convert responses: 1 (left) -> 0, -1 (right) -> 1 - all_responses = (response_values == -1).astype(int) - all_stims = stim_values - - print(f"Combined data: {len(all_stims)} trials for mouse {mouse_id}") - - # Fit psychometric function to combined data - ft = PsychometricRegression( - all_responses.astype(float), - exog=all_stims.astype(float)[:, np.newaxis], - ) - res = ft.fit(min_required_stim_values=6) - - if res is not None: - print(f"Successfully fit average curve for mouse {mouse_id}") - - # Plot average curve - nx = np.linspace(np.min(ft.stims), np.max(ft.stims), 100) - ax.plot( - nx, - cumulative_gaussian(*res.params, nx), - linewidth=2, - label=f"{mouse_id} Average", - color=color, - ) - - # Plot confidence intervals as vertical lines - for stim, p_side, ci in zip(ft.stims, ft.p_side, ft.ci_side): - ax.plot([stim, stim], ci, "-_", color=color) - - # Plot average data points - ax.plot( - ft.stims, - ft.p_side, - "o", - markerfacecolor="lightgray", - markersize=6, - color=color, - ) - else: - print(f"Failed to fit average curve for mouse {mouse_id}") - else: - print( - f"No trial data available for mouse {mouse_id} with the given querys." - ) - else: - print(f"No data available for mouse {mouse_id} with the given querys.") - - # Format plot ax.set_ylabel("P(right choice)", fontsize=14) - ax.set_xlabel("Stimulus rate (Hz)", fontsize=14) + ax.set_xlabel("Stimulus rate relative to boundary (Hz)", fontsize=14) ax.tick_params(axis="both", which="major", labelsize=10) ax.set_ylim([0, 1]) - return ax def plot_multi_mouse_psychometric_fit( mouse_sessions_dict, mice_list=None, query=None, ax=None ): - """ - Plot average psychometric fits for multiple mice, each with their own session querys. - - Args: - mouse_sessions_dict: Dictionary where keys are mouse IDs and values are lists of session_datetime - strings or datetime objects to include for that mouse. - query: Optional additional query as a string. - ax: Optional matplotlib axis to plot on. - """ + """Plot average psychometric fits for multiple mice.""" + from behavior_analyses.psychometrics import ( + cumulative_gaussian, + fit_psychometric_labdata, + ) if ax is None: _, ax = plt.subplots(figsize=(5, 5)) @@ -160,96 +158,34 @@ def plot_multi_mouse_psychometric_fit( if not mice_list: mice_list = list(mouse_sessions_dict.keys()) - # Assign colors to mice - # cmap = plt.get_cmap('viridis') colors = sns.color_palette("Set1") - # colors = cmap(np.linspace(0,1,len(mice_list))) - for mouse_id, color in zip(mice_list, colors): - # Get sessions for this mouse sessions_list = mouse_sessions_dict[mouse_id] + response_values, stim_values = _fetch_choice_and_stim( + mouse_id, query, sessions_list + ) + if len(response_values) == 0: + print(f"No trial data available for mouse {mouse_id}.") + continue + fit = fit_psychometric_labdata( + np.asarray(stim_values, dtype=float), + np.asarray(response_values, dtype=float), + min_choices=20, + ) + if fit is None: + print(f"Failed to fit average curve for mouse {mouse_id}") + continue + nx = np.linspace(np.min(fit["stims"]), np.max(fit["stims"]), 100) + ax.plot( + nx, + cumulative_gaussian(*fit["fit_params"], nx), + linewidth=2, + label=f"{mouse_id}", + color=color, + ) - # Build the base query for each mouse - combined_query = f'subject_name="{mouse_id}"' - - # Add any additional query - if query: - combined_query += f" AND ({query})" - - # Prepare session query if sessions_list is provided - if sessions_list is not None: - # Ensure all session_datetimes are strings formatted correctly - sessions_list_str = [ - f'"{s.strftime("%Y-%m-%d %H:%M:%S")}"' - if isinstance(s, datetime.datetime) - else f'"{s}"' - for s in sessions_list - ] - session_query = "session_datetime in (" + ", ".join(sessions_list_str) + ")" - combined_query += f" AND ({session_query})" - - # Fetch fits for the current mouse with querys - fits = (PsychometricFit & combined_query).fetch(as_dict=True) - if fits: - print( - f"Calculating average fit for mouse {mouse_id} with {len(fits)} sessions..." - ) - - # Get trial data for all sessions of the current mouse - trial_data = ( - Chipmunk.Trial() & combined_query & "response != 0" - ) * Chipmunk.TrialParameters() - response_values, stim_values = trial_data.fetch("response", "stim_rate") - - if len(response_values) > 0: - # Convert responses: 1 (left) -> 0, -1 (right) -> 1 - all_responses = (response_values == -1).astype(int) - all_stims = stim_values - - print(f"Combined data: {len(all_stims)} trials for mouse {mouse_id}") - - # Fit psychometric function to combined data - ft = PsychometricRegression( - all_responses.astype(float), - exog=all_stims.astype(float)[:, np.newaxis], - ) - res = ft.fit(min_required_stim_values=6) - - if res is not None: - print(f"Successfully fit average curve for mouse {mouse_id}") - - # Plot average curve - nx = np.linspace(np.min(ft.stims), np.max(ft.stims), 100) - ax.plot( - nx, - cumulative_gaussian(*res.params, nx), - linewidth=2, - label=f"{mouse_id}", - color=color, - ) - - # # Plot confidence intervals as vertical lines - # for stim, p_side, ci in zip(ft.stims, ft.p_side, ft.ci_side): - # ax.plot([stim, stim], ci, '-_', color=color) - - # Plot average data points - # ax.plot( - # ft.stims, ft.p_side, 'o', - # markerfacecolor='lightgray', markersize=6, color=color - # ) - else: - print(f"Failed to fit average curve for mouse {mouse_id}") - else: - print( - f"No trial data available for mouse {mouse_id} with the given querys." - ) - else: - print(f"No data available for mouse {mouse_id} with the given querys.") - - # Format plot ax.set_ylabel("P(right choice)", fontsize=14) - ax.set_xlabel("Stimulus rate (Hz)", fontsize=14) + ax.set_xlabel("Stimulus rate relative to boundary (Hz)", fontsize=14) ax.tick_params(axis="both", which="major", labelsize=10) ax.set_ylim([0, 1]) - return ax diff --git a/psychophysical_kernels/plot_kernels.ipynb b/psychophysical_kernels/plot_kernels.ipynb new file mode 100644 index 0000000..b319a68 --- /dev/null +++ b/psychophysical_kernels/plot_kernels.ipynb @@ -0,0 +1,79 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7fb27b941602401d91542211134fc71a", + "metadata": {}, + "source": [ + "# Psychophysical kernels (labdata)\n", + "\n", + "Reads fitted `PsychophysicalKernel` rows for an analysis set. CLI alternative:\n", + "\n", + "```bash\n", + "uv run python scripts/analyses/plot_psychophysical_kernels.py --analysis-set-id --output figures/kernels.pdf\n", + "```\n", + "\n", + "Kernel math lives in `behavior_analyses.kernels`; archived exploratory logic is under `archive/djchurchland/psychophysical_kernels/`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "acae54e37e7d407bbb7b55eff062a284", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import sys\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "REPO_ROOT = (\n", + " Path.cwd().parent if Path.cwd().name == \"psychophysical_kernels\" else Path.cwd()\n", + ")\n", + "for path in [REPO_ROOT, REPO_ROOT / \"src\"]:\n", + " if str(path) not in sys.path:\n", + " sys.path.insert(0, str(path))\n", + "\n", + "from labdata_plugin.analysisschema import PsychophysicalKernel\n", + "\n", + "ANALYSIS_SET_ID = \"example_analysis_set\" # replace after seeding\n", + "rows = (\n", + " PsychophysicalKernel() & {\"analysis_set_id\": ANALYSIS_SET_ID, \"fit_status\": \"fit\"}\n", + ").fetch(as_dict=True)\n", + "assert rows, f\"No fitted kernels for {ANALYSIS_SET_ID}\"\n", + "\n", + "fig, ax = plt.subplots(figsize=(5, 4))\n", + "for row in rows:\n", + " weights_mean = np.asarray(row[\"weights_mean\"], dtype=float)\n", + " weights_error = np.asarray(row[\"weights_error\"], dtype=float)\n", + " x = range(len(weights_mean))\n", + " label = f\"{row['subject_name']} (n={row['n_trials_fit']})\"\n", + " ax.plot(x, weights_mean, label=label)\n", + " ax.fill_between(\n", + " x, weights_mean - weights_error, weights_mean + weights_error, alpha=0.2\n", + " )\n", + "ax.axhline(0, color=\"k\", alpha=0.3, linestyle=\"--\")\n", + "ax.set_xlabel(\"Stimulus time bin\")\n", + "ax.set_ylabel(\"Choice weight\")\n", + "ax.legend(frameon=False, fontsize=8)\n", + "ax.set_title(\"Psychophysical kernels by subject\")\n", + "fig.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "pygments_lexer": "ipython3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pyproject.toml b/pyproject.toml index 06368de..b465ab3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,8 +4,9 @@ version = "0.1.0" description = "behavioral analysis code for my thesis in the Churchland Lab" requires-python = ">=3.10" dependencies = [ + "datajoint>=0.14.9,<2.0.0", "ipykernel>=6.0.0", - "labdata>=0.0.22", + "labdata>=0.1.7", "matplotlib>=3.0.0", "natsort>=8.0.0", "numpy>=1.24.0", @@ -13,18 +14,44 @@ dependencies = [ "scikit-learn>=1.0.0", "scipy>=1.10.0", "seaborn>=0.13.0", + "statsmodels>=0.14.0", "chiCa", - "djchurchland", + "fit-psychometric", ] [tool.uv] package = false +constraint-dependencies = [ + "cryptography>=48.0.1", + "pillow>=12.3.0", + "tornado>=6.5.7", + "urllib3>=2.7.0", +] [tool.uv.sources] chiCa = { git = "https://github.com/churchlandlab/chiCa" } -djchurchland = { git = "https://github.com/churchlandlab/djchurchland" } +fit-psychometric = { path = "third_party/fit_psychometric", editable = true } + +[tool.behavior_analyses] +# Optional local Chipmunk plugin checkout. Prefer `from chipmunk import Chipmunk` +# (labdata plugin entry point). Override with env CHIPMUNK_PLUGIN_PATH. +chipmunk_plugin_path = "" [tool.ruff] exclude = [ "psychometric_curves/fit_psychometric.py", + "third_party", + "archive", +] + +[tool.ruff.lint] +select = ["E4", "E7", "E9", "F"] +per-file-ignores = { "*.ipynb" = ["E402", "F401", "F403", "F405"] } + +[tool.ruff.format] +exclude = [ + "notebooks/stress_test_labdata_migration.ipynb", + "stress_test_labdata_migration.ipynb", + "archive", + "third_party", ] diff --git a/scripts/analyses/_bootstrap.py b/scripts/analyses/_bootstrap.py new file mode 100644 index 0000000..1fa499f --- /dev/null +++ b/scripts/analyses/_bootstrap.py @@ -0,0 +1,12 @@ +from __future__ import annotations + +from pathlib import Path +import sys + + +REPO_ROOT = Path(__file__).resolve().parents[2] +SRC_ROOT = REPO_ROOT / "src" + +for path in [str(SRC_ROOT), str(REPO_ROOT)]: + if path not in sys.path: + sys.path.insert(0, path) diff --git a/scripts/analyses/migrate_behavior_analysis_schema.py b/scripts/analyses/migrate_behavior_analysis_schema.py new file mode 100644 index 0000000..2ae40c6 --- /dev/null +++ b/scripts/analyses/migrate_behavior_analysis_schema.py @@ -0,0 +1,321 @@ +from __future__ import annotations + +import argparse + +import numpy as np + +import _bootstrap # noqa: F401 + + +ARCHIVE_TABLES = { + "behavior_session_set": "archive_l479_behavior_set", + "behavior_session_set__session": ("archive_l479_behavior_set__session"), + "behavior_session_set__trial_set": ("archive_l479_behavior_set__trial_set"), + "behavior_session_set__subject_trial_set": ( + "archive_l479_behavior_set__subject_trial_set" + ), + "__learning_session_metrics": "archive_l479_learning_session_metrics", + "__psychometric_session_fit": "archive_l479_psychometric_session_fit", + "__psychometric_subject_fit": "archive_l479_psychometric_subject_fit", + "__psychophysical_kernel": "archive_l479_psychophysical_kernel", +} +NEW_TABLES = { + "#psychometric_fit_config", + "#psychophysical_kernel_fit_config", + "behavior_analysis_set", + "behavior_analysis_set__trial_set", +} +COMPUTED_TABLES = { + "__psychometric_session_fit", + "__psychometric_subject_fit", + "__psychophysical_kernel", +} +EXPECTED_KERNEL_CONFIG = (10, 10, 0) +TRIALSET_KEY_FIELDS = ( + "subject_name", + "session_name", + "dataset_name", + "trialset_description", +) + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser() + mode = parser.add_mutually_exclusive_group() + mode.add_argument( + "--apply", + action="store_true", + help="Archive the old tables, activate the locked schema, and copy rows.", + ) + mode.add_argument( + "--resume", + action="store_true", + help="Resume copying after the old tables were archived and targets created.", + ) + return parser.parse_args() + + +def main() -> None: + args = parse_args() + import datajoint as dj + import labdata.schema as labdata_schema + + connection = dj.conn() + database = f"{labdata_schema.dbase_name}_user" + if args.resume: + _validate_resume_state(connection, database) + _validate_kernel_configs(connection, database, archived=True) + _print_archive_counts(connection, database) + else: + _validate_table_state(connection, database) + _validate_kernel_configs(connection, database) + _print_source_counts(connection, database) + if not args.apply: + print("Dry run only. Re-run with --apply after exact live-write approval.") + return + + rename_sql = "RENAME TABLE " + ", ".join( + f"`{database}`.`{source}` TO `{database}`.`{archive}`" + for source, archive in ARCHIVE_TABLES.items() + ) + connection.query(rename_sql) + + from labdata_plugin.analysisschema import ( + BehaviorAnalysisSet, + PsychometricFitConfig, + PsychometricSessionFit, + PsychometricSubjectFit, + PsychophysicalKernel, + PsychophysicalKernelFitConfig, + ) + + PsychometricFitConfig.insert1(("v1", 100, 6, "v1"), skip_duplicates=True) + PsychophysicalKernelFitConfig.insert1( + ("v1_10bin_10fold", 10, 10, 0, 20.0, 1.0, "v1"), + skip_duplicates=True, + ) + + old_master = _archive_table(connection, database, "behavior_session_set") + BehaviorAnalysisSet.insert( + [ + { + "analysis_set_id": row["session_set_id"], + "analysis_set_name": row["session_set_name"], + "analysis_set_description": row["session_set_description"], + "performance_threshold": row["performance_threshold"], + "min_trials_with_choice": row["min_trials_with_choice"], + "selection_version": row["analysis_version"], + } + for row in old_master.fetch(as_dict=True) + ], + skip_duplicates=True, + ) + + old_trialsets = _archive_table( + connection, database, "behavior_session_set__trial_set" + ) + BehaviorAnalysisSet.TrialSet.insert( + [ + { + "analysis_set_id": row["session_set_id"], + **{field: row[field] for field in TRIALSET_KEY_FIELDS}, + "include_reason": row["include_reason"], + } + for row in old_trialsets.fetch(as_dict=True) + ], + skip_duplicates=True, + ) + + old_session_fits = _archive_table( + connection, database, "__psychometric_session_fit" + ) + PsychometricSessionFit.insert( + [ + { + **{field: row[field] for field in TRIALSET_KEY_FIELDS}, + "psychometric_fit_config_id": "v1", + "fit_status": "fit", + "n_choices_fit": int(np.sum(row["n_obs"])), + **_psychometric_outputs(row), + } + for row in _deduplicate_by_fields( + old_session_fits.fetch(as_dict=True), TRIALSET_KEY_FIELDS + ) + ], + skip_duplicates=True, + allow_direct_insert=True, + ) + + old_subject_fits = _archive_table( + connection, database, "__psychometric_subject_fit" + ) + PsychometricSubjectFit.insert( + [ + { + "analysis_set_id": row["session_set_id"], + "subject_name": row["subject_name"], + "trialset_description": row["trialset_description"], + "psychometric_fit_config_id": "v1", + "fit_status": "fit", + "n_choices_fit": int(np.sum(row["n_obs"])), + **_psychometric_outputs(row), + } + for row in old_subject_fits.fetch(as_dict=True) + ], + skip_duplicates=True, + allow_direct_insert=True, + ) + + old_kernels = _archive_table(connection, database, "__psychophysical_kernel") + PsychophysicalKernel.insert( + [ + { + "analysis_set_id": row["session_set_id"], + "subject_name": row["subject_name"], + "trialset_description": row["trialset_description"], + "kernel_fit_config_id": "v1_10bin_10fold", + "fit_status": "fit", + "n_trials_fit": row["n_trials"], + **{ + field: row[field] + for field in ( + "weights", + "weights_mean", + "weights_error", + "scores", + "score_mean", + "bias", + "bias_mean", + ) + }, + } + for row in old_kernels.fetch(as_dict=True) + ], + skip_duplicates=True, + allow_direct_insert=True, + ) + + print(f"BehaviorAnalysisSet: {len(BehaviorAnalysisSet())}") + print(f"BehaviorAnalysisSet.TrialSet: {len(BehaviorAnalysisSet.TrialSet())}") + print(f"PsychometricSessionFit copied: {len(PsychometricSessionFit())}") + print(f"PsychometricSubjectFit copied: {len(PsychometricSubjectFit())}") + print(f"PsychophysicalKernel copied: {len(PsychophysicalKernel())}") + + +def _validate_table_state(connection, database): + existing = { + row[0] + for row in connection.query( + "SELECT table_name FROM information_schema.tables " + f"WHERE table_schema={database!r}" + ).fetchall() + } + missing = set(ARCHIVE_TABLES) - existing + occupied_archives = set(ARCHIVE_TABLES.values()) & existing + occupied_targets = NEW_TABLES & existing + if missing or occupied_archives or occupied_targets: + raise RuntimeError( + f"Unsafe table state: missing={sorted(missing)}, " + f"occupied_archives={sorted(occupied_archives)}, " + f"occupied_targets={sorted(occupied_targets)}" + ) + + +def _validate_resume_state(connection, database): + existing = { + row[0] + for row in connection.query( + "SELECT table_name FROM information_schema.tables " + f"WHERE table_schema={database!r}" + ).fetchall() + } + missing_archives = set(ARCHIVE_TABLES.values()) - existing + missing_targets = (NEW_TABLES | COMPUTED_TABLES) - existing + old_only_tables = set(ARCHIVE_TABLES) - COMPUTED_TABLES + occupied_sources = old_only_tables & existing + if missing_archives or missing_targets or occupied_sources: + raise RuntimeError( + f"Unsafe resume state: missing_archives={sorted(missing_archives)}, " + f"missing_targets={sorted(missing_targets)}, " + f"occupied_sources={sorted(occupied_sources)}" + ) + + +def _validate_kernel_configs(connection, database, *, archived=False): + master = ( + ARCHIVE_TABLES["behavior_session_set"] if archived else "behavior_session_set" + ) + kernel = ( + ARCHIVE_TABLES["__psychophysical_kernel"] + if archived + else "__psychophysical_kernel" + ) + queries = { + master: ( + "SELECT DISTINCT kernel_timebins, kernel_cv_splits, " + f"kernel_random_state FROM `{database}`.`{master}`" + ), + kernel: ( + "SELECT DISTINCT timebins, cv_splits, random_state " + f"FROM `{database}`.`{kernel}`" + ), + } + incompatible = {} + for table, query in queries.items(): + configs = {tuple(map(int, row)) for row in connection.query(query).fetchall()} + unexpected = configs - {EXPECTED_KERNEL_CONFIG} + if unexpected: + incompatible[table] = sorted(unexpected) + if incompatible: + raise RuntimeError(f"Incompatible legacy kernel configs: {incompatible}") + + +def _print_source_counts(connection, database): + for source, archive in ARCHIVE_TABLES.items(): + count = connection.query( + f"SELECT COUNT(*) FROM `{database}`.`{source}`" + ).fetchone()[0] + print(f"{source}: {count} rows -> {archive}") + + +def _print_archive_counts(connection, database): + for archive in ARCHIVE_TABLES.values(): + count = connection.query( + f"SELECT COUNT(*) FROM `{database}`.`{archive}`" + ).fetchone()[0] + print(f"{archive}: {count} archived rows") + + +def _archive_table(connection, database, source): + import datajoint as dj + + return dj.FreeTable(connection, f"`{database}`.`{ARCHIVE_TABLES[source]}`") + + +def _deduplicate_by_fields(rows, fields): + unique = {} + for row in rows: + unique.setdefault(tuple(row[field] for field in fields), row) + return list(unique.values()) + + +def _psychometric_outputs(row): + return { + field: row[field] + for field in ( + "stims", + "p_right", + "p_right_ci", + "n_right", + "n_obs", + "bias", + "sensitivity", + "guess_rate", + "lapse_rate", + "goodness_of_fit", + ) + } + + +if __name__ == "__main__": + main() diff --git a/scripts/analyses/plot_learning_curves.py b/scripts/analyses/plot_learning_curves.py new file mode 100644 index 0000000..de2570e --- /dev/null +++ b/scripts/analyses/plot_learning_curves.py @@ -0,0 +1,55 @@ +from __future__ import annotations + +import argparse +from pathlib import Path + +import _bootstrap # noqa: F401 + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser() + parser.add_argument("--analysis-set-id", required=True) + parser.add_argument("--output", type=Path, required=True) + return parser.parse_args() + + +def main() -> None: + args = parse_args() + import matplotlib + + matplotlib.use("Agg") + matplotlib.rcParams["font.family"] = "Arial" + from matplotlib import pyplot as plt + import pandas as pd + + from labdata.schema import DecisionTask + from labdata_plugin.analysisschema import BehaviorAnalysisSet + + selected = BehaviorAnalysisSet.TrialSet() & { + "analysis_set_id": args.analysis_set_id + } + rows = (DecisionTask.TrialSet() & selected).fetch(as_dict=True) + if not rows: + raise RuntimeError( + f"No selected TrialSets for analysis_set_id={args.analysis_set_id}" + ) + + data = pd.DataFrame(rows).sort_values(["subject_name", "session_name"]) + fig, ax = plt.subplots(figsize=(8, 4)) + for subject, subject_df in data.groupby("subject_name"): + ax.plot( + subject_df["performance_easy"].to_numpy(), + marker="o", + label=f"{subject} (n={len(subject_df)} sessions)", + ) + ax.set_xlabel("Session index") + ax.set_ylabel("Easy performance") + ax.set_ylim(0, 1) + ax.legend(frameon=False, fontsize=8) + ax.set_title("Easy performance across selected sessions") + args.output.parent.mkdir(parents=True, exist_ok=True) + fig.savefig(args.output, bbox_inches="tight") + + +if __name__ == "__main__": + main() diff --git a/scripts/analyses/plot_psychometrics.py b/scripts/analyses/plot_psychometrics.py new file mode 100644 index 0000000..9e40129 --- /dev/null +++ b/scripts/analyses/plot_psychometrics.py @@ -0,0 +1,64 @@ +from __future__ import annotations + +import argparse +from pathlib import Path + +import _bootstrap # noqa: F401 + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser() + parser.add_argument("--analysis-set-id", required=True) + parser.add_argument("--output", type=Path, required=True) + return parser.parse_args() + + +def main() -> None: + args = parse_args() + import matplotlib + + matplotlib.use("Agg") + matplotlib.rcParams["font.family"] = "Arial" + from matplotlib import pyplot as plt + import numpy as np + + from behavior_analyses.psychometrics import cumulative_gaussian + from labdata_plugin.analysisschema import PsychometricSubjectFit + + rows = ( + PsychometricSubjectFit() + & {"analysis_set_id": args.analysis_set_id, "fit_status": "fit"} + ).fetch(as_dict=True) + if not rows: + raise RuntimeError( + f"No fitted psychometrics for analysis_set_id={args.analysis_set_id}" + ) + + fig, ax = plt.subplots(figsize=(5, 5)) + for row in rows: + stims = np.asarray(row["stims"], dtype=float) + params = np.asarray( + [ + row["bias"], + row["sensitivity"], + row["guess_rate"], + row["lapse_rate"], + ], + dtype=float, + ) + p_right = np.asarray(row["p_right"], dtype=float) + x = np.asarray(sorted(stims), dtype=float) + label = f"{row['subject_name']} (n={row['n_choices_fit']})" + (line,) = ax.plot(x, cumulative_gaussian(*params, x), label=label) + ax.plot(stims, p_right, "o", color=line.get_color(), ms=4) + ax.set_xlabel("Stimulus rate relative to boundary (Hz)") + ax.set_ylabel("P(right choice)") + ax.set_ylim(0, 1) + ax.legend(frameon=False, fontsize=8) + ax.set_title("Psychometric fits by subject") + args.output.parent.mkdir(parents=True, exist_ok=True) + fig.savefig(args.output, bbox_inches="tight") + + +if __name__ == "__main__": + main() diff --git a/scripts/analyses/plot_psychophysical_kernels.py b/scripts/analyses/plot_psychophysical_kernels.py new file mode 100644 index 0000000..726ef35 --- /dev/null +++ b/scripts/analyses/plot_psychophysical_kernels.py @@ -0,0 +1,59 @@ +from __future__ import annotations + +import argparse +from pathlib import Path + +import _bootstrap # noqa: F401 + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser() + parser.add_argument("--analysis-set-id", required=True) + parser.add_argument("--output", type=Path, required=True) + return parser.parse_args() + + +def main() -> None: + args = parse_args() + import matplotlib + + matplotlib.use("Agg") + matplotlib.rcParams["font.family"] = "Arial" + from matplotlib import pyplot as plt + import numpy as np + + from labdata_plugin.analysisschema import PsychophysicalKernel + + rows = ( + PsychophysicalKernel() + & {"analysis_set_id": args.analysis_set_id, "fit_status": "fit"} + ).fetch(as_dict=True) + if not rows: + raise RuntimeError( + f"No fitted kernels for analysis_set_id={args.analysis_set_id}" + ) + + fig, ax = plt.subplots(figsize=(5, 4)) + for row in rows: + weights_mean = np.asarray(row["weights_mean"], dtype=float) + weights_error = np.asarray(row["weights_error"], dtype=float) + x = range(len(weights_mean)) + label = f"{row['subject_name']} (n={row['n_trials_fit']})" + ax.plot(x, weights_mean, label=label) + ax.fill_between( + x, + weights_mean - weights_error, + weights_mean + weights_error, + alpha=0.2, + ) + ax.axhline(0, color="k", alpha=0.3, linestyle="--") + ax.set_xlabel("Stimulus time bin") + ax.set_ylabel("Choice weight") + ax.legend(frameon=False, fontsize=8) + ax.set_title("Psychophysical kernels by subject") + args.output.parent.mkdir(parents=True, exist_ok=True) + fig.savefig(args.output, bbox_inches="tight") + + +if __name__ == "__main__": + main() diff --git a/scripts/analyses/populate_behavior_tables.py b/scripts/analyses/populate_behavior_tables.py new file mode 100644 index 0000000..1004500 --- /dev/null +++ b/scripts/analyses/populate_behavior_tables.py @@ -0,0 +1,39 @@ +from __future__ import annotations + +import argparse + +import _bootstrap # noqa: F401 + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser() + parser.add_argument("--analysis-set-id", required=True) + parser.add_argument("--dry-run", action="store_true") + return parser.parse_args() + + +def main() -> None: + args = parse_args() + from labdata_plugin.analysisschema import ( + BehaviorAnalysisSet, + PsychometricSessionFit, + PsychometricSubjectFit, + PsychophysicalKernel, + ) + + restriction = {"analysis_set_id": args.analysis_set_id} + selected_trialsets = BehaviorAnalysisSet.TrialSet() & restriction + table_restrictions = [ + (PsychometricSessionFit, selected_trialsets), + (PsychometricSubjectFit, restriction), + (PsychophysicalKernel, restriction), + ] + for table, table_restriction in table_restrictions: + pending = (table.key_source & table_restriction) - table() + print(f"{table.__name__}: {len(pending)} pending") + if not args.dry_run: + table.populate(table_restriction, display_progress=True) + + +if __name__ == "__main__": + main() diff --git a/scripts/analyses/seed_behavior_analysis_set.py b/scripts/analyses/seed_behavior_analysis_set.py new file mode 100644 index 0000000..3e3b007 --- /dev/null +++ b/scripts/analyses/seed_behavior_analysis_set.py @@ -0,0 +1,64 @@ +from __future__ import annotations + +import argparse + +import _bootstrap # noqa: F401 + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser() + parser.add_argument("--analysis-set-id", required=True) + parser.add_argument("--name", required=True) + parser.add_argument("--description", default="") + parser.add_argument("--subjects", nargs="+", required=True) + parser.add_argument("--trialset", default="visual") + parser.add_argument("--performance-threshold", type=float, default=0.7) + parser.add_argument("--min-trials-with-choice", type=int, default=200) + parser.add_argument("--dry-run", action="store_true") + return parser.parse_args() + + +def main() -> None: + args = parse_args() + from labdata.schema import DecisionTask + from labdata_plugin.analysisschema import BehaviorAnalysisSet + + relation = DecisionTask.TrialSet() & { + "trialset_description": args.trialset, + } + relation = relation & [{"subject_name": subject} for subject in args.subjects] + relation = relation & f"n_with_choice >= {args.min_trials_with_choice}" + relation = relation & f"performance_easy >= {args.performance_threshold}" + trialset_rows = relation.fetch("KEY") + + analysis_set = { + "analysis_set_id": args.analysis_set_id, + "analysis_set_name": args.name, + "analysis_set_description": args.description, + "performance_threshold": args.performance_threshold, + "min_trials_with_choice": args.min_trials_with_choice, + "selection_version": "v1", + } + + print(f"Analysis set: {analysis_set}") + print(f"TrialSets: {len(trialset_rows)}") + if args.dry_run: + return + + BehaviorAnalysisSet.insert1(analysis_set, skip_duplicates=True) + BehaviorAnalysisSet.TrialSet.insert( + [ + { + **row, + "analysis_set_id": args.analysis_set_id, + "include_reason": "seeded_from_decision_task", + } + for row in trialset_rows + ], + skip_duplicates=True, + ignore_extra_fields=True, + ) + + +if __name__ == "__main__": + main() diff --git a/sess.ipynb b/sess.ipynb index 8891334..4704469 100644 --- a/sess.ipynb +++ b/sess.ipynb @@ -1,202 +1,60 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "7fb27b941602401d91542211134fc71a", + "metadata": {}, + "source": [ + "# Session lookup (labdata)\n", + "\n", + "Maintained replacement for the archived `djchurchland` `sess.ipynb`.\n", + "Requires labdata/DataJoint credentials and a Chipmunk plugin (`from chipmunk import Chipmunk`)." + ] + }, { "cell_type": "code", - "execution_count": 2, - "id": "9ad1f58e", + "execution_count": null, + "id": "acae54e37e7d407bbb7b55eff062a284", "metadata": {}, "outputs": [], "source": [ - "from djchurchland.schema import Chipmunk\n", + "from pathlib import Path\n", + "import sys\n", "\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import matplotlib as mpl\n", "\n", + "REPO_ROOT = Path.cwd()\n", + "if not (REPO_ROOT / \"pyproject.toml\").exists():\n", + " REPO_ROOT = Path.cwd().parent\n", + "for path in [REPO_ROOT, REPO_ROOT / \"src\"]:\n", + " if str(path) not in sys.path:\n", + " sys.path.insert(0, str(path))\n", + "\n", + "from behavior_analyses.io import get_chipmunk_table\n", + "\n", + "Chipmunk = get_chipmunk_table()\n", + "\n", "new_rc_params = {\"text.usetex\": False, \"svg.fonttype\": \"none\"}\n", "mpl.rcParams.update(new_rc_params)\n", - "plt.rcParams[\"font.sans-serif\"] = [\"Arial\"]\n", - "plt.rcParams[\"font.size\"] = 12\n", - "\n", - "%matplotlib widget\n", - "%load_ext autoreload\n", - "%autoreload 2" + "plt.rcParams[\"font.size\"] = 12" ] }, { "cell_type": "code", - "execution_count": 3, - "id": "fd46321d", + "execution_count": null, + "id": "9a63283cbaf04dbcab1f6479b197f3a8", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "subject_name", - "rawType": "object", - "type": "string" - }, - { - "name": "session_datetime", - "rawType": "datetime64[ns]", - "type": "datetime" - }, - { - "name": "session_num", - "rawType": "int64", - "type": "integer" - }, - { - "name": "starttime", - "rawType": "datetime64[ns]", - "type": "datetime" - }, - { - "name": "duration", - "rawType": "float64", - "type": "float" - }, - { - "name": "setting_task_type", - "rawType": "object", - "type": "string" - }, - { - "name": "setting_modalities", - "rawType": "object", - "type": "unknown" - }, - { - "name": "setting_left_reward_volume", - "rawType": "float64", - "type": "float" - }, - { - "name": "setting_right_reward_volume", - "rawType": "float64", - "type": "float" - }, - { - "name": "setting_prob_audio", - "rawType": "float64", - "type": "float" - }, - { - "name": "setting_prob_vision", - "rawType": "float64", - "type": "float" - }, - { - "name": "setting_high_rate_side", - "rawType": "object", - "type": "string" - } - ], - "ref": "1b2f4d73-bb0b-4b29-965e-418b3a1bcce8", - "rows": [ - [ - "0", - "GRB006", - "2024-08-26 11:33:07", - "211", - "2024-08-26 11:34:07", - "3256.48", - "discrimination", - "['auditory']", - "3.0", - "3.0", - "1.0", - "0.0", - "right" - ] - ], - "shape": { - "columns": 12, - "rows": 1 - } - }, - "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", - "
subject_namesession_datetimesession_numstarttimedurationsetting_task_typesetting_modalitiessetting_left_reward_volumesetting_right_reward_volumesetting_prob_audiosetting_prob_visionsetting_high_rate_side
0GRB0062024-08-26 11:33:072112024-08-26 11:34:073256.48discrimination[auditory]3.03.01.00.0right
\n", - "
" - ], - "text/plain": [ - " subject_name session_datetime ... setting_prob_vision setting_high_rate_side\n", - "0 GRB006 2024-08-26 11:33:07 ... 0.0 right\n", - "\n", - "[1 rows x 12 columns]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "pd.DataFrame(\n", - " Chipmunk() & 'subject_name = \"GRB006\"' & 'session_datetime LIKE \"2024-08-26%\"'\n", - ")" + "pd.DataFrame(Chipmunk() & 'subject_name = \"GRB006\"' & 'session_name LIKE \"20240826%\"')" ] }, { "cell_type": "code", - "execution_count": 4, - "id": "01b67aa5", + "execution_count": null, + "id": "8dd0d8092fe74a7c96281538738b07e2", "metadata": {}, "outputs": [], "source": [ @@ -208,21 +66,13 @@ ], "metadata": { "kernelspec": { - "display_name": "base", + "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.12" + "pygments_lexer": "ipython3" } }, "nbformat": 4, diff --git a/src/behavior_analyses/__init__.py b/src/behavior_analyses/__init__.py new file mode 100644 index 0000000..aaae20f --- /dev/null +++ b/src/behavior_analyses/__init__.py @@ -0,0 +1 @@ +"""Behavior-only analyses backed by labdata.""" diff --git a/src/behavior_analyses/io.py b/src/behavior_analyses/io.py new file mode 100644 index 0000000..d49af1f --- /dev/null +++ b/src/behavior_analyses/io.py @@ -0,0 +1,89 @@ +from __future__ import annotations + +from pathlib import Path +import importlib.util +import os +import sys +from typing import Any + + +def _repo_root() -> Path: + return Path(__file__).resolve().parents[2] + + +def _configured_chipmunk_plugin_path() -> Path | None: + env_path = os.environ.get("CHIPMUNK_PLUGIN_PATH", "").strip() + if env_path: + return Path(env_path).expanduser() + + pyproject = _repo_root() / "pyproject.toml" + if not pyproject.exists(): + return None + + in_section = False + for line in pyproject.read_text(encoding="utf-8").splitlines(): + stripped = line.strip() + if stripped.startswith("[") and stripped.endswith("]"): + in_section = stripped == "[tool.behavior_analyses]" + continue + if not in_section or not stripped.startswith("chipmunk_plugin_path"): + continue + _, _, value = stripped.partition("=") + value = value.strip().strip("\"'") + if value: + return Path(value).expanduser() + return None + + +def get_chipmunk_table() -> Any: + """Return the labdata Chipmunk plugin table. + + Preferred path: ``from chipmunk import Chipmunk`` (plugin entry point). + Optional fallback: load a local checkout via ``CHIPMUNK_PLUGIN_PATH`` or + ``tool.behavior_analyses.chipmunk_plugin_path`` in ``pyproject.toml``. + """ + try: + from chipmunk import Chipmunk + + return Chipmunk + except ModuleNotFoundError: + plugin_path = _configured_chipmunk_plugin_path() + if plugin_path is None: + raise ModuleNotFoundError( + "Chipmunk plugin not importable as `chipmunk`, and no " + "CHIPMUNK_PLUGIN_PATH / tool.behavior_analyses.chipmunk_plugin_path " + "is configured." + ) from None + return _load_local_chipmunk_plugin(plugin_path).Chipmunk + + +def _load_local_chipmunk_plugin(plugin_root: Path) -> Any: + module_name = "_behavior_analyses_chipmunk_plugin" + if module_name in sys.modules: + return sys.modules[module_name] + + init_path = plugin_root / "labdata_plugin" / "__init__.py" + if not init_path.exists(): + alt = plugin_root / "__init__.py" + if alt.exists() and plugin_root.name == "labdata_plugin": + init_path = alt + search_locations = [str(plugin_root)] + else: + raise ModuleNotFoundError( + f"Could not find Chipmunk plugin at {plugin_root}; expected " + f"{plugin_root / 'labdata_plugin' / '__init__.py'}" + ) + else: + search_locations = [str(init_path.parent)] + + spec = importlib.util.spec_from_file_location( + module_name, + init_path, + submodule_search_locations=search_locations, + ) + if spec is None or spec.loader is None: + raise ModuleNotFoundError(f"Could not load Chipmunk plugin from {init_path}") + module = importlib.util.module_from_spec(spec) + sys.modules[module_name] = module + spec.loader.exec_module(module) + return module diff --git a/src/behavior_analyses/kernels.py b/src/behavior_analyses/kernels.py new file mode 100644 index 0000000..038ce97 --- /dev/null +++ b/src/behavior_analyses/kernels.py @@ -0,0 +1,88 @@ +from __future__ import annotations + +import numpy as np +from sklearn.linear_model import LogisticRegression +from sklearn.model_selection import StratifiedKFold + + +def build_residual_rate_matrix( + stim_events, + response_values, + *, + timebins: int = 10, + max_rate_hz: float = 20.0, +) -> tuple[np.ndarray, np.ndarray]: + rows = [] + choices = [] + for events, response in zip(stim_events, response_values): + if response not in (-1, 1): + continue + events = np.asarray(events, dtype=float) + events = events[np.isfinite(events)] + if events.size < 2: + continue + bins = np.linspace(events[0], events[-1], num=timebins + 1) + specific_rate = max_rate_hz / len(bins) + instantaneous_rate, _ = np.histogram(events, bins=bins) + rows.append(instantaneous_rate - specific_rate) + choices.append(response == 1) + if not rows: + return np.empty((0, timebins)), np.empty((0,), dtype=int) + return np.asarray(rows, dtype=float), np.asarray(choices, dtype=int) + + +def fit_psychophysical_kernel( + stim_events, + response_values, + *, + timebins: int = 10, + cv_splits: int = 10, + random_state: int = 0, + max_rate_hz: float = 20.0, + regularization_c: float = 1.0, +) -> dict: + x, y = build_residual_rate_matrix( + stim_events, response_values, timebins=timebins, max_rate_hz=max_rate_hz + ) + if x.shape[0] < cv_splits or np.unique(y).size < 2: + return { + "design_matrix": x, + "choice_right": y, + "weights": np.empty((0, timebins)), + "scores": np.empty((0,)), + "bias": np.empty((0,)), + "error": np.empty((0, timebins)), + } + + splitter = StratifiedKFold( + n_splits=cv_splits, shuffle=True, random_state=random_state + ) + weights = [] + scores = [] + biases = [] + errors = [] + for train_index, test_index in splitter.split(x, y): + x_train, x_test = x[train_index], x[test_index] + y_train, y_test = y[train_index], y[test_index] + model = LogisticRegression( + penalty="l2", + solver="liblinear", + C=regularization_c, + fit_intercept=True, + ).fit(x_train, y_train) + predict_prob = model.predict_proba(x_train) + variance = np.prod(predict_prob, axis=1) + covariance = np.linalg.pinv(np.dot(x_train.T * variance, x_train)) + errors.append(np.sqrt(np.diag(covariance))) + weights.append(model.coef_[0]) + scores.append(model.score(x_test, y_test)) + biases.append(model.intercept_[0]) + + return { + "design_matrix": x, + "choice_right": y, + "weights": np.asarray(weights, dtype=float), + "scores": np.asarray(scores, dtype=float), + "bias": np.asarray(biases, dtype=float), + "error": np.asarray(errors, dtype=float), + } diff --git a/src/behavior_analyses/learning.py b/src/behavior_analyses/learning.py new file mode 100644 index 0000000..bb5b74d --- /dev/null +++ b/src/behavior_analyses/learning.py @@ -0,0 +1,52 @@ +from __future__ import annotations + +import numpy as np + + +def _as_float_array(value) -> np.ndarray: + return np.asarray(value if value is not None else [], dtype=float) + + +def summarize_trialset(row: dict) -> dict: + response_values = _as_float_array(row.get("response_values")) + correct_values = _as_float_array(row.get("correct_values")) + initiation_times = _as_float_array(row.get("initiation_times")) + reaction_times = _as_float_array(row.get("reaction_times")) + intensity_values = _as_float_array(row.get("intensity_values")) + + valid_choices = np.isfinite(response_values) & (response_values != 0) + valid_correct = np.isfinite(correct_values) + + return { + "n_trials": int(row.get("n_trials", len(response_values))), + "n_with_choice": int(np.sum(valid_choices)), + "n_correct": int(np.nansum(correct_values[valid_correct])) + if valid_correct.any() + else 0, + "performance": _finite_or_none(row.get("performance")), + "performance_easy": _finite_or_none(row.get("performance_easy")), + "mean_initiation_time": _nanmean_or_none(initiation_times), + "mean_reaction_time": _nanmean_or_none(reaction_times), + "stim_values": np.sort( + np.unique(intensity_values[np.isfinite(intensity_values)]) + ), + "response_values": response_values, + "correct_values": correct_values, + "intensity_values": intensity_values, + } + + +def _nanmean_or_none(values: np.ndarray) -> float | None: + finite = values[np.isfinite(values)] + if finite.size == 0: + return None + return float(np.mean(finite)) + + +def _finite_or_none(value) -> float | None: + if value is None: + return None + value = float(value) + if not np.isfinite(value): + return None + return value diff --git a/src/behavior_analyses/psychometrics.py b/src/behavior_analyses/psychometrics.py new file mode 100644 index 0000000..669203e --- /dev/null +++ b/src/behavior_analyses/psychometrics.py @@ -0,0 +1,63 @@ +from __future__ import annotations + +import numpy as np +from fit_psychometric import cumulative_gaussian, fit_psychometric + +__all__ = ["cumulative_gaussian", "fit_psychometric_labdata"] + +MIN_CHOICES = 100 +MIN_STIM_VALUES = 6 + + +def fit_psychometric_labdata( + stim_values, + response_values, + *, + min_choices: int = MIN_CHOICES, + min_required_stim_values: int = MIN_STIM_VALUES, +): + """Fit psychometrics using the external fitter and labdata response coding.""" + stim_values = np.asarray(stim_values, dtype=float) + response_values = np.asarray(response_values, dtype=float) + valid_choice = np.isfinite(stim_values) & np.isin(response_values, [-1, 1]) + stim_values = stim_values[valid_choice] + response_values = response_values[valid_choice] + if response_values.size < min_choices: + return None + + choice_right = (response_values == 1).astype(float) + fit_result = fit_psychometric( + stim_values, + choice_right, + min_required_stim_values=min_required_stim_values, + ) + if fit_result["fit_params"] is None: + return None + + params = np.asarray(fit_result["fit_params"], dtype=float) + predicted = fit_result["function"](*params, np.asarray(fit_result["stims"])) + goodness_of_fit = _r_squared(np.asarray(fit_result["p_side"]), predicted) + return { + "stims": np.asarray(fit_result["stims"], dtype=float), + "p_side": np.asarray(fit_result["p_side"], dtype=float), + "p_right": np.asarray(fit_result["p_side"], dtype=float), + "p_side_ci": np.asarray(fit_result["p_side_ci"], dtype=float), + "p_right_ci": np.asarray(fit_result["p_side_ci"], dtype=float), + "n_side": np.asarray(fit_result["n_side"], dtype=float), + "n_right": np.asarray(fit_result["n_side"], dtype=float), + "n_obs": np.asarray(fit_result["n_obs"], dtype=float), + "bias": float(params[0]), + "sensitivity": float(params[1]), + "guess_rate": float(params[2]), + "lapse_rate": float(params[3]), + "goodness_of_fit": goodness_of_fit, + "fit_params": params, + } + + +def _r_squared(observed, predicted) -> float: + ss_res = np.sum((observed - predicted) ** 2) + ss_tot = np.sum((observed - np.mean(observed)) ** 2) + if ss_tot == 0: + return float("nan") + return float(1 - (ss_res / ss_tot)) diff --git a/tests/test_analysis_functions.py b/tests/test_analysis_functions.py new file mode 100644 index 0000000..ec10f73 --- /dev/null +++ b/tests/test_analysis_functions.py @@ -0,0 +1,107 @@ +from __future__ import annotations + +from pathlib import Path +import sys +import types +import unittest + +import numpy as np + + +REPO_ROOT = Path(__file__).resolve().parents[1] +SRC_ROOT = REPO_ROOT / "src" +sys.path.insert(0, str(SRC_ROOT)) + + +class PsychometricTests(unittest.TestCase): + def test_package_adapter_uses_labdata_rightward_response_code(self): + fake_module = types.ModuleType("fit_psychometric") + + def cumulative_gaussian(alpha, beta, gamma, lapse, x): + x = np.asarray(x, dtype=float) + return gamma + (1 - gamma - lapse) / (1 + np.exp(-beta * (x - alpha))) + + def fit_psychometric(stim_values, response_values, min_required_stim_values): + stims = np.unique(stim_values) + p_side = np.array( + [np.mean(response_values[stim_values == stim]) for stim in stims] + ) + n_obs = np.array([np.sum(stim_values == stim) for stim in stims]) + n_side = p_side * n_obs + if len(stims) < min_required_stim_values: + fit_params = None + else: + fit_params = np.array([12.0, 0.2, p_side[0], 1 - p_side[-1]]) + return { + "stims": stims, + "p_side": p_side, + "p_side_ci": np.column_stack([p_side, p_side]), + "n_side": n_side, + "n_obs": n_obs, + "fit_params": fit_params, + "fit": object(), + "function": cumulative_gaussian, + } + + fake_module.cumulative_gaussian = cumulative_gaussian + fake_module.fit_psychometric = fit_psychometric + sys.modules["fit_psychometric"] = fake_module + + from behavior_analyses.psychometrics import fit_psychometric_labdata + + stims = np.repeat(np.array([4, 6, 8, 12, 16, 20], dtype=float), 30) + responses = np.where(stims > 12, 1, -1) + responses[stims == 12] = np.tile([1, -1], 15) + + fit = fit_psychometric_labdata(stims, responses, min_choices=20) + + self.assertIsNotNone(fit) + self.assertEqual(fit["stims"].tolist(), [4, 6, 8, 12, 16, 20]) + np.testing.assert_allclose(fit["p_right"], [0, 0, 0, 0.5, 1, 1]) + self.assertEqual(len(fit["fit_params"]), 4) + + +class LearningTests(unittest.TestCase): + def test_summarize_trialset_counts_choice_and_means(self): + from behavior_analyses.learning import summarize_trialset + + summary = summarize_trialset( + { + "n_trials": 4, + "performance": 0.75, + "performance_easy": 1.0, + "response_values": np.array([1, -1, 0, np.nan]), + "correct_values": np.array([1, 1, 0, np.nan]), + "initiation_times": np.array([0.2, 0.3, np.nan, 0.5]), + "reaction_times": np.array([0.1, np.nan, 0.2, 0.3]), + "intensity_values": np.array([4, 8, 8, np.nan]), + } + ) + + self.assertEqual(summary["n_trials"], 4) + self.assertEqual(summary["n_with_choice"], 2) + self.assertEqual(summary["n_correct"], 2) + self.assertAlmostEqual(summary["mean_initiation_time"], 1.0 / 3.0) + np.testing.assert_allclose(summary["stim_values"], [4, 8]) + + +class KernelTests(unittest.TestCase): + def test_kernel_design_matrix_skips_no_choice_and_short_stim_trials(self): + from behavior_analyses.kernels import build_residual_rate_matrix + + stim_events = [ + np.array([0.0, 0.1, 0.2]), + np.array([0.0]), + np.array([0.0, 0.2, 0.4]), + ] + responses = np.array([1, -1, 0]) + + x, y = build_residual_rate_matrix(stim_events, responses, timebins=2) + + self.assertEqual(x.shape, (1, 2)) + np.testing.assert_allclose(x[0], [1 - 20 / 3, 2 - 20 / 3]) + np.testing.assert_array_equal(y, [1]) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_cli_and_migration_contracts.py b/tests/test_cli_and_migration_contracts.py new file mode 100644 index 0000000..bdf9eff --- /dev/null +++ b/tests/test_cli_and_migration_contracts.py @@ -0,0 +1,291 @@ +from __future__ import annotations + +from datetime import datetime +import json +from pathlib import Path +import runpy +import sys +import types +import unittest +from unittest.mock import MagicMock, patch + +import numpy as np + + +REPO_ROOT = Path(__file__).resolve().parents[1] +SCRIPTS = REPO_ROOT / "scripts" / "analyses" +SRC_ROOT = REPO_ROOT / "src" +sys.path.insert(0, str(SRC_ROOT)) +sys.path.insert(0, str(REPO_ROOT)) +sys.path.insert(0, str(SCRIPTS)) + + +class _Andable: + def __and__(self, _other): + return self + + def __sub__(self, _other): + return [1, 2] + + +class FakeTrialSet(_Andable): + def __init__(self, rows): + self._rows = rows + + def __call__(self): + return self + + def fetch(self, *_args, **_kwargs): + return self._rows + + +class FakeComputed: + key_source = _Andable() + + def __call__(self): + return self + + @staticmethod + def populate(*_args, **_kwargs): + raise AssertionError("populate should not run in dry-run") + + +class CliContractTests(unittest.TestCase): + def test_schema_migration_archive_names_leave_room_for_foreign_keys(self): + module = runpy.run_path(str(SCRIPTS / "migrate_behavior_analysis_schema.py")) + + self.assertTrue( + all( + len(f"{name}_ibfk_99") <= 64 + for name in module["ARCHIVE_TABLES"].values() + ) + ) + + def test_schema_migration_rejects_occupied_target_tables(self): + module = runpy.run_path(str(SCRIPTS / "migrate_behavior_analysis_schema.py")) + connection = MagicMock() + connection.query.return_value.fetchall.return_value = [ + *[(name,) for name in module["ARCHIVE_TABLES"]], + ("behavior_analysis_set",), + ] + + with self.assertRaisesRegex(RuntimeError, "occupied_targets"): + module["_validate_table_state"](connection, "labdata_user") + + expected = MagicMock() + expected.fetchall.return_value = [(10, 10, 0)] + incompatible = MagicMock() + incompatible.fetchall.return_value = [(8, 10, 0)] + connection.query.side_effect = [expected, incompatible] + with self.assertRaisesRegex(RuntimeError, "Incompatible legacy kernel"): + module["_validate_kernel_configs"](connection, "labdata_user") + + def test_schema_migration_accepts_expected_resume_state(self): + module = runpy.run_path(str(SCRIPTS / "migrate_behavior_analysis_schema.py")) + connection = MagicMock() + existing = ( + set(module["ARCHIVE_TABLES"].values()) + | module["NEW_TABLES"] + | module["COMPUTED_TABLES"] + ) + connection.query.return_value.fetchall.return_value = [ + (name,) for name in existing + ] + + module["_validate_resume_state"](connection, "labdata_user") + + def test_schema_migration_deduplicates_direct_trialset_keys(self): + module = runpy.run_path(str(SCRIPTS / "migrate_behavior_analysis_schema.py")) + rows = [ + {"subject_name": "GRB001", "session_name": "s1", "set": "a"}, + {"subject_name": "GRB001", "session_name": "s1", "set": "b"}, + {"subject_name": "GRB001", "session_name": "s2", "set": "a"}, + ] + + unique = module["_deduplicate_by_fields"]( + rows, ("subject_name", "session_name") + ) + + self.assertEqual([row["session_name"] for row in unique], ["s1", "s2"]) + + def test_seed_script_dry_run_prints_counts_without_insert(self): + fake_rows = [ + { + "subject_name": "GRB001", + "session_name": "20240101_120000", + "trialset_description": "visual", + }, + { + "subject_name": "GRB001", + "session_name": "20240102_120000", + "trialset_description": "visual", + }, + ] + + fake_schema = types.ModuleType("labdata.schema") + fake_schema.DecisionTask = types.SimpleNamespace( + TrialSet=FakeTrialSet(fake_rows) + ) + + fake_labdata = types.ModuleType("labdata") + fake_labdata.schema = fake_schema + + def _boom(*_args, **_kwargs): + raise AssertionError("database writes should not run in dry-run") + + fake_plugin = types.ModuleType("labdata_plugin.analysisschema") + fake_plugin.BehaviorAnalysisSet = types.SimpleNamespace( + insert1=_boom, + TrialSet=types.SimpleNamespace(insert=_boom), + ) + + argv = [ + "seed_behavior_analysis_set.py", + "--analysis-set-id", + "test_set", + "--name", + "Test", + "--subjects", + "GRB001", + "--dry-run", + ] + with ( + patch.dict( + sys.modules, + { + "labdata": fake_labdata, + "labdata.schema": fake_schema, + "labdata_plugin": types.ModuleType("labdata_plugin"), + "labdata_plugin.analysisschema": fake_plugin, + }, + ), + patch.object(sys, "argv", argv), + ): + runpy.run_path( + str(SCRIPTS / "seed_behavior_analysis_set.py"), run_name="__main__" + ) + + def test_populate_script_dry_run_reports_pending(self): + fake_plugin = types.ModuleType("labdata_plugin.analysisschema") + fake_plugin.BehaviorAnalysisSet = types.SimpleNamespace( + TrialSet=FakeTrialSet([]) + ) + for name in [ + "PsychometricSessionFit", + "PsychometricSubjectFit", + "PsychophysicalKernel", + ]: + setattr(fake_plugin, name, type(name, (FakeComputed,), {})) + + argv = [ + "populate_behavior_tables.py", + "--analysis-set-id", + "test_set", + "--dry-run", + ] + with ( + patch.dict( + sys.modules, + { + "labdata_plugin": types.ModuleType("labdata_plugin"), + "labdata_plugin.analysisschema": fake_plugin, + }, + ), + patch.object(sys, "argv", argv), + ): + runpy.run_path( + str(SCRIPTS / "populate_behavior_tables.py"), run_name="__main__" + ) + + +class IoConfigTests(unittest.TestCase): + def test_configured_path_reads_env(self): + from behavior_analyses import io as io_mod + + with patch.dict("os.environ", {"CHIPMUNK_PLUGIN_PATH": "/tmp/chipmunk-plugin"}): + path = io_mod._configured_chipmunk_plugin_path() + self.assertEqual(path, Path("/tmp/chipmunk-plugin")) + + +class PsychometricPlotHelperTests(unittest.TestCase): + def test_fetch_uses_labdata_rates_and_session_names(self): + from psychometric_curves import utils + + relation = MagicMock() + relation.__mul__.return_value = relation + relation.__and__.return_value = relation + relation.fetch.return_value = ( + np.array([1, -1, 1]), + np.array(["visual", "audio", "visual+audio"]), + np.array([20.0, 8.0, 20.0]), + np.array([14.0, 20.0, 13.0]), + np.array([12.0, 10.0, 12.0]), + ) + part = MagicMock(return_value=relation) + chipmunk = types.SimpleNamespace(Trial=part, TrialParameters=part) + with patch.object(utils, "get_chipmunk_table", return_value=chipmunk): + responses, intensity = utils._fetch_choice_and_stim( + "GRB006", + None, + [datetime(2024, 8, 26, 11, 33, 7)], + ) + + np.testing.assert_array_equal(responses, [1, -1, 1]) + np.testing.assert_allclose(intensity, [2, -2, 1]) + self.assertIn( + [{"session_name": "20240826_113307"}], + [call.args[0] for call in relation.__and__.call_args_list], + ) + self.assertNotIn("stim_rate", relation.fetch.call_args.args) + + +class NoDjchurchlandImportsTests(unittest.TestCase): + def test_maintained_python_sources_do_not_import_djchurchland(self): + import ast + + roots = [ + REPO_ROOT / "src", + REPO_ROOT / "scripts", + REPO_ROOT / "labdata_plugin", + REPO_ROOT / "psychometric_curves" / "utils.py", + REPO_ROOT / "tests", + ] + offenders = [] + for root in roots: + paths = [root] if root.is_file() else root.rglob("*.py") + for path in paths: + tree = ast.parse(path.read_text(encoding="utf-8"), filename=str(path)) + for node in ast.walk(tree): + if isinstance(node, ast.Import): + names = [alias.name for alias in node.names] + elif isinstance(node, ast.ImportFrom): + names = [node.module or ""] + else: + continue + if any( + name == "djchurchland" or name.startswith("djchurchland.") + for name in names + ): + offenders.append(str(path.relative_to(REPO_ROOT))) + break + + for path in [ + REPO_ROOT / "behavioral_metrics" / "plot_learning_curves.ipynb", + REPO_ROOT / "psychometric_curves" / "plot_psychometric_fits.ipynb", + REPO_ROOT / "psychophysical_kernels" / "plot_kernels.ipynb", + REPO_ROOT / "sess.ipynb", + ]: + notebook = json.loads(path.read_text(encoding="utf-8")) + code = "\n".join( + "".join(cell["source"]) + for cell in notebook["cells"] + if cell["cell_type"] == "code" + ) + if "djchurchland" in code: + offenders.append(str(path.relative_to(REPO_ROOT))) + + self.assertEqual(offenders, []) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_schema_imports.py b/tests/test_schema_imports.py new file mode 100644 index 0000000..aed5355 --- /dev/null +++ b/tests/test_schema_imports.py @@ -0,0 +1,78 @@ +from __future__ import annotations + +import importlib +from pathlib import Path +import sys +import types +import unittest +from unittest.mock import patch + + +REPO_ROOT = Path(__file__).resolve().parents[1] +SRC_ROOT = REPO_ROOT / "src" +sys.path.insert(0, str(SRC_ROOT)) +sys.path.insert(0, str(REPO_ROOT)) + + +class FakeRelation: + def __and__(self, _other): + return self + + def __sub__(self, _other): + return self + + +class FakeTable(FakeRelation): + key_source = FakeRelation() + + def __call__(self): + return self + + +class FakeSchema: + def __call__(self, cls): + return cls + + +class SchemaImportTests(unittest.TestCase): + def test_locked_datajoint_imports(self): + import datajoint + + self.assertTrue(hasattr(datajoint, "schema")) + + def test_analysis_schema_imports_with_fake_labdata(self): + fake_dj = types.ModuleType("datajoint") + fake_dj.Manual = FakeTable + fake_dj.Lookup = FakeTable + fake_dj.Computed = FakeTable + fake_dj.Part = FakeTable + + fake_schema = types.ModuleType("labdata.schema") + fake_schema.DecisionTask = types.SimpleNamespace(TrialSet=FakeTable()) + fake_schema.Subject = FakeTable + fake_schema.get_user_schema = lambda: FakeSchema() + + fake_labdata = types.ModuleType("labdata") + fake_labdata.schema = fake_schema + + with patch.dict( + sys.modules, + { + "datajoint": fake_dj, + "labdata": fake_labdata, + "labdata.schema": fake_schema, + }, + ): + sys.modules.pop("labdata_plugin.analysisschema", None) + module = importlib.import_module("labdata_plugin.analysisschema") + module = importlib.reload(module) + + self.assertTrue(hasattr(module, "BehaviorAnalysisSet")) + self.assertTrue(hasattr(module, "PsychometricFitConfig")) + self.assertTrue(hasattr(module, "PsychophysicalKernelFitConfig")) + self.assertTrue(hasattr(module, "PsychophysicalKernel")) + self.assertFalse(hasattr(module, "LearningSessionMetrics")) + + +if __name__ == "__main__": + unittest.main() diff --git a/third_party/fit_psychometric/LICENSE b/third_party/fit_psychometric/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/third_party/fit_psychometric/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/third_party/fit_psychometric/README.md b/third_party/fit_psychometric/README.md new file mode 100644 index 0000000..3fd1d63 --- /dev/null +++ b/third_party/fit_psychometric/README.md @@ -0,0 +1,3 @@ +# Vendored from https://github.com/jcouto/fit_psychometric at commit 665d058. +# Upstream is unpackaged; this tree adds a minimal pyproject.toml for uv/pip. +# See LICENSE in this directory. diff --git a/third_party/fit_psychometric/fit_psychometric/__init__.py b/third_party/fit_psychometric/fit_psychometric/__init__.py new file mode 100644 index 0000000..adc6797 --- /dev/null +++ b/third_party/fit_psychometric/fit_psychometric/__init__.py @@ -0,0 +1,6 @@ +from .analysis import (compute_proportions, + fit_psychometric, + PsychometricRegression, + cumulative_gaussian, + weibull) + diff --git a/third_party/fit_psychometric/fit_psychometric/analysis.py b/third_party/fit_psychometric/fit_psychometric/analysis.py new file mode 100644 index 0000000..8495ded --- /dev/null +++ b/third_party/fit_psychometric/fit_psychometric/analysis.py @@ -0,0 +1,234 @@ +# the following is from github.com/jcouto/btss +from statsmodels.stats.proportion import proportion_confint +from scipy.special import erfc # import the complementary error function +from scipy.special import erf # import the error function +# This has example ways to fit the psychometric function and getting confidence intervals +from statsmodels.base.model import GenericLikelihoodModel +from scipy.optimize import minimize +import numpy as np + +# weibull fit +def weibull(bias, slope, gamma1, gamma2, X): + ''' weibull function with lapse rates + ''' + return gamma1 + (1. - gamma1 - gamma2) * (erf((X - bias) / slope) + 1.) / 2. +1e-9 + +def cumulative_gaussian(alpha,beta,gamma,lmbda, X): + ''' + Evaluate the cumulative gaussian psychometric function. + alpha is the bias (left or right) + beta is the stepness + gamma is the left handside offset + lmbda is the right handside offset + + Adapted from the Palamedes toolbox + Joao Couto - Jan 2022 + ''' + + from scipy.special import erfc # import the complementary error function + return gamma + (1 - gamma - lmbda)*0.5*erfc(-beta*(X-alpha)/np.sqrt(2))+1e-9 + +# log likelihood when using minimize +def neg_log_likelihood_error(func, parameters, X, Y): + ''' + Compute the log likelihood + + 'func' is the (psychometric) function + 'parameters' are the input parameters to 'func' + 'Y' is the binary response (correct = 1; incorrect=0) + Joao Couto - Jan 2022 + ''' + + pX = func(*parameters, X)*0.99 + 0.005 # the predicted performance for X from the PMF + # epsilon to prevent error in log(0) + val = np.nansum(Y*np.log(pX) + (1-Y)*np.log(1-pX)) + return -1*val + +def compute_proportions(stim_values, response_values): + ''' + Computes the proportion of responses to each stimulus value. +Returns: + - stims - unique stimulus intensities + - p_side - proportion of trials to the side + - ci_side - confidance intervals from binomial distribution with the wilson method + - n_obs - number of observations (trials for each) + - n_side - number of trials to the specific side + + +Joao Couto - Jan 2023 + ''' + + stims = np.unique(stim_values) + p_side = np.zeros_like(stims,dtype=float) + ci_side = np.zeros((len(stims),2),dtype=float) + n_obs = np.zeros_like(stims,dtype=float) + n_side = np.zeros_like(stims,dtype=float) + for i,intensity in enumerate(stims): + # number of times the subject licked to one of the sides + cnt = np.sum(response_values[stim_values == intensity]) + nobs = np.sum(stim_values == intensity) # number of observations (ntrials) + n_obs[i] = nobs + n_side[i] = cnt + p_side[i] = cnt/nobs + ci_side[i] = proportion_confint(cnt,nobs,method='wilson') # 95% confidence interval + return stims,p_side,ci_side,n_obs,n_side + +# statsmodels gives confidence and p values for the fit +class PsychometricRegression(GenericLikelihoodModel): + ''' + Fits a psychometric with constraints function (constrained weibull e.g.) + + This is part of the tools for github.com/jcouto/btss + + Inputs: + endog - are the response values for each trial + exog - are the stim intensities for each trial + func - the function to fit; default weibull with lapses + bound - the constraints to the fit; default [(min(x),max(x)),(0.01,1000),(0,1),(0,1)] + startpar_function - a function to get the start guess for the fit + parnames - the names of the fit parameters + + Usage: + + ft = PsychometricRegression(response_values.astype(float), + exog = stim_values.astype(float)) + res = ft.fit(min_required_stim_values = min_required_stim_values, full_output=True) + print(res.summary()) + + Joao Couto - Feb 2023 + ''' + def __init__(self, endog, exog, func = None, bounds = None,startpar_function = None,parnames = None, **kwds): + ''' + Fits a psychometric with constraints function (constrained weibull e.g.) + + This is part of the tools for github.com/jcouto/btss + + Inputs: + endog - are the response values for each trial + exog - are the stim intensities for each trial + func - the function to fit; default weibull with lapses + bound - the constraints to the fit; default [(min(x),max(x)),(0.01,1000),(0,1),(0,1)] + startpar_function - a function to get the start guess for the fit + parnames - the names of the fit parameters + + Usage: + + ft = PsychometricRegression(response_values.astype(float), + exog = stim_values.astype(float)) + res = ft.fit(min_required_stim_values = min_required_stim_values, full_output=True) + print(res.summary()) + + Joao Couto - Feb 2023 + ''' + + super(PsychometricRegression, self).__init__(endog, exog, **kwds) + if not func is None: + self.fit_function = func + self.bounds = None + self.get_start_params = startpar_function + if not parnames is None: + self.exog_names[:] = parnames + else: + self.fit_function = cumulative_gaussian + self.exog_names[:] = ['bias','sensitivity','gamma1','gamma2'] + self.bounds = [(np.min(self.exog[:,0]),np.max(self.exog[:,0])), + (0.001,0.3), + (0,0.5),(0,0.5)] + self.get_start_params = lambda x,y: [0,1./np.max(x),y[0],1-y[-1]] + + + def loglikeobs(self,params): + pX = self.fit_function(*params, self.exog[:,0]) + pX[pX<=0] = 0.0001 + pX[pX>=1] = 0.9999 + ii = np.where(np.isfinite(pX)) + # the predicted performance for X from the PMF + val = np.nansum(self.endog[ii]*np.log(pX[ii]) + (1-self.endog[ii])*np.log(1-pX[ii])) + return val + + def fit(self, start_params=None, + maxiter=100000, + maxfun=10000, + method = 'lbfgs', # Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm because it can be constrained + min_required_stim_values=6, **kwds): + + self.stims, self.p_side, self.ci_side, self.n_obs,self.n_side = compute_proportions(self.exog[:,0], self.endog) + if len(self.stims) < min_required_stim_values: + return None + + if start_params == None: + # Reasonable starting values + if not self.get_start_params is None: + start_params = self.get_start_params(self.stims, self.p_side) + if start_params is None: + raise(ValueError("Need to provide start parameters or a function to compute them.")) + self.df_null = 0 + self.k_constant = len(start_params) + self.df_resid = len(self.endog)-len(start_params) + return super(PsychometricRegression, self).fit( + start_params=start_params, + maxiter=maxiter, + maxfun=maxfun, + method = method, + bounds = self.bounds, + disp = False, + **kwds) + +# main function to fit and compute statistics +def fit_psychometric(stim_values, response_values, + func = cumulative_gaussian, # to fit the psychometric + min_required_stim_values = 6, # min values required to fit the function + method = 'PsychometricRegression'):#'Nelder-Mead'):#'L-BFGS-B'): + ''' + Fits a psychometric curve and computes points + + Joao Couto - Jan 2023 + ''' + if method == 'PsychometricRegression': + # use PsychometricRegression (default weibull) + ft = PsychometricRegression(response_values.astype(float), + exog = stim_values.astype(float)) + res = ft.fit(min_required_stim_values = min_required_stim_values, full_output=True) + if res is None: + fit_res = None + params = None + else: + fit_res = res + params = res.params + return dict(stims = ft.stims, + p_side = ft.p_side, + p_side_ci = ft.ci_side, + n_side = ft.n_side, + n_obs = ft.n_obs, + fit_params = params, + fit = fit_res, + function = ft.fit_function) + + stims,p_side,ci_side,n_obs,n_side = compute_proportions(stim_values, response_values) + fit_res = None + params = None + if len(stims) >= min_required_stim_values and not func is None: + + opt_func = lambda pars: neg_log_likelihood_error(func, pars, + stim_values, + response_values) + # x0 is the initial guess for the fit, it is an important parameter + x0 = [0.,0.1,p_side[0],1 - p_side[-1]] + bounds = [(stims[0],stims[-1]),(0.0001,10),(0,0.7),(0,.7)] + #import warnings + #warnings.filterwarnings('ignore') + options = dict(maxiter = 500*len(x0)) + if 'Neder' in method: + options['adaptive'] = True + fit_res = minimize(opt_func, x0, + options = options, + bounds = bounds, method = method) + params = fit_res.x + return dict(stims = stims, + p_side = p_side, + p_side_ci = ci_side, + n_side = n_side, + n_obs = n_obs, + fit_params = params, + fit = fit_res, + function = func) diff --git a/third_party/fit_psychometric/pyproject.toml b/third_party/fit_psychometric/pyproject.toml new file mode 100644 index 0000000..ac4094c --- /dev/null +++ b/third_party/fit_psychometric/pyproject.toml @@ -0,0 +1,17 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "fit-psychometric" +version = "0.1.0" +description = "Vendored fit_psychometric helpers (upstream: jcouto/fit_psychometric@665d058)" +requires-python = ">=3.10" +dependencies = [ + "numpy", + "scipy", + "statsmodels", +] + +[tool.hatch.build.targets.wheel] +packages = ["fit_psychometric"] diff --git a/uv.lock b/uv.lock index cd0db15..cb039d4 100644 --- a/uv.lock +++ b/uv.lock @@ -14,6 +14,14 @@ resolution-markers = [ "python_full_version < '3.11'", ] +[manifest] +constraints = [ + { name = "cryptography", specifier = ">=48.0.1" }, + { name = "pillow", specifier = ">=12.3.0" }, + { name = "tornado", specifier = ">=6.5.7" }, + { name = "urllib3", specifier = ">=2.7.0" }, +] + [[package]] name = "appdirs" version = "1.4.4" @@ -95,7 +103,8 @@ version = "0.1.0" source = { virtual = "." } dependencies = [ { name = "chica" }, - { name = "djchurchland" }, + { name = "datajoint" }, + { name = "fit-psychometric" }, { name = "ipykernel" }, { name = "labdata" }, { name = "matplotlib" }, @@ -109,14 +118,16 @@ dependencies = [ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "seaborn" }, + { name = "statsmodels" }, ] [package.metadata] requires-dist = [ { name = "chica", git = "https://github.com/churchlandlab/chiCa" }, - { name = "djchurchland", git = "https://github.com/churchlandlab/djchurchland" }, + { name = "datajoint", specifier = ">=0.14.9,<2.0.0" }, + { name = "fit-psychometric", editable = "third_party/fit_psychometric" }, { name = "ipykernel", specifier = ">=6.0.0" }, - { name = "labdata", specifier = ">=0.0.22" }, + { name = "labdata", specifier = ">=0.1.7" }, { name = "matplotlib", specifier = ">=3.0.0" }, { name = "natsort", specifier = ">=8.0.0" }, { name = "numpy", specifier = ">=1.24.0" }, @@ -124,6 +135,7 @@ requires-dist = [ { name = "scikit-learn", specifier = ">=1.0.0" }, { name = "scipy", specifier = ">=1.10.0" }, { name = "seaborn", specifier = ">=0.13.0" }, + { name = "statsmodels", specifier = ">=0.14.0" }, ] [[package]] @@ -454,62 +466,59 @@ wheels = [ [[package]] name = "cryptography" -version = "46.0.7" +version = "49.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/47/93/ac8f3d5ff04d54bc814e961a43ae5b0b146154c89c61b47bb07557679b18/cryptography-46.0.7.tar.gz", hash = "sha256:e4cfd68c5f3e0bfdad0d38e023239b96a2fe84146481852dffbcca442c245aa5", size = 750652, upload-time = "2026-04-08T01:57:54.692Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/5d/4a8f770695d73be252331e60e526291e3df0c9b27556a90a6b47bccca4c2/cryptography-46.0.7-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:ea42cbe97209df307fdc3b155f1b6fa2577c0defa8f1f7d3be7d31d189108ad4", size = 7179869, upload-time = "2026-04-08T01:56:17.157Z" }, - { url = "https://files.pythonhosted.org/packages/5f/45/6d80dc379b0bbc1f9d1e429f42e4cb9e1d319c7a8201beffd967c516ea01/cryptography-46.0.7-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b36a4695e29fe69215d75960b22577197aca3f7a25b9cf9d165dcfe9d80bc325", size = 4275492, upload-time = "2026-04-08T01:56:19.36Z" }, - { url = "https://files.pythonhosted.org/packages/4a/9a/1765afe9f572e239c3469f2cb429f3ba7b31878c893b246b4b2994ffe2fe/cryptography-46.0.7-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5ad9ef796328c5e3c4ceed237a183f5d41d21150f972455a9d926593a1dcb308", size = 4426670, upload-time = "2026-04-08T01:56:21.415Z" }, - { url = "https://files.pythonhosted.org/packages/8f/3e/af9246aaf23cd4ee060699adab1e47ced3f5f7e7a8ffdd339f817b446462/cryptography-46.0.7-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:73510b83623e080a2c35c62c15298096e2a5dc8d51c3b4e1740211839d0dea77", size = 4280275, upload-time = "2026-04-08T01:56:23.539Z" }, - { url = "https://files.pythonhosted.org/packages/0f/54/6bbbfc5efe86f9d71041827b793c24811a017c6ac0fd12883e4caa86b8ed/cryptography-46.0.7-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:cbd5fb06b62bd0721e1170273d3f4d5a277044c47ca27ee257025146c34cbdd1", size = 4928402, upload-time = "2026-04-08T01:56:25.624Z" }, - { url = "https://files.pythonhosted.org/packages/2d/cf/054b9d8220f81509939599c8bdbc0c408dbd2bdd41688616a20731371fe0/cryptography-46.0.7-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:420b1e4109cc95f0e5700eed79908cef9268265c773d3a66f7af1eef53d409ef", size = 4459985, upload-time = "2026-04-08T01:56:27.309Z" }, - { url = "https://files.pythonhosted.org/packages/f9/46/4e4e9c6040fb01c7467d47217d2f882daddeb8828f7df800cb806d8a2288/cryptography-46.0.7-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:24402210aa54baae71d99441d15bb5a1919c195398a87b563df84468160a65de", size = 3990652, upload-time = "2026-04-08T01:56:29.095Z" }, - { url = "https://files.pythonhosted.org/packages/36/5f/313586c3be5a2fbe87e4c9a254207b860155a8e1f3cca99f9910008e7d08/cryptography-46.0.7-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:8a469028a86f12eb7d2fe97162d0634026d92a21f3ae0ac87ed1c4a447886c83", size = 4279805, upload-time = "2026-04-08T01:56:30.928Z" }, - { url = "https://files.pythonhosted.org/packages/69/33/60dfc4595f334a2082749673386a4d05e4f0cf4df8248e63b2c3437585f2/cryptography-46.0.7-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:9694078c5d44c157ef3162e3bf3946510b857df5a3955458381d1c7cfc143ddb", size = 4892883, upload-time = "2026-04-08T01:56:32.614Z" }, - { url = "https://files.pythonhosted.org/packages/c7/0b/333ddab4270c4f5b972f980adef4faa66951a4aaf646ca067af597f15563/cryptography-46.0.7-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:42a1e5f98abb6391717978baf9f90dc28a743b7d9be7f0751a6f56a75d14065b", size = 4459756, upload-time = "2026-04-08T01:56:34.306Z" }, - { url = "https://files.pythonhosted.org/packages/d2/14/633913398b43b75f1234834170947957c6b623d1701ffc7a9600da907e89/cryptography-46.0.7-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:91bbcb08347344f810cbe49065914fe048949648f6bd5c2519f34619142bbe85", size = 4410244, upload-time = "2026-04-08T01:56:35.977Z" }, - { url = "https://files.pythonhosted.org/packages/10/f2/19ceb3b3dc14009373432af0c13f46aa08e3ce334ec6eff13492e1812ccd/cryptography-46.0.7-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5d1c02a14ceb9148cc7816249f64f623fbfee39e8c03b3650d842ad3f34d637e", size = 4674868, upload-time = "2026-04-08T01:56:38.034Z" }, - { url = "https://files.pythonhosted.org/packages/1a/bb/a5c213c19ee94b15dfccc48f363738633a493812687f5567addbcbba9f6f/cryptography-46.0.7-cp311-abi3-win32.whl", hash = "sha256:d23c8ca48e44ee015cd0a54aeccdf9f09004eba9fc96f38c911011d9ff1bd457", size = 3026504, upload-time = "2026-04-08T01:56:39.666Z" }, - { url = "https://files.pythonhosted.org/packages/2b/02/7788f9fefa1d060ca68717c3901ae7fffa21ee087a90b7f23c7a603c32ae/cryptography-46.0.7-cp311-abi3-win_amd64.whl", hash = "sha256:397655da831414d165029da9bc483bed2fe0e75dde6a1523ec2fe63f3c46046b", size = 3488363, upload-time = "2026-04-08T01:56:41.893Z" }, - { url = "https://files.pythonhosted.org/packages/7b/56/15619b210e689c5403bb0540e4cb7dbf11a6bf42e483b7644e471a2812b3/cryptography-46.0.7-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:d151173275e1728cf7839aaa80c34fe550c04ddb27b34f48c232193df8db5842", size = 7119671, upload-time = "2026-04-08T01:56:44Z" }, - { url = "https://files.pythonhosted.org/packages/74/66/e3ce040721b0b5599e175ba91ab08884c75928fbeb74597dd10ef13505d2/cryptography-46.0.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:db0f493b9181c7820c8134437eb8b0b4792085d37dbb24da050476ccb664e59c", size = 4268551, upload-time = "2026-04-08T01:56:46.071Z" }, - { url = "https://files.pythonhosted.org/packages/03/11/5e395f961d6868269835dee1bafec6a1ac176505a167f68b7d8818431068/cryptography-46.0.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ebd6daf519b9f189f85c479427bbd6e9c9037862cf8fe89ee35503bd209ed902", size = 4408887, upload-time = "2026-04-08T01:56:47.718Z" }, - { url = "https://files.pythonhosted.org/packages/40/53/8ed1cf4c3b9c8e611e7122fb56f1c32d09e1fff0f1d77e78d9ff7c82653e/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:b7b412817be92117ec5ed95f880defe9cf18a832e8cafacf0a22337dc1981b4d", size = 4271354, upload-time = "2026-04-08T01:56:49.312Z" }, - { url = "https://files.pythonhosted.org/packages/50/46/cf71e26025c2e767c5609162c866a78e8a2915bbcfa408b7ca495c6140c4/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:fbfd0e5f273877695cb93baf14b185f4878128b250cc9f8e617ea0c025dfb022", size = 4905845, upload-time = "2026-04-08T01:56:50.916Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ea/01276740375bac6249d0a971ebdf6b4dc9ead0ee0a34ef3b5a88c1a9b0d4/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:ffca7aa1d00cf7d6469b988c581598f2259e46215e0140af408966a24cf086ce", size = 4444641, upload-time = "2026-04-08T01:56:52.882Z" }, - { url = "https://files.pythonhosted.org/packages/3d/4c/7d258f169ae71230f25d9f3d06caabcff8c3baf0978e2b7d65e0acac3827/cryptography-46.0.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:60627cf07e0d9274338521205899337c5d18249db56865f943cbe753aa96f40f", size = 3967749, upload-time = "2026-04-08T01:56:54.597Z" }, - { url = "https://files.pythonhosted.org/packages/b5/2a/2ea0767cad19e71b3530e4cad9605d0b5e338b6a1e72c37c9c1ceb86c333/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:80406c3065e2c55d7f49a9550fe0c49b3f12e5bfff5dedb727e319e1afb9bf99", size = 4270942, upload-time = "2026-04-08T01:56:56.416Z" }, - { url = "https://files.pythonhosted.org/packages/41/3d/fe14df95a83319af25717677e956567a105bb6ab25641acaa093db79975d/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:c5b1ccd1239f48b7151a65bc6dd54bcfcc15e028c8ac126d3fada09db0e07ef1", size = 4871079, upload-time = "2026-04-08T01:56:58.31Z" }, - { url = "https://files.pythonhosted.org/packages/9c/59/4a479e0f36f8f378d397f4eab4c850b4ffb79a2f0d58704b8fa0703ddc11/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:d5f7520159cd9c2154eb61eb67548ca05c5774d39e9c2c4339fd793fe7d097b2", size = 4443999, upload-time = "2026-04-08T01:57:00.508Z" }, - { url = "https://files.pythonhosted.org/packages/28/17/b59a741645822ec6d04732b43c5d35e4ef58be7bfa84a81e5ae6f05a1d33/cryptography-46.0.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fcd8eac50d9138c1d7fc53a653ba60a2bee81a505f9f8850b6b2888555a45d0e", size = 4399191, upload-time = "2026-04-08T01:57:02.654Z" }, - { url = "https://files.pythonhosted.org/packages/59/6a/bb2e166d6d0e0955f1e9ff70f10ec4b2824c9cfcdb4da772c7dd69cc7d80/cryptography-46.0.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:65814c60f8cc400c63131584e3e1fad01235edba2614b61fbfbfa954082db0ee", size = 4655782, upload-time = "2026-04-08T01:57:04.592Z" }, - { url = "https://files.pythonhosted.org/packages/95/b6/3da51d48415bcb63b00dc17c2eff3a651b7c4fed484308d0f19b30e8cb2c/cryptography-46.0.7-cp314-cp314t-win32.whl", hash = "sha256:fdd1736fed309b4300346f88f74cd120c27c56852c3838cab416e7a166f67298", size = 3002227, upload-time = "2026-04-08T01:57:06.91Z" }, - { url = "https://files.pythonhosted.org/packages/32/a8/9f0e4ed57ec9cebe506e58db11ae472972ecb0c659e4d52bbaee80ca340a/cryptography-46.0.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e06acf3c99be55aa3b516397fe42f5855597f430add9c17fa46bf2e0fb34c9bb", size = 3475332, upload-time = "2026-04-08T01:57:08.807Z" }, - { url = "https://files.pythonhosted.org/packages/a7/7f/cd42fc3614386bc0c12f0cb3c4ae1fc2bbca5c9662dfed031514911d513d/cryptography-46.0.7-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:462ad5cb1c148a22b2e3bcc5ad52504dff325d17daf5df8d88c17dda1f75f2a4", size = 7165618, upload-time = "2026-04-08T01:57:10.645Z" }, - { url = "https://files.pythonhosted.org/packages/a5/d0/36a49f0262d2319139d2829f773f1b97ef8aef7f97e6e5bd21455e5a8fb5/cryptography-46.0.7-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:84d4cced91f0f159a7ddacad249cc077e63195c36aac40b4150e7a57e84fffe7", size = 4270628, upload-time = "2026-04-08T01:57:12.885Z" }, - { url = "https://files.pythonhosted.org/packages/8a/6c/1a42450f464dda6ffbe578a911f773e54dd48c10f9895a23a7e88b3e7db5/cryptography-46.0.7-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:128c5edfe5e5938b86b03941e94fac9ee793a94452ad1365c9fc3f4f62216832", size = 4415405, upload-time = "2026-04-08T01:57:14.923Z" }, - { url = "https://files.pythonhosted.org/packages/9a/92/4ed714dbe93a066dc1f4b4581a464d2d7dbec9046f7c8b7016f5286329e2/cryptography-46.0.7-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5e51be372b26ef4ba3de3c167cd3d1022934bc838ae9eaad7e644986d2a3d163", size = 4272715, upload-time = "2026-04-08T01:57:16.638Z" }, - { url = "https://files.pythonhosted.org/packages/b7/e6/a26b84096eddd51494bba19111f8fffe976f6a09f132706f8f1bf03f51f7/cryptography-46.0.7-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:cdf1a610ef82abb396451862739e3fc93b071c844399e15b90726ef7470eeaf2", size = 4918400, upload-time = "2026-04-08T01:57:19.021Z" }, - { url = "https://files.pythonhosted.org/packages/c7/08/ffd537b605568a148543ac3c2b239708ae0bd635064bab41359252ef88ed/cryptography-46.0.7-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1d25aee46d0c6f1a501adcddb2d2fee4b979381346a78558ed13e50aa8a59067", size = 4450634, upload-time = "2026-04-08T01:57:21.185Z" }, - { url = "https://files.pythonhosted.org/packages/16/01/0cd51dd86ab5b9befe0d031e276510491976c3a80e9f6e31810cce46c4ad/cryptography-46.0.7-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:cdfbe22376065ffcf8be74dc9a909f032df19bc58a699456a21712d6e5eabfd0", size = 3985233, upload-time = "2026-04-08T01:57:22.862Z" }, - { url = "https://files.pythonhosted.org/packages/92/49/819d6ed3a7d9349c2939f81b500a738cb733ab62fbecdbc1e38e83d45e12/cryptography-46.0.7-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:abad9dac36cbf55de6eb49badd4016806b3165d396f64925bf2999bcb67837ba", size = 4271955, upload-time = "2026-04-08T01:57:24.814Z" }, - { url = "https://files.pythonhosted.org/packages/80/07/ad9b3c56ebb95ed2473d46df0847357e01583f4c52a85754d1a55e29e4d0/cryptography-46.0.7-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:935ce7e3cfdb53e3536119a542b839bb94ec1ad081013e9ab9b7cfd478b05006", size = 4879888, upload-time = "2026-04-08T01:57:26.88Z" }, - { url = "https://files.pythonhosted.org/packages/b8/c7/201d3d58f30c4c2bdbe9b03844c291feb77c20511cc3586daf7edc12a47b/cryptography-46.0.7-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:35719dc79d4730d30f1c2b6474bd6acda36ae2dfae1e3c16f2051f215df33ce0", size = 4449961, upload-time = "2026-04-08T01:57:29.068Z" }, - { url = "https://files.pythonhosted.org/packages/a5/ef/649750cbf96f3033c3c976e112265c33906f8e462291a33d77f90356548c/cryptography-46.0.7-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:7bbc6ccf49d05ac8f7d7b5e2e2c33830d4fe2061def88210a126d130d7f71a85", size = 4401696, upload-time = "2026-04-08T01:57:31.029Z" }, - { url = "https://files.pythonhosted.org/packages/41/52/a8908dcb1a389a459a29008c29966c1d552588d4ae6d43f3a1a4512e0ebe/cryptography-46.0.7-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a1529d614f44b863a7b480c6d000fe93b59acee9c82ffa027cfadc77521a9f5e", size = 4664256, upload-time = "2026-04-08T01:57:33.144Z" }, - { url = "https://files.pythonhosted.org/packages/4b/fa/f0ab06238e899cc3fb332623f337a7364f36f4bb3f2534c2bb95a35b132c/cryptography-46.0.7-cp38-abi3-win32.whl", hash = "sha256:f247c8c1a1fb45e12586afbb436ef21ff1e80670b2861a90353d9b025583d246", size = 3013001, upload-time = "2026-04-08T01:57:34.933Z" }, - { url = "https://files.pythonhosted.org/packages/d2/f1/00ce3bde3ca542d1acd8f8cfa38e446840945aa6363f9b74746394b14127/cryptography-46.0.7-cp38-abi3-win_amd64.whl", hash = "sha256:506c4ff91eff4f82bdac7633318a526b1d1309fc07ca76a3ad182cb5b686d6d3", size = 3472985, upload-time = "2026-04-08T01:57:36.714Z" }, - { url = "https://files.pythonhosted.org/packages/63/0c/dca8abb64e7ca4f6b2978769f6fea5ad06686a190cec381f0a796fdcaaba/cryptography-46.0.7-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:fc9ab8856ae6cf7c9358430e49b368f3108f050031442eaeb6b9d87e4dcf4e4f", size = 3476879, upload-time = "2026-04-08T01:57:38.664Z" }, - { url = "https://files.pythonhosted.org/packages/3a/ea/075aac6a84b7c271578d81a2f9968acb6e273002408729f2ddff517fed4a/cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d3b99c535a9de0adced13d159c5a9cf65c325601aa30f4be08afd680643e9c15", size = 4219700, upload-time = "2026-04-08T01:57:40.625Z" }, - { url = "https://files.pythonhosted.org/packages/6c/7b/1c55db7242b5e5612b29fc7a630e91ee7a6e3c8e7bf5406d22e206875fbd/cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d02c738dacda7dc2a74d1b2b3177042009d5cab7c7079db74afc19e56ca1b455", size = 4385982, upload-time = "2026-04-08T01:57:42.725Z" }, - { url = "https://files.pythonhosted.org/packages/cb/da/9870eec4b69c63ef5925bf7d8342b7e13bc2ee3d47791461c4e49ca212f4/cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:04959522f938493042d595a736e7dbdff6eb6cc2339c11465b3ff89343b65f65", size = 4219115, upload-time = "2026-04-08T01:57:44.939Z" }, - { url = "https://files.pythonhosted.org/packages/f4/72/05aa5832b82dd341969e9a734d1812a6aadb088d9eb6f0430fc337cc5a8f/cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:3986ac1dee6def53797289999eabe84798ad7817f3e97779b5061a95b0ee4968", size = 4385479, upload-time = "2026-04-08T01:57:46.86Z" }, - { url = "https://files.pythonhosted.org/packages/20/2a/1b016902351a523aa2bd446b50a5bc1175d7a7d1cf90fe2ef904f9b84ebc/cryptography-46.0.7-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:258514877e15963bd43b558917bc9f54cf7cf866c38aa576ebf47a77ddbc43a4", size = 3412829, upload-time = "2026-04-08T01:57:48.874Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/1f/99/d1c90d6041656cc6ee229dc99cd67fd0cd5aec3c5f7d72fffc27cc750054/cryptography-49.0.0.tar.gz", hash = "sha256:f89660a348f4f78a92366240a61404e337586ef7f5909a2fef59ca88ef505493", size = 854345, upload-time = "2026-06-12T20:02:30.512Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/22/adf66990e63584a68dfb50c24f48a125c07b1699899381c8151e63ed458c/cryptography-49.0.0-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:966fe0e9c67490071f14c0d2b1cb2dfb3023c5ce39457343931415f08382f2db", size = 4032100, upload-time = "2026-06-12T20:02:32.143Z" }, + { url = "https://files.pythonhosted.org/packages/09/41/3797cfaf69cae04a13ee78ebd83f0678d9c02b4779d21ce24445326f1a69/cryptography-49.0.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:36d1709f992593689b45bda411498d62c6e365f2ca00b84657d4dadd24de16db", size = 4692978, upload-time = "2026-06-12T20:01:21.305Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8b/43011f7ebe515a8aa20d61f290a326cd890c2e738e16e59eaff8d9c3a412/cryptography-49.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0e959b578856a3924bc0cbb710fc12c387b9412a951389f3ca61704a9e25f325", size = 4716422, upload-time = "2026-06-12T20:01:48.566Z" }, + { url = "https://files.pythonhosted.org/packages/4a/91/01ce7303a4579e6d3a6abef01bd322848e9ea7a219adcabc5048b9033571/cryptography-49.0.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:53ecee2e23f7169b6117e99fc8a944e5e50f79e69758a83b52a00cb98ab2b2d2", size = 4700503, upload-time = "2026-06-12T20:02:47.091Z" }, + { url = "https://files.pythonhosted.org/packages/62/99/a2c95cf8293f07491e9e27c20cc4dcd18176d944e674679adeb1d0173fd6/cryptography-49.0.0-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:2eda353d8a27bcbcaa4cbed18994a74ab4d19a2ca897db188ea269ab9b71419b", size = 5309779, upload-time = "2026-06-12T20:02:08.987Z" }, + { url = "https://files.pythonhosted.org/packages/20/2c/0622f20ff02b2ef32558733443805dc82fd4c275be01b2d19d14676f3a1b/cryptography-49.0.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2afe9051da7ae7bd5905da5a949280c7d2bb75682e188f650a9d0f2756b834c6", size = 4749683, upload-time = "2026-06-12T20:02:03.335Z" }, + { url = "https://files.pythonhosted.org/packages/a3/5b/c5246635d5fd3b64e0d45ae10e99fd32fe9676a79915ccfe5a61ba9af1a5/cryptography-49.0.0-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:0b82e28ee398a386f0807bba7884d30f25218855690f45115831bcce5d90822c", size = 4337874, upload-time = "2026-06-12T20:02:54.323Z" }, + { url = "https://files.pythonhosted.org/packages/6d/88/05563c7fe2e914e87d1a536d06fe83e66b4e1d95cb593e05aea375531da8/cryptography-49.0.0-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:ccac2bfebc306b862133e3bb71f3f6ee8bb525240089b2d952e4144b3a6d5da7", size = 4700283, upload-time = "2026-06-12T20:01:34.822Z" }, + { url = "https://files.pythonhosted.org/packages/c4/b6/d7696e4e890d6ae1469935164c9e5215c557671cb78d6e3f458ccceaa632/cryptography-49.0.0-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:d0527ce944105f257f605a827d6ebead966c752038b6e8656abb9c5edee6fc68", size = 5265844, upload-time = "2026-06-12T20:01:24.09Z" }, + { url = "https://files.pythonhosted.org/packages/a9/3c/f3ad17eecc1a57b0ba236dc01f90e783c51f4a2f35f64777cc4f47a184b2/cryptography-49.0.0-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:cbc77da8c523d5abd028635ba850a6966fcee2c82e2bf65a41d1d8afe0f98be9", size = 4749290, upload-time = "2026-06-12T20:01:30.848Z" }, + { url = "https://files.pythonhosted.org/packages/4f/01/339573cf1023163a400b0b5d16f6d507de413b9f60be6fd1b77feeaf6737/cryptography-49.0.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b87e65d263b3e5d3bb92a57e2a6638e2f31110fa7aa890c7b2dbba42248d0a3f", size = 4834612, upload-time = "2026-06-12T20:01:29.246Z" }, + { url = "https://files.pythonhosted.org/packages/71/fd/577302e213a1be9468f92d1afef66fcf1ef83d516819d9992ca547f592bd/cryptography-49.0.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:66ec79c3904820572d7e987abdf304281f141d37ad9a489b8e97066e7b9b6459", size = 4980804, upload-time = "2026-06-12T20:01:42.853Z" }, + { url = "https://files.pythonhosted.org/packages/1f/09/f42b1d190c5ba75f72062a387f8030d1d75f6ab035788f1d9c4b01de6525/cryptography-49.0.0-cp311-abi3-win_amd64.whl", hash = "sha256:e5dfc1e64de5677cec922ffa8da89c546d0415bf6efdf081842e5d44c84e1f0e", size = 3810026, upload-time = "2026-06-12T20:02:39.262Z" }, + { url = "https://files.pythonhosted.org/packages/ec/9e/db72b3ae7fc9cfad53e630e56c6ae83b9b6ff0bf3718ffb8012d20b3aabf/cryptography-49.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:73a205dce83953d131a4aa1e0fd917a2fd1c5b1eef251e9d7152efefcbf5caf7", size = 4013892, upload-time = "2026-06-12T20:02:10.735Z" }, + { url = "https://files.pythonhosted.org/packages/86/12/c48a424f38db03027be9f7ed5c7dc5de9933dbee992865f98b13727a009d/cryptography-49.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:196ecd6a36e4e9aa10270393bb98d8df88fccee0bf1e5128b91ae4eb4375896d", size = 4678835, upload-time = "2026-06-12T20:02:48.743Z" }, + { url = "https://files.pythonhosted.org/packages/68/28/8a3ad4653662c93fc44dc4e5d8fd374c25c42e07b34bbfbadf49cf57a5a8/cryptography-49.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7abcee80084cda3f7691f3eb1ce480d8df49cec637b429aa35986c1de71738aa", size = 4697239, upload-time = "2026-06-12T20:02:56.03Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b2/2193fc74f81aee4f9b62733133b73b5176718932ed8f2e4b03fa040480a6/cryptography-49.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:4ae387c9cb68ea569ca17e490d66d8142b81c3cc814bf179974b7d146e490bbb", size = 4685593, upload-time = "2026-06-12T20:02:50.666Z" }, + { url = "https://files.pythonhosted.org/packages/47/f1/1d3eaa243bfc5de4a187b22aa8c048b3e4980bfbe830ac46e6bac2e66947/cryptography-49.0.0-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:f37d847238971164fdbc68ade6f6574aecc9c0af714190e2083429ff68f4ce9d", size = 5289961, upload-time = "2026-06-12T20:01:46.468Z" }, + { url = "https://files.pythonhosted.org/packages/58/39/2d51306721330c486495853eda1c567880ff036de15a14c4b74f399934af/cryptography-49.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:c2bc30226390d60ea19d9f82b19db005fe0452154a23c1c410c12ea801e43561", size = 4731145, upload-time = "2026-06-12T20:02:16.832Z" }, + { url = "https://files.pythonhosted.org/packages/17/50/983e838c7fd0d87fd8c969bcdd328edaf5f756e38df5281637424c155873/cryptography-49.0.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:07cab27cc7b7e0fd28e5e26bb9eeedde5c135c868b46de4a27845abe94af6122", size = 4321719, upload-time = "2026-06-12T20:02:52.611Z" }, + { url = "https://files.pythonhosted.org/packages/a7/f5/8f571d7e27c55bce9f76f026143bcb1e040a4233149ecca0bea5fa5dd5f7/cryptography-49.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:b20133d204d2bb56ba047642199603876c872026ca53e79c35b83772ab2cc505", size = 4685209, upload-time = "2026-06-12T20:02:07.282Z" }, + { url = "https://files.pythonhosted.org/packages/e7/84/0e27016a6fc5a0886f797018b26aa42f40c09a82332bff77822a451deaaa/cryptography-49.0.0-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:b970c6da94d5bb18629db453d14f2a1300f6bf59b61e9b82377931ef95504866", size = 5246285, upload-time = "2026-06-12T20:01:32.439Z" }, + { url = "https://files.pythonhosted.org/packages/11/2d/5e1fb307cb5931881516b464c98774b3f2c36b5d4bb9a2830253cf553cad/cryptography-49.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:d8ecde755e2e91bf773fc94e8c9d730cd7f2007004cb492263a794ec3899a1c8", size = 4730441, upload-time = "2026-06-12T20:02:01.469Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c0/bff5a02ee731d207d6a1ed51732549d8c53d2bc8da1d10ec6f2844201d68/cryptography-49.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e3fb64c420688e5319ae25113a354015abbd8dffbfbc41781a1ea66fc7622ac3", size = 4815869, upload-time = "2026-06-12T20:01:36.574Z" }, + { url = "https://files.pythonhosted.org/packages/b9/26/814681d14248d95d73d5c3eea0c39a94eb8302df966f670a2c60de90974b/cryptography-49.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32703d93296f5c1f4b53349ad3a250c2cae0fdecd3a3dd5d47e616d8d616af27", size = 4960948, upload-time = "2026-06-12T20:02:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fe/93ecac273d3738939d023612ad12cca9a3740a5345d69fda04134c43fd96/cryptography-49.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:33cd0565932807baddb67b96dbee92f2c374b5c89dee09fd74079aeb8c8dba61", size = 3799153, upload-time = "2026-06-12T20:01:39.059Z" }, + { url = "https://files.pythonhosted.org/packages/19/2a/5bb823f5bedcf80718cea7fbc95ec5515cca3769633c4b01a32be7f30e7c/cryptography-49.0.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:ec5e529fb80935c94fe7b729f9972b50e351a0e6b50aa294fd5cabb109fcc29a", size = 4025947, upload-time = "2026-06-12T20:01:25.745Z" }, + { url = "https://files.pythonhosted.org/packages/3d/df/40577043ca124e17012f408ddddaeb213b856336ac82ddb3bc915f39e29f/cryptography-49.0.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f78ff2c9ed8dc2d036b0f4d640e22522213d047c1b14e61205a7e55c80a494d4", size = 4692429, upload-time = "2026-06-12T20:01:53.628Z" }, + { url = "https://files.pythonhosted.org/packages/2c/99/2d13299eb3dd27b02dcfaafcc91d6b5cb3329f7cbd6d8f51921acd566c1a/cryptography-49.0.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:35b151772baff2c74cba7fa290ceaff4c3b11c0c881eb93eb5dbc05a7cfbba18", size = 4700968, upload-time = "2026-06-12T20:02:45.383Z" }, + { url = "https://files.pythonhosted.org/packages/a5/4d/9c0cd02f95e2602dd5e563da149ee0830abef3537be8b34dc56281ebe27a/cryptography-49.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:0f21641cf4b30fca7aee061ced0ec7ad7b073518088b7c9969a297c0ae796c69", size = 4697758, upload-time = "2026-06-12T20:01:41.13Z" }, + { url = "https://files.pythonhosted.org/packages/24/01/186c825898477d77e2324d5360fefe622ff1d8d1963ec0554e2cada8ec77/cryptography-49.0.0-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:9e82dcc8e56052715fb18b2429e3bca4823b1629136a2084fc45a9a5cecb9b64", size = 5298863, upload-time = "2026-06-12T20:02:24.579Z" }, + { url = "https://files.pythonhosted.org/packages/b8/7b/62cbbab75d0659865bf0273790031544a0b16c8072d258f9428dcd8190dc/cryptography-49.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6f2debedf9ca60cf1d5bd466475638af5130f89965605cd818484d19987d3a21", size = 4735983, upload-time = "2026-06-12T20:01:50.14Z" }, + { url = "https://files.pythonhosted.org/packages/6c/72/3e798c064bc39e471008075d0f9bc9daf77a80879c092e4a8e170c585ed4/cryptography-49.0.0-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:8c25ceb16df5b9435f3f6a9829204985b0e0cbee3b48aacd432c7d2c850b44d9", size = 4334173, upload-time = "2026-06-12T20:01:44.743Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ee/6fca21d1ac73e06f8bef71940abfd4d2f6472b4bca284d770f32bd4086f6/cryptography-49.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:28d8b15e6275f12c8a207dc309dfa957903c927d08d0cc937ee3f63f200693cc", size = 4697298, upload-time = "2026-06-12T20:02:20.918Z" }, + { url = "https://files.pythonhosted.org/packages/67/d0/a5fcd3515f0bae49a7b6d0413cc1bdccdcc1fc0047037a0d480642cdc5d6/cryptography-49.0.0-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:6fc361c34fb6aac015ce19435876635e5c6d21db31998b0920f675f131e043b8", size = 5254338, upload-time = "2026-06-12T20:02:22.737Z" }, + { url = "https://files.pythonhosted.org/packages/a0/84/84fe36f19caf857d61cb7fc9c63035a47ffabd84ea12d1d393148efa3615/cryptography-49.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2400ef9c9e2299a25614eb1dea3db54a69b1349efd043bfac9c67630d136df36", size = 4735650, upload-time = "2026-06-12T20:02:41.389Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a0/db537264e234f7273a73ec020873d6d6b39dfd8a53db78b550ca8320440e/cryptography-49.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:67e1d20ad9ef3a563c59ef22e7a8a0b8210bd26604369ea4a30a7c66aefe504e", size = 4834820, upload-time = "2026-06-12T20:01:51.847Z" }, + { url = "https://files.pythonhosted.org/packages/93/77/8df9eb486495979bccecd1062e2eaf435250e84437040295b57d09048b0b/cryptography-49.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:42b0684e0e40cf26122427802486f6d93aea593612603a94fbf260c7eb1e9c1b", size = 4967968, upload-time = "2026-06-12T20:02:12.524Z" }, + { url = "https://files.pythonhosted.org/packages/c2/e6/f60198ea8d9dfa15fff9ed4ca02ce362f6eadd9ba757dcc50634c4257b63/cryptography-49.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:026ac7423e6fa66872d3bf889be5974507da3944f866f704fa200eadacd00001", size = 3785547, upload-time = "2026-06-12T20:02:26.847Z" }, + { url = "https://files.pythonhosted.org/packages/63/d3/4a83af35d65e3fad632c926fad684c193ea4398569ccb0bbbc7fe8f5dc9a/cryptography-49.0.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:fc1e275c2f1d97b1a6450b8b0ea3ebfa6e087a611c2b26cb2404d48588abab7b", size = 3993685, upload-time = "2026-06-12T20:02:14.883Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a7/f9dac0ab7f80368c56993a7bf638ef9935f825c91902798481fac0898138/cryptography-49.0.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c83782480a4a9da4d0feb51950131ba32e12e70813848b3343f6e18c28a66838", size = 4676239, upload-time = "2026-06-12T20:02:28.793Z" }, + { url = "https://files.pythonhosted.org/packages/d7/70/2ba3769dd0ae167e2f33dfa9592d45db6ff9a61d62ca1a5b3d1bdd09068f/cryptography-49.0.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b39efa323140595abd3ecca8529d321ae50f55f3aa3ba9cc81ea56a6011953d5", size = 4715584, upload-time = "2026-06-12T20:01:27.495Z" }, + { url = "https://files.pythonhosted.org/packages/94/64/2923570ac1c0bd3a737aa366ac3abbbbde273042308b8cde95e2364a6e6a/cryptography-49.0.0-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:b47db11c2c3525083296069b98ac5221907455e989ae0c2e3008bde851921615", size = 4675885, upload-time = "2026-06-12T20:01:55.49Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f8/614dc7e051418cfe53d55173c1e24c6b0085e89996fe90508c2fdf769aef/cryptography-49.0.0-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:084ef1af862eb07ec46d25f68689f2102a9fc0e05ce7b80f14f5fe51e4eef0f6", size = 4715449, upload-time = "2026-06-12T20:02:05.469Z" }, + { url = "https://files.pythonhosted.org/packages/aa/50/a9caea39ad19c431c1a3f8a31114df65b260cdfe67786b6c7e7c040c4c44/cryptography-49.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:be9fcb48a55f023493482827d4f459bd263cc20efde64f204b97c123201850c6", size = 3783731, upload-time = "2026-06-12T20:02:43.319Z" }, ] [[package]] @@ -603,11 +612,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/dc/c4/da7089cd7aa4ab554f56e18a7fb08dcfed8fd2ae91fa528f5b1be207a148/deepdiff-9.0.0-py3-none-any.whl", hash = "sha256:b1ae0dd86290d86a03de5fbee728fde43095c1472ae4974bdab23ab4656305bd", size = 170540, upload-time = "2026-03-30T05:52:22.008Z" }, ] -[[package]] -name = "djchurchland" -version = "0.0" -source = { git = "https://github.com/churchlandlab/djchurchland#9547036f178234a04162dbfeb963b9c97cd534b1" } - [[package]] name = "exceptiongroup" version = "1.3.1" @@ -641,6 +645,25 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/da/8a/708103325edff16a0b0e004de0d37db8ba216a32713948c64d71f6d4a4c2/faker-40.13.0-py3-none-any.whl", hash = "sha256:c1298fd0d819b3688fb5fd358c4ba8f56c7c8c740b411fd3dbd8e30bf2c05019", size = 1994597, upload-time = "2026-04-06T16:44:53.698Z" }, ] +[[package]] +name = "fit-psychometric" +version = "0.1.0" +source = { editable = "third_party/fit_psychometric" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "statsmodels" }, +] + +[package.metadata] +requires-dist = [ + { name = "numpy" }, + { name = "scipy" }, + { name = "statsmodels" }, +] + [[package]] name = "flask" version = "3.1.3" @@ -1040,7 +1063,7 @@ wheels = [ [[package]] name = "labdata" -version = "0.1.4" +version = "0.1.8" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "boto3" }, @@ -1053,9 +1076,9 @@ dependencies = [ { name = "safe-exit" }, { name = "tqdm" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f9/68/1fa4ecfef5762746df1a63b4f212d5997744cbf3b9bc5d19bfefd0a7c79d/labdata-0.1.4.tar.gz", hash = "sha256:fab7dcbf9ab341a907b8221747b560bb7edfa685a3d9d1486692002f844e8cb7", size = 160722, upload-time = "2026-04-09T03:04:07.773Z" } +sdist = { url = "https://files.pythonhosted.org/packages/00/90/c12a67f89853a7a03e45cc1a2bb8769fb3a24facfcff10ececefde9c7a1b/labdata-0.1.8.tar.gz", hash = "sha256:27c09849f2f659a41258d86dd7c933234bf6885817ad32ce00a6db974e81a47e", size = 187906, upload-time = "2026-05-21T21:43:15.265Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/58/75/4ff2ed66a9dff7fad27c890cc6812710f8955d7b5d047fb32df9be1a089c/labdata-0.1.4-py3-none-any.whl", hash = "sha256:9474368a05a92c488e5bb29efd5d59f107c32ea7199f8613faae50c78a179405", size = 180093, upload-time = "2026-04-09T03:04:06.657Z" }, + { url = "https://files.pythonhosted.org/packages/9a/5b/1773508e6d82bbe4d9d2d08979f70c0e36b9543c36d3982db4efccec6e6c/labdata-0.1.8-py3-none-any.whl", hash = "sha256:8dc23e08e5be932dcc38d2fbeb52139f0e96c54bf1fdeb3bce651e154769ddec", size = 208654, upload-time = "2026-05-21T21:43:13.605Z" }, ] [[package]] @@ -1628,6 +1651,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b6/61/fae042894f4296ec49e3f193aff5d7c18440da9e48102c3315e1bc4519a7/parso-0.8.6-py2.py3-none-any.whl", hash = "sha256:2c549f800b70a5c4952197248825584cb00f033b29c692671d3bf08bf380baff", size = 106894, upload-time = "2026-02-09T15:45:21.391Z" }, ] +[[package]] +name = "patsy" +version = "1.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/be/44/ed13eccdd0519eff265f44b670d46fbb0ec813e2274932dc1c0e48520f7d/patsy-1.0.2.tar.gz", hash = "sha256:cdc995455f6233e90e22de72c37fcadb344e7586fb83f06696f54d92f8ce74c0", size = 399942, upload-time = "2025-10-20T16:17:37.535Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/70/ba4b949bdc0490ab78d545459acd7702b211dfccf7eb89bbc1060f52818d/patsy-1.0.2-py2.py3-none-any.whl", hash = "sha256:37bfddbc58fcf0362febb5f54f10743f8b21dd2aa73dec7e7ef59d1b02ae668a", size = 233301, upload-time = "2025-10-20T16:17:36.563Z" }, +] + [[package]] name = "pexpect" version = "4.9.0" @@ -1642,100 +1678,96 @@ wheels = [ [[package]] name = "pillow" -version = "12.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8c/21/c2bcdd5906101a30244eaffc1b6e6ce71a31bd0742a01eb89e660ebfac2d/pillow-12.2.0.tar.gz", hash = "sha256:a830b1a40919539d07806aa58e1b114df53ddd43213d9c8b75847eee6c0182b5", size = 46987819, upload-time = "2026-04-01T14:46:17.687Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/aa/d0b28e1c811cd4d5f5c2bfe2e022292bd255ae5744a3b9ac7d6c8f72dd75/pillow-12.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:a4e8f36e677d3336f35089648c8955c51c6d386a13cf6ee9c189c5f5bd713a9f", size = 5354355, upload-time = "2026-04-01T14:42:15.402Z" }, - { url = "https://files.pythonhosted.org/packages/27/8e/1d5b39b8ae2bd7650d0c7b6abb9602d16043ead9ebbfef4bc4047454da2a/pillow-12.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e589959f10d9824d39b350472b92f0ce3b443c0a3442ebf41c40cb8361c5b97", size = 4695871, upload-time = "2026-04-01T14:42:18.234Z" }, - { url = "https://files.pythonhosted.org/packages/f0/c5/dcb7a6ca6b7d3be41a76958e90018d56c8462166b3ef223150360850c8da/pillow-12.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a52edc8bfff4429aaabdf4d9ee0daadbbf8562364f940937b941f87a4290f5ff", size = 6269734, upload-time = "2026-04-01T14:42:20.608Z" }, - { url = "https://files.pythonhosted.org/packages/ea/f1/aa1bb13b2f4eba914e9637893c73f2af8e48d7d4023b9d3750d4c5eb2d0c/pillow-12.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:975385f4776fafde056abb318f612ef6285b10a1f12b8570f3647ad0d74b48ec", size = 8076080, upload-time = "2026-04-01T14:42:23.095Z" }, - { url = "https://files.pythonhosted.org/packages/a1/2a/8c79d6a53169937784604a8ae8d77e45888c41537f7f6f65ed1f407fe66d/pillow-12.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd9c0c7a0c681a347b3194c500cb1e6ca9cab053ea4d82a5cf45b6b754560136", size = 6382236, upload-time = "2026-04-01T14:42:25.82Z" }, - { url = "https://files.pythonhosted.org/packages/b5/42/bbcb6051030e1e421d103ce7a8ecadf837aa2f39b8f82ef1a8d37c3d4ebc/pillow-12.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:88d387ff40b3ff7c274947ed3125dedf5262ec6919d83946753b5f3d7c67ea4c", size = 7070220, upload-time = "2026-04-01T14:42:28.68Z" }, - { url = "https://files.pythonhosted.org/packages/3f/e1/c2a7d6dd8cfa6b231227da096fd2d58754bab3603b9d73bf609d3c18b64f/pillow-12.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:51c4167c34b0d8ba05b547a3bb23578d0ba17b80a5593f93bd8ecb123dd336a3", size = 6493124, upload-time = "2026-04-01T14:42:31.579Z" }, - { url = "https://files.pythonhosted.org/packages/5f/41/7c8617da5d32e1d2f026e509484fdb6f3ad7efaef1749a0c1928adbb099e/pillow-12.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:34c0d99ecccea270c04882cb3b86e7b57296079c9a4aff88cb3b33563d95afaa", size = 7194324, upload-time = "2026-04-01T14:42:34.615Z" }, - { url = "https://files.pythonhosted.org/packages/2d/de/a777627e19fd6d62f84070ee1521adde5eeda4855b5cf60fe0b149118bca/pillow-12.2.0-cp310-cp310-win32.whl", hash = "sha256:b85f66ae9eb53e860a873b858b789217ba505e5e405a24b85c0464822fe88032", size = 6376363, upload-time = "2026-04-01T14:42:37.19Z" }, - { url = "https://files.pythonhosted.org/packages/e7/34/fc4cb5204896465842767b96d250c08410f01f2f28afc43b257de842eed5/pillow-12.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:673aa32138f3e7531ccdbca7b3901dba9b70940a19ccecc6a37c77d5fdeb05b5", size = 7083523, upload-time = "2026-04-01T14:42:39.62Z" }, - { url = "https://files.pythonhosted.org/packages/2d/a0/32852d36bc7709f14dc3f64f929a275e958ad8c19a6deba9610d458e28b3/pillow-12.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:3e080565d8d7c671db5802eedfb438e5565ffa40115216eabb8cd52d0ecce024", size = 2463318, upload-time = "2026-04-01T14:42:42.063Z" }, - { url = "https://files.pythonhosted.org/packages/68/e1/748f5663efe6edcfc4e74b2b93edfb9b8b99b67f21a854c3ae416500a2d9/pillow-12.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:8be29e59487a79f173507c30ddf57e733a357f67881430449bb32614075a40ab", size = 5354347, upload-time = "2026-04-01T14:42:44.255Z" }, - { url = "https://files.pythonhosted.org/packages/47/a1/d5ff69e747374c33a3b53b9f98cca7889fce1fd03d79cdc4e1bccc6c5a87/pillow-12.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:71cde9a1e1551df7d34a25462fc60325e8a11a82cc2e2f54578e5e9a1e153d65", size = 4695873, upload-time = "2026-04-01T14:42:46.452Z" }, - { url = "https://files.pythonhosted.org/packages/df/21/e3fbdf54408a973c7f7f89a23b2cb97a7ef30c61ab4142af31eee6aebc88/pillow-12.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f490f9368b6fc026f021db16d7ec2fbf7d89e2edb42e8ec09d2c60505f5729c7", size = 6280168, upload-time = "2026-04-01T14:42:49.228Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f1/00b7278c7dd52b17ad4329153748f87b6756ec195ff786c2bdf12518337d/pillow-12.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8bd7903a5f2a4545f6fd5935c90058b89d30045568985a71c79f5fd6edf9b91e", size = 8088188, upload-time = "2026-04-01T14:42:51.735Z" }, - { url = "https://files.pythonhosted.org/packages/ad/cf/220a5994ef1b10e70e85748b75649d77d506499352be135a4989c957b701/pillow-12.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3997232e10d2920a68d25191392e3a4487d8183039e1c74c2297f00ed1c50705", size = 6394401, upload-time = "2026-04-01T14:42:54.343Z" }, - { url = "https://files.pythonhosted.org/packages/e9/bd/e51a61b1054f09437acfbc2ff9106c30d1eb76bc1453d428399946781253/pillow-12.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e74473c875d78b8e9d5da2a70f7099549f9eb37ded4e2f6a463e60125bccd176", size = 7079655, upload-time = "2026-04-01T14:42:56.954Z" }, - { url = "https://files.pythonhosted.org/packages/6b/3d/45132c57d5fb4b5744567c3817026480ac7fc3ce5d4c47902bc0e7f6f853/pillow-12.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:56a3f9c60a13133a98ecff6197af34d7824de9b7b38c3654861a725c970c197b", size = 6503105, upload-time = "2026-04-01T14:42:59.847Z" }, - { url = "https://files.pythonhosted.org/packages/7d/2e/9df2fc1e82097b1df3dce58dc43286aa01068e918c07574711fcc53e6fb4/pillow-12.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:90e6f81de50ad6b534cab6e5aef77ff6e37722b2f5d908686f4a5c9eba17a909", size = 7203402, upload-time = "2026-04-01T14:43:02.664Z" }, - { url = "https://files.pythonhosted.org/packages/bd/2e/2941e42858ebb67e50ae741473de81c2984e6eff7b397017623c676e2e8d/pillow-12.2.0-cp311-cp311-win32.whl", hash = "sha256:8c984051042858021a54926eb597d6ee3012393ce9c181814115df4c60b9a808", size = 6378149, upload-time = "2026-04-01T14:43:05.274Z" }, - { url = "https://files.pythonhosted.org/packages/69/42/836b6f3cd7f3e5fa10a1f1a5420447c17966044c8fbf589cc0452d5502db/pillow-12.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e6b2a0c538fc200b38ff9eb6628228b77908c319a005815f2dde585a0664b60", size = 7082626, upload-time = "2026-04-01T14:43:08.557Z" }, - { url = "https://files.pythonhosted.org/packages/c2/88/549194b5d6f1f494b485e493edc6693c0a16f4ada488e5bd974ed1f42fad/pillow-12.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:9a8a34cc89c67a65ea7437ce257cea81a9dad65b29805f3ecee8c8fe8ff25ffe", size = 2463531, upload-time = "2026-04-01T14:43:10.743Z" }, - { url = "https://files.pythonhosted.org/packages/58/be/7482c8a5ebebbc6470b3eb791812fff7d5e0216c2be3827b30b8bb6603ed/pillow-12.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2d192a155bbcec180f8564f693e6fd9bccff5a7af9b32e2e4bf8c9c69dbad6b5", size = 5308279, upload-time = "2026-04-01T14:43:13.246Z" }, - { url = "https://files.pythonhosted.org/packages/d8/95/0a351b9289c2b5cbde0bacd4a83ebc44023e835490a727b2a3bd60ddc0f4/pillow-12.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3f40b3c5a968281fd507d519e444c35f0ff171237f4fdde090dd60699458421", size = 4695490, upload-time = "2026-04-01T14:43:15.584Z" }, - { url = "https://files.pythonhosted.org/packages/de/af/4e8e6869cbed569d43c416fad3dc4ecb944cb5d9492defaed89ddd6fe871/pillow-12.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:03e7e372d5240cc23e9f07deca4d775c0817bffc641b01e9c3af208dbd300987", size = 6284462, upload-time = "2026-04-01T14:43:18.268Z" }, - { url = "https://files.pythonhosted.org/packages/e9/9e/c05e19657fd57841e476be1ab46c4d501bffbadbafdc31a6d665f8b737b6/pillow-12.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b86024e52a1b269467a802258c25521e6d742349d760728092e1bc2d135b4d76", size = 8094744, upload-time = "2026-04-01T14:43:20.716Z" }, - { url = "https://files.pythonhosted.org/packages/2b/54/1789c455ed10176066b6e7e6da1b01e50e36f94ba584dc68d9eebfe9156d/pillow-12.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7371b48c4fa448d20d2714c9a1f775a81155050d383333e0a6c15b1123dda005", size = 6398371, upload-time = "2026-04-01T14:43:23.443Z" }, - { url = "https://files.pythonhosted.org/packages/43/e3/fdc657359e919462369869f1c9f0e973f353f9a9ee295a39b1fea8ee1a77/pillow-12.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62f5409336adb0663b7caa0da5c7d9e7bdbaae9ce761d34669420c2a801b2780", size = 7087215, upload-time = "2026-04-01T14:43:26.758Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f8/2f6825e441d5b1959d2ca5adec984210f1ec086435b0ed5f52c19b3b8a6e/pillow-12.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:01afa7cf67f74f09523699b4e88c73fb55c13346d212a59a2db1f86b0a63e8c5", size = 6509783, upload-time = "2026-04-01T14:43:29.56Z" }, - { url = "https://files.pythonhosted.org/packages/67/f9/029a27095ad20f854f9dba026b3ea6428548316e057e6fc3545409e86651/pillow-12.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc3d34d4a8fbec3e88a79b92e5465e0f9b842b628675850d860b8bd300b159f5", size = 7212112, upload-time = "2026-04-01T14:43:32.091Z" }, - { url = "https://files.pythonhosted.org/packages/be/42/025cfe05d1be22dbfdb4f264fe9de1ccda83f66e4fc3aac94748e784af04/pillow-12.2.0-cp312-cp312-win32.whl", hash = "sha256:58f62cc0f00fd29e64b29f4fd923ffdb3859c9f9e6105bfc37ba1d08994e8940", size = 6378489, upload-time = "2026-04-01T14:43:34.601Z" }, - { url = "https://files.pythonhosted.org/packages/5d/7b/25a221d2c761c6a8ae21bfa3874988ff2583e19cf8a27bf2fee358df7942/pillow-12.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7f84204dee22a783350679a0333981df803dac21a0190d706a50475e361c93f5", size = 7084129, upload-time = "2026-04-01T14:43:37.213Z" }, - { url = "https://files.pythonhosted.org/packages/10/e1/542a474affab20fd4a0f1836cb234e8493519da6b76899e30bcc5d990b8b/pillow-12.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:af73337013e0b3b46f175e79492d96845b16126ddf79c438d7ea7ff27783a414", size = 2463612, upload-time = "2026-04-01T14:43:39.421Z" }, - { url = "https://files.pythonhosted.org/packages/4a/01/53d10cf0dbad820a8db274d259a37ba50b88b24768ddccec07355382d5ad/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:8297651f5b5679c19968abefd6bb84d95fe30ef712eb1b2d9b2d31ca61267f4c", size = 4100837, upload-time = "2026-04-01T14:43:41.506Z" }, - { url = "https://files.pythonhosted.org/packages/0f/98/f3a6657ecb698c937f6c76ee564882945f29b79bad496abcba0e84659ec5/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:50d8520da2a6ce0af445fa6d648c4273c3eeefbc32d7ce049f22e8b5c3daecc2", size = 4176528, upload-time = "2026-04-01T14:43:43.773Z" }, - { url = "https://files.pythonhosted.org/packages/69/bc/8986948f05e3ea490b8442ea1c1d4d990b24a7e43d8a51b2c7d8b1dced36/pillow-12.2.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:766cef22385fa1091258ad7e6216792b156dc16d8d3fa607e7545b2b72061f1c", size = 3640401, upload-time = "2026-04-01T14:43:45.87Z" }, - { url = "https://files.pythonhosted.org/packages/34/46/6c717baadcd62bc8ed51d238d521ab651eaa74838291bda1f86fe1f864c9/pillow-12.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5d2fd0fa6b5d9d1de415060363433f28da8b1526c1c129020435e186794b3795", size = 5308094, upload-time = "2026-04-01T14:43:48.438Z" }, - { url = "https://files.pythonhosted.org/packages/71/43/905a14a8b17fdb1ccb58d282454490662d2cb89a6bfec26af6d3520da5ec/pillow-12.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56b25336f502b6ed02e889f4ece894a72612fe885889a6e8c4c80239ff6e5f5f", size = 4695402, upload-time = "2026-04-01T14:43:51.292Z" }, - { url = "https://files.pythonhosted.org/packages/73/dd/42107efcb777b16fa0393317eac58f5b5cf30e8392e266e76e51cff28c3d/pillow-12.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f1c943e96e85df3d3478f7b691f229887e143f81fedab9b20205349ab04d73ed", size = 6280005, upload-time = "2026-04-01T14:43:54.242Z" }, - { url = "https://files.pythonhosted.org/packages/a8/68/b93e09e5e8549019e61acf49f65b1a8530765a7f812c77a7461bca7e4494/pillow-12.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:03f6fab9219220f041c74aeaa2939ff0062bd5c364ba9ce037197f4c6d498cd9", size = 8090669, upload-time = "2026-04-01T14:43:57.335Z" }, - { url = "https://files.pythonhosted.org/packages/4b/6e/3ccb54ce8ec4ddd1accd2d89004308b7b0b21c4ac3d20fa70af4760a4330/pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cdfebd752ec52bf5bb4e35d9c64b40826bc5b40a13df7c3cda20a2c03a0f5ed", size = 6395194, upload-time = "2026-04-01T14:43:59.864Z" }, - { url = "https://files.pythonhosted.org/packages/67/ee/21d4e8536afd1a328f01b359b4d3997b291ffd35a237c877b331c1c3b71c/pillow-12.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eedf4b74eda2b5a4b2b2fb4c006d6295df3bf29e459e198c90ea48e130dc75c3", size = 7082423, upload-time = "2026-04-01T14:44:02.74Z" }, - { url = "https://files.pythonhosted.org/packages/78/5f/e9f86ab0146464e8c133fe85df987ed9e77e08b29d8d35f9f9f4d6f917ba/pillow-12.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:00a2865911330191c0b818c59103b58a5e697cae67042366970a6b6f1b20b7f9", size = 6505667, upload-time = "2026-04-01T14:44:05.381Z" }, - { url = "https://files.pythonhosted.org/packages/ed/1e/409007f56a2fdce61584fd3acbc2bbc259857d555196cedcadc68c015c82/pillow-12.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1e1757442ed87f4912397c6d35a0db6a7b52592156014706f17658ff58bbf795", size = 7208580, upload-time = "2026-04-01T14:44:08.39Z" }, - { url = "https://files.pythonhosted.org/packages/23/c4/7349421080b12fb35414607b8871e9534546c128a11965fd4a7002ccfbee/pillow-12.2.0-cp313-cp313-win32.whl", hash = "sha256:144748b3af2d1b358d41286056d0003f47cb339b8c43a9ea42f5fea4d8c66b6e", size = 6375896, upload-time = "2026-04-01T14:44:11.197Z" }, - { url = "https://files.pythonhosted.org/packages/3f/82/8a3739a5e470b3c6cbb1d21d315800d8e16bff503d1f16b03a4ec3212786/pillow-12.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:390ede346628ccc626e5730107cde16c42d3836b89662a115a921f28440e6a3b", size = 7081266, upload-time = "2026-04-01T14:44:13.947Z" }, - { url = "https://files.pythonhosted.org/packages/c3/25/f968f618a062574294592f668218f8af564830ccebdd1fa6200f598e65c5/pillow-12.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:8023abc91fba39036dbce14a7d6535632f99c0b857807cbbbf21ecc9f4717f06", size = 2463508, upload-time = "2026-04-01T14:44:16.312Z" }, - { url = "https://files.pythonhosted.org/packages/4d/a4/b342930964e3cb4dce5038ae34b0eab4653334995336cd486c5a8c25a00c/pillow-12.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:042db20a421b9bafecc4b84a8b6e444686bd9d836c7fd24542db3e7df7baad9b", size = 5309927, upload-time = "2026-04-01T14:44:18.89Z" }, - { url = "https://files.pythonhosted.org/packages/9f/de/23198e0a65a9cf06123f5435a5d95cea62a635697f8f03d134d3f3a96151/pillow-12.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd025009355c926a84a612fecf58bb315a3f6814b17ead51a8e48d3823d9087f", size = 4698624, upload-time = "2026-04-01T14:44:21.115Z" }, - { url = "https://files.pythonhosted.org/packages/01/a6/1265e977f17d93ea37aa28aa81bad4fa597933879fac2520d24e021c8da3/pillow-12.2.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88ddbc66737e277852913bd1e07c150cc7bb124539f94c4e2df5344494e0a612", size = 6321252, upload-time = "2026-04-01T14:44:23.663Z" }, - { url = "https://files.pythonhosted.org/packages/3c/83/5982eb4a285967baa70340320be9f88e57665a387e3a53a7f0db8231a0cd/pillow-12.2.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d362d1878f00c142b7e1a16e6e5e780f02be8195123f164edf7eddd911eefe7c", size = 8126550, upload-time = "2026-04-01T14:44:26.772Z" }, - { url = "https://files.pythonhosted.org/packages/4e/48/6ffc514adce69f6050d0753b1a18fd920fce8cac87620d5a31231b04bfc5/pillow-12.2.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2c727a6d53cb0018aadd8018c2b938376af27914a68a492f59dfcaca650d5eea", size = 6433114, upload-time = "2026-04-01T14:44:29.615Z" }, - { url = "https://files.pythonhosted.org/packages/36/a3/f9a77144231fb8d40ee27107b4463e205fa4677e2ca2548e14da5cf18dce/pillow-12.2.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:efd8c21c98c5cc60653bcb311bef2ce0401642b7ce9d09e03a7da87c878289d4", size = 7115667, upload-time = "2026-04-01T14:44:32.773Z" }, - { url = "https://files.pythonhosted.org/packages/c1/fc/ac4ee3041e7d5a565e1c4fd72a113f03b6394cc72ab7089d27608f8aaccb/pillow-12.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f08483a632889536b8139663db60f6724bfcb443c96f1b18855860d7d5c0fd4", size = 6538966, upload-time = "2026-04-01T14:44:35.252Z" }, - { url = "https://files.pythonhosted.org/packages/c0/a8/27fb307055087f3668f6d0a8ccb636e7431d56ed0750e07a60547b1e083e/pillow-12.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dac8d77255a37e81a2efcbd1fc05f1c15ee82200e6c240d7e127e25e365c39ea", size = 7238241, upload-time = "2026-04-01T14:44:37.875Z" }, - { url = "https://files.pythonhosted.org/packages/ad/4b/926ab182c07fccae9fcb120043464e1ff1564775ec8864f21a0ebce6ac25/pillow-12.2.0-cp313-cp313t-win32.whl", hash = "sha256:ee3120ae9dff32f121610bb08e4313be87e03efeadfc6c0d18f89127e24d0c24", size = 6379592, upload-time = "2026-04-01T14:44:40.336Z" }, - { url = "https://files.pythonhosted.org/packages/c2/c4/f9e476451a098181b30050cc4c9a3556b64c02cf6497ea421ac047e89e4b/pillow-12.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:325ca0528c6788d2a6c3d40e3568639398137346c3d6e66bb61db96b96511c98", size = 7085542, upload-time = "2026-04-01T14:44:43.251Z" }, - { url = "https://files.pythonhosted.org/packages/00/a4/285f12aeacbe2d6dc36c407dfbbe9e96d4a80b0fb710a337f6d2ad978c75/pillow-12.2.0-cp313-cp313t-win_arm64.whl", hash = "sha256:2e5a76d03a6c6dcef67edabda7a52494afa4035021a79c8558e14af25313d453", size = 2465765, upload-time = "2026-04-01T14:44:45.996Z" }, - { url = "https://files.pythonhosted.org/packages/bf/98/4595daa2365416a86cb0d495248a393dfc84e96d62ad080c8546256cb9c0/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:3adc9215e8be0448ed6e814966ecf3d9952f0ea40eb14e89a102b87f450660d8", size = 4100848, upload-time = "2026-04-01T14:44:48.48Z" }, - { url = "https://files.pythonhosted.org/packages/0b/79/40184d464cf89f6663e18dfcf7ca21aae2491fff1a16127681bf1fa9b8cf/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6a9adfc6d24b10f89588096364cc726174118c62130c817c2837c60cf08a392b", size = 4176515, upload-time = "2026-04-01T14:44:51.353Z" }, - { url = "https://files.pythonhosted.org/packages/b0/63/703f86fd4c422a9cf722833670f4f71418fb116b2853ff7da722ea43f184/pillow-12.2.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:6a6e67ea2e6feda684ed370f9a1c52e7a243631c025ba42149a2cc5934dec295", size = 3640159, upload-time = "2026-04-01T14:44:53.588Z" }, - { url = "https://files.pythonhosted.org/packages/71/e0/fb22f797187d0be2270f83500aab851536101b254bfa1eae10795709d283/pillow-12.2.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2bb4a8d594eacdfc59d9e5ad972aa8afdd48d584ffd5f13a937a664c3e7db0ed", size = 5312185, upload-time = "2026-04-01T14:44:56.039Z" }, - { url = "https://files.pythonhosted.org/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:80b2da48193b2f33ed0c32c38140f9d3186583ce7d516526d462645fd98660ae", size = 4695386, upload-time = "2026-04-01T14:44:58.663Z" }, - { url = "https://files.pythonhosted.org/packages/70/62/98f6b7f0c88b9addd0e87c217ded307b36be024d4ff8869a812b241d1345/pillow-12.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22db17c68434de69d8ecfc2fe821569195c0c373b25cccb9cbdacf2c6e53c601", size = 6280384, upload-time = "2026-04-01T14:45:01.5Z" }, - { url = "https://files.pythonhosted.org/packages/5e/03/688747d2e91cfbe0e64f316cd2e8005698f76ada3130d0194664174fa5de/pillow-12.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7b14cc0106cd9aecda615dd6903840a058b4700fcb817687d0ee4fc8b6e389be", size = 8091599, upload-time = "2026-04-01T14:45:04.5Z" }, - { url = "https://files.pythonhosted.org/packages/f6/35/577e22b936fcdd66537329b33af0b4ccfefaeabd8aec04b266528cddb33c/pillow-12.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cbeb542b2ebc6fcdacabf8aca8c1a97c9b3ad3927d46b8723f9d4f033288a0f", size = 6396021, upload-time = "2026-04-01T14:45:07.117Z" }, - { url = "https://files.pythonhosted.org/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4bfd07bc812fbd20395212969e41931001fd59eb55a60658b0e5710872e95286", size = 7083360, upload-time = "2026-04-01T14:45:09.763Z" }, - { url = "https://files.pythonhosted.org/packages/5e/26/d325f9f56c7e039034897e7380e9cc202b1e368bfd04d4cbe6a441f02885/pillow-12.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9aba9a17b623ef750a4d11b742cbafffeb48a869821252b30ee21b5e91392c50", size = 6507628, upload-time = "2026-04-01T14:45:12.378Z" }, - { url = "https://files.pythonhosted.org/packages/5f/f7/769d5632ffb0988f1c5e7660b3e731e30f7f8ec4318e94d0a5d674eb65a4/pillow-12.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:deede7c263feb25dba4e82ea23058a235dcc2fe1f6021025dc71f2b618e26104", size = 7209321, upload-time = "2026-04-01T14:45:15.122Z" }, - { url = "https://files.pythonhosted.org/packages/6a/7a/c253e3c645cd47f1aceea6a8bacdba9991bf45bb7dfe927f7c893e89c93c/pillow-12.2.0-cp314-cp314-win32.whl", hash = "sha256:632ff19b2778e43162304d50da0181ce24ac5bb8180122cbe1bf4673428328c7", size = 6479723, upload-time = "2026-04-01T14:45:17.797Z" }, - { url = "https://files.pythonhosted.org/packages/cd/8b/601e6566b957ca50e28725cb6c355c59c2c8609751efbecd980db44e0349/pillow-12.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:4e6c62e9d237e9b65fac06857d511e90d8461a32adcc1b9065ea0c0fa3a28150", size = 7217400, upload-time = "2026-04-01T14:45:20.529Z" }, - { url = "https://files.pythonhosted.org/packages/d6/94/220e46c73065c3e2951bb91c11a1fb636c8c9ad427ac3ce7d7f3359b9b2f/pillow-12.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:b1c1fbd8a5a1af3412a0810d060a78b5136ec0836c8a4ef9aa11807f2a22f4e1", size = 2554835, upload-time = "2026-04-01T14:45:23.162Z" }, - { url = "https://files.pythonhosted.org/packages/b6/ab/1b426a3974cb0e7da5c29ccff4807871d48110933a57207b5a676cccc155/pillow-12.2.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:57850958fe9c751670e49b2cecf6294acc99e562531f4bd317fa5ddee2068463", size = 5314225, upload-time = "2026-04-01T14:45:25.637Z" }, - { url = "https://files.pythonhosted.org/packages/19/1e/dce46f371be2438eecfee2a1960ee2a243bbe5e961890146d2dee1ff0f12/pillow-12.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d5d38f1411c0ed9f97bcb49b7bd59b6b7c314e0e27420e34d99d844b9ce3b6f3", size = 4698541, upload-time = "2026-04-01T14:45:28.355Z" }, - { url = "https://files.pythonhosted.org/packages/55/c3/7fbecf70adb3a0c33b77a300dc52e424dc22ad8cdc06557a2e49523b703d/pillow-12.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5c0a9f29ca8e79f09de89293f82fc9b0270bb4af1d58bc98f540cc4aedf03166", size = 6322251, upload-time = "2026-04-01T14:45:30.924Z" }, - { url = "https://files.pythonhosted.org/packages/1c/3c/7fbc17cfb7e4fe0ef1642e0abc17fc6c94c9f7a16be41498e12e2ba60408/pillow-12.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1610dd6c61621ae1cf811bef44d77e149ce3f7b95afe66a4512f8c59f25d9ebe", size = 8127807, upload-time = "2026-04-01T14:45:33.908Z" }, - { url = "https://files.pythonhosted.org/packages/ff/c3/a8ae14d6defd2e448493ff512fae903b1e9bd40b72efb6ec55ce0048c8ce/pillow-12.2.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a34329707af4f73cf1782a36cd2289c0368880654a2c11f027bcee9052d35dd", size = 6433935, upload-time = "2026-04-01T14:45:36.623Z" }, - { url = "https://files.pythonhosted.org/packages/6e/32/2880fb3a074847ac159d8f902cb43278a61e85f681661e7419e6596803ed/pillow-12.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e9c4f5b3c546fa3458a29ab22646c1c6c787ea8f5ef51300e5a60300736905e", size = 7116720, upload-time = "2026-04-01T14:45:39.258Z" }, - { url = "https://files.pythonhosted.org/packages/46/87/495cc9c30e0129501643f24d320076f4cc54f718341df18cc70ec94c44e1/pillow-12.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fb043ee2f06b41473269765c2feae53fc2e2fbf96e5e22ca94fb5ad677856f06", size = 6540498, upload-time = "2026-04-01T14:45:41.879Z" }, - { url = "https://files.pythonhosted.org/packages/18/53/773f5edca692009d883a72211b60fdaf8871cbef075eaa9d577f0a2f989e/pillow-12.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f278f034eb75b4e8a13a54a876cc4a5ab39173d2cdd93a638e1b467fc545ac43", size = 7239413, upload-time = "2026-04-01T14:45:44.705Z" }, - { url = "https://files.pythonhosted.org/packages/c9/e4/4b64a97d71b2a83158134abbb2f5bd3f8a2ea691361282f010998f339ec7/pillow-12.2.0-cp314-cp314t-win32.whl", hash = "sha256:6bb77b2dcb06b20f9f4b4a8454caa581cd4dd0643a08bacf821216a16d9c8354", size = 6482084, upload-time = "2026-04-01T14:45:47.568Z" }, - { url = "https://files.pythonhosted.org/packages/ba/13/306d275efd3a3453f72114b7431c877d10b1154014c1ebbedd067770d629/pillow-12.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:6562ace0d3fb5f20ed7290f1f929cae41b25ae29528f2af1722966a0a02e2aa1", size = 7225152, upload-time = "2026-04-01T14:45:50.032Z" }, - { url = "https://files.pythonhosted.org/packages/ff/6e/cf826fae916b8658848d7b9f38d88da6396895c676e8086fc0988073aaf8/pillow-12.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:aa88ccfe4e32d362816319ed727a004423aab09c5cea43c01a4b435643fa34eb", size = 2556579, upload-time = "2026-04-01T14:45:52.529Z" }, - { url = "https://files.pythonhosted.org/packages/4e/b7/2437044fb910f499610356d1352e3423753c98e34f915252aafecc64889f/pillow-12.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0538bd5e05efec03ae613fd89c4ce0368ecd2ba239cc25b9f9be7ed426b0af1f", size = 5273969, upload-time = "2026-04-01T14:45:55.538Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f4/8316e31de11b780f4ac08ef3654a75555e624a98db1056ecb2122d008d5a/pillow-12.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:394167b21da716608eac917c60aa9b969421b5dcbbe02ae7f013e7b85811c69d", size = 4659674, upload-time = "2026-04-01T14:45:58.093Z" }, - { url = "https://files.pythonhosted.org/packages/d4/37/664fca7201f8bb2aa1d20e2c3d5564a62e6ae5111741966c8319ca802361/pillow-12.2.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5d04bfa02cc2d23b497d1e90a0f927070043f6cbf303e738300532379a4b4e0f", size = 5288479, upload-time = "2026-04-01T14:46:01.141Z" }, - { url = "https://files.pythonhosted.org/packages/49/62/5b0ed78fce87346be7a5cfcfaaad91f6a1f98c26f86bdbafa2066c647ef6/pillow-12.2.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0c838a5125cee37e68edec915651521191cef1e6aa336b855f495766e77a366e", size = 7032230, upload-time = "2026-04-01T14:46:03.874Z" }, - { url = "https://files.pythonhosted.org/packages/c3/28/ec0fc38107fc32536908034e990c47914c57cd7c5a3ece4d8d8f7ffd7e27/pillow-12.2.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a6c9fa44005fa37a91ebfc95d081e8079757d2e904b27103f4f5fa6f0bf78c0", size = 5355404, upload-time = "2026-04-01T14:46:06.33Z" }, - { url = "https://files.pythonhosted.org/packages/5e/8b/51b0eddcfa2180d60e41f06bd6d0a62202b20b59c68f5a132e615b75aecf/pillow-12.2.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:25373b66e0dd5905ed63fa3cae13c82fbddf3079f2c8bf15c6fb6a35586324c1", size = 6002215, upload-time = "2026-04-01T14:46:08.83Z" }, - { url = "https://files.pythonhosted.org/packages/bc/60/5382c03e1970de634027cee8e1b7d39776b778b81812aaf45b694dfe9e28/pillow-12.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:bfa9c230d2fe991bed5318a5f119bd6780cda2915cca595393649fc118ab895e", size = 7080946, upload-time = "2026-04-01T14:46:11.734Z" }, +version = "12.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/3d/bb7fca845737cf9d7dbde16ed1843984665ff2e0a518f5db43e77ec540b9/pillow-12.3.0.tar.gz", hash = "sha256:3b8182a766685eaa002637e28b4ec8d6b18819a0c71f579bf0dbaa5830297cce", size = 47025035, upload-time = "2026-07-01T11:56:38.965Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/c2/669d88644cddb1485bd9534e63e8cf476c8e51cb3c3a1297677023505c0e/pillow-12.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6c0016e7b354317c4e9e525b937ac8596c38d2d232b419529b9cd7a1cd46e39a", size = 5392418, upload-time = "2026-07-01T11:53:27.808Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ba/3762f376a2948e3036488d773a146e0ae6ecc2ca03ac20e2615bd0b2ba02/pillow-12.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bcc33feacfaefce60c12fd500a277533bdc02b10a19f7f6d348763d8140bbba7", size = 4785287, upload-time = "2026-07-01T11:53:29.761Z" }, + { url = "https://files.pythonhosted.org/packages/07/50/b5d688cc9c52d4482f3d5bcab6ce20bc2a74a85d2343841c907444a3be2c/pillow-12.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5594fc43d548a7ed94949d139aa1341b270f1863f11cfd37f5a6c8b778a6b67f", size = 6253754, upload-time = "2026-07-01T11:53:32.298Z" }, + { url = "https://files.pythonhosted.org/packages/4e/89/36f4cd76cf4baf05c50ababb976249153f18c959171c7f6ba09a6f217260/pillow-12.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0606c8bf2cdefea14a43530f7657cbbb7ecf1c4222512492ef4a4434a9501ec", size = 6925605, upload-time = "2026-07-01T11:53:34.487Z" }, + { url = "https://files.pythonhosted.org/packages/eb/c0/4de58cf6633b9e3a6061ef4be6fb91fc3c90b812ece886f531e3c523d777/pillow-12.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:85f998ea1848bc6757289e739cfbdda3a04adfd58b02fc018ce54d754a5ce468", size = 6327788, upload-time = "2026-07-01T11:53:36.433Z" }, + { url = "https://files.pythonhosted.org/packages/87/3c/14d53682a19550dbbaf3b598f807d5457646c510805a44c7d7891cd1cd1a/pillow-12.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:25b9b82bb22e6e2b3cd07b39c68b7b862001226cb3dff7130d1cb914121b39ed", size = 7036288, upload-time = "2026-07-01T11:53:38.712Z" }, + { url = "https://files.pythonhosted.org/packages/38/1d/36279e3c77efe034e4cc2b0393ee74ffdb5a62391dacbf9b916154f5f0b8/pillow-12.3.0-cp310-cp310-win32.whl", hash = "sha256:37dc8f7bbb66efe481bb60defacef820c950c24713fb44962ed6aa2a50966de1", size = 6472396, upload-time = "2026-07-01T11:53:40.781Z" }, + { url = "https://files.pythonhosted.org/packages/48/7c/8fa0039574c476d7c6fa57dd7c32a130436877c6ec1e5ce1cc8ec44878c1/pillow-12.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:300557495eb45ebb8aec96c2da9c4be642fbf7cd937278b4013ba894ea8eb0eb", size = 7226887, upload-time = "2026-07-01T11:53:42.764Z" }, + { url = "https://files.pythonhosted.org/packages/fa/17/e324be141d173c1c919428066c3259f21c1b8982e564e01a4a81e96dbdcf/pillow-12.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:514435a37670e3e5e08f3945b68718b6ed329bb84367777e16f9f4dfe1e61a0f", size = 2568039, upload-time = "2026-07-01T11:53:45.372Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c8/0a78b0e02d7ac54bc03e5321c9220da52f0c2ea83b21f7c40e7f3169c502/pillow-12.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:00808c5e14ef63ac5161091d242999076604ff74b883423a11e5d7bbb38bf756", size = 5392415, upload-time = "2026-07-01T11:53:47.162Z" }, + { url = "https://files.pythonhosted.org/packages/b2/5b/a02d30018abd97ced9f5a6c63d28597694a00d066516b9c1c6de45859fc9/pillow-12.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37d6d0a00072fd2948eb22bce7e1475f34569d90c87c59f7a2ec59541b77f7a6", size = 4785266, upload-time = "2026-07-01T11:53:49.079Z" }, + { url = "https://files.pythonhosted.org/packages/c8/98/766667a4be768150a202836acd9fad19c06824ca86c4286d3cf6b274964e/pillow-12.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bcb46e2f9feff8d06323983bd83ed00c201fdcab3d74973e7072a889b3979fcd", size = 6263814, upload-time = "2026-07-01T11:53:51.32Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2d/ede717bc1144f63886c21fd349bb95860b0d1a21149ff16f2bb362b612b6/pillow-12.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23d27a3e0307ec2244cc51e7287b919aa68d097504ebe19df4e76a98a3eea5bd", size = 6934408, upload-time = "2026-07-01T11:53:53.487Z" }, + { url = "https://files.pythonhosted.org/packages/a3/48/9c58b685e69d49c31af6c8eb9012055fab7e665785165c84796e2c73ce72/pillow-12.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4f883547d4b7f0495ebe7056b0cc2aea76094e7a4abc8e933540f3271df27d9c", size = 6337160, upload-time = "2026-07-01T11:53:55.457Z" }, + { url = "https://files.pythonhosted.org/packages/ff/fa/dc2a5c0ba6df93f67c31d34b808b7ce440b40cdbf96f0b81cde1d1e6fa93/pillow-12.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:236ff70b9312fb68943c703aa842ca6a758abfa45ac187a5e7c1452e96ef72b5", size = 7045172, upload-time = "2026-07-01T11:53:57.736Z" }, + { url = "https://files.pythonhosted.org/packages/86/a5/444817a4d4c4c2417df00513086ca196f388d8f9ef40c2e4ccd1ad1af54b/pillow-12.3.0-cp311-cp311-win32.whl", hash = "sha256:10e41f0fbf1eec8cfd234b8fe17a4caac7c9d0db4c204d3c173a8f9f6ef3232b", size = 6472232, upload-time = "2026-07-01T11:53:59.767Z" }, + { url = "https://files.pythonhosted.org/packages/63/c6/4bad1b18d132a50b27e1365e1ab163616f7a5bb56d330f66f9d1d9d4f9d4/pillow-12.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8e95e1385e4998ae9694eeaa4730ba5457ff61185b3a55e2e7bea0880aef452a", size = 7233653, upload-time = "2026-07-01T11:54:02.066Z" }, + { url = "https://files.pythonhosted.org/packages/fd/16/00f91ab7760dc842f5aad55217e80fc4a7067a0604535249bc8a2d6d9870/pillow-12.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:ebaea975e03d3141d9d3a507df75c9b3ec90fa9d2ffd07567b3a978d9d790b26", size = 2568195, upload-time = "2026-07-01T11:54:04.622Z" }, + { url = "https://files.pythonhosted.org/packages/37/bf/fb3ebff8ddcb76aac5a01389251bbbb9519922a9b520d8247c1ca864a25d/pillow-12.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbaeedd44953490b5315d5e965", size = 5345969, upload-time = "2026-07-01T11:54:06.397Z" }, + { url = "https://files.pythonhosted.org/packages/d8/66/9a386a92561f402389a4fc70c18838bf6d35eb5eb5c6850b4b2dc64f5048/pillow-12.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffd0c5368496f41b0944be820fcb7a838aa6e623d250b01acf2643939c3f99d7", size = 4780323, upload-time = "2026-07-01T11:54:09.351Z" }, + { url = "https://files.pythonhosted.org/packages/25/27/ac8f99618ffd3dde21db0f4d4b1d2ab00c0880595bfd17df103f7f39fd0c/pillow-12.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9c7f76c0673154f044e9d78c8655fb4213f6ca31a836df48b40fe5d187717b9", size = 6266838, upload-time = "2026-07-01T11:54:11.71Z" }, + { url = "https://files.pythonhosted.org/packages/84/21/a35af28dcc61f37ed850a2d64c65c701321dfbf25085e469d5559360cbbf/pillow-12.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:78cb2c6865a35ab8ff8b75fd122f6033b92a62c82801110e48ddd6c936a45d91", size = 6940830, upload-time = "2026-07-01T11:54:13.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/51/8b08617af3ad95e33ce6d7dd2c99ed6c8298f7fb131636303956be022e25/pillow-12.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e491916b378fba47242221bb9ead245211b70d504f495d105d17b14a24b4907c", size = 6344383, upload-time = "2026-07-01T11:54:15.756Z" }, + { url = "https://files.pythonhosted.org/packages/1d/72/cf78ac9780bb93c28328f408973845a309d4d145041665f734572ced1b52/pillow-12.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0dd2064cbc55aaec028ef5fbb60fa47bb6c3e7918e07ff17935284b227a9d2df", size = 7052934, upload-time = "2026-07-01T11:54:17.721Z" }, + { url = "https://files.pythonhosted.org/packages/20/20/25e0f4dc178a6bc0696793720055519a0de89e7661dae886992decbd2f81/pillow-12.3.0-cp312-cp312-win32.whl", hash = "sha256:dbce0b29841537a2fa4a214c2bbf14de3587c9680caa9b4e217568472490b28f", size = 6472684, upload-time = "2026-07-01T11:54:19.839Z" }, + { url = "https://files.pythonhosted.org/packages/45/89/da2f7971a317f83d807fdd4065c0af40208e59e692cc43d315a71a0e96d1/pillow-12.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a2b55dd6b2a4c4b7d87ffa56bdb33fdc5fdb9a462173861a7bc097f17d91cb09", size = 7227137, upload-time = "2026-07-01T11:54:22.025Z" }, + { url = "https://files.pythonhosted.org/packages/de/47/4845a0a6c0dbf1db8456bd9fc791f13c5ced7ced20606d08a0aacfd25b49/pillow-12.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:331b624368d4f1d069149002f25f44bc61c8919ce8ddb3c45bdad8f6e2d89510", size = 2568267, upload-time = "2026-07-01T11:54:24.051Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ac/31fb64e1e7efb5a4b50cd3d92049ba89ac6e4d8d3bb6a74e15048ca3353e/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:21900ce7ba264168cd50defae43cd75d25c833ad4ad6e73ffc5596d12e25ac89", size = 4161684, upload-time = "2026-07-01T11:54:25.934Z" }, + { url = "https://files.pythonhosted.org/packages/87/b4/9805e23d2b4d77842b468513841fda254ee42f0289d25088340e4ff46e2d/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4e8c2a84d977f50b9daed6eeaf3baef67d00d5d74d932288f02cb94518ee3ace", size = 4255487, upload-time = "2026-07-01T11:54:27.935Z" }, + { url = "https://files.pythonhosted.org/packages/df/39/ecf519435a200c693fe053a6ee4d835b41cf963a4dfc2551c4e637cb2a71/pillow-12.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ae26d61dfa7a47befdc7572b521024e8745f3d809bd95ca9505a7bba9ef849ec", size = 3696433, upload-time = "2026-07-01T11:54:29.813Z" }, + { url = "https://files.pythonhosted.org/packages/42/92/2fc3ffad878ae8dd5469ec1bc8eb83b71f48e13efdf68f02709003982a32/pillow-12.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a743ff716f746fc19a9557f60dab1600d4613255f8a7aeb3cdde4db7eb15a66", size = 5345889, upload-time = "2026-07-01T11:54:31.97Z" }, + { url = "https://files.pythonhosted.org/packages/10/76/8803c13605b763d33d156c4678fc77f8443389c0c51c8aef707bb02015f4/pillow-12.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d69141514cc30b774ceea5e3ed3a6635c8d8a96edf664689b890f4089111fb35", size = 4780109, upload-time = "2026-07-01T11:54:34.026Z" }, + { url = "https://files.pythonhosted.org/packages/1f/01/e18aff37cb0b4aac47ac90f016d347a49aca667ef97f190b06ac2aabc928/pillow-12.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f7401aebd7f581d7f83a439d87d474999317ee099218e5ad25d125290990ba65", size = 6263736, upload-time = "2026-07-01T11:54:36.131Z" }, + { url = "https://files.pythonhosted.org/packages/f7/62/de5bdd77d935331f4f802edc11e4d82950f642caad6cb2f949837b8560e2/pillow-12.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0847a763afefb695bc912d7c131e7e0632d4edc1d8698f58ddabec8e46b8b6d3", size = 6937129, upload-time = "2026-07-01T11:54:38.216Z" }, + { url = "https://files.pythonhosted.org/packages/70/4d/105627a13300c5e0df1d174230b32fd1273062c96f7745fd552b945d1e1d/pillow-12.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:571b9fcb07b97ef3a492028fb3d2dc0993ca23a06138b0315286566d29ef718a", size = 6339562, upload-time = "2026-07-01T11:54:40.354Z" }, + { url = "https://files.pythonhosted.org/packages/6b/1d/f13de01a553988ab895ba1c722e06cf3144d4f57656fd5b81b6d881f1179/pillow-12.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:756c768d0c9c2955feb7a56c37ea24aea2e369f8d36a88da270b6a9f19e62b5e", size = 7049439, upload-time = "2026-07-01T11:54:42.489Z" }, + { url = "https://files.pythonhosted.org/packages/c9/f9/066794cca041b969964f779ee5fa66a9498bbf34248ac39c5d7954e4198f/pillow-12.3.0-cp313-cp313-win32.whl", hash = "sha256:a876864214e136f0eb367788dbd7df045f4806801518e2cfe9e13229cfe06d8f", size = 6473287, upload-time = "2026-07-01T11:54:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9b/7a58e61d62be561da3a356fe2384d4059a6345fc130e23ef1c36a5b81d24/pillow-12.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1cca606cd25738df4ed873d5ad46bbdb3d83b5cbca291f6b4ff13a4df6b0bbe8", size = 7239691, upload-time = "2026-07-01T11:54:47.141Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b0/c4ed4f0ef8f8fa5ee8351537db6650bb8189f7e118842978dd6589065692/pillow-12.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b629de27fda84b42cde7edef0d85f13b958b47f6e9bbcbba9b673c562a89bd8b", size = 2568185, upload-time = "2026-07-01T11:54:49.137Z" }, + { url = "https://files.pythonhosted.org/packages/dc/01/001f65b68192f0228cc1dbbc8d2530ab5d58b61037ba0587f946fea607cd/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9cf95fe4d0f84c82d282745d9bb08ad9f926efa00be4697e767b814ce40d4330", size = 4161736, upload-time = "2026-07-01T11:54:51.156Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d2/0219746d0fd16fc8a84498e79452375be3797d3ce4044596ce565164b84f/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8728f216dcdb6e6d555cf971cb34076139ad74b31fc2c14da4fafc741c5f6217", size = 4255435, upload-time = "2026-07-01T11:54:53.414Z" }, + { url = "https://files.pythonhosted.org/packages/c8/02/8d0bc62ef0302318c46ff2a512822d2610e81c7aa46c9b3abe6cbaca5ad0/pillow-12.3.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a45650e8ce7fafffd731db8550230db6b0d306d181a90b67d3e6bca2f1990930", size = 3696262, upload-time = "2026-07-01T11:54:55.739Z" }, + { url = "https://files.pythonhosted.org/packages/85/e2/73c77d218410b14f5f2d565e8a998d5317b7b9c75368d29985139f7a46f0/pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ba54cfebe86920a559a7c4d6b9050791c20513650a1952ebe3368c7dc70306f8", size = 5350344, upload-time = "2026-07-01T11:54:57.657Z" }, + { url = "https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e158cb00350dc278f3b91551101aa7d12415a66ebf2c91d8d5ac14e56ddd3ad0", size = 4780131, upload-time = "2026-07-01T11:54:59.713Z" }, + { url = "https://files.pythonhosted.org/packages/b1/9d/8b2c807dbef61a5197c047afe99823787eb66f63daf9fb2432f91d6f0462/pillow-12.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9aeb04d6aef139de265b29683e119b638208f88cf73cdd1658aa07221165321", size = 6263757, upload-time = "2026-07-01T11:55:01.778Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/c85361f65dbe00eea8576ee467c768d25129989efb76e94f205e9ca9bb46/pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:251bf95b67017e27b13d82f5b326234ca62d70f9cf4c2b9032de2358a3b12c7b", size = 6936962, upload-time = "2026-07-01T11:55:03.93Z" }, + { url = "https://files.pythonhosted.org/packages/18/7e/e483414b35800b86b6f08dbbc7803fb5cd52c4d6f897f47d53ea2c7e6f65/pillow-12.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe3cca2e4e8a592be0f269a1ca4835c25199d9f3ce815c8491048f785b0a0198", size = 6339171, upload-time = "2026-07-01T11:55:05.989Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f4/68c491844841ede6bed70189546b3ee9731cf9f2cbad396faff5e1ccba45/pillow-12.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:23aceaa007d6172b02c277f0cd359c79492bbb14f7072b4ede9fbcaf20648130", size = 7048116, upload-time = "2026-07-01T11:55:08.131Z" }, + { url = "https://files.pythonhosted.org/packages/a3/34/77f3f793fed8efc7d243f21b33c5a3f0d1c97ee70346d3db855587e155ff/pillow-12.3.0-cp314-cp314-win32.whl", hash = "sha256:af8d94b0db561cf68b88a267c5c44b49e134f525d0dc2cb7ed413a66bc23559a", size = 6467209, upload-time = "2026-07-01T11:55:10.408Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e0/492879f69d94f91f60fc8cd05ba03650e9520afebb2fb7aa12777d7c7f38/pillow-12.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:fdafc9cce40277e0f7a0feabce0ee50dd2fa1800f3b38015e51296b5e814048d", size = 7237707, upload-time = "2026-07-01T11:55:12.745Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ac/6b11f2875f1c2ac040d84e1bbf9cf22a88038f901ca1037898b280b38365/pillow-12.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:e91206ee562682b51b98ef4b26a6ef48fd84e15fd4c4bc5ec768eb641d206838", size = 2565995, upload-time = "2026-07-01T11:55:14.736Z" }, + { url = "https://files.pythonhosted.org/packages/52/69/c2208e56af9bfc1913afb24020297a691eb1d4ef688474c8a04913f65e04/pillow-12.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:164b31cd1a0490ab6efae01aa5df49da7061be0af1b30e035b6e9a1bfe34ee6e", size = 5352503, upload-time = "2026-07-01T11:55:17.076Z" }, + { url = "https://files.pythonhosted.org/packages/07/70/e5686d753e898a45d778ff1718dba8516ead6ab6b95d85fc8c4b70650cf2/pillow-12.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5afb51d599ea772b8365ae807ae557f18bccfe46ab261fd1c2a9ed700fc6eb17", size = 4782956, upload-time = "2026-07-01T11:55:19.448Z" }, + { url = "https://files.pythonhosted.org/packages/d5/37/25c6692f06927ee973ff18c8d9ee98ad0b4d84ee67a09610c2dd1447958e/pillow-12.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3edce1d53195db527e0191f84b71d02022de0540bf43a16ed734ed7537b07385", size = 6322855, upload-time = "2026-07-01T11:55:21.613Z" }, + { url = "https://files.pythonhosted.org/packages/cc/91/420637fcb8f1bc11029e403b4538e6694744428d8246118e45719f944556/pillow-12.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf16ba1b4d0b6b7c8e534936632270cf70eb00dbe09005bc345b2677b726855c", size = 6989642, upload-time = "2026-07-01T11:55:24.006Z" }, + { url = "https://files.pythonhosted.org/packages/10/08/b94d7811281ccf0d143a1cf768d1c49e1e54af63e7b708ab2ee3eb87face/pillow-12.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:24870b09b224f7ae3c39ed07d10e819d06f8720bc551847b1d623832b5b0e28d", size = 6391281, upload-time = "2026-07-01T11:55:26.252Z" }, + { url = "https://files.pythonhosted.org/packages/d2/87/24233f785f55474dc02ce3e739c5528a77e3a862e9333d1dd7a25cc31f70/pillow-12.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:30f2aa603c41533cc25c05acd0da21636e84a315768feb631c937177db558931", size = 7096716, upload-time = "2026-07-01T11:55:28.318Z" }, + { url = "https://files.pythonhosted.org/packages/23/26/fcb2f6e37175b04f53570b59937867e2b80ee1685e744023153028fc14f9/pillow-12.3.0-cp314-cp314t-win32.whl", hash = "sha256:4b0a7fe987b14c31ebda6083f74f22b561fd3739bc0ac51e019622e3d72668c7", size = 6474125, upload-time = "2026-07-01T11:55:30.956Z" }, + { url = "https://files.pythonhosted.org/packages/90/de/3634abee5f1c9e13c56787b7d5517b0ba8d6de51700b95578cf338349c9f/pillow-12.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:962864dc93511324d51ddbb5b9f8731bf71675b93ca612a07441896f4688fb8c", size = 7242939, upload-time = "2026-07-01T11:55:34.044Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2a/fd13f8eb24de5714a6eb444a3d67e2842c6c576e159a43793adf23051351/pillow-12.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0740a512dc522224c77d9aa5a8d70d8b7d73fb91f2c21125d8d025d3b8990e45", size = 2567506, upload-time = "2026-07-01T11:55:35.988Z" }, + { url = "https://files.pythonhosted.org/packages/5d/dc/8fdce34ec725a33c81c6ba122b904d6b9024e50ea9ac7bede62fab54506c/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0feb2e9d6ad6c9e3c06effe9d00f3f1e618a6643273576b016f591e9315a7139", size = 4162063, upload-time = "2026-07-01T11:55:37.941Z" }, + { url = "https://files.pythonhosted.org/packages/76/66/2044b9a63d3b84ff048228dfcb7cd9bf0df983e8470971bf7d4c57b693de/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:9e881fca225083806662a5c43d627d215f258ff43c890f831966c7d7ba9c7402", size = 4255549, upload-time = "2026-07-01T11:55:40.022Z" }, + { url = "https://files.pythonhosted.org/packages/52/7e/1f67e6f4ece6b582ee4b539decbcc9f848dc245a93ed8cd7338bafef72f1/pillow-12.3.0-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:4998562bf62a445225f22e07c896bb04b35b1b1f2eb6d760584c9c51d7a5f78c", size = 3696331, upload-time = "2026-07-01T11:55:41.98Z" }, + { url = "https://files.pythonhosted.org/packages/12/40/d306fc2c8e4d45d7f175c77edca7063be7b86fe7fe6e68f4353bf71d808c/pillow-12.3.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:dc624f6bc473dacdf7ef7eb8678d0d08edf15cd94fad6ae5c7d6cc67a4e4902f", size = 5350370, upload-time = "2026-07-01T11:55:44.028Z" }, + { url = "https://files.pythonhosted.org/packages/dd/44/668fb1437e8ce420f62d6106eb66e44a5971602a4d794615bdf79315d82d/pillow-12.3.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:71d6097b330eea8fd15097780c8e89cb1a8ce7838669f48c5bacd6f663dd4701", size = 4780147, upload-time = "2026-07-01T11:55:46.073Z" }, + { url = "https://files.pythonhosted.org/packages/0c/08/93fa2e70e30a2d81547e481b6ee2bb9522117221fb1e0ce4b5df70967677/pillow-12.3.0-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:28ce87c5ab450a9dd970b52e5aca5fe63ed432d18a2eaddd1979a00a1ba24ace", size = 6273659, upload-time = "2026-07-01T11:55:48.264Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6d/043e96ff814fc31a33077e4cba86082167db520c93632afdf2042febbb0c/pillow-12.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b02afb9b97f65fbca5f31db6a2a3ba21aa93030225f150fa3f249717e938fb4", size = 6947439, upload-time = "2026-07-01T11:55:50.503Z" }, + { url = "https://files.pythonhosted.org/packages/af/92/ba71d2ee2ac0edf3fa33bd9d5ee9ee080da70b1766f3ca3934f9938ddac9/pillow-12.3.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:1182d52bc2d5e5d7d0949503aa7e36d12f42205dc287e4883f407b1988820d39", size = 6353577, upload-time = "2026-07-01T11:55:52.697Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ce/e63064e2122923ff687c8ad792d0d736a7b3920a56a46982e81a7fdd25d6/pillow-12.3.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:e795b7eb908249c4e43c7c99fac7c2c75dab0c43566e37db472a355f63693d71", size = 7060394, upload-time = "2026-07-01T11:55:55.149Z" }, + { url = "https://files.pythonhosted.org/packages/54/76/a09cc3ccc8d773a7283d34c38bec1708f9e3cc932093cbc4c5e71ac4060b/pillow-12.3.0-cp315-cp315-win32.whl", hash = "sha256:57b3d78c95ba9059768b10e28b813002261d3f3dfc55cc48b0c988f625175827", size = 6467375, upload-time = "2026-07-01T11:55:57.769Z" }, + { url = "https://files.pythonhosted.org/packages/3e/03/1846c49ba3b1d5550392a4bbd06d6fb4578e1cd91a803198b5c90f5f7d53/pillow-12.3.0-cp315-cp315-win_amd64.whl", hash = "sha256:fa4ecea169a355be7a3ade2c783e2ed12f0e40d2c5621cda8b3297faf7fbb9f5", size = 7237048, upload-time = "2026-07-01T11:55:59.975Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/89f35dcc79610423f9f195504d7def7f0d1416a711541b42867e25fe3412/pillow-12.3.0-cp315-cp315-win_arm64.whl", hash = "sha256:877c3f311ff35410f690861c4409e7ccbf0cd2f878e50628a28e5a0bb689e658", size = 2566006, upload-time = "2026-07-01T11:56:02.143Z" }, + { url = "https://files.pythonhosted.org/packages/30/88/707027ba09942dfa2c28759b5c222d769290a41c6d20ea60ec250801941f/pillow-12.3.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:e9871b1ffbfa9656b60aeee92ed5136a5742696006fa322b29ea3d8da0ecc9cf", size = 5352509, upload-time = "2026-07-01T11:56:04.2Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6d/00352fa25332c2569cd387851f568cc5a4b75a9adbfb37ac4fbce4c02eec/pillow-12.3.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:53aa02d20d10c3d814d536aa4e5ac9b84ca0ff5a88377963b085ad6822f93e64", size = 4783167, upload-time = "2026-07-01T11:56:06.631Z" }, + { url = "https://files.pythonhosted.org/packages/13/4f/9e049dfa21af7c22427275720e2490267ba8138120add5c4c574deb69782/pillow-12.3.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:446c34dcc4324b084a53b705127dc15717b22c5e140ae0a3c38349d4efec071e", size = 6329237, upload-time = "2026-07-01T11:56:08.868Z" }, + { url = "https://files.pythonhosted.org/packages/36/16/cf6eeaae8d0fce8dd390a33437cf68c5d5bd73834a2bc6e2f14efda0ab45/pillow-12.3.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf1845d02ad822a369a49f2bb9345b1614744267682e7a03527dc3bf6eea1777", size = 6997047, upload-time = "2026-07-01T11:56:11.379Z" }, + { url = "https://files.pythonhosted.org/packages/1e/69/dbf769bdd55f48bf5733cac28edc6364ffaa072ec9ba336266e4fe66be55/pillow-12.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:186941b6aef820ad110fb01fb06eb925374dc3a21b17e37ec9a53b250c6fe2d1", size = 6400440, upload-time = "2026-07-01T11:56:13.908Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e1/ffc9cfc2eea0d178da8018e18e959301ad9d6bc9f3edb7181e748a474b97/pillow-12.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:f13c32a3abd6079a66d9526e18dad9b6d280384d49d7c54040cd57b6424041d9", size = 7105895, upload-time = "2026-07-01T11:56:16.575Z" }, + { url = "https://files.pythonhosted.org/packages/18/f0/a5595c1e8c3ae44b9828cb2f0fa8155e5095ef04d6327b8f61cf44a3df85/pillow-12.3.0-cp315-cp315t-win32.whl", hash = "sha256:1657923d2d45afb66526e5b933e5b3052e6bdea196c90d3abb2424e18c77dae8", size = 6474384, upload-time = "2026-07-01T11:56:18.855Z" }, + { url = "https://files.pythonhosted.org/packages/e4/04/62bcd9f844984c5938d3b05264a61d797a29d3e0812341a8204af70bbdee/pillow-12.3.0-cp315-cp315t-win_amd64.whl", hash = "sha256:8cd2f7bdda092d99c9fc2fb7391354f306d01443d22785d0cbfafa2e2c8bb418", size = 7243537, upload-time = "2026-07-01T11:56:21.214Z" }, + { url = "https://files.pythonhosted.org/packages/3d/68/1f3066acedf37673694a7141381d8f811ae97f30d34413d236abe7d489f1/pillow-12.3.0-cp315-cp315t-win_arm64.whl", hash = "sha256:06ff022112bc9cbf83b60f8e028d94ad87b60621706487e65f673de61610ab59", size = 2567491, upload-time = "2026-07-01T11:56:23.506Z" }, + { url = "https://files.pythonhosted.org/packages/75/18/2e8b40223153ccbc60df07f9e8928dc0c76202aa4e55ae9f53962b6510d6/pillow-12.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b3c777e849237620b022f7f297dd67705f9f5cf1685f09f02e46f93e92725468", size = 5302510, upload-time = "2026-07-01T11:56:25.736Z" }, + { url = "https://files.pythonhosted.org/packages/46/3e/51fabf59d5ab801ceab709453d3ab6b180083496579549de4c45ced6528a/pillow-12.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:b343699e8308bdc51978310e1c959c584e7869cc8c40780058c87da7781a1e94", size = 4736058, upload-time = "2026-07-01T11:56:28.041Z" }, + { url = "https://files.pythonhosted.org/packages/bf/20/22fe9384b7949e25fb1293bcfc84fb82590ff4ea6b37c95b24d26d793d86/pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbd139c8447d25dd750ab79ee274cc5e1fe80fc56340ab10b18a195e1b6eca3e", size = 5237776, upload-time = "2026-07-01T11:56:30.263Z" }, + { url = "https://files.pythonhosted.org/packages/08/14/f6ba68107680ffa74b39985f3f30884e41318fbc4250caa423c79b4788bb/pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e7e480451b9fa137494bccd3a7d69adbe8ac65a87d97be61e11f1b1050a5bac3", size = 5860358, upload-time = "2026-07-01T11:56:32.68Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0169bc772ec491108b62f644f8ecf1fe5d8ae5ebafde2ee2142210166903/pillow-12.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:04f01d28a6aaff387bf842a13be313df23ba0597a44f1a976c9feb3c6ff4711a", size = 7231786, upload-time = "2026-07-01T11:56:35.046Z" }, ] [[package]] @@ -2303,6 +2335,54 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, ] +[[package]] +name = "statsmodels" +version = "0.14.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "pandas", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "patsy" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0d/81/e8d74b34f85285f7335d30c5e3c2d7c0346997af9f3debf9a0a9a63de184/statsmodels-0.14.6.tar.gz", hash = "sha256:4d17873d3e607d398b85126cd4ed7aad89e4e9d89fc744cdab1af3189a996c2a", size = 20689085, upload-time = "2025-12-05T23:08:39.522Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/6d/9ec309a175956f88eb8420ac564297f37cf9b1f73f89db74da861052dc29/statsmodels-0.14.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f4ff0649a2df674c7ffb6fa1a06bffdb82a6adf09a48e90e000a15a6aaa734b0", size = 10142419, upload-time = "2025-12-05T19:27:35.625Z" }, + { url = "https://files.pythonhosted.org/packages/86/8f/338c5568315ec5bf3ac7cd4b71e34b98cb3b0f834919c0c04a0762f878a1/statsmodels-0.14.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:109012088b3e370080846ab053c76d125268631410142daad2f8c10770e8e8d9", size = 10022819, upload-time = "2025-12-05T19:27:49.385Z" }, + { url = "https://files.pythonhosted.org/packages/b0/77/5fc4cbc2d608f9b483b0675f82704a8bcd672962c379fe4d82100d388dbf/statsmodels-0.14.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e93bd5d220f3cb6fc5fc1bffd5b094966cab8ee99f6c57c02e95710513d6ac3f", size = 10118927, upload-time = "2025-12-05T23:07:51.256Z" }, + { url = "https://files.pythonhosted.org/packages/94/55/b86c861c32186403fe121d9ab27bc16d05839b170d92a978beb33abb995e/statsmodels-0.14.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:06eec42d682fdb09fe5d70a05930857efb141754ec5a5056a03304c1b5e32fd9", size = 10413015, upload-time = "2025-12-05T23:08:53.95Z" }, + { url = "https://files.pythonhosted.org/packages/f9/be/daf0dba729ccdc4176605f4a0fd5cfe71cdda671749dca10e74a732b8b1c/statsmodels-0.14.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0444e88557df735eda7db330806fe09d51c9f888bb1f5906cb3a61fb1a3ed4a8", size = 10441248, upload-time = "2025-12-05T23:09:09.353Z" }, + { url = "https://files.pythonhosted.org/packages/9a/1c/2e10b7c7cc44fa418272996bf0427b8016718fd62f995d9c1f7ab37adf35/statsmodels-0.14.6-cp310-cp310-win_amd64.whl", hash = "sha256:e83a9abe653835da3b37fb6ae04b45480c1de11b3134bd40b09717192a1456ea", size = 9583410, upload-time = "2025-12-05T19:28:02.086Z" }, + { url = "https://files.pythonhosted.org/packages/a9/4d/df4dd089b406accfc3bb5ee53ba29bb3bdf5ae61643f86f8f604baa57656/statsmodels-0.14.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ad5c2810fc6c684254a7792bf1cbaf1606cdee2a253f8bd259c43135d87cfb4", size = 10121514, upload-time = "2025-12-05T19:28:16.521Z" }, + { url = "https://files.pythonhosted.org/packages/82/af/ec48daa7f861f993b91a0dcc791d66e1cf56510a235c5cbd2ab991a31d5c/statsmodels-0.14.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:341fa68a7403e10a95c7b6e41134b0da3a7b835ecff1eb266294408535a06eb6", size = 10003346, upload-time = "2025-12-05T19:28:29.568Z" }, + { url = "https://files.pythonhosted.org/packages/a9/2c/c8f7aa24cd729970728f3f98822fb45149adc216f445a9301e441f7ac760/statsmodels-0.14.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bdf1dfe2a3ca56f5529118baf33a13efed2783c528f4a36409b46bbd2d9d48eb", size = 10129872, upload-time = "2025-12-05T23:09:25.724Z" }, + { url = "https://files.pythonhosted.org/packages/40/c6/9ae8e9b0721e9b6eb5f340c3a0ce8cd7cce4f66e03dd81f80d60f111987f/statsmodels-0.14.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3764ba8195c9baf0925a96da0743ff218067a269f01d155ca3558deed2658ca", size = 10381964, upload-time = "2025-12-05T23:09:41.326Z" }, + { url = "https://files.pythonhosted.org/packages/28/8c/cf3d30c8c2da78e2ad1f50ade8b7fabec3ff4cdfc56fbc02e097c4577f90/statsmodels-0.14.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9e8d2e519852adb1b420e018f5ac6e6684b2b877478adf7fda2cfdb58f5acb5d", size = 10409611, upload-time = "2025-12-05T23:09:57.131Z" }, + { url = "https://files.pythonhosted.org/packages/bf/cc/018f14ecb58c6cb89de9d52695740b7d1f5a982aa9ea312483ea3c3d5f77/statsmodels-0.14.6-cp311-cp311-win_amd64.whl", hash = "sha256:2738a00fca51196f5a7d44b06970ace6b8b30289839e4808d656f8a98e35faa7", size = 9580385, upload-time = "2025-12-05T19:28:42.778Z" }, + { url = "https://files.pythonhosted.org/packages/25/ce/308e5e5da57515dd7cab3ec37ea2d5b8ff50bef1fcc8e6d31456f9fae08e/statsmodels-0.14.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fe76140ae7adc5ff0e60a3f0d56f4fffef484efa803c3efebf2fcd734d72ecb5", size = 10091932, upload-time = "2025-12-05T19:28:55.446Z" }, + { url = "https://files.pythonhosted.org/packages/05/30/affbabf3c27fb501ec7b5808230c619d4d1a4525c07301074eb4bda92fa9/statsmodels-0.14.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:26d4f0ed3b31f3c86f83a92f5c1f5cbe63fc992cd8915daf28ca49be14463a1c", size = 9997345, upload-time = "2025-12-05T19:29:10.278Z" }, + { url = "https://files.pythonhosted.org/packages/48/f5/3a73b51e6450c31652c53a8e12e24eac64e3824be816c0c2316e7dbdcb7d/statsmodels-0.14.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8c00a42863e4f4733ac9d078bbfad816249c01451740e6f5053ecc7db6d6368", size = 10058649, upload-time = "2025-12-05T23:10:12.775Z" }, + { url = "https://files.pythonhosted.org/packages/81/68/dddd76117df2ef14c943c6bbb6618be5c9401280046f4ddfc9fb4596a1b8/statsmodels-0.14.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:19b58cf7474aa9e7e3b0771a66537148b2df9b5884fbf156096c0e6c1ff0469d", size = 10339446, upload-time = "2025-12-05T23:10:28.503Z" }, + { url = "https://files.pythonhosted.org/packages/56/4a/dce451c74c4050535fac1ec0c14b80706d8fc134c9da22db3c8a0ec62c33/statsmodels-0.14.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:81e7dcc5e9587f2567e52deaff5220b175bf2f648951549eae5fc9383b62bc37", size = 10368705, upload-time = "2025-12-05T23:10:44.339Z" }, + { url = "https://files.pythonhosted.org/packages/60/15/3daba2df40be8b8a9a027d7f54c8dedf24f0d81b96e54b52293f5f7e3418/statsmodels-0.14.6-cp312-cp312-win_amd64.whl", hash = "sha256:b5eb07acd115aa6208b4058211138393a7e6c2cf12b6f213ede10f658f6a714f", size = 9543991, upload-time = "2025-12-05T23:10:58.536Z" }, + { url = "https://files.pythonhosted.org/packages/81/59/a5aad5b0cc266f5be013db8cde563ac5d2a025e7efc0c328d83b50c72992/statsmodels-0.14.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:47ee7af083623d2091954fa71c7549b8443168f41b7c5dce66510274c50fd73e", size = 10072009, upload-time = "2025-12-05T23:11:14.021Z" }, + { url = "https://files.pythonhosted.org/packages/53/dd/d8cfa7922fc6dc3c56fa6c59b348ea7de829a94cd73208c6f8202dd33f17/statsmodels-0.14.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:aa60d82e29fcd0a736e86feb63a11d2380322d77a9369a54be8b0965a3985f71", size = 9980018, upload-time = "2025-12-05T23:11:30.907Z" }, + { url = "https://files.pythonhosted.org/packages/ee/77/0ec96803eba444efd75dba32f2ef88765ae3e8f567d276805391ec2c98c6/statsmodels-0.14.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:89ee7d595f5939cc20bf946faedcb5137d975f03ae080f300ebb4398f16a5bd4", size = 10060269, upload-time = "2025-12-05T23:11:46.338Z" }, + { url = "https://files.pythonhosted.org/packages/10/b9/fd41f1f6af13a1a1212a06bb377b17762feaa6d656947bf666f76300fc05/statsmodels-0.14.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:730f3297b26749b216a06e4327fe0be59b8d05f7d594fb6caff4287b69654589", size = 10324155, upload-time = "2025-12-05T23:12:01.805Z" }, + { url = "https://files.pythonhosted.org/packages/ee/0f/a6900e220abd2c69cd0a07e3ad26c71984be6061415a60e0f17b152ecf08/statsmodels-0.14.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f1c08befa85e93acc992b72a390ddb7bd876190f1360e61d10cf43833463bc9c", size = 10349765, upload-time = "2025-12-05T23:12:18.018Z" }, + { url = "https://files.pythonhosted.org/packages/98/08/b79f0c614f38e566eebbdcff90c0bcacf3c6ba7a5bbb12183c09c29ca400/statsmodels-0.14.6-cp313-cp313-win_amd64.whl", hash = "sha256:8021271a79f35b842c02a1794465a651a9d06ec2080f76ebc3b7adce77d08233", size = 9540043, upload-time = "2025-12-05T23:12:33.887Z" }, + { url = "https://files.pythonhosted.org/packages/71/de/09540e870318e0c7b58316561d417be45eff731263b4234fdd2eee3511a8/statsmodels-0.14.6-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:00781869991f8f02ad3610da6627fd26ebe262210287beb59761982a8fa88cae", size = 10069403, upload-time = "2025-12-05T23:12:48.424Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f0/63c1bfda75dc53cee858006e1f46bd6d6f883853bea1b97949d0087766ca/statsmodels-0.14.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:73f305fbf31607b35ce919fae636ab8b80d175328ed38fdc6f354e813b86ee37", size = 9989253, upload-time = "2025-12-05T23:13:05.274Z" }, + { url = "https://files.pythonhosted.org/packages/c1/98/b0dfb4f542b2033a3341aa5f1bdd97024230a4ad3670c5b0839d54e3dcab/statsmodels-0.14.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e443e7077a6e2d3faeea72f5a92c9f12c63722686eb80bb40a0f04e4a7e267ad", size = 10090802, upload-time = "2025-12-05T23:13:20.653Z" }, + { url = "https://files.pythonhosted.org/packages/34/0e/2408735aca9e764643196212f9069912100151414dd617d39ffc72d77eee/statsmodels-0.14.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3414e40c073d725007a6603a18247ab7af3467e1af4a5e5a24e4c27bc26673b4", size = 10337587, upload-time = "2025-12-05T23:13:37.597Z" }, + { url = "https://files.pythonhosted.org/packages/0f/36/4d44f7035ab3c0b2b6a4c4ebb98dedf36246ccbc1b3e2f51ebcd7ac83abb/statsmodels-0.14.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a518d3f9889ef920116f9fa56d0338069e110f823926356946dae83bc9e33e19", size = 10363350, upload-time = "2025-12-05T23:13:53.08Z" }, + { url = "https://files.pythonhosted.org/packages/26/33/f1652d0c59fa51de18492ee2345b65372550501ad061daa38f950be390b6/statsmodels-0.14.6-cp314-cp314-win_amd64.whl", hash = "sha256:151b73e29f01fe619dbce7f66d61a356e9d1fe5e906529b78807df9189c37721", size = 9588010, upload-time = "2025-12-05T23:14:07.28Z" }, +] + [[package]] name = "threadpoolctl" version = "3.6.0" @@ -2314,19 +2394,19 @@ wheels = [ [[package]] name = "tornado" -version = "6.5.5" +version = "6.5.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f8/f1/3173dfa4a18db4a9b03e5d55325559dab51ee653763bb8745a75af491286/tornado-6.5.5.tar.gz", hash = "sha256:192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9", size = 516006, upload-time = "2026-03-10T21:31:02.067Z" } +sdist = { url = "https://files.pythonhosted.org/packages/64/24/95ec527ad67b76d59299e5465b3935d05e4294b7e0290a3924b7487df30b/tornado-6.5.7.tar.gz", hash = "sha256:66c513a76cda70d53907bc27cf1447557699c2e95aa48ba27a442ff61c3ddfc2", size = 519252, upload-time = "2026-06-08T17:34:51.232Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/59/8c/77f5097695f4dd8255ecbd08b2a1ed8ba8b953d337804dd7080f199e12bf/tornado-6.5.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa", size = 445983, upload-time = "2026-03-10T21:30:44.28Z" }, - { url = "https://files.pythonhosted.org/packages/ab/5e/7625b76cd10f98f1516c36ce0346de62061156352353ef2da44e5c21523c/tornado-6.5.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521", size = 444246, upload-time = "2026-03-10T21:30:46.571Z" }, - { url = "https://files.pythonhosted.org/packages/b2/04/7b5705d5b3c0fab088f434f9c83edac1573830ca49ccf29fb83bf7178eec/tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5", size = 447229, upload-time = "2026-03-10T21:30:48.273Z" }, - { url = "https://files.pythonhosted.org/packages/34/01/74e034a30ef59afb4097ef8659515e96a39d910b712a89af76f5e4e1f93c/tornado-6.5.5-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07", size = 448192, upload-time = "2026-03-10T21:30:51.22Z" }, - { url = "https://files.pythonhosted.org/packages/be/00/fe9e02c5a96429fce1a1d15a517f5d8444f9c412e0bb9eadfbe3b0fc55bf/tornado-6.5.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e", size = 448039, upload-time = "2026-03-10T21:30:53.52Z" }, - { url = "https://files.pythonhosted.org/packages/82/9e/656ee4cec0398b1d18d0f1eb6372c41c6b889722641d84948351ae19556d/tornado-6.5.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca", size = 447445, upload-time = "2026-03-10T21:30:55.541Z" }, - { url = "https://files.pythonhosted.org/packages/5a/76/4921c00511f88af86a33de770d64141170f1cfd9c00311aea689949e274e/tornado-6.5.5-cp39-abi3-win32.whl", hash = "sha256:dd3eafaaeec1c7f2f8fdcd5f964e8907ad788fe8a5a32c4426fbbdda621223b7", size = 448582, upload-time = "2026-03-10T21:30:57.142Z" }, - { url = "https://files.pythonhosted.org/packages/2c/23/f6c6112a04d28eed765e374435fb1a9198f73e1ec4b4024184f21faeb1ad/tornado-6.5.5-cp39-abi3-win_amd64.whl", hash = "sha256:6443a794ba961a9f619b1ae926a2e900ac20c34483eea67be4ed8f1e58d3ef7b", size = 448990, upload-time = "2026-03-10T21:30:58.857Z" }, - { url = "https://files.pythonhosted.org/packages/b7/c8/876602cbc96469911f0939f703453c1157b0c826ecb05bdd32e023397d4e/tornado-6.5.5-cp39-abi3-win_arm64.whl", hash = "sha256:2c9a876e094109333f888539ddb2de4361743e5d21eece20688e3e351e4990a6", size = 448016, upload-time = "2026-03-10T21:31:00.43Z" }, + { url = "https://files.pythonhosted.org/packages/02/dc/c7043cab6fed8ae159fc1923ce829ada35c4dbd797d408a43858ffaf9639/tornado-6.5.7-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:148b2eb15c2c765a50796172c1e499649b35f30d2e3c3d3e15913cfa56bfb163", size = 448543, upload-time = "2026-06-08T17:34:38.052Z" }, + { url = "https://files.pythonhosted.org/packages/92/4f/090b1431e5a43df696feceffc268c5383cc079ecb5f08ce58f917109aafe/tornado-6.5.7-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9da38de27f1da3b78a966f0dae12b5a1ea9afe72ca805d84ff06508272ddf100", size = 446707, upload-time = "2026-06-08T17:34:39.594Z" }, + { url = "https://files.pythonhosted.org/packages/37/d8/ef374952fd5da67d4463122c2b8e5a96536ec10b4b339254c6dcde81d01c/tornado-6.5.7-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8d759e71906ee783f8867b93bf26a265743da4c1e2f4a018464c1ba019862972", size = 449774, upload-time = "2026-06-08T17:34:41.204Z" }, + { url = "https://files.pythonhosted.org/packages/35/37/d434c73f4c6e014b745b9b37085f34f40c022f007efff3d7fe65991899f3/tornado-6.5.7-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a46347a18f23fb92b396beebe0fb78f61dda0cc302445202c16203d8a18848b", size = 450745, upload-time = "2026-06-08T17:34:42.531Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2b/56b9aff361d7f1ab728a805ec7d7ea835f8807afa9f5cc690ea0e630efb9/tornado-6.5.7-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:7778b30bef919231265e91c69963ce0f49a1e9c07ac900bbe75b19ce2575ba92", size = 450578, upload-time = "2026-06-08T17:34:43.787Z" }, + { url = "https://files.pythonhosted.org/packages/02/30/a7444fb23aa76860a14198fab96ac79f1866b0a6e19e26c4381b0938e50f/tornado-6.5.7-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e726f0c75da7726eec023aa62751ff8878bd2737e34fbdd33b1ae5897d2200f5", size = 449985, upload-time = "2026-06-08T17:34:45.326Z" }, + { url = "https://files.pythonhosted.org/packages/5c/42/5f0e56c01e8d9d36f4e23f367b85ae6cae0c1ecddd5e6977d8388ad27488/tornado-6.5.7-cp39-abi3-win32.whl", hash = "sha256:f8de3bf12d3efdd0cbe7c8887868198f8a91415e3f29fcf258d9b8eb7b1d9ae4", size = 451047, upload-time = "2026-06-08T17:34:46.784Z" }, + { url = "https://files.pythonhosted.org/packages/c9/a4/b393076ffb21b469eec5b328a0534cf03a3b90bfc6b1f09507cdd075d938/tornado-6.5.7-cp39-abi3-win_amd64.whl", hash = "sha256:de942f843533a039ef9fa3d9c88c7cd8a7c94553fb5ad0154270989b3d99a2c4", size = 451485, upload-time = "2026-06-08T17:34:48.248Z" }, + { url = "https://files.pythonhosted.org/packages/71/2e/7b1c769803121b809112cf9a00681c472eae1d80e32d7ec0e0bd61d0d0e1/tornado-6.5.7-cp39-abi3-win_arm64.whl", hash = "sha256:ff934fce95643af5f11efdae618eaa73d469dc588641e5c8d19295a0c65c4796", size = 450506, upload-time = "2026-06-08T17:34:49.702Z" }, ] [[package]] @@ -2370,11 +2450,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.6.3" +version = "2.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, + { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, ] [[package]]