From 3451cd124fc5b1ee9e7b1811e3e266e321d22f49 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sat, 28 Jun 2025 10:48:42 +0300 Subject: [PATCH 01/33] Update app config --- .env.example | 19 +++++++++++++------ allocator_bot/config.py | 22 ++++++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 allocator_bot/config.py diff --git a/.env.example b/.env.example index 1b7a65d..8389d0e 100644 --- a/.env.example +++ b/.env.example @@ -1,11 +1,18 @@ # Application configuration HOST_URL=http://localhost:4322 # The host URL and port number where the app is running. -API_KEYS_FILE_PATH=api_keys.txt # The path to the file containing API keys to access the bot. +APP_API_KEY=my_api_key # The API key to access the bot. DATA_FOLDER_PATH=data # The path to the folder that will store the allocation data. # AI configuration -OPENAI_API_KEY= -MAGENTIC_OPENAI_MAX_TOKENS=4096 -MAGENTIC_OPENAI_TEMPERATURE=0.42 -MAGENTIC_BACKEND=openai -MAGENTIC_OPENAI_MODEL=gpt-4o +OPENROUTER_API_KEY= + +# S3 configuration +S3_ENABLED=false # Set to true to enable S3 storage +S3_ENDPOINT= # S3 endpoint URL +S3_ACCESS_KEY= # S3 access key +S3_SECRET_KEY= # S3 secret key +S3_BUCKET_NAME= # S3 bucket name +S3_ALLOCATION_FILE=allocations.json # Path to allocation file in S3 + +# Data retrieval configuration +FMP_API_KEY= diff --git a/allocator_bot/config.py b/allocator_bot/config.py new file mode 100644 index 0000000..57347af --- /dev/null +++ b/allocator_bot/config.py @@ -0,0 +1,22 @@ +import json +import os + +import boto3 +from botocore.exceptions import ClientError + +from .models import AppConfig + +config = AppConfig( + agent_host_url=os.getenv("AGENT_HOST_URL"), + app_api_key=os.getenv("APP_API_KEY"), + data_folder_path=os.getenv("DATA_FOLDER_PATH", None), + openrouter_api_key=os.getenv("OPENROUTER_API_KEY", None), + s3_enabled=os.getenv("S3_ENABLED", "false").lower() == "true", + s3_endpoint=os.getenv("S3_ENDPOINT", None), + s3_access_key=os.getenv("S3_ACCESS_KEY", None), + s3_secret_key=os.getenv("S3_SECRET_KEY", None), + s3_bucket_name=os.getenv("S3_BUCKET_NAME", None), + allocation_data_file=os.getenv("ALLOCATION_DATA_FILE", "allocations.json"), + fmp_api_key=os.getenv("FMP_API_KEY", None), +) + From 99077df154cad531769af250bc2921e20225d6ae Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sat, 28 Jun 2025 10:52:44 +0300 Subject: [PATCH 02/33] Migrate the app to use openbb-platform-api and uv --- allocator_bot/__main__.py | 27 + allocator_bot/api.py | 140 ++- allocator_bot/copilots.json | 13 - allocator_bot/widgets.json | 62 - main.py | 31 - poetry.lock | 2249 ----------------------------------- pyproject.toml | 60 +- uv.lock | 2021 +++++++++++++++++++++++++++++++ 8 files changed, 2187 insertions(+), 2416 deletions(-) create mode 100644 allocator_bot/__main__.py delete mode 100644 allocator_bot/copilots.json delete mode 100644 allocator_bot/widgets.json delete mode 100644 main.py delete mode 100644 poetry.lock create mode 100644 uv.lock diff --git a/allocator_bot/__main__.py b/allocator_bot/__main__.py new file mode 100644 index 0000000..3019ffe --- /dev/null +++ b/allocator_bot/__main__.py @@ -0,0 +1,27 @@ +import logging + +# Set up logging +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", + handlers=[logging.StreamHandler()], +) + + +def get_app(): + """Get the FastAPI app instance.""" + import os + + from dotenv import load_dotenv + + load_dotenv(os.path.join(os.path.dirname(__file__), "..", ".env")) + + from .api import app + + return app + + +if __name__ == "__main__": + print( + "Launch the app with `openbb-api --app allocator_bot.__main__:get_app --factory" + ) diff --git a/allocator_bot/api.py b/allocator_bot/api.py index d233616..2369f2d 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -1,38 +1,15 @@ import json import logging import os -from fastapi import Depends, FastAPI + +from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import JSONResponse +from openbb_ai.models import QueryRequest # type: ignore[import-untyped] from sse_starlette.sse import EventSourceResponse from .agent import execution_loop -from .models import AgentQueryRequest -from .utils import require_api_key - -# Load environment variables and configuration -DATA_FOLDER_PATH = os.getenv("DATA_FOLDER_PATH", None) -API_KEYS_FILE_PATH = os.getenv("API_KEYS_FILE_PATH", None) -HOST_URL = os.getenv("HOST_URL", None) - -if not DATA_FOLDER_PATH or not API_KEYS_FILE_PATH or not HOST_URL: - raise ValueError( - "DATA_FOLDER_PATH, API_KEYS_FILE_PATH and HOST_URL must be set in the environment variables" - ) - -# Load API keys -with open(API_KEYS_FILE_PATH, "r") as f: - api_keys = [line.strip() for line in f.readlines()] - -# Load configuration files -widgets_json_path = os.path.join(os.path.dirname(__file__), "widgets.json") -copilots_json_path = os.path.join(os.path.dirname(__file__), "copilots.json") - -with open(widgets_json_path, "r") as f: - widgets_json = json.load(f) - -with open(copilots_json_path, "r") as f: - copilots_json = json.load(f) +from .config import config, load_allocations_from_s3 app = FastAPI() @@ -42,6 +19,7 @@ "http://localhost:1420", "http://localhost:5050", "https://pro.openbb.co", + "https://pro.openbb.dev", "https://excel.openbb.co", ] @@ -61,27 +39,101 @@ def read_root(): return {"info": "Asset basket allocator"} -@app.get("/widgets.json") -def get_widgets(header: str = Depends(require_api_key(api_keys=api_keys))): - """Widgets configuration file for OpenBB Workspace.""" - return JSONResponse(content=widgets_json) +@app.get("/agents.json") +def get_agent_description(): + """Widgets configuration file for the OpenBB Terminal Pro""" + return JSONResponse( + content={ + "vanilla_agent_raw_context": { + "name": "Allocator Bot", + "description": "AI-powered allocator bot to answer questions about the asset basket allocation.", + "image": "https://github.com/OpenBB-finance/copilot-for-terminal-pro/assets/14093308/7da2a512-93b9-478d-90bc-b8c3dd0cabcf", + "endpoints": {"query": f"{config.agent_host_url}/v1/query"}, + "features": { + "streaming": True, + "widget-dashboard-select": True, + "widget-dashboard-search": False, + }, + } + } + ) -@app.get("/copilots.json") -def get_copilot_description( - header: str = Depends(require_api_key(api_keys=api_keys)), -): - """Copilot configuration file for OpenBB Workspace.""" - return JSONResponse(content=copilots_json) -@app.get("/allocation_data") + +@app.get( + "/allocation_data", + openapi_extra={ + "widget_config": { + "name": "Asset basket allocation", + "description": "Asset basket allocation", + "endpoint": "/allocation_data", + "category": "Allocations", + "sub_category": "Allocation", + "source": ["Allocator bot"], + "gridData": { + "x": 0, + "y": 0, + "w": 40, + "h": 10, + "minH": 10, + "minW": 10, + "maxH": 100, + "maxW": 100, + }, + "widgetId": "allocation-data", + "type": "table", + "params": [ + { + "paramName": "allocation_id", + "value": "", + "label": "Allocation ID", + "type": "text", + "description": "Unique identifier for the allocation", + }, + { + "paramName": "risk_model", + "label": "Risk Model", + "type": "text", + "options": [ + {"label": "Max Sharpe", "value": "max_sharpe"}, + {"label": "Min Volatility", "value": "min_volatility"}, + {"label": "Efficient Risk", "value": "efficient_risk"}, + {"label": "Efficient Return", "value": "efficient_return"}, + ], + "description": "Select the risk model for allocation", + }, + { + "paramName": "weights_or_quantities", + "value": "weights", + "label": "Weights or Quantities", + "type": "text", + "options": [ + {"label": "Weights", "value": "weights"}, + {"label": "Quantities", "value": "quantities"}, + ], + "description": "Choose between weights or quantities for allocation", + }, + ], + "data": { + "dataKey": "allocation", + "table": { + "enableCharts": True, + "chartView": {"enabled": True, "chartType": "donut"}, + "showAll": True, + "transpose": False, + }, + }, + } + }, +) def get_allocation_data( - allocation_id: str = None, - risk_model: str = None, + allocation_id: str | None = None, + risk_model: str | None = None, weights_or_quantities: str = "weights", - header: str = Depends(require_api_key(api_keys=api_keys)), -): + # header: str = Depends(require_api_key(api_key=config.app_api_key)), +) -> JSONResponse: """Fetch allocation data. This is an endpoint that powers the relevant widget. @@ -98,11 +150,11 @@ def get_allocation_data( if risk_model: if isinstance(risk_model, str): - risk_model = [risk_model] + risk_model_list = [risk_model] selected_allocation = [ allocation for allocation in selected_allocation - if allocation["Risk Model"] in risk_model + if allocation["Risk Model"] in risk_model_list ] if weights_or_quantities == "quantities": diff --git a/allocator_bot/copilots.json b/allocator_bot/copilots.json deleted file mode 100644 index ac00e4b..0000000 --- a/allocator_bot/copilots.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "allocator_bot": { - "name": "Allocator Bot", - "description": "AI-powered allocator bot to answer questions about the asset basket allocation.", - "image": "https://github.com/OpenBB-finance/copilot-for-terminal-pro/assets/14093308/7da2a512-93b9-478d-90bc-b8c3dd0cabcf", - "hasStreaming": true, - "hasDocuments": false, - "hasFunctionCalling": false, - "endpoints": { - "query": "http://localhost:4322/v1/query" - } - } - } diff --git a/allocator_bot/widgets.json b/allocator_bot/widgets.json deleted file mode 100644 index 199cc52..0000000 --- a/allocator_bot/widgets.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "allocation_data": { - "name": "Asset basket allocation", - "description": "Asset basket allocation", - "endpoint": "/allocation_data", - "category": "Allocations", - "sub_category": "Allocation", - "source": ["Allocator bot"], - "gridData": { - "x": 0, - "y": 0, - "w": 40, - "h": 10, - "minH": 10, - "minW": 10, - "maxH": 100, - "maxW": 100 - }, - "widgetId": "allocation-data", - "type": "table", - "params": [ - { - "paramName": "allocation_id", - "value": "", - "label": "Allocation ID", - "type": "text", - "description": "Unique identifier for the allocation" - }, - { - "paramName": "risk_model", - "label": "Risk Model", - "type": "text", - "options": [ - { "label": "Max Sharpe", "value": "max_sharpe" }, - { "label": "Min Volatility", "value": "min_volatility" }, - { "label": "Efficient Risk", "value": "efficient_risk" }, - { "label": "Efficient Return", "value": "efficient_return" } - ], - "description": "Select the risk model for allocation" - }, - { - "paramName": "weights_or_quantities", - "value": "weights", - "label": "Weights or Quantities", - "type": "text", - "options": [ - { "label": "Weights", "value": "weights" }, - { "label": "Quantities", "value": "quantities" } - ], - "description": "Choose between weights or quantities for allocation" - } - ], - "data": { - "dataKey": "allocation", - "table": { - "enableCharts": false, - "showAll": true, - "transpose": false - } - } - } -} diff --git a/main.py b/main.py deleted file mode 100644 index 483988e..0000000 --- a/main.py +++ /dev/null @@ -1,31 +0,0 @@ -import argparse -import logging -import os -from dotenv import load_dotenv -import uvicorn - -load_dotenv(os.path.join(os.path.dirname(__file__), ".env")) - -# Set up logging -logging.basicConfig( - level=logging.INFO, - format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", - handlers=[logging.StreamHandler()], -) - -logging.info("Starting allocator bot") - - -def main(args): - from allocator_bot.api import app - - uvicorn.run(app, host=args.host, port=args.port) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser(description="Allocator Bot") - parser.add_argument("--host", default="0.0.0.0", help="Host IP address") - parser.add_argument("--port", type=int, default=4322, help="Port number") - - args = parser.parse_args() - main(args) diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index dc7f80d..0000000 --- a/poetry.lock +++ /dev/null @@ -1,2249 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. - -[[package]] -name = "aiohappyeyeballs" -version = "2.4.4" -description = "Happy Eyeballs for asyncio" -optional = false -python-versions = ">=3.8" -files = [ - {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"}, - {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"}, -] - -[[package]] -name = "aiohttp" -version = "3.11.10" -description = "Async http client/server framework (asyncio)" -optional = false -python-versions = ">=3.9" -files = [ - {file = "aiohttp-3.11.10-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cbad88a61fa743c5d283ad501b01c153820734118b65aee2bd7dbb735475ce0d"}, - {file = "aiohttp-3.11.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80886dac673ceaef499de2f393fc80bb4481a129e6cb29e624a12e3296cc088f"}, - {file = "aiohttp-3.11.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:61b9bae80ed1f338c42f57c16918853dc51775fb5cb61da70d590de14d8b5fb4"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e2e576caec5c6a6b93f41626c9c02fc87cd91538b81a3670b2e04452a63def6"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02c13415b5732fb6ee7ff64583a5e6ed1c57aa68f17d2bda79c04888dfdc2769"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfce37f31f20800a6a6620ce2cdd6737b82e42e06e6e9bd1b36f546feb3c44f"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bbbfff4c679c64e6e23cb213f57cc2c9165c9a65d63717108a644eb5a7398df"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49c7dbbc1a559ae14fc48387a115b7d4bbc84b4a2c3b9299c31696953c2a5219"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:68386d78743e6570f054fe7949d6cb37ef2b672b4d3405ce91fafa996f7d9b4d"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9ef405356ba989fb57f84cac66f7b0260772836191ccefbb987f414bcd2979d9"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5d6958671b296febe7f5f859bea581a21c1d05430d1bbdcf2b393599b1cdce77"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:99b7920e7165be5a9e9a3a7f1b680f06f68ff0d0328ff4079e5163990d046767"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0dc49f42422163efb7e6f1df2636fe3db72713f6cd94688e339dbe33fe06d61d"}, - {file = "aiohttp-3.11.10-cp310-cp310-win32.whl", hash = "sha256:40d1c7a7f750b5648642586ba7206999650208dbe5afbcc5284bcec6579c9b91"}, - {file = "aiohttp-3.11.10-cp310-cp310-win_amd64.whl", hash = "sha256:68ff6f48b51bd78ea92b31079817aff539f6c8fc80b6b8d6ca347d7c02384e33"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:77c4aa15a89847b9891abf97f3d4048f3c2d667e00f8a623c89ad2dccee6771b"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:909af95a72cedbefe5596f0bdf3055740f96c1a4baa0dd11fd74ca4de0b4e3f1"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:386fbe79863eb564e9f3615b959e28b222259da0c48fd1be5929ac838bc65683"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3de34936eb1a647aa919655ff8d38b618e9f6b7f250cc19a57a4bf7fd2062b6d"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c9527819b29cd2b9f52033e7fb9ff08073df49b4799c89cb5754624ecd98299"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a96e3e03300b41f261bbfd40dfdbf1c301e87eab7cd61c054b1f2e7c89b9e8"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98f5635f7b74bcd4f6f72fcd85bea2154b323a9f05226a80bc7398d0c90763b0"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:03b6002e20938fc6ee0918c81d9e776bebccc84690e2b03ed132331cca065ee5"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6362cc6c23c08d18ddbf0e8c4d5159b5df74fea1a5278ff4f2c79aed3f4e9f46"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3691ed7726fef54e928fe26344d930c0c8575bc968c3e239c2e1a04bd8cf7838"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31d5093d3acd02b31c649d3a69bb072d539d4c7659b87caa4f6d2bcf57c2fa2b"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8b3cf2dc0f0690a33f2d2b2cb15db87a65f1c609f53c37e226f84edb08d10f52"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fbbaea811a2bba171197b08eea288b9402faa2bab2ba0858eecdd0a4105753a3"}, - {file = "aiohttp-3.11.10-cp311-cp311-win32.whl", hash = "sha256:4b2c7ac59c5698a7a8207ba72d9e9c15b0fc484a560be0788b31312c2c5504e4"}, - {file = "aiohttp-3.11.10-cp311-cp311-win_amd64.whl", hash = "sha256:974d3a2cce5fcfa32f06b13ccc8f20c6ad9c51802bb7f829eae8a1845c4019ec"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b78f053a7ecfc35f0451d961dacdc671f4bcbc2f58241a7c820e9d82559844cf"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ab7485222db0959a87fbe8125e233b5a6f01f4400785b36e8a7878170d8c3138"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cf14627232dfa8730453752e9cdc210966490992234d77ff90bc8dc0dce361d5"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076bc454a7e6fd646bc82ea7f98296be0b1219b5e3ef8a488afbdd8e81fbac50"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:482cafb7dc886bebeb6c9ba7925e03591a62ab34298ee70d3dd47ba966370d2c"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf3d1a519a324af764a46da4115bdbd566b3c73fb793ffb97f9111dbc684fc4d"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24213ba85a419103e641e55c27dc7ff03536c4873470c2478cce3311ba1eee7b"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b99acd4730ad1b196bfb03ee0803e4adac371ae8efa7e1cbc820200fc5ded109"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:14cdb5a9570be5a04eec2ace174a48ae85833c2aadc86de68f55541f66ce42ab"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7e97d622cb083e86f18317282084bc9fbf261801b0192c34fe4b1febd9f7ae69"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:012f176945af138abc10c4a48743327a92b4ca9adc7a0e078077cdb5dbab7be0"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44224d815853962f48fe124748227773acd9686eba6dc102578defd6fc99e8d9"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c87bf31b7fdab94ae3adbe4a48e711bfc5f89d21cf4c197e75561def39e223bc"}, - {file = "aiohttp-3.11.10-cp312-cp312-win32.whl", hash = "sha256:06a8e2ee1cbac16fe61e51e0b0c269400e781b13bcfc33f5425912391a542985"}, - {file = "aiohttp-3.11.10-cp312-cp312-win_amd64.whl", hash = "sha256:be2b516f56ea883a3e14dda17059716593526e10fb6303189aaf5503937db408"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8cc5203b817b748adccb07f36390feb730b1bc5f56683445bfe924fc270b8816"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5ef359ebc6949e3a34c65ce20230fae70920714367c63afd80ea0c2702902ccf"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9bca390cb247dbfaec3c664326e034ef23882c3f3bfa5fbf0b56cad0320aaca5"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:811f23b3351ca532af598405db1093f018edf81368e689d1b508c57dcc6b6a32"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddf5f7d877615f6a1e75971bfa5ac88609af3b74796ff3e06879e8422729fd01"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ab29b8a0beb6f8eaf1e5049252cfe74adbaafd39ba91e10f18caeb0e99ffb34"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c49a76c1038c2dd116fa443eba26bbb8e6c37e924e2513574856de3b6516be99"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f3dc0e330575f5b134918976a645e79adf333c0a1439dcf6899a80776c9ab39"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:efb15a17a12497685304b2d976cb4939e55137df7b09fa53f1b6a023f01fcb4e"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:db1d0b28fcb7f1d35600150c3e4b490775251dea70f894bf15c678fdd84eda6a"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:15fccaf62a4889527539ecb86834084ecf6e9ea70588efde86e8bc775e0e7542"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:593c114a2221444f30749cc5e5f4012488f56bd14de2af44fe23e1e9894a9c60"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7852bbcb4d0d2f0c4d583f40c3bc750ee033265d80598d0f9cb6f372baa6b836"}, - {file = "aiohttp-3.11.10-cp313-cp313-win32.whl", hash = "sha256:65e55ca7debae8faaffee0ebb4b47a51b4075f01e9b641c31e554fd376595c6c"}, - {file = "aiohttp-3.11.10-cp313-cp313-win_amd64.whl", hash = "sha256:beb39a6d60a709ae3fb3516a1581777e7e8b76933bb88c8f4420d875bb0267c6"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0580f2e12de2138f34debcd5d88894786453a76e98febaf3e8fe5db62d01c9bf"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a55d2ad345684e7c3dd2c20d2f9572e9e1d5446d57200ff630e6ede7612e307f"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04814571cb72d65a6899db6099e377ed00710bf2e3eafd2985166f2918beaf59"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e44a9a3c053b90c6f09b1bb4edd880959f5328cf63052503f892c41ea786d99f"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:502a1464ccbc800b4b1995b302efaf426e8763fadf185e933c2931df7db9a199"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:613e5169f8ae77b1933e42e418a95931fb4867b2991fc311430b15901ed67079"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cca22a61b7fe45da8fc73c3443150c3608750bbe27641fc7558ec5117b27fdf"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86a5dfcc39309470bd7b68c591d84056d195428d5d2e0b5ccadfbaf25b026ebc"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:77ae58586930ee6b2b6f696c82cf8e78c8016ec4795c53e36718365f6959dc82"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:78153314f26d5abef3239b4a9af20c229c6f3ecb97d4c1c01b22c4f87669820c"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:98283b94cc0e11c73acaf1c9698dea80c830ca476492c0fe2622bd931f34b487"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:53bf2097e05c2accc166c142a2090e4c6fd86581bde3fd9b2d3f9e93dda66ac1"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c5532f0441fc09c119e1dca18fbc0687e64fbeb45aa4d6a87211ceaee50a74c4"}, - {file = "aiohttp-3.11.10-cp39-cp39-win32.whl", hash = "sha256:47ad15a65fb41c570cd0ad9a9ff8012489e68176e7207ec7b82a0940dddfd8be"}, - {file = "aiohttp-3.11.10-cp39-cp39-win_amd64.whl", hash = "sha256:c6b9e6d7e41656d78e37ce754813fa44b455c3d0d0dced2a047def7dc5570b74"}, - {file = "aiohttp-3.11.10.tar.gz", hash = "sha256:b1fc6b45010a8d0ff9e88f9f2418c6fd408c99c211257334aff41597ebece42e"}, -] - -[package.dependencies] -aiohappyeyeballs = ">=2.3.0" -aiosignal = ">=1.1.2" -async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} -attrs = ">=17.3.0" -frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" -propcache = ">=0.2.0" -yarl = ">=1.17.0,<2.0" - -[package.extras] -speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] - -[[package]] -name = "aiosignal" -version = "1.3.2" -description = "aiosignal: a list of registered asynchronous callbacks" -optional = false -python-versions = ">=3.9" -files = [ - {file = "aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5"}, - {file = "aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54"}, -] - -[package.dependencies] -frozenlist = ">=1.1.0" - -[[package]] -name = "annotated-types" -version = "0.7.0" -description = "Reusable constraint types to use with typing.Annotated" -optional = false -python-versions = ">=3.8" -files = [ - {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, - {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, -] - -[[package]] -name = "anyio" -version = "4.7.0" -description = "High level compatibility layer for multiple asynchronous event loop implementations" -optional = false -python-versions = ">=3.9" -files = [ - {file = "anyio-4.7.0-py3-none-any.whl", hash = "sha256:ea60c3723ab42ba6fff7e8ccb0488c898ec538ff4df1f1d5e642c3601d07e352"}, - {file = "anyio-4.7.0.tar.gz", hash = "sha256:2f834749c602966b7d456a7567cafcb309f96482b5081d14ac93ccd457f9dd48"}, -] - -[package.dependencies] -exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} -idna = ">=2.8" -sniffio = ">=1.1" -typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} - -[package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"] -trio = ["trio (>=0.26.1)"] - -[[package]] -name = "async-timeout" -version = "5.0.1" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.8" -files = [ - {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, - {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, -] - -[[package]] -name = "attrs" -version = "24.2.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.7" -files = [ - {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, - {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, -] - -[package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] - -[[package]] -name = "backoff" -version = "2.2.1" -description = "Function decoration for backoff and retry" -optional = false -python-versions = ">=3.7,<4.0" -files = [ - {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, - {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, -] - -[[package]] -name = "certifi" -version = "2024.8.30" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.4.0" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, - {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, - {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, -] - -[[package]] -name = "clarabel" -version = "0.9.0" -description = "Clarabel Conic Interior Point Solver for Rust / Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "clarabel-0.9.0-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:702cc4666c0ccf893c936f9f1f55cbb3233ae2d5fa05f67b370ac3e7ec50f222"}, - {file = "clarabel-0.9.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8ea616757b460153ead375b3dd3ce763d46fc3717248077bbfa7b2c844b1775f"}, - {file = "clarabel-0.9.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b5ae16d7dd87aabf72260cf9590ba0d037c52d48555bcf3a86b1f0d9cf88dd4"}, - {file = "clarabel-0.9.0-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:85cb560a5c4cdfb079e3437e21f0b62b69ba766ae082aeb96ced0b5763214077"}, - {file = "clarabel-0.9.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0eaeb3fbb5a90b598700d5435c7f102592a1a79ee25df5a097e0af575838786b"}, - {file = "clarabel-0.9.0-cp37-abi3-win32.whl", hash = "sha256:759c2fa0ccc61ae1a02691c43753638a0ae793bf1de81c6f6763c346789a7e25"}, - {file = "clarabel-0.9.0-cp37-abi3-win_amd64.whl", hash = "sha256:d24e4ed1b686eb2fe2a1b6e77935af6ad62a2c044131e70801ec1d3ef3d33280"}, - {file = "clarabel-0.9.0.tar.gz", hash = "sha256:0d6d3fe8800be5b4b5d40a8e14bd492667b3e46cc5dbe37677ce5ed25f0719d4"}, -] - -[package.dependencies] -numpy = "*" -scipy = "*" - -[[package]] -name = "click" -version = "8.1.7" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "cvxpy" -version = "1.6.0" -description = "A domain-specific language for modeling convex optimization problems in Python." -optional = false -python-versions = ">=3.9" -files = [ - {file = "cvxpy-1.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:45fa557789ff5d9ecdf88dee15c47dbd2f79fa47aa4d71e939126ad654e43484"}, - {file = "cvxpy-1.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:aaff709f5a12a5984b33303a0db5c129aeeba39c98001b630e6943d0cd5a53ed"}, - {file = "cvxpy-1.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:376e43113f19c2e448b5a1fc06e276eae0952e398c6b76092b2fd21c8e14333f"}, - {file = "cvxpy-1.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32bbc9ad7c4423a68e8ec0ac7b59187937d0472e9a331e84c811c89c24799512"}, - {file = "cvxpy-1.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe295d5eff0f7adab80fca54e2796da878827432f4f97f5d87e47208d52e0aab"}, - {file = "cvxpy-1.6.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:99f3f72d84b6424dcbac582f9d50853ab0b473ef63087f1afefd0ddebd94999f"}, - {file = "cvxpy-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5f8c2535541baca557a170a90fad5722f413f9898d3b6111f5f0d46707009b02"}, - {file = "cvxpy-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96de6ec5d2cb7ca2c2f767d8a8485ef9c7fb0269f5668d52210c8d7c32dda610"}, - {file = "cvxpy-1.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccc3fc4a54126e90c858eee6d2d729afe954d9fab09d23ec92551728ce1e490c"}, - {file = "cvxpy-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:94da5c6897db0718376153ac51a40d6cd6e33b4cc033d99783c506db794caeca"}, - {file = "cvxpy-1.6.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3ad0a0928dbd051d3e3b34bf76b078ee3e3b3b3418a86e406c048f9c06196ffa"}, - {file = "cvxpy-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bc013ce8f868c2c25917a79c33e78ca6da7e9f4a498a35c3172a57a5d2626851"}, - {file = "cvxpy-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a4305e85cc4c916a560818f03fe61521492c7cd4d43783e9e8713ed9dd6854d"}, - {file = "cvxpy-1.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12067d6a540037c0bf2d936961b84482002a231f37a994b5c9adff71360ba7a2"}, - {file = "cvxpy-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:ca12f4045e6118a296e2fdbc451d4fa5f4c3bb1f4e8a770e5065b070144b9342"}, - {file = "cvxpy-1.6.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1f0fcf10d3d85e0e4828197348426ca49403c637cc7f19d68a2a2bd0ecf08b7e"}, - {file = "cvxpy-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:52412e4af1137ce8fb4ae927b2cffb00d71ece2ace1c9fa784827a3672b22fff"}, - {file = "cvxpy-1.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cee9e376a45b9b0d7f20ec4ef380102cb960d496e074f49e596a0415c01dc00"}, - {file = "cvxpy-1.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6df39b5b5d0400b2edacdf784f42459237e956ba4a844d7ee33acc6af2a91709"}, - {file = "cvxpy-1.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:d4a368defabbe07188c061865851075a38632aadbdc09b587b86fdbea215b79e"}, - {file = "cvxpy-1.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6be5987555efcedce8f3cf52a2c56204927b370fb9bd2be81b3126c68fc5130c"}, - {file = "cvxpy-1.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2f1ca20b753eb96e2e2d410d7735191cddf7f9a81944161e7f203ecf966166c4"}, - {file = "cvxpy-1.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed19c2ee4d874241217a5205af0b002dfe4f60f4a193518579f71260c1ef3343"}, - {file = "cvxpy-1.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8b83be26ac70f8ce961386389e7f56a3c1a18bb524fae38b10b3041348810a6"}, - {file = "cvxpy-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:1ce23246463a61478190ba5c5b6e5c22d52b06afd1875d28214925a49abec1ad"}, - {file = "cvxpy-1.6.0.tar.gz", hash = "sha256:679a9531877dfe0e2defabe106bc62a3e7ea094a7fcfcb797e121127ff8ff39a"}, -] - -[package.dependencies] -clarabel = ">=0.5.0" -numpy = ">=1.20" -osqp = ">=0.6.2" -scipy = ">=1.1.0" -scs = ">=3.2.4.post1" - -[package.extras] -cbc = ["cylp (>=0.91.5)"] -cvxopt = ["cvxopt"] -daqp = ["daqp"] -diffcp = ["diffcp"] -doc = ["sphinx", "sphinx-design", "sphinx-immaterial (>=0.11.7)", "sphinx-inline-tabs", "sphinxcontrib.jquery"] -ecos = ["ecos"] -ecos-bb = ["ecos"] -glop = ["ortools (>=9.7,<9.10)"] -glpk = ["cvxopt"] -glpk-mi = ["cvxopt"] -gurobi = ["gurobipy"] -highs = ["highspy"] -mosek = ["Mosek"] -pdlp = ["ortools (>=9.7,<9.10)"] -piqp = ["piqp"] -proxqp = ["proxsuite"] -scip = ["PySCIPOpt"] -scipy = ["scipy"] -scs = ["setuptools (>65.5.1)"] -testing = ["hypothesis", "pytest"] -xpress = ["xpress"] - -[[package]] -name = "distro" -version = "1.9.0" -description = "Distro - an OS platform information API" -optional = false -python-versions = ">=3.6" -files = [ - {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, - {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, -] - -[[package]] -name = "ecos" -version = "2.0.14" -description = "This is the Python package for ECOS: Embedded Cone Solver. See Github page for more information." -optional = false -python-versions = "*" -files = [ - {file = "ecos-2.0.14-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d16f8c97c42a18be77530b4d0090d8dd38105ae311518fc58a66c5c403d79672"}, - {file = "ecos-2.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9a977976ec618261456d6c9cd4ec7b7745607e448e78cd0c851190c6cc515ef"}, - {file = "ecos-2.0.14-cp310-cp310-win_amd64.whl", hash = "sha256:f2e8ab314609117f7e96bb83db7458f011ab0496c61078e146a8f5c8244e70b2"}, - {file = "ecos-2.0.14-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dc90b54eaae16ead128bfdd95e04bf808b73578bdf40ed652c55aa36a6d02e42"}, - {file = "ecos-2.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8be3b4856838ae351fec40fb3589181d52b41cf75bf4d35342686a508c37a6"}, - {file = "ecos-2.0.14-cp311-cp311-win_amd64.whl", hash = "sha256:7495b3031ccc2d4cec72cdb40aed8a2d1fdd734fe40519b7e6047aead5e811cf"}, - {file = "ecos-2.0.14-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4a7e2704a3ef9acfb8146d594deff9942d3a0f0d0399de8fe2e0bd95e8b0855c"}, - {file = "ecos-2.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3cbb1a66ecf10955a1a4bcd6b99db55148000cb79fd176bfac26d98b21a4814"}, - {file = "ecos-2.0.14-cp312-cp312-win_amd64.whl", hash = "sha256:718eb62afb8e45426bcc365ebaf3ca9f610afcbb754de6073ef5f104da8fca1f"}, - {file = "ecos-2.0.14-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:1a4048d576dc312679cc56a6a9af24e0fc6501988d89b725107fd05b4f0dcec8"}, - {file = "ecos-2.0.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e55833bb2a468989ed9ffae4944b005888dfbf4c273daff13259d22104cfc097"}, - {file = "ecos-2.0.14-cp37-cp37m-win_amd64.whl", hash = "sha256:ceba1e1b411a5ff0acb41bf1732da426b482bf51b40ccc1a114132f8ecedb165"}, - {file = "ecos-2.0.14-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:85007d4462178f1e44aa824122e05e3e72605a7ec4366a55f678002793448f84"}, - {file = "ecos-2.0.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81488788f92b1a288a44398835a371740d2f91b1d2361f76e3a27c4c6c8f8104"}, - {file = "ecos-2.0.14-cp38-cp38-win_amd64.whl", hash = "sha256:56e461ce7ef57bacd9c3653da2bfb959571b4e57177b7f0ea9a69170f7e2a1e3"}, - {file = "ecos-2.0.14-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cb7189a1fabb46c6058484158f7002aa7b0d97633af18fd3cc98e4239d550a58"}, - {file = "ecos-2.0.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa30ce5d4ebe012f2432da53369349f9aee8df3c463987f5a4af44477eecd9a5"}, - {file = "ecos-2.0.14-cp39-cp39-win_amd64.whl", hash = "sha256:e412718b23c46500e0f0a3be2a5e5a552e89f495992cf7b3742eae6c75c830a7"}, - {file = "ecos-2.0.14.tar.gz", hash = "sha256:64b3201c0e0a7f0129050557c4ac50b00031e80a10534506dba1200c8dc1efe4"}, -] - -[package.dependencies] -numpy = ">=1.6" -scipy = ">=0.9" - -[[package]] -name = "exceptiongroup" -version = "1.2.2" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "fastapi" -version = "0.115.6" -description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -optional = false -python-versions = ">=3.8" -files = [ - {file = "fastapi-0.115.6-py3-none-any.whl", hash = "sha256:e9240b29e36fa8f4bb7290316988e90c381e5092e0cbe84e7818cc3713bcf305"}, - {file = "fastapi-0.115.6.tar.gz", hash = "sha256:9ec46f7addc14ea472958a96aae5b5de65f39721a46aaf5705c480d9a8b76654"}, -] - -[package.dependencies] -pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" -starlette = ">=0.40.0,<0.42.0" -typing-extensions = ">=4.8.0" - -[package.extras] -all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] -standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"] - -[[package]] -name = "filetype" -version = "1.2.0" -description = "Infer file type and MIME type of any file/buffer. No external dependencies." -optional = false -python-versions = "*" -files = [ - {file = "filetype-1.2.0-py2.py3-none-any.whl", hash = "sha256:7ce71b6880181241cf7ac8697a2f1eb6a8bd9b429f7ad6d27b8db9ba5f1c2d25"}, - {file = "filetype-1.2.0.tar.gz", hash = "sha256:66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb"}, -] - -[[package]] -name = "frozenlist" -version = "1.5.0" -description = "A list-like structure which implements collections.abc.MutableSequence" -optional = false -python-versions = ">=3.8" -files = [ - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, - {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, - {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, - {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, - {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, - {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, - {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, - {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, - {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, - {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, - {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, - {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, - {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, - {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, - {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, -] - -[[package]] -name = "h11" -version = "0.14.0" -description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -optional = false -python-versions = ">=3.7" -files = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] - -[[package]] -name = "html5lib" -version = "1.1" -description = "HTML parser based on the WHATWG HTML specification" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "html5lib-1.1-py2.py3-none-any.whl", hash = "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d"}, - {file = "html5lib-1.1.tar.gz", hash = "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f"}, -] - -[package.dependencies] -six = ">=1.9" -webencodings = "*" - -[package.extras] -all = ["chardet (>=2.2)", "genshi", "lxml"] -chardet = ["chardet (>=2.2)"] -genshi = ["genshi"] -lxml = ["lxml"] - -[[package]] -name = "httpcore" -version = "1.0.7" -description = "A minimal low-level HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, - {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, -] - -[package.dependencies] -certifi = "*" -h11 = ">=0.13,<0.15" - -[package.extras] -asyncio = ["anyio (>=4.0,<5.0)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -trio = ["trio (>=0.22.0,<1.0)"] - -[[package]] -name = "httpx" -version = "0.28.1" -description = "The next generation HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, - {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, -] - -[package.dependencies] -anyio = "*" -certifi = "*" -httpcore = "==1.*" -idna = "*" - -[package.extras] -brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "idna" -version = "3.10" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, - {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "importlib-metadata" -version = "8.5.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, -] - -[package.dependencies] -zipp = ">=3.20" - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] -type = ["pytest-mypy"] - -[[package]] -name = "jiter" -version = "0.8.2" -description = "Fast iterable JSON parser." -optional = false -python-versions = ">=3.8" -files = [ - {file = "jiter-0.8.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ca8577f6a413abe29b079bc30f907894d7eb07a865c4df69475e868d73e71c7b"}, - {file = "jiter-0.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b25bd626bde7fb51534190c7e3cb97cee89ee76b76d7585580e22f34f5e3f393"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5c826a221851a8dc028eb6d7d6429ba03184fa3c7e83ae01cd6d3bd1d4bd17d"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d35c864c2dff13dfd79fb070fc4fc6235d7b9b359efe340e1261deb21b9fcb66"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f557c55bc2b7676e74d39d19bcb8775ca295c7a028246175d6a8b431e70835e5"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:580ccf358539153db147e40751a0b41688a5ceb275e6f3e93d91c9467f42b2e3"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af102d3372e917cffce49b521e4c32c497515119dc7bd8a75665e90a718bbf08"}, - {file = "jiter-0.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cadcc978f82397d515bb2683fc0d50103acff2a180552654bb92d6045dec2c49"}, - {file = "jiter-0.8.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ba5bdf56969cad2019d4e8ffd3f879b5fdc792624129741d3d83fc832fef8c7d"}, - {file = "jiter-0.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3b94a33a241bee9e34b8481cdcaa3d5c2116f575e0226e421bed3f7a6ea71cff"}, - {file = "jiter-0.8.2-cp310-cp310-win32.whl", hash = "sha256:6e5337bf454abddd91bd048ce0dca5134056fc99ca0205258766db35d0a2ea43"}, - {file = "jiter-0.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:4a9220497ca0cb1fe94e3f334f65b9b5102a0b8147646118f020d8ce1de70105"}, - {file = "jiter-0.8.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2dd61c5afc88a4fda7d8b2cf03ae5947c6ac7516d32b7a15bf4b49569a5c076b"}, - {file = "jiter-0.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a6c710d657c8d1d2adbbb5c0b0c6bfcec28fd35bd6b5f016395f9ac43e878a15"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9584de0cd306072635fe4b89742bf26feae858a0683b399ad0c2509011b9dc0"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5a90a923338531b7970abb063cfc087eebae6ef8ec8139762007188f6bc69a9f"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21974d246ed0181558087cd9f76e84e8321091ebfb3a93d4c341479a736f099"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32475a42b2ea7b344069dc1e81445cfc00b9d0e3ca837f0523072432332e9f74"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b9931fd36ee513c26b5bf08c940b0ac875de175341cbdd4fa3be109f0492586"}, - {file = "jiter-0.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ce0820f4a3a59ddced7fce696d86a096d5cc48d32a4183483a17671a61edfddc"}, - {file = "jiter-0.8.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ffc86ae5e3e6a93765d49d1ab47b6075a9c978a2b3b80f0f32628f39caa0c88"}, - {file = "jiter-0.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5127dc1abd809431172bc3fbe8168d6b90556a30bb10acd5ded41c3cfd6f43b6"}, - {file = "jiter-0.8.2-cp311-cp311-win32.whl", hash = "sha256:66227a2c7b575720c1871c8800d3a0122bb8ee94edb43a5685aa9aceb2782d44"}, - {file = "jiter-0.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:cde031d8413842a1e7501e9129b8e676e62a657f8ec8166e18a70d94d4682855"}, - {file = "jiter-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e6ec2be506e7d6f9527dae9ff4b7f54e68ea44a0ef6b098256ddf895218a2f8f"}, - {file = "jiter-0.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76e324da7b5da060287c54f2fabd3db5f76468006c811831f051942bf68c9d44"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:180a8aea058f7535d1c84183c0362c710f4750bef66630c05f40c93c2b152a0f"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:025337859077b41548bdcbabe38698bcd93cfe10b06ff66617a48ff92c9aec60"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecff0dc14f409599bbcafa7e470c00b80f17abc14d1405d38ab02e4b42e55b57"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffd9fee7d0775ebaba131f7ca2e2d83839a62ad65e8e02fe2bd8fc975cedeb9e"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14601dcac4889e0a1c75ccf6a0e4baf70dbc75041e51bcf8d0e9274519df6887"}, - {file = "jiter-0.8.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92249669925bc1c54fcd2ec73f70f2c1d6a817928480ee1c65af5f6b81cdf12d"}, - {file = "jiter-0.8.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e725edd0929fa79f8349ab4ec7f81c714df51dc4e991539a578e5018fa4a7152"}, - {file = "jiter-0.8.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bf55846c7b7a680eebaf9c3c48d630e1bf51bdf76c68a5f654b8524335b0ad29"}, - {file = "jiter-0.8.2-cp312-cp312-win32.whl", hash = "sha256:7efe4853ecd3d6110301665a5178b9856be7e2a9485f49d91aa4d737ad2ae49e"}, - {file = "jiter-0.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:83c0efd80b29695058d0fd2fa8a556490dbce9804eac3e281f373bbc99045f6c"}, - {file = "jiter-0.8.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ca1f08b8e43dc3bd0594c992fb1fd2f7ce87f7bf0d44358198d6da8034afdf84"}, - {file = "jiter-0.8.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5672a86d55416ccd214c778efccf3266b84f87b89063b582167d803246354be4"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58dc9bc9767a1101f4e5e22db1b652161a225874d66f0e5cb8e2c7d1c438b587"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37b2998606d6dadbb5ccda959a33d6a5e853252d921fec1792fc902351bb4e2c"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab9a87f3784eb0e098f84a32670cfe4a79cb6512fd8f42ae3d0709f06405d18"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79aec8172b9e3c6d05fd4b219d5de1ac616bd8da934107325a6c0d0e866a21b6"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:711e408732d4e9a0208008e5892c2966b485c783cd2d9a681f3eb147cf36c7ef"}, - {file = "jiter-0.8.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:653cf462db4e8c41995e33d865965e79641ef45369d8a11f54cd30888b7e6ff1"}, - {file = "jiter-0.8.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:9c63eaef32b7bebac8ebebf4dabebdbc6769a09c127294db6babee38e9f405b9"}, - {file = "jiter-0.8.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:eb21aaa9a200d0a80dacc7a81038d2e476ffe473ffdd9c91eb745d623561de05"}, - {file = "jiter-0.8.2-cp313-cp313-win32.whl", hash = "sha256:789361ed945d8d42850f919342a8665d2dc79e7e44ca1c97cc786966a21f627a"}, - {file = "jiter-0.8.2-cp313-cp313-win_amd64.whl", hash = "sha256:ab7f43235d71e03b941c1630f4b6e3055d46b6cb8728a17663eaac9d8e83a865"}, - {file = "jiter-0.8.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b426f72cd77da3fec300ed3bc990895e2dd6b49e3bfe6c438592a3ba660e41ca"}, - {file = "jiter-0.8.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2dd880785088ff2ad21ffee205e58a8c1ddabc63612444ae41e5e4b321b39c0"}, - {file = "jiter-0.8.2-cp313-cp313t-win_amd64.whl", hash = "sha256:3ac9f578c46f22405ff7f8b1f5848fb753cc4b8377fbec8470a7dc3997ca7566"}, - {file = "jiter-0.8.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:9e1fa156ee9454642adb7e7234a383884452532bc9d53d5af2d18d98ada1d79c"}, - {file = "jiter-0.8.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0cf5dfa9956d96ff2efb0f8e9c7d055904012c952539a774305aaaf3abdf3d6c"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e52bf98c7e727dd44f7c4acb980cb988448faeafed8433c867888268899b298b"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a2ecaa3c23e7a7cf86d00eda3390c232f4d533cd9ddea4b04f5d0644faf642c5"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:08d4c92bf480e19fc3f2717c9ce2aa31dceaa9163839a311424b6862252c943e"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99d9a1eded738299ba8e106c6779ce5c3893cffa0e32e4485d680588adae6db8"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d20be8b7f606df096e08b0b1b4a3c6f0515e8dac296881fe7461dfa0fb5ec817"}, - {file = "jiter-0.8.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d33f94615fcaf872f7fd8cd98ac3b429e435c77619777e8a449d9d27e01134d1"}, - {file = "jiter-0.8.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:317b25e98a35ffec5c67efe56a4e9970852632c810d35b34ecdd70cc0e47b3b6"}, - {file = "jiter-0.8.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fc9043259ee430ecd71d178fccabd8c332a3bf1e81e50cae43cc2b28d19e4cb7"}, - {file = "jiter-0.8.2-cp38-cp38-win32.whl", hash = "sha256:fc5adda618205bd4678b146612ce44c3cbfdee9697951f2c0ffdef1f26d72b63"}, - {file = "jiter-0.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:cd646c827b4f85ef4a78e4e58f4f5854fae0caf3db91b59f0d73731448a970c6"}, - {file = "jiter-0.8.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:e41e75344acef3fc59ba4765df29f107f309ca9e8eace5baacabd9217e52a5ee"}, - {file = "jiter-0.8.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7f22b16b35d5c1df9dfd58843ab2cd25e6bf15191f5a236bed177afade507bfc"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7200b8f7619d36aa51c803fd52020a2dfbea36ffec1b5e22cab11fd34d95a6d"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:70bf4c43652cc294040dbb62256c83c8718370c8b93dd93d934b9a7bf6c4f53c"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9d471356dc16f84ed48768b8ee79f29514295c7295cb41e1133ec0b2b8d637d"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:859e8eb3507894093d01929e12e267f83b1d5f6221099d3ec976f0c995cb6bd9"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaa58399c01db555346647a907b4ef6d4f584b123943be6ed5588c3f2359c9f4"}, - {file = "jiter-0.8.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8f2d5ed877f089862f4c7aacf3a542627c1496f972a34d0474ce85ee7d939c27"}, - {file = "jiter-0.8.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:03c9df035d4f8d647f8c210ddc2ae0728387275340668fb30d2421e17d9a0841"}, - {file = "jiter-0.8.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8bd2a824d08d8977bb2794ea2682f898ad3d8837932e3a74937e93d62ecbb637"}, - {file = "jiter-0.8.2-cp39-cp39-win32.whl", hash = "sha256:ca29b6371ebc40e496995c94b988a101b9fbbed48a51190a4461fcb0a68b4a36"}, - {file = "jiter-0.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:1c0dfbd1be3cbefc7510102370d86e35d1d53e5a93d48519688b1bf0f761160a"}, - {file = "jiter-0.8.2.tar.gz", hash = "sha256:cd73d3e740666d0e639f678adb176fad25c1bcbdae88d8d7b857e1783bb4212d"}, -] - -[[package]] -name = "logfire-api" -version = "2.7.1" -description = "Shim for the Logfire SDK which does nothing unless Logfire is installed" -optional = false -python-versions = ">=3.8" -files = [ - {file = "logfire_api-2.7.1-py3-none-any.whl", hash = "sha256:a8555beb7630109d526a46fa65ada609659693be957c50b3a0265d2da58da4d2"}, - {file = "logfire_api-2.7.1.tar.gz", hash = "sha256:8765e74d9ed4c3140011c724d2a08a1b0f7771c289097b9eecf61c8b2a29e167"}, -] - -[[package]] -name = "magentic" -version = "0.34.1" -description = "Seamlessly integrate LLMs as Python functions" -optional = false -python-versions = ">=3.10" -files = [ - {file = "magentic-0.34.1-py3-none-any.whl", hash = "sha256:514c490dfe221acea56105992892bffe168fb72c8fc469b37b85321355b15170"}, - {file = "magentic-0.34.1.tar.gz", hash = "sha256:b6a5ead34c3db76b6fae5f413341fda007af402ed06e9de10b312a057a3a9abe"}, -] - -[package.dependencies] -filetype = ">=1.2.0" -logfire-api = ">=0.1.0" -openai = ">=1.40.0" -pydantic = ">=2.7.0" -pydantic-settings = ">=2.0.0" - -[package.extras] -anthropic = ["anthropic (>=0.27.0)"] -litellm = ["litellm (>=1.41.12)"] - -[[package]] -name = "monotonic" -version = "1.6" -description = "An implementation of time.monotonic() for Python 2 & < 3.3" -optional = false -python-versions = "*" -files = [ - {file = "monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c"}, - {file = "monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"}, -] - -[[package]] -name = "multidict" -version = "6.1.0" -description = "multidict implementation" -optional = false -python-versions = ">=3.8" -files = [ - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, - {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, - {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, - {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, - {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, - {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, - {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, - {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, - {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, - {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, - {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, - {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, - {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, - {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, - {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "numpy" -version = "2.2.0" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.10" -files = [ - {file = "numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e"}, - {file = "numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9"}, - {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3"}, - {file = "numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83"}, - {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a"}, - {file = "numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31"}, - {file = "numpy-2.2.0-cp310-cp310-win32.whl", hash = "sha256:b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661"}, - {file = "numpy-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608"}, - {file = "numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da"}, - {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74"}, - {file = "numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e"}, - {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b"}, - {file = "numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d"}, - {file = "numpy-2.2.0-cp311-cp311-win32.whl", hash = "sha256:4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410"}, - {file = "numpy-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67"}, - {file = "numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e"}, - {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038"}, - {file = "numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03"}, - {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a"}, - {file = "numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef"}, - {file = "numpy-2.2.0-cp312-cp312-win32.whl", hash = "sha256:afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1"}, - {file = "numpy-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69"}, - {file = "numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13"}, - {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671"}, - {file = "numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571"}, - {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d"}, - {file = "numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742"}, - {file = "numpy-2.2.0-cp313-cp313-win32.whl", hash = "sha256:3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e"}, - {file = "numpy-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca"}, - {file = "numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d"}, - {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529"}, - {file = "numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3"}, - {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab"}, - {file = "numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72"}, - {file = "numpy-2.2.0-cp313-cp313t-win32.whl", hash = "sha256:30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066"}, - {file = "numpy-2.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7"}, - {file = "numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221"}, - {file = "numpy-2.2.0.tar.gz", hash = "sha256:140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0"}, -] - -[[package]] -name = "openai" -version = "1.57.4" -description = "The official Python library for the openai API" -optional = false -python-versions = ">=3.8" -files = [ - {file = "openai-1.57.4-py3-none-any.whl", hash = "sha256:7def1ab2d52f196357ce31b9cfcf4181529ce00838286426bb35be81c035dafb"}, - {file = "openai-1.57.4.tar.gz", hash = "sha256:a8f071a3e9198e2818f63aade68e759417b9f62c0971bdb83de82504b70b77f7"}, -] - -[package.dependencies] -anyio = ">=3.5.0,<5" -distro = ">=1.7.0,<2" -httpx = ">=0.23.0,<1" -jiter = ">=0.4.0,<1" -pydantic = ">=1.9.0,<3" -sniffio = "*" -tqdm = ">4" -typing-extensions = ">=4.11,<5" - -[package.extras] -datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] - -[[package]] -name = "openbb-core" -version = "1.3.7" -description = "OpenBB package with core functionality." -optional = false -python-versions = "<4.0,>=3.9" -files = [ - {file = "openbb_core-1.3.7-py3-none-any.whl", hash = "sha256:2dd620db5d17c8c4802dd0537de92fb88d11f4f7252ab026e54302c6f86467fa"}, - {file = "openbb_core-1.3.7.tar.gz", hash = "sha256:2e6facd812ee4ad43b9444fedcf3211599d7cda9cbb4999647cd8e4d9e4af210"}, -] - -[package.dependencies] -aiohttp = ">=3.10.11,<4.0.0" -fastapi = ">=0.115,<0.116" -html5lib = ">=1.1,<2.0" -importlib-metadata = ">=6.8.0" -pandas = ">=1.5.3" -posthog = ">=3.3.1,<4.0.0" -pydantic = ">=2.5.1,<3.0.0" -pyjwt = ">=2.10.1,<3.0.0" -python-dotenv = ">=1.0.0,<2.0.0" -python-multipart = ">=0.0.18,<0.0.19" -requests = ">=2.32.1,<3.0.0" -ruff = ">=0.7,<0.8" -uuid7 = ">=0.1.0,<0.2.0" -uvicorn = ">=0.32.0,<0.33.0" -websockets = ">=13.0,<14.0" - -[[package]] -name = "openbb-equity" -version = "1.3.5" -description = "Equity extension for OpenBB" -optional = false -python-versions = "<4.0,>=3.9" -files = [ - {file = "openbb_equity-1.3.5-py3-none-any.whl", hash = "sha256:27296ebc84c7ade1c250890b30e03b18aa23025683a23a24928d36d428435f4b"}, - {file = "openbb_equity-1.3.5.tar.gz", hash = "sha256:67bb379e83e46d5a4448a753f89c4406cd767506493c9c25eec4aa3fb862e64b"}, -] - -[package.dependencies] -openbb-core = ">=1.3.6,<2.0.0" - -[[package]] -name = "openbb-etf" -version = "1.3.5" -description = "ETF extension for OpenBB" -optional = false -python-versions = "<3.13,>=3.9" -files = [ - {file = "openbb_etf-1.3.5-py3-none-any.whl", hash = "sha256:b6340f23a5528b842e7787661863881ab52a4e28432a61799af33349cce42861"}, - {file = "openbb_etf-1.3.5.tar.gz", hash = "sha256:85a219cd4a18fac91862963855aaef277fe19a1505daf61a63453db648dbd0cb"}, -] - -[package.dependencies] -openbb-core = ">=1.3.6,<2.0.0" - -[[package]] -name = "openbb-fmp" -version = "1.3.5" -description = "FMP extension for OpenBB" -optional = false -python-versions = "<4.0,>=3.9" -files = [ - {file = "openbb_fmp-1.3.5-py3-none-any.whl", hash = "sha256:88ee7a43ff32ecdbfe90d4b3cef031a4c0a93c744f7d65c43452b415d2e25151"}, - {file = "openbb_fmp-1.3.5.tar.gz", hash = "sha256:e0629d6798cb6c762e267bf3a94d44c5b26f126733c8e1c7af431a6dc2a4636a"}, -] - -[package.dependencies] -openbb-core = ">=1.3.6,<2.0.0" - -[[package]] -name = "osqp" -version = "0.6.7.post3" -description = "OSQP: The Operator Splitting QP Solver" -optional = false -python-versions = "*" -files = [ - {file = "osqp-0.6.7.post3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f751ca1332b480753cfe3c08bf14ca66259bf69679b572e1f8095ad3e26b201d"}, - {file = "osqp-0.6.7.post3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a1b30df65f2d938452e3bd2ca11388b5b16ec7406daedfc4b9dce3747c282e44"}, - {file = "osqp-0.6.7.post3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e1c4550853a5f1e0a90ae7ccbee1cb990f34f98514911955ad14841613110dd"}, - {file = "osqp-0.6.7.post3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0cce816af77b28fc5eff1a4e6d8d25d0653f48275e6e2814bd5f1767181e715"}, - {file = "osqp-0.6.7.post3-cp310-cp310-win_amd64.whl", hash = "sha256:78a1d63b36876996a7125e061145280949334d667060a20895c5d1f183c70242"}, - {file = "osqp-0.6.7.post3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b1a1dcd869fd6ac501e06262c21483a3691b6281e4f3f65af6951330958b89ca"}, - {file = "osqp-0.6.7.post3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46b93d1110dc0ad311f6691c4df9ee41cbbde5ffc0d8c8d520d4555bf5d8765b"}, - {file = "osqp-0.6.7.post3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5209104d6fe3ace4fdbf9ace08caa2cba9de1e7ccd5f56279a346c235917138b"}, - {file = "osqp-0.6.7.post3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdfefa07740e9fb1c574cdc836e5afe2600b73c0c12089955d4ae6587c55f0eb"}, - {file = "osqp-0.6.7.post3-cp311-cp311-win_amd64.whl", hash = "sha256:c48c91dfba02ce11e8b8f5d401ec5b67a316782bfdf4f53ca753e49907f7387f"}, - {file = "osqp-0.6.7.post3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:023af06764f7aba9c64536ecb7204019906bb7e78237f335f82b404f16623eef"}, - {file = "osqp-0.6.7.post3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4cec7cb5bf1615c4129277275dc08e20a037372a874cff35eb891b4b35a463de"}, - {file = "osqp-0.6.7.post3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb882ab24b97b14843b7c71d2474fb8b415bafc8dd60aa94870c2ef338c20bfb"}, - {file = "osqp-0.6.7.post3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:502fde0ae710cef1e6418fb8d26efef9597d1dcba877489a1c2eb9c3eb2ff2e9"}, - {file = "osqp-0.6.7.post3-cp312-cp312-win_amd64.whl", hash = "sha256:468588cfb690becba4d1f460c2a53e75530584e3efcf2caed59f5219032e6888"}, - {file = "osqp-0.6.7.post3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cee478eedf9cfad11ff9c27ef0b1e032506a16888b8b874f622816cf8749db7f"}, - {file = "osqp-0.6.7.post3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5dd739c4c6c91e40d2e3ea2bb78c635c897e07697ab24a46d3a5d197e254b0f3"}, - {file = "osqp-0.6.7.post3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:002f280f23d15ad3c6386a868688f0b17c90dba13d0f7f8da1c833a14fc4d7f8"}, - {file = "osqp-0.6.7.post3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a2922fe8cb666964cf01b643da81eadf4bb435139a5f042d5bb6dcb87496778"}, - {file = "osqp-0.6.7.post3-cp313-cp313-win_amd64.whl", hash = "sha256:acb219e941f5248da5de3ee9b70e6a5aaddf5f3989dffd1d4c03b0f7b1dfa17b"}, - {file = "osqp-0.6.7.post3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d12757f9594f87219820aa7ae06ce7800fef9ea52828b7d1970016d6c9749b5f"}, - {file = "osqp-0.6.7.post3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:565205e0dbe5b6ac1dcd7eee8d2e9c4ba5d88b7aaaa522140cdb7d197a9275bb"}, - {file = "osqp-0.6.7.post3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34974c8441260e8952f63a17b0461da9b554a3ed9122042dd0f2e0a4c19e9732"}, - {file = "osqp-0.6.7.post3-cp36-cp36m-win_amd64.whl", hash = "sha256:01d99ced6f43d0d10fa0f01631c5b0a27aca44a5e4743b7ce9a174fcfebfde6e"}, - {file = "osqp-0.6.7.post3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d54837f762b17cb77aa16be3e85cc424cb93fd4ec84f5cbb14f9c0520191fecf"}, - {file = "osqp-0.6.7.post3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c353997ebe57cd8252bd5d7100d997086ab0524b946dc49a4e4d4a774752ee9"}, - {file = "osqp-0.6.7.post3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30c37552731443295b629999c6d100f76310a2cd368503095af6165e2f52993d"}, - {file = "osqp-0.6.7.post3-cp37-cp37m-win_amd64.whl", hash = "sha256:2c3c31712c60d0421178040a6ee9644318fb579bd83375af4ffd9d5d7c9d2d2e"}, - {file = "osqp-0.6.7.post3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eb3c73386d18be58097115f5f8623860d5736c5b956eb54e492b91380cab549e"}, - {file = "osqp-0.6.7.post3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:27396891b4c52baae44d9aef4ad2abf7da9a19946c5cbdd163f96a55de02515f"}, - {file = "osqp-0.6.7.post3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb39a937c5fbfe935cebc21c9ef51434cabe5a6f415a775b8a0939c39aa31671"}, - {file = "osqp-0.6.7.post3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:204857fdd4100ad0d487cac4e9c1698843440ec49c1d49b03aa369588cd2db65"}, - {file = "osqp-0.6.7.post3-cp38-cp38-win_amd64.whl", hash = "sha256:4981c0f2b28bce3731d614953da11b4dd30106ea3e4d7d0a5f7dd3a93270934a"}, - {file = "osqp-0.6.7.post3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:21e605e3ec1547a23be16ea52ade3157d4e2e7935472dd9c0c089a9c6b3463be"}, - {file = "osqp-0.6.7.post3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:82f14aaf099be0888b47e50699006c16107b30f53a7bc27070075d56d23c822c"}, - {file = "osqp-0.6.7.post3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7938f6e4fe2b8b9737b4b7b0dda48bf0f11c14104b79c07ce0b1fe475f4e1308"}, - {file = "osqp-0.6.7.post3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298617772814480fce4610ea1f3abac3deac3ffdc978b0df4916f1021d128c66"}, - {file = "osqp-0.6.7.post3-cp39-cp39-win_amd64.whl", hash = "sha256:894e65b8e4c81f0ef069af6b2ec398881aafe4dd265869b1647ee18a2a9393b1"}, - {file = "osqp-0.6.7.post3.tar.gz", hash = "sha256:b0c5e0a721f21c9724097a4fd50108304d296468d124e16f34ac67046f7020e1"}, -] - -[package.dependencies] -numpy = ">=1.7" -qdldl = "*" -scipy = ">=0.13.2" - -[package.extras] -dev = ["scipy (!=1.12.0)"] - -[[package]] -name = "packaging" -version = "24.2" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, -] - -[[package]] -name = "pandas" -version = "2.2.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, - {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, - {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, - {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, - {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, - {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, - {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, - {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.22.4", markers = "python_version < \"3.11\""}, - {version = ">=1.23.2", markers = "python_version == \"3.11\""}, - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, -] -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.7" - -[package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] -aws = ["s3fs (>=2022.11.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] -compression = ["zstandard (>=0.19.0)"] -computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] -consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] -feather = ["pyarrow (>=10.0.1)"] -fss = ["fsspec (>=2022.11.0)"] -gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] -hdf5 = ["tables (>=3.8.0)"] -html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] -mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=10.0.1)"] -performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] -plot = ["matplotlib (>=3.6.3)"] -postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] -pyarrow = ["pyarrow (>=10.0.1)"] -spss = ["pyreadstat (>=1.2.0)"] -sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] -test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.9.2)"] - -[[package]] -name = "plotly" -version = "5.24.1" -description = "An open-source, interactive data visualization library for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "plotly-5.24.1-py3-none-any.whl", hash = "sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089"}, - {file = "plotly-5.24.1.tar.gz", hash = "sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae"}, -] - -[package.dependencies] -packaging = "*" -tenacity = ">=6.2.0" - -[[package]] -name = "posthog" -version = "3.7.4" -description = "Integrate PostHog into any python application." -optional = false -python-versions = "*" -files = [ - {file = "posthog-3.7.4-py2.py3-none-any.whl", hash = "sha256:21c18c6bf43b2de303ea4cd6e95804cc0f24c20cb2a96a8fd09da2ed50b62faa"}, - {file = "posthog-3.7.4.tar.gz", hash = "sha256:19384bd09d330f9787a7e2446aba14c8057ece56144970ea2791072d4e40cd36"}, -] - -[package.dependencies] -backoff = ">=1.10.0" -monotonic = ">=1.5" -python-dateutil = ">2.1" -requests = ">=2.7,<3.0" -six = ">=1.5" - -[package.extras] -dev = ["black", "flake8", "flake8-print", "isort", "pre-commit"] -sentry = ["django", "sentry-sdk"] -test = ["coverage", "django", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest", "pytest-timeout"] - -[[package]] -name = "propcache" -version = "0.2.1" -description = "Accelerated property cache" -optional = false -python-versions = ">=3.9" -files = [ - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"}, - {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"}, - {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"}, - {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"}, - {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"}, - {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"}, - {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"}, - {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"}, - {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"}, - {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"}, - {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"}, - {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"}, - {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, -] - -[[package]] -name = "pydantic" -version = "2.10.3" -description = "Data validation using Python type hints" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic-2.10.3-py3-none-any.whl", hash = "sha256:be04d85bbc7b65651c5f8e6b9976ed9c6f41782a55524cef079a34a0bb82144d"}, - {file = "pydantic-2.10.3.tar.gz", hash = "sha256:cb5ac360ce894ceacd69c403187900a02c4b20b693a9dd1d643e1effab9eadf9"}, -] - -[package.dependencies] -annotated-types = ">=0.6.0" -pydantic-core = "2.27.1" -typing-extensions = ">=4.12.2" - -[package.extras] -email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata"] - -[[package]] -name = "pydantic-core" -version = "2.27.1" -description = "Core functionality for Pydantic validation and serialization" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_core-2.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:71a5e35c75c021aaf400ac048dacc855f000bdfed91614b4a726f7432f1f3d6a"}, - {file = "pydantic_core-2.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f82d068a2d6ecfc6e054726080af69a6764a10015467d7d7b9f66d6ed5afa23b"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:121ceb0e822f79163dd4699e4c54f5ad38b157084d97b34de8b232bcaad70278"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4603137322c18eaf2e06a4495f426aa8d8388940f3c457e7548145011bb68e05"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a33cd6ad9017bbeaa9ed78a2e0752c5e250eafb9534f308e7a5f7849b0b1bfb4"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15cc53a3179ba0fcefe1e3ae50beb2784dede4003ad2dfd24f81bba4b23a454f"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45d9c5eb9273aa50999ad6adc6be5e0ecea7e09dbd0d31bd0c65a55a2592ca08"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8bf7b66ce12a2ac52d16f776b31d16d91033150266eb796967a7e4621707e4f6"}, - {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:655d7dd86f26cb15ce8a431036f66ce0318648f8853d709b4167786ec2fa4807"}, - {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:5556470f1a2157031e676f776c2bc20acd34c1990ca5f7e56f1ebf938b9ab57c"}, - {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f69ed81ab24d5a3bd93861c8c4436f54afdf8e8cc421562b0c7504cf3be58206"}, - {file = "pydantic_core-2.27.1-cp310-none-win32.whl", hash = "sha256:f5a823165e6d04ccea61a9f0576f345f8ce40ed533013580e087bd4d7442b52c"}, - {file = "pydantic_core-2.27.1-cp310-none-win_amd64.whl", hash = "sha256:57866a76e0b3823e0b56692d1a0bf722bffb324839bb5b7226a7dbd6c9a40b17"}, - {file = "pydantic_core-2.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac3b20653bdbe160febbea8aa6c079d3df19310d50ac314911ed8cc4eb7f8cb8"}, - {file = "pydantic_core-2.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a5a8e19d7c707c4cadb8c18f5f60c843052ae83c20fa7d44f41594c644a1d330"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f7059ca8d64fea7f238994c97d91f75965216bcbe5f695bb44f354893f11d52"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bed0f8a0eeea9fb72937ba118f9db0cb7e90773462af7962d382445f3005e5a4"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3cb37038123447cf0f3ea4c74751f6a9d7afef0eb71aa07bf5f652b5e6a132c"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84286494f6c5d05243456e04223d5a9417d7f443c3b76065e75001beb26f88de"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acc07b2cfc5b835444b44a9956846b578d27beeacd4b52e45489e93276241025"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4fefee876e07a6e9aad7a8c8c9f85b0cdbe7df52b8a9552307b09050f7512c7e"}, - {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:258c57abf1188926c774a4c94dd29237e77eda19462e5bb901d88adcab6af919"}, - {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:35c14ac45fcfdf7167ca76cc80b2001205a8d5d16d80524e13508371fb8cdd9c"}, - {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d1b26e1dff225c31897696cab7d4f0a315d4c0d9e8666dbffdb28216f3b17fdc"}, - {file = "pydantic_core-2.27.1-cp311-none-win32.whl", hash = "sha256:2cdf7d86886bc6982354862204ae3b2f7f96f21a3eb0ba5ca0ac42c7b38598b9"}, - {file = "pydantic_core-2.27.1-cp311-none-win_amd64.whl", hash = "sha256:3af385b0cee8df3746c3f406f38bcbfdc9041b5c2d5ce3e5fc6637256e60bbc5"}, - {file = "pydantic_core-2.27.1-cp311-none-win_arm64.whl", hash = "sha256:81f2ec23ddc1b476ff96563f2e8d723830b06dceae348ce02914a37cb4e74b89"}, - {file = "pydantic_core-2.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9cbd94fc661d2bab2bc702cddd2d3370bbdcc4cd0f8f57488a81bcce90c7a54f"}, - {file = "pydantic_core-2.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f8c4718cd44ec1580e180cb739713ecda2bdee1341084c1467802a417fe0f02"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15aae984e46de8d376df515f00450d1522077254ef6b7ce189b38ecee7c9677c"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ba5e3963344ff25fc8c40da90f44b0afca8cfd89d12964feb79ac1411a260ac"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:992cea5f4f3b29d6b4f7f1726ed8ee46c8331c6b4eed6db5b40134c6fe1768bb"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0325336f348dbee6550d129b1627cb8f5351a9dc91aad141ffb96d4937bd9529"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7597c07fbd11515f654d6ece3d0e4e5093edc30a436c63142d9a4b8e22f19c35"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bbd5d8cc692616d5ef6fbbbd50dbec142c7e6ad9beb66b78a96e9c16729b089"}, - {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:dc61505e73298a84a2f317255fcc72b710b72980f3a1f670447a21efc88f8381"}, - {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:e1f735dc43da318cad19b4173dd1ffce1d84aafd6c9b782b3abc04a0d5a6f5bb"}, - {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f4e5658dbffe8843a0f12366a4c2d1c316dbe09bb4dfbdc9d2d9cd6031de8aae"}, - {file = "pydantic_core-2.27.1-cp312-none-win32.whl", hash = "sha256:672ebbe820bb37988c4d136eca2652ee114992d5d41c7e4858cdd90ea94ffe5c"}, - {file = "pydantic_core-2.27.1-cp312-none-win_amd64.whl", hash = "sha256:66ff044fd0bb1768688aecbe28b6190f6e799349221fb0de0e6f4048eca14c16"}, - {file = "pydantic_core-2.27.1-cp312-none-win_arm64.whl", hash = "sha256:9a3b0793b1bbfd4146304e23d90045f2a9b5fd5823aa682665fbdaf2a6c28f3e"}, - {file = "pydantic_core-2.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f216dbce0e60e4d03e0c4353c7023b202d95cbaeff12e5fd2e82ea0a66905073"}, - {file = "pydantic_core-2.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a2e02889071850bbfd36b56fd6bc98945e23670773bc7a76657e90e6b6603c08"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b0e23f119b2b456d07ca91b307ae167cc3f6c846a7b169fca5326e32fdc6cf"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:764be71193f87d460a03f1f7385a82e226639732214b402f9aa61f0d025f0737"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c00666a3bd2f84920a4e94434f5974d7bbc57e461318d6bb34ce9cdbbc1f6b2"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ccaa88b24eebc0f849ce0a4d09e8a408ec5a94afff395eb69baf868f5183107"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c65af9088ac534313e1963443d0ec360bb2b9cba6c2909478d22c2e363d98a51"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206b5cf6f0c513baffaeae7bd817717140770c74528f3e4c3e1cec7871ddd61a"}, - {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:062f60e512fc7fff8b8a9d680ff0ddaaef0193dba9fa83e679c0c5f5fbd018bc"}, - {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:a0697803ed7d4af5e4c1adf1670af078f8fcab7a86350e969f454daf598c4960"}, - {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:58ca98a950171f3151c603aeea9303ef6c235f692fe555e883591103da709b23"}, - {file = "pydantic_core-2.27.1-cp313-none-win32.whl", hash = "sha256:8065914ff79f7eab1599bd80406681f0ad08f8e47c880f17b416c9f8f7a26d05"}, - {file = "pydantic_core-2.27.1-cp313-none-win_amd64.whl", hash = "sha256:ba630d5e3db74c79300d9a5bdaaf6200172b107f263c98a0539eeecb857b2337"}, - {file = "pydantic_core-2.27.1-cp313-none-win_arm64.whl", hash = "sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5"}, - {file = "pydantic_core-2.27.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5897bec80a09b4084aee23f9b73a9477a46c3304ad1d2d07acca19723fb1de62"}, - {file = "pydantic_core-2.27.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d0165ab2914379bd56908c02294ed8405c252250668ebcb438a55494c69f44ab"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b9af86e1d8e4cfc82c2022bfaa6f459381a50b94a29e95dcdda8442d6d83864"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f6c8a66741c5f5447e047ab0ba7a1c61d1e95580d64bce852e3df1f895c4067"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a42d6a8156ff78981f8aa56eb6394114e0dedb217cf8b729f438f643608cbcd"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64c65f40b4cd8b0e049a8edde07e38b476da7e3aaebe63287c899d2cff253fa5"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdcf339322a3fae5cbd504edcefddd5a50d9ee00d968696846f089b4432cf78"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf99c8404f008750c846cb4ac4667b798a9f7de673ff719d705d9b2d6de49c5f"}, - {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8f1edcea27918d748c7e5e4d917297b2a0ab80cad10f86631e488b7cddf76a36"}, - {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:159cac0a3d096f79ab6a44d77a961917219707e2a130739c64d4dd46281f5c2a"}, - {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:029d9757eb621cc6e1848fa0b0310310de7301057f623985698ed7ebb014391b"}, - {file = "pydantic_core-2.27.1-cp38-none-win32.whl", hash = "sha256:a28af0695a45f7060e6f9b7092558a928a28553366519f64083c63a44f70e618"}, - {file = "pydantic_core-2.27.1-cp38-none-win_amd64.whl", hash = "sha256:2d4567c850905d5eaaed2f7a404e61012a51caf288292e016360aa2b96ff38d4"}, - {file = "pydantic_core-2.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:e9386266798d64eeb19dd3677051f5705bf873e98e15897ddb7d76f477131967"}, - {file = "pydantic_core-2.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4228b5b646caa73f119b1ae756216b59cc6e2267201c27d3912b592c5e323b60"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3dfe500de26c52abe0477dde16192ac39c98f05bf2d80e76102d394bd13854"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aee66be87825cdf72ac64cb03ad4c15ffef4143dbf5c113f64a5ff4f81477bf9"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b748c44bb9f53031c8cbc99a8a061bc181c1000c60a30f55393b6e9c45cc5bd"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ca038c7f6a0afd0b2448941b6ef9d5e1949e999f9e5517692eb6da58e9d44be"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e0bd57539da59a3e4671b90a502da9a28c72322a4f17866ba3ac63a82c4498e"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac6c2c45c847bbf8f91930d88716a0fb924b51e0c6dad329b793d670ec5db792"}, - {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b94d4ba43739bbe8b0ce4262bcc3b7b9f31459ad120fb595627eaeb7f9b9ca01"}, - {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:00e6424f4b26fe82d44577b4c842d7df97c20be6439e8e685d0d715feceb9fb9"}, - {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:38de0a70160dd97540335b7ad3a74571b24f1dc3ed33f815f0880682e6880131"}, - {file = "pydantic_core-2.27.1-cp39-none-win32.whl", hash = "sha256:7ccebf51efc61634f6c2344da73e366c75e735960b5654b63d7e6f69a5885fa3"}, - {file = "pydantic_core-2.27.1-cp39-none-win_amd64.whl", hash = "sha256:a57847b090d7892f123726202b7daa20df6694cbd583b67a592e856bff603d6c"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3fa80ac2bd5856580e242dbc202db873c60a01b20309c8319b5c5986fbe53ce6"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d950caa237bb1954f1b8c9227b5065ba6875ac9771bb8ec790d956a699b78676"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e4216e64d203e39c62df627aa882f02a2438d18a5f21d7f721621f7a5d3611d"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a3d637bd387c41d46b002f0e49c52642281edacd2740e5a42f7017feea3f2c"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:161c27ccce13b6b0c8689418da3885d3220ed2eae2ea5e9b2f7f3d48f1d52c27"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:19910754e4cc9c63bc1c7f6d73aa1cfee82f42007e407c0f413695c2f7ed777f"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:e173486019cc283dc9778315fa29a363579372fe67045e971e89b6365cc035ed"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:af52d26579b308921b73b956153066481f064875140ccd1dfd4e77db89dbb12f"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:981fb88516bd1ae8b0cbbd2034678a39dedc98752f264ac9bc5839d3923fa04c"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5fde892e6c697ce3e30c61b239330fc5d569a71fefd4eb6512fc6caec9dd9e2f"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:816f5aa087094099fff7edabb5e01cc370eb21aa1a1d44fe2d2aefdfb5599b31"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c10c309e18e443ddb108f0ef64e8729363adbfd92d6d57beec680f6261556f3"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98476c98b02c8e9b2eec76ac4156fd006628b1b2d0ef27e548ffa978393fd154"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c3027001c28434e7ca5a6e1e527487051136aa81803ac812be51802150d880dd"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:7699b1df36a48169cdebda7ab5a2bac265204003f153b4bd17276153d997670a"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1c39b07d90be6b48968ddc8c19e7585052088fd7ec8d568bb31ff64c70ae3c97"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:46ccfe3032b3915586e469d4972973f893c0a2bb65669194a5bdea9bacc088c2"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:62ba45e21cf6571d7f716d903b5b7b6d2617e2d5d67c0923dc47b9d41369f840"}, - {file = "pydantic_core-2.27.1.tar.gz", hash = "sha256:62a763352879b84aa31058fc931884055fd75089cccbd9d58bb6afd01141b235"}, -] - -[package.dependencies] -typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" - -[[package]] -name = "pydantic-settings" -version = "2.7.0" -description = "Settings management using Pydantic" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_settings-2.7.0-py3-none-any.whl", hash = "sha256:e00c05d5fa6cbbb227c84bd7487c5c1065084119b750df7c8c1a554aed236eb5"}, - {file = "pydantic_settings-2.7.0.tar.gz", hash = "sha256:ac4bfd4a36831a48dbf8b2d9325425b549a0a6f18cea118436d728eb4f1c4d66"}, -] - -[package.dependencies] -pydantic = ">=2.7.0" -python-dotenv = ">=0.21.0" - -[package.extras] -azure-key-vault = ["azure-identity (>=1.16.0)", "azure-keyvault-secrets (>=4.8.0)"] -toml = ["tomli (>=2.0.1)"] -yaml = ["pyyaml (>=6.0.1)"] - -[[package]] -name = "pyjwt" -version = "2.10.1" -description = "JSON Web Token implementation in Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb"}, - {file = "pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953"}, -] - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - -[[package]] -name = "pyportfolioopt" -version = "1.5.6" -description = "Financial portfolio optimization in python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pyportfolioopt-1.5.6-py3-none-any.whl", hash = "sha256:22cfa4978dac893fa78cbd91b0793c4d8fa024a577118d47769f19f069e09d8c"}, - {file = "pyportfolioopt-1.5.6.tar.gz", hash = "sha256:7e94f41c84fb5865c7a64de995a3ba580188f3ba494f6dfbc02721b5de323f6e"}, -] - -[package.dependencies] -cvxpy = ">=1.1.19" -ecos = ">=2.0.14,<3.0.0" -numpy = ">=1.26.0" -pandas = ">=0.19" -plotly = ">=5.0.0,<6.0.0" -scipy = ">=1.3" - -[package.extras] -optionals = ["matplotlib (>=3.2.0)", "scikit-learn (>=0.24.1)"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-dotenv" -version = "1.0.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - -[[package]] -name = "python-multipart" -version = "0.0.18" -description = "A streaming multipart parser for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python_multipart-0.0.18-py3-none-any.whl", hash = "sha256:efe91480f485f6a361427a541db4796f9e1591afc0fb8e7a4ba06bfbc6708996"}, - {file = "python_multipart-0.0.18.tar.gz", hash = "sha256:7a68db60c8bfb82e460637fa4750727b45af1d5e2ed215593f917f64694d34fe"}, -] - -[[package]] -name = "pytz" -version = "2024.2" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, - {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, -] - -[[package]] -name = "qdldl" -version = "0.1.7.post4" -description = "QDLDL, a free LDL factorization routine." -optional = false -python-versions = "*" -files = [ - {file = "qdldl-0.1.7.post4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ff4a9c5f7fa96e222c767aaaabea9d5df1d099e172c14b322b98d54dac03705d"}, - {file = "qdldl-0.1.7.post4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b53ad4ecd90c8031e0094fbab0b0bf09520b382177db63ec9568f06b4f16c219"}, - {file = "qdldl-0.1.7.post4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:490b52049c4cd794cb9bb2a8b26d69e74bbb71e55b5f0cac1480de971970d79c"}, - {file = "qdldl-0.1.7.post4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebf39433b467d2b33872e96fd05ed4a74d701eb94cd14cb010d5980fbdc02954"}, - {file = "qdldl-0.1.7.post4-cp310-cp310-win_amd64.whl", hash = "sha256:5227ace6741618aa9aa2b0162740e806040f3a69e88204911e74b5d220d5bfce"}, - {file = "qdldl-0.1.7.post4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f6639d63c3bf9abbfdffafd3c99b7c603359ca748ab62117ec7fc0948a1c5e77"}, - {file = "qdldl-0.1.7.post4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:87f31e7f2a2708def201b6dc507a48ada7e0c37efd0afda7ef6ef94ae3487c2c"}, - {file = "qdldl-0.1.7.post4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47c1b27712444d7b1030c562ed79af18320b4a910454716c9d88114e181eddec"}, - {file = "qdldl-0.1.7.post4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1496a820ffb0c1a5bb18392b44052b83b5442745b15f62bbf2d22eec1f506afe"}, - {file = "qdldl-0.1.7.post4-cp311-cp311-win_amd64.whl", hash = "sha256:b6f8d59c01fa5c9dc3b6463fc7e1de7601dcb1aa16b6e14a6d5d283169dc629f"}, - {file = "qdldl-0.1.7.post4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e2b9e92bb52d3bc49cfc9fd9a761adb692f049c46e68c0535ed07df2de8292f5"}, - {file = "qdldl-0.1.7.post4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f6710b0c1013292697262803ddd549a81cdfdbdbbbcfa5b56aad04ac9cebbb4a"}, - {file = "qdldl-0.1.7.post4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a40429f5c0d0edb28d22c4e52c2459fd9a64892ba7d8a39ba51a1a37b3581927"}, - {file = "qdldl-0.1.7.post4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b85beb51096100dcdea575acedbafb5bac2b7f44485a1d7090bb68a47c8f9928"}, - {file = "qdldl-0.1.7.post4-cp312-cp312-win_amd64.whl", hash = "sha256:684306b37a2f06f72c18edd2d6fa45a832e99071ebd87b875d172719e09a322d"}, - {file = "qdldl-0.1.7.post4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3fe0904e3ce11610ca663032fb8d6b0cfaae26699ae2659ac79aaf4049f32ae0"}, - {file = "qdldl-0.1.7.post4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:004e4c5c8c200f483d86b4c8a70c546b11a59501dbe24f811752998b833d679d"}, - {file = "qdldl-0.1.7.post4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cec8d76f2588e83dee94d01a371297699f3701ac0039d304760ed8e25cd4739"}, - {file = "qdldl-0.1.7.post4-cp36-cp36m-win_amd64.whl", hash = "sha256:782d56522b134429a8e6b8c1a77477ff82665fbc0052808ce183853be7605888"}, - {file = "qdldl-0.1.7.post4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e5c88f428350bac03bca36fb05b7d062219298928b89f6072d565fc5fd43c4f"}, - {file = "qdldl-0.1.7.post4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acd16e857a0b8d200dd2f9ba6b0941adc42d822b3eb5fc02a455362fbaaf7da7"}, - {file = "qdldl-0.1.7.post4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c9b6bf14689766e29fa2f7652b49e0d5a8215b646aec4a9306834418241de97"}, - {file = "qdldl-0.1.7.post4-cp37-cp37m-win_amd64.whl", hash = "sha256:40485f33c518fcbf78d95329ab0f55f10b3ccd06bea2fe7c8faf8cb16aae2485"}, - {file = "qdldl-0.1.7.post4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f63fde49b54fbf2feebf30b11ef7fd0543376a0fbc800b7d4e4c51b8ef39ff2b"}, - {file = "qdldl-0.1.7.post4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2d1596bef9d38e58fb6121d8aa8662322ee92f584a4189d01770a9ff821d1a5f"}, - {file = "qdldl-0.1.7.post4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e23ff54d54db837a55c56da197638d0f54f1fe25fb90f63c9d1f18779efdda27"}, - {file = "qdldl-0.1.7.post4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f1e449b8079c744166fb87c1bf01954ef6344898063bfac1afae1a295c8a04d"}, - {file = "qdldl-0.1.7.post4-cp38-cp38-win_amd64.whl", hash = "sha256:3770f6048e65231ead488c5e8982fffee2756e0682cc5a81d02fc56a02586050"}, - {file = "qdldl-0.1.7.post4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e29c33ef7dcd51ccc617d5c097f4904f8d522d44bc427a75810d1c56fe2c2ccb"}, - {file = "qdldl-0.1.7.post4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:656c06f965b4121dd3a8aa8b39fc4ec4650ea487812a7fd06419834464595bbf"}, - {file = "qdldl-0.1.7.post4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd3d9ab3074be041552297c90bd0b44fc2d2b3e5b9e7a8896d3c0878b85fcea"}, - {file = "qdldl-0.1.7.post4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12a658077a83a6aab9d122ca8f4ae4e96a06633109fa604414657ac2f065bd9b"}, - {file = "qdldl-0.1.7.post4-cp39-cp39-win_amd64.whl", hash = "sha256:410a9a6a1405f475ccdb16d44e16c4a8266a90952bd396482a8840c61d9e839d"}, - {file = "qdldl-0.1.7.post4.tar.gz", hash = "sha256:0c163b9afb92c4b69d446387b1d4295094438b041ec4e8510271b6c4ff1f86fd"}, -] - -[package.dependencies] -numpy = ">=1.7" -scipy = ">=0.13.2" - -[[package]] -name = "requests" -version = "2.32.3" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "ruff" -version = "0.7.4" -description = "An extremely fast Python linter and code formatter, written in Rust." -optional = false -python-versions = ">=3.7" -files = [ - {file = "ruff-0.7.4-py3-none-linux_armv6l.whl", hash = "sha256:a4919925e7684a3f18e18243cd6bea7cfb8e968a6eaa8437971f681b7ec51478"}, - {file = "ruff-0.7.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:cfb365c135b830778dda8c04fb7d4280ed0b984e1aec27f574445231e20d6c63"}, - {file = "ruff-0.7.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:63a569b36bc66fbadec5beaa539dd81e0527cb258b94e29e0531ce41bacc1f20"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d06218747d361d06fd2fdac734e7fa92df36df93035db3dc2ad7aa9852cb109"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0cea28d0944f74ebc33e9f934238f15c758841f9f5edd180b5315c203293452"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80094ecd4793c68b2571b128f91754d60f692d64bc0d7272ec9197fdd09bf9ea"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:997512325c6620d1c4c2b15db49ef59543ef9cd0f4aa8065ec2ae5103cedc7e7"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00b4cf3a6b5fad6d1a66e7574d78956bbd09abfd6c8a997798f01f5da3d46a05"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7dbdc7d8274e1422722933d1edddfdc65b4336abf0b16dfcb9dedd6e6a517d06"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e92dfb5f00eaedb1501b2f906ccabfd67b2355bdf117fea9719fc99ac2145bc"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3bd726099f277d735dc38900b6a8d6cf070f80828877941983a57bca1cd92172"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2e32829c429dd081ee5ba39aef436603e5b22335c3d3fff013cd585806a6486a"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:662a63b4971807623f6f90c1fb664613f67cc182dc4d991471c23c541fee62dd"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:876f5e09eaae3eb76814c1d3b68879891d6fde4824c015d48e7a7da4cf066a3a"}, - {file = "ruff-0.7.4-py3-none-win32.whl", hash = "sha256:75c53f54904be42dd52a548728a5b572344b50d9b2873d13a3f8c5e3b91f5cac"}, - {file = "ruff-0.7.4-py3-none-win_amd64.whl", hash = "sha256:745775c7b39f914238ed1f1b0bebed0b9155a17cd8bc0b08d3c87e4703b990d6"}, - {file = "ruff-0.7.4-py3-none-win_arm64.whl", hash = "sha256:11bff065102c3ae9d3ea4dc9ecdfe5a5171349cdd0787c1fc64761212fc9cf1f"}, - {file = "ruff-0.7.4.tar.gz", hash = "sha256:cd12e35031f5af6b9b93715d8c4f40360070b2041f81273d0527683d5708fce2"}, -] - -[[package]] -name = "scipy" -version = "1.14.1" -description = "Fundamental algorithms for scientific computing in Python" -optional = false -python-versions = ">=3.10" -files = [ - {file = "scipy-1.14.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:b28d2ca4add7ac16ae8bb6632a3c86e4b9e4d52d3e34267f6e1b0c1f8d87e389"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0d2821003174de06b69e58cef2316a6622b60ee613121199cb2852a873f8cf3"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8bddf15838ba768bb5f5083c1ea012d64c9a444e16192762bd858f1e126196d0"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:97c5dddd5932bd2a1a31c927ba5e1463a53b87ca96b5c9bdf5dfd6096e27efc3"}, - {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ff0a7e01e422c15739ecd64432743cf7aae2b03f3084288f399affcefe5222d"}, - {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e32dced201274bf96899e6491d9ba3e9a5f6b336708656466ad0522d8528f69"}, - {file = "scipy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8426251ad1e4ad903a4514712d2fa8fdd5382c978010d1c6f5f37ef286a713ad"}, - {file = "scipy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:a49f6ed96f83966f576b33a44257d869756df6cf1ef4934f59dd58b25e0327e5"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8"}, - {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37"}, - {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2"}, - {file = "scipy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2"}, - {file = "scipy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc"}, - {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310"}, - {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066"}, - {file = "scipy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1"}, - {file = "scipy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e"}, - {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d"}, - {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e"}, - {file = "scipy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06"}, - {file = "scipy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84"}, - {file = "scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417"}, -] - -[package.dependencies] -numpy = ">=1.23.5,<2.3" - -[package.extras] -dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] -doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<=7.3.7)", "sphinx-design (>=0.4.0)"] -test = ["Cython", "array-api-strict (>=2.0)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] - -[[package]] -name = "scs" -version = "3.2.7" -description = "Splitting conic solver" -optional = false -python-versions = ">=3.7" -files = [ - {file = "scs-3.2.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6fbbb9b35297f7accf00a7f8cf9d6c642ed1ef31a9817f295927629c1fd0754c"}, - {file = "scs-3.2.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd4266c0ce811dc45a4644b3c9647bab61e9d7b7d811762c483b9c745e6a50a1"}, - {file = "scs-3.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4be0754d48ec435a5685cd934a1d375bdf9775614789694a4ec397220d36e33"}, - {file = "scs-3.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:867b0c65da57f89d2cc54143ae108eba24b888999dbcb6d30ddb4d31a4dbf01a"}, - {file = "scs-3.2.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4734bebd2a41275c3dc1fa7f36c0fb83a08b2abeb0d259317c3721beb5dca010"}, - {file = "scs-3.2.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c01dcbeba8bb18c6b2d5460da69293af243ad6808b14a06a5f80bb9fa59674c0"}, - {file = "scs-3.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51e23c0ffa23a0f21e493f87ca569575af56a34655fde9b4fba28781f6b0061e"}, - {file = "scs-3.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:257274213acd76c66f53c42da7e22b8d4478f6d963d8a4ef6d0b6b8293b97278"}, - {file = "scs-3.2.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ae5f0b85c5970d5024343a8ade77a0b1d05e5b36aa2069067971ae6adcaa51e7"}, - {file = "scs-3.2.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab0678e6a678929fabc1f18c34ff9a2ad888d8e2f73a1a350770ecb62fb35724"}, - {file = "scs-3.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d91ab6d26b6aaf14905c1295c331cef2ed956a16b92228de2fa58723729f6d7"}, - {file = "scs-3.2.7-cp312-cp312-win_amd64.whl", hash = "sha256:ab42697c7b8deeb2bb800b4d7ff6ab6c313d2f235f0d031f85a38f986a29006e"}, - {file = "scs-3.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5f614e6712de99164d03c59f5d63fbd8a2bc3812ca80702a53427d28b6d3c95f"}, - {file = "scs-3.2.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bbe3bfc15cb24f49694621e565c3b292652f51950ad9761c64610106dc7de7c5"}, - {file = "scs-3.2.7-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:2f4cad93b2daeede46f60a417a155b15dcd93576ce12a2e9ac36256835d269ae"}, - {file = "scs-3.2.7-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:59bc90ed8405c7fb1695ed9199560799dd83e4484697b627d85176c0d4d9f040"}, - {file = "scs-3.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fcef57ab8025ca07b6a6fd27ae1f01ebbde07ef10e29b100ab8dc0b3b177ad1"}, - {file = "scs-3.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:33d2fe12c89b2f6fa520ea6f5e7ba43b0414001a9b6fe466121168ad2e0ed8f1"}, - {file = "scs-3.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e294c89af85a508fc284191ceabbe8526838edd8084e35a4d323aeb604317e53"}, - {file = "scs-3.2.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:92390a829c9152c890df022df056de68ab74d08aee45323f91b0eca7cf29c915"}, - {file = "scs-3.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9a45baf1f15c443b7fcacc49df395936add43487ea5ded6a2223aa7d72638f3"}, - {file = "scs-3.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:cb210a67f4e4f7089a5e6c3b19b8354124975f3e598f73e9af90648f696fbeef"}, - {file = "scs-3.2.7.tar.gz", hash = "sha256:e89d81752ef241d7e408f21d0b69cde9bb6ce196241482e17f763cba5a7d9497"}, -] - -[package.dependencies] -numpy = "*" -scipy = "*" - -[[package]] -name = "six" -version = "1.17.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, - {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, -] - -[[package]] -name = "sniffio" -version = "1.3.1" -description = "Sniff out which async library your code is running under" -optional = false -python-versions = ">=3.7" -files = [ - {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, - {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, -] - -[[package]] -name = "sse-starlette" -version = "2.1.3" -description = "SSE plugin for Starlette" -optional = false -python-versions = ">=3.8" -files = [ - {file = "sse_starlette-2.1.3-py3-none-any.whl", hash = "sha256:8ec846438b4665b9e8c560fcdea6bc8081a3abf7942faa95e5a744999d219772"}, - {file = "sse_starlette-2.1.3.tar.gz", hash = "sha256:9cd27eb35319e1414e3d2558ee7414487f9529ce3b3cf9b21434fd110e017169"}, -] - -[package.dependencies] -anyio = "*" -starlette = "*" -uvicorn = "*" - -[package.extras] -examples = ["fastapi"] - -[[package]] -name = "starlette" -version = "0.41.3" -description = "The little ASGI library that shines." -optional = false -python-versions = ">=3.8" -files = [ - {file = "starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7"}, - {file = "starlette-0.41.3.tar.gz", hash = "sha256:0e4ab3d16522a255be6b28260b938eae2482f98ce5cc934cb08dce8dc3ba5835"}, -] - -[package.dependencies] -anyio = ">=3.4.0,<5" - -[package.extras] -full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] - -[[package]] -name = "tabulate" -version = "0.9.0" -description = "Pretty-print tabular data" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, - {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, -] - -[package.extras] -widechars = ["wcwidth"] - -[[package]] -name = "tenacity" -version = "9.0.0" -description = "Retry code until it succeeds" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539"}, - {file = "tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b"}, -] - -[package.extras] -doc = ["reno", "sphinx"] -test = ["pytest", "tornado (>=4.5)", "typeguard"] - -[[package]] -name = "theobb" -version = "1.0.0" -description = "The obb and nothing else." -optional = false -python-versions = "<3.13,>=3.9" -files = [ - {file = "theobb-1.0.0-py3-none-any.whl", hash = "sha256:05c58b90c61903aac3481d7fdcaa1cee420b29eb22602f82918fdc36b69b906b"}, - {file = "theobb-1.0.0.tar.gz", hash = "sha256:d878241e0a7bdff2cd3c9009a1884758bdf58f179fb613e4b18c6d40af9a3567"}, -] - -[package.dependencies] -openbb-core = ">=1.2.9,<2.0.0" - -[[package]] -name = "tqdm" -version = "4.67.1" -description = "Fast, Extensible Progress Meter" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, - {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[package.extras] -dev = ["nbval", "pytest (>=6)", "pytest-asyncio (>=0.24)", "pytest-cov", "pytest-timeout"] -discord = ["requests"] -notebook = ["ipywidgets (>=6)"] -slack = ["slack-sdk"] -telegram = ["requests"] - -[[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] - -[[package]] -name = "tzdata" -version = "2024.2" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, -] - -[[package]] -name = "urllib3" -version = "2.2.3" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.8" -files = [ - {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, - {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "uuid7" -version = "0.1.0" -description = "UUID version 7, generating time-sorted UUIDs with 200ns time resolution and 48 bits of randomness" -optional = false -python-versions = ">=3.7" -files = [ - {file = "uuid7-0.1.0-py2.py3-none-any.whl", hash = "sha256:5e259bb63c8cb4aded5927ff41b444a80d0c7124e8a0ced7cf44efa1f5cccf61"}, - {file = "uuid7-0.1.0.tar.gz", hash = "sha256:8c57aa32ee7456d3cc68c95c4530bc571646defac01895cfc73545449894a63c"}, -] - -[[package]] -name = "uvicorn" -version = "0.32.1" -description = "The lightning-fast ASGI server." -optional = false -python-versions = ">=3.8" -files = [ - {file = "uvicorn-0.32.1-py3-none-any.whl", hash = "sha256:82ad92fd58da0d12af7482ecdb5f2470a04c9c9a53ced65b9bbb4a205377602e"}, - {file = "uvicorn-0.32.1.tar.gz", hash = "sha256:ee9519c246a72b1c084cea8d3b44ed6026e78a4a309cbedae9c37e4cb9fbb175"}, -] - -[package.dependencies] -click = ">=7.0" -h11 = ">=0.8" -typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} - -[package.extras] -standard = ["colorama (>=0.4)", "httptools (>=0.6.3)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] - -[[package]] -name = "webencodings" -version = "0.5.1" -description = "Character encoding aliases for legacy web content" -optional = false -python-versions = "*" -files = [ - {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, - {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, -] - -[[package]] -name = "websockets" -version = "13.1" -description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "websockets-13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f48c749857f8fb598fb890a75f540e3221d0976ed0bf879cf3c7eef34151acee"}, - {file = "websockets-13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c7e72ce6bda6fb9409cc1e8164dd41d7c91466fb599eb047cfda72fe758a34a7"}, - {file = "websockets-13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f779498eeec470295a2b1a5d97aa1bc9814ecd25e1eb637bd9d1c73a327387f6"}, - {file = "websockets-13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676df3fe46956fbb0437d8800cd5f2b6d41143b6e7e842e60554398432cf29b"}, - {file = "websockets-13.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7affedeb43a70351bb811dadf49493c9cfd1ed94c9c70095fd177e9cc1541fa"}, - {file = "websockets-13.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1971e62d2caa443e57588e1d82d15f663b29ff9dfe7446d9964a4b6f12c1e700"}, - {file = "websockets-13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5f2e75431f8dc4a47f31565a6e1355fb4f2ecaa99d6b89737527ea917066e26c"}, - {file = "websockets-13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58cf7e75dbf7e566088b07e36ea2e3e2bd5676e22216e4cad108d4df4a7402a0"}, - {file = "websockets-13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c90d6dec6be2c7d03378a574de87af9b1efea77d0c52a8301dd831ece938452f"}, - {file = "websockets-13.1-cp310-cp310-win32.whl", hash = "sha256:730f42125ccb14602f455155084f978bd9e8e57e89b569b4d7f0f0c17a448ffe"}, - {file = "websockets-13.1-cp310-cp310-win_amd64.whl", hash = "sha256:5993260f483d05a9737073be197371940c01b257cc45ae3f1d5d7adb371b266a"}, - {file = "websockets-13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:61fc0dfcda609cda0fc9fe7977694c0c59cf9d749fbb17f4e9483929e3c48a19"}, - {file = "websockets-13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ceec59f59d092c5007e815def4ebb80c2de330e9588e101cf8bd94c143ec78a5"}, - {file = "websockets-13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c1dca61c6db1166c48b95198c0b7d9c990b30c756fc2923cc66f68d17dc558fd"}, - {file = "websockets-13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308e20f22c2c77f3f39caca508e765f8725020b84aa963474e18c59accbf4c02"}, - {file = "websockets-13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d516c325e6540e8a57b94abefc3459d7dab8ce52ac75c96cad5549e187e3a7"}, - {file = "websockets-13.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c6e35319b46b99e168eb98472d6c7d8634ee37750d7693656dc766395df096"}, - {file = "websockets-13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5f9fee94ebafbc3117c30be1844ed01a3b177bb6e39088bc6b2fa1dc15572084"}, - {file = "websockets-13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7c1e90228c2f5cdde263253fa5db63e6653f1c00e7ec64108065a0b9713fa1b3"}, - {file = "websockets-13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6548f29b0e401eea2b967b2fdc1c7c7b5ebb3eeb470ed23a54cd45ef078a0db9"}, - {file = "websockets-13.1-cp311-cp311-win32.whl", hash = "sha256:c11d4d16e133f6df8916cc5b7e3e96ee4c44c936717d684a94f48f82edb7c92f"}, - {file = "websockets-13.1-cp311-cp311-win_amd64.whl", hash = "sha256:d04f13a1d75cb2b8382bdc16ae6fa58c97337253826dfe136195b7f89f661557"}, - {file = "websockets-13.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9d75baf00138f80b48f1eac72ad1535aac0b6461265a0bcad391fc5aba875cfc"}, - {file = "websockets-13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9b6f347deb3dcfbfde1c20baa21c2ac0751afaa73e64e5b693bb2b848efeaa49"}, - {file = "websockets-13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de58647e3f9c42f13f90ac7e5f58900c80a39019848c5547bc691693098ae1bd"}, - {file = "websockets-13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1b54689e38d1279a51d11e3467dd2f3a50f5f2e879012ce8f2d6943f00e83f0"}, - {file = "websockets-13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf1781ef73c073e6b0f90af841aaf98501f975d306bbf6221683dd594ccc52b6"}, - {file = "websockets-13.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d23b88b9388ed85c6faf0e74d8dec4f4d3baf3ecf20a65a47b836d56260d4b9"}, - {file = "websockets-13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3c78383585f47ccb0fcf186dcb8a43f5438bd7d8f47d69e0b56f71bf431a0a68"}, - {file = "websockets-13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d6d300f8ec35c24025ceb9b9019ae9040c1ab2f01cddc2bcc0b518af31c75c14"}, - {file = "websockets-13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9dcaf8b0cc72a392760bb8755922c03e17a5a54e08cca58e8b74f6902b433cf"}, - {file = "websockets-13.1-cp312-cp312-win32.whl", hash = "sha256:2f85cf4f2a1ba8f602298a853cec8526c2ca42a9a4b947ec236eaedb8f2dc80c"}, - {file = "websockets-13.1-cp312-cp312-win_amd64.whl", hash = "sha256:38377f8b0cdeee97c552d20cf1865695fcd56aba155ad1b4ca8779a5b6ef4ac3"}, - {file = "websockets-13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a9ab1e71d3d2e54a0aa646ab6d4eebfaa5f416fe78dfe4da2839525dc5d765c6"}, - {file = "websockets-13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b9d7439d7fab4dce00570bb906875734df13d9faa4b48e261c440a5fec6d9708"}, - {file = "websockets-13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:327b74e915cf13c5931334c61e1a41040e365d380f812513a255aa804b183418"}, - {file = "websockets-13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:325b1ccdbf5e5725fdcb1b0e9ad4d2545056479d0eee392c291c1bf76206435a"}, - {file = "websockets-13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:346bee67a65f189e0e33f520f253d5147ab76ae42493804319b5716e46dddf0f"}, - {file = "websockets-13.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a0fa841646320ec0d3accdff5b757b06e2e5c86ba32af2e0815c96c7a603c5"}, - {file = "websockets-13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:18503d2c5f3943e93819238bf20df71982d193f73dcecd26c94514f417f6b135"}, - {file = "websockets-13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a9cd1af7e18e5221d2878378fbc287a14cd527fdd5939ed56a18df8a31136bb2"}, - {file = "websockets-13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:70c5be9f416aa72aab7a2a76c90ae0a4fe2755c1816c153c1a2bcc3333ce4ce6"}, - {file = "websockets-13.1-cp313-cp313-win32.whl", hash = "sha256:624459daabeb310d3815b276c1adef475b3e6804abaf2d9d2c061c319f7f187d"}, - {file = "websockets-13.1-cp313-cp313-win_amd64.whl", hash = "sha256:c518e84bb59c2baae725accd355c8dc517b4a3ed8db88b4bc93c78dae2974bf2"}, - {file = "websockets-13.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c7934fd0e920e70468e676fe7f1b7261c1efa0d6c037c6722278ca0228ad9d0d"}, - {file = "websockets-13.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:149e622dc48c10ccc3d2760e5f36753db9cacf3ad7bc7bbbfd7d9c819e286f23"}, - {file = "websockets-13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a569eb1b05d72f9bce2ebd28a1ce2054311b66677fcd46cf36204ad23acead8c"}, - {file = "websockets-13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95df24ca1e1bd93bbca51d94dd049a984609687cb2fb08a7f2c56ac84e9816ea"}, - {file = "websockets-13.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8dbb1bf0c0a4ae8b40bdc9be7f644e2f3fb4e8a9aca7145bfa510d4a374eeb7"}, - {file = "websockets-13.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:035233b7531fb92a76beefcbf479504db8c72eb3bff41da55aecce3a0f729e54"}, - {file = "websockets-13.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:e4450fc83a3df53dec45922b576e91e94f5578d06436871dce3a6be38e40f5db"}, - {file = "websockets-13.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:463e1c6ec853202dd3657f156123d6b4dad0c546ea2e2e38be2b3f7c5b8e7295"}, - {file = "websockets-13.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6d6855bbe70119872c05107e38fbc7f96b1d8cb047d95c2c50869a46c65a8e96"}, - {file = "websockets-13.1-cp38-cp38-win32.whl", hash = "sha256:204e5107f43095012b00f1451374693267adbb832d29966a01ecc4ce1db26faf"}, - {file = "websockets-13.1-cp38-cp38-win_amd64.whl", hash = "sha256:485307243237328c022bc908b90e4457d0daa8b5cf4b3723fd3c4a8012fce4c6"}, - {file = "websockets-13.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9b37c184f8b976f0c0a231a5f3d6efe10807d41ccbe4488df8c74174805eea7d"}, - {file = "websockets-13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:163e7277e1a0bd9fb3c8842a71661ad19c6aa7bb3d6678dc7f89b17fbcc4aeb7"}, - {file = "websockets-13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4b889dbd1342820cc210ba44307cf75ae5f2f96226c0038094455a96e64fb07a"}, - {file = "websockets-13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:586a356928692c1fed0eca68b4d1c2cbbd1ca2acf2ac7e7ebd3b9052582deefa"}, - {file = "websockets-13.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7bd6abf1e070a6b72bfeb71049d6ad286852e285f146682bf30d0296f5fbadfa"}, - {file = "websockets-13.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2aad13a200e5934f5a6767492fb07151e1de1d6079c003ab31e1823733ae79"}, - {file = "websockets-13.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:df01aea34b6e9e33572c35cd16bae5a47785e7d5c8cb2b54b2acdb9678315a17"}, - {file = "websockets-13.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e54affdeb21026329fb0744ad187cf812f7d3c2aa702a5edb562b325191fcab6"}, - {file = "websockets-13.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ef8aa8bdbac47f4968a5d66462a2a0935d044bf35c0e5a8af152d58516dbeb5"}, - {file = "websockets-13.1-cp39-cp39-win32.whl", hash = "sha256:deeb929efe52bed518f6eb2ddc00cc496366a14c726005726ad62c2dd9017a3c"}, - {file = "websockets-13.1-cp39-cp39-win_amd64.whl", hash = "sha256:7c65ffa900e7cc958cd088b9a9157a8141c991f8c53d11087e6fb7277a03f81d"}, - {file = "websockets-13.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5dd6da9bec02735931fccec99d97c29f47cc61f644264eb995ad6c0c27667238"}, - {file = "websockets-13.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:2510c09d8e8df777177ee3d40cd35450dc169a81e747455cc4197e63f7e7bfe5"}, - {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1c3cf67185543730888b20682fb186fc8d0fa6f07ccc3ef4390831ab4b388d9"}, - {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcc03c8b72267e97b49149e4863d57c2d77f13fae12066622dc78fe322490fe6"}, - {file = "websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:004280a140f220c812e65f36944a9ca92d766b6cc4560be652a0a3883a79ed8a"}, - {file = "websockets-13.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e2620453c075abeb0daa949a292e19f56de518988e079c36478bacf9546ced23"}, - {file = "websockets-13.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9156c45750b37337f7b0b00e6248991a047be4aa44554c9886fe6bdd605aab3b"}, - {file = "websockets-13.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:80c421e07973a89fbdd93e6f2003c17d20b69010458d3a8e37fb47874bd67d51"}, - {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82d0ba76371769d6a4e56f7e83bb8e81846d17a6190971e38b5de108bde9b0d7"}, - {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e9875a0143f07d74dc5e1ded1c4581f0d9f7ab86c78994e2ed9e95050073c94d"}, - {file = "websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11e38ad8922c7961447f35c7b17bffa15de4d17c70abd07bfbe12d6faa3e027"}, - {file = "websockets-13.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4059f790b6ae8768471cddb65d3c4fe4792b0ab48e154c9f0a04cefaabcd5978"}, - {file = "websockets-13.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:25c35bf84bf7c7369d247f0b8cfa157f989862c49104c5cf85cb5436a641d93e"}, - {file = "websockets-13.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:83f91d8a9bb404b8c2c41a707ac7f7f75b9442a0a876df295de27251a856ad09"}, - {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a43cfdcddd07f4ca2b1afb459824dd3c6d53a51410636a2c7fc97b9a8cf4842"}, - {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a2ef1381632a2f0cb4efeff34efa97901c9fbc118e01951ad7cfc10601a9bb"}, - {file = "websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459bf774c754c35dbb487360b12c5727adab887f1622b8aed5755880a21c4a20"}, - {file = "websockets-13.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:95858ca14a9f6fa8413d29e0a585b31b278388aa775b8a81fa24830123874678"}, - {file = "websockets-13.1-py3-none-any.whl", hash = "sha256:a9a396a6ad26130cdae92ae10c36af09d9bfe6cafe69670fd3b6da9b07b4044f"}, - {file = "websockets-13.1.tar.gz", hash = "sha256:a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878"}, -] - -[[package]] -name = "yarl" -version = "1.18.3" -description = "Yet another URL library" -optional = false -python-versions = ">=3.9" -files = [ - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, - {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, - {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, - {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, - {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, - {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, - {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, - {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, - {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, - {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, - {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, - {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, - {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, -] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" -propcache = ">=0.2.0" - -[[package]] -name = "zipp" -version = "3.21.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.9" -files = [ - {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, - {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] - -[metadata] -lock-version = "2.0" -python-versions = ">=3.10,<3.13" -content-hash = "01cd9e86e27324bad7e691bdddb521fb914e01f6c4d1f246b69ecd7f552fd16b" diff --git a/pyproject.toml b/pyproject.toml index 1d4af71..6acb125 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,25 +1,51 @@ -[tool.poetry] +[project] name = "allocator-bot" version = "0.1.0" description = "An asset allocation bot for OpenBB that uses PyPortfolioOpt to generate efficient frontier allocations." -authors = ["Theodore Aptekarev "] +authors = [{ name = "Theodore Aptekarev", email = "aptekarev@gmail.com" }] readme = "README.md" -package-mode = false +requires-python = ">=3.10,<3.13" +license = { text = "MIT" } +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] -[tool.poetry.dependencies] -python = ">=3.10,<3.13" -openbb-core = "^1.3.7" -magentic = "^0.34.1" -pandas = "^2.2.3" -pyportfolioopt = "^1.5.6" -theobb = "^1.0.0" -openbb-equity = "^1.3.5" -openbb-etf = "^1.3.5" -sse-starlette = "^2.1.3" -openbb-fmp = "^1.3.5" -tabulate = "^0.9.0" +dependencies = [ + "boto3>=1.34.0", + "magentic>=0.40.0", + "openbb-ai>=1.5.0", + "openbb-core>=1.3.7", + "openbb-equity>=1.3.5", + "openbb-etf>=1.3.5", + "openbb-fmp>=1.3.5", + "openbb-platform-api>=1.1.10", + "pandas>=2.2.3", + "pyportfolioopt>=1.5.6", + "sse-starlette>=2.1.3", + "tabulate>=0.9.0", + "theobb>=1.0.0", +] +[project.optional-dependencies] +dev = [ + "black>=24.4.2", + "pandas-stubs>=2.2.3.250527", + "pytest>=8.4.0", + "ruff>=0.4.4", + "types-boto3>=1.38.32", +] [build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project.scripts] +allocator-bot = "allocator_bot.__main__:main" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build] +include = ["allocator_bot/**"] diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..b47f464 --- /dev/null +++ b/uv.lock @@ -0,0 +1,2021 @@ +version = 1 +revision = 2 +requires-python = ">=3.10, <3.13" +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, +] + +[[package]] +name = "aiohttp" +version = "3.12.11" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "async-timeout", marker = "python_full_version < '3.11'" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/93/6b/850a842871ab7be0d00686750d0ee9d8fb8e7be981e4e5700bb6c88f1b8f/aiohttp-3.12.11.tar.gz", hash = "sha256:a5149ae1b11ce4cf8b122846bfa3d7c5f29fe3bfe6745ab21b3eea9615bc5564", size = 7814403, upload-time = "2025-06-07T15:53:26.157Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/d1/364a1b717af86c389b8f249e47d890f2f1615e46090dfe2b0696c8cadc54/aiohttp-3.12.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff576cb82b995ff213e58255bc776a06ebd5ebb94a587aab2fb5df8ee4e3f967", size = 701346, upload-time = "2025-06-07T15:50:24.576Z" }, + { url = "https://files.pythonhosted.org/packages/75/95/14be664a432f91838f3e3631aa74ca8e11452b98528157592e9bad8016aa/aiohttp-3.12.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fe3a9ae8a7c93bec5b7cfacfbc781ed5ae501cf6a6113cf3339b193af991eaf9", size = 477708, upload-time = "2025-06-07T15:50:28.333Z" }, + { url = "https://files.pythonhosted.org/packages/00/64/31c8b601ade2c2d147e4270963dd16162c4c76bf1b06b3b22fe828c6c77e/aiohttp-3.12.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:efafc6f8c7c49ff567e0f02133b4d50eef5183cf96d4b0f1c7858d478e9751f6", size = 465484, upload-time = "2025-06-07T15:50:30.244Z" }, + { url = "https://files.pythonhosted.org/packages/17/9d/74bc3b1c7be89b09a49516929ce89f70b55a48b98c0ea08dc289be5b899d/aiohttp-3.12.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6866da6869cc60d84921b55330d23cbac4f243aebfabd9da47bbc40550e6548", size = 1647530, upload-time = "2025-06-07T15:50:31.766Z" }, + { url = "https://files.pythonhosted.org/packages/7a/60/720ccb5e0c3d1b8a92dc4184c0f63b1440477ef8c363be964b63dc92540d/aiohttp-3.12.11-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:14aa6f41923324618687bec21adf1d5e8683264ccaa6266c38eb01aeaa404dea", size = 1621587, upload-time = "2025-06-07T15:50:33.904Z" }, + { url = "https://files.pythonhosted.org/packages/21/3b/54a12bf17941062d82e210bdf92b2fc795b9b8686c7748c98abcdf2b6a90/aiohttp-3.12.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4aec7c3ccf2ed6b55db39e36eb00ad4e23f784fca2d38ea02e6514c485866dc", size = 1693994, upload-time = "2025-06-07T15:50:36.066Z" }, + { url = "https://files.pythonhosted.org/packages/55/8f/096346f9de52bc779f59914f11e34f51fcab1be5014777401c081c46c514/aiohttp-3.12.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:efd174af34bd80aa07813a69fee000ce8745962e2d3807c560bdf4972b5748e4", size = 1736309, upload-time = "2025-06-07T15:50:37.724Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ad/fd6aaa95f9a5d0ac3449d35e4c048d8fa57a8c332ce35b9bbef26d843e39/aiohttp-3.12.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb02a172c073b0aaf792f0b78d02911f124879961d262d3163119a3e91eec31d", size = 1640974, upload-time = "2025-06-07T15:50:39.299Z" }, + { url = "https://files.pythonhosted.org/packages/2c/18/78524a051a0acca139520e828027fd8b14fa3f73a1a45cfce09d8c7b60cf/aiohttp-3.12.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcf5791dcd63e1fc39f5b0d4d16fe5e6f2b62f0f3b0f1899270fa4f949763317", size = 1581096, upload-time = "2025-06-07T15:50:40.949Z" }, + { url = "https://files.pythonhosted.org/packages/a6/1b/02f3638a881deaf8e3a7f0f5efc4bb2038398396d62ca6a16c04a819e83a/aiohttp-3.12.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:47f7735b7e44965bd9c4bde62ca602b1614292278315e12fa5afbcc9f9180c28", size = 1624945, upload-time = "2025-06-07T15:50:43.013Z" }, + { url = "https://files.pythonhosted.org/packages/c9/92/0abc349304431c6d0ddd8e75bfcddb1c5adbab9226faaee35f865d4b01ae/aiohttp-3.12.11-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d211453930ab5995e99e3ffa7c5c33534852ad123a11761f1bf7810cd853d3d8", size = 1635732, upload-time = "2025-06-07T15:50:44.676Z" }, + { url = "https://files.pythonhosted.org/packages/44/dc/392e0b62444a00aed437f18f58ff914ac66a7e6ee279e25954fa370afc24/aiohttp-3.12.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:104f1f9135be00c8a71c5fc53ac7d49c293a8eb310379d2171f0e41172277a09", size = 1611186, upload-time = "2025-06-07T15:50:46.813Z" }, + { url = "https://files.pythonhosted.org/packages/1b/dc/2b2ea658dadb22b9671c4b0cc7aea66168240c84053912a8864654111524/aiohttp-3.12.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e6cbaf3c02ef605b6f251d8bb71b06632ba24e365c262323a377b639bcfcbdae", size = 1690771, upload-time = "2025-06-07T15:50:49.145Z" }, + { url = "https://files.pythonhosted.org/packages/5e/39/244e31209fab9edb1c3cb28e33e726a2e0f96099a78bee215c07cd680d71/aiohttp-3.12.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:9d9922bc6cca3bc7a8f8b60a3435f6bca6e33c8f9490f6079a023cfb4ee65af0", size = 1714008, upload-time = "2025-06-07T15:50:50.772Z" }, + { url = "https://files.pythonhosted.org/packages/96/b2/369606e0d08686d585f64d8747b0fb53ec4e9bb2a34cac0200cb4a15628a/aiohttp-3.12.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:554f4338611155e7d2f0dc01e71e71e5f6741464508cbc31a74eb35c9fb42982", size = 1642350, upload-time = "2025-06-07T15:50:52.528Z" }, + { url = "https://files.pythonhosted.org/packages/b2/f1/4dbe68a00b5ca991898bb44c625a7d4dc7b272eb99f1323bde46efaadcbd/aiohttp-3.12.11-cp310-cp310-win32.whl", hash = "sha256:421ca03e2117d8756479e04890659f6b356d6399bbdf07af5a32d5c8b4ace5ac", size = 426783, upload-time = "2025-06-07T15:50:54.146Z" }, + { url = "https://files.pythonhosted.org/packages/2a/1e/c17ca735d05ca68886268433f3a662df88d1918b475473eb52ed3711d28f/aiohttp-3.12.11-cp310-cp310-win_amd64.whl", hash = "sha256:cd58a0fae0d13a44456953d43706f9457b231879c4b3c9d0a1e0c6e2a4913d46", size = 449995, upload-time = "2025-06-07T15:50:56.155Z" }, + { url = "https://files.pythonhosted.org/packages/82/84/5fc8724450b3db29cc6a9f039d3b192363a2620745c31f6126da372e1637/aiohttp-3.12.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a7603f3998cd2893801d254072aaf1b5117183fcf5e726b6c27fc4239dc8c30a", size = 708659, upload-time = "2025-06-07T15:50:57.716Z" }, + { url = "https://files.pythonhosted.org/packages/07/2b/5d39d182524e09587f43d7c76887300bbce3de03f7f93a848b7c54d62bda/aiohttp-3.12.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:afe8c1860fb0df6e94725339376628e915b2b85e734eca4d14281ed5c11275b0", size = 480935, upload-time = "2025-06-07T15:50:59.46Z" }, + { url = "https://files.pythonhosted.org/packages/de/7d/0b471d1d5f215dcfaa30a46bb5bebb61a5464915df93242c49b1b0b9ad5c/aiohttp-3.12.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f014d909931e34f81b0080b289642d4fc4f4a700a161bd694a5cebdd77882ab5", size = 469197, upload-time = "2025-06-07T15:51:01.162Z" }, + { url = "https://files.pythonhosted.org/packages/dd/65/bd2b9abc059d46c4e86ad00d2432aaa0a9fd8d11f7eb8b524a32e22b0ad7/aiohttp-3.12.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:734e64ceb8918b3d7099b2d000e174d8d944fb7d494de522cecb0fa45ffcb0cd", size = 1739387, upload-time = "2025-06-07T15:51:02.89Z" }, + { url = "https://files.pythonhosted.org/packages/7f/da/04cb11214bc51cd14a2c7ed1f2ad423a0581129e7fd7d31f1aa99f2f0d4c/aiohttp-3.12.11-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4b603513b4596a8b80bfbedcb33e9f8ed93f44d3dfaac97db0bb9185a6d2c5c0", size = 1688058, upload-time = "2025-06-07T15:51:04.98Z" }, + { url = "https://files.pythonhosted.org/packages/1a/58/c59e46873ce5c1e427e92bbc31351eb68e2bc22ac48f6c4eab54efb7577c/aiohttp-3.12.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:196fbd7951b89d9a4be3a09e1f49b3534eb0b764989df66b429e8685138f8d27", size = 1786848, upload-time = "2025-06-07T15:51:06.754Z" }, + { url = "https://files.pythonhosted.org/packages/7c/78/3cbde2f8a6da9dcc97fa0700f525ff9853f3bd7e6b7d89e326449980f0e0/aiohttp-3.12.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1585fefa6a62a1140bf3e439f9648cb5bf360be2bbe76d057dddd175c030e30c", size = 1825894, upload-time = "2025-06-07T15:51:09.021Z" }, + { url = "https://files.pythonhosted.org/packages/1c/98/14649f17c9b2110ae5e445a4317db10d14c57b2f1ff5b5635e74a2046cd1/aiohttp-3.12.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22e2874e665c771e6c87e81f8d4ac64d999da5e1a110b3ae0088b035529a08d5", size = 1728356, upload-time = "2025-06-07T15:51:10.838Z" }, + { url = "https://files.pythonhosted.org/packages/4d/27/6a061f23b4a0a09426c5daff865344b676b05bb15c03e4367b312567e8d5/aiohttp-3.12.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6563fa3bfb79f892a24d3f39ca246c7409cf3b01a3a84c686e548a69e4fc1bf", size = 1665432, upload-time = "2025-06-07T15:51:12.585Z" }, + { url = "https://files.pythonhosted.org/packages/cd/95/9ce546c725c4e3566a6c91a07095233b7c27ea3ca2df1e728c1b2b81116b/aiohttp-3.12.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f31bfeb53cfc5e028a0ade48ef76a3580016b92007ceb8311f5bd1b4472b7007", size = 1713707, upload-time = "2025-06-07T15:51:14.377Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c9/97343b283963e72d542ea23b5825b7b03d83bc9fbe43a08b47bdae824ac6/aiohttp-3.12.11-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:fa806cdb0b7e99fb85daea0de0dda3895eea6a624f962f3800dfbbfc07f34fb6", size = 1708863, upload-time = "2025-06-07T15:51:16.671Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a5/c79fe56cada620aa1a19c0184f3745b678dccdee319361fb6d7c8cab8017/aiohttp-3.12.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:210470f8078ecd1f596247a70f17d88c4e785ffa567ab909939746161f304444", size = 1689047, upload-time = "2025-06-07T15:51:18.854Z" }, + { url = "https://files.pythonhosted.org/packages/82/77/8efabd6cae1419e164dc686a85212c4014188f269c68b1b9708a4d632630/aiohttp-3.12.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:cb9af1ce647cda1707d7b7e23b36eead3104ed959161f14f4ebc51d9b887d4a2", size = 1782651, upload-time = "2025-06-07T15:51:20.718Z" }, + { url = "https://files.pythonhosted.org/packages/2e/43/504360e858a85b4d735b9c991483980b55e0bcd4362781229219b4ebbe3a/aiohttp-3.12.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ccef35cc9e96bb3fcd79f3ef9d6ae4f72c06585c2e818deafc4a499a220904a1", size = 1803112, upload-time = "2025-06-07T15:51:22.538Z" }, + { url = "https://files.pythonhosted.org/packages/4f/21/b77312ced467ac18adba74862aade02714a3d6aa9dcc022bf35aa49326c0/aiohttp-3.12.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e8ccb376eaf184bcecd77711697861095bc3352c912282e33d065222682460da", size = 1716168, upload-time = "2025-06-07T15:51:25.285Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/7bf32b3661ceaea9b67c9ae924903f9abebf39b3babc9e8cafb9b6287d1f/aiohttp-3.12.11-cp311-cp311-win32.whl", hash = "sha256:7c345f7e7f10ac21a48ffd387c04a17da06f96bd087d55af30d1af238e9e164d", size = 426296, upload-time = "2025-06-07T15:51:27.599Z" }, + { url = "https://files.pythonhosted.org/packages/60/fe/9ceb67fe0af2ab39b9ad55c35e800bf44b569a1d932129edacbfc53f080f/aiohttp-3.12.11-cp311-cp311-win_amd64.whl", hash = "sha256:b461f7918c8042e927f629eccf7c120197135bd2eb14cc12fffa106b937d051b", size = 450686, upload-time = "2025-06-07T15:51:29.326Z" }, + { url = "https://files.pythonhosted.org/packages/3f/6b/d5c7aa0e0b938ee1da791f781d51c5f08bddaa02b08f211999a62cc6abf2/aiohttp-3.12.11-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3d222c693342ccca64320410ada8f06a47c4762ff82de390f3357a0e51ca102c", size = 699756, upload-time = "2025-06-07T15:51:31.095Z" }, + { url = "https://files.pythonhosted.org/packages/47/c0/98d34a3ad793dc9884ae217ed5381e128d33d86b001da0687c9a457e415a/aiohttp-3.12.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f50c10bd5799d82a9effe90d5d5840e055a2c94e208b76f9ed9e6373ca2426fe", size = 474372, upload-time = "2025-06-07T15:51:32.872Z" }, + { url = "https://files.pythonhosted.org/packages/de/9a/f570309da9bbc84926683857893abaa3d77be1d77559fea10b1330feae70/aiohttp-3.12.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a01a21975b0fd5160886d9f2cd6ed13cdfc8d59f2a51051708ed729afcc2a2fb", size = 467208, upload-time = "2025-06-07T15:51:35.38Z" }, + { url = "https://files.pythonhosted.org/packages/76/67/349ad4ee103e2998b904c950f67cf8e854635714dd50f2dc7a7e9d66b68e/aiohttp-3.12.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39d29b6888ddd5a120dba1d52c78c0b45f5f34e227a23696cbece684872e62bd", size = 1714001, upload-time = "2025-06-07T15:51:37.625Z" }, + { url = "https://files.pythonhosted.org/packages/cf/cd/79538050dfbe9fcf745eb626bdc5429855615dd7ad3660f8082636b54664/aiohttp-3.12.11-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1df121c3ffcc5f7381cd4c84e8554ff121f558e92c318f48e049843b47ee9f1b", size = 1696652, upload-time = "2025-06-07T15:51:40.084Z" }, + { url = "https://files.pythonhosted.org/packages/41/26/844b6bc9b97e2cf76b6c1ee53ed2d65ed48d1647b90866d26f70dee7e679/aiohttp-3.12.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:644f74197757e26266a5f57af23424f8cd506c1ef70d9b288e21244af69d6fdc", size = 1751748, upload-time = "2025-06-07T15:51:42.513Z" }, + { url = "https://files.pythonhosted.org/packages/79/82/3c0b1dc8153d7158919e67f7eba5b52e4d8fb1708df1a562c0e3af7d949c/aiohttp-3.12.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:726d9a15a1fd1058b2d27d094b1fec627e9fd92882ca990d90ded9b7c550bd21", size = 1797903, upload-time = "2025-06-07T15:51:44.401Z" }, + { url = "https://files.pythonhosted.org/packages/f5/1b/1ba9cdb3d4dd676f8d335785562bf74eec98848c7516938522865f2c5ce5/aiohttp-3.12.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:405a60b979da942cec2c26381683bc230f3bcca346bf23a59c1dfc397e44b17b", size = 1717342, upload-time = "2025-06-07T15:51:46.607Z" }, + { url = "https://files.pythonhosted.org/packages/b1/e3/b2f42962f379307a1c3a5b5162115b8f244f47f1ef656ae3cf5f60c40116/aiohttp-3.12.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27e75e96a4a747756c2f59334e81cbb9a398e015bc9e08b28f91090e5f3a85ef", size = 1633146, upload-time = "2025-06-07T15:51:49.138Z" }, + { url = "https://files.pythonhosted.org/packages/12/fa/5f8f06bfeb8e9668d54082eb7428f47dc3a1dc74d7dfddaa16e237388b5f/aiohttp-3.12.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:15e1da30ac8bf92fb3f8c245ff53ace3f0ea1325750cc2f597fb707140dfd950", size = 1694205, upload-time = "2025-06-07T15:51:51.078Z" }, + { url = "https://files.pythonhosted.org/packages/e7/88/7af64b23ce041ec2693d763306fa670102a5b48c1012f342703e0a998f05/aiohttp-3.12.11-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0329934d4df1500f13449c1db205d662123d9d0ee1c9d0c8c0cb997cdac75710", size = 1715659, upload-time = "2025-06-07T15:51:53.017Z" }, + { url = "https://files.pythonhosted.org/packages/ad/54/481761fcffe7264608272fc67877556e9ef00268af32a091950b909d06cf/aiohttp-3.12.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2a06b2a031d6c828828317ee951f07d8a0455edc9cd4fc0e0432fd6a4dfd612d", size = 1656310, upload-time = "2025-06-07T15:51:54.977Z" }, + { url = "https://files.pythonhosted.org/packages/fe/73/0ba372b3cb158334b1a23579a72f24c8ee99b7147d0671eefbe8a327cba4/aiohttp-3.12.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:87ece62697b8792e595627c4179f0eca4b038f39b0b354e67a149fa6f83d9493", size = 1735873, upload-time = "2025-06-07T15:51:57.441Z" }, + { url = "https://files.pythonhosted.org/packages/67/83/44057c78dc34f2c9d5f258da4aa6495aa20ca047044d50acfbab6630649f/aiohttp-3.12.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5c981b7659379b5cb3b149e480295adfcdf557b5892a792519a56badbe9f33ef", size = 1763846, upload-time = "2025-06-07T15:51:59.882Z" }, + { url = "https://files.pythonhosted.org/packages/45/39/f1fb8c2b3e3dd6e39ba9a5cf5dcb0cb70d163de4abceaab27d666f81e701/aiohttp-3.12.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e6fb2170cb0b9abbe0bee2767b08bb4a3dbf01583880ecea97bca9f3f918ea78", size = 1723455, upload-time = "2025-06-07T15:52:02.021Z" }, + { url = "https://files.pythonhosted.org/packages/5a/75/00b04567495f6ec2099b8a413408b65f058e78ce7325d3e6093f259da9b8/aiohttp-3.12.11-cp312-cp312-win32.whl", hash = "sha256:f20e4ec84a26f91adc8c54345a383095248d11851f257c816e8f1d853a6cef4c", size = 421027, upload-time = "2025-06-07T15:52:04.004Z" }, + { url = "https://files.pythonhosted.org/packages/cc/ef/4340f3e2bb7a00fd6ef9bbbba13ba8d56b47025c9323258da94b0d649117/aiohttp-3.12.11-cp312-cp312-win_amd64.whl", hash = "sha256:b54d4c3cd77cf394e71a7ad5c3b8143a5bfe105a40fc693bcdfe472a286f1d95", size = 447132, upload-time = "2025-06-07T15:52:05.891Z" }, +] + +[[package]] +name = "aiosignal" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54", size = 19424, upload-time = "2024-12-13T17:10:40.86Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5", size = 7597, upload-time = "2024-12-13T17:10:38.469Z" }, +] + +[[package]] +name = "allocator-bot" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "boto3" }, + { name = "magentic" }, + { name = "openbb-ai" }, + { name = "openbb-core" }, + { name = "openbb-equity" }, + { name = "openbb-etf" }, + { name = "openbb-fmp" }, + { name = "openbb-platform-api" }, + { name = "pandas" }, + { name = "pyportfolioopt" }, + { name = "sse-starlette" }, + { name = "tabulate" }, + { name = "theobb" }, +] + +[package.optional-dependencies] +dev = [ + { name = "black" }, + { name = "pandas-stubs" }, + { name = "pytest" }, + { name = "ruff" }, + { name = "types-boto3" }, +] + +[package.metadata] +requires-dist = [ + { name = "black", marker = "extra == 'dev'", specifier = ">=24.4.2" }, + { name = "boto3", specifier = ">=1.34.0" }, + { name = "magentic", specifier = ">=0.40.0" }, + { name = "openbb-ai", specifier = ">=1.5.0" }, + { name = "openbb-core", specifier = ">=1.3.7" }, + { name = "openbb-equity", specifier = ">=1.3.5" }, + { name = "openbb-etf", specifier = ">=1.3.5" }, + { name = "openbb-fmp", specifier = ">=1.3.5" }, + { name = "openbb-platform-api", specifier = ">=1.1.10" }, + { name = "pandas", specifier = ">=2.2.3" }, + { name = "pandas-stubs", marker = "extra == 'dev'", specifier = ">=2.2.3.250527" }, + { name = "pyportfolioopt", specifier = ">=1.5.6" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=8.4.0" }, + { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.4.4" }, + { name = "sse-starlette", specifier = ">=2.1.3" }, + { name = "tabulate", specifier = ">=0.9.0" }, + { name = "theobb", specifier = ">=1.0.0" }, + { name = "types-boto3", marker = "extra == 'dev'", specifier = ">=1.38.32" }, +] +provides-extras = ["dev"] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload-time = "2025-03-17T00:02:52.713Z" }, +] + +[[package]] +name = "async-timeout" +version = "5.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3", size = 9274, upload-time = "2024-11-06T16:41:39.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233, upload-time = "2024-11-06T16:41:37.9Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "backoff" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba", size = 17001, upload-time = "2022-10-05T19:19:32.061Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148, upload-time = "2022-10-05T19:19:30.546Z" }, +] + +[[package]] +name = "black" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "mypy-extensions" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "platformdirs" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449, upload-time = "2025-01-29T04:15:40.373Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/3b/4ba3f93ac8d90410423fdd31d7541ada9bcee1df32fb90d26de41ed40e1d/black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32", size = 1629419, upload-time = "2025-01-29T05:37:06.642Z" }, + { url = "https://files.pythonhosted.org/packages/b4/02/0bde0485146a8a5e694daed47561785e8b77a0466ccc1f3e485d5ef2925e/black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da", size = 1461080, upload-time = "2025-01-29T05:37:09.321Z" }, + { url = "https://files.pythonhosted.org/packages/52/0e/abdf75183c830eaca7589144ff96d49bce73d7ec6ad12ef62185cc0f79a2/black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7", size = 1766886, upload-time = "2025-01-29T04:18:24.432Z" }, + { url = "https://files.pythonhosted.org/packages/dc/a6/97d8bb65b1d8a41f8a6736222ba0a334db7b7b77b8023ab4568288f23973/black-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9", size = 1419404, upload-time = "2025-01-29T04:19:04.296Z" }, + { url = "https://files.pythonhosted.org/packages/7e/4f/87f596aca05c3ce5b94b8663dbfe242a12843caaa82dd3f85f1ffdc3f177/black-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0", size = 1614372, upload-time = "2025-01-29T05:37:11.71Z" }, + { url = "https://files.pythonhosted.org/packages/e7/d0/2c34c36190b741c59c901e56ab7f6e54dad8df05a6272a9747ecef7c6036/black-25.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299", size = 1442865, upload-time = "2025-01-29T05:37:14.309Z" }, + { url = "https://files.pythonhosted.org/packages/21/d4/7518c72262468430ead45cf22bd86c883a6448b9eb43672765d69a8f1248/black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096", size = 1749699, upload-time = "2025-01-29T04:18:17.688Z" }, + { url = "https://files.pythonhosted.org/packages/58/db/4f5beb989b547f79096e035c4981ceb36ac2b552d0ac5f2620e941501c99/black-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2", size = 1428028, upload-time = "2025-01-29T04:18:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988, upload-time = "2025-01-29T05:37:16.707Z" }, + { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985, upload-time = "2025-01-29T05:37:18.273Z" }, + { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816, upload-time = "2025-01-29T04:18:33.823Z" }, + { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860, upload-time = "2025-01-29T04:19:12.944Z" }, + { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646, upload-time = "2025-01-29T04:15:38.082Z" }, +] + +[[package]] +name = "boto3" +version = "1.38.32" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c8/85/abba429fe0fc0b87db20b7b311deec062c613c5e74cfcaab2ad34e864bbf/boto3-1.38.32.tar.gz", hash = "sha256:3faa2c328a61745f3215a63039606a6fcf55d9afe1cc76e3a5e27b9db58cdbf6", size = 111874, upload-time = "2025-06-06T19:37:01.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/59/1a/2be51f4ac8592c2ccf699a17be7bb92c0aff8ce89fe2ffd657948b32bfeb/boto3-1.38.32-py3-none-any.whl", hash = "sha256:b998edac72f6740bd5d9d585cf3880f2dfeb4842e626b34430fd0e9623378011", size = 139940, upload-time = "2025-06-06T19:36:57.738Z" }, +] + +[[package]] +name = "botocore" +version = "1.38.32" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/c2/c4c23c7ad746aba6edfa93ec9e6e14195efcf786425486f6a1b442734a8d/botocore-1.38.32.tar.gz", hash = "sha256:0899a090e352cb5eeaae2c7bb52a987b469d23912c7ece86664dfb5c2e074978", size = 13948764, upload-time = "2025-06-06T19:36:47.959Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/6e/104f66963c9d2dc8d5ba4675535aca5ba5277eb3535047e004275329fc87/botocore-1.38.32-py3-none-any.whl", hash = "sha256:64ab919a5d8b74dd73eaac1f978d0e674d11ff3bbe8815c3d2982477be9a082c", size = 13608384, upload-time = "2025-06-06T19:36:43.805Z" }, +] + +[[package]] +name = "botocore-stubs" +version = "1.38.30" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "types-awscrt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b2/df/9bf9f6346daf1cbcb736a12417efe025ed63d72a015799f4e8f26a823b93/botocore_stubs-1.38.30.tar.gz", hash = "sha256:291d7bf39a316c00a8a55b7255489b02c0cea1a343482e7784e8d1e235bae995", size = 42299, upload-time = "2025-06-04T20:14:50.799Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/71/cc9bc544489160cbacc8472b70ba0f9b93385628ed8bd0f673855b7ceeb7/botocore_stubs-1.38.30-py3-none-any.whl", hash = "sha256:2efb8bdf36504aff596c670d875d8f7dd15205277c15c4cea54afdba8200c266", size = 65628, upload-time = "2025-06-04T20:14:48.089Z" }, +] + +[[package]] +name = "certifi" +version = "2025.4.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191, upload-time = "2024-09-04T20:43:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592, upload-time = "2024-09-04T20:43:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024, upload-time = "2024-09-04T20:43:34.186Z" }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188, upload-time = "2024-09-04T20:43:36.286Z" }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571, upload-time = "2024-09-04T20:43:38.586Z" }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687, upload-time = "2024-09-04T20:43:40.084Z" }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211, upload-time = "2024-09-04T20:43:41.526Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325, upload-time = "2024-09-04T20:43:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784, upload-time = "2024-09-04T20:43:45.256Z" }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564, upload-time = "2024-09-04T20:43:46.779Z" }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804, upload-time = "2024-09-04T20:43:48.186Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299, upload-time = "2024-09-04T20:43:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", size = 201818, upload-time = "2025-05-02T08:31:46.725Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", size = 144649, upload-time = "2025-05-02T08:31:48.889Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", size = 155045, upload-time = "2025-05-02T08:31:50.757Z" }, + { url = "https://files.pythonhosted.org/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", size = 147356, upload-time = "2025-05-02T08:31:52.634Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", size = 149471, upload-time = "2025-05-02T08:31:56.207Z" }, + { url = "https://files.pythonhosted.org/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", size = 151317, upload-time = "2025-05-02T08:31:57.613Z" }, + { url = "https://files.pythonhosted.org/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", size = 146368, upload-time = "2025-05-02T08:31:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", size = 154491, upload-time = "2025-05-02T08:32:01.219Z" }, + { url = "https://files.pythonhosted.org/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", size = 157695, upload-time = "2025-05-02T08:32:03.045Z" }, + { url = "https://files.pythonhosted.org/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", size = 154849, upload-time = "2025-05-02T08:32:04.651Z" }, + { url = "https://files.pythonhosted.org/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", size = 150091, upload-time = "2025-05-02T08:32:06.719Z" }, + { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445, upload-time = "2025-05-02T08:32:08.66Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782, upload-time = "2025-05-02T08:32:10.46Z" }, + { url = "https://files.pythonhosted.org/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", size = 198794, upload-time = "2025-05-02T08:32:11.945Z" }, + { url = "https://files.pythonhosted.org/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", size = 142846, upload-time = "2025-05-02T08:32:13.946Z" }, + { url = "https://files.pythonhosted.org/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", size = 153350, upload-time = "2025-05-02T08:32:15.873Z" }, + { url = "https://files.pythonhosted.org/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", size = 145657, upload-time = "2025-05-02T08:32:17.283Z" }, + { url = "https://files.pythonhosted.org/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f", size = 147260, upload-time = "2025-05-02T08:32:18.807Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", size = 149164, upload-time = "2025-05-02T08:32:20.333Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", size = 144571, upload-time = "2025-05-02T08:32:21.86Z" }, + { url = "https://files.pythonhosted.org/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", size = 151952, upload-time = "2025-05-02T08:32:23.434Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", size = 155959, upload-time = "2025-05-02T08:32:24.993Z" }, + { url = "https://files.pythonhosted.org/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", size = 153030, upload-time = "2025-05-02T08:32:26.435Z" }, + { url = "https://files.pythonhosted.org/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", size = 148015, upload-time = "2025-05-02T08:32:28.376Z" }, + { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106, upload-time = "2025-05-02T08:32:30.281Z" }, + { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402, upload-time = "2025-05-02T08:32:32.191Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" }, + { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" }, + { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" }, + { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" }, + { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" }, + { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" }, + { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" }, + { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" }, + { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +] + +[[package]] +name = "clarabel" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/13/f4/77cd8679ab6787fb19f69f79a9a3b1676710a0903d2ca95bbdb7f40f10ef/clarabel-0.11.0.tar.gz", hash = "sha256:7a8ee6fe74eb7e7ba457b664e312e6953dec4bd1651d4725f5b5bcff5ef4dbc1", size = 253810, upload-time = "2025-05-23T17:59:30.434Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/e4/2e4d2db51fd106f54f0cd3e2d374732b63ca3c7c0c7c4587f56588237e18/clarabel-0.11.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e7cdc7ff5bebf04999fb990b740b7a9ec6e266382af406c8aa75aa3031ed219a", size = 1041064, upload-time = "2025-05-23T17:59:21.051Z" }, + { url = "https://files.pythonhosted.org/packages/35/17/3ac27e01ccf250c6f9df296f9787788db259b05bd715bc090b3e8661b2d2/clarabel-0.11.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:85bb474ba3c590fac47985d3dd19519ea247b77b62f1e1afb93c728799a594a2", size = 961333, upload-time = "2025-05-23T17:59:22.743Z" }, + { url = "https://files.pythonhosted.org/packages/e8/8d/1a933b8db929e2ce1f33bb9534c3fb0d1c83908d23d89d129a07a3f13536/clarabel-0.11.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:763cb448ba337e593bab1d442b671c854b85981ae551e6a64209fc864985098a", size = 1078244, upload-time = "2025-05-23T17:59:24.516Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e8/361054c5d77185e780d126c4ef1520d7438863bb5b30c2f1fe6355b53a47/clarabel-0.11.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a08bb648b2cddce8ff80acb065da54aa80a76cf90ae1f2176f15a640f042cc2c", size = 1164905, upload-time = "2025-05-23T17:59:26.655Z" }, + { url = "https://files.pythonhosted.org/packages/19/89/d4caad4f3851e317e423359d31d9862b08321fd61db6281edb80455ca562/clarabel-0.11.0-cp39-abi3-win_amd64.whl", hash = "sha256:6b804f99741719531b7a8ce7e44c8162b4cac7782334ea48dad0c48d6904f7d7", size = 892575, upload-time = "2025-05-23T17:59:28.389Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "cvxpy" +version = "1.6.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "clarabel" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "osqp" }, + { name = "scipy" }, + { name = "scs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6c/9e/0aeb94d435f4aad947b45eb9354fba31b23066b5ed78c42bbf71a9e4105e/cvxpy-1.6.5.tar.gz", hash = "sha256:666081b9c1f6db8947bcfc3c6f250174f934fa1ba8e30b38e3d32eba779ff785", size = 1610956, upload-time = "2025-04-13T02:53:40.27Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/d4/6fcae39e6be6556f49752e1b2d1ccdfea1e9599aa086adfb7f038019c771/cvxpy-1.6.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:26ac571ffed3f98ad59c2ddfb88eaad7280003faa96b5f509c353e46fb79e787", size = 1485548, upload-time = "2025-04-13T02:56:38.546Z" }, + { url = "https://files.pythonhosted.org/packages/6a/00/e1a1f8ca3ec4410e9d17b3190f73b00ac404c3b22577c6458a53e74191ba/cvxpy-1.6.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b35a3b5c6c7b43b85179ee77d895ac7a49afdccbe7ebcf60f5f74cd9186cedd8", size = 1151746, upload-time = "2025-04-13T02:56:39.738Z" }, + { url = "https://files.pythonhosted.org/packages/5f/a9/0b56ee6107410548914dcb6ad041b3aed1cf0f75e8ade3cc0690290f59da/cvxpy-1.6.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:374b18b023a9266d888bf753b6f012d1e58199bb9ba7d2e71bcbbd1f2c677ddf", size = 1204806, upload-time = "2025-04-13T02:53:26.252Z" }, + { url = "https://files.pythonhosted.org/packages/de/81/8e6b99e5f53bfd107cea01dbbbcc2bd832146b6bf313b632cf5be0c90f79/cvxpy-1.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2e39e83fab103c049209d93e38a439c9ce0d09b59874c1b026c82b655aad2d9", size = 1229089, upload-time = "2025-04-13T02:53:27.661Z" }, + { url = "https://files.pythonhosted.org/packages/b9/90/9c36f1274d7fe055c5bd190fc197d62695e29fe715a3ce7be50d56c2e992/cvxpy-1.6.5-cp310-cp310-win_amd64.whl", hash = "sha256:ff94cad9bcb0897bdecadd0b34836fba7d44b5c95237837132f09f979dadafe0", size = 1096536, upload-time = "2025-04-13T02:43:50.643Z" }, + { url = "https://files.pythonhosted.org/packages/c5/43/eb11a345f504c600add4e58f7420d19630b11903db053e00f8dce7b0ec4c/cvxpy-1.6.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9dfc3fda013b7387e4d8820d01c81739330519231254b73dfaa79bebdd509937", size = 1487826, upload-time = "2025-04-13T02:57:29.389Z" }, + { url = "https://files.pythonhosted.org/packages/66/e4/e38fa091c4a3bdeaec92c31764e92382956d82f6997b481b9ec894c7b188/cvxpy-1.6.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7a7debf1bf36550c74bc6b5625592a9bec92d9f3a884b7e0a9d49f9e302ce6e4", size = 1153256, upload-time = "2025-04-13T02:57:30.574Z" }, + { url = "https://files.pythonhosted.org/packages/72/21/199abe12ba335c989574ccf12113b27ddfdfd67d888f74163323164a5b95/cvxpy-1.6.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93d898722b772438ae7e41b043d89d5896ff33c0ba764429c0282dc7e7db80e6", size = 1206204, upload-time = "2025-04-13T02:53:34.638Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ed/9cf4defd1ddd44a96b54c7482117de5d032ab44e473de2517027735db360/cvxpy-1.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de121b64c4a876a0d1b005fbd68a893f0fc8640d2d02f58f2f3f0941f48a6742", size = 1230283, upload-time = "2025-04-13T02:53:36.373Z" }, + { url = "https://files.pythonhosted.org/packages/11/3f/9f58f7e6537b35c10b5de30a3d6496f765e65ede72fa35db3ac76512e1f0/cvxpy-1.6.5-cp311-cp311-win_amd64.whl", hash = "sha256:9752baf15c2339c24d4d8bd974563c14f7cc8020a338d31dbcb80149fcbb7971", size = 1097721, upload-time = "2025-04-13T02:43:30.057Z" }, + { url = "https://files.pythonhosted.org/packages/30/ae/4acbab3ab701ec0873d54c2d704472cbbbe58d29090f28685ad1df4028ae/cvxpy-1.6.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4c3365de01866f3f3a14f2c754d52f1aa361184c4f5f004b7257622b2c177237", size = 1490248, upload-time = "2025-04-13T02:58:36.616Z" }, + { url = "https://files.pythonhosted.org/packages/40/a5/39ae4adec78e063e5a5a3f751701ff5d72d5b1548712771ec337b35883d5/cvxpy-1.6.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9f70e39a41e1691783a4e55a73440f9e68b852fe0e0498c4d0c5a1505f3a2640", size = 1154518, upload-time = "2025-04-13T02:58:38.005Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ba/ab502c2cc25e4b6eeaf7833b6bef5f1a5aa14c394a9bf9822bdcd7efcf9d/cvxpy-1.6.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:579b0039fa097e2e20272028bd2d4b592de7c67e60fd8eb6991629b5d53204a2", size = 1205970, upload-time = "2025-04-13T02:53:36.889Z" }, + { url = "https://files.pythonhosted.org/packages/27/e7/56c6fea9afc1ff1a8abcd60a40a21370bea37b620902237045b5083b9044/cvxpy-1.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a82c6de45a39065dd8c5ff5b30bee21b09ca85eac6b6dcbd3f5ed1b19986bec1", size = 1231908, upload-time = "2025-04-13T02:53:39.057Z" }, + { url = "https://files.pythonhosted.org/packages/de/0c/d0dd074b17076665e5a28145944c88eac07e8ecf05d8ece9a06dbd495b8b/cvxpy-1.6.5-cp312-cp312-win_amd64.whl", hash = "sha256:436aed23d0ca84df81944018d971cf8bda8f19bfa2362ae3c540313d5183eca6", size = 1098416, upload-time = "2025-04-13T02:43:04.189Z" }, +] + +[[package]] +name = "deepdiff" +version = "8.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "orderly-set" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/0f/9cd2624f7dcd755cbf1fa21fb7234541f19a1be96a56f387ec9053ebe220/deepdiff-8.5.0.tar.gz", hash = "sha256:a4dd3529fa8d4cd5b9cbb6e3ea9c95997eaa919ba37dac3966c1b8f872dc1cd1", size = 538517, upload-time = "2025-05-09T18:44:10.035Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/3b/2e0797200c51531a6d8c97a8e4c9fa6fb56de7e6e2a15c1c067b6b10a0b0/deepdiff-8.5.0-py3-none-any.whl", hash = "sha256:d4599db637f36a1c285f5fdfc2cd8d38bde8d8be8636b65ab5e425b67c54df26", size = 85112, upload-time = "2025-05-09T18:44:07.784Z" }, +] + +[[package]] +name = "distro" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" }, +] + +[[package]] +name = "ecos" +version = "2.0.14" +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.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/5f/17716c533da95ed110815b159efa22b1064c8c41fd5c862f21aff7a7fec0/ecos-2.0.14.tar.gz", hash = "sha256:64b3201c0e0a7f0129050557c4ac50b00031e80a10534506dba1200c8dc1efe4", size = 142430, upload-time = "2024-06-18T03:48:34.809Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/25/80b44247ec5ad98ce8acec5b8b9cb73a43e4367cdc679769be109c1e2ae0/ecos-2.0.14-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d16f8c97c42a18be77530b4d0090d8dd38105ae311518fc58a66c5c403d79672", size = 92599, upload-time = "2024-06-18T03:48:10.336Z" }, + { url = "https://files.pythonhosted.org/packages/aa/14/e6a1692aea5647cf29988a351b1a5effe53421504e8648a4a1f04721120a/ecos-2.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9a977976ec618261456d6c9cd4ec7b7745607e448e78cd0c851190c6cc515ef", size = 218904, upload-time = "2024-06-18T03:47:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/55/54/5424e7865d171b5ebd436fabdf66cdcf05bcfe5528ef5a45a02bca008dc9/ecos-2.0.14-cp310-cp310-win_amd64.whl", hash = "sha256:f2e8ab314609117f7e96bb83db7458f011ab0496c61078e146a8f5c8244e70b2", size = 72198, upload-time = "2024-06-18T03:48:51.212Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9b/c886a268d4b7adfaa1171244cdbfa3c944e5a599fe7a5e738ee27390ab20/ecos-2.0.14-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dc90b54eaae16ead128bfdd95e04bf808b73578bdf40ed652c55aa36a6d02e42", size = 92594, upload-time = "2024-06-18T03:47:51.721Z" }, + { url = "https://files.pythonhosted.org/packages/49/e9/fae34e8ef6a9b78c3098a4428ed0e8f77cdeb334a7dc17c649abb686ed08/ecos-2.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8be3b4856838ae351fec40fb3589181d52b41cf75bf4d35342686a508c37a6", size = 220084, upload-time = "2024-06-18T03:47:47.343Z" }, + { url = "https://files.pythonhosted.org/packages/2f/45/1e52519d6c29dd26bbfaf92ece5b45ca3de3b7c8b2615a818aaeadb7ad63/ecos-2.0.14-cp311-cp311-win_amd64.whl", hash = "sha256:7495b3031ccc2d4cec72cdb40aed8a2d1fdd734fe40519b7e6047aead5e811cf", size = 72199, upload-time = "2024-06-18T03:49:07.772Z" }, + { url = "https://files.pythonhosted.org/packages/af/c3/84e392f2410f51fa557198937cc52a2e80f887c517ef4e3fb6d46e3bb008/ecos-2.0.14-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4a7e2704a3ef9acfb8146d594deff9942d3a0f0d0399de8fe2e0bd95e8b0855c", size = 92545, upload-time = "2024-06-18T03:47:50.589Z" }, + { url = "https://files.pythonhosted.org/packages/82/12/42f4d953f9284571726b085f99e13bfa84522bf63bf2e7a81460013b09e6/ecos-2.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3cbb1a66ecf10955a1a4bcd6b99db55148000cb79fd176bfac26d98b21a4814", size = 222132, upload-time = "2024-06-18T03:47:47.498Z" }, + { url = "https://files.pythonhosted.org/packages/56/9a/ca30572f3e3ff3cef6a0ea8aa6cdc12c36f9fefe559f65c7d6265713196a/ecos-2.0.14-cp312-cp312-win_amd64.whl", hash = "sha256:718eb62afb8e45426bcc365ebaf3ca9f610afcbb754de6073ef5f104da8fca1f", size = 72248, upload-time = "2024-06-18T03:48:51.504Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[package]] +name = "fastapi" +version = "0.115.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "starlette" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236, upload-time = "2025-03-23T22:55:43.822Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164, upload-time = "2025-03-23T22:55:42.101Z" }, +] + +[[package]] +name = "filetype" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/29/745f7d30d47fe0f251d3ad3dc2978a23141917661998763bebb6da007eb1/filetype-1.2.0.tar.gz", hash = "sha256:66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb", size = 998020, upload-time = "2022-11-02T17:34:04.141Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/79/1b8fa1bb3568781e84c9200f951c735f3f157429f44be0495da55894d620/filetype-1.2.0-py2.py3-none-any.whl", hash = "sha256:7ce71b6880181241cf7ac8697a2f1eb6a8bd9b429f7ad6d27b8db9ba5f1c2d25", size = 19970, upload-time = "2022-11-02T17:34:01.425Z" }, +] + +[[package]] +name = "frozenlist" +version = "1.6.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5b/bf/a812e2fe6cb3f6c6cfc8d0303bf1742f2286004e5ec41ac8c89cf68cdb54/frozenlist-1.6.2.tar.gz", hash = "sha256:effc641518696471cf4962e8e32050133bc1f7b2851ae8fd0cb8797dd70dc202", size = 43108, upload-time = "2025-06-03T21:48:04.467Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/40/50405db036e352782f9b8859b60d2d8ec13fd16faf91c4689b934fabf2a9/frozenlist-1.6.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:92836b9903e52f787f4f4bfc6cf3b03cf19de4cbc09f5969e58806f876d8647f", size = 85687, upload-time = "2025-06-03T21:45:13.062Z" }, + { url = "https://files.pythonhosted.org/packages/55/b2/96b0ad9d16d0dcd9b9d328ed74523276b0600092de510544a2cd9954232a/frozenlist-1.6.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3af419982432a13a997451e611ff7681a4fbf81dca04f70b08fc51106335ff0", size = 49799, upload-time = "2025-06-03T21:45:14.684Z" }, + { url = "https://files.pythonhosted.org/packages/85/5d/be51dc5ad29b0dcb27d5e9f1cc6af93e0dc00249bae33016a5e72328c9e6/frozenlist-1.6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1570ba58f0852a6e6158d4ad92de13b9aba3474677c3dee827ba18dcf439b1d8", size = 48396, upload-time = "2025-06-03T21:45:16.549Z" }, + { url = "https://files.pythonhosted.org/packages/9d/36/e33a7ecafa8be33d251e92780d028090a4694160ed0f7b4dde5ac91698fc/frozenlist-1.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0de575df0135949c4049ae42db714c43d1693c590732abc78c47a04228fc1efb", size = 225206, upload-time = "2025-06-03T21:45:18.671Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1c/07f56515c785c3b861173d2e0e73c614acc4a4f11b0e8f33bf74f8613083/frozenlist-1.6.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2b6eaba27ec2b3c0af7845619a425eeae8d510d5cc83fb3ef80569129238153b", size = 220009, upload-time = "2025-06-03T21:45:20.72Z" }, + { url = "https://files.pythonhosted.org/packages/67/78/1427ecc0223fe59e3320bed93fda9b6b4ca7fb3ac9c40e1453a0f2c3bdac/frozenlist-1.6.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af1ee5188d2f63b4f09b67cf0c60b8cdacbd1e8d24669eac238e247d8b157581", size = 235243, upload-time = "2025-06-03T21:45:22.269Z" }, + { url = "https://files.pythonhosted.org/packages/15/c7/597f042562daffcada159807cf6539363f797777ee80e855c2aa84d4fed9/frozenlist-1.6.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9179c5186eb996c0dd7e4c828858ade4d7a8d1d12dd67320675a6ae7401f2647", size = 228925, upload-time = "2025-06-03T21:45:24.102Z" }, + { url = "https://files.pythonhosted.org/packages/a7/32/736cd296a4792826bc38764d5bd0442b51dbaad3c1a4f5cea01b17df9960/frozenlist-1.6.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38814ebc3c6bb01dc3bb4d6cffd0e64c19f4f2d03e649978aeae8e12b81bdf43", size = 211781, upload-time = "2025-06-03T21:45:25.983Z" }, + { url = "https://files.pythonhosted.org/packages/f1/cc/041c88e1cdcb176a99b0c1194e1e387ebaeebaae77d1d41938f06b124e74/frozenlist-1.6.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dbcab0531318fc9ca58517865fae63a2fe786d5e2d8f3a56058c29831e49f13", size = 224409, upload-time = "2025-06-03T21:45:27.411Z" }, + { url = "https://files.pythonhosted.org/packages/80/1b/3b60600ae89b7b3d5b3c95423b22fd4b54c966fe0b1f9dee9137019cf9ec/frozenlist-1.6.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7472e477dc5d6a000945f45b6e38cbb1093fdec189dc1e98e57f8ab53f8aa246", size = 227850, upload-time = "2025-06-03T21:45:29.336Z" }, + { url = "https://files.pythonhosted.org/packages/77/e3/cd0d75e1c395b08010b94916e8650dd5bd5f25153147b0bb9fda9ecbb94a/frozenlist-1.6.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:17c230586d47332774332af86cc1e69ee095731ec70c27e5698dfebb9db167a0", size = 237819, upload-time = "2025-06-03T21:45:31.164Z" }, + { url = "https://files.pythonhosted.org/packages/38/c9/2681be06d34a993782bcc8a7d4d0c2d0970cd1f8c919d5b963ecec3bf4da/frozenlist-1.6.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:946a41e095592cf1c88a1fcdd154c13d0ef6317b371b817dc2b19b3d93ca0811", size = 218407, upload-time = "2025-06-03T21:45:32.612Z" }, + { url = "https://files.pythonhosted.org/packages/c6/c1/81f6f745e273454daecc29f06a571cd253f1bf7fc2b49e22a14636539bee/frozenlist-1.6.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d90c9b36c669eb481de605d3c2da02ea98cba6a3f5e93b3fe5881303026b2f14", size = 235941, upload-time = "2025-06-03T21:45:34.492Z" }, + { url = "https://files.pythonhosted.org/packages/99/a1/0bc9000642c05a19c7e0b9bb6f636243fc5af9c008e6c3fb31bb1e504738/frozenlist-1.6.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8651dd2d762d6eefebe8450ec0696cf3706b0eb5e46463138931f70c667ba612", size = 235766, upload-time = "2025-06-03T21:45:35.946Z" }, + { url = "https://files.pythonhosted.org/packages/a5/12/77effc4e36f69be8bda2284001417d8c85bf616fb36d9aa19e0bd07e292e/frozenlist-1.6.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:48400e6a09e217346949c034105b0df516a1b3c5aa546913b70b71b646caa9f5", size = 225239, upload-time = "2025-06-03T21:45:37.847Z" }, + { url = "https://files.pythonhosted.org/packages/93/40/f2ee30513783596a07a3e1e80a5d6d2142ef3e4e48c0b1c3f812e741668d/frozenlist-1.6.2-cp310-cp310-win32.whl", hash = "sha256:56354f09082262217f837d91106f1cc204dd29ac895f9bbab33244e2fa948bd7", size = 41105, upload-time = "2025-06-03T21:45:39.187Z" }, + { url = "https://files.pythonhosted.org/packages/80/8c/c37ba3acc222be06c547d843fd68c86cfa230106a50737078b9adac0f372/frozenlist-1.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:3016ff03a332cdd2800f0eed81ca40a2699b2f62f23626e8cf81a2993867978a", size = 45318, upload-time = "2025-06-03T21:45:40.848Z" }, + { url = "https://files.pythonhosted.org/packages/af/40/1c79f0d110f294b27ba248876c0643792824617ddd9eba3ba1bf00bcc0e6/frozenlist-1.6.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb66c5d48b89701b93d58c31a48eb64e15d6968315a9ccc7dfbb2d6dc2c62ab7", size = 87206, upload-time = "2025-06-03T21:45:42.567Z" }, + { url = "https://files.pythonhosted.org/packages/d0/57/1ad332ca25dd379d8659bd38c2164ef53ba980eabac538ef9f73c182b63f/frozenlist-1.6.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8fb9aee4f7b495044b868d7e74fb110d8996e8fddc0bfe86409c7fc7bd5692f0", size = 50514, upload-time = "2025-06-03T21:45:43.814Z" }, + { url = "https://files.pythonhosted.org/packages/ec/a7/bffc1c7089812d432787f5539d59a18298ff1b43c3ac6d9134cb69eba7ab/frozenlist-1.6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:48dde536fc4d8198fad4e211f977b1a5f070e6292801decf2d6bc77b805b0430", size = 49164, upload-time = "2025-06-03T21:45:45.083Z" }, + { url = "https://files.pythonhosted.org/packages/a2/dc/af7b2d190cb8b553032b7b46e582eaad4563d6f3c30b7e2524a7cdfc3e11/frozenlist-1.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91dd2fb760f4a2c04b3330e0191787c3437283f9241f0b379017d4b13cea8f5e", size = 237242, upload-time = "2025-06-03T21:45:46.388Z" }, + { url = "https://files.pythonhosted.org/packages/27/0c/e8fcde735f8b62421f944e08e95191a88a065bb5cdc5e7a1c9b7806adb3f/frozenlist-1.6.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f01f34f8a5c7b4d74a1c65227678822e69801dcf68edd4c11417a7c83828ff6f", size = 228128, upload-time = "2025-06-03T21:45:47.88Z" }, + { url = "https://files.pythonhosted.org/packages/43/ea/0e7bf5c347387724fc4b77ef94cf4ca317f3720ac154adb1a97e8b68d7ef/frozenlist-1.6.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f43f872cc4cfc46d9805d0e71302e9c39c755d5ad7572198cd2ceb3a291176cc", size = 246343, upload-time = "2025-06-03T21:45:49.765Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ce/223a2fbdaaeeb72428063378b11ff356e801a4cf922cccfeb569fe8a21a4/frozenlist-1.6.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f96cc8ab3a73d42bcdb6d9d41c3dceffa8da8273ac54b71304b891e32de8b13", size = 240659, upload-time = "2025-06-03T21:45:51.216Z" }, + { url = "https://files.pythonhosted.org/packages/2f/9e/77c92740b33523b880683872971da1ed6fa4a30a7a84d3f43540d807b792/frozenlist-1.6.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c0b257123320832cce9bea9935c860e4fa625b0e58b10db49fdfef70087df81", size = 221329, upload-time = "2025-06-03T21:45:52.665Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c3/9dcfc63ae15a51132483fc34c2aad0ff32cabeedb6e51324553423cd2449/frozenlist-1.6.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23dc4def97ccc0232f491836050ae664d3d2352bb43ad4cd34cd3399ad8d1fc8", size = 236338, upload-time = "2025-06-03T21:45:54.154Z" }, + { url = "https://files.pythonhosted.org/packages/31/d6/7eaf4bdafa61c227670832f2f21294ecae4505bba25a71a49f16db005a69/frozenlist-1.6.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fcf3663463c040315f025bd6a5f88b3748082cfe111e90fd422f71668c65de52", size = 239097, upload-time = "2025-06-03T21:45:55.599Z" }, + { url = "https://files.pythonhosted.org/packages/59/df/3350e94786babdd906ac7d8ca9646e38a97a81f7e1585b598dcabb6ea178/frozenlist-1.6.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:16b9e7b59ea6eef876a8a5fac084c95fd4bac687c790c4d48c0d53c6bcde54d1", size = 247310, upload-time = "2025-06-03T21:45:57.045Z" }, + { url = "https://files.pythonhosted.org/packages/ea/26/9a09169158ce073d04ff1851242e4f05df93e6eef4161997f9ff05da2f66/frozenlist-1.6.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:308b40d32a98a8d0d09bc28e4cbc13a0b803a0351041d4548564f28f6b148b05", size = 227829, upload-time = "2025-06-03T21:45:58.47Z" }, + { url = "https://files.pythonhosted.org/packages/f1/da/a1e2db77514ffabeeb16c486af74580a1105162206386c6b826a69c0a040/frozenlist-1.6.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:baf585d8968eaad6c1aae99456c40978a9fa822ccbdb36fd4746b581ef338192", size = 247808, upload-time = "2025-06-03T21:46:00.462Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d2/457931890fab0f240d07eed45adc51c7be817d474a791d7f12799a5b93f2/frozenlist-1.6.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4dfdbdb671a6af6ea1a363b210373c8233df3925d9a7fb99beaa3824f6b99656", size = 247343, upload-time = "2025-06-03T21:46:02.491Z" }, + { url = "https://files.pythonhosted.org/packages/47/4c/34a28b01d8dab8f84630ce75004bcb4313866105248f942df5148604eaf0/frozenlist-1.6.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:94916e3acaeb8374d5aea9c37db777c9f0a2b9be46561f5de30064cbbbfae54a", size = 236482, upload-time = "2025-06-03T21:46:04.155Z" }, + { url = "https://files.pythonhosted.org/packages/f7/42/f18ba85776f5eee10a2bf4890a53dde0f725bb548d7b04618cd3c57546db/frozenlist-1.6.2-cp311-cp311-win32.whl", hash = "sha256:0453e3d2d12616949cb2581068942a0808c7255f2abab0676d2da7db30f9ea11", size = 41249, upload-time = "2025-06-03T21:46:05.731Z" }, + { url = "https://files.pythonhosted.org/packages/0f/75/5dd6547beccdfd7a464b08f4058e353207432cb4cdf316af3f695f204b54/frozenlist-1.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:fb512753c4bbf0af03f6b9c7cc5ecc9bbac2e198a94f61aaabd26c3cf3229c8c", size = 45511, upload-time = "2025-06-03T21:46:07.639Z" }, + { url = "https://files.pythonhosted.org/packages/c3/50/4632c944c57945cc1960e10ab8d6120cefb97bf923fd89052a3bcf8dc605/frozenlist-1.6.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:48544d07404d7fcfccb6cc091922ae10de4d9e512c537c710c063ae8f5662b85", size = 85258, upload-time = "2025-06-03T21:46:08.919Z" }, + { url = "https://files.pythonhosted.org/packages/3a/f4/5be5dbb219f341a4e996588e8841806c1df0c880c440c1171d143c83ce39/frozenlist-1.6.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ee0cf89e7638de515c0bb2e8be30e8e2e48f3be9b6c2f7127bca4a1f35dff45", size = 49620, upload-time = "2025-06-03T21:46:10.658Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fe/6697c1242126dc344840a43bffd5d5013cf5d61b272567f68025274622e1/frozenlist-1.6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e084d838693d73c0fe87d212b91af80c18068c95c3d877e294f165056cedfa58", size = 48129, upload-time = "2025-06-03T21:46:11.93Z" }, + { url = "https://files.pythonhosted.org/packages/b1/cb/aa09a825abeabb8165282f3f79cb3f130847486ee6427d72d742efa604d6/frozenlist-1.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d918b01781c6ebb5b776c18a87dd3016ff979eb78626aaca928bae69a640c3", size = 241513, upload-time = "2025-06-03T21:46:13.26Z" }, + { url = "https://files.pythonhosted.org/packages/2c/a3/9c22011770ea8b423adf0e12ec34200cf68ff444348d6c7c3466acc6be53/frozenlist-1.6.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e2892d9ab060a847f20fab83fdb886404d0f213f648bdeaebbe76a6134f0973d", size = 234019, upload-time = "2025-06-03T21:46:14.727Z" }, + { url = "https://files.pythonhosted.org/packages/88/39/83c077661ba708d28859dc01d299c9272c9adeb4b9e58dba85da2271cb08/frozenlist-1.6.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbd2225d7218e7d386f4953d11484b0e38e5d134e85c91f0a6b0f30fb6ae25c4", size = 247035, upload-time = "2025-06-03T21:46:16.706Z" }, + { url = "https://files.pythonhosted.org/packages/78/9f/7153e16e51ee8d660e907ef43c5a73882e3dc96582f70b00ece7d8a69b43/frozenlist-1.6.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b679187cba0a99f1162c7ec1b525e34bdc5ca246857544d16c1ed234562df80", size = 244126, upload-time = "2025-06-03T21:46:18.253Z" }, + { url = "https://files.pythonhosted.org/packages/71/1f/e8e6b72f3b285f8a6cfe4c01d14c4bbbf477c40868c8386bd9617298c696/frozenlist-1.6.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bceb7bd48849d4b76eac070a6d508aa3a529963f5d9b0a6840fd41fb381d5a09", size = 224463, upload-time = "2025-06-03T21:46:20.177Z" }, + { url = "https://files.pythonhosted.org/packages/69/b5/20ab79daba2e787c3426f6fa7bb2114edfcdffa4cfb2dd1c8e84f6964519/frozenlist-1.6.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b1b79ae86fdacc4bf842a4e0456540947abba64a84e61b5ae24c87adb089db", size = 240225, upload-time = "2025-06-03T21:46:21.615Z" }, + { url = "https://files.pythonhosted.org/packages/02/46/5d2e14cec6f577426f53e8726f824028da55703a5a6b41c6eb7a3cdf1372/frozenlist-1.6.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6c5c3c575148aa7308a38709906842039d7056bf225da6284b7a11cf9275ac5d", size = 237668, upload-time = "2025-06-03T21:46:23.143Z" }, + { url = "https://files.pythonhosted.org/packages/5d/35/d29a3297954c34b69842f63541833eaca71e50fb6ebbafd9eb95babc1508/frozenlist-1.6.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:16263bd677a31fe1a5dc2b803b564e349c96f804a81706a62b8698dd14dbba50", size = 248603, upload-time = "2025-06-03T21:46:28.592Z" }, + { url = "https://files.pythonhosted.org/packages/1e/30/bcb572840d112b22b89d2178168741674ab3766ad507c33e2549fdfee7f0/frozenlist-1.6.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2e51b2054886ff7db71caf68285c2cd936eb7a145a509965165a2aae715c92a7", size = 225855, upload-time = "2025-06-03T21:46:30.151Z" }, + { url = "https://files.pythonhosted.org/packages/ac/33/a0d3f75b126a18deb151f1cfb42ff64bbce22d8651fdda061e4fb56cd9b5/frozenlist-1.6.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ae1785b76f641cce4efd7e6f49ca4ae456aa230383af5ab0d4d3922a7e37e763", size = 246094, upload-time = "2025-06-03T21:46:32.709Z" }, + { url = "https://files.pythonhosted.org/packages/4d/7c/c5140e62f1b878a2982246505ed9461c4238f17fd53237ae25ddc9dbeb8d/frozenlist-1.6.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:30155cc481f73f92f47ab1e858a7998f7b1207f9b5cf3b3cba90ec65a7f224f5", size = 247984, upload-time = "2025-06-03T21:46:35.095Z" }, + { url = "https://files.pythonhosted.org/packages/77/da/32ac9c843ee126f8b2c3b164cf39a1bbf05e7a46e57659fef1db4f35e5dc/frozenlist-1.6.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e1a1d82f2eb3d2875a8d139ae3f5026f7797f9de5dce44f53811ab0a883e85e7", size = 239770, upload-time = "2025-06-03T21:46:36.55Z" }, + { url = "https://files.pythonhosted.org/packages/e0/2f/4c512f0f9db149609c7f7e7be108ddce93131bf56e81adddb64510919573/frozenlist-1.6.2-cp312-cp312-win32.whl", hash = "sha256:84105cb0f3479dfa20b85f459fb2db3b0ee52e2f84e86d447ea8b0de1fb7acdd", size = 40918, upload-time = "2025-06-03T21:46:39.547Z" }, + { url = "https://files.pythonhosted.org/packages/54/c9/abb008594e5474132398aa417522776bee64d1753f98634c97b541938566/frozenlist-1.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:eecc861bd30bc5ee3b04a1e6ebf74ed0451f596d91606843f3edbd2f273e2fe3", size = 45148, upload-time = "2025-06-03T21:46:40.787Z" }, + { url = "https://files.pythonhosted.org/packages/13/be/0ebbb283f2d91b72beaee2d07760b2c47dab875c49c286f5591d3d157198/frozenlist-1.6.2-py3-none-any.whl", hash = "sha256:947abfcc8c42a329bbda6df97a4b9c9cdb4e12c85153b3b57b9d2f02aa5877dc", size = 12582, upload-time = "2025-06-03T21:48:03.201Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "html5lib" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/b6/b55c3f49042f1df3dcd422b7f224f939892ee94f22abcf503a9b7339eaf2/html5lib-1.1.tar.gz", hash = "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f", size = 272215, upload-time = "2020-06-22T23:32:38.834Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/dd/a834df6482147d48e225a49515aabc28974ad5a4ca3215c18a882565b028/html5lib-1.1-py2.py3-none-any.whl", hash = "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d", size = 112173, upload-time = "2020-06-22T23:32:36.781Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "jiter" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759, upload-time = "2025-05-18T19:04:59.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/7e/4011b5c77bec97cb2b572f566220364e3e21b51c48c5bd9c4a9c26b41b67/jiter-0.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cd2fb72b02478f06a900a5782de2ef47e0396b3e1f7d5aba30daeb1fce66f303", size = 317215, upload-time = "2025-05-18T19:03:04.303Z" }, + { url = "https://files.pythonhosted.org/packages/8a/4f/144c1b57c39692efc7ea7d8e247acf28e47d0912800b34d0ad815f6b2824/jiter-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32bb468e3af278f095d3fa5b90314728a6916d89ba3d0ffb726dd9bf7367285e", size = 322814, upload-time = "2025-05-18T19:03:06.433Z" }, + { url = "https://files.pythonhosted.org/packages/63/1f/db977336d332a9406c0b1f0b82be6f71f72526a806cbb2281baf201d38e3/jiter-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8b3e0068c26ddedc7abc6fac37da2d0af16b921e288a5a613f4b86f050354f", size = 345237, upload-time = "2025-05-18T19:03:07.833Z" }, + { url = "https://files.pythonhosted.org/packages/d7/1c/aa30a4a775e8a672ad7f21532bdbfb269f0706b39c6ff14e1f86bdd9e5ff/jiter-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:286299b74cc49e25cd42eea19b72aa82c515d2f2ee12d11392c56d8701f52224", size = 370999, upload-time = "2025-05-18T19:03:09.338Z" }, + { url = "https://files.pythonhosted.org/packages/35/df/f8257abc4207830cb18880781b5f5b716bad5b2a22fb4330cfd357407c5b/jiter-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ed5649ceeaeffc28d87fb012d25a4cd356dcd53eff5acff1f0466b831dda2a7", size = 491109, upload-time = "2025-05-18T19:03:11.13Z" }, + { url = "https://files.pythonhosted.org/packages/06/76/9e1516fd7b4278aa13a2cc7f159e56befbea9aa65c71586305e7afa8b0b3/jiter-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2ab0051160cb758a70716448908ef14ad476c3774bd03ddce075f3c1f90a3d6", size = 388608, upload-time = "2025-05-18T19:03:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/6d/64/67750672b4354ca20ca18d3d1ccf2c62a072e8a2d452ac3cf8ced73571ef/jiter-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03997d2f37f6b67d2f5c475da4412be584e1cec273c1cfc03d642c46db43f8cf", size = 352454, upload-time = "2025-05-18T19:03:14.741Z" }, + { url = "https://files.pythonhosted.org/packages/96/4d/5c4e36d48f169a54b53a305114be3efa2bbffd33b648cd1478a688f639c1/jiter-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c404a99352d839fed80d6afd6c1d66071f3bacaaa5c4268983fc10f769112e90", size = 391833, upload-time = "2025-05-18T19:03:16.426Z" }, + { url = "https://files.pythonhosted.org/packages/0b/de/ce4a6166a78810bd83763d2fa13f85f73cbd3743a325469a4a9289af6dae/jiter-0.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66e989410b6666d3ddb27a74c7e50d0829704ede652fd4c858e91f8d64b403d0", size = 523646, upload-time = "2025-05-18T19:03:17.704Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a6/3bc9acce53466972964cf4ad85efecb94f9244539ab6da1107f7aed82934/jiter-0.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b532d3af9ef4f6374609a3bcb5e05a1951d3bf6190dc6b176fdb277c9bbf15ee", size = 514735, upload-time = "2025-05-18T19:03:19.44Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d8/243c2ab8426a2a4dea85ba2a2ba43df379ccece2145320dfd4799b9633c5/jiter-0.10.0-cp310-cp310-win32.whl", hash = "sha256:da9be20b333970e28b72edc4dff63d4fec3398e05770fb3205f7fb460eb48dd4", size = 210747, upload-time = "2025-05-18T19:03:21.184Z" }, + { url = "https://files.pythonhosted.org/packages/37/7a/8021bd615ef7788b98fc76ff533eaac846322c170e93cbffa01979197a45/jiter-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:f59e533afed0c5b0ac3eba20d2548c4a550336d8282ee69eb07b37ea526ee4e5", size = 207484, upload-time = "2025-05-18T19:03:23.046Z" }, + { url = "https://files.pythonhosted.org/packages/1b/dd/6cefc6bd68b1c3c979cecfa7029ab582b57690a31cd2f346c4d0ce7951b6/jiter-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3bebe0c558e19902c96e99217e0b8e8b17d570906e72ed8a87170bc290b1e978", size = 317473, upload-time = "2025-05-18T19:03:25.942Z" }, + { url = "https://files.pythonhosted.org/packages/be/cf/fc33f5159ce132be1d8dd57251a1ec7a631c7df4bd11e1cd198308c6ae32/jiter-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:558cc7e44fd8e507a236bee6a02fa17199ba752874400a0ca6cd6e2196cdb7dc", size = 321971, upload-time = "2025-05-18T19:03:27.255Z" }, + { url = "https://files.pythonhosted.org/packages/68/a4/da3f150cf1d51f6c472616fb7650429c7ce053e0c962b41b68557fdf6379/jiter-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d613e4b379a07d7c8453c5712ce7014e86c6ac93d990a0b8e7377e18505e98d", size = 345574, upload-time = "2025-05-18T19:03:28.63Z" }, + { url = "https://files.pythonhosted.org/packages/84/34/6e8d412e60ff06b186040e77da5f83bc158e9735759fcae65b37d681f28b/jiter-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f62cf8ba0618eda841b9bf61797f21c5ebd15a7a1e19daab76e4e4b498d515b2", size = 371028, upload-time = "2025-05-18T19:03:30.292Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/9ee86173aae4576c35a2f50ae930d2ccb4c4c236f6cb9353267aa1d626b7/jiter-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:919d139cdfa8ae8945112398511cb7fca58a77382617d279556b344867a37e61", size = 491083, upload-time = "2025-05-18T19:03:31.654Z" }, + { url = "https://files.pythonhosted.org/packages/d9/2c/f955de55e74771493ac9e188b0f731524c6a995dffdcb8c255b89c6fb74b/jiter-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13ddbc6ae311175a3b03bd8994881bc4635c923754932918e18da841632349db", size = 388821, upload-time = "2025-05-18T19:03:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/81/5a/0e73541b6edd3f4aada586c24e50626c7815c561a7ba337d6a7eb0a915b4/jiter-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c440ea003ad10927a30521a9062ce10b5479592e8a70da27f21eeb457b4a9c5", size = 352174, upload-time = "2025-05-18T19:03:34.965Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c0/61eeec33b8c75b31cae42be14d44f9e6fe3ac15a4e58010256ac3abf3638/jiter-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc347c87944983481e138dea467c0551080c86b9d21de6ea9306efb12ca8f606", size = 391869, upload-time = "2025-05-18T19:03:36.436Z" }, + { url = "https://files.pythonhosted.org/packages/41/22/5beb5ee4ad4ef7d86f5ea5b4509f680a20706c4a7659e74344777efb7739/jiter-0.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:13252b58c1f4d8c5b63ab103c03d909e8e1e7842d302473f482915d95fefd605", size = 523741, upload-time = "2025-05-18T19:03:38.168Z" }, + { url = "https://files.pythonhosted.org/packages/ea/10/768e8818538e5817c637b0df52e54366ec4cebc3346108a4457ea7a98f32/jiter-0.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7d1bbf3c465de4a24ab12fb7766a0003f6f9bce48b8b6a886158c4d569452dc5", size = 514527, upload-time = "2025-05-18T19:03:39.577Z" }, + { url = "https://files.pythonhosted.org/packages/73/6d/29b7c2dc76ce93cbedabfd842fc9096d01a0550c52692dfc33d3cc889815/jiter-0.10.0-cp311-cp311-win32.whl", hash = "sha256:db16e4848b7e826edca4ccdd5b145939758dadf0dc06e7007ad0e9cfb5928ae7", size = 210765, upload-time = "2025-05-18T19:03:41.271Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c9/d394706deb4c660137caf13e33d05a031d734eb99c051142e039d8ceb794/jiter-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c9c1d5f10e18909e993f9641f12fe1c77b3e9b533ee94ffa970acc14ded3812", size = 209234, upload-time = "2025-05-18T19:03:42.918Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b5/348b3313c58f5fbfb2194eb4d07e46a35748ba6e5b3b3046143f3040bafa/jiter-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e274728e4a5345a6dde2d343c8da018b9d4bd4350f5a472fa91f66fda44911b", size = 312262, upload-time = "2025-05-18T19:03:44.637Z" }, + { url = "https://files.pythonhosted.org/packages/9c/4a/6a2397096162b21645162825f058d1709a02965606e537e3304b02742e9b/jiter-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7202ae396446c988cb2a5feb33a543ab2165b786ac97f53b59aafb803fef0744", size = 320124, upload-time = "2025-05-18T19:03:46.341Z" }, + { url = "https://files.pythonhosted.org/packages/2a/85/1ce02cade7516b726dd88f59a4ee46914bf79d1676d1228ef2002ed2f1c9/jiter-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ba7722d6748b6920ed02a8f1726fb4b33e0fd2f3f621816a8b486c66410ab2", size = 345330, upload-time = "2025-05-18T19:03:47.596Z" }, + { url = "https://files.pythonhosted.org/packages/75/d0/bb6b4f209a77190ce10ea8d7e50bf3725fc16d3372d0a9f11985a2b23eff/jiter-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:371eab43c0a288537d30e1f0b193bc4eca90439fc08a022dd83e5e07500ed026", size = 369670, upload-time = "2025-05-18T19:03:49.334Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f5/a61787da9b8847a601e6827fbc42ecb12be2c925ced3252c8ffcb56afcaf/jiter-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c675736059020365cebc845a820214765162728b51ab1e03a1b7b3abb70f74c", size = 489057, upload-time = "2025-05-18T19:03:50.66Z" }, + { url = "https://files.pythonhosted.org/packages/12/e4/6f906272810a7b21406c760a53aadbe52e99ee070fc5c0cb191e316de30b/jiter-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c5867d40ab716e4684858e4887489685968a47e3ba222e44cde6e4a2154f959", size = 389372, upload-time = "2025-05-18T19:03:51.98Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ba/77013b0b8ba904bf3762f11e0129b8928bff7f978a81838dfcc958ad5728/jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395bb9a26111b60141757d874d27fdea01b17e8fac958b91c20128ba8f4acc8a", size = 352038, upload-time = "2025-05-18T19:03:53.703Z" }, + { url = "https://files.pythonhosted.org/packages/67/27/c62568e3ccb03368dbcc44a1ef3a423cb86778a4389e995125d3d1aaa0a4/jiter-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6842184aed5cdb07e0c7e20e5bdcfafe33515ee1741a6835353bb45fe5d1bd95", size = 391538, upload-time = "2025-05-18T19:03:55.046Z" }, + { url = "https://files.pythonhosted.org/packages/c0/72/0d6b7e31fc17a8fdce76164884edef0698ba556b8eb0af9546ae1a06b91d/jiter-0.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:62755d1bcea9876770d4df713d82606c8c1a3dca88ff39046b85a048566d56ea", size = 523557, upload-time = "2025-05-18T19:03:56.386Z" }, + { url = "https://files.pythonhosted.org/packages/2f/09/bc1661fbbcbeb6244bd2904ff3a06f340aa77a2b94e5a7373fd165960ea3/jiter-0.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533efbce2cacec78d5ba73a41756beff8431dfa1694b6346ce7af3a12c42202b", size = 514202, upload-time = "2025-05-18T19:03:57.675Z" }, + { url = "https://files.pythonhosted.org/packages/1b/84/5a5d5400e9d4d54b8004c9673bbe4403928a00d28529ff35b19e9d176b19/jiter-0.10.0-cp312-cp312-win32.whl", hash = "sha256:8be921f0cadd245e981b964dfbcd6fd4bc4e254cdc069490416dd7a2632ecc01", size = 211781, upload-time = "2025-05-18T19:03:59.025Z" }, + { url = "https://files.pythonhosted.org/packages/9b/52/7ec47455e26f2d6e5f2ea4951a0652c06e5b995c291f723973ae9e724a65/jiter-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7c7d785ae9dda68c2678532a5a1581347e9c15362ae9f6e68f3fdbfb64f2e49", size = 206176, upload-time = "2025-05-18T19:04:00.305Z" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "joblib" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/fe/0f5a938c54105553436dbff7a61dc4fed4b1b2c98852f8833beaf4d5968f/joblib-1.5.1.tar.gz", hash = "sha256:f4f86e351f39fe3d0d32a9f2c3d8af1ee4cec285aafcb27003dda5205576b444", size = 330475, upload-time = "2025-05-23T12:04:37.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746, upload-time = "2025-05-23T12:04:35.124Z" }, +] + +[[package]] +name = "logfire-api" +version = "3.21.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/3a/d44e4a8e7906821a444fdfd64428a858b26fe222d1c4ed74dcd4d25556f2/logfire_api-3.21.1.tar.gz", hash = "sha256:3af7818c1d831da027667d2eeff8f8993d793eb5063e03d817b8cda90ddca1a8", size = 49362, upload-time = "2025-06-18T12:57:42.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/fe/36c8b8b66834d568d28a87de1cab4cb163f1358ac58dd8a0145db12f04e2/logfire_api-3.21.1-py3-none-any.whl", hash = "sha256:c85888e8f4df806b389c9f851ee5db044e2451dd8813ba0dd6a6c2279a8b8edb", size = 82482, upload-time = "2025-06-18T12:57:39.473Z" }, +] + +[[package]] +name = "magentic" +version = "0.40.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filetype" }, + { name = "logfire-api" }, + { name = "openai" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/0b/f6bcdb904b335ec71e097f034108c45799c24afdbe8ca091c32fcb9f8753/magentic-0.40.0.tar.gz", hash = "sha256:086b2917a9fdf4dac20d51f87616b5be7cb284640c34f837c03405937d8030ba", size = 1775795, upload-time = "2025-06-22T04:59:36.476Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/3c/0a698c8b4d940f1bf7938a13e76576f9f3cf3e02f7735e94befe12ac16ca/magentic-0.40.0-py3-none-any.whl", hash = "sha256:8c786fd623179f34cf2b53d094dac8a37825bbecceff755ddeb2a6adafa737c2", size = 54227, upload-time = "2025-06-22T04:59:34.397Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, +] + +[[package]] +name = "monotonic" +version = "1.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/ca/8e91948b782ddfbd194f323e7e7d9ba12e5877addf04fb2bf8fca38e86ac/monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7", size = 7615, upload-time = "2021-08-11T14:37:28.79Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/67/7e8406a29b6c45be7af7740456f7f37025f0506ae2e05fb9009a53946860/monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c", size = 8154, upload-time = "2021-04-09T21:58:05.122Z" }, +] + +[[package]] +name = "multidict" +version = "6.4.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/91/2f/a3470242707058fe856fe59241eee5635d79087100b7042a867368863a27/multidict-6.4.4.tar.gz", hash = "sha256:69ee9e6ba214b5245031b76233dd95408a0fd57fdb019ddcc1ead4790932a8e8", size = 90183, upload-time = "2025-05-19T14:16:37.381Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/92/0926a5baafa164b5d0ade3cd7932be39310375d7e25c9d7ceca05cb26a45/multidict-6.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8adee3ac041145ffe4488ea73fa0a622b464cc25340d98be76924d0cda8545ff", size = 66052, upload-time = "2025-05-19T14:13:49.944Z" }, + { url = "https://files.pythonhosted.org/packages/b2/54/8a857ae4f8f643ec444d91f419fdd49cc7a90a2ca0e42d86482b604b63bd/multidict-6.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b61e98c3e2a861035aaccd207da585bdcacef65fe01d7a0d07478efac005e028", size = 38867, upload-time = "2025-05-19T14:13:51.92Z" }, + { url = "https://files.pythonhosted.org/packages/9e/5f/63add9069f945c19bc8b217ea6b0f8a1ad9382eab374bb44fae4354b3baf/multidict-6.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:75493f28dbadecdbb59130e74fe935288813301a8554dc32f0c631b6bdcdf8b0", size = 38138, upload-time = "2025-05-19T14:13:53.778Z" }, + { url = "https://files.pythonhosted.org/packages/97/8b/fbd9c0fc13966efdb4a47f5bcffff67a4f2a3189fbeead5766eaa4250b20/multidict-6.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffc3c6a37e048b5395ee235e4a2a0d639c2349dffa32d9367a42fc20d399772", size = 220433, upload-time = "2025-05-19T14:13:55.346Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c4/5132b2d75b3ea2daedb14d10f91028f09f74f5b4d373b242c1b8eec47571/multidict-6.4.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:87cb72263946b301570b0f63855569a24ee8758aaae2cd182aae7d95fbc92ca7", size = 218059, upload-time = "2025-05-19T14:13:56.993Z" }, + { url = "https://files.pythonhosted.org/packages/1a/70/f1e818c7a29b908e2d7b4fafb1d7939a41c64868e79de2982eea0a13193f/multidict-6.4.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bbf7bd39822fd07e3609b6b4467af4c404dd2b88ee314837ad1830a7f4a8299", size = 231120, upload-time = "2025-05-19T14:13:58.333Z" }, + { url = "https://files.pythonhosted.org/packages/b4/7e/95a194d85f27d5ef9cbe48dff9ded722fc6d12fedf641ec6e1e680890be7/multidict-6.4.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1f7cbd4f1f44ddf5fd86a8675b7679176eae770f2fc88115d6dddb6cefb59bc", size = 227457, upload-time = "2025-05-19T14:13:59.663Z" }, + { url = "https://files.pythonhosted.org/packages/25/2b/590ad220968d1babb42f265debe7be5c5c616df6c5688c995a06d8a9b025/multidict-6.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb5ac9e5bfce0e6282e7f59ff7b7b9a74aa8e5c60d38186a4637f5aa764046ad", size = 219111, upload-time = "2025-05-19T14:14:01.019Z" }, + { url = "https://files.pythonhosted.org/packages/e0/f0/b07682b995d3fb5313f339b59d7de02db19ba0c02d1f77c27bdf8212d17c/multidict-6.4.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4efc31dfef8c4eeb95b6b17d799eedad88c4902daba39ce637e23a17ea078915", size = 213012, upload-time = "2025-05-19T14:14:02.396Z" }, + { url = "https://files.pythonhosted.org/packages/24/56/c77b5f36feef2ec92f1119756e468ac9c3eebc35aa8a4c9e51df664cbbc9/multidict-6.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9fcad2945b1b91c29ef2b4050f590bfcb68d8ac8e0995a74e659aa57e8d78e01", size = 225408, upload-time = "2025-05-19T14:14:04.826Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b3/e8189b82af9b198b47bc637766208fc917189eea91d674bad417e657bbdf/multidict-6.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d877447e7368c7320832acb7159557e49b21ea10ffeb135c1077dbbc0816b598", size = 214396, upload-time = "2025-05-19T14:14:06.187Z" }, + { url = "https://files.pythonhosted.org/packages/20/e0/200d14c84e35ae13ee99fd65dc106e1a1acb87a301f15e906fc7d5b30c17/multidict-6.4.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:33a12ebac9f380714c298cbfd3e5b9c0c4e89c75fe612ae496512ee51028915f", size = 222237, upload-time = "2025-05-19T14:14:07.778Z" }, + { url = "https://files.pythonhosted.org/packages/13/f3/bb3df40045ca8262694a3245298732ff431dc781414a89a6a364ebac6840/multidict-6.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0f14ea68d29b43a9bf37953881b1e3eb75b2739e896ba4a6aa4ad4c5b9ffa145", size = 231425, upload-time = "2025-05-19T14:14:09.516Z" }, + { url = "https://files.pythonhosted.org/packages/85/3b/538563dc18514384dac169bcba938753ad9ab4d4c8d49b55d6ae49fb2579/multidict-6.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0327ad2c747a6600e4797d115d3c38a220fdb28e54983abe8964fd17e95ae83c", size = 226251, upload-time = "2025-05-19T14:14:10.82Z" }, + { url = "https://files.pythonhosted.org/packages/56/79/77e1a65513f09142358f1beb1d4cbc06898590b34a7de2e47023e3c5a3a2/multidict-6.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d1a20707492db9719a05fc62ee215fd2c29b22b47c1b1ba347f9abc831e26683", size = 220363, upload-time = "2025-05-19T14:14:12.638Z" }, + { url = "https://files.pythonhosted.org/packages/16/57/67b0516c3e348f8daaa79c369b3de4359a19918320ab82e2e586a1c624ef/multidict-6.4.4-cp310-cp310-win32.whl", hash = "sha256:d83f18315b9fca5db2452d1881ef20f79593c4aa824095b62cb280019ef7aa3d", size = 35175, upload-time = "2025-05-19T14:14:14.805Z" }, + { url = "https://files.pythonhosted.org/packages/86/5a/4ed8fec642d113fa653777cda30ef67aa5c8a38303c091e24c521278a6c6/multidict-6.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:9c17341ee04545fd962ae07330cb5a39977294c883485c8d74634669b1f7fe04", size = 38678, upload-time = "2025-05-19T14:14:16.949Z" }, + { url = "https://files.pythonhosted.org/packages/19/1b/4c6e638195851524a63972c5773c7737bea7e47b1ba402186a37773acee2/multidict-6.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4f5f29794ac0e73d2a06ac03fd18870adc0135a9d384f4a306a951188ed02f95", size = 65515, upload-time = "2025-05-19T14:14:19.767Z" }, + { url = "https://files.pythonhosted.org/packages/25/d5/10e6bca9a44b8af3c7f920743e5fc0c2bcf8c11bf7a295d4cfe00b08fb46/multidict-6.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c04157266344158ebd57b7120d9b0b35812285d26d0e78193e17ef57bfe2979a", size = 38609, upload-time = "2025-05-19T14:14:21.538Z" }, + { url = "https://files.pythonhosted.org/packages/26/b4/91fead447ccff56247edc7f0535fbf140733ae25187a33621771ee598a18/multidict-6.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bb61ffd3ab8310d93427e460f565322c44ef12769f51f77277b4abad7b6f7223", size = 37871, upload-time = "2025-05-19T14:14:22.666Z" }, + { url = "https://files.pythonhosted.org/packages/3b/37/cbc977cae59277e99d15bbda84cc53b5e0c4929ffd91d958347200a42ad0/multidict-6.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e0ba18a9afd495f17c351d08ebbc4284e9c9f7971d715f196b79636a4d0de44", size = 226661, upload-time = "2025-05-19T14:14:24.124Z" }, + { url = "https://files.pythonhosted.org/packages/15/cd/7e0b57fbd4dc2fc105169c4ecce5be1a63970f23bb4ec8c721b67e11953d/multidict-6.4.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9faf1b1dcaadf9f900d23a0e6d6c8eadd6a95795a0e57fcca73acce0eb912065", size = 223422, upload-time = "2025-05-19T14:14:25.437Z" }, + { url = "https://files.pythonhosted.org/packages/f1/01/1de268da121bac9f93242e30cd3286f6a819e5f0b8896511162d6ed4bf8d/multidict-6.4.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a4d1cb1327c6082c4fce4e2a438483390964c02213bc6b8d782cf782c9b1471f", size = 235447, upload-time = "2025-05-19T14:14:26.793Z" }, + { url = "https://files.pythonhosted.org/packages/d2/8c/8b9a5e4aaaf4f2de14e86181a3a3d7b105077f668b6a06f043ec794f684c/multidict-6.4.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:941f1bec2f5dbd51feeb40aea654c2747f811ab01bdd3422a48a4e4576b7d76a", size = 231455, upload-time = "2025-05-19T14:14:28.149Z" }, + { url = "https://files.pythonhosted.org/packages/35/db/e1817dcbaa10b319c412769cf999b1016890849245d38905b73e9c286862/multidict-6.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5f8a146184da7ea12910a4cec51ef85e44f6268467fb489c3caf0cd512f29c2", size = 223666, upload-time = "2025-05-19T14:14:29.584Z" }, + { url = "https://files.pythonhosted.org/packages/4a/e1/66e8579290ade8a00e0126b3d9a93029033ffd84f0e697d457ed1814d0fc/multidict-6.4.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:232b7237e57ec3c09be97206bfb83a0aa1c5d7d377faa019c68a210fa35831f1", size = 217392, upload-time = "2025-05-19T14:14:30.961Z" }, + { url = "https://files.pythonhosted.org/packages/7b/6f/f8639326069c24a48c7747c2a5485d37847e142a3f741ff3340c88060a9a/multidict-6.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:55ae0721c1513e5e3210bca4fc98456b980b0c2c016679d3d723119b6b202c42", size = 228969, upload-time = "2025-05-19T14:14:32.672Z" }, + { url = "https://files.pythonhosted.org/packages/d2/c3/3d58182f76b960eeade51c89fcdce450f93379340457a328e132e2f8f9ed/multidict-6.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:51d662c072579f63137919d7bb8fc250655ce79f00c82ecf11cab678f335062e", size = 217433, upload-time = "2025-05-19T14:14:34.016Z" }, + { url = "https://files.pythonhosted.org/packages/e1/4b/f31a562906f3bd375f3d0e83ce314e4a660c01b16c2923e8229b53fba5d7/multidict-6.4.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0e05c39962baa0bb19a6b210e9b1422c35c093b651d64246b6c2e1a7e242d9fd", size = 225418, upload-time = "2025-05-19T14:14:35.376Z" }, + { url = "https://files.pythonhosted.org/packages/99/89/78bb95c89c496d64b5798434a3deee21996114d4d2c28dd65850bf3a691e/multidict-6.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5b1cc3ab8c31d9ebf0faa6e3540fb91257590da330ffe6d2393d4208e638925", size = 235042, upload-time = "2025-05-19T14:14:36.723Z" }, + { url = "https://files.pythonhosted.org/packages/74/91/8780a6e5885a8770442a8f80db86a0887c4becca0e5a2282ba2cae702bc4/multidict-6.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:93ec84488a384cd7b8a29c2c7f467137d8a73f6fe38bb810ecf29d1ade011a7c", size = 230280, upload-time = "2025-05-19T14:14:38.194Z" }, + { url = "https://files.pythonhosted.org/packages/68/c1/fcf69cabd542eb6f4b892469e033567ee6991d361d77abdc55e3a0f48349/multidict-6.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b308402608493638763abc95f9dc0030bbd6ac6aff784512e8ac3da73a88af08", size = 223322, upload-time = "2025-05-19T14:14:40.015Z" }, + { url = "https://files.pythonhosted.org/packages/b8/85/5b80bf4b83d8141bd763e1d99142a9cdfd0db83f0739b4797172a4508014/multidict-6.4.4-cp311-cp311-win32.whl", hash = "sha256:343892a27d1a04d6ae455ecece12904d242d299ada01633d94c4f431d68a8c49", size = 35070, upload-time = "2025-05-19T14:14:41.904Z" }, + { url = "https://files.pythonhosted.org/packages/09/66/0bed198ffd590ab86e001f7fa46b740d58cf8ff98c2f254e4a36bf8861ad/multidict-6.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:73484a94f55359780c0f458bbd3c39cb9cf9c182552177d2136e828269dee529", size = 38667, upload-time = "2025-05-19T14:14:43.534Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b5/5675377da23d60875fe7dae6be841787755878e315e2f517235f22f59e18/multidict-6.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:dc388f75a1c00000824bf28b7633e40854f4127ede80512b44c3cfeeea1839a2", size = 64293, upload-time = "2025-05-19T14:14:44.724Z" }, + { url = "https://files.pythonhosted.org/packages/34/a7/be384a482754bb8c95d2bbe91717bf7ccce6dc38c18569997a11f95aa554/multidict-6.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:98af87593a666f739d9dba5d0ae86e01b0e1a9cfcd2e30d2d361fbbbd1a9162d", size = 38096, upload-time = "2025-05-19T14:14:45.95Z" }, + { url = "https://files.pythonhosted.org/packages/66/6d/d59854bb4352306145bdfd1704d210731c1bb2c890bfee31fb7bbc1c4c7f/multidict-6.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aff4cafea2d120327d55eadd6b7f1136a8e5a0ecf6fb3b6863e8aca32cd8e50a", size = 37214, upload-time = "2025-05-19T14:14:47.158Z" }, + { url = "https://files.pythonhosted.org/packages/99/e0/c29d9d462d7cfc5fc8f9bf24f9c6843b40e953c0b55e04eba2ad2cf54fba/multidict-6.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:169c4ba7858176b797fe551d6e99040c531c775d2d57b31bcf4de6d7a669847f", size = 224686, upload-time = "2025-05-19T14:14:48.366Z" }, + { url = "https://files.pythonhosted.org/packages/dc/4a/da99398d7fd8210d9de068f9a1b5f96dfaf67d51e3f2521f17cba4ee1012/multidict-6.4.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b9eb4c59c54421a32b3273d4239865cb14ead53a606db066d7130ac80cc8ec93", size = 231061, upload-time = "2025-05-19T14:14:49.952Z" }, + { url = "https://files.pythonhosted.org/packages/21/f5/ac11add39a0f447ac89353e6ca46666847051103649831c08a2800a14455/multidict-6.4.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cf3bd54c56aa16fdb40028d545eaa8d051402b61533c21e84046e05513d5780", size = 232412, upload-time = "2025-05-19T14:14:51.812Z" }, + { url = "https://files.pythonhosted.org/packages/d9/11/4b551e2110cded705a3c13a1d4b6a11f73891eb5a1c449f1b2b6259e58a6/multidict-6.4.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f682c42003c7264134bfe886376299db4cc0c6cd06a3295b41b347044bcb5482", size = 231563, upload-time = "2025-05-19T14:14:53.262Z" }, + { url = "https://files.pythonhosted.org/packages/4c/02/751530c19e78fe73b24c3da66618eda0aa0d7f6e7aa512e46483de6be210/multidict-6.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920f9cf2abdf6e493c519492d892c362007f113c94da4c239ae88429835bad1", size = 223811, upload-time = "2025-05-19T14:14:55.232Z" }, + { url = "https://files.pythonhosted.org/packages/c7/cb/2be8a214643056289e51ca356026c7b2ce7225373e7a1f8c8715efee8988/multidict-6.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:530d86827a2df6504526106b4c104ba19044594f8722d3e87714e847c74a0275", size = 216524, upload-time = "2025-05-19T14:14:57.226Z" }, + { url = "https://files.pythonhosted.org/packages/19/f3/6d5011ec375c09081f5250af58de85f172bfcaafebff286d8089243c4bd4/multidict-6.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ecde56ea2439b96ed8a8d826b50c57364612ddac0438c39e473fafad7ae1c23b", size = 229012, upload-time = "2025-05-19T14:14:58.597Z" }, + { url = "https://files.pythonhosted.org/packages/67/9c/ca510785df5cf0eaf5b2a8132d7d04c1ce058dcf2c16233e596ce37a7f8e/multidict-6.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:dc8c9736d8574b560634775ac0def6bdc1661fc63fa27ffdfc7264c565bcb4f2", size = 226765, upload-time = "2025-05-19T14:15:00.048Z" }, + { url = "https://files.pythonhosted.org/packages/36/c8/ca86019994e92a0f11e642bda31265854e6ea7b235642f0477e8c2e25c1f/multidict-6.4.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7f3d3b3c34867579ea47cbd6c1f2ce23fbfd20a273b6f9e3177e256584f1eacc", size = 222888, upload-time = "2025-05-19T14:15:01.568Z" }, + { url = "https://files.pythonhosted.org/packages/c6/67/bc25a8e8bd522935379066950ec4e2277f9b236162a73548a2576d4b9587/multidict-6.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:87a728af265e08f96b6318ebe3c0f68b9335131f461efab2fc64cc84a44aa6ed", size = 234041, upload-time = "2025-05-19T14:15:03.759Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a0/70c4c2d12857fccbe607b334b7ee28b6b5326c322ca8f73ee54e70d76484/multidict-6.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9f193eeda1857f8e8d3079a4abd258f42ef4a4bc87388452ed1e1c4d2b0c8740", size = 231046, upload-time = "2025-05-19T14:15:05.698Z" }, + { url = "https://files.pythonhosted.org/packages/c1/0f/52954601d02d39742aab01d6b92f53c1dd38b2392248154c50797b4df7f1/multidict-6.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:be06e73c06415199200e9a2324a11252a3d62030319919cde5e6950ffeccf72e", size = 227106, upload-time = "2025-05-19T14:15:07.124Z" }, + { url = "https://files.pythonhosted.org/packages/af/24/679d83ec4379402d28721790dce818e5d6b9f94ce1323a556fb17fa9996c/multidict-6.4.4-cp312-cp312-win32.whl", hash = "sha256:622f26ea6a7e19b7c48dd9228071f571b2fbbd57a8cd71c061e848f281550e6b", size = 35351, upload-time = "2025-05-19T14:15:08.556Z" }, + { url = "https://files.pythonhosted.org/packages/52/ef/40d98bc5f986f61565f9b345f102409534e29da86a6454eb6b7c00225a13/multidict-6.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:5e2bcda30d5009996ff439e02a9f2b5c3d64a20151d34898c000a6281faa3781", size = 38791, upload-time = "2025-05-19T14:15:09.825Z" }, + { url = "https://files.pythonhosted.org/packages/84/5d/e17845bb0fa76334477d5de38654d27946d5b5d3695443987a094a71b440/multidict-6.4.4-py3-none-any.whl", hash = "sha256:bd4557071b561a8b3b6075c3ce93cf9bfb6182cb241805c3d66ced3b75eff4ac", size = 10481, upload-time = "2025-05-19T14:16:36.024Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +] + +[[package]] +name = "numpy" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/db/8e12381333aea300890829a0a36bfa738cac95475d88982d538725143fd9/numpy-2.3.0.tar.gz", hash = "sha256:581f87f9e9e9db2cba2141400e160e9dd644ee248788d6f90636eeb8fd9260a6", size = 20382813, upload-time = "2025-06-07T14:54:32.608Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/5f/df67435257d827eb3b8af66f585223dc2c3f2eb7ad0b50cb1dae2f35f494/numpy-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c3c9fdde0fa18afa1099d6257eb82890ea4f3102847e692193b54e00312a9ae9", size = 21199688, upload-time = "2025-06-07T14:36:52.067Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ce/aad219575055d6c9ef29c8c540c81e1c38815d3be1fe09cdbe53d48ee838/numpy-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46d16f72c2192da7b83984aa5455baee640e33a9f1e61e656f29adf55e406c2b", size = 14359277, upload-time = "2025-06-07T14:37:15.325Z" }, + { url = "https://files.pythonhosted.org/packages/29/6b/2d31da8e6d2ec99bed54c185337a87f8fbeccc1cd9804e38217e92f3f5e2/numpy-2.3.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:a0be278be9307c4ab06b788f2a077f05e180aea817b3e41cebbd5aaf7bd85ed3", size = 5376069, upload-time = "2025-06-07T14:37:25.636Z" }, + { url = "https://files.pythonhosted.org/packages/7d/2a/6c59a062397553ec7045c53d5fcdad44e4536e54972faa2ba44153bca984/numpy-2.3.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:99224862d1412d2562248d4710126355d3a8db7672170a39d6909ac47687a8a4", size = 6913057, upload-time = "2025-06-07T14:37:37.215Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5a/8df16f258d28d033e4f359e29d3aeb54663243ac7b71504e89deeb813202/numpy-2.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2393a914db64b0ead0ab80c962e42d09d5f385802006a6c87835acb1f58adb96", size = 14568083, upload-time = "2025-06-07T14:37:59.337Z" }, + { url = "https://files.pythonhosted.org/packages/0a/92/0528a563dfc2cdccdcb208c0e241a4bb500d7cde218651ffb834e8febc50/numpy-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:7729c8008d55e80784bd113787ce876ca117185c579c0d626f59b87d433ea779", size = 16929402, upload-time = "2025-06-07T14:38:24.343Z" }, + { url = "https://files.pythonhosted.org/packages/e4/2f/e7a8c8d4a2212c527568d84f31587012cf5497a7271ea1f23332142f634e/numpy-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:06d4fb37a8d383b769281714897420c5cc3545c79dc427df57fc9b852ee0bf58", size = 15879193, upload-time = "2025-06-07T14:38:48.007Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c3/dada3f005953847fe35f42ac0fe746f6e1ea90b4c6775e4be605dcd7b578/numpy-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c39ec392b5db5088259c68250e342612db82dc80ce044cf16496cf14cf6bc6f8", size = 18665318, upload-time = "2025-06-07T14:39:15.794Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ae/3f448517dedefc8dd64d803f9d51a8904a48df730e00a3c5fb1e75a60620/numpy-2.3.0-cp311-cp311-win32.whl", hash = "sha256:ee9d3ee70d62827bc91f3ea5eee33153212c41f639918550ac0475e3588da59f", size = 6601108, upload-time = "2025-06-07T14:39:27.176Z" }, + { url = "https://files.pythonhosted.org/packages/8c/4a/556406d2bb2b9874c8cbc840c962683ac28f21efbc9b01177d78f0199ca1/numpy-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:43c55b6a860b0eb44d42341438b03513cf3879cb3617afb749ad49307e164edd", size = 13021525, upload-time = "2025-06-07T14:39:46.637Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ee/bf54278aef30335ffa9a189f869ea09e1a195b3f4b93062164a3b02678a7/numpy-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:2e6a1409eee0cb0316cb64640a49a49ca44deb1a537e6b1121dc7c458a1299a8", size = 10170327, upload-time = "2025-06-07T14:40:02.703Z" }, + { url = "https://files.pythonhosted.org/packages/89/59/9df493df81ac6f76e9f05cdbe013cdb0c9a37b434f6e594f5bd25e278908/numpy-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:389b85335838155a9076e9ad7f8fdba0827496ec2d2dc32ce69ce7898bde03ba", size = 20897025, upload-time = "2025-06-07T14:40:33.558Z" }, + { url = "https://files.pythonhosted.org/packages/2f/86/4ff04335901d6cf3a6bb9c748b0097546ae5af35e455ae9b962ebff4ecd7/numpy-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9498f60cd6bb8238d8eaf468a3d5bb031d34cd12556af53510f05fcf581c1b7e", size = 14129882, upload-time = "2025-06-07T14:40:55.034Z" }, + { url = "https://files.pythonhosted.org/packages/71/8d/a942cd4f959de7f08a79ab0c7e6cecb7431d5403dce78959a726f0f57aa1/numpy-2.3.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:622a65d40d8eb427d8e722fd410ac3ad4958002f109230bc714fa551044ebae2", size = 5110181, upload-time = "2025-06-07T14:41:04.4Z" }, + { url = "https://files.pythonhosted.org/packages/86/5d/45850982efc7b2c839c5626fb67fbbc520d5b0d7c1ba1ae3651f2f74c296/numpy-2.3.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b9446d9d8505aadadb686d51d838f2b6688c9e85636a0c3abaeb55ed54756459", size = 6647581, upload-time = "2025-06-07T14:41:14.695Z" }, + { url = "https://files.pythonhosted.org/packages/1a/c0/c871d4a83f93b00373d3eebe4b01525eee8ef10b623a335ec262b58f4dc1/numpy-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:50080245365d75137a2bf46151e975de63146ae6d79f7e6bd5c0e85c9931d06a", size = 14262317, upload-time = "2025-06-07T14:41:35.862Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f6/bc47f5fa666d5ff4145254f9e618d56e6a4ef9b874654ca74c19113bb538/numpy-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c24bb4113c66936eeaa0dc1e47c74770453d34f46ee07ae4efd853a2ed1ad10a", size = 16633919, upload-time = "2025-06-07T14:42:00.622Z" }, + { url = "https://files.pythonhosted.org/packages/f5/b4/65f48009ca0c9b76df5f404fccdea5a985a1bb2e34e97f21a17d9ad1a4ba/numpy-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4d8d294287fdf685281e671886c6dcdf0291a7c19db3e5cb4178d07ccf6ecc67", size = 15567651, upload-time = "2025-06-07T14:42:24.429Z" }, + { url = "https://files.pythonhosted.org/packages/f1/62/5367855a2018578e9334ed08252ef67cc302e53edc869666f71641cad40b/numpy-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6295f81f093b7f5769d1728a6bd8bf7466de2adfa771ede944ce6711382b89dc", size = 18361723, upload-time = "2025-06-07T14:42:51.167Z" }, + { url = "https://files.pythonhosted.org/packages/d4/75/5baed8cd867eabee8aad1e74d7197d73971d6a3d40c821f1848b8fab8b84/numpy-2.3.0-cp312-cp312-win32.whl", hash = "sha256:e6648078bdd974ef5d15cecc31b0c410e2e24178a6e10bf511e0557eed0f2570", size = 6318285, upload-time = "2025-06-07T14:43:02.052Z" }, + { url = "https://files.pythonhosted.org/packages/bc/49/d5781eaa1a15acb3b3a3f49dc9e2ff18d92d0ce5c2976f4ab5c0a7360250/numpy-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0898c67a58cdaaf29994bc0e2c65230fd4de0ac40afaf1584ed0b02cd74c6fdd", size = 12732594, upload-time = "2025-06-07T14:43:21.071Z" }, + { url = "https://files.pythonhosted.org/packages/c2/1c/6d343e030815c7c97a1f9fbad00211b47717c7fe446834c224bd5311e6f1/numpy-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:bd8df082b6c4695753ad6193018c05aac465d634834dca47a3ae06d4bb22d9ea", size = 9891498, upload-time = "2025-06-07T14:43:36.332Z" }, + { url = "https://files.pythonhosted.org/packages/6a/a2/f8c1133f90eaa1c11bbbec1dc28a42054d0ce74bc2c9838c5437ba5d4980/numpy-2.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:80b46117c7359de8167cc00a2c7d823bdd505e8c7727ae0871025a86d668283b", size = 21070759, upload-time = "2025-06-07T14:51:18.241Z" }, + { url = "https://files.pythonhosted.org/packages/6c/e0/4c05fc44ba28463096eee5ae2a12832c8d2759cc5bcec34ae33386d3ff83/numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:5814a0f43e70c061f47abd5857d120179609ddc32a613138cbb6c4e9e2dbdda5", size = 5301054, upload-time = "2025-06-07T14:51:27.413Z" }, + { url = "https://files.pythonhosted.org/packages/8a/3b/6c06cdebe922bbc2a466fe2105f50f661238ea223972a69c7deb823821e7/numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:ef6c1e88fd6b81ac6d215ed71dc8cd027e54d4bf1d2682d362449097156267a2", size = 6817520, upload-time = "2025-06-07T14:51:38.015Z" }, + { url = "https://files.pythonhosted.org/packages/9d/a3/1e536797fd10eb3c5dbd2e376671667c9af19e241843548575267242ea02/numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33a5a12a45bb82d9997e2c0b12adae97507ad7c347546190a18ff14c28bbca12", size = 14398078, upload-time = "2025-06-07T14:52:00.122Z" }, + { url = "https://files.pythonhosted.org/packages/7c/61/9d574b10d9368ecb1a0c923952aa593510a20df4940aa615b3a71337c8db/numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:54dfc8681c1906d239e95ab1508d0a533c4a9505e52ee2d71a5472b04437ef97", size = 16751324, upload-time = "2025-06-07T14:52:25.077Z" }, + { url = "https://files.pythonhosted.org/packages/39/de/bcad52ce972dc26232629ca3a99721fd4b22c1d2bda84d5db6541913ef9c/numpy-2.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:e017a8a251ff4d18d71f139e28bdc7c31edba7a507f72b1414ed902cbe48c74d", size = 12924237, upload-time = "2025-06-07T14:52:44.713Z" }, +] + +[[package]] +name = "openai" +version = "1.91.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "distro" }, + { name = "httpx" }, + { name = "jiter" }, + { name = "pydantic" }, + { name = "sniffio" }, + { name = "tqdm" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/e2/a22f2973b729eff3f1f429017bdf717930c5de0fbf9e14017bae330e4e7a/openai-1.91.0.tar.gz", hash = "sha256:d6b07730d2f7c6745d0991997c16f85cddfc90ddcde8d569c862c30716b9fc90", size = 472529, upload-time = "2025-06-23T18:27:10.961Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/d2/f99bdd6fc737d6b3cf0df895508d621fc9a386b375a1230ee81d46c5436e/openai-1.91.0-py3-none-any.whl", hash = "sha256:207f87aa3bc49365e014fac2f7e291b99929f4fe126c4654143440e0ad446a5f", size = 735837, upload-time = "2025-06-23T18:27:08.913Z" }, +] + +[[package]] +name = "openbb-ai" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "xxhash" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4f/38/ac12ac3baf98b255acbc8b1cd5c8bb091a1b6610f33c8b985fe6129e0b9e/openbb_ai-1.6.0.tar.gz", hash = "sha256:7d0d2965e67a2d7a2be9c625cc60f294c86e7527792b00833eb4aa89c61188df", size = 15499, upload-time = "2025-06-06T08:59:11.337Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/f6/170ff4ea6b304f8c5a30b356f0114124861f0d488917865d539ee2b97458/openbb_ai-1.6.0-py3-none-any.whl", hash = "sha256:d64d04680d956859d62b94f87a017538827ae47517a24e36f4b13449c767d979", size = 14903, upload-time = "2025-06-06T08:59:10.186Z" }, +] + +[[package]] +name = "openbb-core" +version = "1.4.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp" }, + { name = "fastapi" }, + { name = "html5lib" }, + { name = "importlib-metadata" }, + { name = "pandas" }, + { name = "posthog" }, + { name = "pydantic" }, + { name = "pyjwt" }, + { name = "python-dotenv" }, + { name = "python-multipart" }, + { name = "requests" }, + { name = "ruff" }, + { name = "uuid7" }, + { name = "uvicorn" }, + { name = "websockets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/c0/edd51118e48db134ff44dd4b93428a5d7bbf642d1079f5f595a4d74c7d65/openbb_core-1.4.7.tar.gz", hash = "sha256:0c035cb2fdf7477d2d418ab08ca308d22696a45a9e5d571fd0c2b3797e0176ba", size = 156237, upload-time = "2025-05-05T15:18:57.182Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/33/2e03ed56ee6d0600250e6d0ec6769e895e69d2916ff0f5a3f37a070b88e4/openbb_core-1.4.7-py3-none-any.whl", hash = "sha256:f46b3a1d354f02df1fb802bcbb6b1a0253b576607aeb7ecb9e47561e113b3dd4", size = 293602, upload-time = "2025-05-05T15:18:54.706Z" }, +] + +[[package]] +name = "openbb-equity" +version = "1.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "openbb-core" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/20/aed1835677b7ed1a2186e555001b5e8dcce924cd4c9f849bce92ebb5eccf/openbb_equity-1.4.1.tar.gz", hash = "sha256:56e47b4f5525e4f4a44761f1907c17a60fea40a18739acaadf766fe051a58762", size = 8340, upload-time = "2025-05-01T18:21:50.15Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/be/7debe71265b36716bf535c3509d2ef9187340579edc02d024219dd4c6c66/openbb_equity-1.4.1-py3-none-any.whl", hash = "sha256:962e71ddff9c9a793b266a24c407adba42deb539df8794275b2f3573848e1021", size = 16383, upload-time = "2025-05-01T18:21:48.733Z" }, +] + +[[package]] +name = "openbb-etf" +version = "1.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "openbb-core" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e1/d2/42baf9b154b1f4cf0b68789ffc612ee888863b586e3f1511b895719b4ee5/openbb_etf-1.4.1.tar.gz", hash = "sha256:72f5f0a1a0c386e0d109c8cc1716d764e6d50f96626e9d889504f2db8108fc2d", size = 3120, upload-time = "2025-05-01T18:21:56.089Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/00/81145b93af706a96db16bb700523736693082b4be63ec111391dcb241b1e/openbb_etf-1.4.1-py3-none-any.whl", hash = "sha256:9d3647d726ad143062462ccaa62d438a4863d047cdd524fef1bae65976719de5", size = 5146, upload-time = "2025-05-01T18:21:54.581Z" }, +] + +[[package]] +name = "openbb-fmp" +version = "1.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "openbb-core" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/65/7d/00558f209d666852dce1a7c1d35928406ea0b5bccd6de3cd8938e13e5a15/openbb_fmp-1.4.2.tar.gz", hash = "sha256:eb781312d99789fe67de883a4c149b1ba33c5a2ee6276c0702e9c1f81ee54fc4", size = 49344, upload-time = "2025-05-01T18:24:52.093Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/f6/c92d7e7d09072f1805b6c14900770706edebb8ef6b4b22a9259d2873597a/openbb_fmp-1.4.2-py3-none-any.whl", hash = "sha256:0081f0335a2786b03116d038cb2c95a55fe1b73dc341da9ccb62edf3496c1414", size = 111927, upload-time = "2025-05-01T18:24:50.517Z" }, +] + +[[package]] +name = "openbb-platform-api" +version = "1.1.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "deepdiff" }, + { name = "openbb-core" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/2404046cf258b04e65a6d4437c4fd7128b1e1a1ab42ebb5d8d163fc83aa5/openbb_platform_api-1.1.10.tar.gz", hash = "sha256:8a0cb7dd9f183587a262965cfaa7b7b4098e9fa112614ebdcb5eb40d35e70c84", size = 37870, upload-time = "2025-05-20T22:14:35.591Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/b4/f90e60d9a2a3f96967b2fa480adc7a33eddbaae8bf6809df4a0c61e28cd8/openbb_platform_api-1.1.10-py3-none-any.whl", hash = "sha256:18da196dac5b2be9e7fc8632eaa495826ae1bcfd3365d319c5c8550219919e2c", size = 35943, upload-time = "2025-05-20T22:14:33.907Z" }, +] + +[[package]] +name = "orderly-set" +version = "5.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/03/4a/38030da31c13dcd5a531490006e63a0954083fb115113be9393179738e25/orderly_set-5.4.1.tar.gz", hash = "sha256:a1fb5a4fdc5e234e9e8d8e5c1bbdbc4540f4dfe50d12bf17c8bc5dbf1c9c878d", size = 20943, upload-time = "2025-05-06T22:34:13.512Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/bc/e0dfb4db9210d92b44e49d6e61ba5caefbd411958357fa9d7ff489eeb835/orderly_set-5.4.1-py3-none-any.whl", hash = "sha256:b5e21d21680bd9ef456885db800c5cb4f76a03879880c0175e1b077fb166fd83", size = 12339, upload-time = "2025-05-06T22:34:12.564Z" }, +] + +[[package]] +name = "osqp" +version = "1.0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "joblib" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy" }, + { name = "setuptools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/30/13/c74c50bab7477029daf9fc99455cc9c8b25e50843e44cf096b237d3ac6b2/osqp-1.0.4.tar.gz", hash = "sha256:0877552e325ff4cc1c676796ba482904eb4b66e750eff5b91df3273201f5ed00", size = 56640, upload-time = "2025-05-08T15:16:26.376Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/31/f7814d83a7eff5264e96d062500eb7cade7ff17867dc9934561a0ab52644/osqp-1.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f4f06e1a67c272b8a4a0741020e859a8c67802466597397da2869802eb6a345", size = 311159, upload-time = "2025-05-08T15:15:55.585Z" }, + { url = "https://files.pythonhosted.org/packages/d3/cd/033889ada7047b920206920aec62db104772ee13a9fb338148ead61c3d21/osqp-1.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:738d0b03d350b97c2cfeecc41620082a913e1efd06d2d58e4cc1d54d00ebfac5", size = 290328, upload-time = "2025-05-08T15:15:57.291Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e6/061f1747de56fa24aeb7f4db5da1a5604847fb72c6d1ea410bb46a73f7d6/osqp-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9ce84caf57a0166123c923b5ca4d8f126799351f8454e96e25c339240e2b4db", size = 344566, upload-time = "2025-05-08T15:15:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/84/f2/97bb67a653eb1a1a5e333caf0fb8e71890e56c7f32b7cf0a24927b54adbb/osqp-1.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:67a7af7779be5036d1f1729489781628feaa1dffa33ae44feefa172b6b9e173e", size = 301742, upload-time = "2025-05-08T15:16:00.385Z" }, + { url = "https://files.pythonhosted.org/packages/14/b3/ecaa1638cf8c177f1fe8b79d7c715a2693c61158b47bf3a5269453d0eefe/osqp-1.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:819603a8b6d84e17bbe0e17558235e5dbe3d6b95021550d7da4942aa35b31b60", size = 312670, upload-time = "2025-05-08T15:16:01.879Z" }, + { url = "https://files.pythonhosted.org/packages/b2/37/6e52dbbfedaad4534148853496741739a3430d52231638c84d65dc1a58e7/osqp-1.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e76644654e30edf97eb5d400ffa57f3541b551842921ed9ac16db8f307883d9", size = 291655, upload-time = "2025-05-08T15:16:02.959Z" }, + { url = "https://files.pythonhosted.org/packages/3a/3b/a3332b0f79375bff9a14863f9b32d98428f9300fc171e29b6e4df4850986/osqp-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddd7fc52e01c602f3482878b334eed1b366a9940b2053059968d3d47688de9ef", size = 345271, upload-time = "2025-05-08T15:16:04.582Z" }, + { url = "https://files.pythonhosted.org/packages/a1/85/19e2b49117f7ea20d94129d67c9b982e788ded90c561e0029c42fc7eb0ea/osqp-1.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:c2a2ac69feb009ac43f80f33dfe5b32baaccefd22c6fcb9176b48f755506f120", size = 302883, upload-time = "2025-05-08T15:16:05.833Z" }, + { url = "https://files.pythonhosted.org/packages/f6/0f/e5896586d495c82a37f68e4ba26c10c7969858f6991584f4ddb477e83be4/osqp-1.0.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6432c8ea5db1b334eb20abce2c0eca081edc070ea86ec634bb62e8ca1a014e21", size = 313468, upload-time = "2025-05-08T15:16:07.015Z" }, + { url = "https://files.pythonhosted.org/packages/4b/79/a1e26d05e2026489c0ea76503d8ae614af0cc436d4c9cdedae0f17da6fc3/osqp-1.0.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8510861708fe664a0942bccfea4b3ea566b12927e54b415f539c24b8cad095c0", size = 291828, upload-time = "2025-05-08T15:16:08.133Z" }, + { url = "https://files.pythonhosted.org/packages/17/f3/428837a4fee6080bda8017367fc1bef1f61a80144576978cb404be5b6f97/osqp-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a3e3321b11426fa7a33b84f87f8d8608fdcd56c3992739012370f4d475b6a8f", size = 345079, upload-time = "2025-05-08T15:16:09.317Z" }, + { url = "https://files.pythonhosted.org/packages/3c/17/46343994f07d0b629a661274b40632499e4920ee355b67717458d3d2b47e/osqp-1.0.4-cp312-cp312-win_amd64.whl", hash = "sha256:73357ceb0cee581a8a18f32a50dda8954c80374bc94e77c06d8ececb402e2a22", size = 303076, upload-time = "2025-05-08T15:16:11.035Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.0" +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.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/51/48f713c4c728d7c55ef7444ba5ea027c26998d96d1a40953b346438602fc/pandas-2.3.0.tar.gz", hash = "sha256:34600ab34ebf1131a7613a260a61dbe8b62c188ec0ea4c296da7c9a06b004133", size = 4484490, upload-time = "2025-06-05T03:27:54.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/2d/df6b98c736ba51b8eaa71229e8fcd91233a831ec00ab520e1e23090cc072/pandas-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:625466edd01d43b75b1883a64d859168e4556261a5035b32f9d743b67ef44634", size = 11527531, upload-time = "2025-06-05T03:25:48.648Z" }, + { url = "https://files.pythonhosted.org/packages/77/1c/3f8c331d223f86ba1d0ed7d3ed7fcf1501c6f250882489cc820d2567ddbf/pandas-2.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a6872d695c896f00df46b71648eea332279ef4077a409e2fe94220208b6bb675", size = 10774764, upload-time = "2025-06-05T03:25:53.228Z" }, + { url = "https://files.pythonhosted.org/packages/1b/45/d2599400fad7fe06b849bd40b52c65684bc88fbe5f0a474d0513d057a377/pandas-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4dd97c19bd06bc557ad787a15b6489d2614ddaab5d104a0310eb314c724b2d2", size = 11711963, upload-time = "2025-06-05T03:25:56.855Z" }, + { url = "https://files.pythonhosted.org/packages/66/f8/5508bc45e994e698dbc93607ee6b9b6eb67df978dc10ee2b09df80103d9e/pandas-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:034abd6f3db8b9880aaee98f4f5d4dbec7c4829938463ec046517220b2f8574e", size = 12349446, upload-time = "2025-06-05T03:26:01.292Z" }, + { url = "https://files.pythonhosted.org/packages/f7/fc/17851e1b1ea0c8456ba90a2f514c35134dd56d981cf30ccdc501a0adeac4/pandas-2.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23c2b2dc5213810208ca0b80b8666670eb4660bbfd9d45f58592cc4ddcfd62e1", size = 12920002, upload-time = "2025-06-06T00:00:07.925Z" }, + { url = "https://files.pythonhosted.org/packages/a1/9b/8743be105989c81fa33f8e2a4e9822ac0ad4aaf812c00fee6bb09fc814f9/pandas-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:39ff73ec07be5e90330cc6ff5705c651ace83374189dcdcb46e6ff54b4a72cd6", size = 13651218, upload-time = "2025-06-05T03:26:09.731Z" }, + { url = "https://files.pythonhosted.org/packages/26/fa/8eeb2353f6d40974a6a9fd4081ad1700e2386cf4264a8f28542fd10b3e38/pandas-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:40cecc4ea5abd2921682b57532baea5588cc5f80f0231c624056b146887274d2", size = 11082485, upload-time = "2025-06-05T03:26:17.572Z" }, + { url = "https://files.pythonhosted.org/packages/96/1e/ba313812a699fe37bf62e6194265a4621be11833f5fce46d9eae22acb5d7/pandas-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8adff9f138fc614347ff33812046787f7d43b3cef7c0f0171b3340cae333f6ca", size = 11551836, upload-time = "2025-06-05T03:26:22.784Z" }, + { url = "https://files.pythonhosted.org/packages/1b/cc/0af9c07f8d714ea563b12383a7e5bde9479cf32413ee2f346a9c5a801f22/pandas-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e5f08eb9a445d07720776df6e641975665c9ea12c9d8a331e0f6890f2dcd76ef", size = 10807977, upload-time = "2025-06-05T16:50:11.109Z" }, + { url = "https://files.pythonhosted.org/packages/ee/3e/8c0fb7e2cf4a55198466ced1ca6a9054ae3b7e7630df7757031df10001fd/pandas-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa35c266c8cd1a67d75971a1912b185b492d257092bdd2709bbdebe574ed228d", size = 11788230, upload-time = "2025-06-05T03:26:27.417Z" }, + { url = "https://files.pythonhosted.org/packages/14/22/b493ec614582307faf3f94989be0f7f0a71932ed6f56c9a80c0bb4a3b51e/pandas-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a0cc77b0f089d2d2ffe3007db58f170dae9b9f54e569b299db871a3ab5bf46", size = 12370423, upload-time = "2025-06-05T03:26:34.142Z" }, + { url = "https://files.pythonhosted.org/packages/9f/74/b012addb34cda5ce855218a37b258c4e056a0b9b334d116e518d72638737/pandas-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c06f6f144ad0a1bf84699aeea7eff6068ca5c63ceb404798198af7eb86082e33", size = 12990594, upload-time = "2025-06-06T00:00:13.934Z" }, + { url = "https://files.pythonhosted.org/packages/95/81/b310e60d033ab64b08e66c635b94076488f0b6ce6a674379dd5b224fc51c/pandas-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ed16339bc354a73e0a609df36d256672c7d296f3f767ac07257801aa064ff73c", size = 13745952, upload-time = "2025-06-05T03:26:39.475Z" }, + { url = "https://files.pythonhosted.org/packages/25/ac/f6ee5250a8881b55bd3aecde9b8cfddea2f2b43e3588bca68a4e9aaf46c8/pandas-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fa07e138b3f6c04addfeaf56cc7fdb96c3b68a3fe5e5401251f231fce40a0d7a", size = 11094534, upload-time = "2025-06-05T03:26:43.23Z" }, + { url = "https://files.pythonhosted.org/packages/94/46/24192607058dd607dbfacdd060a2370f6afb19c2ccb617406469b9aeb8e7/pandas-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2eb4728a18dcd2908c7fccf74a982e241b467d178724545a48d0caf534b38ebf", size = 11573865, upload-time = "2025-06-05T03:26:46.774Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cc/ae8ea3b800757a70c9fdccc68b67dc0280a6e814efcf74e4211fd5dea1ca/pandas-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9d8c3187be7479ea5c3d30c32a5d73d62a621166675063b2edd21bc47614027", size = 10702154, upload-time = "2025-06-05T16:50:14.439Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ba/a7883d7aab3d24c6540a2768f679e7414582cc389876d469b40ec749d78b/pandas-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ff730713d4c4f2f1c860e36c005c7cefc1c7c80c21c0688fd605aa43c9fcf09", size = 11262180, upload-time = "2025-06-05T16:50:17.453Z" }, + { url = "https://files.pythonhosted.org/packages/01/a5/931fc3ad333d9d87b10107d948d757d67ebcfc33b1988d5faccc39c6845c/pandas-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba24af48643b12ffe49b27065d3babd52702d95ab70f50e1b34f71ca703e2c0d", size = 11991493, upload-time = "2025-06-05T03:26:51.813Z" }, + { url = "https://files.pythonhosted.org/packages/d7/bf/0213986830a92d44d55153c1d69b509431a972eb73f204242988c4e66e86/pandas-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:404d681c698e3c8a40a61d0cd9412cc7364ab9a9cc6e144ae2992e11a2e77a20", size = 12470733, upload-time = "2025-06-06T00:00:18.651Z" }, + { url = "https://files.pythonhosted.org/packages/a4/0e/21eb48a3a34a7d4bac982afc2c4eb5ab09f2d988bdf29d92ba9ae8e90a79/pandas-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6021910b086b3ca756755e86ddc64e0ddafd5e58e076c72cb1585162e5ad259b", size = 13212406, upload-time = "2025-06-05T03:26:55.992Z" }, + { url = "https://files.pythonhosted.org/packages/1f/d9/74017c4eec7a28892d8d6e31ae9de3baef71f5a5286e74e6b7aad7f8c837/pandas-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:094e271a15b579650ebf4c5155c05dcd2a14fd4fdd72cf4854b2f7ad31ea30be", size = 10976199, upload-time = "2025-06-05T03:26:59.594Z" }, +] + +[[package]] +name = "pandas-stubs" +version = "2.2.3.250527" +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.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "types-pytz" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5f/0d/5fe7f7f3596eb1c2526fea151e9470f86b379183d8b9debe44b2098651ca/pandas_stubs-2.2.3.250527.tar.gz", hash = "sha256:e2d694c4e72106055295ad143664e5c99e5815b07190d1ff85b73b13ff019e63", size = 106312, upload-time = "2025-05-27T15:24:29.716Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/f8/46141ba8c9d7064dc5008bfb4a6ae5bd3c30e4c61c28b5c5ed485bf358ba/pandas_stubs-2.2.3.250527-py3-none-any.whl", hash = "sha256:cd0a49a95b8c5f944e605be711042a4dd8550e2c559b43d70ba2c4b524b66163", size = 159683, upload-time = "2025-05-27T15:24:28.4Z" }, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.3.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" }, +] + +[[package]] +name = "plotly" +version = "5.24.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "tenacity" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/4f/428f6d959818d7425a94c190a6b26fbc58035cbef40bf249be0b62a9aedd/plotly-5.24.1.tar.gz", hash = "sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae", size = 9479398, upload-time = "2024-09-12T15:36:31.068Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/ae/580600f441f6fc05218bd6c9d5794f4aef072a7d9093b291f1c50a9db8bc/plotly-5.24.1-py3-none-any.whl", hash = "sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089", size = 19054220, upload-time = "2024-09-12T15:36:24.08Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "posthog" +version = "3.25.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "backoff" }, + { name = "distro" }, + { name = "monotonic" }, + { name = "python-dateutil" }, + { name = "requests" }, + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/a9/ec3bbc23b6f3c23c52e0b5795b1357cca74aa5cfb254213f1e471fef9b4d/posthog-3.25.0.tar.gz", hash = "sha256:9168f3e7a0a5571b6b1065c41b3c171fbc68bfe72c3ac0bfd6e3d2fcdb7df2ca", size = 75968, upload-time = "2025-04-15T21:15:45.552Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/e2/c158366e621562ef224f132e75c1d1c1fce6b078a19f7d8060451a12d4b9/posthog-3.25.0-py2.py3-none-any.whl", hash = "sha256:85db78c13d1ecb11aed06fad53759c4e8fb3633442c2f3d0336bc0ce8a585d30", size = 89115, upload-time = "2025-04-15T21:15:43.934Z" }, +] + +[[package]] +name = "propcache" +version = "0.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/07/c8/fdc6686a986feae3541ea23dcaa661bd93972d3940460646c6bb96e21c40/propcache-0.3.1.tar.gz", hash = "sha256:40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf", size = 43651, upload-time = "2025-03-26T03:06:12.05Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/56/e27c136101addf877c8291dbda1b3b86ae848f3837ce758510a0d806c92f/propcache-0.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f27785888d2fdd918bc36de8b8739f2d6c791399552333721b58193f68ea3e98", size = 80224, upload-time = "2025-03-26T03:03:35.81Z" }, + { url = "https://files.pythonhosted.org/packages/63/bd/88e98836544c4f04db97eefd23b037c2002fa173dd2772301c61cd3085f9/propcache-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4e89cde74154c7b5957f87a355bb9c8ec929c167b59c83d90654ea36aeb6180", size = 46491, upload-time = "2025-03-26T03:03:38.107Z" }, + { url = "https://files.pythonhosted.org/packages/15/43/0b8eb2a55753c4a574fc0899885da504b521068d3b08ca56774cad0bea2b/propcache-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:730178f476ef03d3d4d255f0c9fa186cb1d13fd33ffe89d39f2cda4da90ceb71", size = 45927, upload-time = "2025-03-26T03:03:39.394Z" }, + { url = "https://files.pythonhosted.org/packages/ad/6c/d01f9dfbbdc613305e0a831016844987a1fb4861dd221cd4c69b1216b43f/propcache-0.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967a8eec513dbe08330f10137eacb427b2ca52118769e82ebcfcab0fba92a649", size = 206135, upload-time = "2025-03-26T03:03:40.757Z" }, + { url = "https://files.pythonhosted.org/packages/9a/8a/e6e1c77394088f4cfdace4a91a7328e398ebed745d59c2f6764135c5342d/propcache-0.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b9145c35cc87313b5fd480144f8078716007656093d23059e8993d3a8fa730f", size = 220517, upload-time = "2025-03-26T03:03:42.657Z" }, + { url = "https://files.pythonhosted.org/packages/19/3b/6c44fa59d6418f4239d5db8b1ece757351e85d6f3ca126dfe37d427020c8/propcache-0.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e64e948ab41411958670f1093c0a57acfdc3bee5cf5b935671bbd5313bcf229", size = 218952, upload-time = "2025-03-26T03:03:44.549Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e4/4aeb95a1cd085e0558ab0de95abfc5187329616193a1012a6c4c930e9f7a/propcache-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319fa8765bfd6a265e5fa661547556da381e53274bc05094fc9ea50da51bfd46", size = 206593, upload-time = "2025-03-26T03:03:46.114Z" }, + { url = "https://files.pythonhosted.org/packages/da/6a/29fa75de1cbbb302f1e1d684009b969976ca603ee162282ae702287b6621/propcache-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c66d8ccbc902ad548312b96ed8d5d266d0d2c6d006fd0f66323e9d8f2dd49be7", size = 196745, upload-time = "2025-03-26T03:03:48.02Z" }, + { url = "https://files.pythonhosted.org/packages/19/7e/2237dad1dbffdd2162de470599fa1a1d55df493b16b71e5d25a0ac1c1543/propcache-0.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2d219b0dbabe75e15e581fc1ae796109b07c8ba7d25b9ae8d650da582bed01b0", size = 203369, upload-time = "2025-03-26T03:03:49.63Z" }, + { url = "https://files.pythonhosted.org/packages/a4/bc/a82c5878eb3afb5c88da86e2cf06e1fe78b7875b26198dbb70fe50a010dc/propcache-0.3.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:cd6a55f65241c551eb53f8cf4d2f4af33512c39da5d9777694e9d9c60872f519", size = 198723, upload-time = "2025-03-26T03:03:51.091Z" }, + { url = "https://files.pythonhosted.org/packages/17/76/9632254479c55516f51644ddbf747a45f813031af5adcb8db91c0b824375/propcache-0.3.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9979643ffc69b799d50d3a7b72b5164a2e97e117009d7af6dfdd2ab906cb72cd", size = 200751, upload-time = "2025-03-26T03:03:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/3e/c3/a90b773cf639bd01d12a9e20c95be0ae978a5a8abe6d2d343900ae76cd71/propcache-0.3.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4cf9e93a81979f1424f1a3d155213dc928f1069d697e4353edb8a5eba67c6259", size = 210730, upload-time = "2025-03-26T03:03:54.498Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ec/ad5a952cdb9d65c351f88db7c46957edd3d65ffeee72a2f18bd6341433e0/propcache-0.3.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2fce1df66915909ff6c824bbb5eb403d2d15f98f1518e583074671a30fe0c21e", size = 213499, upload-time = "2025-03-26T03:03:56.054Z" }, + { url = "https://files.pythonhosted.org/packages/83/c0/ea5133dda43e298cd2010ec05c2821b391e10980e64ee72c0a76cdbb813a/propcache-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4d0dfdd9a2ebc77b869a0b04423591ea8823f791293b527dc1bb896c1d6f1136", size = 207132, upload-time = "2025-03-26T03:03:57.398Z" }, + { url = "https://files.pythonhosted.org/packages/79/dd/71aae9dec59333064cfdd7eb31a63fa09f64181b979802a67a90b2abfcba/propcache-0.3.1-cp310-cp310-win32.whl", hash = "sha256:1f6cc0ad7b4560e5637eb2c994e97b4fa41ba8226069c9277eb5ea7101845b42", size = 40952, upload-time = "2025-03-26T03:03:59.146Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/49ff7e5056c17dfba62cbdcbb90a29daffd199c52f8e65e5cb09d5f53a57/propcache-0.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:47ef24aa6511e388e9894ec16f0fbf3313a53ee68402bc428744a367ec55b833", size = 45163, upload-time = "2025-03-26T03:04:00.672Z" }, + { url = "https://files.pythonhosted.org/packages/90/0f/5a5319ee83bd651f75311fcb0c492c21322a7fc8f788e4eef23f44243427/propcache-0.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7f30241577d2fef2602113b70ef7231bf4c69a97e04693bde08ddab913ba0ce5", size = 80243, upload-time = "2025-03-26T03:04:01.912Z" }, + { url = "https://files.pythonhosted.org/packages/ce/84/3db5537e0879942783e2256616ff15d870a11d7ac26541336fe1b673c818/propcache-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43593c6772aa12abc3af7784bff4a41ffa921608dd38b77cf1dfd7f5c4e71371", size = 46503, upload-time = "2025-03-26T03:04:03.704Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c8/b649ed972433c3f0d827d7f0cf9ea47162f4ef8f4fe98c5f3641a0bc63ff/propcache-0.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a75801768bbe65499495660b777e018cbe90c7980f07f8aa57d6be79ea6f71da", size = 45934, upload-time = "2025-03-26T03:04:05.257Z" }, + { url = "https://files.pythonhosted.org/packages/59/f9/4c0a5cf6974c2c43b1a6810c40d889769cc8f84cea676cbe1e62766a45f8/propcache-0.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6f1324db48f001c2ca26a25fa25af60711e09b9aaf4b28488602776f4f9a744", size = 233633, upload-time = "2025-03-26T03:04:07.044Z" }, + { url = "https://files.pythonhosted.org/packages/e7/64/66f2f4d1b4f0007c6e9078bd95b609b633d3957fe6dd23eac33ebde4b584/propcache-0.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cdb0f3e1eb6dfc9965d19734d8f9c481b294b5274337a8cb5cb01b462dcb7e0", size = 241124, upload-time = "2025-03-26T03:04:08.676Z" }, + { url = "https://files.pythonhosted.org/packages/aa/bf/7b8c9fd097d511638fa9b6af3d986adbdf567598a567b46338c925144c1b/propcache-0.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1eb34d90aac9bfbced9a58b266f8946cb5935869ff01b164573a7634d39fbcb5", size = 240283, upload-time = "2025-03-26T03:04:10.172Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c9/e85aeeeaae83358e2a1ef32d6ff50a483a5d5248bc38510d030a6f4e2816/propcache-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f35c7070eeec2cdaac6fd3fe245226ed2a6292d3ee8c938e5bb645b434c5f256", size = 232498, upload-time = "2025-03-26T03:04:11.616Z" }, + { url = "https://files.pythonhosted.org/packages/8e/66/acb88e1f30ef5536d785c283af2e62931cb934a56a3ecf39105887aa8905/propcache-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b23c11c2c9e6d4e7300c92e022046ad09b91fd00e36e83c44483df4afa990073", size = 221486, upload-time = "2025-03-26T03:04:13.102Z" }, + { url = "https://files.pythonhosted.org/packages/f5/f9/233ddb05ffdcaee4448508ee1d70aa7deff21bb41469ccdfcc339f871427/propcache-0.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3e19ea4ea0bf46179f8a3652ac1426e6dcbaf577ce4b4f65be581e237340420d", size = 222675, upload-time = "2025-03-26T03:04:14.658Z" }, + { url = "https://files.pythonhosted.org/packages/98/b8/eb977e28138f9e22a5a789daf608d36e05ed93093ef12a12441030da800a/propcache-0.3.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:bd39c92e4c8f6cbf5f08257d6360123af72af9f4da75a690bef50da77362d25f", size = 215727, upload-time = "2025-03-26T03:04:16.207Z" }, + { url = "https://files.pythonhosted.org/packages/89/2d/5f52d9c579f67b8ee1edd9ec073c91b23cc5b7ff7951a1e449e04ed8fdf3/propcache-0.3.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b0313e8b923b3814d1c4a524c93dfecea5f39fa95601f6a9b1ac96cd66f89ea0", size = 217878, upload-time = "2025-03-26T03:04:18.11Z" }, + { url = "https://files.pythonhosted.org/packages/7a/fd/5283e5ed8a82b00c7a989b99bb6ea173db1ad750bf0bf8dff08d3f4a4e28/propcache-0.3.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e861ad82892408487be144906a368ddbe2dc6297074ade2d892341b35c59844a", size = 230558, upload-time = "2025-03-26T03:04:19.562Z" }, + { url = "https://files.pythonhosted.org/packages/90/38/ab17d75938ef7ac87332c588857422ae126b1c76253f0f5b1242032923ca/propcache-0.3.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:61014615c1274df8da5991a1e5da85a3ccb00c2d4701ac6f3383afd3ca47ab0a", size = 233754, upload-time = "2025-03-26T03:04:21.065Z" }, + { url = "https://files.pythonhosted.org/packages/06/5d/3b921b9c60659ae464137508d3b4c2b3f52f592ceb1964aa2533b32fcf0b/propcache-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:71ebe3fe42656a2328ab08933d420df5f3ab121772eef78f2dc63624157f0ed9", size = 226088, upload-time = "2025-03-26T03:04:22.718Z" }, + { url = "https://files.pythonhosted.org/packages/54/6e/30a11f4417d9266b5a464ac5a8c5164ddc9dd153dfa77bf57918165eb4ae/propcache-0.3.1-cp311-cp311-win32.whl", hash = "sha256:58aa11f4ca8b60113d4b8e32d37e7e78bd8af4d1a5b5cb4979ed856a45e62005", size = 40859, upload-time = "2025-03-26T03:04:24.039Z" }, + { url = "https://files.pythonhosted.org/packages/1d/3a/8a68dd867da9ca2ee9dfd361093e9cb08cb0f37e5ddb2276f1b5177d7731/propcache-0.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:9532ea0b26a401264b1365146c440a6d78269ed41f83f23818d4b79497aeabe7", size = 45153, upload-time = "2025-03-26T03:04:25.211Z" }, + { url = "https://files.pythonhosted.org/packages/41/aa/ca78d9be314d1e15ff517b992bebbed3bdfef5b8919e85bf4940e57b6137/propcache-0.3.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f78eb8422acc93d7b69964012ad7048764bb45a54ba7a39bb9e146c72ea29723", size = 80430, upload-time = "2025-03-26T03:04:26.436Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d8/f0c17c44d1cda0ad1979af2e593ea290defdde9eaeb89b08abbe02a5e8e1/propcache-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:89498dd49c2f9a026ee057965cdf8192e5ae070ce7d7a7bd4b66a8e257d0c976", size = 46637, upload-time = "2025-03-26T03:04:27.932Z" }, + { url = "https://files.pythonhosted.org/packages/ae/bd/c1e37265910752e6e5e8a4c1605d0129e5b7933c3dc3cf1b9b48ed83b364/propcache-0.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:09400e98545c998d57d10035ff623266927cb784d13dd2b31fd33b8a5316b85b", size = 46123, upload-time = "2025-03-26T03:04:30.659Z" }, + { url = "https://files.pythonhosted.org/packages/d4/b0/911eda0865f90c0c7e9f0415d40a5bf681204da5fd7ca089361a64c16b28/propcache-0.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8efd8c5adc5a2c9d3b952815ff8f7710cefdcaf5f2c36d26aff51aeca2f12f", size = 243031, upload-time = "2025-03-26T03:04:31.977Z" }, + { url = "https://files.pythonhosted.org/packages/0a/06/0da53397c76a74271621807265b6eb61fb011451b1ddebf43213df763669/propcache-0.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2fe5c910f6007e716a06d269608d307b4f36e7babee5f36533722660e8c4a70", size = 249100, upload-time = "2025-03-26T03:04:33.45Z" }, + { url = "https://files.pythonhosted.org/packages/f1/eb/13090e05bf6b963fc1653cdc922133ced467cb4b8dab53158db5a37aa21e/propcache-0.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0ab8cf8cdd2194f8ff979a43ab43049b1df0b37aa64ab7eca04ac14429baeb7", size = 250170, upload-time = "2025-03-26T03:04:35.542Z" }, + { url = "https://files.pythonhosted.org/packages/3b/4c/f72c9e1022b3b043ec7dc475a0f405d4c3e10b9b1d378a7330fecf0652da/propcache-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563f9d8c03ad645597b8d010ef4e9eab359faeb11a0a2ac9f7b4bc8c28ebef25", size = 245000, upload-time = "2025-03-26T03:04:37.501Z" }, + { url = "https://files.pythonhosted.org/packages/e8/fd/970ca0e22acc829f1adf5de3724085e778c1ad8a75bec010049502cb3a86/propcache-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb6e0faf8cb6b4beea5d6ed7b5a578254c6d7df54c36ccd3d8b3eb00d6770277", size = 230262, upload-time = "2025-03-26T03:04:39.532Z" }, + { url = "https://files.pythonhosted.org/packages/c4/42/817289120c6b9194a44f6c3e6b2c3277c5b70bbad39e7df648f177cc3634/propcache-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1c5c7ab7f2bb3f573d1cb921993006ba2d39e8621019dffb1c5bc94cdbae81e8", size = 236772, upload-time = "2025-03-26T03:04:41.109Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9c/3b3942b302badd589ad6b672da3ca7b660a6c2f505cafd058133ddc73918/propcache-0.3.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:050b571b2e96ec942898f8eb46ea4bfbb19bd5502424747e83badc2d4a99a44e", size = 231133, upload-time = "2025-03-26T03:04:42.544Z" }, + { url = "https://files.pythonhosted.org/packages/98/a1/75f6355f9ad039108ff000dfc2e19962c8dea0430da9a1428e7975cf24b2/propcache-0.3.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e1c4d24b804b3a87e9350f79e2371a705a188d292fd310e663483af6ee6718ee", size = 230741, upload-time = "2025-03-26T03:04:44.06Z" }, + { url = "https://files.pythonhosted.org/packages/67/0c/3e82563af77d1f8731132166da69fdfd95e71210e31f18edce08a1eb11ea/propcache-0.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e4fe2a6d5ce975c117a6bb1e8ccda772d1e7029c1cca1acd209f91d30fa72815", size = 244047, upload-time = "2025-03-26T03:04:45.983Z" }, + { url = "https://files.pythonhosted.org/packages/f7/50/9fb7cca01532a08c4d5186d7bb2da6c4c587825c0ae134b89b47c7d62628/propcache-0.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:feccd282de1f6322f56f6845bf1207a537227812f0a9bf5571df52bb418d79d5", size = 246467, upload-time = "2025-03-26T03:04:47.699Z" }, + { url = "https://files.pythonhosted.org/packages/a9/02/ccbcf3e1c604c16cc525309161d57412c23cf2351523aedbb280eb7c9094/propcache-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ec314cde7314d2dd0510c6787326bbffcbdc317ecee6b7401ce218b3099075a7", size = 241022, upload-time = "2025-03-26T03:04:49.195Z" }, + { url = "https://files.pythonhosted.org/packages/db/19/e777227545e09ca1e77a6e21274ae9ec45de0f589f0ce3eca2a41f366220/propcache-0.3.1-cp312-cp312-win32.whl", hash = "sha256:7d2d5a0028d920738372630870e7d9644ce437142197f8c827194fca404bf03b", size = 40647, upload-time = "2025-03-26T03:04:50.595Z" }, + { url = "https://files.pythonhosted.org/packages/24/bb/3b1b01da5dd04c77a204c84e538ff11f624e31431cfde7201d9110b092b1/propcache-0.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:88c423efef9d7a59dae0614eaed718449c09a5ac79a5f224a8b9664d603f04a3", size = 44784, upload-time = "2025-03-26T03:04:51.791Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d3/c3cb8f1d6ae3b37f83e1de806713a9b3642c5895f0215a62e1a4bd6e5e34/propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40", size = 12376, upload-time = "2025-03-26T03:06:10.5Z" }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f0/86/8ce9040065e8f924d642c58e4a344e33163a07f6b57f836d0d734e0ad3fb/pydantic-2.11.5.tar.gz", hash = "sha256:7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a", size = 787102, upload-time = "2025-05-22T21:18:08.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/69/831ed22b38ff9b4b64b66569f0e5b7b97cf3638346eb95a2147fdb49ad5f/pydantic-2.11.5-py3-none-any.whl", hash = "sha256:f9c26ba06f9747749ca1e5c94d6a85cb84254577553c8785576fd38fa64dc0f7", size = 444229, upload-time = "2025-05-22T21:18:06.329Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" }, + { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" }, + { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" }, + { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" }, + { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" }, + { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" }, + { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" }, + { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" }, + { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" }, + { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" }, + { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" }, + { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" }, + { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" }, + { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" }, + { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" }, + { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" }, + { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, + { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, + { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, + { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, + { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, + { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, + { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" }, + { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" }, + { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" }, + { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" }, + { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" }, + { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" }, + { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" }, + { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" }, + { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" }, + { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.10.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz", hash = "sha256:06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee", size = 172583, upload-time = "2025-06-24T13:26:46.841Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/f0/427018098906416f580e3cf1366d3b1abfb408a0652e9f31600c24a1903c/pydantic_settings-2.10.1-py3-none-any.whl", hash = "sha256:a60952460b99cf661dc25c29c0ef171721f98bfcb52ef8d9ea4c943d7c8cc796", size = 45235, upload-time = "2025-06-24T13:26:45.485Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, +] + +[[package]] +name = "pyjwt" +version = "2.10.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785, upload-time = "2024-11-28T03:43:29.933Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" }, +] + +[[package]] +name = "pyportfolioopt" +version = "1.5.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cvxpy" }, + { name = "ecos" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, + { name = "plotly" }, + { name = "scipy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/54/902758bac4322d0eae8199aa5bf2d9c41316ddad82d82d5960ca27174ceb/pyportfolioopt-1.5.6.tar.gz", hash = "sha256:7e94f41c84fb5865c7a64de995a3ba580188f3ba494f6dfbc02721b5de323f6e", size = 56782, upload-time = "2024-12-01T19:42:09.509Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/9e/c8ffe7e9ba4ff0317fccd2e1dc466c47e64acea1b5e6b2f167d7d3097c93/pyportfolioopt-1.5.6-py3-none-any.whl", hash = "sha256:22cfa4978dac893fa78cbd91b0793c4d8fa024a577118d47769f19f069e09d8c", size = 62703, upload-time = "2024-12-01T19:42:07.784Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/aa/405082ce2749be5398045152251ac69c0f3578c7077efc53431303af97ce/pytest-8.4.0.tar.gz", hash = "sha256:14d920b48472ea0dbf68e45b96cd1ffda4705f33307dcc86c676c1b5104838a6", size = 1515232, upload-time = "2025-06-02T17:36:30.03Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/de/afa024cbe022b1b318a3d224125aa24939e99b4ff6f22e0ba639a2eaee47/pytest-8.4.0-py3-none-any.whl", hash = "sha256:f40f825768ad76c0977cbacdf1fd37c6f7a468e460ea6a0636078f8972d4517e", size = 363797, upload-time = "2025-06-02T17:36:27.859Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, +] + +[[package]] +name = "python-multipart" +version = "0.0.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158, upload-time = "2024-12-16T19:45:46.972Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546, upload-time = "2024-12-16T19:45:44.423Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, +] + +[[package]] +name = "ruff" +version = "0.7.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/8b/bc4e0dfa1245b07cf14300e10319b98e958a53ff074c1dd86b35253a8c2a/ruff-0.7.4.tar.gz", hash = "sha256:cd12e35031f5af6b9b93715d8c4f40360070b2041f81273d0527683d5708fce2", size = 3275547, upload-time = "2024-11-15T11:33:11.853Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/4b/f5094719e254829766b807dadb766841124daba75a37da83e292ae5ad12f/ruff-0.7.4-py3-none-linux_armv6l.whl", hash = "sha256:a4919925e7684a3f18e18243cd6bea7cfb8e968a6eaa8437971f681b7ec51478", size = 10447512, upload-time = "2024-11-15T11:32:27.812Z" }, + { url = "https://files.pythonhosted.org/packages/9e/1d/3d2d2c9f601cf6044799c5349ff5267467224cefed9b35edf5f1f36486e9/ruff-0.7.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:cfb365c135b830778dda8c04fb7d4280ed0b984e1aec27f574445231e20d6c63", size = 10235436, upload-time = "2024-11-15T11:32:30.6Z" }, + { url = "https://files.pythonhosted.org/packages/62/83/42a6ec6216ded30b354b13e0e9327ef75a3c147751aaf10443756cb690e9/ruff-0.7.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:63a569b36bc66fbadec5beaa539dd81e0527cb258b94e29e0531ce41bacc1f20", size = 9888936, upload-time = "2024-11-15T11:32:33.287Z" }, + { url = "https://files.pythonhosted.org/packages/4d/26/e1e54893b13046a6ad05ee9b89ee6f71542ba250f72b4c7a7d17c3dbf73d/ruff-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d06218747d361d06fd2fdac734e7fa92df36df93035db3dc2ad7aa9852cb109", size = 10697353, upload-time = "2024-11-15T11:32:35.895Z" }, + { url = "https://files.pythonhosted.org/packages/21/24/98d2e109c4efc02bfef144ec6ea2c3e1217e7ce0cfddda8361d268dfd499/ruff-0.7.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0cea28d0944f74ebc33e9f934238f15c758841f9f5edd180b5315c203293452", size = 10228078, upload-time = "2024-11-15T11:32:40.929Z" }, + { url = "https://files.pythonhosted.org/packages/ad/b7/964c75be9bc2945fc3172241b371197bb6d948cc69e28bc4518448c368f3/ruff-0.7.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80094ecd4793c68b2571b128f91754d60f692d64bc0d7272ec9197fdd09bf9ea", size = 11264823, upload-time = "2024-11-15T11:32:43.31Z" }, + { url = "https://files.pythonhosted.org/packages/12/8d/20abdbf705969914ce40988fe71a554a918deaab62c38ec07483e77866f6/ruff-0.7.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:997512325c6620d1c4c2b15db49ef59543ef9cd0f4aa8065ec2ae5103cedc7e7", size = 11951855, upload-time = "2024-11-15T11:32:46.038Z" }, + { url = "https://files.pythonhosted.org/packages/b8/fc/6519ce58c57b4edafcdf40920b7273dfbba64fc6ebcaae7b88e4dc1bf0a8/ruff-0.7.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00b4cf3a6b5fad6d1a66e7574d78956bbd09abfd6c8a997798f01f5da3d46a05", size = 11516580, upload-time = "2024-11-15T11:32:48.17Z" }, + { url = "https://files.pythonhosted.org/packages/37/1a/5ec1844e993e376a86eb2456496831ed91b4398c434d8244f89094758940/ruff-0.7.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7dbdc7d8274e1422722933d1edddfdc65b4336abf0b16dfcb9dedd6e6a517d06", size = 12692057, upload-time = "2024-11-15T11:32:50.623Z" }, + { url = "https://files.pythonhosted.org/packages/50/90/76867152b0d3c05df29a74bb028413e90f704f0f6701c4801174ba47f959/ruff-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e92dfb5f00eaedb1501b2f906ccabfd67b2355bdf117fea9719fc99ac2145bc", size = 11085137, upload-time = "2024-11-15T11:32:52.819Z" }, + { url = "https://files.pythonhosted.org/packages/c8/eb/0a7cb6059ac3555243bd026bb21785bbc812f7bbfa95a36c101bd72b47ae/ruff-0.7.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3bd726099f277d735dc38900b6a8d6cf070f80828877941983a57bca1cd92172", size = 10681243, upload-time = "2024-11-15T11:32:55.902Z" }, + { url = "https://files.pythonhosted.org/packages/5e/76/2270719dbee0fd35780b05c08a07b7a726c3da9f67d9ae89ef21fc18e2e5/ruff-0.7.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2e32829c429dd081ee5ba39aef436603e5b22335c3d3fff013cd585806a6486a", size = 10319187, upload-time = "2024-11-15T11:32:58.255Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e5/39100f72f8ba70bec1bd329efc880dea8b6c1765ea1cb9d0c1c5f18b8d7f/ruff-0.7.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:662a63b4971807623f6f90c1fb664613f67cc182dc4d991471c23c541fee62dd", size = 10803715, upload-time = "2024-11-15T11:33:00.88Z" }, + { url = "https://files.pythonhosted.org/packages/a5/89/40e904784f305fb56850063f70a998a64ebba68796d823dde67e89a24691/ruff-0.7.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:876f5e09eaae3eb76814c1d3b68879891d6fde4824c015d48e7a7da4cf066a3a", size = 11162912, upload-time = "2024-11-15T11:33:03.097Z" }, + { url = "https://files.pythonhosted.org/packages/8d/1b/dd77503b3875c51e3dbc053fd8367b845ab8b01c9ca6d0c237082732856c/ruff-0.7.4-py3-none-win32.whl", hash = "sha256:75c53f54904be42dd52a548728a5b572344b50d9b2873d13a3f8c5e3b91f5cac", size = 8702767, upload-time = "2024-11-15T11:33:05.15Z" }, + { url = "https://files.pythonhosted.org/packages/63/76/253ddc3e89e70165bba952ecca424b980b8d3c2598ceb4fc47904f424953/ruff-0.7.4-py3-none-win_amd64.whl", hash = "sha256:745775c7b39f914238ed1f1b0bebed0b9155a17cd8bc0b08d3c87e4703b990d6", size = 9497534, upload-time = "2024-11-15T11:33:07.359Z" }, + { url = "https://files.pythonhosted.org/packages/aa/70/f8724f31abc0b329ca98b33d73c14020168babcf71b0cba3cded5d9d0e66/ruff-0.7.4-py3-none-win_arm64.whl", hash = "sha256:11bff065102c3ae9d3ea4dc9ecdfe5a5171349cdd0787c1fc64761212fc9cf1f", size = 8851590, upload-time = "2024-11-15T11:33:09.664Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ed/5d/9dcc100abc6711e8247af5aa561fc07c4a046f72f659c3adea9a449e191a/s3transfer-0.13.0.tar.gz", hash = "sha256:f5e6db74eb7776a37208001113ea7aa97695368242b364d73e91c981ac522177", size = 150232, upload-time = "2025-05-22T19:24:50.245Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/17/22bf8155aa0ea2305eefa3a6402e040df7ebe512d1310165eda1e233c3f8/s3transfer-0.13.0-py3-none-any.whl", hash = "sha256:0148ef34d6dd964d0d8cf4311b2b21c474693e57c2e069ec708ce043d2b527be", size = 85152, upload-time = "2025-05-22T19:24:48.703Z" }, +] + +[[package]] +name = "scipy" +version = "1.15.3" +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.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c", size = 38702770, upload-time = "2025-05-08T16:04:20.849Z" }, + { url = "https://files.pythonhosted.org/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253", size = 30094511, upload-time = "2025-05-08T16:04:27.103Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f", size = 22368151, upload-time = "2025-05-08T16:04:31.731Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92", size = 25121732, upload-time = "2025-05-08T16:04:36.596Z" }, + { url = "https://files.pythonhosted.org/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82", size = 35547617, upload-time = "2025-05-08T16:04:43.546Z" }, + { url = "https://files.pythonhosted.org/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40", size = 37662964, upload-time = "2025-05-08T16:04:49.431Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e", size = 37238749, upload-time = "2025-05-08T16:04:55.215Z" }, + { url = "https://files.pythonhosted.org/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c", size = 40022383, upload-time = "2025-05-08T16:05:01.914Z" }, + { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201, upload-time = "2025-05-08T16:05:08.166Z" }, + { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255, upload-time = "2025-05-08T16:05:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035, upload-time = "2025-05-08T16:05:20.152Z" }, + { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499, upload-time = "2025-05-08T16:05:24.494Z" }, + { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602, upload-time = "2025-05-08T16:05:29.313Z" }, + { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415, upload-time = "2025-05-08T16:05:34.699Z" }, + { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622, upload-time = "2025-05-08T16:05:40.762Z" }, + { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796, upload-time = "2025-05-08T16:05:48.119Z" }, + { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684, upload-time = "2025-05-08T16:05:54.22Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504, upload-time = "2025-05-08T16:06:00.437Z" }, + { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload-time = "2025-05-08T16:06:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload-time = "2025-05-08T16:06:11.686Z" }, + { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload-time = "2025-05-08T16:06:15.97Z" }, + { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload-time = "2025-05-08T16:06:20.394Z" }, + { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload-time = "2025-05-08T16:06:26.159Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload-time = "2025-05-08T16:06:32.778Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload-time = "2025-05-08T16:06:39.249Z" }, + { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload-time = "2025-05-08T16:06:45.729Z" }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload-time = "2025-05-08T16:06:52.623Z" }, +] + +[[package]] +name = "scs" +version = "3.2.7.post2" +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.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c5/2f/3f15676b0f4cc73879400d94f2c5c64130cad0bbca266aff1365dc643e79/scs-3.2.7.post2.tar.gz", hash = "sha256:4245a4f76328cc73911f20e1414df68d41ead4bcc4a187503a9cd639b644014b", size = 1600725, upload-time = "2025-01-04T17:02:03.387Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/ae/4763d0461f2fb424b276c891156520d8cb76166d98a4ddbb0aa0631a708d/scs-3.2.7.post2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b7271ff566ac9df929c8cf7d1b024b89c3882b541c21a7a6d9aa94480822bccb", size = 105856, upload-time = "2025-01-04T17:00:19.069Z" }, + { url = "https://files.pythonhosted.org/packages/49/e1/c9246d57588d8376d131a1e7055496b0a1d0239c5a949f9067df904044ea/scs-3.2.7.post2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb2997f53ef3426934599517c6e0e77f4f05cc23c3aa2380fd176c7fd22bc0c8", size = 93595, upload-time = "2025-01-04T17:00:21.753Z" }, + { url = "https://files.pythonhosted.org/packages/58/df/3c88703fe7c592b1184704c668d796045be57ee94d0d29599423628dea77/scs-3.2.7.post2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8307b7302f8105148478a5723a2f7d5a3cbf86ef3cc6f27567203addfa3b10", size = 10443087, upload-time = "2025-01-04T17:00:24.753Z" }, + { url = "https://files.pythonhosted.org/packages/1e/18/cfae3a8809fec2a13abfa79e7d32aac1884a4e03642ad39665cfc960f59d/scs-3.2.7.post2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:f34cc43c9eb1092423b55f01430ad99b4e5825a6595ead8e081f985032685e8c", size = 5066485, upload-time = "2025-01-04T17:00:27.586Z" }, + { url = "https://files.pythonhosted.org/packages/85/53/0da457be1dcf3f0c20dcf21ef96610638a143c073c53f5b82842d1d9636d/scs-3.2.7.post2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f645f3789bc4659de2a468c2e4db552f6656bcb286e81f3cb42d5a607028627b", size = 11612087, upload-time = "2025-01-04T17:00:31.37Z" }, + { url = "https://files.pythonhosted.org/packages/2c/84/55f5f5fb95e4a38f2501a7bd6840a91524b44c4aea2f05975c2ddf101e03/scs-3.2.7.post2-cp310-cp310-win_amd64.whl", hash = "sha256:e5f90940c383b68dd7960b734105cd1dd6c11c80275321de3a6388f563a1ff19", size = 7432199, upload-time = "2025-01-04T17:00:34.81Z" }, + { url = "https://files.pythonhosted.org/packages/2b/a8/75e215fb61f65c7dee0a5d2c8e2b9043967fd332b70a4d47478bca45ec10/scs-3.2.7.post2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6d551b90d9e2c0497ee17d8c3db325d6fcefa4419057954e68709da8b9184d4f", size = 105857, upload-time = "2025-01-04T17:00:37.796Z" }, + { url = "https://files.pythonhosted.org/packages/1f/e4/b757b7926cc3355ba41ba747afb5e4d6c553d05be840ea25dc47b47b47b1/scs-3.2.7.post2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c15d035dda04a6626d3cd9b68d3bf814d2e0eb3cb372021775bd358fd8c7405", size = 93594, upload-time = "2025-01-04T17:00:39.96Z" }, + { url = "https://files.pythonhosted.org/packages/e7/34/bf8e999e13e00946660a1e9009e67d5718356c06b9a2b2905f10829a7c45/scs-3.2.7.post2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6da6add18f039e7e08f0ebc13cb1f853ec4c96ae81d7a578f46e0f9f0e5bf4b5", size = 10443087, upload-time = "2025-01-04T17:00:41.588Z" }, + { url = "https://files.pythonhosted.org/packages/d3/03/d41749f5c680241345669da533bc7ce6f5f1fac6d88fb255792fdd187e3f/scs-3.2.7.post2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:d6c965f026e56c92b59a9c96744eb90178982c270ab196f58a0260ac392785aa", size = 5066487, upload-time = "2025-01-04T17:00:44.95Z" }, + { url = "https://files.pythonhosted.org/packages/ac/b1/26db804cdc4009745f4bc4be2a478ac2c29f017672747a3ce64d46bccc7f/scs-3.2.7.post2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0427a5bf9aa43eb2a22083e1a43412db5054a88d695fdaa6018cd6fb3a9f0203", size = 11612089, upload-time = "2025-01-04T17:00:47.344Z" }, + { url = "https://files.pythonhosted.org/packages/bf/34/a42b90bff9330ac57e1dcc8c35b978cee47d6e9eee14cb71981b801fc7cf/scs-3.2.7.post2-cp311-cp311-win_amd64.whl", hash = "sha256:4d05ec092c891eb842630f343ebc0c46d2ef6047f325a835771b13f9804d6b3b", size = 7432186, upload-time = "2025-01-04T17:00:50.702Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ef/982d35cadee11137a27c80404155265bb2c4e5899551436ef5e6cc28a0bc/scs-3.2.7.post2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:99e4af2968b046ee55fa0dc89dcd3bfba771f1027d9224cb6efa10008d8bfee1", size = 107289, upload-time = "2025-01-04T17:00:52.385Z" }, + { url = "https://files.pythonhosted.org/packages/33/2a/f807b0f9dd108c9c75c4d12692803d687be7bd32c91dbfd7213837b3b6ed/scs-3.2.7.post2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bc46fef9743d4629337382f034fda92dfce338659e8377afae674517b7d8345f", size = 93544, upload-time = "2025-01-04T17:00:53.574Z" }, + { url = "https://files.pythonhosted.org/packages/82/0e/f56426e3b3d9ac12dac252c1c4a0e65a530d460b9448e3fc2e20ac8e6bed/scs-3.2.7.post2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f92e925d89004276a449850926a45536f75c03cab701b5e758b1a7efa119ba08", size = 10443128, upload-time = "2025-01-04T17:00:55.188Z" }, + { url = "https://files.pythonhosted.org/packages/e4/f3/343803e20415bf604e4b237fdce4203f51c35e89707d18eafa7e3fe172d7/scs-3.2.7.post2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:640faf61f85b933fdfc3d33d7ce4f0049b082b245e82d2d6a8c2c54aa0b7f540", size = 5066484, upload-time = "2025-01-04T17:00:58.509Z" }, + { url = "https://files.pythonhosted.org/packages/33/9a/5b06bc2ba789aa2ce5ba57be503f2563bbc772c0e7b4249e646e44fdcd2b/scs-3.2.7.post2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a520c9bef84eee734df0da3e5e06aa9192d3be34cd5e6d4221cc01f4d09b20c0", size = 11612180, upload-time = "2025-01-04T17:01:00.789Z" }, + { url = "https://files.pythonhosted.org/packages/30/49/1645fa1219493ac94475ab8f48a2520d2fc27f486327f2b0f167440a8188/scs-3.2.7.post2-cp312-cp312-win_amd64.whl", hash = "sha256:2995d4099943c3fd754b3e39fe178a9c03dcb9c7d84b40f64ac5eb26d8d6085a", size = 7432205, upload-time = "2025-01-04T17:01:03.536Z" }, +] + +[[package]] +name = "setuptools" +version = "80.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "sse-starlette" +version = "2.3.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8c/f4/989bc70cb8091eda43a9034ef969b25145291f3601703b82766e5172dfed/sse_starlette-2.3.6.tar.gz", hash = "sha256:0382336f7d4ec30160cf9ca0518962905e1b69b72d6c1c995131e0a703b436e3", size = 18284, upload-time = "2025-05-30T13:34:12.914Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/05/78850ac6e79af5b9508f8841b0f26aa9fd329a1ba00bf65453c2d312bcc8/sse_starlette-2.3.6-py3-none-any.whl", hash = "sha256:d49a8285b182f6e2228e2609c350398b2ca2c36216c2675d875f81e93548f760", size = 10606, upload-time = "2025-05-30T13:34:11.703Z" }, +] + +[[package]] +name = "starlette" +version = "0.46.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload-time = "2025-04-13T13:56:17.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload-time = "2025-04-13T13:56:16.21Z" }, +] + +[[package]] +name = "tabulate" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" }, +] + +[[package]] +name = "tenacity" +version = "9.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb", size = 48036, upload-time = "2025-04-02T08:25:09.966Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138", size = 28248, upload-time = "2025-04-02T08:25:07.678Z" }, +] + +[[package]] +name = "theobb" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "openbb-core" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/9d/cd308e96a780ee8d270fbf1512eb3b17eb14adcb39cdb88c547fb8dbbb43/theobb-1.0.0.tar.gz", hash = "sha256:d878241e0a7bdff2cd3c9009a1884758bdf58f179fb613e4b18c6d40af9a3567", size = 13337, upload-time = "2024-07-05T12:21:22.473Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/c5/ef1f69d6ec9d4d988adb5e3112ed20881882e34dbc34b3496ae75179d0be/theobb-1.0.0-py3-none-any.whl", hash = "sha256:05c58b90c61903aac3481d7fdcaa1cee420b29eb22602f82918fdc36b69b906b", size = 13720, upload-time = "2024-07-05T12:21:20.729Z" }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +] + +[[package]] +name = "tqdm" +version = "4.67.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, +] + +[[package]] +name = "types-awscrt" +version = "0.27.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/6c/583522cfb3c330e92e726af517a91c13247e555e021791a60f1b03c6ff16/types_awscrt-0.27.2.tar.gz", hash = "sha256:acd04f57119eb15626ab0ba9157fc24672421de56e7bd7b9f61681fedee44e91", size = 16304, upload-time = "2025-05-16T03:10:08.712Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/82/1ee2e5c9d28deac086ab3a6ff07c8bc393ef013a083f546c623699881715/types_awscrt-0.27.2-py3-none-any.whl", hash = "sha256:49a045f25bbd5ad2865f314512afced933aed35ddbafc252e2268efa8a787e4e", size = 37761, upload-time = "2025-05-16T03:10:07.466Z" }, +] + +[[package]] +name = "types-boto3" +version = "1.38.32" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore-stubs" }, + { name = "types-s3transfer" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/23/89/4426053cf70bbe0306a88bba21aa21004f1981c7ffb04a71f36ee41b4aba/types_boto3-1.38.32.tar.gz", hash = "sha256:fe795398d1d8fab64bc16f3924665730a6b6c1e0fd163c68e3425cd6e33602d3", size = 99557, upload-time = "2025-06-06T19:42:31.028Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/59/006b1f01bd24cfec17962bc4bef75c8d5018b8034e7fe770b6ece5473fc2/types_boto3-1.38.32-py3-none-any.whl", hash = "sha256:2ea28deab886714b22786b0d5390846f86bae8b17a92f8d88d20f71957c5bb29", size = 68644, upload-time = "2025-06-06T19:42:21.79Z" }, +] + +[[package]] +name = "types-pytz" +version = "2025.2.0.20250516" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/72/b0e711fd90409f5a76c75349055d3eb19992c110f0d2d6aabbd6cfbc14bf/types_pytz-2025.2.0.20250516.tar.gz", hash = "sha256:e1216306f8c0d5da6dafd6492e72eb080c9a166171fa80dd7a1990fd8be7a7b3", size = 10940, upload-time = "2025-05-16T03:07:01.91Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ba/e205cd11c1c7183b23c97e4bcd1de7bc0633e2e867601c32ecfc6ad42675/types_pytz-2025.2.0.20250516-py3-none-any.whl", hash = "sha256:e0e0c8a57e2791c19f718ed99ab2ba623856b11620cb6b637e5f62ce285a7451", size = 10136, upload-time = "2025-05-16T03:07:01.075Z" }, +] + +[[package]] +name = "types-s3transfer" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/42/c1/45038f259d6741c252801044e184fec4dbaeff939a58f6160d7c32bf4975/types_s3transfer-0.13.0.tar.gz", hash = "sha256:203dadcb9865c2f68fb44bc0440e1dc05b79197ba4a641c0976c26c9af75ef52", size = 14175, upload-time = "2025-05-28T02:16:07.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/5d/6bbe4bf6a79fb727945291aef88b5ecbdba857a603f1bbcf1a6be0d3f442/types_s3transfer-0.13.0-py3-none-any.whl", hash = "sha256:79c8375cbf48a64bff7654c02df1ec4b20d74f8c5672fc13e382f593ca5565b3", size = 19588, upload-time = "2025-05-28T02:16:06.709Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "urllib3" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, +] + +[[package]] +name = "uuid7" +version = "0.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5c/19/7472bd526591e2192926247109dbf78692e709d3e56775792fec877a7720/uuid7-0.1.0.tar.gz", hash = "sha256:8c57aa32ee7456d3cc68c95c4530bc571646defac01895cfc73545449894a63c", size = 14052, upload-time = "2021-12-29T01:38:21.897Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/77/8852f89a91453956582a85024d80ad96f30a41fed4c2b3dce0c9f12ecc7e/uuid7-0.1.0-py2.py3-none-any.whl", hash = "sha256:5e259bb63c8cb4aded5927ff41b444a80d0c7124e8a0ced7cf44efa1f5cccf61", size = 7477, upload-time = "2021-12-29T01:38:20.418Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.34.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/ad/713be230bcda622eaa35c28f0d328c3675c371238470abdea52417f17a8e/uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a", size = 76631, upload-time = "2025-06-01T07:48:17.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/0d/8adfeaa62945f90d19ddc461c55f4a50c258af7662d34b6a3d5d1f8646f6/uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885", size = 62431, upload-time = "2025-06-01T07:48:15.664Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "websockets" +version = "15.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/da/6462a9f510c0c49837bbc9345aca92d767a56c1fb2939e1579df1e1cdcf7/websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", size = 175423, upload-time = "2025-03-05T20:01:35.363Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9f/9d11c1a4eb046a9e106483b9ff69bce7ac880443f00e5ce64261b47b07e7/websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205", size = 173080, upload-time = "2025-03-05T20:01:37.304Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4f/b462242432d93ea45f297b6179c7333dd0402b855a912a04e7fc61c0d71f/websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a", size = 173329, upload-time = "2025-03-05T20:01:39.668Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0c/6afa1f4644d7ed50284ac59cc70ef8abd44ccf7d45850d989ea7310538d0/websockets-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e", size = 182312, upload-time = "2025-03-05T20:01:41.815Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d4/ffc8bd1350b229ca7a4db2a3e1c482cf87cea1baccd0ef3e72bc720caeec/websockets-15.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf", size = 181319, upload-time = "2025-03-05T20:01:43.967Z" }, + { url = "https://files.pythonhosted.org/packages/97/3a/5323a6bb94917af13bbb34009fac01e55c51dfde354f63692bf2533ffbc2/websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb", size = 181631, upload-time = "2025-03-05T20:01:46.104Z" }, + { url = "https://files.pythonhosted.org/packages/a6/cc/1aeb0f7cee59ef065724041bb7ed667b6ab1eeffe5141696cccec2687b66/websockets-15.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d", size = 182016, upload-time = "2025-03-05T20:01:47.603Z" }, + { url = "https://files.pythonhosted.org/packages/79/f9/c86f8f7af208e4161a7f7e02774e9d0a81c632ae76db2ff22549e1718a51/websockets-15.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9", size = 181426, upload-time = "2025-03-05T20:01:48.949Z" }, + { url = "https://files.pythonhosted.org/packages/c7/b9/828b0bc6753db905b91df6ae477c0b14a141090df64fb17f8a9d7e3516cf/websockets-15.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c", size = 181360, upload-time = "2025-03-05T20:01:50.938Z" }, + { url = "https://files.pythonhosted.org/packages/89/fb/250f5533ec468ba6327055b7d98b9df056fb1ce623b8b6aaafb30b55d02e/websockets-15.0.1-cp310-cp310-win32.whl", hash = "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256", size = 176388, upload-time = "2025-03-05T20:01:52.213Z" }, + { url = "https://files.pythonhosted.org/packages/1c/46/aca7082012768bb98e5608f01658ff3ac8437e563eca41cf068bd5849a5e/websockets-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41", size = 176830, upload-time = "2025-03-05T20:01:53.922Z" }, + { url = "https://files.pythonhosted.org/packages/9f/32/18fcd5919c293a398db67443acd33fde142f283853076049824fc58e6f75/websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431", size = 175423, upload-time = "2025-03-05T20:01:56.276Z" }, + { url = "https://files.pythonhosted.org/packages/76/70/ba1ad96b07869275ef42e2ce21f07a5b0148936688c2baf7e4a1f60d5058/websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57", size = 173082, upload-time = "2025-03-05T20:01:57.563Z" }, + { url = "https://files.pythonhosted.org/packages/86/f2/10b55821dd40eb696ce4704a87d57774696f9451108cff0d2824c97e0f97/websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905", size = 173330, upload-time = "2025-03-05T20:01:59.063Z" }, + { url = "https://files.pythonhosted.org/packages/a5/90/1c37ae8b8a113d3daf1065222b6af61cc44102da95388ac0018fcb7d93d9/websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562", size = 182878, upload-time = "2025-03-05T20:02:00.305Z" }, + { url = "https://files.pythonhosted.org/packages/8e/8d/96e8e288b2a41dffafb78e8904ea7367ee4f891dafc2ab8d87e2124cb3d3/websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792", size = 181883, upload-time = "2025-03-05T20:02:03.148Z" }, + { url = "https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413", size = 182252, upload-time = "2025-03-05T20:02:05.29Z" }, + { url = "https://files.pythonhosted.org/packages/d4/78/2d4fed9123e6620cbf1706c0de8a1632e1a28e7774d94346d7de1bba2ca3/websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8", size = 182521, upload-time = "2025-03-05T20:02:07.458Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3b/66d4c1b444dd1a9823c4a81f50231b921bab54eee2f69e70319b4e21f1ca/websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3", size = 181958, upload-time = "2025-03-05T20:02:09.842Z" }, + { url = "https://files.pythonhosted.org/packages/08/ff/e9eed2ee5fed6f76fdd6032ca5cd38c57ca9661430bb3d5fb2872dc8703c/websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf", size = 181918, upload-time = "2025-03-05T20:02:11.968Z" }, + { url = "https://files.pythonhosted.org/packages/d8/75/994634a49b7e12532be6a42103597b71098fd25900f7437d6055ed39930a/websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85", size = 176388, upload-time = "2025-03-05T20:02:13.32Z" }, + { url = "https://files.pythonhosted.org/packages/98/93/e36c73f78400a65f5e236cd376713c34182e6663f6889cd45a4a04d8f203/websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065", size = 176828, upload-time = "2025-03-05T20:02:14.585Z" }, + { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload-time = "2025-03-05T20:02:16.706Z" }, + { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload-time = "2025-03-05T20:02:18.832Z" }, + { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload-time = "2025-03-05T20:02:20.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload-time = "2025-03-05T20:02:22.286Z" }, + { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload-time = "2025-03-05T20:02:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload-time = "2025-03-05T20:02:25.669Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload-time = "2025-03-05T20:02:26.99Z" }, + { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload-time = "2025-03-05T20:02:30.291Z" }, + { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload-time = "2025-03-05T20:02:31.634Z" }, + { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload-time = "2025-03-05T20:02:33.017Z" }, + { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload-time = "2025-03-05T20:02:34.498Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/d40f779fa16f74d3468357197af8d6ad07e7c5a27ea1ca74ceb38986f77a/websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", size = 173109, upload-time = "2025-03-05T20:03:17.769Z" }, + { url = "https://files.pythonhosted.org/packages/bc/cd/5b887b8585a593073fd92f7c23ecd3985cd2c3175025a91b0d69b0551372/websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", size = 173343, upload-time = "2025-03-05T20:03:19.094Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ae/d34f7556890341e900a95acf4886833646306269f899d58ad62f588bf410/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", size = 174599, upload-time = "2025-03-05T20:03:21.1Z" }, + { url = "https://files.pythonhosted.org/packages/71/e6/5fd43993a87db364ec60fc1d608273a1a465c0caba69176dd160e197ce42/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", size = 174207, upload-time = "2025-03-05T20:03:23.221Z" }, + { url = "https://files.pythonhosted.org/packages/2b/fb/c492d6daa5ec067c2988ac80c61359ace5c4c674c532985ac5a123436cec/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", size = 174155, upload-time = "2025-03-05T20:03:25.321Z" }, + { url = "https://files.pythonhosted.org/packages/68/a1/dcb68430b1d00b698ae7a7e0194433bce4f07ded185f0ee5fb21e2a2e91e/websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", size = 176884, upload-time = "2025-03-05T20:03:27.934Z" }, + { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, +] + +[[package]] +name = "xxhash" +version = "3.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/5e/d6e5258d69df8b4ed8c83b6664f2b47d30d2dec551a29ad72a6c69eafd31/xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f", size = 84241, upload-time = "2024-08-17T09:20:38.972Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/8a/0e9feca390d512d293afd844d31670e25608c4a901e10202aa98785eab09/xxhash-3.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ece616532c499ee9afbb83078b1b952beffef121d989841f7f4b3dc5ac0fd212", size = 31970, upload-time = "2024-08-17T09:17:35.675Z" }, + { url = "https://files.pythonhosted.org/packages/16/e6/be5aa49580cd064a18200ab78e29b88b1127e1a8c7955eb8ecf81f2626eb/xxhash-3.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3171f693dbc2cef6477054a665dc255d996646b4023fe56cb4db80e26f4cc520", size = 30801, upload-time = "2024-08-17T09:17:37.353Z" }, + { url = "https://files.pythonhosted.org/packages/20/ee/b8a99ebbc6d1113b3a3f09e747fa318c3cde5b04bd9c197688fadf0eeae8/xxhash-3.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5d3e570ef46adaf93fc81b44aca6002b5a4d8ca11bd0580c07eac537f36680", size = 220927, upload-time = "2024-08-17T09:17:38.835Z" }, + { url = "https://files.pythonhosted.org/packages/58/62/15d10582ef159283a5c2b47f6d799fc3303fe3911d5bb0bcc820e1ef7ff4/xxhash-3.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cb29a034301e2982df8b1fe6328a84f4b676106a13e9135a0d7e0c3e9f806da", size = 200360, upload-time = "2024-08-17T09:17:40.851Z" }, + { url = "https://files.pythonhosted.org/packages/23/41/61202663ea9b1bd8e53673b8ec9e2619989353dba8cfb68e59a9cbd9ffe3/xxhash-3.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d0d307d27099bb0cbeea7260eb39ed4fdb99c5542e21e94bb6fd29e49c57a23", size = 428528, upload-time = "2024-08-17T09:17:42.545Z" }, + { url = "https://files.pythonhosted.org/packages/f2/07/d9a3059f702dec5b3b703737afb6dda32f304f6e9da181a229dafd052c29/xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0342aafd421795d740e514bc9858ebddfc705a75a8c5046ac56d85fe97bf196", size = 194149, upload-time = "2024-08-17T09:17:44.361Z" }, + { url = "https://files.pythonhosted.org/packages/eb/58/27caadf78226ecf1d62dbd0c01d152ed381c14c1ee4ad01f0d460fc40eac/xxhash-3.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dbbd9892c5ebffeca1ed620cf0ade13eb55a0d8c84e0751a6653adc6ac40d0c", size = 207703, upload-time = "2024-08-17T09:17:46.656Z" }, + { url = "https://files.pythonhosted.org/packages/b1/08/32d558ce23e1e068453c39aed7b3c1cdc690c177873ec0ca3a90d5808765/xxhash-3.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4cc2d67fdb4d057730c75a64c5923abfa17775ae234a71b0200346bfb0a7f482", size = 216255, upload-time = "2024-08-17T09:17:48.031Z" }, + { url = "https://files.pythonhosted.org/packages/3f/d4/2b971e2d2b0a61045f842b622ef11e94096cf1f12cd448b6fd426e80e0e2/xxhash-3.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ec28adb204b759306a3d64358a5e5c07d7b1dd0ccbce04aa76cb9377b7b70296", size = 202744, upload-time = "2024-08-17T09:17:50.045Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/6a6438864a8c4c39915d7b65effd85392ebe22710412902487e51769146d/xxhash-3.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1328f6d8cca2b86acb14104e381225a3d7b42c92c4b86ceae814e5c400dbb415", size = 210115, upload-time = "2024-08-17T09:17:51.834Z" }, + { url = "https://files.pythonhosted.org/packages/48/7d/b3c27c27d1fc868094d02fe4498ccce8cec9fcc591825c01d6bcb0b4fc49/xxhash-3.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8d47ebd9f5d9607fd039c1fbf4994e3b071ea23eff42f4ecef246ab2b7334198", size = 414247, upload-time = "2024-08-17T09:17:53.094Z" }, + { url = "https://files.pythonhosted.org/packages/a1/05/918f9e7d2fbbd334b829997045d341d6239b563c44e683b9a7ef8fe50f5d/xxhash-3.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b96d559e0fcddd3343c510a0fe2b127fbff16bf346dd76280b82292567523442", size = 191419, upload-time = "2024-08-17T09:17:54.906Z" }, + { url = "https://files.pythonhosted.org/packages/08/29/dfe393805b2f86bfc47c290b275f0b7c189dc2f4e136fd4754f32eb18a8d/xxhash-3.5.0-cp310-cp310-win32.whl", hash = "sha256:61c722ed8d49ac9bc26c7071eeaa1f6ff24053d553146d5df031802deffd03da", size = 30114, upload-time = "2024-08-17T09:17:56.566Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d7/aa0b22c4ebb7c3ccb993d4c565132abc641cd11164f8952d89eb6a501909/xxhash-3.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:9bed5144c6923cc902cd14bb8963f2d5e034def4486ab0bbe1f58f03f042f9a9", size = 30003, upload-time = "2024-08-17T09:17:57.596Z" }, + { url = "https://files.pythonhosted.org/packages/69/12/f969b81541ee91b55f1ce469d7ab55079593c80d04fd01691b550e535000/xxhash-3.5.0-cp310-cp310-win_arm64.whl", hash = "sha256:893074d651cf25c1cc14e3bea4fceefd67f2921b1bb8e40fcfeba56820de80c6", size = 26773, upload-time = "2024-08-17T09:17:59.169Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c7/afed0f131fbda960ff15eee7f304fa0eeb2d58770fade99897984852ef23/xxhash-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02c2e816896dc6f85922ced60097bcf6f008dedfc5073dcba32f9c8dd786f3c1", size = 31969, upload-time = "2024-08-17T09:18:00.852Z" }, + { url = "https://files.pythonhosted.org/packages/8c/0c/7c3bc6d87e5235672fcc2fb42fd5ad79fe1033925f71bf549ee068c7d1ca/xxhash-3.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6027dcd885e21581e46d3c7f682cfb2b870942feeed58a21c29583512c3f09f8", size = 30800, upload-time = "2024-08-17T09:18:01.863Z" }, + { url = "https://files.pythonhosted.org/packages/04/9e/01067981d98069eec1c20201f8c145367698e9056f8bc295346e4ea32dd1/xxhash-3.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1308fa542bbdbf2fa85e9e66b1077eea3a88bef38ee8a06270b4298a7a62a166", size = 221566, upload-time = "2024-08-17T09:18:03.461Z" }, + { url = "https://files.pythonhosted.org/packages/d4/09/d4996de4059c3ce5342b6e1e6a77c9d6c91acce31f6ed979891872dd162b/xxhash-3.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c28b2fdcee797e1c1961cd3bcd3d545cab22ad202c846235197935e1df2f8ef7", size = 201214, upload-time = "2024-08-17T09:18:05.616Z" }, + { url = "https://files.pythonhosted.org/packages/62/f5/6d2dc9f8d55a7ce0f5e7bfef916e67536f01b85d32a9fbf137d4cadbee38/xxhash-3.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:924361811732ddad75ff23e90efd9ccfda4f664132feecb90895bade6a1b4623", size = 429433, upload-time = "2024-08-17T09:18:06.957Z" }, + { url = "https://files.pythonhosted.org/packages/d9/72/9256303f10e41ab004799a4aa74b80b3c5977d6383ae4550548b24bd1971/xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89997aa1c4b6a5b1e5b588979d1da048a3c6f15e55c11d117a56b75c84531f5a", size = 194822, upload-time = "2024-08-17T09:18:08.331Z" }, + { url = "https://files.pythonhosted.org/packages/34/92/1a3a29acd08248a34b0e6a94f4e0ed9b8379a4ff471f1668e4dce7bdbaa8/xxhash-3.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:685c4f4e8c59837de103344eb1c8a3851f670309eb5c361f746805c5471b8c88", size = 208538, upload-time = "2024-08-17T09:18:10.332Z" }, + { url = "https://files.pythonhosted.org/packages/53/ad/7fa1a109663366de42f724a1cdb8e796a260dbac45047bce153bc1e18abf/xxhash-3.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbd2ecfbfee70bc1a4acb7461fa6af7748ec2ab08ac0fa298f281c51518f982c", size = 216953, upload-time = "2024-08-17T09:18:11.707Z" }, + { url = "https://files.pythonhosted.org/packages/35/02/137300e24203bf2b2a49b48ce898ecce6fd01789c0fcd9c686c0a002d129/xxhash-3.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:25b5a51dc3dfb20a10833c8eee25903fd2e14059e9afcd329c9da20609a307b2", size = 203594, upload-time = "2024-08-17T09:18:13.799Z" }, + { url = "https://files.pythonhosted.org/packages/23/03/aeceb273933d7eee248c4322b98b8e971f06cc3880e5f7602c94e5578af5/xxhash-3.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a8fb786fb754ef6ff8c120cb96629fb518f8eb5a61a16aac3a979a9dbd40a084", size = 210971, upload-time = "2024-08-17T09:18:15.824Z" }, + { url = "https://files.pythonhosted.org/packages/e3/64/ed82ec09489474cbb35c716b189ddc1521d8b3de12b1b5ab41ce7f70253c/xxhash-3.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a905ad00ad1e1c34fe4e9d7c1d949ab09c6fa90c919860c1534ff479f40fd12d", size = 415050, upload-time = "2024-08-17T09:18:17.142Z" }, + { url = "https://files.pythonhosted.org/packages/71/43/6db4c02dcb488ad4e03bc86d70506c3d40a384ee73c9b5c93338eb1f3c23/xxhash-3.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:963be41bcd49f53af6d795f65c0da9b4cc518c0dd9c47145c98f61cb464f4839", size = 192216, upload-time = "2024-08-17T09:18:18.779Z" }, + { url = "https://files.pythonhosted.org/packages/22/6d/db4abec29e7a567455344433d095fdb39c97db6955bb4a2c432e486b4d28/xxhash-3.5.0-cp311-cp311-win32.whl", hash = "sha256:109b436096d0a2dd039c355fa3414160ec4d843dfecc64a14077332a00aeb7da", size = 30120, upload-time = "2024-08-17T09:18:20.009Z" }, + { url = "https://files.pythonhosted.org/packages/52/1c/fa3b61c0cf03e1da4767213672efe186b1dfa4fc901a4a694fb184a513d1/xxhash-3.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:b702f806693201ad6c0a05ddbbe4c8f359626d0b3305f766077d51388a6bac58", size = 30003, upload-time = "2024-08-17T09:18:21.052Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8e/9e6fc572acf6e1cc7ccb01973c213f895cb8668a9d4c2b58a99350da14b7/xxhash-3.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:c4dcb4120d0cc3cc448624147dba64e9021b278c63e34a38789b688fd0da9bf3", size = 26777, upload-time = "2024-08-17T09:18:22.809Z" }, + { url = "https://files.pythonhosted.org/packages/07/0e/1bfce2502c57d7e2e787600b31c83535af83746885aa1a5f153d8c8059d6/xxhash-3.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14470ace8bd3b5d51318782cd94e6f94431974f16cb3b8dc15d52f3b69df8e00", size = 31969, upload-time = "2024-08-17T09:18:24.025Z" }, + { url = "https://files.pythonhosted.org/packages/3f/d6/8ca450d6fe5b71ce521b4e5db69622383d039e2b253e9b2f24f93265b52c/xxhash-3.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59aa1203de1cb96dbeab595ded0ad0c0056bb2245ae11fac11c0ceea861382b9", size = 30787, upload-time = "2024-08-17T09:18:25.318Z" }, + { url = "https://files.pythonhosted.org/packages/5b/84/de7c89bc6ef63d750159086a6ada6416cc4349eab23f76ab870407178b93/xxhash-3.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08424f6648526076e28fae6ea2806c0a7d504b9ef05ae61d196d571e5c879c84", size = 220959, upload-time = "2024-08-17T09:18:26.518Z" }, + { url = "https://files.pythonhosted.org/packages/fe/86/51258d3e8a8545ff26468c977101964c14d56a8a37f5835bc0082426c672/xxhash-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61a1ff00674879725b194695e17f23d3248998b843eb5e933007ca743310f793", size = 200006, upload-time = "2024-08-17T09:18:27.905Z" }, + { url = "https://files.pythonhosted.org/packages/02/0a/96973bd325412feccf23cf3680fd2246aebf4b789122f938d5557c54a6b2/xxhash-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2f2c61bee5844d41c3eb015ac652a0229e901074951ae48581d58bfb2ba01be", size = 428326, upload-time = "2024-08-17T09:18:29.335Z" }, + { url = "https://files.pythonhosted.org/packages/11/a7/81dba5010f7e733de88af9555725146fc133be97ce36533867f4c7e75066/xxhash-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d32a592cac88d18cc09a89172e1c32d7f2a6e516c3dfde1b9adb90ab5df54a6", size = 194380, upload-time = "2024-08-17T09:18:30.706Z" }, + { url = "https://files.pythonhosted.org/packages/fb/7d/f29006ab398a173f4501c0e4977ba288f1c621d878ec217b4ff516810c04/xxhash-3.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70dabf941dede727cca579e8c205e61121afc9b28516752fd65724be1355cc90", size = 207934, upload-time = "2024-08-17T09:18:32.133Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6e/6e88b8f24612510e73d4d70d9b0c7dff62a2e78451b9f0d042a5462c8d03/xxhash-3.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e5d0ddaca65ecca9c10dcf01730165fd858533d0be84c75c327487c37a906a27", size = 216301, upload-time = "2024-08-17T09:18:33.474Z" }, + { url = "https://files.pythonhosted.org/packages/af/51/7862f4fa4b75a25c3b4163c8a873f070532fe5f2d3f9b3fc869c8337a398/xxhash-3.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e5b5e16c5a480fe5f59f56c30abdeba09ffd75da8d13f6b9b6fd224d0b4d0a2", size = 203351, upload-time = "2024-08-17T09:18:34.889Z" }, + { url = "https://files.pythonhosted.org/packages/22/61/8d6a40f288f791cf79ed5bb113159abf0c81d6efb86e734334f698eb4c59/xxhash-3.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149b7914451eb154b3dfaa721315117ea1dac2cc55a01bfbd4df7c68c5dd683d", size = 210294, upload-time = "2024-08-17T09:18:36.355Z" }, + { url = "https://files.pythonhosted.org/packages/17/02/215c4698955762d45a8158117190261b2dbefe9ae7e5b906768c09d8bc74/xxhash-3.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:eade977f5c96c677035ff39c56ac74d851b1cca7d607ab3d8f23c6b859379cab", size = 414674, upload-time = "2024-08-17T09:18:38.536Z" }, + { url = "https://files.pythonhosted.org/packages/31/5c/b7a8db8a3237cff3d535261325d95de509f6a8ae439a5a7a4ffcff478189/xxhash-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa9f547bd98f5553d03160967866a71056a60960be00356a15ecc44efb40ba8e", size = 192022, upload-time = "2024-08-17T09:18:40.138Z" }, + { url = "https://files.pythonhosted.org/packages/78/e3/dd76659b2811b3fd06892a8beb850e1996b63e9235af5a86ea348f053e9e/xxhash-3.5.0-cp312-cp312-win32.whl", hash = "sha256:f7b58d1fd3551b8c80a971199543379be1cee3d0d409e1f6d8b01c1a2eebf1f8", size = 30170, upload-time = "2024-08-17T09:18:42.163Z" }, + { url = "https://files.pythonhosted.org/packages/d9/6b/1c443fe6cfeb4ad1dcf231cdec96eb94fb43d6498b4469ed8b51f8b59a37/xxhash-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:fa0cafd3a2af231b4e113fba24a65d7922af91aeb23774a8b78228e6cd785e3e", size = 30040, upload-time = "2024-08-17T09:18:43.699Z" }, + { url = "https://files.pythonhosted.org/packages/0f/eb/04405305f290173acc0350eba6d2f1a794b57925df0398861a20fbafa415/xxhash-3.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:586886c7e89cb9828bcd8a5686b12e161368e0064d040e225e72607b43858ba2", size = 26796, upload-time = "2024-08-17T09:18:45.29Z" }, + { url = "https://files.pythonhosted.org/packages/ab/9a/233606bada5bd6f50b2b72c45de3d9868ad551e83893d2ac86dc7bb8553a/xxhash-3.5.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2014c5b3ff15e64feecb6b713af12093f75b7926049e26a580e94dcad3c73d8c", size = 29732, upload-time = "2024-08-17T09:20:11.175Z" }, + { url = "https://files.pythonhosted.org/packages/0c/67/f75276ca39e2c6604e3bee6c84e9db8a56a4973fde9bf35989787cf6e8aa/xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fab81ef75003eda96239a23eda4e4543cedc22e34c373edcaf744e721a163986", size = 36214, upload-time = "2024-08-17T09:20:12.335Z" }, + { url = "https://files.pythonhosted.org/packages/0f/f8/f6c61fd794229cc3848d144f73754a0c107854372d7261419dcbbd286299/xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2febf914ace002132aa09169cc572e0d8959d0f305f93d5828c4836f9bc5a6", size = 32020, upload-time = "2024-08-17T09:20:13.537Z" }, + { url = "https://files.pythonhosted.org/packages/79/d3/c029c99801526f859e6b38d34ab87c08993bf3dcea34b11275775001638a/xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5d3a10609c51da2a1c0ea0293fc3968ca0a18bd73838455b5bca3069d7f8e32b", size = 40515, upload-time = "2024-08-17T09:20:14.669Z" }, + { url = "https://files.pythonhosted.org/packages/62/e3/bef7b82c1997579c94de9ac5ea7626d01ae5858aa22bf4fcb38bf220cb3e/xxhash-3.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5a74f23335b9689b66eb6dbe2a931a88fcd7a4c2cc4b1cb0edba8ce381c7a1da", size = 30064, upload-time = "2024-08-17T09:20:15.925Z" }, +] + +[[package]] +name = "yarl" +version = "1.20.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/62/51/c0edba5219027f6eab262e139f73e2417b0f4efffa23bf562f6e18f76ca5/yarl-1.20.0.tar.gz", hash = "sha256:686d51e51ee5dfe62dec86e4866ee0e9ed66df700d55c828a615640adc885307", size = 185258, upload-time = "2025-04-17T00:45:14.661Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/ab/66082639f99d7ef647a86b2ff4ca20f8ae13bd68a6237e6e166b8eb92edf/yarl-1.20.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f1f6670b9ae3daedb325fa55fbe31c22c8228f6e0b513772c2e1c623caa6ab22", size = 145054, upload-time = "2025-04-17T00:41:27.071Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c2/4e78185c453c3ca02bd11c7907394d0410d26215f9e4b7378648b3522a30/yarl-1.20.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85a231fa250dfa3308f3c7896cc007a47bc76e9e8e8595c20b7426cac4884c62", size = 96811, upload-time = "2025-04-17T00:41:30.235Z" }, + { url = "https://files.pythonhosted.org/packages/c7/45/91e31dccdcf5b7232dcace78bd51a1bb2d7b4b96c65eece0078b620587d1/yarl-1.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a06701b647c9939d7019acdfa7ebbfbb78ba6aa05985bb195ad716ea759a569", size = 94566, upload-time = "2025-04-17T00:41:32.023Z" }, + { url = "https://files.pythonhosted.org/packages/c8/21/e0aa650bcee881fb804331faa2c0f9a5d6be7609970b2b6e3cdd414e174b/yarl-1.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7595498d085becc8fb9203aa314b136ab0516c7abd97e7d74f7bb4eb95042abe", size = 327297, upload-time = "2025-04-17T00:41:34.03Z" }, + { url = "https://files.pythonhosted.org/packages/1a/a4/58f10870f5c17595c5a37da4c6a0b321589b7d7976e10570088d445d0f47/yarl-1.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af5607159085dcdb055d5678fc2d34949bd75ae6ea6b4381e784bbab1c3aa195", size = 323578, upload-time = "2025-04-17T00:41:36.492Z" }, + { url = "https://files.pythonhosted.org/packages/07/df/2506b1382cc0c4bb0d22a535dc3e7ccd53da9a59b411079013a7904ac35c/yarl-1.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:95b50910e496567434cb77a577493c26bce0f31c8a305135f3bda6a2483b8e10", size = 343212, upload-time = "2025-04-17T00:41:38.396Z" }, + { url = "https://files.pythonhosted.org/packages/ba/4a/d1c901d0e2158ad06bb0b9a92473e32d992f98673b93c8a06293e091bab0/yarl-1.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b594113a301ad537766b4e16a5a6750fcbb1497dcc1bc8a4daae889e6402a634", size = 337956, upload-time = "2025-04-17T00:41:40.519Z" }, + { url = "https://files.pythonhosted.org/packages/8b/fd/10fcf7d86f49b1a11096d6846257485ef32e3d3d322e8a7fdea5b127880c/yarl-1.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:083ce0393ea173cd37834eb84df15b6853b555d20c52703e21fbababa8c129d2", size = 333889, upload-time = "2025-04-17T00:41:42.437Z" }, + { url = "https://files.pythonhosted.org/packages/e2/cd/bae926a25154ba31c5fd15f2aa6e50a545c840e08d85e2e2e0807197946b/yarl-1.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f1a350a652bbbe12f666109fbddfdf049b3ff43696d18c9ab1531fbba1c977a", size = 322282, upload-time = "2025-04-17T00:41:44.641Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/c3ac3597dfde746c63c637c5422cf3954ebf622a8de7f09892d20a68900d/yarl-1.20.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fb0caeac4a164aadce342f1597297ec0ce261ec4532bbc5a9ca8da5622f53867", size = 336270, upload-time = "2025-04-17T00:41:46.812Z" }, + { url = "https://files.pythonhosted.org/packages/dd/42/417fd7b8da5846def29712370ea8916a4be2553de42a2c969815153717be/yarl-1.20.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d88cc43e923f324203f6ec14434fa33b85c06d18d59c167a0637164863b8e995", size = 335500, upload-time = "2025-04-17T00:41:48.896Z" }, + { url = "https://files.pythonhosted.org/packages/37/aa/c2339683f8f05f4be16831b6ad58d04406cf1c7730e48a12f755da9f5ac5/yarl-1.20.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e52d6ed9ea8fd3abf4031325dc714aed5afcbfa19ee4a89898d663c9976eb487", size = 339672, upload-time = "2025-04-17T00:41:50.965Z" }, + { url = "https://files.pythonhosted.org/packages/be/12/ab6c4df95f00d7bc9502bf07a92d5354f11d9d3cb855222a6a8d2bd6e8da/yarl-1.20.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ce360ae48a5e9961d0c730cf891d40698a82804e85f6e74658fb175207a77cb2", size = 351840, upload-time = "2025-04-17T00:41:53.074Z" }, + { url = "https://files.pythonhosted.org/packages/83/3c/08d58c51bbd3899be3e7e83cd7a691fdcf3b9f78b8699d663ecc2c090ab7/yarl-1.20.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:06d06c9d5b5bc3eb56542ceeba6658d31f54cf401e8468512447834856fb0e61", size = 359550, upload-time = "2025-04-17T00:41:55.517Z" }, + { url = "https://files.pythonhosted.org/packages/8a/15/de7906c506f85fb476f0edac4bd74569f49e5ffdcf98e246a0313bf593b9/yarl-1.20.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c27d98f4e5c4060582f44e58309c1e55134880558f1add7a87c1bc36ecfade19", size = 351108, upload-time = "2025-04-17T00:41:57.582Z" }, + { url = "https://files.pythonhosted.org/packages/25/04/c6754f5ae2cdf057ac094ac01137c17875b629b1c29ed75354626a755375/yarl-1.20.0-cp310-cp310-win32.whl", hash = "sha256:f4d3fa9b9f013f7050326e165c3279e22850d02ae544ace285674cb6174b5d6d", size = 86733, upload-time = "2025-04-17T00:41:59.757Z" }, + { url = "https://files.pythonhosted.org/packages/db/1f/5c1952f3d983ac3f5fb079b5b13b62728f8a73fd27d03e1cef7e476addff/yarl-1.20.0-cp310-cp310-win_amd64.whl", hash = "sha256:bc906b636239631d42eb8a07df8359905da02704a868983265603887ed68c076", size = 92916, upload-time = "2025-04-17T00:42:02.177Z" }, + { url = "https://files.pythonhosted.org/packages/60/82/a59d8e21b20ffc836775fa7daedac51d16bb8f3010c4fcb495c4496aa922/yarl-1.20.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fdb5204d17cb32b2de2d1e21c7461cabfacf17f3645e4b9039f210c5d3378bf3", size = 145178, upload-time = "2025-04-17T00:42:04.511Z" }, + { url = "https://files.pythonhosted.org/packages/ba/81/315a3f6f95947cfbf37c92d6fbce42a1a6207b6c38e8c2b452499ec7d449/yarl-1.20.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eaddd7804d8e77d67c28d154ae5fab203163bd0998769569861258e525039d2a", size = 96859, upload-time = "2025-04-17T00:42:06.43Z" }, + { url = "https://files.pythonhosted.org/packages/ad/17/9b64e575583158551b72272a1023cdbd65af54fe13421d856b2850a6ddb7/yarl-1.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:634b7ba6b4a85cf67e9df7c13a7fb2e44fa37b5d34501038d174a63eaac25ee2", size = 94647, upload-time = "2025-04-17T00:42:07.976Z" }, + { url = "https://files.pythonhosted.org/packages/2c/29/8f291e7922a58a21349683f6120a85701aeefaa02e9f7c8a2dc24fe3f431/yarl-1.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d409e321e4addf7d97ee84162538c7258e53792eb7c6defd0c33647d754172e", size = 355788, upload-time = "2025-04-17T00:42:09.902Z" }, + { url = "https://files.pythonhosted.org/packages/26/6d/b4892c80b805c42c228c6d11e03cafabf81662d371b0853e7f0f513837d5/yarl-1.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ea52f7328a36960ba3231c6677380fa67811b414798a6e071c7085c57b6d20a9", size = 344613, upload-time = "2025-04-17T00:42:11.768Z" }, + { url = "https://files.pythonhosted.org/packages/d7/0e/517aa28d3f848589bae9593717b063a544b86ba0a807d943c70f48fcf3bb/yarl-1.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8703517b924463994c344dcdf99a2d5ce9eca2b6882bb640aa555fb5efc706a", size = 370953, upload-time = "2025-04-17T00:42:13.983Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9b/5bd09d2f1ad6e6f7c2beae9e50db78edd2cca4d194d227b958955573e240/yarl-1.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:077989b09ffd2f48fb2d8f6a86c5fef02f63ffe6b1dd4824c76de7bb01e4f2e2", size = 369204, upload-time = "2025-04-17T00:42:16.386Z" }, + { url = "https://files.pythonhosted.org/packages/9c/85/d793a703cf4bd0d4cd04e4b13cc3d44149470f790230430331a0c1f52df5/yarl-1.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0acfaf1da020253f3533526e8b7dd212838fdc4109959a2c53cafc6db611bff2", size = 358108, upload-time = "2025-04-17T00:42:18.622Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/b6c71e13549c1f6048fbc14ce8d930ac5fb8bafe4f1a252e621a24f3f1f9/yarl-1.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4230ac0b97ec5eeb91d96b324d66060a43fd0d2a9b603e3327ed65f084e41f8", size = 346610, upload-time = "2025-04-17T00:42:20.9Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1a/d6087d58bdd0d8a2a37bbcdffac9d9721af6ebe50d85304d9f9b57dfd862/yarl-1.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a6a1e6ae21cdd84011c24c78d7a126425148b24d437b5702328e4ba640a8902", size = 365378, upload-time = "2025-04-17T00:42:22.926Z" }, + { url = "https://files.pythonhosted.org/packages/02/84/e25ddff4cbc001dbc4af76f8d41a3e23818212dd1f0a52044cbc60568872/yarl-1.20.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:86de313371ec04dd2531f30bc41a5a1a96f25a02823558ee0f2af0beaa7ca791", size = 356919, upload-time = "2025-04-17T00:42:25.145Z" }, + { url = "https://files.pythonhosted.org/packages/04/76/898ae362353bf8f64636495d222c8014c8e5267df39b1a9fe1e1572fb7d0/yarl-1.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:dd59c9dd58ae16eaa0f48c3d0cbe6be8ab4dc7247c3ff7db678edecbaf59327f", size = 364248, upload-time = "2025-04-17T00:42:27.475Z" }, + { url = "https://files.pythonhosted.org/packages/1b/b0/9d9198d83a622f1c40fdbf7bd13b224a6979f2e1fc2cf50bfb1d8773c495/yarl-1.20.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a0bc5e05f457b7c1994cc29e83b58f540b76234ba6b9648a4971ddc7f6aa52da", size = 378418, upload-time = "2025-04-17T00:42:29.333Z" }, + { url = "https://files.pythonhosted.org/packages/c7/ce/1f50c1cc594cf5d3f5bf4a9b616fca68680deaec8ad349d928445ac52eb8/yarl-1.20.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c9471ca18e6aeb0e03276b5e9b27b14a54c052d370a9c0c04a68cefbd1455eb4", size = 383850, upload-time = "2025-04-17T00:42:31.668Z" }, + { url = "https://files.pythonhosted.org/packages/89/1e/a59253a87b35bfec1a25bb5801fb69943330b67cfd266278eb07e0609012/yarl-1.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:40ed574b4df723583a26c04b298b283ff171bcc387bc34c2683235e2487a65a5", size = 381218, upload-time = "2025-04-17T00:42:33.523Z" }, + { url = "https://files.pythonhosted.org/packages/85/b0/26f87df2b3044b0ef1a7cf66d321102bdca091db64c5ae853fcb2171c031/yarl-1.20.0-cp311-cp311-win32.whl", hash = "sha256:db243357c6c2bf3cd7e17080034ade668d54ce304d820c2a58514a4e51d0cfd6", size = 86606, upload-time = "2025-04-17T00:42:35.873Z" }, + { url = "https://files.pythonhosted.org/packages/33/46/ca335c2e1f90446a77640a45eeb1cd8f6934f2c6e4df7db0f0f36ef9f025/yarl-1.20.0-cp311-cp311-win_amd64.whl", hash = "sha256:8c12cd754d9dbd14204c328915e23b0c361b88f3cffd124129955e60a4fbfcfb", size = 93374, upload-time = "2025-04-17T00:42:37.586Z" }, + { url = "https://files.pythonhosted.org/packages/c3/e8/3efdcb83073df978bb5b1a9cc0360ce596680e6c3fac01f2a994ccbb8939/yarl-1.20.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e06b9f6cdd772f9b665e5ba8161968e11e403774114420737f7884b5bd7bdf6f", size = 147089, upload-time = "2025-04-17T00:42:39.602Z" }, + { url = "https://files.pythonhosted.org/packages/60/c3/9e776e98ea350f76f94dd80b408eaa54e5092643dbf65fd9babcffb60509/yarl-1.20.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b9ae2fbe54d859b3ade40290f60fe40e7f969d83d482e84d2c31b9bff03e359e", size = 97706, upload-time = "2025-04-17T00:42:41.469Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5b/45cdfb64a3b855ce074ae607b9fc40bc82e7613b94e7612b030255c93a09/yarl-1.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d12b8945250d80c67688602c891237994d203d42427cb14e36d1a732eda480e", size = 95719, upload-time = "2025-04-17T00:42:43.666Z" }, + { url = "https://files.pythonhosted.org/packages/2d/4e/929633b249611eeed04e2f861a14ed001acca3ef9ec2a984a757b1515889/yarl-1.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:087e9731884621b162a3e06dc0d2d626e1542a617f65ba7cc7aeab279d55ad33", size = 343972, upload-time = "2025-04-17T00:42:45.391Z" }, + { url = "https://files.pythonhosted.org/packages/49/fd/047535d326c913f1a90407a3baf7ff535b10098611eaef2c527e32e81ca1/yarl-1.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69df35468b66c1a6e6556248e6443ef0ec5f11a7a4428cf1f6281f1879220f58", size = 339639, upload-time = "2025-04-17T00:42:47.552Z" }, + { url = "https://files.pythonhosted.org/packages/48/2f/11566f1176a78f4bafb0937c0072410b1b0d3640b297944a6a7a556e1d0b/yarl-1.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b2992fe29002fd0d4cbaea9428b09af9b8686a9024c840b8a2b8f4ea4abc16f", size = 353745, upload-time = "2025-04-17T00:42:49.406Z" }, + { url = "https://files.pythonhosted.org/packages/26/17/07dfcf034d6ae8837b33988be66045dd52f878dfb1c4e8f80a7343f677be/yarl-1.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4c903e0b42aab48abfbac668b5a9d7b6938e721a6341751331bcd7553de2dcae", size = 354178, upload-time = "2025-04-17T00:42:51.588Z" }, + { url = "https://files.pythonhosted.org/packages/15/45/212604d3142d84b4065d5f8cab6582ed3d78e4cc250568ef2a36fe1cf0a5/yarl-1.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf099e2432131093cc611623e0b0bcc399b8cddd9a91eded8bfb50402ec35018", size = 349219, upload-time = "2025-04-17T00:42:53.674Z" }, + { url = "https://files.pythonhosted.org/packages/e6/e0/a10b30f294111c5f1c682461e9459935c17d467a760c21e1f7db400ff499/yarl-1.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7f62f5dc70a6c763bec9ebf922be52aa22863d9496a9a30124d65b489ea672", size = 337266, upload-time = "2025-04-17T00:42:55.49Z" }, + { url = "https://files.pythonhosted.org/packages/33/a6/6efa1d85a675d25a46a167f9f3e80104cde317dfdf7f53f112ae6b16a60a/yarl-1.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:54ac15a8b60382b2bcefd9a289ee26dc0920cf59b05368c9b2b72450751c6eb8", size = 360873, upload-time = "2025-04-17T00:42:57.895Z" }, + { url = "https://files.pythonhosted.org/packages/77/67/c8ab718cb98dfa2ae9ba0f97bf3cbb7d45d37f13fe1fbad25ac92940954e/yarl-1.20.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:25b3bc0763a7aca16a0f1b5e8ef0f23829df11fb539a1b70476dcab28bd83da7", size = 360524, upload-time = "2025-04-17T00:43:00.094Z" }, + { url = "https://files.pythonhosted.org/packages/bd/e8/c3f18660cea1bc73d9f8a2b3ef423def8dadbbae6c4afabdb920b73e0ead/yarl-1.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b2586e36dc070fc8fad6270f93242124df68b379c3a251af534030a4a33ef594", size = 365370, upload-time = "2025-04-17T00:43:02.242Z" }, + { url = "https://files.pythonhosted.org/packages/c9/99/33f3b97b065e62ff2d52817155a89cfa030a1a9b43fee7843ef560ad9603/yarl-1.20.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:866349da9d8c5290cfefb7fcc47721e94de3f315433613e01b435473be63daa6", size = 373297, upload-time = "2025-04-17T00:43:04.189Z" }, + { url = "https://files.pythonhosted.org/packages/3d/89/7519e79e264a5f08653d2446b26d4724b01198a93a74d2e259291d538ab1/yarl-1.20.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:33bb660b390a0554d41f8ebec5cd4475502d84104b27e9b42f5321c5192bfcd1", size = 378771, upload-time = "2025-04-17T00:43:06.609Z" }, + { url = "https://files.pythonhosted.org/packages/3a/58/6c460bbb884abd2917c3eef6f663a4a873f8dc6f498561fc0ad92231c113/yarl-1.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:737e9f171e5a07031cbee5e9180f6ce21a6c599b9d4b2c24d35df20a52fabf4b", size = 375000, upload-time = "2025-04-17T00:43:09.01Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/dd7ed1aa23fea996834278d7ff178f215b24324ee527df53d45e34d21d28/yarl-1.20.0-cp312-cp312-win32.whl", hash = "sha256:839de4c574169b6598d47ad61534e6981979ca2c820ccb77bf70f4311dd2cc64", size = 86355, upload-time = "2025-04-17T00:43:11.311Z" }, + { url = "https://files.pythonhosted.org/packages/ca/c6/333fe0338305c0ac1c16d5aa7cc4841208d3252bbe62172e0051006b5445/yarl-1.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:3d7dbbe44b443b0c4aa0971cb07dcb2c2060e4a9bf8d1301140a33a93c98e18c", size = 92904, upload-time = "2025-04-17T00:43:13.087Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1f/70c57b3d7278e94ed22d85e09685d3f0a38ebdd8c5c73b65ba4c0d0fe002/yarl-1.20.0-py3-none-any.whl", hash = "sha256:5d0fe6af927a47a230f31e6004621fd0959eaa915fc62acfafa67ff7229a3124", size = 46124, upload-time = "2025-04-17T00:45:12.199Z" }, +] + +[[package]] +name = "zipp" +version = "3.22.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/12/b6/7b3d16792fdf94f146bed92be90b4eb4563569eca91513c8609aebf0c167/zipp-3.22.0.tar.gz", hash = "sha256:dd2f28c3ce4bc67507bfd3781d21b7bb2be31103b51a4553ad7d90b84e57ace5", size = 25257, upload-time = "2025-05-26T14:46:32.217Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ad/da/f64669af4cae46f17b90798a827519ce3737d31dbafad65d391e49643dc4/zipp-3.22.0-py3-none-any.whl", hash = "sha256:fe208f65f2aca48b81f9e6fd8cf7b8b32c26375266b009b413d45306b6148343", size = 9796, upload-time = "2025-05-26T14:46:30.775Z" }, +] From 316761c7a9d94c1dfb792b2b9d8099c8c2c13291 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sat, 28 Jun 2025 10:57:39 +0300 Subject: [PATCH 03/33] Implement storing data in S3 bucket in addition to a local file --- allocator_bot/api.py | 17 ++++++++++++++-- allocator_bot/config.py | 34 ++++++++++++++++++++++++++++++++ allocator_bot/portfolio.py | 40 ++++++++++++++++++++++++-------------- 3 files changed, 74 insertions(+), 17 deletions(-) diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 2369f2d..51d44c2 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -141,8 +141,21 @@ def get_allocation_data( if not allocation_id: return JSONResponse(content={"error": "Allocation ID is required"}) - with open(os.path.join(DATA_FOLDER_PATH, "allocations.json"), "r") as f: - allocations = json.load(f) + allocations = {} + if config.s3_enabled: + allocations = load_allocations_from_s3() + else: + if not config.data_folder_path: + return JSONResponse( + content={"error": "Data folder path is not configured"}, + status_code=500, + ) + try: + data_folder_path = os.path.abspath(config.data_folder_path) + with open(os.path.join(data_folder_path, "allocations.json"), "r") as f: + allocations = json.load(f) + except FileNotFoundError: + allocations = {} selected_allocation = allocations.get( allocation_id, [{"Ticker": "N/A", "Quantity": 0}] diff --git a/allocator_bot/config.py b/allocator_bot/config.py index 57347af..b77b060 100644 --- a/allocator_bot/config.py +++ b/allocator_bot/config.py @@ -20,3 +20,37 @@ fmp_api_key=os.getenv("FMP_API_KEY", None), ) + +def load_allocations_from_s3(): + """Load allocations.json from S3 bucket.""" + s3 = boto3.client( + "s3", + endpoint_url=config.s3_endpoint, + aws_access_key_id=config.s3_access_key, + aws_secret_access_key=config.s3_secret_key, + ) + try: + obj = s3.get_object( + Bucket=config.s3_bucket_name, Key=config.allocation_data_file + ) + return json.loads(obj["Body"].read().decode("utf-8")) + except ClientError as e: + if e.response["Error"]["Code"] == "NoSuchKey": + return {} + else: + raise + + +def save_allocations_to_s3(allocations: dict): + """Save allocations to S3 bucket.""" + s3 = boto3.client( + "s3", + endpoint_url=config.s3_endpoint, + aws_access_key_id=config.s3_access_key, + aws_secret_access_key=config.s3_secret_key, + ) + s3.put_object( + Bucket=config.s3_bucket_name, + Key=config.allocation_data_file, + Body=json.dumps(allocations, indent=4), + ) diff --git a/allocator_bot/portfolio.py b/allocator_bot/portfolio.py index 67cf251..6efd98e 100644 --- a/allocator_bot/portfolio.py +++ b/allocator_bot/portfolio.py @@ -4,8 +4,10 @@ from datetime import datetime, timedelta import pandas as pd -from openbb import obb -from pypfopt import EfficientFrontier, expected_returns, risk_models +from openbb import obb # type: ignore +from pypfopt import EfficientFrontier, expected_returns, risk_models # type: ignore + +from .config import config, load_allocations_from_s3, save_allocations_to_s3 def fetch_historical_prices( @@ -15,7 +17,7 @@ def fetch_historical_prices( if end_date is None: end_date = datetime.today().strftime("%Y-%m-%d") - price_data = obb.equity.price.historical( + price_data = obb.equity.price.historical( # type: ignore symbol=",".join(tickers), start_date=start_date, end_date=end_date, @@ -138,17 +140,25 @@ def prepare_allocation( return pd.DataFrame(results) -def save_allocation(allocation_id: str, allocation_data: dict) -> None: +def save_allocation(allocation_id: str, allocation_data: list[dict]) -> str: """Save the allocation to a json file.""" - data_folder_path = os.getenv("DATA_FOLDER_PATH") - if not data_folder_path: - raise ValueError("DATA_FOLDER_PATH environment variable is not set") - - with open(os.path.join(data_folder_path, "allocations.json"), "r") as f: - allocation_results_json = json.load(f) - - allocation_results_json[allocation_id] = allocation_data - - with open(os.path.join(data_folder_path, "allocations.json"), "w") as f: - json.dump(allocation_results_json, f, indent=4) + if config.s3_enabled: + allocations = load_allocations_from_s3() + allocations[allocation_id] = allocation_data + save_allocations_to_s3(allocations) + else: + if not config.data_folder_path: + raise ValueError("data_folder_path is not configured") + + allocations_file = os.path.join(config.data_folder_path, "allocations.json") + if os.path.exists(allocations_file): + with open(allocations_file, "r") as f: + allocation_results_json = json.load(f) + else: + allocation_results_json = {} + + allocation_results_json[allocation_id] = allocation_data + + with open(allocations_file, "w") as f: + json.dump(allocation_results_json, f, indent=4) return allocation_id From b2b26852f0ea55d99535558c1da8b1e2aab2f381 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sat, 28 Jun 2025 10:59:47 +0300 Subject: [PATCH 04/33] Migrate the agent to use openbb-ai, latest magentic and deepseek via openrouter --- allocator_bot/agent.py | 258 ++++++++++++++++++--------------------- allocator_bot/api.py | 6 +- allocator_bot/models.py | 217 +++++++------------------------- allocator_bot/prompts.py | 4 +- allocator_bot/utils.py | 31 ++--- 5 files changed, 181 insertions(+), 335 deletions(-) diff --git a/allocator_bot/agent.py b/allocator_bot/agent.py index 8fb342a..aa029f7 100644 --- a/allocator_bot/agent.py +++ b/allocator_bot/agent.py @@ -1,100 +1,78 @@ -import json import logging from typing import AsyncGenerator -from uuid import uuid4 - from magentic import ( AssistantMessage, AsyncStreamedStr, - OpenaiChatModel, SystemMessage, UserMessage, chatprompt, prompt, ) +from magentic.chat_model.openrouter_chat_model import OpenRouterChatModel +from magentic.chat_model.retry_chat_model import RetryChatModel +from openbb_ai.helpers import citations, cite, message_chunk, reasoning_step, table +from openbb_ai.models import BaseSSE, QueryRequest, Widget, WidgetParam -from .models import ( - AgentQueryRequest, - ArtifactSSE, - ArtifactSSEData, - StatusUpdateSSE, - StatusUpdateSSEData, - TaskStructure, -) +from .models import TaskStructure +from .portfolio import prepare_allocation, save_allocation from .prompts import ( DO_I_NEED_TO_ALLOCATE_THE_PORTFOLIO_PROMPT, PARSE_USER_MESSAGE_TO_STRUCTURE_THE_TASK, SYSTEM_PROMPT, ) -from .utils import is_last_message, sanitize_message, generate_id - -from .portfolio import prepare_allocation, save_allocation +from .utils import generate_id, is_last_message, sanitize_message logger = logging.getLogger(__name__) -def need_to_allocate_portfolio(conversation: str) -> bool: - """Determine if the user needs to allocate the portfolio right now.""" +@prompt( + DO_I_NEED_TO_ALLOCATE_THE_PORTFOLIO_PROMPT, + model=RetryChatModel( + OpenRouterChatModel( + model="deepseek/deepseek-chat-v3-0324", + temperature=0.0, + provider_sort="latency", + require_parameters=True, + provider_ignore=["GMICloud"], + ), + max_retries=5, + ), +) +async def _need_to_allocate_portfolio(conversation: str) -> bool: ... # type: ignore[empty-body] - @prompt( - DO_I_NEED_TO_ALLOCATE_THE_PORTFOLIO_PROMPT, - model=OpenaiChatModel(model="gpt-4o-mini", temperature=0.0), - ) - def _need_to_allocate_portfolio(conversation: str) -> bool: ... - - # I'm using a while loop here for exception handling. This is to retry - # the prompt if the LLM returns something that is not a boolean. - attempt = 0 - while attempt <= 5: - try: - need_to_allocate = _need_to_allocate_portfolio(conversation) - if isinstance(need_to_allocate, bool): - return need_to_allocate - else: - raise ValueError("Need to allocate portfolio is not a boolean") - except Exception as e: - attempt += 1 - if attempt > 5: - logger.error(f"Error parsing user message: {e}") - raise e - - -def get_task_structure(messages: str) -> dict: - """Get the task structure from the user messages.""" - - @prompt( - PARSE_USER_MESSAGE_TO_STRUCTURE_THE_TASK, - model=OpenaiChatModel(model="gpt-4o", temperature=0.0), - ) - def parse_user_message(conversation: str) -> TaskStructure: ... - - # I'm using a while loop here for exception handling. This is to retry the - # prompt if the LLM fails to return a an answer with the requires structure. - attempt = 0 - while attempt <= 5: - try: - task_structure = parse_user_message(messages) - return task_structure - except Exception as e: - attempt += 1 - if attempt > 5: - logger.error(f"Error parsing user message: {e}") - raise e - - -async def execution_loop(request: AgentQueryRequest) -> AsyncGenerator[dict, None]: + +@prompt( + PARSE_USER_MESSAGE_TO_STRUCTURE_THE_TASK, + model=RetryChatModel( + OpenRouterChatModel( + model="deepseek/deepseek-chat-v3-0324", + temperature=0.0, + provider_sort="latency", + require_parameters=True, + provider_ignore=["GMICloud"], + ), + max_retries=5, + ), +) +async def _get_task_structure(conversation: str) -> TaskStructure: ... # type: ignore[empty-body] + + +async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None]: """Process the query and generate responses.""" - chat_messages = [] + chat_messages: list = [] + citations_list: list = [] for message in request.messages: if message.role == "ai": - chat_messages.append( - AssistantMessage(content=sanitize_message(message.content)) - ) + if hasattr(message, "content") and isinstance(message.content, str): + chat_messages.append( + AssistantMessage(content=sanitize_message(message.content)) + ) elif message.role == "human": - user_message_content = sanitize_message(message.content) - chat_messages.append(UserMessage(content=user_message_content)) + if hasattr(message, "content") and isinstance(message.content, str): + user_message_content = sanitize_message(message.content) + chat_messages.append(UserMessage(content=user_message_content)) if is_last_message(message, request.messages): # I intentionally am not using function calling in this example @@ -102,45 +80,35 @@ async def execution_loop(request: AgentQueryRequest) -> AsyncGenerator[dict, Non # explicitly so that others can use this code as a reference to learn # what's going on under the hood and how server sent events # are being yielded. - if need_to_allocate_portfolio(str(chat_messages)): - yield StatusUpdateSSE( - data=StatusUpdateSSEData( - eventType="INFO", - message="Starting asset basket allocation...\n" - + "Fetching task structure...", - ), - ).model_dump() - - task_structure = get_task_structure(str(chat_messages)) - - yield StatusUpdateSSE( - data=StatusUpdateSSEData( - eventType="INFO", - message="Task structure:", - details=[task_structure.__pretty_dict__()], - ), - ).model_dump() - - yield StatusUpdateSSE( - data=StatusUpdateSSEData( - eventType="INFO", message="Fetching historical prices..." - ), - ).model_dump() + if await _need_to_allocate_portfolio(str(chat_messages)): + yield reasoning_step( + message="Starting asset basket allocation...\n" + + "Fetching task structure..." + ) + + task_structure = await _get_task_structure(str(chat_messages)) + yield reasoning_step( + message="Task structure:", + details=task_structure.__pretty_dict__(), + ) + + yield reasoning_step( + message="Fetching historical prices...", + details={"symbols": ", ".join(task_structure.asset_symbols)}, + ) task_dict = task_structure.model_dump() task_dict.pop("task") + allocation = None try: allocation = prepare_allocation(**task_dict) except Exception as e: - yield StatusUpdateSSE( - event="copilotStatusUpdate", - data=StatusUpdateSSEData( - eventType="ERROR", - message=f"Error preparing allocation. {str(e)}", - ), - ).model_dump() + yield reasoning_step( + event_type="ERROR", + message=f"Error preparing allocation. {str(e)}", + ) chat_messages.append( AssistantMessage( content=f"Error preparing allocation. {str(e)}" @@ -150,36 +118,24 @@ async def execution_loop(request: AgentQueryRequest) -> AsyncGenerator[dict, Non if allocation is not None: try: - yield StatusUpdateSSE( - event="copilotStatusUpdate", - data=StatusUpdateSSEData( - eventType="INFO", - message="Basket weights optimized. Saving allocation...", - ), - ).model_dump() + yield reasoning_step( + message="Basket weights optimized. Saving allocation...", + ) allocation_id = save_allocation( allocation_id=generate_id(length=2), allocation_data=allocation.to_dict(orient="records"), ) - yield StatusUpdateSSE( - event="copilotStatusUpdate", - data=StatusUpdateSSEData( - eventType="INFO", - message="Allocation saved successfully.", - ), - ).model_dump() - - yield ArtifactSSE( - data=ArtifactSSEData( - type="table", - name="Allocation", - description="Allocation of assets to the in the basket.", - uuid=uuid4(), - content=allocation.to_dict(orient="records"), - ), - ).model_dump() + yield reasoning_step( + message="Allocation saved successfully.", + ) + + yield table( + data=allocation.to_dict(orient="records"), + name="Allocation", + description="Allocation of assets to the in the basket.", + ) chat_messages.append( AssistantMessage( @@ -194,29 +150,53 @@ async def execution_loop(request: AgentQueryRequest) -> AsyncGenerator[dict, Non + "At the end of your message include the allocation id formatted as an inline code block." ) ) + if allocation_id: + citations_list = [ + cite( + widget=Widget( + name="Asset allocation data", + widget_id="allocation-data", + description="Allocation data for the portfolio.", + origin="Allocator Bot Backend", + params=[ + WidgetParam( + name="allocation_id", + type="text", + description="Unique identifier for the allocation", + ) + ], + ), + input_arguments={ + "allocation_id": allocation_id + }, + extra_details={"allocation_id": allocation_id}, + ) + ] except Exception as e: - yield StatusUpdateSSE( - event="copilotStatusUpdate", - data=StatusUpdateSSEData( - eventType="ERROR", - message=f"Error saving allocation. {str(e)}", - ), - ).model_dump() + yield reasoning_step( + event_type="ERROR", + message=f"Error saving allocation. {str(e)}", + ) @chatprompt( SystemMessage(SYSTEM_PROMPT), *chat_messages, - model=OpenaiChatModel(model="gpt-4o", temperature=0.7), + model=OpenRouterChatModel( + model="deepseek/deepseek-chat-v3-0324", + temperature=0.7, + provider_sort="latency", + require_parameters=True, + ), + max_retries=5, ) - async def _llm() -> AsyncStreamedStr | str: ... + async def _llm() -> AsyncStreamedStr | str: ... # type: ignore[empty-body] llm_result = await _llm() if isinstance(llm_result, str): - yield { - "event": "copilotMessageChunk", - "data": json.dumps({"delta": llm_result}), - } + yield message_chunk(text=llm_result) else: async for chunk in llm_result: - yield {"event": "copilotMessageChunk", "data": json.dumps({"delta": chunk})} + yield message_chunk(text=chunk) + if len(citations_list) > 0: + yield citations(citations_list) diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 51d44c2..8d64f81 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -185,6 +185,8 @@ def get_allocation_data( @app.post("/v1/query") -async def query(request: AgentQueryRequest) -> EventSourceResponse: +async def query(request: QueryRequest) -> EventSourceResponse: """Query the Allocator Bot.""" - return EventSourceResponse(execution_loop(request)) + return EventSourceResponse( + (event.model_dump() async for event in execution_loop(request)) + ) diff --git a/allocator_bot/models.py b/allocator_bot/models.py index f40e34f..4873096 100644 --- a/allocator_bot/models.py +++ b/allocator_bot/models.py @@ -1,190 +1,65 @@ -import json -from enum import Enum -from typing import Any, Literal -from uuid import UUID +from pydantic import BaseModel, Field, field_validator -from pydantic import BaseModel, Field, JsonValue, field_validator, model_validator +class AppConfig(BaseModel): + """Application configuration loaded from environment variables.""" -class RoleEnum(str, Enum): - ai = "ai" - human = "human" - tool = "tool" - - -class ChartParameters(BaseModel): - chartType: Literal["line", "bar", "scatter"] - xKey: str - yKey: list[str] - - -class DataFormat(BaseModel): - """Describe the format of the data, and how it should be handled.""" - - type: Literal["text", "table", "chart"] | None = None - chart_params: ChartParameters | None = None - - -class DataContent(BaseModel): - content: JsonValue = Field( - description="The data content, which must be JSON-serializable. Can be a primitive type (str, int, float, bool), list, or dict." # noqa: E501 + agent_host_url: str | None = Field( + description="The host URL and port number where the app is running." ) - data_format: DataFormat | None = Field( - default=None, - description="Optional. How the data should be parsed. If not provided, a best-effort attempt will be made to automatically determine the data format.", # noqa: E501 + app_api_key: str | None = Field(description="The API key to access the bot.") + openrouter_api_key: str | None = Field( + description="OpenRouter API key for AI functionality." ) - - -class LlmFunctionCall(BaseModel): - function: str - input_arguments: dict[str, Any] - - -class LlmMessage(BaseModel): - role: RoleEnum = Field( - description="The role of the entity that is creating the message" + data_folder_path: str | None = Field( + description="The path to the folder that will store the allocation data." ) - content: LlmFunctionCall | str = Field( - description="The content of the message or the result of a function call." + s3_enabled: bool | None = Field( + default=False, description="Set to true to enable S3 storage." ) - - @field_validator("content", mode="before") - def parse_content(cls, v): - # We do this to make sure, if the client appends the function call to - # the messages that we're able to parse it correctly since the client - # will send the LlmFunctionCall encoded as a string, rather than JSON. - if isinstance(v, str): - try: - parsed_content = json.loads(v) - if isinstance(parsed_content, str): - # Sometimes we need a second decode if the content is - # escaped and string-encoded - parsed_content = json.loads(parsed_content) - return LlmFunctionCall(**parsed_content) - except (json.JSONDecodeError, TypeError, ValueError): - return v - - -class LlmClientFunctionCallResult(BaseModel): - """Contains the result of a function call made against a client.""" - - role: RoleEnum = RoleEnum.tool - function: str = Field(description="The name of the called function.") - input_arguments: dict[str, Any] | None = Field( - default=None, description="The input arguments passed to the function" - ) - data: list[DataContent] = Field(description="The content of the function call.") - - -class RawContext(BaseModel): - uuid: UUID = Field(description="The UUID of the widget.") - name: str = Field(description="The name of the widget.") - description: str = Field( - description="A description of the data contained in the widget" + s3_endpoint: str | None = Field(default=None, description="S3 endpoint URL.") + s3_access_key: str | None = Field(default=None, description="S3 access key.") + s3_secret_key: str | None = Field(default=None, description="S3 secret key.") + s3_bucket_name: str | None = Field(default=None, description="S3 bucket name.") + allocation_data_file: str = Field( + default="allocations.json", description="Path to allocation file in S3." ) - data: DataContent = Field(description="The data content of the widget") - metadata: dict[str, Any] | None = Field( - default=None, - description="Additional widget metadata (eg. the selected ticker, etc)", - ) - - -class Widget(BaseModel): - uuid: str = Field(description="The UUID of the widget.") - name: str = Field(description="The name of the widget.") - description: str = Field( - description="A description of the data contained in the widget" - ) - metadata: dict[Any, Any] | None = Field( - default=None, - description="Additional widget metadata (eg. the selected ticker, etc)", + fmp_api_key: str | None = Field( + default=None, description="Financial Modeling Prep API key for data retrieval." ) + @field_validator("data_folder_path") + def validate_data_folder_path(cls, value: str | None, info) -> str | None: + """Validate the data folder path. -class AgentQueryRequest(BaseModel): - messages: list[LlmClientFunctionCallResult | LlmMessage] = Field( - description="A list of messages to submit to the copilot." - ) - context: str | list[RawContext] | None = Field( - default=None, description="Additional context." - ) - use_docs: bool = Field( - default=None, description="Set True to use uploaded docs when answering query." - ) - widgets: list[Widget] = Field( - default=None, description="A list of widgets for the copilot to consider." - ) - - @field_validator("messages") - @classmethod - def check_messages_not_empty(cls, value): - if not value: - raise ValueError("messages list cannot be empty.") + Must be set if S3 is not enabled, must be an absolute path, and must exist. + Raises ValueError if the path is not valid. + """ + if value is None and not info.data.get("s3_enabled", False): + raise ValueError("Data folder path must be set when S3 is not enabled.") return value + @field_validator("s3_endpoint", "s3_access_key", "s3_secret_key", "s3_bucket_name") + def validate_s3_config(cls, value: str | None, info) -> str | None: + """Validate S3 configuration values. -class BaseSSE(BaseModel): - event: Any - data: Any - - def model_dump(self, *args, **kwargs) -> dict: - return { - "event": self.event, - "data": self.data.model_dump_json(exclude_none=True), - } - - -class FunctionCallSSEData(BaseModel): - function: Literal["get_widget_data"] - input_arguments: dict - copilot_function_call_arguments: dict | None = Field( - default=None, - description="The original arguments of the function call to copilot. This may be different to what is actually returned as the function call to the client.", # noqa: E501 - ) - - -class FunctionCallSSE(BaseSSE): - event: Literal["copilotFunctionCall"] = "copilotFunctionCall" - data: FunctionCallSSEData - - -class StatusUpdateSSEData(BaseModel): - eventType: Literal["INFO", "WARNING", "ERROR"] - message: str - group: Literal["reasoning"] = "reasoning" - details: list[dict[str, str | int | float | None]] | None = None - - @model_validator(mode="before") - @classmethod - def exclude_fields(cls, values): - # Exclude these fields from being in the "details" field. (since this - # pollutes the JSON output) - _exclude_fields = [] - - if details := values.get("details"): - for detail in details: - for key in list(detail.keys()): - if key.lower() in _exclude_fields: - detail.pop(key, None) - return values - - -class StatusUpdateSSE(BaseSSE): - event: Literal["copilotStatusUpdate"] = "copilotStatusUpdate" - data: StatusUpdateSSEData - - -class ArtifactSSEData(BaseModel): - type: Literal["text", "table", "chart"] - name: str - description: str - uuid: UUID - content: str | list[dict] + If S3 is enabled, all values must be set and not None. + If S3 is not enabled, these values can be None. + """ + if value is None and info.data.get("s3_enabled", False): + raise ValueError("S3 configuration values must be set when S3 is enabled.") + return value + @field_validator("fmp_api_key") + def validate_fmp_api_key(cls, value: str | None) -> str | None: + """Validate the Financial Modeling Prep API key. -class ArtifactSSE(BaseSSE): - event: Literal["copilotMessageArtifact"] = "copilotMessageArtifact" - data: ArtifactSSEData + Must be set if FMP data retrieval is required. + Raises ValueError if the key is not valid. + """ + if value is None: + raise ValueError("FMP API key must be set for data retrieval.") + return value class TaskStructure(BaseModel): diff --git a/allocator_bot/prompts.py b/allocator_bot/prompts.py index f34304e..004053f 100644 --- a/allocator_bot/prompts.py +++ b/allocator_bot/prompts.py @@ -41,6 +41,7 @@ You are tasked with determining if the user needs to calculate the asset allocation right now or they are just asking questions. You will need to return a boolean value (True or False) indicating if the user's query is asking to calculate the asset allocation. +You must use tools to submit the response. Here is the history of the conversation between the user and the Allocator Bot: CONVERSATION_START @@ -53,9 +54,10 @@ You are given a conversation history and your task is to structure the task for the Allocator Bot. If the conversation history has multiple asset buckets mentioned, focus on the latest one. +You must use tools to submit the response. + Here is the conversation history: CONVERSATION_START {conversation} CONVERSATION_END - """ diff --git a/allocator_bot/utils.py b/allocator_bot/utils.py index 33e27ac..ca491b2 100644 --- a/allocator_bot/utils.py +++ b/allocator_bot/utils.py @@ -1,31 +1,31 @@ -import json import random import re import string import time -from typing import AsyncGenerator, Callable, List +from typing import Callable from fastapi import Header, HTTPException -from magentic import AsyncStreamedStr -from .models import LlmMessage +from openbb_ai.models import LlmMessage def validate_api_key( - api_keys: List[str], api_key_header: str = Header(..., alias="Authorization") -) -> str: + api_key: str, api_key_header: str = Header(..., alias="Authorization") +) -> bool: """Validate API key in header against pre-defined list of keys.""" if not api_key_header: return False - if api_key_header.replace("Bearer ", "").strip() in api_keys: + if api_key_header.replace("Bearer ", "").strip() == api_key: return True return False -def require_api_key(api_keys: List[str]) -> Callable: +def require_api_key(api_key: str | None) -> Callable: """Decorator to add ACL based on API key header validation.""" + if not api_key: + raise ValueError("API key must be provided for ACL validation.") async def _require_api_key(header: str = Header(..., alias="Authorization")): - if not validate_api_key(api_keys, header): + if api_key and not validate_api_key(api_key, header): raise HTTPException(status_code=401, detail="Invalid or missing API key") return header @@ -45,19 +45,6 @@ def is_last_message(message: LlmMessage, messages: list[LlmMessage]) -> bool: return message == human_messages[-1] if human_messages else False -async def create_message_stream( - content: AsyncStreamedStr | str, -) -> AsyncGenerator[dict, None]: - if isinstance(content, str): - yield { - "event": "copilotMessageChunk", - "data": json.dumps({"delta": content}), - } - else: - async for chunk in content: - yield {"event": "copilotMessageChunk", "data": json.dumps({"delta": chunk})} - - def generate_id(length: int = 2) -> str: """Generate a unique ID with a total length of 4 characters.""" timestamp = int(time.time() * 1000) % 1000 From 3cda1f3c17911e8da14a1f7a55a7a95a5ba9575c Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sat, 28 Jun 2025 11:00:08 +0300 Subject: [PATCH 05/33] Update project description --- .gitignore | 5 +++-- README.md | 17 +++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 6353d9c..7458f12 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ -venv +*venv* .vscode **/*.env **/*.pyc **/data/**/* *.log -*api_keys*.* +.aider.* +.aider* diff --git a/README.md b/README.md index b8bb95d..41358b0 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ A portfolio optimization copilot for OpenBB that uses PyPortfolioOpt to generate - FMP API access (via [OpenBB Platform](https://docs.openbb.co/platform)) - OpenAI API access - Dependencies listed in `pyproject.toml` - - **Tech Stack**: + - FastAPI with Starlette SSE for real-time updates - OpenBB Platform Python library for data access - PyPortfolioOpt for optimization algorithms @@ -31,17 +31,25 @@ A portfolio optimization copilot for OpenBB that uses PyPortfolioOpt to generate ## Installation +### Install with pip from GitHub + +```bash +pip install git+https://github.com/piiq/allocator-bot.git +``` + +### Install for development with uv + 1. Clone the repository: ```bash - git clone https://github.com/yourusername/allocator-bot.git + git clone https://github.com/piiq/allocator-bot.git cd allocator-bot ``` 2. Install dependencies using Poetry: ```bash - poetry install + uv sync ``` ## Configuration @@ -53,7 +61,7 @@ A portfolio optimization copilot for OpenBB that uses PyPortfolioOpt to generate Start the server on localhost: ```bash -python main.py +allocator-bot ``` ### Adding to OpenBB Workspace @@ -69,6 +77,7 @@ python main.py - Click "Create" 2. **Add as a Widget Source**: + - Click "Add Data" on your dashboard - Go to "Custom Backends" - Select "Allocator Bot Backend" From 1c044989ccc93e5fc04cee04cf61015620006342 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sat, 28 Jun 2025 11:00:34 +0300 Subject: [PATCH 06/33] Add llm instructions --- .cursorrules | 1 + GEMINI.md | 1 + llms.txt | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 120000 .cursorrules create mode 120000 GEMINI.md create mode 100644 llms.txt diff --git a/.cursorrules b/.cursorrules new file mode 120000 index 0000000..4b9c18d --- /dev/null +++ b/.cursorrules @@ -0,0 +1 @@ +llms.txt \ No newline at end of file diff --git a/GEMINI.md b/GEMINI.md new file mode 120000 index 0000000..4b9c18d --- /dev/null +++ b/GEMINI.md @@ -0,0 +1 @@ +llms.txt \ No newline at end of file diff --git a/llms.txt b/llms.txt new file mode 100644 index 0000000..632d196 --- /dev/null +++ b/llms.txt @@ -0,0 +1,66 @@ +# Allocator Bot - AI Coding Agent Instructions. + +## Project Overview + +The Allocator Bot is a portfolio optimization chat bot and app for OpenBB Workspace that: + +- Exposes widgets with portfolio allocation data +- Exposes an AI agent that can do portfolio allocation tasks + +## Key Components + +### Core Modules: + +1. `agent.py` - Main AI agent logic using magentic for LLM interactions +2. `api.py` - FastAPI endpoints and S3 integration +3. `portfolio.py` - Portfolio optimization logic +4. `models.py` - Pydantic models for data validation +5. `prompts.py` - System prompts and templates + +### Important Patterns: + +- Uses async/await for all LLM interactions +- Uses latest version of `magentic` library for LLM calls +- Implements SSE for real-time updates +- Follows OpenBB widget integration standards by specifying openapi-extra in endpoints +- Uses Pydantic for strict data validation +- Uses PyPortfolioOpt for efficient frontier calculations +- Offers multiple optimization models (Max Sharpe, Min Volatility, etc.) +- Integrates with OpenBB Platform (openbb python package) for financial data retrieval + +## Coding Guidelines + +### Data Flow: + +1. User request → API endpoint (/v1/query) +2. Agent processes request via execution_loop() +3. Portfolio module calculates optimizations +4. Results formatted and streamed back via SSE + +## Implementation Notes + +### Critical Dependencies: + +- PyPortfolioOpt for optimization algorithms +- OpenBB Platform for market data +- Magentic for LLM interactions +- FastAPI for web API interface + +### Dependency Management: + +- Uses uv for dependency management +- Add new dependencies with: `uv add package-name` +- Add development dependencies only to the dev group +- Sync dependencies with: `uv sync --extra dev` +- Never modify pyproject.toml dependencies directly - always use uv commands + +### Key Environment Variables: + +- OPENROUTER_API_KEY - For LLM access +- FMP_API_KEY - For financial data +- S3\_\* - For cloud storage (if enabled) + +### AI Instructions + +- AI instructions are defined in llms.txt +- llms.txt is symlinked to .cursorrules and GEMINI.md to be accessible by specific assistants From 71d9df0b3a83d4f7e301d54af50fed79551c95d4 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sat, 28 Jun 2025 11:00:53 +0300 Subject: [PATCH 07/33] Add tests --- tests/test_api.py | 27 ++++++++ tests/test_portfolio.py | 119 ++++++++++++++++++++++++++++++++ tests/test_s3_migration.py | 136 +++++++++++++++++++++++++++++++++++++ 3 files changed, 282 insertions(+) create mode 100644 tests/test_api.py create mode 100644 tests/test_portfolio.py create mode 100644 tests/test_s3_migration.py diff --git a/tests/test_api.py b/tests/test_api.py new file mode 100644 index 0000000..ded6ddc --- /dev/null +++ b/tests/test_api.py @@ -0,0 +1,27 @@ +import pytest +from fastapi.testclient import TestClient +from allocator_bot.api import app + +client = TestClient(app) + + +def test_read_root(): + response = client.get("/") + assert response.status_code == 200 + assert response.json() == {"info": "Asset basket allocator"} + + +def test_get_agent_description(): + response = client.get("/agents.json") + assert response.status_code == 200 + assert "vanilla_agent_raw_context" in response.json() + + +def test_get_allocation_data_no_id(): + response = client.get("/allocation_data") + assert response.status_code == 200 + assert response.json() == {"error": "Allocation ID is required"} + + +# More tests would be needed here to cover S3 and local file cases +# but this requires more extensive mocking of the environment diff --git a/tests/test_portfolio.py b/tests/test_portfolio.py new file mode 100644 index 0000000..720086b --- /dev/null +++ b/tests/test_portfolio.py @@ -0,0 +1,119 @@ +import os +import pandas as pd +from unittest.mock import patch, MagicMock +from allocator_bot.portfolio import ( + fetch_historical_prices, + optimize_portfolio, + calculate_quantities, + prepare_allocation, + save_allocation, +) + + +def test_fetch_historical_prices(): + mock_df = pd.DataFrame( + { + "symbol": ["AAPL", "GOOG"], + "date": ["2023-01-01", "2023-01-01"], + "adj_close": [150.0, 2800.0], + } + ) + mock_obb = MagicMock() + mock_obb.equity.price.historical.return_value.to_df.return_value = mock_df + + with patch("allocator_bot.portfolio.obb", mock_obb): + prices = fetch_historical_prices(["AAPL", "GOOG"]) + assert not prices.empty + assert list(prices.columns) == ["symbol", "date", "adj_close"] + assert len(prices) == 2 + + +def test_optimize_portfolio(): + data = { + "date": pd.to_datetime(["2023-01-01", "2023-01-02", "2023-01-03"]), + "AAPL": [150, 152, 151], + "GOOG": [2800, 2810, 2805], + } + prices = pd.DataFrame(data).set_index("date") + results = optimize_portfolio(prices, 0.02, 0.1, 0.2) + assert "max_sharpe" in results + assert "min_volatility" in results + assert "efficient_risk" in results + assert "efficient_return" in results + + +def test_calculate_quantities(): + weights = {"AAPL": 0.5, "GOOG": 0.5} + latest_prices = {"AAPL": 150.0, "GOOG": 2800.0} + total_investment = 100000 + quantities = calculate_quantities(weights, latest_prices, total_investment) + assert quantities["AAPL"] == 333 + assert quantities["GOOG"] == 17 + + +@patch("allocator_bot.portfolio.fetch_historical_prices") +def test_prepare_allocation(mock_fetch_historical_prices): + mock_df = pd.DataFrame( + { + "symbol": ["AAPL", "GOOG"], + "date": ["2023-01-01", "2023-01-02"], + "adj_close": [150.0, 2800.0], + } + ) + mock_fetch_historical_prices.return_value = mock_df + + # Create a dummy DataFrame for prices, as the mocked fetch_historical_prices is not returning a pivotable DataFrame + prices_data = { + "date": pd.to_datetime(pd.date_range("2023-01-01", periods=100)), + "AAPL": [150 + i + (i * 0.01) for i in range(100)], + "GOOG": [2800 + i - (i * 0.02) for i in range(100)], + } + prices = pd.DataFrame(prices_data).set_index("date") + + # Mock the pivot_table call + mock_df.pivot_table = MagicMock(return_value=prices) + + allocation = prepare_allocation( + asset_symbols=["AAPL", "GOOG"], + total_investment=100000, + risk_free_rate=0.02, + target_return=0.1, + target_volatility=0.2, + ) + assert not allocation.empty + assert "Risk Model" in allocation.columns + assert "Ticker" in allocation.columns + assert "Weight" in allocation.columns + assert "Quantity" in allocation.columns + + +@patch("allocator_bot.portfolio.save_allocations_to_s3") +@patch("allocator_bot.portfolio.load_allocations_from_s3") +@patch("allocator_bot.portfolio.config") +def test_save_allocation_s3(mock_config, mock_load_s3, mock_save_s3): + mock_config.s3_enabled = True + mock_load_s3.return_value = {} + allocation_id = "test_id" + allocation_data = [{"Ticker": "AAPL", "Weight": 1.0}] + result = save_allocation(allocation_id, allocation_data) + assert result == allocation_id + mock_save_s3.assert_called_once() + + +@patch("builtins.open", new_callable=MagicMock) +@patch("json.dump") +@patch("json.load") +@patch("os.getenv") +@patch("allocator_bot.portfolio.config") +def test_save_allocation_local( + mock_config, mock_getenv, mock_json_load, mock_json_dump, mock_open +): + mock_config.s3_enabled = False + mock_getenv.return_value = "/fake/path" + mock_json_load.return_value = {} + allocation_id = "test_id" + allocation_data = [{"Ticker": "AAPL", "Weight": 1.0}] + result = save_allocation(allocation_id, allocation_data) + assert result == allocation_id + mock_open.assert_called() + mock_json_dump.assert_called() diff --git a/tests/test_s3_migration.py b/tests/test_s3_migration.py new file mode 100644 index 0000000..0632bd5 --- /dev/null +++ b/tests/test_s3_migration.py @@ -0,0 +1,136 @@ +import json +import os +from unittest.mock import MagicMock, patch + +import pytest +from botocore.exceptions import ClientError + + +@pytest.fixture +def mock_s3_client(): + with patch("boto3.client") as mock_client: + yield mock_client.return_value + + +@pytest.fixture() +def mock_config_s3_enabled(): + with patch("allocator_bot.config.config") as mock_config: + mock_config.s3_enabled = True + mock_config.s3_bucket_name = "test-bucket" + mock_config.allocation_data_file = "allocations.json" + mock_config.s3_endpoint = "http://localhost:9000" + mock_config.s3_access_key = "test-access-key" + mock_config.s3_secret_key = "test-secret-key" + mock_config.fmp_api_key = "mock-api-key" + mock_config.data_folder_path = "/tmp" + yield mock_config + + +def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): + from allocator_bot.config import load_allocations_from_s3 + from allocator_bot.portfolio import save_allocation + + # Mock the get_object and put_object methods + mock_s3_client.get_object.return_value = { + "Body": MagicMock(read=lambda: json.dumps({}).encode("utf-8")) + } + + allocation_id = "test_id_123" + allocation_data = [{"Ticker": "AAPL", "Weight": 0.5, "Quantity": 10}] + + # Test saving to S3 + save_allocation(allocation_id, allocation_data) + + # Verify put_object was called correctly + mock_s3_client.put_object.assert_called_once_with( + Bucket="test-bucket", + Key="allocations.json", + Body=json.dumps({allocation_id: allocation_data}, indent=4), + ) + + # Test loading from S3 + mock_s3_client.get_object.return_value = { + "Body": MagicMock( + read=lambda: json.dumps({allocation_id: allocation_data}).encode("utf-8") + ) + } + loaded_allocations = load_allocations_from_s3() + + assert loaded_allocations == {allocation_id: allocation_data} + + +def test_load_allocations_from_s3_no_key(mock_s3_client, mock_config_s3_enabled): + from allocator_bot.config import load_allocations_from_s3 + + # Simulate NoSuchKey error + mock_s3_client.get_object.side_effect = ClientError( + {"Error": {"Code": "NoSuchKey"}}, "GetObject" + ) + + loaded_allocations = load_allocations_from_s3() + assert loaded_allocations == {} + + +@pytest.mark.parametrize( + "s3_enabled, mock_s3_client", + [(True, "mock_s3_client"), (False, None)], + indirect=["mock_s3_client"], +) +def test_save_allocation_s3_and_local( + s3_enabled, mock_s3_client, tmp_path, monkeypatch +): + monkeypatch.setattr("allocator_bot.portfolio.config.s3_enabled", s3_enabled) + monkeypatch.setattr( + "allocator_bot.portfolio.config.data_folder_path", str(tmp_path) + ) + monkeypatch.setattr( + "allocator_bot.portfolio.config.allocation_data_file", "allocations.json" + ) + monkeypatch.setattr("allocator_bot.portfolio.config.s3_bucket_name", "test-bucket") + + from allocator_bot.portfolio import save_allocation + + if s3_enabled: + # Mock S3 behavior + mock_s3_client.get_object.return_value = { + "Body": MagicMock(read=lambda: json.dumps({}).encode("utf-8")) + } + # Set a dummy loader and saver to isolate the test + monkeypatch.setattr( + "allocator_bot.portfolio.load_allocations_from_s3", + lambda: {"existing_id": [{"Ticker": "GOOG", "Weight": 0.2}]}, + ) + monkeypatch.setattr( + "allocator_bot.portfolio.save_allocations_to_s3", MagicMock() + ) + + else: + # Setup for local file test + initial_data = {"existing_id": [{"Ticker": "GOOG", "Weight": 0.2}]} + with open(os.path.join(tmp_path, "allocations.json"), "w") as f: + json.dump(initial_data, f) + + allocation_id = "new_test_id" + allocation_data = [{"Ticker": "MSFT", "Weight": 0.8, "Quantity": 5}] + + save_allocation(allocation_id, allocation_data) + + if s3_enabled: + # Verify S3 save was called correctly + from allocator_bot.portfolio import save_allocations_to_s3 + + expected_s3_data = { + "existing_id": [{"Ticker": "GOOG", "Weight": 0.2}], + "new_test_id": [{"Ticker": "MSFT", "Weight": 0.8, "Quantity": 5}], + } + save_allocations_to_s3.assert_called_once_with(expected_s3_data) + else: + # Verify local file was updated + with open(os.path.join(tmp_path, "allocations.json"), "r") as f: + updated_data = json.load(f) + + expected_local_data = { + "existing_id": [{"Ticker": "GOOG", "Weight": 0.2}], + "new_test_id": [{"Ticker": "MSFT", "Weight": 0.8, "Quantity": 5}], + } + assert updated_data == expected_local_data From bd6a49bd7247a98ff1fa8f2f74c4ad5833412d34 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sat, 28 Jun 2025 20:07:03 +0300 Subject: [PATCH 08/33] Move storage related code to a separate file --- .cursorrules | 2 +- CLAUDE.md | 1 + GEMINI.md | 2 +- allocator_bot/api.py | 13 ++-- allocator_bot/config.py | 41 +---------- allocator_bot/portfolio.py | 3 +- allocator_bot/storage.py | 94 ++++++++++++++++++++++++ llms.md | 143 +++++++++++++++++++++++++++++++++++++ llms.txt | 66 ----------------- tests/test_s3_migration.py | 30 ++++---- 10 files changed, 267 insertions(+), 128 deletions(-) create mode 120000 CLAUDE.md create mode 100644 allocator_bot/storage.py create mode 100644 llms.md delete mode 100644 llms.txt diff --git a/.cursorrules b/.cursorrules index 4b9c18d..8f904b5 120000 --- a/.cursorrules +++ b/.cursorrules @@ -1 +1 @@ -llms.txt \ No newline at end of file +llms.md \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md new file mode 120000 index 0000000..8f904b5 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +llms.md \ No newline at end of file diff --git a/GEMINI.md b/GEMINI.md index 4b9c18d..8f904b5 120000 --- a/GEMINI.md +++ b/GEMINI.md @@ -1 +1 @@ -llms.txt \ No newline at end of file +llms.md \ No newline at end of file diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 8d64f81..df5d582 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -34,12 +34,12 @@ logging.info("Startup complete") -@app.get("/") +@app.get("/", openapi_extra={"widget_config": {"exclude": True}}) def read_root(): return {"info": "Asset basket allocator"} -@app.get("/agents.json") +@app.get("/agents.json", openapi_extra={"widget_config": {"exclude": True}}) def get_agent_description(): """Widgets configuration file for the OpenBB Terminal Pro""" return JSONResponse( @@ -59,9 +59,6 @@ def get_agent_description(): ) - - - @app.get( "/allocation_data", openapi_extra={ @@ -120,7 +117,11 @@ def get_agent_description(): "dataKey": "allocation", "table": { "enableCharts": True, - "chartView": {"enabled": True, "chartType": "donut"}, + "chartView": { + "enabled": True, + "chartType": "donut", + "cellRangeCols": {"donut": ["ticker", "weight"]}, + }, "showAll": True, "transpose": False, }, diff --git a/allocator_bot/config.py b/allocator_bot/config.py index b77b060..69c9ad9 100644 --- a/allocator_bot/config.py +++ b/allocator_bot/config.py @@ -1,9 +1,5 @@ -import json import os -import boto3 -from botocore.exceptions import ClientError - from .models import AppConfig config = AppConfig( @@ -18,39 +14,4 @@ s3_bucket_name=os.getenv("S3_BUCKET_NAME", None), allocation_data_file=os.getenv("ALLOCATION_DATA_FILE", "allocations.json"), fmp_api_key=os.getenv("FMP_API_KEY", None), -) - - -def load_allocations_from_s3(): - """Load allocations.json from S3 bucket.""" - s3 = boto3.client( - "s3", - endpoint_url=config.s3_endpoint, - aws_access_key_id=config.s3_access_key, - aws_secret_access_key=config.s3_secret_key, - ) - try: - obj = s3.get_object( - Bucket=config.s3_bucket_name, Key=config.allocation_data_file - ) - return json.loads(obj["Body"].read().decode("utf-8")) - except ClientError as e: - if e.response["Error"]["Code"] == "NoSuchKey": - return {} - else: - raise - - -def save_allocations_to_s3(allocations: dict): - """Save allocations to S3 bucket.""" - s3 = boto3.client( - "s3", - endpoint_url=config.s3_endpoint, - aws_access_key_id=config.s3_access_key, - aws_secret_access_key=config.s3_secret_key, - ) - s3.put_object( - Bucket=config.s3_bucket_name, - Key=config.allocation_data_file, - Body=json.dumps(allocations, indent=4), - ) +) \ No newline at end of file diff --git a/allocator_bot/portfolio.py b/allocator_bot/portfolio.py index 6efd98e..51f06f6 100644 --- a/allocator_bot/portfolio.py +++ b/allocator_bot/portfolio.py @@ -7,7 +7,8 @@ from openbb import obb # type: ignore from pypfopt import EfficientFrontier, expected_returns, risk_models # type: ignore -from .config import config, load_allocations_from_s3, save_allocations_to_s3 +from .config import config +from .storage import load_allocations_from_s3, save_allocations_to_s3 def fetch_historical_prices( diff --git a/allocator_bot/storage.py b/allocator_bot/storage.py new file mode 100644 index 0000000..ae99f19 --- /dev/null +++ b/allocator_bot/storage.py @@ -0,0 +1,94 @@ +import json + +import boto3 +import pandas as pd +from botocore.exceptions import ClientError + +from .config import config + + +def load_allocations_from_s3(): + """Load allocations.json from S3 bucket.""" + s3 = boto3.client( + "s3", + endpoint_url=config.s3_endpoint, + aws_access_key_id=config.s3_access_key, + aws_secret_access_key=config.s3_secret_key, + ) + try: + obj = s3.get_object( + Bucket=config.s3_bucket_name, Key=config.allocation_data_file + ) + return json.loads(obj["Body"].read().decode("utf-8")) + except ClientError as e: + if e.response["Error"]["Code"] == "NoSuchKey": + return {} + else: + raise + + +def save_allocations_to_s3(allocations: dict): + """Save allocations to S3 bucket.""" + s3 = boto3.client( + "s3", + endpoint_url=config.s3_endpoint, + aws_access_key_id=config.s3_access_key, + aws_secret_access_key=config.s3_secret_key, + ) + s3.put_object( + Bucket=config.s3_bucket_name, + Key=config.allocation_data_file, + Body=json.dumps(allocations, indent=4), + ) + + +def load_allocations_from_file(file_path: str): + """Load allocations from a local file.""" + try: + with open(file_path, "r") as f: + return json.load(f) + except FileNotFoundError: + return {} + + +def save_allocations_to_file(file_path: str, allocations: dict): + """Save allocations to a local file.""" + with open(file_path, "w") as f: + json.dump(allocations, f, indent=4) + +def get_all_allocations(): + """Load all allocations and format them for display.""" + if config.s3_enabled: + allocations_data = load_allocations_from_s3() + else: + allocations_data = load_allocations_from_file( + f"{config.data_folder_path}/allocations.json" + ) + + if not allocations_data: + return [] + + processed_allocations = [] + for allocation_id, allocation_details in allocations_data.items(): + # Most of the times there is only one allocation per id, but sometimes there are more + if not isinstance(allocation_details, list): + allocation_details = [allocation_details] + + for allocation in allocation_details: + task_params = { + key: value + for key, value in allocation.items() + if key not in ["Ticker", "Weight", "Quantity"] + } + processed_allocations.append( + { + "allocation_id": allocation_id, + "symbols": ", ".join(allocation.get("asset_symbols", [])) if "asset_symbols" in allocation else "N/A", + "investment_amount": allocation.get("total_investment", "N/A"), + "holding_period": f"{allocation.get('start_date', 'N/A')} - {allocation.get('end_date', 'N/A')}", + "task_parameters": json.dumps(task_params), + } + ) + + df = pd.DataFrame(processed_allocations) + return df.to_dict(orient="records") diff --git a/llms.md b/llms.md new file mode 100644 index 0000000..3e6ada1 --- /dev/null +++ b/llms.md @@ -0,0 +1,143 @@ +# llms.md + +This file provides guidance to AI coding agents when working with code in this repository. +This file is symlinked to `CLAUDE.md`, `GEMINI.md` and `.cursorrules` to be automatically read by AI coding assistants. + +## Project Overview + +The Allocator Bot is a portfolio optimization copilot for OpenBB Workspace that provides AI-powered asset allocation recommendations using modern portfolio theory and efficient frontier algorithms. + +## Development Commands + +### Installation & Setup + +Development installation + +```bash +uv sync --extra dev +``` + +Production installation + +```bash +pip install git+https://github.com/piiq/allocator-bot.git +``` + +### Running the Application + +```bash +openbb-api --app allocator_bot.__main__:get_app --factory +``` + +### Testing & Code Quality + +Run tests + +```bash +pytest +``` + +Code formatting + +```bash +black . +``` + +Linting + +```bash +ruff check . +``` + +### Dependency Management + +- **Always use UV commands** - never edit pyproject.toml directly +- Add dependencies: `uv add package-name` +- Add dev dependencies: `uv add --group dev package-name` +- Sync dependencies: `uv sync --extra dev` + +## Architecture Overview + +### Core Data Flow + +```plaintext +User Request → FastAPI Endpoint (/v1/query) → Agent Execution Loop → Portfolio Optimization → SSE Stream Response +``` + +### Technology Stack + +- **Web Framework**: FastAPI with Server-Sent Events (SSE) +- **AI/LLM**: Magentic library with OpenRouter integration (DeepSeek Chat v3) +- **Portfolio Optimization**: PyPortfolioOpt for efficient frontier calculations +- **Data Source**: OpenBB Platform for financial market data +- **Package Management**: UV for fast Python dependency management + +## Integration Patterns + +### OpenBB Workspace Integration + +- Copilot interface at `/v1/query` endpoint +- Widget interface at `/widgets.json` programmatically generated by `openbb-api` launcher +- Widget configuration embedded in OpenAPI specifications via `openapi_extra` +- Bearer token authentication pattern + +### Storage Architecture + +- **Hybrid approach**: Local file storage with optional S3 cloud storage +- **Environment-driven**: S3 enabled via `S3_ENABLED` environment variable +- **Graceful fallback**: Falls back to local storage when S3 unavailable + +## Key Development Patterns + +### Async/Streaming Architecture + +- Full async/await pattern for all LLM interactions +- Server-Sent Events for real-time user feedback +- Streaming responses with progress indicators + +### Data Validation + +- Strict Pydantic models for all data structures +- Field-level validation with custom validators +- Type safety throughout the application + +### AI Integration + +- Multi-step LLM workflow: task detection → structure parsing → execution +- Function-free approach with explicit logic exposure to LLM +- Retry mechanisms for LLM reliability + +## Configuration + +### Required Environment Variables + +- `OPENROUTER_API_KEY`: LLM access via OpenRouter +- `FMP_API_KEY`: Financial data via Financial Modeling Prep +- `S3_*`: Cloud storage configuration (if S3_ENABLED=true) +- `AGENT_HOST_URL`: Application host URL +- `APP_API_KEY`: API access token + +### Optional Configuration + +- `DATA_FOLDER_PATH`: Local storage path (default: "data") + +## Deployment + +### Docker + +- Multi-stage Dockerfile using UV for optimized builds +- Runs on port 6900 +- Non-root user for security + +### Kubernetes + +- Complete manifests in `/k8s/` directory +- Separate ConfigMap for non-sensitive variables +- Secret template for sensitive environment variables + +## Testing Strategy + +- Unit tests for core portfolio functions +- Mocking for external dependencies (OpenBB, S3) +- Integration tests for storage systems +- Located in `/tests/` with pytest framework diff --git a/llms.txt b/llms.txt deleted file mode 100644 index 632d196..0000000 --- a/llms.txt +++ /dev/null @@ -1,66 +0,0 @@ -# Allocator Bot - AI Coding Agent Instructions. - -## Project Overview - -The Allocator Bot is a portfolio optimization chat bot and app for OpenBB Workspace that: - -- Exposes widgets with portfolio allocation data -- Exposes an AI agent that can do portfolio allocation tasks - -## Key Components - -### Core Modules: - -1. `agent.py` - Main AI agent logic using magentic for LLM interactions -2. `api.py` - FastAPI endpoints and S3 integration -3. `portfolio.py` - Portfolio optimization logic -4. `models.py` - Pydantic models for data validation -5. `prompts.py` - System prompts and templates - -### Important Patterns: - -- Uses async/await for all LLM interactions -- Uses latest version of `magentic` library for LLM calls -- Implements SSE for real-time updates -- Follows OpenBB widget integration standards by specifying openapi-extra in endpoints -- Uses Pydantic for strict data validation -- Uses PyPortfolioOpt for efficient frontier calculations -- Offers multiple optimization models (Max Sharpe, Min Volatility, etc.) -- Integrates with OpenBB Platform (openbb python package) for financial data retrieval - -## Coding Guidelines - -### Data Flow: - -1. User request → API endpoint (/v1/query) -2. Agent processes request via execution_loop() -3. Portfolio module calculates optimizations -4. Results formatted and streamed back via SSE - -## Implementation Notes - -### Critical Dependencies: - -- PyPortfolioOpt for optimization algorithms -- OpenBB Platform for market data -- Magentic for LLM interactions -- FastAPI for web API interface - -### Dependency Management: - -- Uses uv for dependency management -- Add new dependencies with: `uv add package-name` -- Add development dependencies only to the dev group -- Sync dependencies with: `uv sync --extra dev` -- Never modify pyproject.toml dependencies directly - always use uv commands - -### Key Environment Variables: - -- OPENROUTER_API_KEY - For LLM access -- FMP_API_KEY - For financial data -- S3\_\* - For cloud storage (if enabled) - -### AI Instructions - -- AI instructions are defined in llms.txt -- llms.txt is symlinked to .cursorrules and GEMINI.md to be accessible by specific assistants diff --git a/tests/test_s3_migration.py b/tests/test_s3_migration.py index 0632bd5..68e824c 100644 --- a/tests/test_s3_migration.py +++ b/tests/test_s3_migration.py @@ -12,22 +12,26 @@ def mock_s3_client(): yield mock_client.return_value -@pytest.fixture() +@pytest.fixture def mock_config_s3_enabled(): - with patch("allocator_bot.config.config") as mock_config: - mock_config.s3_enabled = True - mock_config.s3_bucket_name = "test-bucket" - mock_config.allocation_data_file = "allocations.json" - mock_config.s3_endpoint = "http://localhost:9000" - mock_config.s3_access_key = "test-access-key" - mock_config.s3_secret_key = "test-secret-key" - mock_config.fmp_api_key = "mock-api-key" - mock_config.data_folder_path = "/tmp" - yield mock_config + """Mock config to enable S3 and set test values.""" + with patch("allocator_bot.portfolio.config") as mock_config_portfolio, patch( + "allocator_bot.storage.config" + ) as mock_config_storage: + for mock_config in [mock_config_portfolio, mock_config_storage]: + mock_config.s3_enabled = True + mock_config.s3_bucket_name = "test-bucket" + mock_config.allocation_data_file = "allocations.json" + mock_config.s3_endpoint = "http://localhost:9000" + mock_config.s3_access_key = "test-access-key" + mock_config.s3_secret_key = "test-secret-key" + mock_config.fmp_api_key = "mock-api-key" + mock_config.data_folder_path = "/tmp" + yield def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): - from allocator_bot.config import load_allocations_from_s3 + from allocator_bot.storage import load_allocations_from_s3 from allocator_bot.portfolio import save_allocation # Mock the get_object and put_object methods @@ -60,7 +64,7 @@ def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): def test_load_allocations_from_s3_no_key(mock_s3_client, mock_config_s3_enabled): - from allocator_bot.config import load_allocations_from_s3 + from allocator_bot.storage import load_allocations_from_s3 # Simulate NoSuchKey error mock_s3_client.get_object.side_effect = ClientError( From ec12a949e1344eb6ba19a84a490dab1917adea22 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sun, 29 Jun 2025 12:00:51 +0300 Subject: [PATCH 09/33] Aggregate storage interfaces in relevant classes --- allocator_bot/agent.py | 10 +- allocator_bot/api.py | 24 +---- allocator_bot/models.py | 3 + allocator_bot/portfolio.py | 29 ------ allocator_bot/storage.py | 191 ++++++++++++++++++++++--------------- 5 files changed, 133 insertions(+), 124 deletions(-) diff --git a/allocator_bot/agent.py b/allocator_bot/agent.py index aa029f7..dfe8186 100644 --- a/allocator_bot/agent.py +++ b/allocator_bot/agent.py @@ -15,7 +15,8 @@ from openbb_ai.models import BaseSSE, QueryRequest, Widget, WidgetParam from .models import TaskStructure -from .portfolio import prepare_allocation, save_allocation +from .portfolio import prepare_allocation +from .storage import save_allocation, save_task from .prompts import ( DO_I_NEED_TO_ALLOCATE_THE_PORTFOLIO_PROMPT, PARSE_USER_MESSAGE_TO_STRUCTURE_THE_TASK, @@ -127,6 +128,13 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] allocation_data=allocation.to_dict(orient="records"), ) + task_to_save = task_structure.model_dump() + task_to_save.pop("task") + save_task( + allocation_id=allocation_id, + task_data=task_to_save, + ) + yield reasoning_step( message="Allocation saved successfully.", ) diff --git a/allocator_bot/api.py b/allocator_bot/api.py index df5d582..03eda85 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -1,6 +1,4 @@ -import json import logging -import os from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware @@ -9,7 +7,8 @@ from sse_starlette.sse import EventSourceResponse from .agent import execution_loop -from .config import config, load_allocations_from_s3 +from .config import config +from .storage import load_allocations app = FastAPI() @@ -44,14 +43,14 @@ def get_agent_description(): """Widgets configuration file for the OpenBB Terminal Pro""" return JSONResponse( content={ - "vanilla_agent_raw_context": { + "allocator_bot": { "name": "Allocator Bot", "description": "AI-powered allocator bot to answer questions about the asset basket allocation.", "image": "https://github.com/OpenBB-finance/copilot-for-terminal-pro/assets/14093308/7da2a512-93b9-478d-90bc-b8c3dd0cabcf", "endpoints": {"query": f"{config.agent_host_url}/v1/query"}, "features": { "streaming": True, - "widget-dashboard-select": True, + "widget-dashboard-select": False, "widget-dashboard-search": False, }, } @@ -143,20 +142,7 @@ def get_allocation_data( return JSONResponse(content={"error": "Allocation ID is required"}) allocations = {} - if config.s3_enabled: - allocations = load_allocations_from_s3() - else: - if not config.data_folder_path: - return JSONResponse( - content={"error": "Data folder path is not configured"}, - status_code=500, - ) - try: - data_folder_path = os.path.abspath(config.data_folder_path) - with open(os.path.join(data_folder_path, "allocations.json"), "r") as f: - allocations = json.load(f) - except FileNotFoundError: - allocations = {} + allocations = load_allocations() selected_allocation = allocations.get( allocation_id, [{"Ticker": "N/A", "Quantity": 0}] diff --git a/allocator_bot/models.py b/allocator_bot/models.py index 4873096..57a5f12 100644 --- a/allocator_bot/models.py +++ b/allocator_bot/models.py @@ -24,6 +24,9 @@ class AppConfig(BaseModel): allocation_data_file: str = Field( default="allocations.json", description="Path to allocation file in S3." ) + task_data_file: str = Field( + default="tasks.json", description="Path to task file in S3." + ) fmp_api_key: str | None = Field( default=None, description="Financial Modeling Prep API key for data retrieval." ) diff --git a/allocator_bot/portfolio.py b/allocator_bot/portfolio.py index 51f06f6..399c891 100644 --- a/allocator_bot/portfolio.py +++ b/allocator_bot/portfolio.py @@ -1,5 +1,3 @@ -import json -import os import warnings from datetime import datetime, timedelta @@ -7,9 +5,6 @@ from openbb import obb # type: ignore from pypfopt import EfficientFrontier, expected_returns, risk_models # type: ignore -from .config import config -from .storage import load_allocations_from_s3, save_allocations_to_s3 - def fetch_historical_prices( tickers: list[str], start_date: str = "1998-01-01", end_date: str | None = None @@ -139,27 +134,3 @@ def prepare_allocation( ) return pd.DataFrame(results) - - -def save_allocation(allocation_id: str, allocation_data: list[dict]) -> str: - """Save the allocation to a json file.""" - if config.s3_enabled: - allocations = load_allocations_from_s3() - allocations[allocation_id] = allocation_data - save_allocations_to_s3(allocations) - else: - if not config.data_folder_path: - raise ValueError("data_folder_path is not configured") - - allocations_file = os.path.join(config.data_folder_path, "allocations.json") - if os.path.exists(allocations_file): - with open(allocations_file, "r") as f: - allocation_results_json = json.load(f) - else: - allocation_results_json = {} - - allocation_results_json[allocation_id] = allocation_data - - with open(allocations_file, "w") as f: - json.dump(allocation_results_json, f, indent=4) - return allocation_id diff --git a/allocator_bot/storage.py b/allocator_bot/storage.py index ae99f19..a5e66dc 100644 --- a/allocator_bot/storage.py +++ b/allocator_bot/storage.py @@ -1,94 +1,135 @@ import json +import os import boto3 -import pandas as pd from botocore.exceptions import ClientError from .config import config -def load_allocations_from_s3(): - """Load allocations.json from S3 bucket.""" - s3 = boto3.client( - "s3", - endpoint_url=config.s3_endpoint, - aws_access_key_id=config.s3_access_key, - aws_secret_access_key=config.s3_secret_key, - ) - try: - obj = s3.get_object( - Bucket=config.s3_bucket_name, Key=config.allocation_data_file - ) - return json.loads(obj["Body"].read().decode("utf-8")) - except ClientError as e: - if e.response["Error"]["Code"] == "NoSuchKey": +class LocalFileStorage: + """Handles local file storage operations.""" + + def __init__(self): + if not config.data_folder_path: + raise ValueError("data_folder_path is not configured") + self.data_folder_path = config.data_folder_path + if not os.path.exists(self.data_folder_path): + os.makedirs(self.data_folder_path) + self.allocations_file = os.path.join(self.data_folder_path, "allocations.json") + self.tasks_file = os.path.join(self.data_folder_path, "tasks.json") + + def load_allocations(self) -> dict: + """Load allocations from a local file.""" + if not os.path.exists(self.allocations_file): return {} - else: - raise + with open(self.allocations_file, "r") as f: + return json.load(f) + def save_allocations(self, allocations: dict) -> None: + """Save allocations to a local file.""" + with open(self.allocations_file, "w") as f: + json.dump(allocations, f, indent=4) -def save_allocations_to_s3(allocations: dict): - """Save allocations to S3 bucket.""" - s3 = boto3.client( - "s3", - endpoint_url=config.s3_endpoint, - aws_access_key_id=config.s3_access_key, - aws_secret_access_key=config.s3_secret_key, - ) - s3.put_object( - Bucket=config.s3_bucket_name, - Key=config.allocation_data_file, - Body=json.dumps(allocations, indent=4), - ) - - -def load_allocations_from_file(file_path: str): - """Load allocations from a local file.""" - try: - with open(file_path, "r") as f: + def load_tasks(self) -> dict: + """Load tasks from a local file.""" + if not os.path.exists(self.tasks_file): + return {} + with open(self.tasks_file, "r") as f: return json.load(f) - except FileNotFoundError: - return {} + def save_tasks(self, tasks: dict) -> None: + """Save tasks to a local file.""" + with open(self.tasks_file, "w") as f: + json.dump(tasks, f, indent=4) -def save_allocations_to_file(file_path: str, allocations: dict): - """Save allocations to a local file.""" - with open(file_path, "w") as f: - json.dump(allocations, f, indent=4) -def get_all_allocations(): - """Load all allocations and format them for display.""" - if config.s3_enabled: - allocations_data = load_allocations_from_s3() - else: - allocations_data = load_allocations_from_file( - f"{config.data_folder_path}/allocations.json" +class CloudObjectStorage: + """Handles cloud storage operations using S3.""" + + def __init__(self): + self.s3 = boto3.client( + "s3", + endpoint_url=config.s3_endpoint, + aws_access_key_id=config.s3_access_key, + aws_secret_access_key=config.s3_secret_key, ) + self.bucket_name = config.s3_bucket_name + self.allocation_data_file = config.allocation_data_file + self.task_data_file = config.task_data_file - if not allocations_data: - return [] - - processed_allocations = [] - for allocation_id, allocation_details in allocations_data.items(): - # Most of the times there is only one allocation per id, but sometimes there are more - if not isinstance(allocation_details, list): - allocation_details = [allocation_details] - - for allocation in allocation_details: - task_params = { - key: value - for key, value in allocation.items() - if key not in ["Ticker", "Weight", "Quantity"] - } - processed_allocations.append( - { - "allocation_id": allocation_id, - "symbols": ", ".join(allocation.get("asset_symbols", [])) if "asset_symbols" in allocation else "N/A", - "investment_amount": allocation.get("total_investment", "N/A"), - "holding_period": f"{allocation.get('start_date', 'N/A')} - {allocation.get('end_date', 'N/A')}", - "task_parameters": json.dumps(task_params), - } + def load_allocations(self) -> dict: + """Load allocations.json from S3 bucket.""" + try: + obj = self.s3.get_object( + Bucket=self.bucket_name, Key=self.allocation_data_file ) + return json.loads(obj["Body"].read().decode("utf-8")) + except ClientError as e: + if e.response["Error"]["Code"] == "NoSuchKey": + return {} + raise + + def save_allocations(self, allocations: dict) -> None: + """Save allocations to S3 bucket.""" + self.s3.put_object( + Bucket=config.s3_bucket_name, + Key=self.allocation_data_file, + Body=json.dumps(allocations, indent=4), + ) + + def load_tasks(self) -> dict: + """Load tasks.json from S3 bucket.""" + try: + obj = self.s3.get_object(Bucket=self.bucket_name, Key=self.task_data_file) + return json.loads(obj["Body"].read().decode("utf-8")) + except ClientError as e: + if e.response["Error"]["Code"] == "NoSuchKey": + return {} + raise + + def save_tasks(self, tasks: dict) -> None: + """Save tasks to S3 bucket.""" + self.s3.put_object( + Bucket=self.bucket_name, + Key=self.task_data_file, + Body=json.dumps(tasks, indent=4), + ) + + +def get_storage() -> LocalFileStorage | CloudObjectStorage: + """Get the appropriate storage class based on configuration.""" + if config.s3_enabled: + return CloudObjectStorage() + else: + return LocalFileStorage() + + +def save_task(allocation_id: str, task_data: dict) -> str: + """Save a new task.""" + storage: LocalFileStorage | CloudObjectStorage = get_storage() + tasks = storage.load_tasks() + tasks[allocation_id] = task_data + storage.save_tasks(tasks) + return allocation_id + + +def save_allocation(allocation_id: str, allocation_data: list[dict]) -> str: + """Save the allocation to a json file.""" + storage: LocalFileStorage | CloudObjectStorage = get_storage() + allocations = storage.load_allocations() + allocations[allocation_id] = allocation_data + storage.save_allocations(allocations) + return allocation_id + + +def load_allocations() -> dict: + """Load allocations from the configured storage.""" + storage: LocalFileStorage | CloudObjectStorage = get_storage() + return storage.load_allocations() + - df = pd.DataFrame(processed_allocations) - return df.to_dict(orient="records") +def load_tasks() -> dict: + """Load tasks from the configured storage.""" + storage: LocalFileStorage | CloudObjectStorage = get_storage() + return storage.load_tasks() From 69e19a268faa2d25db3636e89429462108109981 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Sun, 29 Jun 2025 16:08:50 +0300 Subject: [PATCH 10/33] Ensure s3 config is validated before local storage config --- allocator_bot/agent.py | 17 ++- allocator_bot/models.py | 6 +- tests/test_s3_migration.py | 215 +++++++++++++++++++++++++++++-------- 3 files changed, 188 insertions(+), 50 deletions(-) diff --git a/allocator_bot/agent.py b/allocator_bot/agent.py index dfe8186..543494b 100644 --- a/allocator_bot/agent.py +++ b/allocator_bot/agent.py @@ -11,17 +11,28 @@ ) from magentic.chat_model.openrouter_chat_model import OpenRouterChatModel from magentic.chat_model.retry_chat_model import RetryChatModel -from openbb_ai.helpers import citations, cite, message_chunk, reasoning_step, table -from openbb_ai.models import BaseSSE, QueryRequest, Widget, WidgetParam +from openbb_ai.helpers import ( # type: ignore[import-untyped] + citations, + cite, + message_chunk, + reasoning_step, + table, +) +from openbb_ai.models import ( # type: ignore[import-untyped] + BaseSSE, + QueryRequest, + Widget, + WidgetParam, +) from .models import TaskStructure from .portfolio import prepare_allocation -from .storage import save_allocation, save_task from .prompts import ( DO_I_NEED_TO_ALLOCATE_THE_PORTFOLIO_PROMPT, PARSE_USER_MESSAGE_TO_STRUCTURE_THE_TASK, SYSTEM_PROMPT, ) +from .storage import save_allocation, save_task from .utils import generate_id, is_last_message, sanitize_message logger = logging.getLogger(__name__) diff --git a/allocator_bot/models.py b/allocator_bot/models.py index 57a5f12..c3c7fe4 100644 --- a/allocator_bot/models.py +++ b/allocator_bot/models.py @@ -11,9 +11,6 @@ class AppConfig(BaseModel): openrouter_api_key: str | None = Field( description="OpenRouter API key for AI functionality." ) - data_folder_path: str | None = Field( - description="The path to the folder that will store the allocation data." - ) s3_enabled: bool | None = Field( default=False, description="Set to true to enable S3 storage." ) @@ -21,6 +18,9 @@ class AppConfig(BaseModel): s3_access_key: str | None = Field(default=None, description="S3 access key.") s3_secret_key: str | None = Field(default=None, description="S3 secret key.") s3_bucket_name: str | None = Field(default=None, description="S3 bucket name.") + data_folder_path: str | None = Field( + description="The path to the folder that will store the allocation data." + ) allocation_data_file: str = Field( default="allocations.json", description="Path to allocation file in S3." ) diff --git a/tests/test_s3_migration.py b/tests/test_s3_migration.py index 68e824c..8184a3b 100644 --- a/tests/test_s3_migration.py +++ b/tests/test_s3_migration.py @@ -15,24 +15,21 @@ def mock_s3_client(): @pytest.fixture def mock_config_s3_enabled(): """Mock config to enable S3 and set test values.""" - with patch("allocator_bot.portfolio.config") as mock_config_portfolio, patch( - "allocator_bot.storage.config" - ) as mock_config_storage: - for mock_config in [mock_config_portfolio, mock_config_storage]: - mock_config.s3_enabled = True - mock_config.s3_bucket_name = "test-bucket" - mock_config.allocation_data_file = "allocations.json" - mock_config.s3_endpoint = "http://localhost:9000" - mock_config.s3_access_key = "test-access-key" - mock_config.s3_secret_key = "test-secret-key" - mock_config.fmp_api_key = "mock-api-key" - mock_config.data_folder_path = "/tmp" + with patch("allocator_bot.storage.config") as mock_config_storage: + mock_config_storage.s3_enabled = True + mock_config_storage.s3_bucket_name = "test-bucket" + mock_config_storage.allocation_data_file = "allocations.json" + mock_config_storage.task_data_file = "tasks.json" + mock_config_storage.s3_endpoint = "http://localhost:9000" + mock_config_storage.s3_access_key = "test-access-key" + mock_config_storage.s3_secret_key = "test-secret-key" + mock_config_storage.fmp_api_key = "mock-api-key" + mock_config_storage.data_folder_path = "/tmp" yield def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): - from allocator_bot.storage import load_allocations_from_s3 - from allocator_bot.portfolio import save_allocation + from allocator_bot.storage import load_allocations, save_allocation # Mock the get_object and put_object methods mock_s3_client.get_object.return_value = { @@ -58,20 +55,20 @@ def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): read=lambda: json.dumps({allocation_id: allocation_data}).encode("utf-8") ) } - loaded_allocations = load_allocations_from_s3() + loaded_allocations = load_allocations() assert loaded_allocations == {allocation_id: allocation_data} def test_load_allocations_from_s3_no_key(mock_s3_client, mock_config_s3_enabled): - from allocator_bot.storage import load_allocations_from_s3 + from allocator_bot.storage import load_allocations # Simulate NoSuchKey error mock_s3_client.get_object.side_effect = ClientError( {"Error": {"Code": "NoSuchKey"}}, "GetObject" ) - loaded_allocations = load_allocations_from_s3() + loaded_allocations = load_allocations() assert loaded_allocations == {} @@ -83,34 +80,34 @@ def test_load_allocations_from_s3_no_key(mock_s3_client, mock_config_s3_enabled) def test_save_allocation_s3_and_local( s3_enabled, mock_s3_client, tmp_path, monkeypatch ): - monkeypatch.setattr("allocator_bot.portfolio.config.s3_enabled", s3_enabled) + # Mock the config values + monkeypatch.setattr("allocator_bot.storage.config.s3_enabled", s3_enabled) + monkeypatch.setattr("allocator_bot.storage.config.data_folder_path", str(tmp_path)) monkeypatch.setattr( - "allocator_bot.portfolio.config.data_folder_path", str(tmp_path) + "allocator_bot.storage.config.allocation_data_file", "allocations.json" ) + monkeypatch.setattr("allocator_bot.storage.config.s3_bucket_name", "test-bucket") monkeypatch.setattr( - "allocator_bot.portfolio.config.allocation_data_file", "allocations.json" + "allocator_bot.storage.config.s3_endpoint", "http://localhost:9000" ) - monkeypatch.setattr("allocator_bot.portfolio.config.s3_bucket_name", "test-bucket") + monkeypatch.setattr("allocator_bot.storage.config.s3_access_key", "test-key") + monkeypatch.setattr("allocator_bot.storage.config.s3_secret_key", "test-secret") - from allocator_bot.portfolio import save_allocation + from allocator_bot.storage import save_allocation if s3_enabled: # Mock S3 behavior mock_s3_client.get_object.return_value = { - "Body": MagicMock(read=lambda: json.dumps({}).encode("utf-8")) + "Body": MagicMock( + read=lambda: json.dumps( + {"existing_id": [{"Ticker": "GOOG", "Weight": 0.2}]} + ).encode("utf-8") + ) } - # Set a dummy loader and saver to isolate the test - monkeypatch.setattr( - "allocator_bot.portfolio.load_allocations_from_s3", - lambda: {"existing_id": [{"Ticker": "GOOG", "Weight": 0.2}]}, - ) - monkeypatch.setattr( - "allocator_bot.portfolio.save_allocations_to_s3", MagicMock() - ) - else: # Setup for local file test initial_data = {"existing_id": [{"Ticker": "GOOG", "Weight": 0.2}]} + os.makedirs(tmp_path, exist_ok=True) with open(os.path.join(tmp_path, "allocations.json"), "w") as f: json.dump(initial_data, f) @@ -119,22 +116,152 @@ def test_save_allocation_s3_and_local( save_allocation(allocation_id, allocation_data) + expected_data = { + "existing_id": [{"Ticker": "GOOG", "Weight": 0.2}], + "new_test_id": [{"Ticker": "MSFT", "Weight": 0.8, "Quantity": 5}], + } + if s3_enabled: # Verify S3 save was called correctly - from allocator_bot.portfolio import save_allocations_to_s3 - - expected_s3_data = { - "existing_id": [{"Ticker": "GOOG", "Weight": 0.2}], - "new_test_id": [{"Ticker": "MSFT", "Weight": 0.8, "Quantity": 5}], - } - save_allocations_to_s3.assert_called_once_with(expected_s3_data) + mock_s3_client.put_object.assert_called_once_with( + Bucket="test-bucket", + Key="allocations.json", + Body=json.dumps(expected_data, indent=4), + ) else: # Verify local file was updated with open(os.path.join(tmp_path, "allocations.json"), "r") as f: updated_data = json.load(f) + assert updated_data == expected_data - expected_local_data = { - "existing_id": [{"Ticker": "GOOG", "Weight": 0.2}], - "new_test_id": [{"Ticker": "MSFT", "Weight": 0.8, "Quantity": 5}], - } - assert updated_data == expected_local_data + +def test_local_file_storage_init_creates_directory(tmp_path, monkeypatch): + """Test LocalFileStorage creates directory if it doesn't exist.""" + from allocator_bot.storage import LocalFileStorage + + storage_path = tmp_path / "new_storage_dir" + assert not storage_path.exists() + + monkeypatch.setattr("allocator_bot.storage.config.data_folder_path", str(storage_path)) + + storage = LocalFileStorage() + assert storage_path.exists() + assert storage.data_folder_path == str(storage_path) + + +def test_local_file_storage_init_no_path(): + """Test LocalFileStorage raises error when data_folder_path is None.""" + from allocator_bot.storage import LocalFileStorage + from unittest.mock import patch + + with patch("allocator_bot.storage.config.data_folder_path", None): + with pytest.raises(ValueError, match="data_folder_path is not configured"): + LocalFileStorage() + + +def test_local_file_storage_load_nonexistent_allocations(tmp_path, monkeypatch): + """Test loading allocations when file doesn't exist.""" + from allocator_bot.storage import LocalFileStorage + + monkeypatch.setattr("allocator_bot.storage.config.data_folder_path", str(tmp_path)) + + storage = LocalFileStorage() + allocations = storage.load_allocations() + assert allocations == {} + + +def test_local_file_storage_load_nonexistent_tasks(tmp_path, monkeypatch): + """Test loading tasks when file doesn't exist.""" + from allocator_bot.storage import LocalFileStorage + + monkeypatch.setattr("allocator_bot.storage.config.data_folder_path", str(tmp_path)) + + storage = LocalFileStorage() + tasks = storage.load_tasks() + assert tasks == {} + + +def test_cloud_object_storage_s3_error_handling(mock_s3_client, mock_config_s3_enabled): + """Test CloudObjectStorage handles S3 errors properly.""" + from allocator_bot.storage import CloudObjectStorage + from botocore.exceptions import ClientError + + storage = CloudObjectStorage() + + # Test S3 error other than NoSuchKey + mock_s3_client.get_object.side_effect = ClientError( + {"Error": {"Code": "AccessDenied"}}, "GetObject" + ) + + with pytest.raises(ClientError): + storage.load_allocations() + + +def test_cloud_object_storage_load_tasks_error(mock_s3_client, mock_config_s3_enabled): + """Test CloudObjectStorage handles task loading errors.""" + from allocator_bot.storage import CloudObjectStorage + from botocore.exceptions import ClientError + + storage = CloudObjectStorage() + + # Test S3 error other than NoSuchKey + mock_s3_client.get_object.side_effect = ClientError( + {"Error": {"Code": "AccessDenied"}}, "GetObject" + ) + + with pytest.raises(ClientError): + storage.load_tasks() + + +def test_cloud_object_storage_load_tasks_no_key(mock_s3_client, mock_config_s3_enabled): + """Test CloudObjectStorage returns empty dict when tasks file doesn't exist.""" + from allocator_bot.storage import CloudObjectStorage + from botocore.exceptions import ClientError + + storage = CloudObjectStorage() + + # Simulate NoSuchKey error for tasks + mock_s3_client.get_object.side_effect = ClientError( + {"Error": {"Code": "NoSuchKey"}}, "GetObject" + ) + + tasks = storage.load_tasks() + assert tasks == {} + + +def test_save_task_function(mock_s3_client, mock_config_s3_enabled): + """Test the save_task function.""" + from allocator_bot.storage import save_task + + # Mock existing tasks + mock_s3_client.get_object.return_value = { + "Body": MagicMock(read=lambda: json.dumps({"existing_task": {"data": "value"}}).encode("utf-8")) + } + + task_id = "new_task_123" + task_data = {"optimization": "max_sharpe", "symbols": ["AAPL", "GOOGL"]} + + result = save_task(task_id, task_data) + + assert result == task_id + mock_s3_client.put_object.assert_called_once() + call_args = mock_s3_client.put_object.call_args + assert call_args[1]["Bucket"] == "test-bucket" + assert call_args[1]["Key"] == "tasks.json" + + saved_data = json.loads(call_args[1]["Body"]) + assert saved_data[task_id] == task_data + assert "existing_task" in saved_data + + +def test_load_tasks_function(mock_s3_client, mock_config_s3_enabled): + """Test the load_tasks function.""" + from allocator_bot.storage import load_tasks + + expected_tasks = {"task1": {"data": "value1"}, "task2": {"data": "value2"}} + mock_s3_client.get_object.return_value = { + "Body": MagicMock(read=lambda: json.dumps(expected_tasks).encode("utf-8")) + } + + tasks = load_tasks() + assert tasks == expected_tasks From 65a39acc418a58978a38e5d05f994f3729fcced0 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 30 Jun 2025 12:59:24 +0300 Subject: [PATCH 11/33] Update the app and tests to be fully async --- .gitignore | 3 +- allocator_bot/agent.py | 48 ++-- allocator_bot/api.py | 33 ++- allocator_bot/config.py | 2 +- allocator_bot/models.py | 6 +- allocator_bot/portfolio.py | 16 +- allocator_bot/storage.py | 46 ++-- allocator_bot/utils.py | 32 +-- conftest.py | 22 ++ pyproject.toml | 13 ++ tests/test_agent.py | 442 +++++++++++++++++++++++++++++++++++++ tests/test_api.py | 226 +++++++++++++++++-- tests/test_models.py | 166 ++++++++++++++ tests/test_portfolio.py | 80 ++++--- tests/test_s3_migration.py | 122 +++++----- tests/test_utils.py | 154 +++++++++++++ uv.lock | 89 ++++++++ 17 files changed, 1307 insertions(+), 193 deletions(-) create mode 100644 conftest.py create mode 100644 tests/test_agent.py create mode 100644 tests/test_models.py create mode 100644 tests/test_utils.py diff --git a/.gitignore b/.gitignore index 7458f12..bfd21f4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,4 @@ **/*.pyc **/data/**/* *.log -.aider.* -.aider* +.coverage diff --git a/allocator_bot/agent.py b/allocator_bot/agent.py index 543494b..fe88e23 100644 --- a/allocator_bot/agent.py +++ b/allocator_bot/agent.py @@ -1,5 +1,5 @@ import logging -from typing import AsyncGenerator +from typing import AsyncGenerator, Callable from magentic import ( AssistantMessage, @@ -70,6 +70,23 @@ async def _need_to_allocate_portfolio(conversation: str) -> bool: ... # type: i async def _get_task_structure(conversation: str) -> TaskStructure: ... # type: ignore[empty-body] +def make_llm(chat_messages: list) -> Callable: + @chatprompt( + SystemMessage(SYSTEM_PROMPT), + *chat_messages, + model=OpenRouterChatModel( + model="deepseek/deepseek-chat-v3-0324", + temperature=0.7, + provider_sort="latency", + require_parameters=True, + ), + max_retries=5, + ) + async def _llm() -> AsyncStreamedStr | str: ... # type: ignore[empty-body] + + return _llm + + async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None]: """Process the query and generate responses.""" @@ -79,13 +96,13 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] if message.role == "ai": if hasattr(message, "content") and isinstance(message.content, str): chat_messages.append( - AssistantMessage(content=sanitize_message(message.content)) + AssistantMessage(content=await sanitize_message(message.content)) ) elif message.role == "human": if hasattr(message, "content") and isinstance(message.content, str): - user_message_content = sanitize_message(message.content) + user_message_content = await sanitize_message(message.content) chat_messages.append(UserMessage(content=user_message_content)) - if is_last_message(message, request.messages): + if await is_last_message(message, request.messages): # I intentionally am not using function calling in this example # because I want all the logic that is under the hood to be exposed @@ -114,7 +131,7 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] allocation = None try: - allocation = prepare_allocation(**task_dict) + allocation = await prepare_allocation(**task_dict) except Exception as e: yield reasoning_step( @@ -134,14 +151,14 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] message="Basket weights optimized. Saving allocation...", ) - allocation_id = save_allocation( - allocation_id=generate_id(length=2), + allocation_id = await save_allocation( + allocation_id=await generate_id(length=2), allocation_data=allocation.to_dict(orient="records"), ) task_to_save = task_structure.model_dump() task_to_save.pop("task") - save_task( + await save_task( allocation_id=allocation_id, task_data=task_to_save, ) @@ -196,20 +213,7 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] event_type="ERROR", message=f"Error saving allocation. {str(e)}", ) - - @chatprompt( - SystemMessage(SYSTEM_PROMPT), - *chat_messages, - model=OpenRouterChatModel( - model="deepseek/deepseek-chat-v3-0324", - temperature=0.7, - provider_sort="latency", - require_parameters=True, - ), - max_retries=5, - ) - async def _llm() -> AsyncStreamedStr | str: ... # type: ignore[empty-body] - + _llm = make_llm(chat_messages) llm_result = await _llm() if isinstance(llm_result, str): diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 03eda85..3bf4e14 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -1,17 +1,32 @@ import logging -from fastapi import FastAPI +from fastapi import Depends, FastAPI, HTTPException, status from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import JSONResponse +from fastapi.security import OAuth2PasswordBearer from openbb_ai.models import QueryRequest # type: ignore[import-untyped] from sse_starlette.sse import EventSourceResponse from .agent import execution_loop from .config import config from .storage import load_allocations +from .utils import validate_api_key app = FastAPI() +oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") + + +async def get_current_user(token: str = Depends(oauth2_scheme)): + if not validate_api_key(token=token, api_key=config.app_api_key): + raise HTTPException( + status_code=status.HTTP_401_UNAUTHORIZED, + detail="Invalid or missing API key", + headers={"WWW-Authenticate": "Bearer"}, + ) + return token + + # Configure CORS origins = [ "http://localhost", @@ -34,13 +49,13 @@ @app.get("/", openapi_extra={"widget_config": {"exclude": True}}) -def read_root(): +async def read_root(): return {"info": "Asset basket allocator"} @app.get("/agents.json", openapi_extra={"widget_config": {"exclude": True}}) -def get_agent_description(): - """Widgets configuration file for the OpenBB Terminal Pro""" +async def get_agent_description(): + """Agents configuration file for the OpenBB Workspace""" return JSONResponse( content={ "allocator_bot": { @@ -128,11 +143,11 @@ def get_agent_description(): } }, ) -def get_allocation_data( +async def get_allocation_data( allocation_id: str | None = None, risk_model: str | None = None, weights_or_quantities: str = "weights", - # header: str = Depends(require_api_key(api_key=config.app_api_key)), + token: str = Depends(get_current_user), ) -> JSONResponse: """Fetch allocation data. @@ -142,7 +157,7 @@ def get_allocation_data( return JSONResponse(content={"error": "Allocation ID is required"}) allocations = {} - allocations = load_allocations() + allocations = await load_allocations() selected_allocation = allocations.get( allocation_id, [{"Ticker": "N/A", "Quantity": 0}] @@ -172,7 +187,9 @@ def get_allocation_data( @app.post("/v1/query") -async def query(request: QueryRequest) -> EventSourceResponse: +async def query( + request: QueryRequest, token: str = Depends(get_current_user) +) -> EventSourceResponse: """Query the Allocator Bot.""" return EventSourceResponse( (event.model_dump() async for event in execution_loop(request)) diff --git a/allocator_bot/config.py b/allocator_bot/config.py index 69c9ad9..160dd6a 100644 --- a/allocator_bot/config.py +++ b/allocator_bot/config.py @@ -14,4 +14,4 @@ s3_bucket_name=os.getenv("S3_BUCKET_NAME", None), allocation_data_file=os.getenv("ALLOCATION_DATA_FILE", "allocations.json"), fmp_api_key=os.getenv("FMP_API_KEY", None), -) \ No newline at end of file +) diff --git a/allocator_bot/models.py b/allocator_bot/models.py index c3c7fe4..c166486 100644 --- a/allocator_bot/models.py +++ b/allocator_bot/models.py @@ -4,11 +4,11 @@ class AppConfig(BaseModel): """Application configuration loaded from environment variables.""" - agent_host_url: str | None = Field( + agent_host_url: str = Field( description="The host URL and port number where the app is running." ) - app_api_key: str | None = Field(description="The API key to access the bot.") - openrouter_api_key: str | None = Field( + app_api_key: str = Field(description="The API key to access the bot.") + openrouter_api_key: str = Field( description="OpenRouter API key for AI functionality." ) s3_enabled: bool | None = Field( diff --git a/allocator_bot/portfolio.py b/allocator_bot/portfolio.py index 399c891..f84dfcc 100644 --- a/allocator_bot/portfolio.py +++ b/allocator_bot/portfolio.py @@ -6,7 +6,7 @@ from pypfopt import EfficientFrontier, expected_returns, risk_models # type: ignore -def fetch_historical_prices( +async def fetch_historical_prices( tickers: list[str], start_date: str = "1998-01-01", end_date: str | None = None ) -> pd.DataFrame: """Fetch historical prices for a list of tickers.""" @@ -22,7 +22,7 @@ def fetch_historical_prices( return price_data -def optimize_portfolio( +async def optimize_portfolio( prices: pd.DataFrame, risk_free_rate: float, target_return: float, @@ -57,7 +57,7 @@ def optimize_portfolio( return results -def calculate_quantities( +async def calculate_quantities( weights: dict[str, float], latest_prices: dict[str, float], total_investment: float ) -> dict[str, int]: """Calculate the quantities of shares to allocate based on weights and total investment.""" @@ -68,7 +68,7 @@ def calculate_quantities( return quantities -def prepare_allocation( +async def prepare_allocation( asset_symbols: list[str], total_investment: float, start_date: str | None = None, @@ -87,7 +87,7 @@ def prepare_allocation( end_date = end_date or datetime.now().strftime("%Y-%m-%d") # Fetch historical prices - historical_prices = fetch_historical_prices( + historical_prices = await fetch_historical_prices( asset_symbols, start_date=start_date, end_date=end_date ) @@ -109,7 +109,7 @@ def prepare_allocation( with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") try: - optimized_weights = optimize_portfolio(prices, **optimization_kwargs) + optimized_weights = await optimize_portfolio(prices, **optimization_kwargs) except Exception as e: warning_messages = "\n".join(str(warning.message) for warning in w) raise ValueError( @@ -122,7 +122,9 @@ def prepare_allocation( # Create a DataFrame to store results results = [] for model, weights in optimized_weights.items(): - quantities = calculate_quantities(weights, latest_prices, total_investment) + quantities = await calculate_quantities( + weights, latest_prices, total_investment + ) for symbol, weight in weights.items(): results.append( { diff --git a/allocator_bot/storage.py b/allocator_bot/storage.py index a5e66dc..43357b7 100644 --- a/allocator_bot/storage.py +++ b/allocator_bot/storage.py @@ -19,26 +19,26 @@ def __init__(self): self.allocations_file = os.path.join(self.data_folder_path, "allocations.json") self.tasks_file = os.path.join(self.data_folder_path, "tasks.json") - def load_allocations(self) -> dict: + async def load_allocations(self) -> dict: """Load allocations from a local file.""" if not os.path.exists(self.allocations_file): return {} with open(self.allocations_file, "r") as f: return json.load(f) - def save_allocations(self, allocations: dict) -> None: + async def save_allocations(self, allocations: dict) -> None: """Save allocations to a local file.""" with open(self.allocations_file, "w") as f: json.dump(allocations, f, indent=4) - def load_tasks(self) -> dict: + async def load_tasks(self) -> dict: """Load tasks from a local file.""" if not os.path.exists(self.tasks_file): return {} with open(self.tasks_file, "r") as f: return json.load(f) - def save_tasks(self, tasks: dict) -> None: + async def save_tasks(self, tasks: dict) -> None: """Save tasks to a local file.""" with open(self.tasks_file, "w") as f: json.dump(tasks, f, indent=4) @@ -58,7 +58,7 @@ def __init__(self): self.allocation_data_file = config.allocation_data_file self.task_data_file = config.task_data_file - def load_allocations(self) -> dict: + async def load_allocations(self) -> dict: """Load allocations.json from S3 bucket.""" try: obj = self.s3.get_object( @@ -70,7 +70,7 @@ def load_allocations(self) -> dict: return {} raise - def save_allocations(self, allocations: dict) -> None: + async def save_allocations(self, allocations: dict) -> None: """Save allocations to S3 bucket.""" self.s3.put_object( Bucket=config.s3_bucket_name, @@ -78,7 +78,7 @@ def save_allocations(self, allocations: dict) -> None: Body=json.dumps(allocations, indent=4), ) - def load_tasks(self) -> dict: + async def load_tasks(self) -> dict: """Load tasks.json from S3 bucket.""" try: obj = self.s3.get_object(Bucket=self.bucket_name, Key=self.task_data_file) @@ -88,7 +88,7 @@ def load_tasks(self) -> dict: return {} raise - def save_tasks(self, tasks: dict) -> None: + async def save_tasks(self, tasks: dict) -> None: """Save tasks to S3 bucket.""" self.s3.put_object( Bucket=self.bucket_name, @@ -97,7 +97,7 @@ def save_tasks(self, tasks: dict) -> None: ) -def get_storage() -> LocalFileStorage | CloudObjectStorage: +async def get_storage() -> LocalFileStorage | CloudObjectStorage: """Get the appropriate storage class based on configuration.""" if config.s3_enabled: return CloudObjectStorage() @@ -105,31 +105,31 @@ def get_storage() -> LocalFileStorage | CloudObjectStorage: return LocalFileStorage() -def save_task(allocation_id: str, task_data: dict) -> str: +async def save_task(allocation_id: str, task_data: dict) -> str: """Save a new task.""" - storage: LocalFileStorage | CloudObjectStorage = get_storage() - tasks = storage.load_tasks() + storage: LocalFileStorage | CloudObjectStorage = await get_storage() + tasks = await storage.load_tasks() tasks[allocation_id] = task_data - storage.save_tasks(tasks) + await storage.save_tasks(tasks) return allocation_id -def save_allocation(allocation_id: str, allocation_data: list[dict]) -> str: +async def save_allocation(allocation_id: str, allocation_data: list[dict]) -> str: """Save the allocation to a json file.""" - storage: LocalFileStorage | CloudObjectStorage = get_storage() - allocations = storage.load_allocations() + storage: LocalFileStorage | CloudObjectStorage = await get_storage() + allocations = await storage.load_allocations() allocations[allocation_id] = allocation_data - storage.save_allocations(allocations) + await storage.save_allocations(allocations) return allocation_id -def load_allocations() -> dict: +async def load_allocations() -> dict: """Load allocations from the configured storage.""" - storage: LocalFileStorage | CloudObjectStorage = get_storage() - return storage.load_allocations() + storage: LocalFileStorage | CloudObjectStorage = await get_storage() + return await storage.load_allocations() -def load_tasks() -> dict: +async def load_tasks() -> dict: """Load tasks from the configured storage.""" - storage: LocalFileStorage | CloudObjectStorage = get_storage() - return storage.load_tasks() + storage: LocalFileStorage | CloudObjectStorage = await get_storage() + return await storage.load_tasks() diff --git a/allocator_bot/utils.py b/allocator_bot/utils.py index ca491b2..2cd8e97 100644 --- a/allocator_bot/utils.py +++ b/allocator_bot/utils.py @@ -2,50 +2,32 @@ import re import string import time -from typing import Callable +from openbb_ai.models import LlmMessage # type: ignore[import-untyped] -from fastapi import Header, HTTPException -from openbb_ai.models import LlmMessage - -def validate_api_key( - api_key: str, api_key_header: str = Header(..., alias="Authorization") -) -> bool: +def validate_api_key(token: str, api_key: str) -> bool: """Validate API key in header against pre-defined list of keys.""" - if not api_key_header: + if not token: return False - if api_key_header.replace("Bearer ", "").strip() == api_key: + if token.replace("Bearer ", "").strip() == api_key: return True return False -def require_api_key(api_key: str | None) -> Callable: - """Decorator to add ACL based on API key header validation.""" - if not api_key: - raise ValueError("API key must be provided for ACL validation.") - - async def _require_api_key(header: str = Header(..., alias="Authorization")): - if api_key and not validate_api_key(api_key, header): - raise HTTPException(status_code=401, detail="Invalid or missing API key") - return header - - return _require_api_key - - -def sanitize_message(message: str) -> str: +async def sanitize_message(message: str) -> str: """Sanitize a message by escaping forbidden characters.""" cleaned_message = re.sub(r"(? bool: +async def is_last_message(message: LlmMessage, messages: list[LlmMessage]) -> bool: """Check if the message is the last human message in the conversation.""" human_messages = [msg for msg in messages if msg.role == "human"] return message == human_messages[-1] if human_messages else False -def generate_id(length: int = 2) -> str: +async def generate_id(length: int = 2) -> str: """Generate a unique ID with a total length of 4 characters.""" timestamp = int(time.time() * 1000) % 1000 diff --git a/conftest.py b/conftest.py new file mode 100644 index 0000000..cca5254 --- /dev/null +++ b/conftest.py @@ -0,0 +1,22 @@ +import os +import pytest +from httpx import AsyncClient + +# Set required environment variables for testing +os.environ["DATA_FOLDER_PATH"] = "/tmp/test" +os.environ["FMP_API_KEY"] = "test_key" +os.environ["OPENROUTER_API_KEY"] = "test_key" +os.environ["AGENT_HOST_URL"] = "http://localhost:8000" +os.environ["APP_API_KEY"] = "test_key" + + +@pytest.fixture +async def async_client(): + """Provide an async HTTP client for testing FastAPI endpoints.""" + from allocator_bot.__main__ import get_app + from httpx import ASGITransport + + app = get_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + yield client \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 6acb125..8697144 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,3 +49,16 @@ allow-direct-references = true [tool.hatch.build] include = ["allocator_bot/**"] + +[dependency-groups] +dev = [ + "coverage>=7.9.1", + "httpx>=0.28.1", + "pytest-asyncio>=1.0.0", + "pytest-cov>=6.2.1", +] + +[tool.pytest.ini_options] +asyncio_mode = "auto" +testpaths = ["tests"] +addopts = "--cov=allocator_bot --cov-report=term-missing" diff --git a/tests/test_agent.py b/tests/test_agent.py new file mode 100644 index 0000000..f3e84f3 --- /dev/null +++ b/tests/test_agent.py @@ -0,0 +1,442 @@ +from unittest.mock import AsyncMock, MagicMock, patch + +import pandas as pd +import pytest +from openbb_ai.models import ( # type: ignore[import-untyped] + LlmClientMessage, + QueryRequest, +) + +from allocator_bot.agent import execution_loop +from allocator_bot.models import TaskStructure + + +class TestExecutionLoop: + """Test the execution_loop function.""" + + @pytest.mark.asyncio + async def test_execution_loop_no_allocation_needed(self): + """Test execution loop when no allocation is needed.""" + request = QueryRequest( + messages=[ + LlmClientMessage( + role="human", content="What is portfolio optimization?" + ) + ] + ) + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return False + + # Mock the callable that make_llm returns + mock_llm_callable = AsyncMock(return_value="Portfolio optimization is...") + # Create a mock for the make_llm function itself. + # This mock, when called, will return our other mock (the callable). + mock_make_llm = MagicMock(return_value=mock_llm_callable) + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + with patch("allocator_bot.agent.make_llm", new=mock_make_llm): + events = [] + async for event in execution_loop(request): + events.append(event) + + assert len(events) == 1 + # The event from `message_chunk` is a `MessageChunkSSE` object. + # The text content is in the `data.delta` attribute. + assert hasattr(events[0], "data") + assert hasattr(events[0].data, "delta") + assert events[0].data.delta == "Portfolio optimization is..." + + # Assert that make_llm was called to create the LLM + mock_make_llm.assert_called_once() + # Assert that the llm was called + mock_llm_callable.assert_awaited_once() + + @pytest.mark.asyncio + async def test_execution_loop_with_ai_messages(self): + """Test execution loop with AI messages in history.""" + request = QueryRequest( + messages=[ + LlmClientMessage(role="human", content="Hello"), + LlmClientMessage(role="ai", content="Hi there!"), + LlmClientMessage( + role="human", content="Create a portfolio with AAPL and GOOGL" + ), + ] + ) + + task_structure = TaskStructure( + task="Create portfolio", + asset_symbols=["AAPL", "GOOGL"], + total_investment=100000, + ) + + # Mock allocation DataFrame + mock_allocation = pd.DataFrame( + [ + { + "Risk Model": "max_sharpe", + "Ticker": "AAPL", + "Weight": 0.6, + "Quantity": 10, + }, + { + "Risk Model": "max_sharpe", + "Ticker": "GOOGL", + "Weight": 0.4, + "Quantity": 5, + }, + ] + ) + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return True + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + with patch( + "allocator_bot.agent._get_task_structure", + new=AsyncMock(return_value=task_structure), + ): + with patch( + "allocator_bot.agent.prepare_allocation", + return_value=mock_allocation, + ): + with patch( + "allocator_bot.agent.save_allocation", + return_value="test_id_123", + ): + with patch( + "allocator_bot.agent.save_task", return_value="test_id_123" + ): + with patch( + "allocator_bot.agent.generate_id", + return_value="test_id", + ): + mock_llm_callable = AsyncMock( + return_value="Portfolio created successfully" + ) + mock_make_llm = MagicMock( + return_value=mock_llm_callable + ) + with patch( + "allocator_bot.agent.make_llm", new=mock_make_llm + ): + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have multiple events: reasoning steps, table, message chunks + assert len(events) > 5 + + @pytest.mark.asyncio + async def test_execution_loop_allocation_error(self): + """Test execution loop when allocation preparation fails.""" + request = QueryRequest( + messages=[ + LlmClientMessage( + role="human", content="Create a portfolio with invalid symbols" + ), + ] + ) + + task_structure = TaskStructure( + task="Create portfolio", asset_symbols=["INVALID"], total_investment=100000 + ) + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return True + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + with patch( + "allocator_bot.agent._get_task_structure", + new=AsyncMock(return_value=task_structure), + ): + with patch( + "allocator_bot.agent.prepare_allocation", + side_effect=Exception("Data fetch failed"), + ): + mock_llm_callable = AsyncMock(return_value="Error occurred") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + with patch("allocator_bot.agent.make_llm", new=mock_make_llm): + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have error reasoning step + error_events = [ + e + for e in events + if hasattr(e, "data") + and hasattr(e.data, "eventType") + and e.data.eventType == "ERROR" + ] + assert len(error_events) > 0 + + @pytest.mark.asyncio + async def test_execution_loop_save_allocation_error(self): + """Test execution loop when saving allocation fails.""" + request = QueryRequest( + messages=[ + LlmClientMessage(role="human", content="Create a portfolio with AAPL"), + ] + ) + + task_structure = TaskStructure( + task="Create portfolio", asset_symbols=["AAPL"], total_investment=100000 + ) + + mock_allocation = pd.DataFrame( + [ + { + "Risk Model": "max_sharpe", + "Ticker": "AAPL", + "Weight": 1.0, + "Quantity": 100, + }, + ] + ) + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return True + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + with patch( + "allocator_bot.agent._get_task_structure", + new=AsyncMock(return_value=task_structure), + ): + with patch( + "allocator_bot.agent.prepare_allocation", + return_value=mock_allocation, + ): + with patch( + "allocator_bot.agent.save_allocation", + side_effect=Exception("Save failed"), + ): + mock_llm_callable = AsyncMock(return_value="Error saving") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + with patch("allocator_bot.agent.make_llm", new=mock_make_llm): + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have error reasoning step for save failure + error_events = [ + e + for e in events + if hasattr(e, "data") + and hasattr(e.data, "eventType") + and e.data.eventType == "ERROR" + ] + assert len(error_events) > 0 + + @pytest.mark.asyncio + async def test_execution_loop_string_llm_result(self): + """Test execution loop when LLM returns a string (not streamed).""" + request = QueryRequest( + messages=[ + LlmClientMessage(role="human", content="What is diversification?") + ] + ) + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return False + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + mock_llm_callable = AsyncMock( + return_value="Diversification is a risk management strategy" + ) + mock_make_llm = MagicMock(return_value=mock_llm_callable) + with patch("allocator_bot.agent.make_llm", new=mock_make_llm): + events = [] + async for event in execution_loop(request): + events.append(event) + + assert len(events) >= 1 + + @pytest.mark.asyncio + async def test_execution_loop_streamed_llm_result(self): + """Test execution loop when LLM returns a streamed result.""" + request = QueryRequest( + messages=[ + LlmClientMessage(role="human", content="Explain portfolio theory") + ] + ) + + # Mock AsyncStreamedStr + async def mock_stream(): + yield "Modern " + yield "portfolio " + yield "theory..." + + mock_streamed_str = MagicMock() + mock_streamed_str.__aiter__ = lambda self: mock_stream() + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return False + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + mock_llm_callable = AsyncMock(return_value=mock_streamed_str) + mock_make_llm = MagicMock(return_value=mock_llm_callable) + with patch("allocator_bot.agent.make_llm", new=mock_make_llm): + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have multiple chunks + assert len(events) >= 3 + + @pytest.mark.asyncio + async def test_execution_loop_with_citations(self): + """Test execution loop generates citations when allocation is successful.""" + request = QueryRequest( + messages=[ + LlmClientMessage( + role="human", content="Create portfolio with AAPL and MSFT" + ), + ] + ) + + task_structure = TaskStructure( + task="Create portfolio", + asset_symbols=["AAPL", "MSFT"], + total_investment=50000, + ) + + mock_allocation = pd.DataFrame( + [ + { + "Risk Model": "max_sharpe", + "Ticker": "AAPL", + "Weight": 0.7, + "Quantity": 20, + }, + { + "Risk Model": "max_sharpe", + "Ticker": "MSFT", + "Weight": 0.3, + "Quantity": 15, + }, + ] + ) + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return True + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + with patch( + "allocator_bot.agent._get_task_structure", + new=AsyncMock(return_value=task_structure), + ): + with patch( + "allocator_bot.agent.prepare_allocation", + return_value=mock_allocation, + ): + with patch( + "allocator_bot.agent.save_allocation", + new=AsyncMock(return_value="citation_test_id"), + ): + with patch( + "allocator_bot.agent.save_task", + new=AsyncMock(return_value="citation_test_id"), + ): + with patch( + "allocator_bot.agent.generate_id", + new=AsyncMock(return_value="citation_test"), + ): + mock_llm_callable = AsyncMock( + return_value="Portfolio created successfully" + ) + mock_make_llm = MagicMock( + return_value=mock_llm_callable + ) + with patch( + "allocator_bot.agent.make_llm", new=mock_make_llm + ): + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have citations at the end + citation_events = [ + e + for e in events + if hasattr(e, "event") + and e.event == "copilotCitationCollection" + ] + assert len(citation_events) > 0 + + @pytest.mark.asyncio + async def test_execution_loop_message_content_handling(self): + """Test execution loop properly handles message content.""" + request = QueryRequest( + messages=[ + LlmClientMessage(role="human", content="Test message with {braces}"), + ] + ) + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return False + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + with patch( + "allocator_bot.agent.sanitize_message", + return_value="Test message with {{braces}}", + ) as mock_sanitize: + mock_llm_callable = AsyncMock(return_value="Response") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + with patch("allocator_bot.agent.make_llm", new=mock_make_llm): + events = [] + async for event in execution_loop(request): + events.append(event) + + # sanitize_message should have been called + mock_sanitize.assert_called() + + @pytest.mark.asyncio + async def test_execution_loop_message_without_content(self): + """Test execution loop handles messages without content attribute.""" + # Create a real message and then remove the content attribute via mocking + request = QueryRequest( + messages=[LlmClientMessage(role="human", content="Test message")] + ) + + async def mock_need_to_allocate_portfolio(*args, **kwargs): + return False + + with patch( + "allocator_bot.agent._need_to_allocate_portfolio", + new=mock_need_to_allocate_portfolio, + ): + mock_llm_callable = AsyncMock(return_value="Response") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + with patch("allocator_bot.agent.make_llm", new=mock_make_llm): + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should not crash and should produce some events + assert len(events) >= 1 diff --git a/tests/test_api.py b/tests/test_api.py index ded6ddc..f032553 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1,27 +1,227 @@ import pytest -from fastapi.testclient import TestClient -from allocator_bot.api import app -client = TestClient(app) - -def test_read_root(): - response = client.get("/") +@pytest.mark.asyncio +async def test_read_root(async_client): + response = await async_client.get("/") assert response.status_code == 200 assert response.json() == {"info": "Asset basket allocator"} -def test_get_agent_description(): - response = client.get("/agents.json") +@pytest.mark.asyncio +async def test_get_agent_description(async_client): + response = await async_client.get("/agents.json") assert response.status_code == 200 - assert "vanilla_agent_raw_context" in response.json() + assert "allocator_bot" in response.json() -def test_get_allocation_data_no_id(): - response = client.get("/allocation_data") +@pytest.mark.asyncio +async def test_get_allocation_data_no_id(async_client): + headers = {"Authorization": "Bearer test_key"} + response = await async_client.get("/allocation_data", headers=headers) assert response.status_code == 200 assert response.json() == {"error": "Allocation ID is required"} -# More tests would be needed here to cover S3 and local file cases -# but this requires more extensive mocking of the environment +@pytest.mark.asyncio +async def test_get_allocation_data_with_id(async_client): + """Test getting allocation data with a valid ID.""" + from unittest.mock import patch + + mock_allocations = { + "test_id": [ + { + "Risk Model": "max_sharpe", + "Ticker": "AAPL", + "Weight": 0.6, + "Quantity": 10, + }, + { + "Risk Model": "max_sharpe", + "Ticker": "GOOGL", + "Weight": 0.4, + "Quantity": 5, + }, + { + "Risk Model": "min_volatility", + "Ticker": "AAPL", + "Weight": 0.5, + "Quantity": 8, + }, + { + "Risk Model": "min_volatility", + "Ticker": "GOOGL", + "Weight": 0.5, + "Quantity": 6, + }, + ] + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_allocations", return_value=mock_allocations): + response = await async_client.get( + "/allocation_data?allocation_id=test_id", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert "allocation" in data + assert len(data["allocation"]) == 4 + + +@pytest.mark.asyncio +async def test_get_allocation_data_with_risk_model_filter(async_client): + """Test getting allocation data filtered by risk model.""" + from unittest.mock import patch + + mock_allocations = { + "test_id": [ + { + "Risk Model": "max_sharpe", + "Ticker": "AAPL", + "Weight": 0.6, + "Quantity": 10, + }, + { + "Risk Model": "max_sharpe", + "Ticker": "GOOGL", + "Weight": 0.4, + "Quantity": 5, + }, + { + "Risk Model": "min_volatility", + "Ticker": "AAPL", + "Weight": 0.5, + "Quantity": 8, + }, + { + "Risk Model": "min_volatility", + "Ticker": "GOOGL", + "Weight": 0.5, + "Quantity": 6, + }, + ] + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_allocations", return_value=mock_allocations): + response = await async_client.get( + "/allocation_data?allocation_id=test_id&risk_model=max_sharpe", + headers=headers, + ) + assert response.status_code == 200 + data = response.json() + assert "allocation" in data + assert len(data["allocation"]) == 2 + for allocation in data["allocation"]: + assert allocation["Risk Model"] == "max_sharpe" + + +@pytest.mark.asyncio +async def test_get_allocation_data_quantities_only(async_client): + """Test getting allocation data with quantities only (no weights).""" + from unittest.mock import patch + + mock_allocations = { + "test_id": [ + { + "Risk Model": "max_sharpe", + "Ticker": "AAPL", + "Weight": 0.6, + "Quantity": 10, + }, + { + "Risk Model": "max_sharpe", + "Ticker": "GOOGL", + "Weight": 0.4, + "Quantity": 5, + }, + ] + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_allocations", return_value=mock_allocations): + response = await async_client.get( + "/allocation_data?allocation_id=test_id&weights_or_quantities=quantities", + headers=headers, + ) + assert response.status_code == 200 + data = response.json() + assert "allocation" in data + for allocation in data["allocation"]: + assert "Weight" not in allocation + assert "Quantity" in allocation + + +@pytest.mark.asyncio +async def test_get_allocation_data_weights_only(async_client): + """Test getting allocation data with weights only (no quantities).""" + from unittest.mock import patch + + mock_allocations = { + "test_id": [ + { + "Risk Model": "max_sharpe", + "Ticker": "AAPL", + "Weight": 0.6, + "Quantity": 10, + }, + { + "Risk Model": "max_sharpe", + "Ticker": "GOOGL", + "Weight": 0.4, + "Quantity": 5, + }, + ] + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_allocations", return_value=mock_allocations): + response = await async_client.get( + "/allocation_data?allocation_id=test_id&weights_or_quantities=weights", + headers=headers, + ) + assert response.status_code == 200 + data = response.json() + assert "allocation" in data + for allocation in data["allocation"]: + assert "Weight" in allocation + assert "Quantity" not in allocation + + +@pytest.mark.asyncio +async def test_get_allocation_data_nonexistent_id(async_client): + """Test getting allocation data with non-existent ID.""" + from unittest.mock import patch + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_allocations", return_value={}): + response = await async_client.get( + "/allocation_data?allocation_id=nonexistent", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert "allocation" in data + # The default allocation only includes Ticker, Quantity is filtered out in weights mode + assert len(data["allocation"]) == 1 + assert data["allocation"][0]["Ticker"] == "N/A" + + +@pytest.mark.asyncio +async def test_query_endpoint(async_client): + """Test the query endpoint (basic structure test).""" + from unittest.mock import patch + + from openbb_ai import message_chunk # type: ignore[import-untyped] + + # Mock the execution_loop to return a simple async generator + async def mock_execution_loop(request): + yield message_chunk(text="test response") + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.execution_loop", side_effect=mock_execution_loop): + # Use proper QueryRequest format + request_data = {"messages": [{"role": "human", "content": "test query"}]} + response = await async_client.post( + "/v1/query", json=request_data, headers=headers + ) + assert response.status_code == 200 diff --git a/tests/test_models.py b/tests/test_models.py new file mode 100644 index 0000000..160b9c1 --- /dev/null +++ b/tests/test_models.py @@ -0,0 +1,166 @@ +import pytest +from pydantic import ValidationError + +from allocator_bot.models import AppConfig, TaskStructure + + +class TestAppConfig: + """Test the AppConfig model validation.""" + + def test_valid_config_with_s3_enabled(self): + """Test valid configuration with S3 enabled.""" + + # NOTE: pydantic does model validation in order of field declaration, + # so s3_enabled must be declared before data_folder_path. + config = AppConfig( + agent_host_url="http://localhost:8000", + app_api_key="test-key", + openrouter_api_key="test-key", + s3_enabled=True, + s3_endpoint="http://localhost:9000", + s3_access_key="test-access-key", + s3_secret_key="test-secret-key", + s3_bucket_name="test-bucket", + data_folder_path=None, # Can be None when S3 is enabled + fmp_api_key="test-fmp-key", + ) + assert config.s3_enabled is True + assert config.data_folder_path is None + + def test_valid_config_with_s3_disabled(self): + """Test valid configuration with S3 disabled.""" + config = AppConfig( + agent_host_url="http://localhost:8000", + app_api_key="test-key", + openrouter_api_key="test-key", + data_folder_path="/tmp/test", + s3_enabled=False, + fmp_api_key="test-fmp-key", + ) + assert config.s3_enabled is False + assert config.data_folder_path == "/tmp/test" + + def test_data_folder_path_validation_s3_disabled(self): + """Test data_folder_path validation when S3 is disabled.""" + with pytest.raises(ValidationError) as exc_info: + AppConfig( + agent_host_url="http://localhost:8000", + app_api_key="test-key", + openrouter_api_key="test-key", + data_folder_path=None, # Should fail when S3 is disabled + s3_enabled=False, + fmp_api_key="test-fmp-key", + ) + assert "Data folder path must be set when S3 is not enabled" in str( + exc_info.value + ) + + def test_s3_config_validation_s3_enabled(self): + """Test S3 configuration validation when S3 is enabled.""" + # Test missing s3_endpoint + with pytest.raises(ValidationError) as exc_info: + AppConfig( + agent_host_url="http://localhost:8000", + app_api_key="test-key", + openrouter_api_key="test-key", + s3_enabled=True, + s3_endpoint=None, # Should fail when S3 is enabled + s3_access_key="test-access-key", + s3_secret_key="test-secret-key", + s3_bucket_name="test-bucket", + fmp_api_key="test-fmp-key", + ) + assert "S3 configuration values must be set when S3 is enabled" in str( + exc_info.value + ) + + def test_fmp_api_key_validation(self): + """Test FMP API key validation.""" + with pytest.raises(ValidationError) as exc_info: + AppConfig( + agent_host_url="http://localhost:8000", + app_api_key="test-key", + openrouter_api_key="test-key", + data_folder_path="/tmp/test", + s3_enabled=False, + fmp_api_key=None, # Should fail + ) + assert "FMP API key must be set for data retrieval" in str(exc_info.value) + + +class TestTaskStructure: + """Test the TaskStructure model.""" + + def test_task_structure_creation(self): + """Test creating a TaskStructure with default values.""" + task = TaskStructure( + task="Optimize portfolio", + asset_symbols=["AAPL", "GOOGL", "MSFT"], + ) + assert task.task == "Optimize portfolio" + assert task.asset_symbols == ["AAPL", "GOOGL", "MSFT"] + assert task.total_investment == 100000 # default + assert task.start_date == "2019-01-01" # default + assert task.end_date is None # default + assert task.risk_free_rate == 0.05 # default + assert task.target_return == 0.15 # default + assert task.target_volatility == 0.15 # default + + def test_task_structure_with_custom_values(self): + """Test creating a TaskStructure with custom values.""" + task = TaskStructure( + task="Custom portfolio optimization", + asset_symbols=["AAPL", "TSLA"], + total_investment=50000, + start_date="2020-01-01", + end_date="2023-12-31", + risk_free_rate=0.03, + target_return=0.12, + target_volatility=0.18, + ) + assert task.task == "Custom portfolio optimization" + assert task.asset_symbols == ["AAPL", "TSLA"] + assert task.total_investment == 50000 + assert task.start_date == "2020-01-01" + assert task.end_date == "2023-12-31" + assert task.risk_free_rate == 0.03 + assert task.target_return == 0.12 + assert task.target_volatility == 0.18 + + def test_task_structure_repr(self): + """Test TaskStructure __repr__ method.""" + task = TaskStructure( + task="Test task", + asset_symbols=["AAPL"], + ) + repr_str = repr(task) + assert "TaskStructure" in repr_str + assert "Test task" in repr_str + assert "AAPL" in repr_str + + def test_task_structure_str(self): + """Test TaskStructure __str__ method.""" + task = TaskStructure( + task="Test task", + asset_symbols=["AAPL", "GOOGL"], + ) + str_repr = str(task) + assert "Task structure:" in str_repr + assert "Assets:['AAPL', 'GOOGL']" in str_repr + assert "Total investment:100000" in str_repr + + def test_task_structure_pretty_dict(self): + """Test TaskStructure __pretty_dict__ method.""" + task = TaskStructure( + task="Test task", + asset_symbols=["AAPL", "GOOGL"], + total_investment=75000, + ) + pretty_dict = task.__pretty_dict__() + assert pretty_dict["Assets"] == "AAPL, GOOGL" + assert pretty_dict["Total investment"] == 75000 + assert pretty_dict["Start date"] == "2019-01-01" + assert pretty_dict["End date"] is None + assert pretty_dict["Risk free rate"] == 0.05 + assert pretty_dict["Target return"] == 0.15 + assert pretty_dict["Target volatility"] == 0.15 diff --git a/tests/test_portfolio.py b/tests/test_portfolio.py index 720086b..74ad756 100644 --- a/tests/test_portfolio.py +++ b/tests/test_portfolio.py @@ -1,16 +1,25 @@ import os +from unittest.mock import AsyncMock, MagicMock, patch + import pandas as pd -from unittest.mock import patch, MagicMock + +# Set required environment variables for testing +os.environ["DATA_FOLDER_PATH"] = "/tmp/test" +os.environ["FMP_API_KEY"] = "test_key" +os.environ["OPENROUTER_API_KEY"] = "test_key" +os.environ["AGENT_HOST_URL"] = "http://localhost:8000" +os.environ["APP_API_KEY"] = "test_key" + from allocator_bot.portfolio import ( + calculate_quantities, fetch_historical_prices, optimize_portfolio, - calculate_quantities, prepare_allocation, - save_allocation, ) +from allocator_bot.storage import save_allocation -def test_fetch_historical_prices(): +async def test_fetch_historical_prices(): mock_df = pd.DataFrame( { "symbol": ["AAPL", "GOOG"], @@ -22,37 +31,37 @@ def test_fetch_historical_prices(): mock_obb.equity.price.historical.return_value.to_df.return_value = mock_df with patch("allocator_bot.portfolio.obb", mock_obb): - prices = fetch_historical_prices(["AAPL", "GOOG"]) + prices = await fetch_historical_prices(["AAPL", "GOOG"]) assert not prices.empty assert list(prices.columns) == ["symbol", "date", "adj_close"] assert len(prices) == 2 -def test_optimize_portfolio(): +async def test_optimize_portfolio(): data = { "date": pd.to_datetime(["2023-01-01", "2023-01-02", "2023-01-03"]), "AAPL": [150, 152, 151], "GOOG": [2800, 2810, 2805], } prices = pd.DataFrame(data).set_index("date") - results = optimize_portfolio(prices, 0.02, 0.1, 0.2) + results = await optimize_portfolio(prices, 0.02, 0.1, 0.2) assert "max_sharpe" in results assert "min_volatility" in results assert "efficient_risk" in results assert "efficient_return" in results -def test_calculate_quantities(): +async def test_calculate_quantities(): weights = {"AAPL": 0.5, "GOOG": 0.5} latest_prices = {"AAPL": 150.0, "GOOG": 2800.0} total_investment = 100000 - quantities = calculate_quantities(weights, latest_prices, total_investment) + quantities = await calculate_quantities(weights, latest_prices, total_investment) assert quantities["AAPL"] == 333 assert quantities["GOOG"] == 17 @patch("allocator_bot.portfolio.fetch_historical_prices") -def test_prepare_allocation(mock_fetch_historical_prices): +async def test_prepare_allocation(mock_fetch_historical_prices): mock_df = pd.DataFrame( { "symbol": ["AAPL", "GOOG"], @@ -62,7 +71,8 @@ def test_prepare_allocation(mock_fetch_historical_prices): ) mock_fetch_historical_prices.return_value = mock_df - # Create a dummy DataFrame for prices, as the mocked fetch_historical_prices is not returning a pivotable DataFrame + # Create a dummy DataFrame for prices, as the mocked fetch_historical_prices is not + # returning a pivotable DataFrame prices_data = { "date": pd.to_datetime(pd.date_range("2023-01-01", periods=100)), "AAPL": [150 + i + (i * 0.01) for i in range(100)], @@ -73,7 +83,7 @@ def test_prepare_allocation(mock_fetch_historical_prices): # Mock the pivot_table call mock_df.pivot_table = MagicMock(return_value=prices) - allocation = prepare_allocation( + allocation = await prepare_allocation( asset_symbols=["AAPL", "GOOG"], total_investment=100000, risk_free_rate=0.02, @@ -87,33 +97,31 @@ def test_prepare_allocation(mock_fetch_historical_prices): assert "Quantity" in allocation.columns -@patch("allocator_bot.portfolio.save_allocations_to_s3") -@patch("allocator_bot.portfolio.load_allocations_from_s3") -@patch("allocator_bot.portfolio.config") -def test_save_allocation_s3(mock_config, mock_load_s3, mock_save_s3): - mock_config.s3_enabled = True - mock_load_s3.return_value = {} +@patch("allocator_bot.storage.get_storage") +async def test_save_allocation_s3(mock_get_storage): + mock_storage = AsyncMock() + mock_storage.load_allocations.return_value = {} + mock_get_storage.return_value = mock_storage + allocation_id = "test_id" allocation_data = [{"Ticker": "AAPL", "Weight": 1.0}] - result = save_allocation(allocation_id, allocation_data) + result = await save_allocation(allocation_id, allocation_data) assert result == allocation_id - mock_save_s3.assert_called_once() - - -@patch("builtins.open", new_callable=MagicMock) -@patch("json.dump") -@patch("json.load") -@patch("os.getenv") -@patch("allocator_bot.portfolio.config") -def test_save_allocation_local( - mock_config, mock_getenv, mock_json_load, mock_json_dump, mock_open -): - mock_config.s3_enabled = False - mock_getenv.return_value = "/fake/path" - mock_json_load.return_value = {} + mock_storage.save_allocations.assert_called_once_with( + {allocation_id: allocation_data} + ) + + +@patch("allocator_bot.storage.get_storage") +async def test_save_allocation_local(mock_get_storage): + mock_storage = AsyncMock() + mock_storage.load_allocations.return_value = {} + mock_get_storage.return_value = mock_storage + allocation_id = "test_id" allocation_data = [{"Ticker": "AAPL", "Weight": 1.0}] - result = save_allocation(allocation_id, allocation_data) + result = await save_allocation(allocation_id, allocation_data) assert result == allocation_id - mock_open.assert_called() - mock_json_dump.assert_called() + mock_storage.save_allocations.assert_called_once_with( + {allocation_id: allocation_data} + ) diff --git a/tests/test_s3_migration.py b/tests/test_s3_migration.py index 8184a3b..b1903b7 100644 --- a/tests/test_s3_migration.py +++ b/tests/test_s3_migration.py @@ -28,7 +28,7 @@ def mock_config_s3_enabled(): yield -def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): +async def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): from allocator_bot.storage import load_allocations, save_allocation # Mock the get_object and put_object methods @@ -40,7 +40,7 @@ def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): allocation_data = [{"Ticker": "AAPL", "Weight": 0.5, "Quantity": 10}] # Test saving to S3 - save_allocation(allocation_id, allocation_data) + await save_allocation(allocation_id, allocation_data) # Verify put_object was called correctly mock_s3_client.put_object.assert_called_once_with( @@ -55,12 +55,12 @@ def test_save_and_load_allocations_s3(mock_s3_client, mock_config_s3_enabled): read=lambda: json.dumps({allocation_id: allocation_data}).encode("utf-8") ) } - loaded_allocations = load_allocations() + loaded_allocations = await load_allocations() assert loaded_allocations == {allocation_id: allocation_data} -def test_load_allocations_from_s3_no_key(mock_s3_client, mock_config_s3_enabled): +async def test_load_allocations_from_s3_no_key(mock_s3_client, mock_config_s3_enabled): from allocator_bot.storage import load_allocations # Simulate NoSuchKey error @@ -68,7 +68,7 @@ def test_load_allocations_from_s3_no_key(mock_s3_client, mock_config_s3_enabled) {"Error": {"Code": "NoSuchKey"}}, "GetObject" ) - loaded_allocations = load_allocations() + loaded_allocations = await load_allocations() assert loaded_allocations == {} @@ -77,7 +77,7 @@ def test_load_allocations_from_s3_no_key(mock_s3_client, mock_config_s3_enabled) [(True, "mock_s3_client"), (False, None)], indirect=["mock_s3_client"], ) -def test_save_allocation_s3_and_local( +async def test_save_allocation_s3_and_local( s3_enabled, mock_s3_client, tmp_path, monkeypatch ): # Mock the config values @@ -114,7 +114,7 @@ def test_save_allocation_s3_and_local( allocation_id = "new_test_id" allocation_data = [{"Ticker": "MSFT", "Weight": 0.8, "Quantity": 5}] - save_allocation(allocation_id, allocation_data) + await save_allocation(allocation_id, allocation_data) expected_data = { "existing_id": [{"Ticker": "GOOG", "Weight": 0.2}], @@ -135,133 +135,149 @@ def test_save_allocation_s3_and_local( assert updated_data == expected_data -def test_local_file_storage_init_creates_directory(tmp_path, monkeypatch): +async def test_local_file_storage_init_creates_directory(tmp_path, monkeypatch): """Test LocalFileStorage creates directory if it doesn't exist.""" from allocator_bot.storage import LocalFileStorage - + storage_path = tmp_path / "new_storage_dir" assert not storage_path.exists() - - monkeypatch.setattr("allocator_bot.storage.config.data_folder_path", str(storage_path)) - + + monkeypatch.setattr( + "allocator_bot.storage.config.data_folder_path", str(storage_path) + ) + storage = LocalFileStorage() assert storage_path.exists() assert storage.data_folder_path == str(storage_path) -def test_local_file_storage_init_no_path(): +async def test_local_file_storage_init_no_path(): """Test LocalFileStorage raises error when data_folder_path is None.""" - from allocator_bot.storage import LocalFileStorage from unittest.mock import patch - + + from allocator_bot.storage import LocalFileStorage + with patch("allocator_bot.storage.config.data_folder_path", None): with pytest.raises(ValueError, match="data_folder_path is not configured"): LocalFileStorage() -def test_local_file_storage_load_nonexistent_allocations(tmp_path, monkeypatch): +async def test_local_file_storage_load_nonexistent_allocations(tmp_path, monkeypatch): """Test loading allocations when file doesn't exist.""" from allocator_bot.storage import LocalFileStorage - + monkeypatch.setattr("allocator_bot.storage.config.data_folder_path", str(tmp_path)) - + storage = LocalFileStorage() - allocations = storage.load_allocations() + allocations = await storage.load_allocations() assert allocations == {} -def test_local_file_storage_load_nonexistent_tasks(tmp_path, monkeypatch): +async def test_local_file_storage_load_nonexistent_tasks(tmp_path, monkeypatch): """Test loading tasks when file doesn't exist.""" from allocator_bot.storage import LocalFileStorage - + monkeypatch.setattr("allocator_bot.storage.config.data_folder_path", str(tmp_path)) - + storage = LocalFileStorage() - tasks = storage.load_tasks() + tasks = await storage.load_tasks() assert tasks == {} -def test_cloud_object_storage_s3_error_handling(mock_s3_client, mock_config_s3_enabled): +async def test_cloud_object_storage_s3_error_handling( + mock_s3_client, mock_config_s3_enabled +): """Test CloudObjectStorage handles S3 errors properly.""" - from allocator_bot.storage import CloudObjectStorage from botocore.exceptions import ClientError - + + from allocator_bot.storage import CloudObjectStorage + storage = CloudObjectStorage() - + # Test S3 error other than NoSuchKey mock_s3_client.get_object.side_effect = ClientError( {"Error": {"Code": "AccessDenied"}}, "GetObject" ) - + with pytest.raises(ClientError): - storage.load_allocations() + await storage.load_allocations() -def test_cloud_object_storage_load_tasks_error(mock_s3_client, mock_config_s3_enabled): +async def test_cloud_object_storage_load_tasks_error( + mock_s3_client, mock_config_s3_enabled +): """Test CloudObjectStorage handles task loading errors.""" - from allocator_bot.storage import CloudObjectStorage from botocore.exceptions import ClientError - + + from allocator_bot.storage import CloudObjectStorage + storage = CloudObjectStorage() - + # Test S3 error other than NoSuchKey mock_s3_client.get_object.side_effect = ClientError( {"Error": {"Code": "AccessDenied"}}, "GetObject" ) - + with pytest.raises(ClientError): - storage.load_tasks() + await storage.load_tasks() -def test_cloud_object_storage_load_tasks_no_key(mock_s3_client, mock_config_s3_enabled): +async def test_cloud_object_storage_load_tasks_no_key( + mock_s3_client, mock_config_s3_enabled +): """Test CloudObjectStorage returns empty dict when tasks file doesn't exist.""" - from allocator_bot.storage import CloudObjectStorage from botocore.exceptions import ClientError - + + from allocator_bot.storage import CloudObjectStorage + storage = CloudObjectStorage() - + # Simulate NoSuchKey error for tasks mock_s3_client.get_object.side_effect = ClientError( {"Error": {"Code": "NoSuchKey"}}, "GetObject" ) - - tasks = storage.load_tasks() + + tasks = await storage.load_tasks() assert tasks == {} -def test_save_task_function(mock_s3_client, mock_config_s3_enabled): +async def test_save_task_function(mock_s3_client, mock_config_s3_enabled): """Test the save_task function.""" from allocator_bot.storage import save_task - + # Mock existing tasks mock_s3_client.get_object.return_value = { - "Body": MagicMock(read=lambda: json.dumps({"existing_task": {"data": "value"}}).encode("utf-8")) + "Body": MagicMock( + read=lambda: json.dumps({"existing_task": {"data": "value"}}).encode( + "utf-8" + ) + ) } - + task_id = "new_task_123" task_data = {"optimization": "max_sharpe", "symbols": ["AAPL", "GOOGL"]} - - result = save_task(task_id, task_data) - + + result = await save_task(task_id, task_data) + assert result == task_id mock_s3_client.put_object.assert_called_once() call_args = mock_s3_client.put_object.call_args assert call_args[1]["Bucket"] == "test-bucket" assert call_args[1]["Key"] == "tasks.json" - + saved_data = json.loads(call_args[1]["Body"]) assert saved_data[task_id] == task_data assert "existing_task" in saved_data -def test_load_tasks_function(mock_s3_client, mock_config_s3_enabled): +async def test_load_tasks_function(mock_s3_client, mock_config_s3_enabled): """Test the load_tasks function.""" from allocator_bot.storage import load_tasks - + expected_tasks = {"task1": {"data": "value1"}, "task2": {"data": "value2"}} mock_s3_client.get_object.return_value = { "Body": MagicMock(read=lambda: json.dumps(expected_tasks).encode("utf-8")) } - - tasks = load_tasks() + + tasks = await load_tasks() assert tasks == expected_tasks diff --git a/tests/test_utils.py b/tests/test_utils.py new file mode 100644 index 0000000..a2a2400 --- /dev/null +++ b/tests/test_utils.py @@ -0,0 +1,154 @@ +import pytest +from fastapi import HTTPException +from openbb_ai.models import LlmClientMessage + +from allocator_bot.utils import ( + generate_id, + is_last_message, + sanitize_message, + validate_api_key, +) + + +class TestValidateApiKey: + """Test API key validation.""" + + def test_validate_api_key_success(self): + """Test successful API key validation.""" + api_key = "test-key" + token = "Bearer test-key" + assert validate_api_key(token, api_key) is True + + def test_validate_api_key_success_no_bearer(self): + """Test successful API key validation without Bearer prefix.""" + api_key = "test-key" + token = "test-key" + assert validate_api_key(token, api_key) is True + + def test_validate_api_key_failure(self): + """Test failed API key validation.""" + api_key = "test-key" + token = "Bearer wrong-key" + assert validate_api_key(token, api_key) is False + + def test_validate_api_key_empty_header(self): + """Test API key validation with empty header.""" + api_key = "test-key" + token = "" + assert validate_api_key(token, api_key) is False + + + + + +class TestSanitizeMessage: + """Test message sanitization.""" + + async def test_sanitize_message_single_braces(self): + """Test sanitizing single braces.""" + message = "This has {single} braces" + expected = "This has {{single}} braces" + assert await sanitize_message(message) == expected + + async def test_sanitize_message_mixed_braces(self): + """Test sanitizing mixed single and double braces.""" + message = "This has {single} and {{double}} braces" + expected = "This has {{single}} and {{double}} braces" + assert await sanitize_message(message) == expected + + async def test_sanitize_message_no_braces(self): + """Test sanitizing message with no braces.""" + message = "This has no braces" + expected = "This has no braces" + assert await sanitize_message(message) == expected + + async def test_sanitize_message_only_double_braces(self): + """Test sanitizing message with only double braces.""" + message = "This has {{only}} double braces" + expected = "This has {{only}} double braces" + assert await sanitize_message(message) == expected + + +class TestIsLastMessage: + """Test is_last_message function.""" + + async def test_is_last_message_true(self): + """Test when message is the last human message.""" + messages = [ + LlmClientMessage(role="human", content="First message"), + LlmClientMessage(role="ai", content="Response"), + LlmClientMessage(role="human", content="Last message"), + ] + target_message = messages[2] # Last human message + assert await is_last_message(target_message, messages) is True + + async def test_is_last_message_false(self): + """Test when message is not the last human message.""" + messages = [ + LlmClientMessage(role="human", content="First message"), + LlmClientMessage(role="ai", content="Response"), + LlmClientMessage(role="human", content="Last message"), + ] + target_message = messages[0] # First human message + assert await is_last_message(target_message, messages) is False + + async def test_is_last_message_no_human_messages(self): + """Test when there are no human messages.""" + messages = [ + LlmClientMessage(role="ai", content="Response 1"), + LlmClientMessage(role="ai", content="Response 2"), + ] + target_message = LlmClientMessage(role="human", content="Test message") + assert await is_last_message(target_message, messages) is False + + async def test_is_last_message_only_human_messages(self): + """Test when all messages are human messages.""" + messages = [ + LlmClientMessage(role="human", content="First message"), + LlmClientMessage(role="human", content="Second message"), + LlmClientMessage(role="human", content="Last message"), + ] + target_message = messages[2] # Last message + assert await is_last_message(target_message, messages) is True + + async def test_is_last_message_single_human_message(self): + """Test with single human message.""" + messages = [ + LlmClientMessage(role="human", content="Only message"), + ] + target_message = messages[0] + assert await is_last_message(target_message, messages) is True + + +class TestGenerateId: + """Test ID generation.""" + + async def test_generate_id_default_length(self): + """Test generating ID with default length.""" + id_str = await generate_id() + assert len(id_str) == 4 # 2 from timestamp + 2 default + assert id_str.isalnum() + + async def test_generate_id_custom_length(self): + """Test generating ID with custom length.""" + id_str = await generate_id(length=3) + assert len(id_str) == 5 # 2 from timestamp + 3 custom + assert id_str.isalnum() + + async def test_generate_id_zero_length(self): + """Test generating ID with zero length suffix.""" + id_str = await generate_id(length=0) + assert len(id_str) == 2 # Only timestamp part + assert id_str.isalnum() + + async def test_generate_id_uniqueness(self): + """Test that generated IDs are reasonably unique.""" + ids = [await generate_id() for _ in range(10)] + # Should be unique (though theoretically possible to have duplicates) + assert len(set(ids)) == len(ids) + + async def test_generate_id_character_set(self): + """Test that generated IDs only contain valid base36 characters.""" + id_str = await generate_id(length=5) + valid_chars = set("0123456789abcdefghijklmnopqrstuvwxyz") + assert all(c in valid_chars for c in id_str) diff --git a/uv.lock b/uv.lock index b47f464..5a937f4 100644 --- a/uv.lock +++ b/uv.lock @@ -126,6 +126,14 @@ dev = [ { name = "types-boto3" }, ] +[package.dev-dependencies] +dev = [ + { name = "coverage" }, + { name = "httpx" }, + { name = "pytest-asyncio" }, + { name = "pytest-cov" }, +] + [package.metadata] requires-dist = [ { name = "black", marker = "extra == 'dev'", specifier = ">=24.4.2" }, @@ -149,6 +157,14 @@ requires-dist = [ ] provides-extras = ["dev"] +[package.metadata.requires-dev] +dev = [ + { name = "coverage", specifier = ">=7.9.1" }, + { name = "httpx", specifier = ">=0.28.1" }, + { name = "pytest-asyncio", specifier = ">=1.0.0" }, + { name = "pytest-cov", specifier = ">=6.2.1" }, +] + [[package]] name = "annotated-types" version = "0.7.0" @@ -413,6 +429,53 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] +[[package]] +name = "coverage" +version = "7.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/e0/98670a80884f64578f0c22cd70c5e81a6e07b08167721c7487b4d70a7ca0/coverage-7.9.1.tar.gz", hash = "sha256:6cf43c78c4282708a28e466316935ec7489a9c487518a77fa68f716c67909cec", size = 813650, upload-time = "2025-06-13T13:02:28.627Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/78/1c1c5ec58f16817c09cbacb39783c3655d54a221b6552f47ff5ac9297603/coverage-7.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc94d7c5e8423920787c33d811c0be67b7be83c705f001f7180c7b186dcf10ca", size = 212028, upload-time = "2025-06-13T13:00:29.293Z" }, + { url = "https://files.pythonhosted.org/packages/98/db/e91b9076f3a888e3b4ad7972ea3842297a52cc52e73fd1e529856e473510/coverage-7.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16aa0830d0c08a2c40c264cef801db8bc4fc0e1892782e45bcacbd5889270509", size = 212420, upload-time = "2025-06-13T13:00:34.027Z" }, + { url = "https://files.pythonhosted.org/packages/0e/d0/2b3733412954576b0aea0a16c3b6b8fbe95eb975d8bfa10b07359ead4252/coverage-7.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf95981b126f23db63e9dbe4cf65bd71f9a6305696fa5e2262693bc4e2183f5b", size = 241529, upload-time = "2025-06-13T13:00:35.786Z" }, + { url = "https://files.pythonhosted.org/packages/b3/00/5e2e5ae2e750a872226a68e984d4d3f3563cb01d1afb449a17aa819bc2c4/coverage-7.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f05031cf21699785cd47cb7485f67df619e7bcdae38e0fde40d23d3d0210d3c3", size = 239403, upload-time = "2025-06-13T13:00:37.399Z" }, + { url = "https://files.pythonhosted.org/packages/37/3b/a2c27736035156b0a7c20683afe7df498480c0dfdf503b8c878a21b6d7fb/coverage-7.9.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb4fbcab8764dc072cb651a4bcda4d11fb5658a1d8d68842a862a6610bd8cfa3", size = 240548, upload-time = "2025-06-13T13:00:39.647Z" }, + { url = "https://files.pythonhosted.org/packages/98/f5/13d5fc074c3c0e0dc80422d9535814abf190f1254d7c3451590dc4f8b18c/coverage-7.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0f16649a7330ec307942ed27d06ee7e7a38417144620bb3d6e9a18ded8a2d3e5", size = 240459, upload-time = "2025-06-13T13:00:40.934Z" }, + { url = "https://files.pythonhosted.org/packages/36/24/24b9676ea06102df824c4a56ffd13dc9da7904478db519efa877d16527d5/coverage-7.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cea0a27a89e6432705fffc178064503508e3c0184b4f061700e771a09de58187", size = 239128, upload-time = "2025-06-13T13:00:42.343Z" }, + { url = "https://files.pythonhosted.org/packages/be/05/242b7a7d491b369ac5fee7908a6e5ba42b3030450f3ad62c645b40c23e0e/coverage-7.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e980b53a959fa53b6f05343afbd1e6f44a23ed6c23c4b4c56c6662bbb40c82ce", size = 239402, upload-time = "2025-06-13T13:00:43.634Z" }, + { url = "https://files.pythonhosted.org/packages/73/e0/4de7f87192fa65c9c8fbaeb75507e124f82396b71de1797da5602898be32/coverage-7.9.1-cp310-cp310-win32.whl", hash = "sha256:70760b4c5560be6ca70d11f8988ee6542b003f982b32f83d5ac0b72476607b70", size = 214518, upload-time = "2025-06-13T13:00:45.622Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ab/5e4e2fe458907d2a65fab62c773671cfc5ac704f1e7a9ddd91996f66e3c2/coverage-7.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a66e8f628b71f78c0e0342003d53b53101ba4e00ea8dabb799d9dba0abbbcebe", size = 215436, upload-time = "2025-06-13T13:00:47.245Z" }, + { url = "https://files.pythonhosted.org/packages/60/34/fa69372a07d0903a78ac103422ad34db72281c9fc625eba94ac1185da66f/coverage-7.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95c765060e65c692da2d2f51a9499c5e9f5cf5453aeaf1420e3fc847cc060582", size = 212146, upload-time = "2025-06-13T13:00:48.496Z" }, + { url = "https://files.pythonhosted.org/packages/27/f0/da1894915d2767f093f081c42afeba18e760f12fdd7a2f4acbe00564d767/coverage-7.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba383dc6afd5ec5b7a0d0c23d38895db0e15bcba7fb0fa8901f245267ac30d86", size = 212536, upload-time = "2025-06-13T13:00:51.535Z" }, + { url = "https://files.pythonhosted.org/packages/10/d5/3fc33b06e41e390f88eef111226a24e4504d216ab8e5d1a7089aa5a3c87a/coverage-7.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37ae0383f13cbdcf1e5e7014489b0d71cc0106458878ccde52e8a12ced4298ed", size = 245092, upload-time = "2025-06-13T13:00:52.883Z" }, + { url = "https://files.pythonhosted.org/packages/0a/39/7aa901c14977aba637b78e95800edf77f29f5a380d29768c5b66f258305b/coverage-7.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69aa417a030bf11ec46149636314c24c8d60fadb12fc0ee8f10fda0d918c879d", size = 242806, upload-time = "2025-06-13T13:00:54.571Z" }, + { url = "https://files.pythonhosted.org/packages/43/fc/30e5cfeaf560b1fc1989227adedc11019ce4bb7cce59d65db34fe0c2d963/coverage-7.9.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a4be2a28656afe279b34d4f91c3e26eccf2f85500d4a4ff0b1f8b54bf807338", size = 244610, upload-time = "2025-06-13T13:00:56.932Z" }, + { url = "https://files.pythonhosted.org/packages/bf/15/cca62b13f39650bc87b2b92bb03bce7f0e79dd0bf2c7529e9fc7393e4d60/coverage-7.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:382e7ddd5289f140259b610e5f5c58f713d025cb2f66d0eb17e68d0a94278875", size = 244257, upload-time = "2025-06-13T13:00:58.545Z" }, + { url = "https://files.pythonhosted.org/packages/cd/1a/c0f2abe92c29e1464dbd0ff9d56cb6c88ae2b9e21becdb38bea31fcb2f6c/coverage-7.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e5532482344186c543c37bfad0ee6069e8ae4fc38d073b8bc836fc8f03c9e250", size = 242309, upload-time = "2025-06-13T13:00:59.836Z" }, + { url = "https://files.pythonhosted.org/packages/57/8d/c6fd70848bd9bf88fa90df2af5636589a8126d2170f3aade21ed53f2b67a/coverage-7.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a39d18b3f50cc121d0ce3838d32d58bd1d15dab89c910358ebefc3665712256c", size = 242898, upload-time = "2025-06-13T13:01:02.506Z" }, + { url = "https://files.pythonhosted.org/packages/c2/9e/6ca46c7bff4675f09a66fe2797cd1ad6a24f14c9c7c3b3ebe0470a6e30b8/coverage-7.9.1-cp311-cp311-win32.whl", hash = "sha256:dd24bd8d77c98557880def750782df77ab2b6885a18483dc8588792247174b32", size = 214561, upload-time = "2025-06-13T13:01:04.012Z" }, + { url = "https://files.pythonhosted.org/packages/a1/30/166978c6302010742dabcdc425fa0f938fa5a800908e39aff37a7a876a13/coverage-7.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:6b55ad10a35a21b8015eabddc9ba31eb590f54adc9cd39bcf09ff5349fd52125", size = 215493, upload-time = "2025-06-13T13:01:05.702Z" }, + { url = "https://files.pythonhosted.org/packages/60/07/a6d2342cd80a5be9f0eeab115bc5ebb3917b4a64c2953534273cf9bc7ae6/coverage-7.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:6ad935f0016be24c0e97fc8c40c465f9c4b85cbbe6eac48934c0dc4d2568321e", size = 213869, upload-time = "2025-06-13T13:01:09.345Z" }, + { url = "https://files.pythonhosted.org/packages/68/d9/7f66eb0a8f2fce222de7bdc2046ec41cb31fe33fb55a330037833fb88afc/coverage-7.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8de12b4b87c20de895f10567639c0797b621b22897b0af3ce4b4e204a743626", size = 212336, upload-time = "2025-06-13T13:01:10.909Z" }, + { url = "https://files.pythonhosted.org/packages/20/20/e07cb920ef3addf20f052ee3d54906e57407b6aeee3227a9c91eea38a665/coverage-7.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5add197315a054e92cee1b5f686a2bcba60c4c3e66ee3de77ace6c867bdee7cb", size = 212571, upload-time = "2025-06-13T13:01:12.518Z" }, + { url = "https://files.pythonhosted.org/packages/78/f8/96f155de7e9e248ca9c8ff1a40a521d944ba48bec65352da9be2463745bf/coverage-7.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:600a1d4106fe66f41e5d0136dfbc68fe7200a5cbe85610ddf094f8f22e1b0300", size = 246377, upload-time = "2025-06-13T13:01:14.87Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cf/1d783bd05b7bca5c10ded5f946068909372e94615a4416afadfe3f63492d/coverage-7.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a876e4c3e5a2a1715a6608906aa5a2e0475b9c0f68343c2ada98110512ab1d8", size = 243394, upload-time = "2025-06-13T13:01:16.23Z" }, + { url = "https://files.pythonhosted.org/packages/02/dd/e7b20afd35b0a1abea09fb3998e1abc9f9bd953bee548f235aebd2b11401/coverage-7.9.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81f34346dd63010453922c8e628a52ea2d2ccd73cb2487f7700ac531b247c8a5", size = 245586, upload-time = "2025-06-13T13:01:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/4e/38/b30b0006fea9d617d1cb8e43b1bc9a96af11eff42b87eb8c716cf4d37469/coverage-7.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:888f8eee13f2377ce86d44f338968eedec3291876b0b8a7289247ba52cb984cd", size = 245396, upload-time = "2025-06-13T13:01:19.164Z" }, + { url = "https://files.pythonhosted.org/packages/31/e4/4d8ec1dc826e16791f3daf1b50943e8e7e1eb70e8efa7abb03936ff48418/coverage-7.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9969ef1e69b8c8e1e70d591f91bbc37fc9a3621e447525d1602801a24ceda898", size = 243577, upload-time = "2025-06-13T13:01:22.433Z" }, + { url = "https://files.pythonhosted.org/packages/25/f4/b0e96c5c38e6e40ef465c4bc7f138863e2909c00e54a331da335faf0d81a/coverage-7.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:60c458224331ee3f1a5b472773e4a085cc27a86a0b48205409d364272d67140d", size = 244809, upload-time = "2025-06-13T13:01:24.143Z" }, + { url = "https://files.pythonhosted.org/packages/8a/65/27e0a1fa5e2e5079bdca4521be2f5dabf516f94e29a0defed35ac2382eb2/coverage-7.9.1-cp312-cp312-win32.whl", hash = "sha256:5f646a99a8c2b3ff4c6a6e081f78fad0dde275cd59f8f49dc4eab2e394332e74", size = 214724, upload-time = "2025-06-13T13:01:25.435Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a8/d5b128633fd1a5e0401a4160d02fa15986209a9e47717174f99dc2f7166d/coverage-7.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:30f445f85c353090b83e552dcbbdad3ec84c7967e108c3ae54556ca69955563e", size = 215535, upload-time = "2025-06-13T13:01:27.861Z" }, + { url = "https://files.pythonhosted.org/packages/a3/37/84bba9d2afabc3611f3e4325ee2c6a47cd449b580d4a606b240ce5a6f9bf/coverage-7.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:af41da5dca398d3474129c58cb2b106a5d93bbb196be0d307ac82311ca234342", size = 213904, upload-time = "2025-06-13T13:01:29.202Z" }, + { url = "https://files.pythonhosted.org/packages/3e/e5/c723545c3fd3204ebde3b4cc4b927dce709d3b6dc577754bb57f63ca4a4a/coverage-7.9.1-pp39.pp310.pp311-none-any.whl", hash = "sha256:db0f04118d1db74db6c9e1cb1898532c7dcc220f1d2718f058601f7c3f499514", size = 204009, upload-time = "2025-06-13T13:02:25.787Z" }, + { url = "https://files.pythonhosted.org/packages/08/b8/7ddd1e8ba9701dea08ce22029917140e6f66a859427406579fd8d0ca7274/coverage-7.9.1-py3-none-any.whl", hash = "sha256:66b974b145aa189516b6bf2d8423e888b742517d37872f6ee4c5be0073bd9a3c", size = 204000, upload-time = "2025-06-13T13:02:27.173Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version <= '3.11'" }, +] + [[package]] name = "cvxpy" version = "1.6.5" @@ -1445,6 +1508,32 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2f/de/afa024cbe022b1b318a3d224125aa24939e99b4ff6f22e0ba639a2eaee47/pytest-8.4.0-py3-none-any.whl", hash = "sha256:f40f825768ad76c0977cbacdf1fd37c6f7a468e460ea6a0636078f8972d4517e", size = 363797, upload-time = "2025-06-02T17:36:27.859Z" }, ] +[[package]] +name = "pytest-asyncio" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/d4/14f53324cb1a6381bef29d698987625d80052bb33932d8e7cbf9b337b17c/pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f", size = 46960, upload-time = "2025-05-26T04:54:40.484Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/05/ce271016e351fddc8399e546f6e23761967ee09c8c568bbfbecb0c150171/pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3", size = 15976, upload-time = "2025-05-26T04:54:39.035Z" }, +] + +[[package]] +name = "pytest-cov" +version = "6.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", extra = ["toml"] }, + { name = "pluggy" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/99/668cade231f434aaa59bbfbf49469068d2ddd945000621d3d165d2e7dd7b/pytest_cov-6.2.1.tar.gz", hash = "sha256:25cc6cc0a5358204b8108ecedc51a9b57b34cc6b8c967cc2c01a4e00d8a67da2", size = 69432, upload-time = "2025-06-12T10:47:47.684Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/16/4ea354101abb1287856baa4af2732be351c7bee728065aed451b678153fd/pytest_cov-6.2.1-py3-none-any.whl", hash = "sha256:f5bc4c23f42f1cdd23c70b1dab1bbaef4fc505ba950d53e0081d0730dd7e86d5", size = 24644, upload-time = "2025-06-12T10:47:45.932Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" From 96dc203ee6c5af789754fc876584215a7bc4ee8c Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 30 Jun 2025 12:59:47 +0300 Subject: [PATCH 12/33] Rename test file --- tests/{test_s3_migration.py => test_storage.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/{test_s3_migration.py => test_storage.py} (100%) diff --git a/tests/test_s3_migration.py b/tests/test_storage.py similarity index 100% rename from tests/test_s3_migration.py rename to tests/test_storage.py From b43b18f49a31b3c29dc7992592ec1786c26e2c4b Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 30 Jun 2025 13:13:51 +0300 Subject: [PATCH 13/33] Replace ugly nested context managers with patch.multiple --- tests/test_agent.py | 368 +++++++++++++++++----------------------- tests/test_portfolio.py | 8 - 2 files changed, 159 insertions(+), 217 deletions(-) diff --git a/tests/test_agent.py b/tests/test_agent.py index f3e84f3..9cfadee 100644 --- a/tests/test_agent.py +++ b/tests/test_agent.py @@ -34,26 +34,26 @@ async def mock_need_to_allocate_portfolio(*args, **kwargs): # This mock, when called, will return our other mock (the callable). mock_make_llm = MagicMock(return_value=mock_llm_callable) - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + make_llm=mock_make_llm, ): - with patch("allocator_bot.agent.make_llm", new=mock_make_llm): - events = [] - async for event in execution_loop(request): - events.append(event) - - assert len(events) == 1 - # The event from `message_chunk` is a `MessageChunkSSE` object. - # The text content is in the `data.delta` attribute. - assert hasattr(events[0], "data") - assert hasattr(events[0].data, "delta") - assert events[0].data.delta == "Portfolio optimization is..." - - # Assert that make_llm was called to create the LLM - mock_make_llm.assert_called_once() - # Assert that the llm was called - mock_llm_callable.assert_awaited_once() + events = [] + async for event in execution_loop(request): + events.append(event) + + assert len(events) == 1 + # The event from `message_chunk` is a `MessageChunkSSE` object. + # The text content is in the `data.delta` attribute. + assert hasattr(events[0], "data") + assert hasattr(events[0].data, "delta") + assert events[0].data.delta == "Portfolio optimization is..." + + # Assert that make_llm was called to create the LLM + mock_make_llm.assert_called_once() + # Assert that the llm was called + mock_llm_callable.assert_awaited_once() @pytest.mark.asyncio async def test_execution_loop_with_ai_messages(self): @@ -95,44 +95,25 @@ async def test_execution_loop_with_ai_messages(self): async def mock_need_to_allocate_portfolio(*args, **kwargs): return True - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + mock_llm_callable = AsyncMock(return_value="Portfolio created successfully") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + _get_task_structure=AsyncMock(return_value=task_structure), + prepare_allocation=AsyncMock(return_value=mock_allocation), + save_allocation=AsyncMock(return_value="test_id_123"), + save_task=AsyncMock(return_value="test_id_123"), + generate_id=MagicMock(return_value="test_id"), + make_llm=mock_make_llm, ): - with patch( - "allocator_bot.agent._get_task_structure", - new=AsyncMock(return_value=task_structure), - ): - with patch( - "allocator_bot.agent.prepare_allocation", - return_value=mock_allocation, - ): - with patch( - "allocator_bot.agent.save_allocation", - return_value="test_id_123", - ): - with patch( - "allocator_bot.agent.save_task", return_value="test_id_123" - ): - with patch( - "allocator_bot.agent.generate_id", - return_value="test_id", - ): - mock_llm_callable = AsyncMock( - return_value="Portfolio created successfully" - ) - mock_make_llm = MagicMock( - return_value=mock_llm_callable - ) - with patch( - "allocator_bot.agent.make_llm", new=mock_make_llm - ): - events = [] - async for event in execution_loop(request): - events.append(event) - - # Should have multiple events: reasoning steps, table, message chunks - assert len(events) > 5 + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have multiple events: reasoning steps, table, message chunks + assert len(events) > 5 @pytest.mark.asyncio async def test_execution_loop_allocation_error(self): @@ -152,34 +133,29 @@ async def test_execution_loop_allocation_error(self): async def mock_need_to_allocate_portfolio(*args, **kwargs): return True - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + mock_llm_callable = AsyncMock(return_value="Error occurred") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + _get_task_structure=AsyncMock(return_value=task_structure), + prepare_allocation=MagicMock(side_effect=Exception("Data fetch failed")), + make_llm=mock_make_llm, ): - with patch( - "allocator_bot.agent._get_task_structure", - new=AsyncMock(return_value=task_structure), - ): - with patch( - "allocator_bot.agent.prepare_allocation", - side_effect=Exception("Data fetch failed"), - ): - mock_llm_callable = AsyncMock(return_value="Error occurred") - mock_make_llm = MagicMock(return_value=mock_llm_callable) - with patch("allocator_bot.agent.make_llm", new=mock_make_llm): - events = [] - async for event in execution_loop(request): - events.append(event) - - # Should have error reasoning step - error_events = [ - e - for e in events - if hasattr(e, "data") - and hasattr(e.data, "eventType") - and e.data.eventType == "ERROR" - ] - assert len(error_events) > 0 + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have error reasoning step + error_events = [ + e + for e in events + if hasattr(e, "data") + and hasattr(e.data, "eventType") + and e.data.eventType == "ERROR" + ] + assert len(error_events) > 0 @pytest.mark.asyncio async def test_execution_loop_save_allocation_error(self): @@ -208,38 +184,30 @@ async def test_execution_loop_save_allocation_error(self): async def mock_need_to_allocate_portfolio(*args, **kwargs): return True - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + mock_llm_callable = AsyncMock(return_value="Error saving") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + _get_task_structure=AsyncMock(return_value=task_structure), + prepare_allocation=AsyncMock(return_value=mock_allocation), + save_allocation=MagicMock(side_effect=Exception("Save failed")), + make_llm=mock_make_llm, ): - with patch( - "allocator_bot.agent._get_task_structure", - new=AsyncMock(return_value=task_structure), - ): - with patch( - "allocator_bot.agent.prepare_allocation", - return_value=mock_allocation, - ): - with patch( - "allocator_bot.agent.save_allocation", - side_effect=Exception("Save failed"), - ): - mock_llm_callable = AsyncMock(return_value="Error saving") - mock_make_llm = MagicMock(return_value=mock_llm_callable) - with patch("allocator_bot.agent.make_llm", new=mock_make_llm): - events = [] - async for event in execution_loop(request): - events.append(event) - - # Should have error reasoning step for save failure - error_events = [ - e - for e in events - if hasattr(e, "data") - and hasattr(e.data, "eventType") - and e.data.eventType == "ERROR" - ] - assert len(error_events) > 0 + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have error reasoning step for save failure + error_events = [ + e + for e in events + if hasattr(e, "data") + and hasattr(e.data, "eventType") + and e.data.eventType == "ERROR" + ] + assert len(error_events) > 0 @pytest.mark.asyncio async def test_execution_loop_string_llm_result(self): @@ -253,20 +221,21 @@ async def test_execution_loop_string_llm_result(self): async def mock_need_to_allocate_portfolio(*args, **kwargs): return False - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + mock_llm_callable = AsyncMock( + return_value="Diversification is a risk management strategy" + ) + mock_make_llm = MagicMock(return_value=mock_llm_callable) + + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + make_llm=mock_make_llm, ): - mock_llm_callable = AsyncMock( - return_value="Diversification is a risk management strategy" - ) - mock_make_llm = MagicMock(return_value=mock_llm_callable) - with patch("allocator_bot.agent.make_llm", new=mock_make_llm): - events = [] - async for event in execution_loop(request): - events.append(event) + events = [] + async for event in execution_loop(request): + events.append(event) - assert len(events) >= 1 + assert len(events) >= 1 @pytest.mark.asyncio async def test_execution_loop_streamed_llm_result(self): @@ -289,19 +258,20 @@ async def mock_stream(): async def mock_need_to_allocate_portfolio(*args, **kwargs): return False - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + mock_llm_callable = AsyncMock(return_value=mock_streamed_str) + mock_make_llm = MagicMock(return_value=mock_llm_callable) + + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + make_llm=mock_make_llm, ): - mock_llm_callable = AsyncMock(return_value=mock_streamed_str) - mock_make_llm = MagicMock(return_value=mock_llm_callable) - with patch("allocator_bot.agent.make_llm", new=mock_make_llm): - events = [] - async for event in execution_loop(request): - events.append(event) + events = [] + async for event in execution_loop(request): + events.append(event) - # Should have multiple chunks - assert len(events) >= 3 + # Should have multiple chunks + assert len(events) >= 3 @pytest.mark.asyncio async def test_execution_loop_with_citations(self): @@ -340,51 +310,31 @@ async def test_execution_loop_with_citations(self): async def mock_need_to_allocate_portfolio(*args, **kwargs): return True - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + mock_llm_callable = AsyncMock(return_value="Portfolio created successfully") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + _get_task_structure=AsyncMock(return_value=task_structure), + prepare_allocation=AsyncMock(return_value=mock_allocation), + save_allocation=AsyncMock(return_value="citation_test_id"), + save_task=AsyncMock(return_value="citation_test_id"), + generate_id=AsyncMock(return_value="citation_test"), + make_llm=mock_make_llm, ): - with patch( - "allocator_bot.agent._get_task_structure", - new=AsyncMock(return_value=task_structure), - ): - with patch( - "allocator_bot.agent.prepare_allocation", - return_value=mock_allocation, - ): - with patch( - "allocator_bot.agent.save_allocation", - new=AsyncMock(return_value="citation_test_id"), - ): - with patch( - "allocator_bot.agent.save_task", - new=AsyncMock(return_value="citation_test_id"), - ): - with patch( - "allocator_bot.agent.generate_id", - new=AsyncMock(return_value="citation_test"), - ): - mock_llm_callable = AsyncMock( - return_value="Portfolio created successfully" - ) - mock_make_llm = MagicMock( - return_value=mock_llm_callable - ) - with patch( - "allocator_bot.agent.make_llm", new=mock_make_llm - ): - events = [] - async for event in execution_loop(request): - events.append(event) - - # Should have citations at the end - citation_events = [ - e - for e in events - if hasattr(e, "event") - and e.event == "copilotCitationCollection" - ] - assert len(citation_events) > 0 + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should have citations at the end + citation_events = [ + e + for e in events + if hasattr(e, "event") + and e.event == "copilotCitationCollection" + ] + assert len(citation_events) > 0 @pytest.mark.asyncio async def test_execution_loop_message_content_handling(self): @@ -398,23 +348,22 @@ async def test_execution_loop_message_content_handling(self): async def mock_need_to_allocate_portfolio(*args, **kwargs): return False - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + mock_llm_callable = AsyncMock(return_value="Response") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + mock_sanitize = AsyncMock(return_value="Test message with {{braces}}") + + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + sanitize_message=mock_sanitize, + make_llm=mock_make_llm, ): - with patch( - "allocator_bot.agent.sanitize_message", - return_value="Test message with {{braces}}", - ) as mock_sanitize: - mock_llm_callable = AsyncMock(return_value="Response") - mock_make_llm = MagicMock(return_value=mock_llm_callable) - with patch("allocator_bot.agent.make_llm", new=mock_make_llm): - events = [] - async for event in execution_loop(request): - events.append(event) - - # sanitize_message should have been called - mock_sanitize.assert_called() + events = [] + async for event in execution_loop(request): + events.append(event) + + # sanitize_message should have been called + mock_sanitize.assert_called() @pytest.mark.asyncio async def test_execution_loop_message_without_content(self): @@ -427,16 +376,17 @@ async def test_execution_loop_message_without_content(self): async def mock_need_to_allocate_portfolio(*args, **kwargs): return False - with patch( - "allocator_bot.agent._need_to_allocate_portfolio", - new=mock_need_to_allocate_portfolio, + mock_llm_callable = AsyncMock(return_value="Response") + mock_make_llm = MagicMock(return_value=mock_llm_callable) + + with patch.multiple( + "allocator_bot.agent", + _need_to_allocate_portfolio=mock_need_to_allocate_portfolio, + make_llm=mock_make_llm, ): - mock_llm_callable = AsyncMock(return_value="Response") - mock_make_llm = MagicMock(return_value=mock_llm_callable) - with patch("allocator_bot.agent.make_llm", new=mock_make_llm): - events = [] - async for event in execution_loop(request): - events.append(event) - - # Should not crash and should produce some events - assert len(events) >= 1 + events = [] + async for event in execution_loop(request): + events.append(event) + + # Should not crash and should produce some events + assert len(events) >= 1 diff --git a/tests/test_portfolio.py b/tests/test_portfolio.py index 74ad756..86afe27 100644 --- a/tests/test_portfolio.py +++ b/tests/test_portfolio.py @@ -1,15 +1,7 @@ -import os from unittest.mock import AsyncMock, MagicMock, patch import pandas as pd -# Set required environment variables for testing -os.environ["DATA_FOLDER_PATH"] = "/tmp/test" -os.environ["FMP_API_KEY"] = "test_key" -os.environ["OPENROUTER_API_KEY"] = "test_key" -os.environ["AGENT_HOST_URL"] = "http://localhost:8000" -os.environ["APP_API_KEY"] = "test_key" - from allocator_bot.portfolio import ( calculate_quantities, fetch_historical_prices, From bb9154c611fb73113a74a8965cf0e58d30b76afe Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Tue, 1 Jul 2025 19:06:29 +0300 Subject: [PATCH 14/33] Set FMP key from environment if it's not picked up from local settings --- allocator_bot/agent.py | 2 +- allocator_bot/portfolio.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/allocator_bot/agent.py b/allocator_bot/agent.py index fe88e23..b761679 100644 --- a/allocator_bot/agent.py +++ b/allocator_bot/agent.py @@ -148,7 +148,7 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] if allocation is not None: try: yield reasoning_step( - message="Basket weights optimized. Saving allocation...", + message="Basket weights optimized. Saving task and results...", ) allocation_id = await save_allocation( diff --git a/allocator_bot/portfolio.py b/allocator_bot/portfolio.py index f84dfcc..0f04e87 100644 --- a/allocator_bot/portfolio.py +++ b/allocator_bot/portfolio.py @@ -5,11 +5,16 @@ from openbb import obb # type: ignore from pypfopt import EfficientFrontier, expected_returns, risk_models # type: ignore +from .config import config + async def fetch_historical_prices( tickers: list[str], start_date: str = "1998-01-01", end_date: str | None = None ) -> pd.DataFrame: """Fetch historical prices for a list of tickers.""" + if obb.user.credentials.fmp_api_key is None: + obb.user.credentials.fmp_api_key = config.fmp_api_key + if end_date is None: end_date = datetime.today().strftime("%Y-%m-%d") From e96c6fb111a6972a71c8ba45966fd96ed70b7589 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 10:35:32 +0300 Subject: [PATCH 15/33] Update app configuration --- .env.example | 3 ++- allocator_bot/config.py | 11 ++++++++--- allocator_bot/models.py | 12 ++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.env.example b/.env.example index 8389d0e..bc40a4f 100644 --- a/.env.example +++ b/.env.example @@ -12,7 +12,8 @@ S3_ENDPOINT= # S3 endpoint URL S3_ACCESS_KEY= # S3 access key S3_SECRET_KEY= # S3 secret key S3_BUCKET_NAME= # S3 bucket name -S3_ALLOCATION_FILE=allocations.json # Path to allocation file in S3 +ALLOCATION_DATA_FILE=allocations.json # File name to store allocations +TASK_DATA_FILE=tasks.json # File name to store tasks # Data retrieval configuration FMP_API_KEY= diff --git a/allocator_bot/config.py b/allocator_bot/config.py index 160dd6a..1767302 100644 --- a/allocator_bot/config.py +++ b/allocator_bot/config.py @@ -1,17 +1,22 @@ import os +from dotenv import load_dotenv + from .models import AppConfig +load_dotenv() + config = AppConfig( - agent_host_url=os.getenv("AGENT_HOST_URL"), - app_api_key=os.getenv("APP_API_KEY"), + agent_host_url=os.getenv("AGENT_HOST_URL", ""), + app_api_key=os.getenv("APP_API_KEY", ""), data_folder_path=os.getenv("DATA_FOLDER_PATH", None), - openrouter_api_key=os.getenv("OPENROUTER_API_KEY", None), + openrouter_api_key=os.getenv("OPENROUTER_API_KEY", ""), s3_enabled=os.getenv("S3_ENABLED", "false").lower() == "true", s3_endpoint=os.getenv("S3_ENDPOINT", None), s3_access_key=os.getenv("S3_ACCESS_KEY", None), s3_secret_key=os.getenv("S3_SECRET_KEY", None), s3_bucket_name=os.getenv("S3_BUCKET_NAME", None), allocation_data_file=os.getenv("ALLOCATION_DATA_FILE", "allocations.json"), + task_data_file=os.getenv("TASK_DATA_FILE", "tasks.json"), fmp_api_key=os.getenv("FMP_API_KEY", None), ) diff --git a/allocator_bot/models.py b/allocator_bot/models.py index c166486..b3f7221 100644 --- a/allocator_bot/models.py +++ b/allocator_bot/models.py @@ -31,6 +31,18 @@ class AppConfig(BaseModel): default=None, description="Financial Modeling Prep API key for data retrieval." ) + @field_validator( + "agent_host_url", "app_api_key", "openrouter_api_key", mode="before" + ) + def validate_required_env_vars(cls, value: str | None, info) -> str | None: + """Validate required environment variables. + + Raises ValueError if any required variable is not set. + """ + if not value: + raise ValueError(f"{info.field_name} environment variable is required.") + return value + @field_validator("data_folder_path") def validate_data_folder_path(cls, value: str | None, info) -> str | None: """Validate the data folder path. From 71fe0c3e76e60e0e0a3dc8f1f96e7b7fd0b4b915 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 15:08:12 +0300 Subject: [PATCH 16/33] Make sure each artifact is unique --- allocator_bot/agent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allocator_bot/agent.py b/allocator_bot/agent.py index b761679..48f9bc2 100644 --- a/allocator_bot/agent.py +++ b/allocator_bot/agent.py @@ -169,7 +169,7 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] yield table( data=allocation.to_dict(orient="records"), - name="Allocation", + name=f"Allocation {allocation_id}", description="Allocation of assets to the in the basket.", ) From ea9ca9c102f3edc6c5db1385dbe01afb2209cde6 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 15:08:56 +0300 Subject: [PATCH 17/33] Expose task history to the UI --- allocator_bot/agent.py | 3 + allocator_bot/api.py | 165 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 167 insertions(+), 1 deletion(-) diff --git a/allocator_bot/agent.py b/allocator_bot/agent.py index 48f9bc2..9a29ea7 100644 --- a/allocator_bot/agent.py +++ b/allocator_bot/agent.py @@ -1,4 +1,5 @@ import logging +from datetime import date from typing import AsyncGenerator, Callable from magentic import ( @@ -158,6 +159,8 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] task_to_save = task_structure.model_dump() task_to_save.pop("task") + # Add current date as the first key of the task data + task_to_save["date"] = date.today().isoformat() await save_task( allocation_id=allocation_id, task_data=task_to_save, diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 3bf4e14..4152104 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -1,5 +1,6 @@ import logging +import pandas as pd from fastapi import Depends, FastAPI, HTTPException, status from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import JSONResponse @@ -9,7 +10,7 @@ from .agent import execution_loop from .config import config -from .storage import load_allocations +from .storage import load_allocations, load_tasks from .utils import validate_api_key app = FastAPI() @@ -186,6 +187,168 @@ async def get_allocation_data( return JSONResponse(content={"allocation": selected_allocation}) +@app.get( + "/task_data", + openapi_extra={ + "widget_config": { + "name": "Allocation Task History", + "description": "Asset basket allocation task history", + "endpoint": "/task_data", + "category": "Allocations", + "sub_category": "Allocation", + "source": ["Allocator bot"], + "gridData": { + "x": 0, + "y": 0, + "w": 40, + "h": 15, + "minH": 10, + "minW": 20, + "maxH": 100, + "maxW": 100, + }, + "widgetId": "task-data", + "type": "table", + "params": [ + { + "paramName": "start_date", + "label": "Start Date", + "type": "date", + "description": "Filter tasks from this date (YYYY-MM-DD)", + }, + { + "paramName": "end_date", + "label": "End Date", + "type": "date", + "description": "Filter tasks until this date (YYYY-MM-DD)", + }, + { + "paramName": "symbol_search", + "label": "Symbol Search", + "type": "text", + "description": "Filter by asset symbol (partial match)", + }, + ], + "data": { + "dataKey": "tasks", + "table": { + "enableCharts": False, + "showAll": True, + "transpose": False, + "columnDefs": [ + { + "field": "Task ID", + "headerName": "Task ID", + "cellDataType": "text", + "formatterFn": "none", + "width": 100, + "pinned": "left", + }, + { + "field": "Timestamp", + "headerName": "Task Date", + "cellDataType": "text", + "formatterFn": "date", + "width": 100, + }, + { + "field": "Assets", + "headerName": "Assets", + "cellDataType": "text", + "formatterFn": "none", + "width": 150, + }, + { + "field": "Investment", + "headerName": "Investment (USD)", + "cellDataType": "number", + "formatterFn": "currency", + "width": 100, + }, + { + "field": "Start Date", + "headerName": "Start Date", + "cellDataType": "text", + "formatterFn": "dateTime", + "width": 100, + }, + { + "field": "End Date", + "headerName": "End Date", + "cellDataType": "text", + "formatterFn": "dateTime", + "width": 100, + }, + { + "field": "Risk Free Rate", + "headerName": "% Risk Free Rate", + "cellDataType": "number", + "formatterFn": "% number (1 decimal)", + "width": 120, + }, + { + "field": "Target Return", + "headerName": "% Target Return", + "cellDataType": "number", + "formatterFn": "% number (1 decimal)", + "width": 120, + }, + { + "field": "Target Volatility", + "headerName": "% Target Volatility", + "cellDataType": "number", + "formatterFn": "normalizedPercent", + "width": 120, + }, + ], + }, + }, + } + }, +) +async def get_task_data( + start_date: str | None = None, + end_date: str | None = None, + symbol_search: str | None = None, + token: str = Depends(get_current_user), +) -> JSONResponse: + """Fetch task data with filtering by date range and symbol search.""" + tasks = await load_tasks() + + if not tasks: + return JSONResponse(content={"tasks": []}) + + df = pd.DataFrame( + [ + { + "Task ID": task_id, + "Timestamp": task_data.get("timestamp", ""), + "Assets": ", ".join(task_data.get("asset_symbols", [])), + "Investment": f"${task_data.get('total_investment', 0):,.2f}", + "Start Date": task_data.get("start_date", "N/A"), + "End Date": task_data.get("end_date", "N/A"), + "Risk Free Rate": f"{task_data.get('risk_free_rate', 0)*100:.1f}%", + "Target Return": f"{task_data.get('target_return', 0)*100:.1f}%", + "Target Volatility": f"{task_data.get('target_volatility', 0)*100:.1f}%", + } + for task_id, task_data in tasks.items() + ] + ) + + # Apply filters + if start_date: + df = df[df["Timestamp"].str[:10] >= start_date] + if end_date: + df = df[df["Timestamp"].str[:10] <= end_date] + if symbol_search: + df = df[df["Assets"].str.upper().str.contains(symbol_search.upper(), na=False)] + + # Sort by timestamp (newest first) + df = df.sort_values("Timestamp", ascending=False) + + return JSONResponse(content={"tasks": df.to_dict(orient="records")}) + + @app.post("/v1/query") async def query( request: QueryRequest, token: str = Depends(get_current_user) From c1a9c022a93f5f223a96b813af6729c3375f881d Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 15:10:11 +0300 Subject: [PATCH 18/33] Implement fetcher-only data retrieval via openbb platform --- allocator_bot/portfolio.py | 20 ++++++++++---------- pyproject.toml | 3 --- tests/test_portfolio.py | 28 ++++++++++++++++++---------- uv.lock | 30 ------------------------------ 4 files changed, 28 insertions(+), 53 deletions(-) diff --git a/allocator_bot/portfolio.py b/allocator_bot/portfolio.py index 0f04e87..33e7a82 100644 --- a/allocator_bot/portfolio.py +++ b/allocator_bot/portfolio.py @@ -2,7 +2,7 @@ from datetime import datetime, timedelta import pandas as pd -from openbb import obb # type: ignore +from openbb_fmp import FMPEquityHistoricalFetcher from pypfopt import EfficientFrontier, expected_returns, risk_models # type: ignore from .config import config @@ -12,19 +12,19 @@ async def fetch_historical_prices( tickers: list[str], start_date: str = "1998-01-01", end_date: str | None = None ) -> pd.DataFrame: """Fetch historical prices for a list of tickers.""" - if obb.user.credentials.fmp_api_key is None: - obb.user.credentials.fmp_api_key = config.fmp_api_key if end_date is None: end_date = datetime.today().strftime("%Y-%m-%d") - price_data = obb.equity.price.historical( # type: ignore - symbol=",".join(tickers), - start_date=start_date, - end_date=end_date, - provider="fmp", - ).to_df() - return price_data + price_data = await FMPEquityHistoricalFetcher.fetch_data( + params={ + "symbol": ",".join(tickers), + "start_date": start_date, + "end_date": end_date, + }, + credentials={"fmp_api_key": config.fmp_api_key or ""}, + ) + return pd.DataFrame(p.model_dump() for p in price_data) # type: ignore [union-attr] async def optimize_portfolio( diff --git a/pyproject.toml b/pyproject.toml index 8697144..524dc96 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,9 +16,6 @@ dependencies = [ "boto3>=1.34.0", "magentic>=0.40.0", "openbb-ai>=1.5.0", - "openbb-core>=1.3.7", - "openbb-equity>=1.3.5", - "openbb-etf>=1.3.5", "openbb-fmp>=1.3.5", "openbb-platform-api>=1.1.10", "pandas>=2.2.3", diff --git a/tests/test_portfolio.py b/tests/test_portfolio.py index 86afe27..c0d2e99 100644 --- a/tests/test_portfolio.py +++ b/tests/test_portfolio.py @@ -12,17 +12,25 @@ async def test_fetch_historical_prices(): - mock_df = pd.DataFrame( - { - "symbol": ["AAPL", "GOOG"], - "date": ["2023-01-01", "2023-01-01"], - "adj_close": [150.0, 2800.0], - } - ) - mock_obb = MagicMock() - mock_obb.equity.price.historical.return_value.to_df.return_value = mock_df + # Mock data that FMPEquityHistoricalFetcher would return + mock_price_obj_1 = MagicMock() + mock_price_obj_1.model_dump.return_value = { + "symbol": "AAPL", + "date": "2023-01-01", + "adj_close": 150.0, + } + mock_price_obj_2 = MagicMock() + mock_price_obj_2.model_dump.return_value = { + "symbol": "GOOG", + "date": "2023-01-01", + "adj_close": 2800.0, + } + mock_price_data = [mock_price_obj_1, mock_price_obj_2] - with patch("allocator_bot.portfolio.obb", mock_obb): + with patch( + "allocator_bot.portfolio.FMPEquityHistoricalFetcher.fetch_data", + return_value=mock_price_data, + ): prices = await fetch_historical_prices(["AAPL", "GOOG"]) assert not prices.empty assert list(prices.columns) == ["symbol", "date", "adj_close"] diff --git a/uv.lock b/uv.lock index 5a937f4..7059655 100644 --- a/uv.lock +++ b/uv.lock @@ -105,9 +105,6 @@ dependencies = [ { name = "boto3" }, { name = "magentic" }, { name = "openbb-ai" }, - { name = "openbb-core" }, - { name = "openbb-equity" }, - { name = "openbb-etf" }, { name = "openbb-fmp" }, { name = "openbb-platform-api" }, { name = "pandas" }, @@ -140,9 +137,6 @@ requires-dist = [ { name = "boto3", specifier = ">=1.34.0" }, { name = "magentic", specifier = ">=0.40.0" }, { name = "openbb-ai", specifier = ">=1.5.0" }, - { name = "openbb-core", specifier = ">=1.3.7" }, - { name = "openbb-equity", specifier = ">=1.3.5" }, - { name = "openbb-etf", specifier = ">=1.3.5" }, { name = "openbb-fmp", specifier = ">=1.3.5" }, { name = "openbb-platform-api", specifier = ">=1.1.10" }, { name = "pandas", specifier = ">=2.2.3" }, @@ -1087,30 +1081,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/32/33/2e03ed56ee6d0600250e6d0ec6769e895e69d2916ff0f5a3f37a070b88e4/openbb_core-1.4.7-py3-none-any.whl", hash = "sha256:f46b3a1d354f02df1fb802bcbb6b1a0253b576607aeb7ecb9e47561e113b3dd4", size = 293602, upload-time = "2025-05-05T15:18:54.706Z" }, ] -[[package]] -name = "openbb-equity" -version = "1.4.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "openbb-core" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/19/20/aed1835677b7ed1a2186e555001b5e8dcce924cd4c9f849bce92ebb5eccf/openbb_equity-1.4.1.tar.gz", hash = "sha256:56e47b4f5525e4f4a44761f1907c17a60fea40a18739acaadf766fe051a58762", size = 8340, upload-time = "2025-05-01T18:21:50.15Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cf/be/7debe71265b36716bf535c3509d2ef9187340579edc02d024219dd4c6c66/openbb_equity-1.4.1-py3-none-any.whl", hash = "sha256:962e71ddff9c9a793b266a24c407adba42deb539df8794275b2f3573848e1021", size = 16383, upload-time = "2025-05-01T18:21:48.733Z" }, -] - -[[package]] -name = "openbb-etf" -version = "1.4.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "openbb-core" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e1/d2/42baf9b154b1f4cf0b68789ffc612ee888863b586e3f1511b895719b4ee5/openbb_etf-1.4.1.tar.gz", hash = "sha256:72f5f0a1a0c386e0d109c8cc1716d764e6d50f96626e9d889504f2db8108fc2d", size = 3120, upload-time = "2025-05-01T18:21:56.089Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/44/00/81145b93af706a96db16bb700523736693082b4be63ec111391dcb241b1e/openbb_etf-1.4.1-py3-none-any.whl", hash = "sha256:9d3647d726ad143062462ccaa62d438a4863d047cdd524fef1bae65976719de5", size = 5146, upload-time = "2025-05-01T18:21:54.581Z" }, -] - [[package]] name = "openbb-fmp" version = "1.4.2" From 4dae4782aef5e525caf667e756b5d00725360364 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 15:10:43 +0300 Subject: [PATCH 19/33] Update tests --- tests/test_api.py | 263 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) diff --git a/tests/test_api.py b/tests/test_api.py index f032553..41b8464 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -206,6 +206,269 @@ async def test_get_allocation_data_nonexistent_id(async_client): assert data["allocation"][0]["Ticker"] == "N/A" +@pytest.mark.asyncio +async def test_get_task_data_empty(async_client): + """Test getting task data when no tasks exist.""" + from unittest.mock import patch + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_tasks", return_value={}): + response = await async_client.get("/task_data", headers=headers) + assert response.status_code == 200 + data = response.json() + assert "tasks" in data + assert data["tasks"] == [] + + +@pytest.mark.asyncio +async def test_get_task_data_basic(async_client): + """Test getting basic task data without filters.""" + from unittest.mock import patch + + mock_tasks = { + "task_1": { + "timestamp": "2024-01-15T10:30:00", + "asset_symbols": ["AAPL", "GOOGL"], + "total_investment": 100000, + "start_date": "2023-01-01", + "end_date": "2024-01-01", + "risk_free_rate": 0.05, + "target_return": 0.15, + "target_volatility": 0.20, + }, + "task_2": { + "timestamp": "2024-01-10T14:20:00", + "asset_symbols": ["MSFT", "TSLA"], + "total_investment": 50000, + "start_date": "2023-06-01", + "end_date": "2024-06-01", + "risk_free_rate": 0.04, + "target_return": 0.12, + "target_volatility": 0.18, + }, + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_tasks", return_value=mock_tasks): + response = await async_client.get("/task_data", headers=headers) + assert response.status_code == 200 + data = response.json() + assert "tasks" in data + assert len(data["tasks"]) == 2 + + # Check data formatting + task = data["tasks"][0] # Should be sorted by timestamp desc (newest first) + assert "Task ID" in task + assert "Timestamp" in task + assert "Assets" in task + assert "Investment" in task + assert task["Investment"] == "$100,000.00" + assert task["Assets"] == "AAPL, GOOGL" + assert task["Risk Free Rate"] == "5.0%" + + +@pytest.mark.asyncio +async def test_get_task_data_date_filter(async_client): + """Test getting task data with date filters.""" + from unittest.mock import patch + + mock_tasks = { + "task_1": { + "timestamp": "2024-01-15T10:30:00", + "asset_symbols": ["AAPL"], + "total_investment": 100000, + "start_date": "2023-01-01", + "end_date": "2024-01-01", + "risk_free_rate": 0.05, + "target_return": 0.15, + "target_volatility": 0.20, + }, + "task_2": { + "timestamp": "2024-01-10T14:20:00", + "asset_symbols": ["MSFT"], + "total_investment": 50000, + "start_date": "2023-06-01", + "end_date": "2024-06-01", + "risk_free_rate": 0.04, + "target_return": 0.12, + "target_volatility": 0.18, + }, + "task_3": { + "timestamp": "2024-01-20T09:15:00", + "asset_symbols": ["GOOGL"], + "total_investment": 75000, + "start_date": "2023-01-01", + "end_date": "2024-01-01", + "risk_free_rate": 0.05, + "target_return": 0.15, + "target_volatility": 0.20, + }, + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_tasks", return_value=mock_tasks): + # Test start_date filter + response = await async_client.get( + "/task_data?start_date=2024-01-12", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert len(data["tasks"]) == 2 # task_1 and task_3 + + # Test end_date filter + response = await async_client.get( + "/task_data?end_date=2024-01-12", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert len(data["tasks"]) == 1 # only task_2 + + # Test date range filter + response = await async_client.get( + "/task_data?start_date=2024-01-12&end_date=2024-01-18", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert len(data["tasks"]) == 1 # only task_1 + + +@pytest.mark.asyncio +async def test_get_task_data_symbol_filter(async_client): + """Test getting task data with symbol search filter.""" + from unittest.mock import patch + + mock_tasks = { + "task_1": { + "timestamp": "2024-01-15T10:30:00", + "asset_symbols": ["AAPL", "GOOGL"], + "total_investment": 100000, + "start_date": "2023-01-01", + "end_date": "2024-01-01", + "risk_free_rate": 0.05, + "target_return": 0.15, + "target_volatility": 0.20, + }, + "task_2": { + "timestamp": "2024-01-10T14:20:00", + "asset_symbols": ["MSFT", "TSLA"], + "total_investment": 50000, + "start_date": "2023-06-01", + "end_date": "2024-06-01", + "risk_free_rate": 0.04, + "target_return": 0.12, + "target_volatility": 0.18, + }, + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_tasks", return_value=mock_tasks): + # Test partial symbol match (case insensitive) + response = await async_client.get( + "/task_data?symbol_search=aapl", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert len(data["tasks"]) == 1 + assert "AAPL" in data["tasks"][0]["Assets"] + + # Test another symbol + response = await async_client.get( + "/task_data?symbol_search=MSFT", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert len(data["tasks"]) == 1 + assert "MSFT" in data["tasks"][0]["Assets"] + + # Test partial match + response = await async_client.get( + "/task_data?symbol_search=GOO", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert len(data["tasks"]) == 1 + assert "GOOGL" in data["tasks"][0]["Assets"] + + +@pytest.mark.asyncio +async def test_get_task_data_combined_filters(async_client): + """Test getting task data with combined filters.""" + from unittest.mock import patch + + mock_tasks = { + "task_1": { + "timestamp": "2024-01-15T10:30:00", + "asset_symbols": ["AAPL", "GOOGL"], + "total_investment": 100000, + "start_date": "2023-01-01", + "end_date": "2024-01-01", + "risk_free_rate": 0.05, + "target_return": 0.15, + "target_volatility": 0.20, + }, + "task_2": { + "timestamp": "2024-01-10T14:20:00", + "asset_symbols": ["AAPL", "MSFT"], + "total_investment": 50000, + "start_date": "2023-06-01", + "end_date": "2024-06-01", + "risk_free_rate": 0.04, + "target_return": 0.12, + "target_volatility": 0.18, + }, + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_tasks", return_value=mock_tasks): + # Test date and symbol filters combined + response = await async_client.get( + "/task_data?start_date=2024-01-12&symbol_search=AAPL", headers=headers + ) + assert response.status_code == 200 + data = response.json() + assert len(data["tasks"]) == 1 # Only task_1 matches both filters + assert "AAPL" in data["tasks"][0]["Assets"] + + +@pytest.mark.asyncio +async def test_get_task_data_missing_fields(async_client): + """Test getting task data with missing or None fields.""" + from unittest.mock import patch + + mock_tasks = { + "task_1": { + "timestamp": "2024-01-15T10:30:00", + "asset_symbols": ["AAPL"], + "total_investment": 100000, + # Missing some fields + }, + "task_2": { + "timestamp": "2024-01-10T14:20:00", + # Missing asset_symbols + "total_investment": 50000, + "start_date": "2023-06-01", + "end_date": None, # Explicitly None + "risk_free_rate": 0.04, + "target_return": 0.12, + "target_volatility": 0.18, + }, + } + + headers = {"Authorization": "Bearer test_key"} + with patch("allocator_bot.api.load_tasks", return_value=mock_tasks): + response = await async_client.get("/task_data", headers=headers) + assert response.status_code == 200 + data = response.json() + assert len(data["tasks"]) == 2 + + # Check handling of missing fields + for task in data["tasks"]: + assert "Task ID" in task + assert "Timestamp" in task + assert "Assets" in task + assert "Investment" in task + + @pytest.mark.asyncio async def test_query_endpoint(async_client): """Test the query endpoint (basic structure test).""" From 7989be9b3bcb9034865a781da8aae53b9ea53a93 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 15:11:17 +0300 Subject: [PATCH 20/33] Fix non awaited function bug and linting errors --- allocator_bot/agent.py | 2 +- conftest.py | 4 ++-- tests/test_agent.py | 3 +-- tests/test_utils.py | 5 ----- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/allocator_bot/agent.py b/allocator_bot/agent.py index 9a29ea7..456bce3 100644 --- a/allocator_bot/agent.py +++ b/allocator_bot/agent.py @@ -178,7 +178,7 @@ async def execution_loop(request: QueryRequest) -> AsyncGenerator[BaseSSE, None] chat_messages.append( AssistantMessage( - content=sanitize_message( + content=await sanitize_message( f"Allocation created. Allocation id: is `{allocation_id}`. Allocation data is {allocation.to_markdown()}." ) ) diff --git a/conftest.py b/conftest.py index cca5254..9a2072b 100644 --- a/conftest.py +++ b/conftest.py @@ -15,8 +15,8 @@ async def async_client(): """Provide an async HTTP client for testing FastAPI endpoints.""" from allocator_bot.__main__ import get_app from httpx import ASGITransport - + app = get_app() transport = ASGITransport(app=app) async with AsyncClient(transport=transport, base_url="http://test") as client: - yield client \ No newline at end of file + yield client diff --git a/tests/test_agent.py b/tests/test_agent.py index 9cfadee..f4d273d 100644 --- a/tests/test_agent.py +++ b/tests/test_agent.py @@ -331,8 +331,7 @@ async def mock_need_to_allocate_portfolio(*args, **kwargs): citation_events = [ e for e in events - if hasattr(e, "event") - and e.event == "copilotCitationCollection" + if hasattr(e, "event") and e.event == "copilotCitationCollection" ] assert len(citation_events) > 0 diff --git a/tests/test_utils.py b/tests/test_utils.py index a2a2400..edb689a 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,5 +1,3 @@ -import pytest -from fastapi import HTTPException from openbb_ai.models import LlmClientMessage from allocator_bot.utils import ( @@ -38,9 +36,6 @@ def test_validate_api_key_empty_header(self): assert validate_api_key(token, api_key) is False - - - class TestSanitizeMessage: """Test message sanitization.""" From e13222330a99995ca53cf29b936897f5fd8ab044 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 15:11:41 +0300 Subject: [PATCH 21/33] Add columndefs to the allocation widget --- allocator_bot/api.py | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 4152104..a6ca102 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -135,10 +135,44 @@ async def get_agent_description(): "chartView": { "enabled": True, "chartType": "donut", - "cellRangeCols": {"donut": ["ticker", "weight"]}, + "cellRangeCols": {"donut": ["Ticker", "Weight"]}, }, "showAll": True, "transpose": False, + "columnDefs": [ + { + "field": "Ticker", + "headerName": "Ticker", + "cellDataType": "text", + "formatterFn": "none", + "width": 100, + "pinned": "left", + }, + { + "field": "Weight", + "headerName": "Weight", + "headerTooltip": "Asset weight in allocation", + "cellDataType": "number", + "formatterFn": "normalizedPercent", + "width": 100, + }, + { + "field": "Quantity", + "headerName": "Quantity", + "headerTooltip": "Asset quantity in allocation", + "cellDataType": "number", + "formatterFn": "int", + "width": 100, + }, + { + "field": "Risk Model", + "headerName": "Risk Model", + "cellDataType": "text", + "formatterFn": "none", + "width": 150, + "pinned": "right", + }, + ], }, }, } From 57a27af94176eb2c7fb1e7d43f46389684877a4f Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 15:11:55 +0300 Subject: [PATCH 22/33] Update llm rules --- .gitignore | 1 + llms.md | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index bfd21f4..ae8aac9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ **/data/**/* *.log .coverage +.claude diff --git a/llms.md b/llms.md index 3e6ada1..0f47fac 100644 --- a/llms.md +++ b/llms.md @@ -34,19 +34,19 @@ openbb-api --app allocator_bot.__main__:get_app --factory Run tests ```bash -pytest +uv run pytest ``` Code formatting ```bash -black . +uv run black . ``` Linting ```bash -ruff check . +uv run ruff check . ``` ### Dependency Management @@ -126,7 +126,7 @@ User Request → FastAPI Endpoint (/v1/query) → Agent Execution Loop → Portf ### Docker - Multi-stage Dockerfile using UV for optimized builds -- Runs on port 6900 +- Runs on port 4299 - Non-root user for security ### Kubernetes From 56d71679320b5c2d30ca7a6af8ab73e034923dc4 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 17:13:41 +0300 Subject: [PATCH 23/33] Update widgets settings --- allocator_bot/api.py | 45 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/allocator_bot/api.py b/allocator_bot/api.py index a6ca102..69ad14d 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -144,7 +144,6 @@ async def get_agent_description(): "field": "Ticker", "headerName": "Ticker", "cellDataType": "text", - "formatterFn": "none", "width": 100, "pinned": "left", }, @@ -168,7 +167,6 @@ async def get_agent_description(): "field": "Risk Model", "headerName": "Risk Model", "cellDataType": "text", - "formatterFn": "none", "width": 150, "pinned": "right", }, @@ -274,65 +272,60 @@ async def get_allocation_data( "field": "Task ID", "headerName": "Task ID", "cellDataType": "text", - "formatterFn": "none", - "width": 100, + "width": 80, "pinned": "left", }, { "field": "Timestamp", "headerName": "Task Date", - "cellDataType": "text", - "formatterFn": "date", - "width": 100, + "cellDataType": "date", + "width": 80, }, { "field": "Assets", "headerName": "Assets", "cellDataType": "text", - "formatterFn": "none", - "width": 150, + "width": 100, }, { "field": "Investment", "headerName": "Investment (USD)", "cellDataType": "number", - "formatterFn": "currency", - "width": 100, + "formatterFn": "int", + "width": 80, }, { "field": "Start Date", "headerName": "Start Date", - "cellDataType": "text", - "formatterFn": "dateTime", - "width": 100, + "cellDataType": "date", + "width": 80, }, { "field": "End Date", "headerName": "End Date", - "cellDataType": "text", - "formatterFn": "dateTime", - "width": 100, + "cellDataType": "date", + "width": 80, }, { "field": "Risk Free Rate", "headerName": "% Risk Free Rate", "cellDataType": "number", - "formatterFn": "% number (1 decimal)", - "width": 120, + "formatterFn": "normalizedPercent", + "width": 80, }, { "field": "Target Return", "headerName": "% Target Return", "cellDataType": "number", - "formatterFn": "% number (1 decimal)", - "width": 120, + "formatterFn": "normalizedPercent", + "width": 80, }, { "field": "Target Volatility", "headerName": "% Target Volatility", "cellDataType": "number", "formatterFn": "normalizedPercent", - "width": 120, + "width": 80, }, ], }, @@ -358,12 +351,12 @@ async def get_task_data( "Task ID": task_id, "Timestamp": task_data.get("timestamp", ""), "Assets": ", ".join(task_data.get("asset_symbols", [])), - "Investment": f"${task_data.get('total_investment', 0):,.2f}", + "Investment": task_data.get("total_investment", 0), "Start Date": task_data.get("start_date", "N/A"), "End Date": task_data.get("end_date", "N/A"), - "Risk Free Rate": f"{task_data.get('risk_free_rate', 0)*100:.1f}%", - "Target Return": f"{task_data.get('target_return', 0)*100:.1f}%", - "Target Volatility": f"{task_data.get('target_volatility', 0)*100:.1f}%", + "Risk Free Rate": task_data.get("risk_free_rate", 0), + "Target Return": task_data.get("target_return", 0), + "Target Volatility": task_data.get("target_volatility", 0), } for task_id, task_data in tasks.items() ] From e6773a21ce215bc1203d5ce6c1a187de841d8e4e Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 17:14:20 +0300 Subject: [PATCH 24/33] Add apps.json endpoint --- allocator_bot/api.py | 12 +++++++++++ allocator_bot/apps.json | 47 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 allocator_bot/apps.json diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 69ad14d..5ed9eae 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -1,4 +1,6 @@ +import json import logging +import os import pandas as pd from fastapi import Depends, FastAPI, HTTPException, status @@ -74,6 +76,16 @@ async def get_agent_description(): ) +@app.get("/apps.json", openapi_extra={"widget_config": {"exclude": True}}) +async def get_apps_description(): + """Apps configuration file for the OpenBB Workspace""" + with open( + os.path.abspath(os.path.join(os.path.dirname(__file__), "apps.json")), "r" + ) as f: + apps_config = json.load(f) + return JSONResponse(content=apps_config) + + @app.get( "/allocation_data", openapi_extra={ diff --git a/allocator_bot/apps.json b/allocator_bot/apps.json new file mode 100644 index 0000000..326ace4 --- /dev/null +++ b/allocator_bot/apps.json @@ -0,0 +1,47 @@ +{ + "name": "Allocator Bot", + "img": "", + "img_dark": "", + "img_light": "", + "description": "The Asset Allocator Bot can perform simple portfolio optimization tasks and allocation tasks", + "allowCustomization": true, + "tabs": { + "": { + "id": "", + "name": "", + "layout": [ + { + "i": "task-data", + "x": 0, + "y": 0, + "w": 40, + "h": 15, + "state": { + "chartView": { + "enabled": false, + "chartType": "line" + }, + "columnState": { + "default": { + "columnOrder": { + "orderedColIds": [ + "Task ID", + "Timestamp", + "Assets", + "Investment", + "Start Date", + "End Date", + "Risk Free Rate", + "Target Return", + "Target Volatility" + ] + } + } + } + } + } + ] + } + }, + "groups": [] +} From 0ac90d4b372741d5c149ff011ffa71c24cb9f3ce Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 20:48:12 +0300 Subject: [PATCH 25/33] Update README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 41358b0..430bd8a 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,18 @@ # Allocator Bot +

+ +

+ A portfolio optimization copilot for OpenBB that uses PyPortfolioOpt to generate efficient frontier allocations. ## Features +

+ image +

+ + - **OpenBB Integration**: - Plugs into OpenBB Workspace's copilot and widget interfaces - Fetches price data from FMP via OpenBB Platform's python library From e0e3c328b4024715f6ab7e6063f7498397607a66 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 21:11:04 +0300 Subject: [PATCH 26/33] Add app/agent logo image --- allocator_bot/api.py | 17 +++++++++++++++-- allocator_bot/apps.json | 12 +++++++++--- assets/image.png | Bin 0 -> 1521697 bytes 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 assets/image.png diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 5ed9eae..2521446 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -5,7 +5,7 @@ import pandas as pd from fastapi import Depends, FastAPI, HTTPException, status from fastapi.middleware.cors import CORSMiddleware -from fastapi.responses import JSONResponse +from fastapi.responses import FileResponse, JSONResponse from fastapi.security import OAuth2PasswordBearer from openbb_ai.models import QueryRequest # type: ignore[import-untyped] from sse_starlette.sse import EventSourceResponse @@ -56,6 +56,15 @@ async def read_root(): return {"info": "Asset basket allocator"} +@app.get("/assets/image.png", openapi_extra={"widget_config": {"exclude": True}}) +async def get_image(): + """Serve the image file.""" + image_path = os.path.abspath( + os.path.join(os.path.dirname(__file__), "..", "assets", "image.png") + ) + return FileResponse(image_path, media_type="image/png") + + @app.get("/agents.json", openapi_extra={"widget_config": {"exclude": True}}) async def get_agent_description(): """Agents configuration file for the OpenBB Workspace""" @@ -64,7 +73,7 @@ async def get_agent_description(): "allocator_bot": { "name": "Allocator Bot", "description": "AI-powered allocator bot to answer questions about the asset basket allocation.", - "image": "https://github.com/OpenBB-finance/copilot-for-terminal-pro/assets/14093308/7da2a512-93b9-478d-90bc-b8c3dd0cabcf", + "image": f"{config.agent_host_url}/assets/image.png", "endpoints": {"query": f"{config.agent_host_url}/v1/query"}, "features": { "streaming": True, @@ -83,6 +92,10 @@ async def get_apps_description(): os.path.abspath(os.path.join(os.path.dirname(__file__), "apps.json")), "r" ) as f: apps_config = json.load(f) + + for config_key in ["img", "img_dark", "img_light"]: + apps_config[config_key] = f"{config.agent_host_url}/assets/image.png" + return JSONResponse(content=apps_config) diff --git a/allocator_bot/apps.json b/allocator_bot/apps.json index 326ace4..cc62cff 100644 --- a/allocator_bot/apps.json +++ b/allocator_bot/apps.json @@ -23,17 +23,23 @@ }, "columnState": { "default": { + "columnPinning": { + "leftColIds": [ + "Task ID" + ], + "rightColIds": [] + }, "columnOrder": { "orderedColIds": [ "Task ID", "Timestamp", "Assets", "Investment", - "Start Date", - "End Date", "Risk Free Rate", "Target Return", - "Target Volatility" + "Target Volatility", + "Start Date", + "End Date" ] } } diff --git a/assets/image.png b/assets/image.png new file mode 100644 index 0000000000000000000000000000000000000000..1f69e3c7a5abbfa984278965d97301d66e1c2f0d GIT binary patch literal 1521697 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
C8 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

##R% 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

sR;u*B;N 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 U5+8vP+j!7 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

3jtTP*+WxTA1B^wm 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ü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

QgQBv|9w4QwBrSb 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

42%euGU}65;BZ_LH=&4~2q*!W;owHVw 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

    #9+1-iEM&fn6%!?l{WvOU3NQ_ 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

    t!d zRc=oA^GyR7RJ*{2YIxT|3G+q^Mv8gq#8S+lF!dmT7KLlW=SZ}CamYfgwqJTfB~&ym z%j2+IR@PC*M9x+EMOom~n8yQ@oz`5_os4J!xC7f{(n>aEX{OS%kQPByyvc2_kZnY{ zc2OX5Qf$5@ado-!o!|5=_^bcJU(1Voug0_A_WL+5&N-LO$iy;6a{#&=FkJjpEQPL` z2g;OBY_>)AVJRYGhdMe%{_Nky$@l&d9Q}!Z8u>Fn$7L*XJ<&=?6SHw;5`&(*5T*t~ zh?_bDe1Nd+>ELW5{J@V!*oV>J z>>-Q+krk0Es#b7+g*?ANo?X;BfxK~p@wPW{_dVZ<-4FhLEI<7FJt2QNHS9Fj>X$;~8>>|>w%&G+EOCqKwH zed67C{!{O&cYpew_|dO@6aS4bJsUrBc{}e7)X~jL+_`nX9>05r$4}09Yq#g9S(wb) zCvp~Y7S2b+9VB))XA5;+#Tkt4AC$SgfdU%b^mtm~{Z%t@)+c zW9@>UKt^Zz@~w&Kc~+zZvTD-!QnF=$rQM^#ZWTnuPkqG`w=V1Abc}a@?A`dn)xyV5 z&JknOx)vCFTd)f0W<)DGH8(=1h#i8$F3E914x{LHUEgNXC^+^;2WSVyO_XO;wpX37U)3OPfQO`>gy z+#vn;6|a;WX|Om(0TUyyar2$u!+-5x{?{?D&+#oE`Vj7)-J^_ADgbqCkd+&awFuN) z8zFN7;Z2;P)abw(mM8)_O*1m+*ntX((wU>MmQ;HHiH+!Pk)sOu(7{?awTa^yUZ8^c ztsW#JVCCqUxfM-29t^LcQi%jar;rIX^Gwe;{EnXmAK8#Y(I&V>Vbj2`BQE z2N(F(cfO@?d5-;htr%R6CVW`AJ!1gd=vkk&ty7HpGJ*M1`D7RTCdQrT-@F1bzy6s| z{#&;mzw5j*m3RZ)>5QHpWY(bK5}HAqhory!JRm$d%-UpWC+qmQikP9CO2@-qrr*P+ ze$zQ~)wlg>XEa*nUUBC%ESSVB`&6lzF1^p$2DSZOf23Pkd^fvobTb+Ov^Iw%7W72A zPE=xS|2bG{Hvl(q!_AXjg7!6N&5Vu}9w|T;4@JpMguYoox)3${PWskE(!^oLI;aX&*Q^S1ZW3i4Xl3p`;J%7bg5iZO`mb3u ziUT9vnt;Ma!)f@wf8H^J*HDQ%HcGtCDw|}Yb*MyP7$opHCb3wssn3T=|EOxpjtmyc zbH?fQZ3;u18#7Nb8=P8(t&3YKH zPz?}RYH~UU7)VTwECIlj-YG#`T(3X^A9(XKc;)_;bPF&zH+o}xViuY1)%4oVN2^@1 zIq+&nSfNCzfYaT;t&<&o?3X{u-OW4LEemG%6KJjq!8QtTEM^qkoKcu^)v>8ul+-$^ zB3PFCPK#UWStx@kB_~BF?3nW~?y9L#J@(Ilk%Yw(!=TXR++#mi4D|+JiD~d`=n6G5 zNitQs^*g1|c!ccQs11Cg&kR`TQ7aKP^hLx78c5YhP7sX2k^om%Z*@Ei2!?OH=P?Hm zIWVF&A(W^EHPpc1IzQFNMZ{py!)Dd?XJ@GhNgx`5h0T(Y`pBfOOaf{2v67xO?wa*z zpvz+zS%}!hy?YPv{`Y)yC9e1n{O|t3Se|?jZrncR<-Pk@JeRF|ehs=6Li4er2n@3? z$j)t&l~IEZY8o6u&9%53?`r=1&-3)gP2BkZ{6#$YrH^7fc!+s)tc0l4$!Py$z_XKF zx(!E8iscHtPbDC#GDzFOvYikpP&p7-RSkpfZD~@=!uD5z$vl`2KSNi?uwnzn+CIWT z1Dq6OXauYy^varu;hv$2D3!U;qyL(|Hw=!dS|Piq$y0^qB6=-1B;VyV0QMQKz{MzZ zO%X|8DarDbE4H~@rzTiIpWUwEH9EjD%}D5KOW@9N;usUx$At%3 z*dy@r^%1{1kMWx?@9^KAJPkakzzm#>74KPI;~%;65P$gSRlNP=b=*BV)@53ExUOC8 zF9)s*Wa{3N1B_|E4rD|k<<)bF+n+hDIW*Y5C4!g-UmTtDg`tfZqqth4V-(cWCKs5) z#RBg+RQ2sZ-S_;iXd z#hm8!c@TqqYX?rQDjs;=N~#DHhD56fl&j%I&j}(?xniz5t8oN;;pe`FWq*w?|JDl_ zPhR7}k3T@{NDdWT?)}||arcLA;y3=ATX^RW-^bTKdjq%La*F*`a^b4$YPs-ogd8;~ z?N_+s*!LsAk+R_p?1__)31UAl@XQNO;Nd5B`FsA*564gc#Q%c3x9(zpb&2KZSn+6< z#&}k0M07{MU3E$!HzXuCsGfMYw=BAEC~zlzA62~Q-^uOsL~!V#sE#Vb$xMa18D?NC zf!Zf35;Fo^Wz9S*OEFZ`cGo+^E;Gu7b~_plCl;Y14=}_Ss{|{+s74}m^GK|YouiYk ztP*}#!azdj5=&rRmDWj?$&`#?Ht9?YQv;)hl8);5#09PpP%@;cM`QC7g%}J@mi2Yy z%;|)qM^#tVMpahuOM{y3Yj*`y8a@TGxK`nK3?ARSg`fKPXYk>-zKLIofqkuLIo#|z zLJTrptTM3e$W**CcD2(#54Q%^LIiLefv??ri1)tu6n2l_#q0Mj@bqK1>w2zKSwJ4c z{6V;XPs|)w?8RQ_B+LB7TnvmkMw^*+bn^(uH{$FoU;EDS&Tj@X7ceqOkusbZMud`3 z<%$BA6Tc%*L9JjZwvazmu99%UwOMC$KDH&h4M-5bgQe|!N(vOt2O!XGl31!#mB-W_ znR&>h2*oW019U)Ds@R3X?2MuE05O$e}kos*0N zvd?g*B;FUZ7i82skkSa&;X5xeQa$IW!s@FfSlLXd$wMqo5ep0Z>|Q2%S$L=dGY{!4Ma!81&3ATYr?73R0&fIE z`K@lnv=9coxgA6`JFNfHEyw5sV{}$VL6@ql_8K|p0BH1q7&6HtRIQa!wy0oi6+CN> zZOIGD6?l0POeGy10d6!RWmTQ-Z`aP$dRL5{gl}SIFnzU+b!Xmn01Y(4)`@0c9%_B~ z$cg8+L){Cl&qx3<5|0SFYyky3nD^m`XnMV#rCU6@Ivnyf7{Lum_geyHkEACa(7jMw zt)cW^8?v`)CKv!IWBg-Dj-#W?Z@m1(a{5^Eu^S6se{fYNr#rsz#9e&)<@*(fu@pLQ)$v3bGd9 zXE9iq*M&Dcc^9Aj(#yF2`Z=C`{xPB6uEvp)sn%U8N2_XR4JW=_bjDOknkWu3YEsrl zo$rp4gTR{b2m%?0>VUI@0s|S^(#g%}J1G%<@2LV?ol2|#ie%Whor%!Z1y>=>8*rAW z$}Eo1*_-aWq75a1qWTO<=rAL7*3yZ|>>3ddZA7Laa#k11Eb*maFT~GxpP2W}P9Z4@ zXrs91_xi>vIzU79vLV&Nhn=z3>;OFhPFG)arZccn6Md<5t{k}5bR^*WvcI~-*d5`? zCtu*d@UQ$!04Cn_;rHSE!TlN`eK;4RFv{adk<^eWCWzRuaofZxwF`u1NvX=sK(57c z6c}H6h3jjdt&_j?cX;vIJ@9j1MDBJ-%F(N9h#n{3_8l&~Cng5QNX$KKFZx~v#Bi2>2Vw?X+jgnaWRrsulkQps|aLA|&WOyEl1q@LhjMV(Vs8{&p+ z)Jov~^-^bZ$6u~H_~@4(!@tTm<9L6K=T5KjXYYO)KXm(bJiA=*=yueN^{B4*3ok3M zUs0n93ko%W!3AJ(qH1e-M<^MJBs0Jv_<1mtG;Im7{Cm}?$RtDeRr&P9NQ}_;ljO|gh~a?R@dkk#ce1eV`JUhUP<`rpSI<6i#v5y4@B69% zP$YX`k+0wAy|Qb=e;PI5&T?+_>Z($U>i~hu%8F#n1voj%`uxvbFwP1OKl1{Po*nhz zzq??J0Ui~=MC?$<6+HWihj{xBJz4+UkDl{C{%hx4-gK%KzC^mTiwyT)lgw;;X~Py> zL`X2zViY+J_A~T8SixKqx8L`><7fZZzk_dl@yqqW_r9Nh=VyN+pFBQ_!h(nus;q`t zS*nv|9b5tm)}bj(dpS{RbBiP7Lv`orOieeJl(`jyK>hrR;jBq2bMIJ4WEFkZC{x<#S(zbFsfgm#s<D_8h*de-$LmIs0I)C;pBJO0sO zOtq3GO7X=YFbfqKu^iXY%{zJa+E?$^;M0upbz|_GfTXbG>No(+hNRaB8y8RjIMT&d zDmqi+g_G#c1st0OIya(PJy#V_IvG_&F1yZ0*fDxOYZO##jv3&Bi(5keT%>!XV3^zl zXzP&}O~oVYaPaVaESGFp+bHq?kfVUTTU4{QqRNVpeJ(Yds<@ne&*5Na3&lDcudZ%5 zu9jf~z%I<$hofUY^sUkRl-G<9=WI^fH1E?WlR-;)ZI$jrhH{&s951KXpOXe8VH;X5 z7DDqr(6L7e#+FUh`*zN@O}tuEMCq~Wz6SdIL9q2F&8~8rE>Lx71EJs5pRvGbzXn!L zZLEX($^`AKf`wHPwE~|OTIm~ELhH6$>EJ?Q*zWrdnrZU@>nl(J*`{*E%)Q#BmW ziVcSiiDuJZKr4g0br3Lf!01UR;1=qcj~sL}3aXssdExEQdIO@GzM(?}$eA!j#jUO? zv(cZ}fD0i_dI#-mc}>iQa77*rRhnpvkx+lMy`rjn4#2~-+Ui4Ota3tVC<5IdveD)G zI{E<1HiY&xaX@X2I5~sc4&t_ETN1Big1(S_v4(>=q-gM4N>#ldg&M;&afvg|Hge&= z>oc&7W9%=_KDb_AjT>)x&TiM$=4v2H{cmX_iBwXwRaT6$sZS5`Mq8yo!Q=VGzTWrZ z(?~A3+)u^`DF%hpDi&hugKA7_Y|RGMh(l)#5A8HUhEJ8?!tQv%t<$6YyTA6C7`Jvf zT1I7p6R9A~7a@9gh>0{$Z4^*rGsqpd3moS#76y_tkRj1E!S@1IvI51KnoaQgQPss)rXnko9HE6)XR7kg)SQ{d%ZZpu z)+3#?qojcz;21vmTH!zeV*>tX0sL*}Hoa&qlMILGTg#{iSLgWfw|r}{R{nec=AXyz zx%Xo3_nN{q!X}XJ0o49-qXrkZnUN(sTrn$Rp`~CooFrKpBqA{|^7`XH6Sw|}KS{jr z!^Y#>CwkrA9DYBw`;zmJ*|b$pEY(ED-x);Hs5ELETT zEc3_y3qJU7{##u9`Y&L&p63Ie#O}ruh!@|D@yt^gw{IjC1lLledbLWBD}h?qwzROp zbMZ~SwxLCbu`(mpEeIx81JNQP6_^qct4U-OuOomp5hJk{krhcIDg(E6$-BD?a9(BI zjCc^l{rypWX}|Cvf8`y(E2Hk@!}{ZoeLeon6JNuVH}B&(iQMmSHIKO8?{b}mF)9{1 zt(JR0ASmKOwqNd2k&+iqftEvOrpZ8v1Xk7r*}bbsTFc0zQdpQ&_c0}iTAb1sZgJdB zNbTRMFu4%5&p<4}TQ|;uNxt~`_vIJQZ}G{;?%{YXT;`HvX%$4)0600&Lvf?=nQE=J zp;Syy#I0_DLIgF$y$Wu5Czeq+NAa^iKRM2>aQ2y}>iD@G&i}?ab_>AcDR$swtx@E% zqV63fKKfexM}PHs{H4>+;OifK4R86*$8mlhF}V7EfGWnwm%|K6dzj)(R)mw*Fk9aV zpObI|a6PZ_>OLvdlvu|vtEbY(r9mUSHjs*r4gU!VkPC5nyVpWd?;2$lq*d4n8X86lK-q z$>UGe!w0WpUhLmLcH?ia>(tC0bNl_ceSXEdv)* zGPiY9c$``*RcR3vJ%(v8uF8Ohm!4_BMBz^K=x`Sl6p}ffaa>xRGdmk@EiSRsa$|FE z1eNR@q3>;JL@F1>NMUfuEa6Gz$EFcshMvC*>rCZ(zP#FOdU0X;15I00+)Gm$<*g_1KnuT7`He&*a63urz?56%Hix9=CX+)3#ZLF&#=7gGdNad=KE+Sg`WuOt$ zM*G~uVk|*oaYUz&`X_A!pWH4R1!-h0)*QF;(G!bjh;)PB(8 z#taO=tK`5)2iLh;gy_24A$LW;`a6HeMfU!OvHG&;PhUb`h~rzgaR22m|7l>4-QB0w zT31z{Y$&MF9}JL@3LGEp(F@235~>scDdCZjk=g~Z&qVDn`Asi8g$L(X@X6cIXcpW> zP1GpH)S_Cyu`m)f!JK6nKG37ODiTRxT@z2;KE)Tm`f9v>{~?~ba}(2Ohm$2=a3vI) zz{Ih^yJ9?4hgc{|bHHa_Mr&lD#(I6t_38@qdS%X4LVYY2BLkg&nmfX%80`?Nglq)K z!c0m8fsdSPwhK_pM#_Gdw>5*x@>wOYEgIaSDkvzkF+{x+U0hZFL^9VvMRzC>UeYabbaJk-e^6RE7iO zKo{I%i-pY+p!&ay(Da$YLGZ^ufVOuLbT6b=C1mhr`$S_J!xbTm>6H<67TkwvrU3N) z!+}sCt5{e<_hlB<=C(v(ornhyS^G7{8{bsNKlBH2@<)E4Zk`?$|Ly+(_rCc(eECD~ zsjvOZe-aNr`EkTs-c|X#eu%e!;D_qucYhC#-ugzw$qu}@4BopyoLzEUTyo?dTvuSO z5W=+?dnCXSUbDU@z~);(gGS!#(NiHnaH^1)NL160QYO4GkTpMh#3fRuSB~(kzw* zlx#8%rL4kKFTMS&i=qYVI{2;+nX;o3@UtJez|q;OIRDZMIDW$s@BfW+Fp9MUYCkeo zq9UoOECb_Yjk8Y{@ZcJs{@ZT=A70?)&t2m9WM7qo6*Pq{ia}tZ08s?6jU3$yymmzn zNJ#-;8v~BGzJI@-`Oxp-t6%L5Ke z))PpsHQfj7_`_$9ojJ70Li0owTV)bywK5Xiu5o8Boy0_u8BTSXRaKd(G)-=lOTm7@ z@oH?TVuED1%%*K4O37k@sHlj_T6Tfyaf;yzm-PebYB{QVMO=9;@l>1`bc8R%qr9w2 zLN~9abK-Ts>r zbs*qYPaae`6?iLQ1>GC!@3fTX0EB3y4)HW=!4qaodv6kt0gmc_Z-mqI=aQjb`tay% zV-wx;LD0I@rk>p`0VCDc08;DyVneA^flH&J z@ca0(RXfgdi0v~}{c+J|Le<3WU5VYzTX_9TU;KV@;N(vz=yz=r~VqERdUN6^vVbYYqA_GG9RZE?%h}#p zB|&5&Degc{Ii76C(}uj6EK~PO6-On1J@?p=R}}(7!ZRB+q9Eqa= zuj68W#c%oGhjDT75P$tI{aEsaZzV7r-!gjd;KO%S$5QByFS3DQ#qsv!T6;VEj1{#z z0$zQH%P)Q$w}0%%aPh_0kYE2A_QyvO!LulusN$%!*yltsN=yfdO%Yv=4ZX(TC}d^M zY&yLv)e5f3g#^}iMXX{sO@u62!cf+i4BbcEvs zD%Z_QC+$L{^@qY>^$6*S2AjQL2XIr4Jsgr0vl@}{jhQowB#vt0=xPGzm*nY5#kYMc zZvK%U#I2W}r6AHnJOeqSwbeiLIy#>Ext z>>PQ139kDh3nKz^31k3Sky&jsB^3S$ZCng5z%37g+<>i`UfqJz@C7?8q3!`^!vd{jq7se5kSueejTr#?(k<`f3e>FnRnui zpL!qu!q=b2GkWP=T+B#-c))RLh5W9vv&#VK_AHM=1kij~t zNn=@=;R>AXSC0`_oRvN3M>lEcE+{tYva`g(=1|XiC2?}2>Qg^?hU1Hec<}k>5l<#w z`)gO&p@^NQLXTAaS@i6}%Bm$WPFQFE^BErh?i=_kfAXn1`_y@%ipyBVbqHHj2R1~v z5!zChus7e)DwfIPZj_D!LZfl(>Zn2K}A8l)8IU3Po#m9?C_pCJu1|M<1&}n7&@q|Me-=LwJSK$vg!m0<^Pfp zlXtKld;lJ0nMy=zi{;#4MLD5Sg~SMA6sAaMM5tho8Vlz26)qn%SdJ??ZbJDU>gT_MH5}ZM;X$G}oMZTV z(V>{nKr>+In8Iji)M2;T`J{6)I?iZTXhJPn2yX9>jaj3AM!y39tevYhFw!|1`VOKW zs`a2W@hzMm*?x3(Cjkb>odZ2;6eW|{?~m$YL6}w0NtU)4LwC8E+w?hbbhhcjwpN|% zTG~foYk{yk*I6+$pt=a$g>LUdZ8^I4-CAM=(EX9&9u6I?t}KcPE~BveGO$yd09I^Sz617j!mi-D1t>HbYJq3& zI*p%xuRh>q1_9J(4+x0g>}lAAbah^tqYmiM^ZR`dNW~-Lxso7OG@7TqDgeXPKUZ_9 z{pwL)xm|D{#v0zAu^C{YJK*3|37c zb}XW~oa#aBwyJE|&o)6!kHJfguO&;LpSu*I z54PTDPilgLFv(fhP{^@;w)<>sQ0o6=34C04b^sBR7CY-*f&&e1B!q_ zTG9Z;igd82N`^S;iJ@vXTk;bPLT|>OhHQ#J`MiiNRh!LkkXm4|`c%x9YMUF)3R5tb zB(u2gaeXy${oIpS{?PBk(GUC{9>4rqod3~(1YdjCH{q2(`={&d-X(V5^1a;sfgk1W zTRw!idjs5G0}s!tF7~Lsygwl-?xfmmR;0vv1&jm;pKbueBJew@Xdon9H6yvQu%8PqatCnWsjPa-xIbUI z^BPZYUEr%E{>6K5!i~>;2;cpMci{8uQm4BIxOIG=PoA6sRk*+r)R5qywQsTTO@TtN z4`J!HA@nGF`pBDY!TPQ$G^Ft0&8_SiZ0$0vCH^WV%bt%Wxn zT_NiTtl~~{OHm_$U~sn3rY9s8wWf^jISVFdJhd_KtziC9wt8+a6?cW=hmk;>UKlQiq#y7s5 zHTTGzn;*o+@phco{yXg_tE-)5t1Cv|7~!j@@g2fSS>a-q@}WYhTazM{Nia?T?}|<~ zvwcd5aODu$Z6@+j;+LjPyzZQdhngl9TAwX(s1yM1K9chCIl8l{F_=n%rExkv#thv+ zT=W?(aEg#Fs)G9%6ih3&&1$&V=g4sti*{{y!*w6 zuf2vDK}6JGI1v#~RWXPg+p>>0p-H0339_|(2v>NOS7s1*AHRdoeC6vnySl=io5z9_ z!x)8=o365IE0ZzAGjRPJu8q6Mmny#LhqWWIX5!w}9`AYKDPX_H+N^HlhI4!OK#yFP zjuK$wi;Ax1Dy%eqs523o@UZNTbKJZY7q7j1mk~pSBHOF(aig|#%1WcP&ZX+0T#2(B zmJ9Mq>U+Iw?S$up zy}GK&aDv+Gv+9V!BXC5AINaQVY=f8{9Ste=5}@L{<%!zKiD5Rf-LuSu^FpFfez)+x zVqv?oEn-!HQE{DOi$~%bx>bB*v;cj_TaOF&JIc^>2AsI)fnac>lS}&;Rrmv7*grOq zU^WATrR>DO(N}jV!=MmQ>YU#&?>g z!GrTc(=;^0bweW@f`J5MqI>zX6ab6D;If-HM9#%1H{4Ir!6y1(=Jrxu#TwNo*N-)} zU`*9&|Ctg11q^+Or6G{p#=Acj)^~OS-HYeSZ z&X$uWo?U%(MiokRSy1%wvKzLrhA4`z8CqAaP{GkbvuBoTefO7pyyLkialU#Cln@(i z6D<&aM!iFpgr#*rH=zfwq4(F3$3THK@a&yaeDt$lA!p&{ZddE9Ca}4BQDsnznN`T* zRx!~2*A{qdR*Lsu&T>T5{jYoxm#@8oH@)`*e_|HCFt09l8ETGT6(Xq$5(~%)4ayKb zXqC~b6+{?RP-5N%At9f#(X$4ZjTKX%svA?mOjKJ0G?f@cRhGar*ol@A)ileXQN=LD zHIm3&!7ea_^BWd0b%J18m#;czO+fFcY=0HO^~SS2+rmbn6+lpq3Tq~`KN-+b~NL`MZQDkDy zLLetpTAn$OEIxVrKCh0*w|x9P`IY_6dj8fK2-XN9YSv!I5}8^?PsrJr3LI7!wGZs6 ztVa2frQvd%K6eZ-vz8@+9r3xJy~>mGSMb^=Z{g(4!2I#ET6R&ngU@AE+jW4zDgbnK zC2*aE-4Xcu=Moq-f8!_KhXOE5g;QoXV+Z6&By16q(0k zuqtzwGULk2i|ahSb#vnQ3H<&)@JBEZ`KA}&lGo>Fa`MvyIUG1w0Xe5|nhotOklJ=N z;_7ET>B8VaD*#6Mjw*3SjS2)tX$&Y4OKcUt&Vdv*7BEPT=m^KLyyG$^DuN`HP<2tJ zvNBnf4Va)a3y`dE=`mZB%obfq$1s@fY9w6+=vXKrUsoNjZV|a#;6k09ZKK&w?!>1O zoTGyW#dZ$pDx-DMN+QIJdG8+Py)WSD7hn3z4?g+xync8;x$InjFgP=)WS}jz3tQH8 zNy`l@A#<#ym?#iqV!c{%=VSr)6CeM=%k|8yTUZNX7KY*z1qF^5Oh;)|1dRxo=&^XQ zwXD&np_rqJ5%t=`OT6ucrx96raCwagGX?tWOeatpTh%5QK(g78!hZ@a1R>Bk#re>t zEJt^qy4qh|9IfmAX)X&4`?whAr*fe+NU0(^=L!puA99lkQ#atj9Qtz?G6Cn^LJtKh z6ySbAIgpfQT9M#LWKDr`Fb%)x^XW_0tcvQR(!Seq0I8n&&foCJ#Zf{87>H4Y+Y|y* z(zOQMa)E=`qU>UW`aacqesuokT!x1dln$VhYx=ZLvxYX7I=hTyBWr`wQ!QLp*E>>q zRL#~lXh+#Vh(04&Y9-9tieekcQ$#H~v+UQmu8x|iYD>zi|D2r`8yfIgcZQ^}x8|d* zW6p_lD>Qe(LdT$4RCC*c7X8jRtceOP;UHJm*Os8A^0&IJFMtiC6CCyH9QNL~3Vn3A z{XE_0-?%5XM6ou}CDR?6S^&Dw*Tz5nvYajA;{$(i5dEA0fMEkjAuwiVY(_QPaQW-H zFjOd^aD6zdktPL8^m$f@pXgiD=oO8g0bygA0MpvNG9s3j?cmhTtq@bUFD#VUx3R0q zdKp@furK8!2MQam>{s(f?3_o1|A3zgHqhDl}>X8KdI z*%M;>!%3GAM_OJd>U^ERT6o8EPvF7XrTeBMB4gWkn+45ur%d8hWnQd$i%}+2aGg$X zKysahWg(Vj!7qRMt2n-WEcxp0l?Q#nNqPE2P|a6jbvux=_!$hAg!zhD17nQ3I)9K4 zzy30Jx9+_5>^t7^a~H3_`tIuo_fV^q79kKzHbh0^!(_5B9j;th(4aog-`xz$^x{^T z+=>9F5oTMlcGGPGH14rL7NZiQ`-wNJIOmXO!$PuK}Typr4d>!&NqOjEV-5LZ_w@thwok$T`?+&wc2$RWXE~u(&WSYPXZcb6yjO#O$ zy_fo|_t{aQ;0pF=Wm`^k>%53UupF9u(#x$p0LZ~jp&0I4iL{NC^c*&mCuWK8S_K@@ z<40}BxrLCf91OCR2vw=-z^lDMml+Dx$iQrSTV0XT*^{`}8tdg1kM7*Wo&WtG!ZY9Z zU6}vre})I|em7qGlm8U2&#rO(d;dNxKl~#&e(41)`)lqVoB>yR0MgRRu~lx2O&@{* zr1ZNqiN0NA0Zb0C`;ctf%XrWRx$3{|b2Qn#THOi^(~al=1{u*kq7vJ5a07`55yXHr zP=k&aWLE@-id0$=Iq44Zaws`~LdF;b6ZK#+u47?U;8|Yat-JepX7^frkvo3x*WQok zfBBo^XD@Ey_=zh#d-sBOuxCvmOK&aD9xe+CU8GAeBl_(D9x96kR18&^h^&eLa+a)m zmT*5J$iXZH?OBD0s>e^xc{PsW#gDxoUz&)gm)Ds*P5>OW)(mneN(DoVf*2)Hw+>EZ zz=15wsqv85=>CLQ6wIlzG-}6)qa8l~zdpd}+5LF!({I6zw?2ahfBhjYVn^;KW9s%Z z$Sl=&w9^CZ+#*pDejx@~=O4WvkG=0M{>&e}#e2VTmRtswp>o;;O7(DhSsev1f?UK_ z?$~KWcgg4rFuHw$!Nk0HFrNRO-;1lO3;gu|^0(rpH@_pUudX?3FCK9iXvi`!KkN_e z8YSJQY^;OJp&&SmHB)L8RnlD$b6{ijFrzRl-PGl{&Qx+4@vynq4Ui_0g8kfln&Onm zaB(Z0Kn#R~Ki#BGZUTrB;}->3ER_~>RE&cnr?dyEW2e4~L$;Rc;BCMFD8yJ4I95r6 zz|Rt>O-iy049yBf_edw8E`cmorpIj%70I1;7#w-$=_me2V6G27`&+Ec!dR+@-)`de z-gNzxU2qGBwWwf9M@RRa1W?26`vbd^8}+N7{tAzxY6(dkD#=#-S=HgTGZ7`@%%Wyh z=%<)u6^S*Sd=N3Xxt`yp9u8m2`wT;#O(a11oPrh$YLZh zyl1jO6UUD|ISJtWwby=t$43Zt%xsxOC%QzpcIZbn{j~tfW6H|$SGk}dia$3Xq@3$$ zUP{@Vz`0V_nB}^{wp(_9X0?@&Z3QG-a^6ME*_i;hCl|9P?PFwOeO}cTH)bc7qU?h} z2C?<8J5BE@Ji1`)dnV7^tr$K}@YymGNWhSi{9YetYC!q@oW}y(YykY;xqZLyn7J~e z{2gU=s0|RXp9i-)l@*w?<6EtHtk~ik)m`1 zZNi6M=T6m11JhEb1h5VCO4@Mr8kG}?iSE{E!zfTGHkHIKyfzK@fYb;%P#?0Q#BRrE z>{L`7Ul@2(GFG-? z;uax22w#>0fru^k3_$9;+toLd05a_CL*AF%BY2pFQHh*;EJsH;d;R4<#sZFS-WqEa zXW9h{ag)Z017+POZc6zmfsjM}|3*Lk|DFYYc79dkIPlb+TX^l_N{2S}cMp4Jy@8@A zi!iuSE&v$l2+Qd!`B2EPBJu3wxA2YE9^m2GIUc)tGqNPuAu$wDk7|_mz!iGYt8~`F z^eVk_dpNCKaG$xq#CrCi^73`O^zQflk<0sM*ROrybN^`WFEYl`w_f+#{n9-rID)Ri zwlV8OzRd1+(u1ySxGz3efdaJ`Y!ND_(nq-I+hK;0(s~KwHM$yYo_(R{tv-5lS>woRP!i{%)H~0Hh z>;Q&YlkI}2mh8d?pw1iw$q@!mY_EaDT8fbrKos_;CzT)l2=09IhwJo5e+1V*^K*!t zo6}qnW)=+x4RYKI%1hZ{Ftz|j>#zCd(K-nR87my2Rk2)+rr95u>YEE!3)+@%jIGq< zZ24h1O5ORCc$hw|Wx$w20Yc-tYXU12)ER3OF=!H`P=0v-4waRSGz1K3w-k!WN$da# zhq4v|$#k`0Wn5ffxqAbrKl1&!{ri3w=70HD@wvCX9bf&|{xr_&7MAb%Asl_%w`0jd z-FqGL;u3RCtkggxnoPnuO#x3;&shrmQvNb(B3Av`E)&ai+9)cSlE+kW?@?W&YQT5W ztevre*f>=9ExPU#P6Z+h)rleGsX?puwHmiYLjEXZPi8nkL&Pw+Y?q9h0@yMOlfhe~ zz`dI8AC4nj#f~Qn@Z!yfczSt_Upd~@cYpC+c++pZA0N3m!ts;$aO?3aoF1K5om^uH z#!(~!3&#SE7yt(%2AUXGju9{dl}TW1XK;yPq)3FpfyD_}V9XkU)5y5NJz@lIKYoSl zn`^%Nx89C#>`~9$cvvSWjNAvI5uli`ztCBA2M1;-0CfvmCl1sZpBP-_SF37RG&eCL z_bb+m#10dm{oh^z_80iluRMpNXZQ8sufGb6z&LXCcoQ@@#4Xz1={uPM-^@LZlfvcK zF3Hcmnt$&9^&AEepa0bdTu%3>%LFS0MY}juHPJoDVsLd}pN>^*r5t3Uh%p9>ORVdx z8@mNKc@{tL!+$>l#QWd-&A7bUCy~in$efO$3Nyu8C?~ZfjlJq|YSp0}vD52rJ@P|- zF<6@aKqrH?#Hpk&6VkzO(AveAgUk%wR@OdH_hn5;WnG|zY-AoPihb9_dL^Plx-XFC z1T*C8NyXPi0Ry7@JAZPFno9J;@^Im#m@zQtDv04|=&XbdT?ciPT1lco1NryZ7&3ub zgVn*s0FpDf2gaS-$=C&QeB(oZ_#gg*m*4mtuU>z>xGbD&qAF8DsF~3Po9ZyRT+x=D zL33wGU=hwhk{pG7PCWVKZNB>Y1AOD`0iU^hlWPmr*$xMTO4cS0sh<8j+4CwT-Z>ht zNBhS_5p{WWiL-f)H$VS4uCDi}Rh3=3&p-Y5H=v^24{pFq0I4eShlEb?>cXU3 zIbkjH)z5wUpFh2E6BV-`N@ue(=YRnwrK&PhPF4c~l#GFN_uvdAr`TdbZS^RzoB>OeP@GjH=-zu!MJI;ieZhc=5xOE@Tg<+8@jHX>1@bL-j|8&P2)%I0^lOrL=t1Ba_7uZ=!36|^(A z09OaRvQ4hMV_SSr8q~tGT6jY`Uz>+AbKcF4ZF+|Ci6&O+|E#mRoAy=BvjNaSMzuf zPlFQZHhe6BFlh4?3evmM?_!)$?5+m)%9)ruU7Km%dpPy$K(T<6lM_7r@>kx@;~O=W z6VDzqQ(mIF)fao_R2$R(tH%MUt)m)cEQAdX z1N3-YFeWmKmArcJ@|O{(r}u6>_sq{+UOpV_zV?}Owt6)PCGc#gqJ2+SwlPae#3E0+ z@wA&zbWg}eR^8jaNE@OGQU?}*4Za2BNTgOG$r zDTw7fhiE2}&Qy^~lXBw|>Fay<+_*D4+- zSYndvS9MmxcQQ&8wG`u5EPyR22d>wZC#R=%baa9r{`>yHsyM1=-u?ovE-$l&dY^KL z6;hJrFQxVa8n;mh2S#&?T6G7asz!Ez3e@fhAH%1b+v!ZStYsf6maUZ9sOXf)qp@Wb!00~sufHz1EEGG+5fp8 zb+WAZrrqnjb8^lvOw8~3%)9ZPU;B>w>blhN$phXv*;lTKH3y?+)fD$y@vc)jI_!09 zAb@PDfP>F1K<@tizMD~4XSq$IaJ66SnGb%rF0L=|cYoq<;_2sJ!u8cvRE9Jb(SvoB zwUWir!fq5`5)SUUQ|Ld}{Z_fv;hEwE+F9nBSm}>+k`pK}R7s3(A8jzwth_BL>}q9J z6-EsMYHjBx;Winybd9CgNeSqzlr9P^UTP+$#AFjF^~1L&*8Y{>_=PHP zkKL%&tAKPK(QUIGdn$CG+QVjURcq@HKmx1_Mg@*{qrkwge)g+)?8fPqXo(r)_%N^smDoDG6|?!A6T?D#^pTO9byXcL zKHf36*Vk?{M7ULK>1W#t>&}lElq<0ftY&0@o9lH=4hH3$;DDY$Ahs#Cb>H3(^N_n) z*h$52!4wTn5d|@76@zW{IyOVV@ukwEtzg^nSSYr~>f)xS0I+BL!OBb6)N`oApc^HW zg!6#*>16q$l~K?<00XFrc7;0hGL{LCHHWQhHDcpnzo6;LEL8>_@Cz$2HWgHe7=^U* zhm$mn^g>X5#(+T1nN9-PIfx8El>Rr-0EI=-h%Hz%rB!5?Vq+y;Xhx1USdL)4=nNw5 z=+RWyGAL)GKN)DD84SNg*TZ_Cj7a+ysbijWRqIKc-Fq8&6^m9)Xx#O@Az zDGCWi54e(bboc80t6SGetIqByiNPHLqEE416TK6 zJvq8@gBSzKb`d4sIaJ6l>~?|*%H;awm8@hIl?I$3#5a2W@u>>~xD`}1@Ui~@)5 zoN*{`xRG3W5M70Ih)*r=VlH|BRkgY^-H8=^NxIo7YddGk*P1roPNMBA4@tYSGr8FX zn*>E0_poa=_*BfOM<>*=)gk>cTXYca8FZVW#Y&{E)aMpeVaqO44Bvd~SOBONJkT$e z+MNO>K4Adv|E!D{$&7Ax#rgRq-u<3$;r{xve)4bs&p3YTcM$tEO>+qp%#0w&8SMsC zg@a}_GSDhcY{#S!hJ{(tYdMz0FMXsQ`(yt^UBCNX;IIBN>-Oz*E(n!x4ex}|dVypH zYGfxO2@C-rloRx!dZhij==p1?P3I)MZjLoKkT1KMY}Ji+%7F4<0%8w{zFL@?bB$i0 z6d-ATidGMpO+)gnJBJM#Lik9=7sJD;8r!Vz5xN;`*wVcfWT&@uPo` zM_>FBzV>b3jj#N(|7ayoaP)hB7{~8^KgLYtgDY^qht+p=P(3Xr_4RP-!v>x-nZ7_H zNn79o31apLr$=He$e8G!1>BODUSke~Vq+yQ-ppzr2D&#{(N%&HsIsEcl<%%iT$lnv zbpid!Y(AqiEjl0^2FI&R!l6wiw)0v!948bhbtuH5F@G1_QaakFNOc&wca!%)Qg`hPw}=PvUBSiPfJ1Sy2~N*jYQa!)~pyS`~T62&k*9v&?QA zN>wsP2vZ?ZRhncMo$!cqphJJSY3Hv|A7yT|?KO+G>g0kxa;jn?$*clyL z=3g&%?fzb7X`4^hR#e8nW55vE_eVxNm@GwSOmExSZwoT&-h! zim~0TgnA{1BL-hgjBWKSUSP2rKo_NiHZX)($#i#;ZiUQxB#=UBF&toYzc(Sj(ZUpP z@}D>)x`3$ooz)ds?t!hW+ys(XHa6sm-JiVY?QtbPo3#kDI z#9TGw@A)ThhL zeJ1_al%^=*HwSDYwY%Y*F@T#D9V*i(Rm_FHQ>zh?GlfqCvEN_gWEZ%5=MMhF zKl>+%*zuXSy$RPB7ouZo-Do7K1HbjmhEw9bo|fKdSyb?z;833IkWwv(GzyEA`tX2Db7HIIj-+kY6_I{qKRjXF5lG(o#B|t64h7+D+bkF(| zR^r^&W+6-Zh-^Oop z+%3OFkJ7r}kfuUYP_cEFM$(-+3rh_)N4RHiI80FtX!hFoG!LU`6>65L-Ucl{rn@OY z(;wW7sT2hRF;xCBqqwO3Hyz0*GWQd>!VZs&E582r9o#s(hre>?)%DoNzK$Qhe;Q|x zKETbRbJQHUt|Jl^T3TM!l651!5ObyskqnNMKTdTA)x{$8&-2C^$+N(heej+5$lcR? z)gv!q7xMaFz@WQA4gSJ88x;~xvQn@vnF{ zUViyGe)QM2S2JzGU zKTDRcC};{uv8aS9bniz8QjeyIb!HY&WEb1Ihg0`590R8bZ$T^{fB5g1qv2Fs1Q&OZgnk(3V=G9eU^LC%Vv&J)GZN}vs$l~$|> zf1X{w@;n~XEFeOP8cJ;boLEr?ZMljfUQ!H_acoXwJi@b6D z8229B$4htb@%G873Ri`GlcbI|a+!$iLMc*pMLKyiY$w*m)dcj#apz)>v$K=BeRdWX z_xEPzE3$*Lt|!YlRN;{kGhi9CkJiBpL!mpEi$v&wjB$JxxV*^q>goxZ+lEn(a;dN% zZ20H#QdR6|pO%aTu9%ez;U=8xv5ZCMZ5}%11+V0*(9cbeFOaC1ZK2@0C49O~(gwkt z0LF#`jZxjzmi!;aew*6YnIRiU8Vm$2v@D4Hk5(BN&y}CA>kz3xyY%mptyM%it8*Oc z&~^&yx~@=xq@R;hrKG-yXk}-Au=L$hSP5#qXL#JGIT4OBmJ!x9 zAoII#Ex|!0(VlB%Vly84;=^i$G+^fB_WXp?rt3r3dcal-j;>GoNy&o+lLxfWG|}M0$W0K2ok96Mg{@I_7s%lyuf^L3lf442+JJ;t!V6T&g#zfgxrGX zp+F_P#zLS>FRTs^sZYW~fUKY{<&tNJOS6$t(k2rLSOQhe>)RqsG@6$5Di?yM}79^)aO=5xa=vwt&7#35p)N* z0c|b|xL@C1`x)cfEkfh1@Li-^S*U7@E8{Dj1hMmIz$M>&xQ3aYvADRr!WaXO-Mo%_ z=c~?m5KzZa)8%O>=tJ8i6H(jIcXz?6T4Ds`nG?jL*RREgKl3~giIby60hSMe|K8f& z&v!A1q=_L#?X`HG*<-R^}sS1e0#<-EpqLb`Sdt17l- zCoUog@pZa9YE-%Vg`xLZsuXQ)he~yRYtrJNh^dRGI1vLVVhu=AHe$Q(*~Hc?M5<($ zYqGKqr``EUAg5=}z^%()CJ)WZ1}Nv??rP3-VJl<0w$G~oBLa)OuW(o*r1MZ#41wi+ z({e+ZEG1;UCN#6SGTgP%9UqiON<_8*QJ}C*Fc~Vo0#4V7{pBU!_V%}7zuxEH{LBAy zEwB9wU|tb(MpT8DPJ09b;0z{d5j81h*)GM7bbb9bQ0qD^gX;{gA9_Eo|FJ(2SGyDB zv!7y}o?_AbJppy{$;c?6_HCpXC{EI(i`>IBo0}cWi^ZB9>O~2%sNvxN$r*DZ)vbs= zQ!+ZGL$k-PY$60e-!EM7LNPT8+C$ycSrJjes?bb-Fw#s$fU@m6^HYqmj*Ju6$Eqdjz&_sg%vW`a&G%f|2YSV7m>DCQX*0i@#kT$PGth|~R!?Q%?AnTt{=l6$x;n2rAAb#YkF9v+ z?_cp~(3L2Ftc>WNR47}4OOxd8vSYiBii?O6m>gLtQBC0JWQnWy-H$hX>+SgZcMjh9 z*;gP{1S+i#@)ZVAsv*2mMm{!52J*&H6T+KbSP{fXx#_s5h zH%_nNa=mczNI#EO54G(aP&ISz*Vx<8DQcB+rR>xrk|PlIUk`#|8NTAPqf&8t*02rK zQk95aN6Bbtm^AcUaa2h=k#4HNyvP=k(SJ7SM1vkhlgU%4g{`>NBmtXs({&G^R$=Kd zrlVt8V_kww;_~8Lxw{np0WSn$v|y2) z%@|<&lm)Zo4^>-!Bv3UiTUiE{>(|J6g{ub-zB+e1dHIw{1zOP@>}K%B`?i#HRgqyz^-2PFRD?XIN`J z?$~^&k=1urgsz@j7woQ!vPlKkeSLWWu;r{#Rv5Ujtd1QeGQ^~f?do{AoOEGa56xF1 zz^ZL!Sev}DnLqz(#=ya2HGrJ38?T>(UsBhr0cl1vtRh@CMwe!F6<~EB<(%!`=1Wz8 znKQa$rO#4Z7g`L6x~tkxpYEXd&f1neHrtbS(4>!nW}H;`X>PC&v_d z4tJ=r71LsaxxH-LIQe@@ltTd!XYr^5P4`&7VeP%=yUi%r*2Ye+hoD~6ydu_~(R)Z)gONO90}NjrfoMBh-)o1jdkve{#!D zDu~J?p$GWAA6~T4stZV8>hh^kJ7|FAj+Vdgc9bFpV|d2CV=jzjLO%iT9y(lfCe ztA9ww-I?i1Qg>~HR$TcH83?p@iol@OJs~y1<{U|c4L4JcJp}`S=6xzL{VOvM;Kv*= z$OOjrBh7!YHzrU;rp6K|<7{jtKU19%=uj&1D5s=f%GPF5aOVcr!XGb)Q90&NTxSw2 z#J-j}7&l-wfdjyBy@>D*z z(HJpv;UyDKo?P(qv4!vc=$qq%7l~J&+{-#XVll8FSxlJJ20_i5*K7H zo-+eAOOtH@WCjO^y0z8t+XaIHxmf&id=!w5?jq=|CMf2G!&pxp^iW(ercX14^{~q! z(zD+lJn(xE=~|f3CZVuSc&9hywxcTr)y7gH;zYm&-$EKV0VoF{<;j zLmtL1swJy={K)S!Y(Ga+~2+_>hg#GUU+}gx$1|AEC&>p!JwF}gKMn{*c$zQ{OHtX z*Fo!1gy^3S2Ogt&%V+dnYJ0ba|?Sqwy+d{2U&o9%}mO{ z+bR3KjEuDycfatN<;H8?{LzzZ$Gq5-7fI&3x~P~4Xt0Z9pco`;3V2zsuagCEmdgN11J}?@tkxM7 zYb~HAXJ{T0q<|N=b=o@IdOx6Xm2jv3HX@MgbkfhE%3yH_*Zqkp;AcupcR2MQh+uYt z(Or-!pS~hcqtO{ul!fkPqLBS~vT%8E5pR6M8=~gqfBFahFnIInIzCNuUIxdA2$swl zX(?Y?Afr1clK{d|9g^8e_2BqLe{kab68PjV;?{rl-(tPHM?Cj=tjkg{_t9q?(6RvY zr69D7D2?~Us^`IZ(f>+aH&Lh|!e(-UQLL!~r~15x<1~q`z7Pebyp7AxS+YcVd#JZa z?bdQPjZn8c+@(-T8E#wzX03__8qxz$-Ib90ykl#RaY-I;sWT)kov^RPe#LVC9{AL& zvHX_bQ1fs9|8Vj28*uMuew_Pve=CmP@@A|T7Z~d$n8`H{rlT{&u#f?+3Y@G&No~f~ z>xzro*a&@pahM>8iVC(yCwugbUf*r`kaJkLSn7u*kQK1Qmp|DM&>6AC$llXI|EFn9 z1&&fKoYMCTn~1$s`0HAp*`hE1oda&rR*JA0W1_M)N|p`YvX_TB!8}lk+;?0wD=CtnzCPE3oBzZZmBBDHV&f=a6 zsv@4eewUYLYy7I8dLw`Q-c3Gn<6a#tl%FV9&Nd;fV9$cv(FKJ9xf!9z$H5Pzs|3b0 z7t`Z|GXC0)i980L`R8k0Uth%CPd?6*CkmI}bB<*P!~o_bGAc6N(F(FkBXda~c`=i^ z)iHT6Sq1=BL?mkJ@>Froz(mH$QQ-c+JjdBvmiSHIc$ViMIS0qG?T$txt>8q49Q!B} z_Tk zAAR$>d0Uva%kf}%gg<8yrC}T?CJ1{xbx9FYdx;FrniKo0eH@MW!tJ-b^QZ28;ZwO@ zU9FLe0CbsPq2im5*uxBz?mn^M!Avl6`j-Ki#cS72@VS@nU|m-%y9K0E9PPZMRi)zj z-ThM=!8k8kY^~h~+jy$;VIpwne2>>WdILz{V!y`dEo*C60UD{&fQVH|gw-Y33gdRa zU}Iqt!D6s5j!zLWaQ@0m-?(JYE)L(n1am;{fl^ZUWVGi8(QY|SVyHEvzrv(R;zCm! zdWZnWq4BBE6#gkP3(V+vp?^lBFX|ZgIH-CK1_1!LsPVb+%|2!-O?1EgdLgBan<40O zt4Sc^7W$u-e9)Q^_xoGz0@HuK=6(q1qH?j&oHqjpsXp5yPWK)Yo2OmZNv6DUIPdz5F}U5c2sfUM7TgWD`nj)-=t^Z; zT3yh0T_=6Z+DW~uZsIy8b#2uxK9=g!3@hLg$ja`10h|3;bb&x2rIwvo8zcU;85#ws z0g-?$tC~!$z#tHjG9CyqxSb7ER1%y%(9Sa=K7BI=&;|*@O`cnbep&tumIQT^ge5j* zYckNqTBltzlHtN5UEOViSV^?05&_TYcc}!eXzVo3Lie58{H$kQlu6X)?5+*AxTqRQ z`t&@+EEm>5Al(ul9)uRaZ>fioR{b)u%0}eS^R3~%((vtIMa4eYN9bL#hd`oxLs@JuSoqZEcf8>k~P z7;__;0${}C#O>>+_|%K9fcrhJA05ktGE&%}gSi+{maB8SFKo#VzJlAQQUHo&>|%Xz zhsix&_vK&yk1sARfm%mhtXvR?sEL{p8H^F~&keU@{81SwW_1(}H;T{Y(EII6`X z00S8r3oJ7-ffl;w-q9c+H7Uo%P>nreG&a?lYcDor^lGk%;C8=7-pFJiA_hXm$MD=+ zt%#c2dl-&a(ZQF9EhMw&BFl$}U>30!X1Q#Z$CYG~5hk_>vZ_iQr7k+XQ6k(U0_aCx=j$uE6JTwa{(?^mD-8EAXPsliQHsQ_Zg zo)OS%I=nBBSd3sW3b6#|2Yw!>U;0+$@BH5*fB2sx$Br{2H;EXnE?5*?e1l_h8^jk+ zI=Bg%rG5%b57?E5ERcx>fta}kyWvNK3VG;3-w{J8*dyuzmb@_hHa9hju2ZyuY*epX zWB*ALr$EtN8#~v_R;@=kbaax@XG9f@9w0Q{pxM(A0bH(FW5xQb-;LvUy%XoZ{kP}6 z|K#`K^69r?e9Lc*lW~OI=TwQ-80*|C_Jt*aMDTFqI}HOV^E~Gp zDY~L4w_~Pldwe2Bc6^Y6O>IUX+GvBxHWNKa82v+l4ftnB_UzfnV0s1xdS2CFr7v*+ z;ws1tnM!3OicG{r5L}B$jkYN|SAmsjpFZbkG4(c8MMmc4%&d-P%K3qrOT?1QSaePw zVDdh9@w#h!+_?S{{@%T(@#N3FGe0v=;>N89aRf${y0V<=>L%Skb)sAX2+9-Sk)sQ6 zIm&PR$Q$t!Jk2ML@5k9P;;J%oAu2-?A-Tl~F^p0A!?;8$<;L z0+k{io9Kbzk4vYREP$&U42nw9O$24;M~u{miqo!PPI<0J08^c>#sm0$m_u>$u$^U)Z)C5cGJUd=nJ zCmDg{NKnK(X(}gu_fq^jsvmk_7IAiZgu2?}xtH(Z*2xYlxz)Xau!^RTB3+bkT|>0u zPT1e&Gl7=B%Z(=E-qj@@y>Sg^$2&Z@yhO(0DhRz5Sk(;?5j{Mk_^9I(5a-$xk3s!G z)lfxp?2d_L$Mct;|6(a~b$3|f;8o{>d3mTd>F%uViiZn({I6?|13KLPIU{qW%5+D& zuXGwOftc=8_k6q+ja$<%w&FB^ZZ_IAwK)pGR^xvc%Lo>a$T&rxOX@>&Kew_XH6+d%^$KAWOY24a`h{A~O zb2xd2y%?IKQ`2HgzY*QE0PW|t`9YN$CPjNFp&x>Z8gwlaRu5QV-%aABzkQ(Vf7KpP zlQ&B>Y=!GnHz?H{(@0%JKTkEQNg~_$1O}ICJvQ5c4lZcE+P_)g)*HQ=DPzO!3@noC zK{iHH5(jsKwxTi3Smt5kqxw|&kOji3XBjc6#tbxdy0w!10^kP~p|19%*;XU4m_9s! zE=Wif&|s1ca;O8ZJe%kaFTiblp!ast@=DhOXfILvFR2yQ*@q@H9HcDsiU6jI{2uWT zFO!Er2U>>Xg1?Jq-z;5<^8Z%QF;ek+vw6hE7N`T^KAHYG`aRqEPoo|V7F$Y&1FKJd z(Q~XVUl;!GLbD|+O(%E;A(sSK5o`MCvchBnkrZCyhQ+pE=^U~ZUCAITIRiLLkr<&*ykvSJhuu}yiae!PjH%QytAXltg&r8PPQWYo z@8HQtpCB^vZ++Xh2XKTNw{OH;SBzM&=h~r+rDqZmLn<<{2!6gYZ>U^+1`}&YQmB-l zz@E80{|s;Z(LaH!yU$_XeHn8sF-$mWv|sV2RyfA@^MwJ1if2jU`2ORO|d}t&9JVW;6#q=&x!;VU#PoTAS$K_ zAXisOtklL5%1JwHz!fvJ%5cvKiAz?gXnd9f^1@)>9~DS~=max8#P$$@+%v5aUiKQn z*?v7GvU)MA&5kED;DcPTV;2o2^_>S=n+JgE6k?A#HJY`q8(2A(>*i<4zVtuqEJrDJS{GAl#^$djn#US7nQeu`PK%c=Mj0FY60B1X)JNdj2c zVqFq(Quypoyny5VeSH4Iuf^{AihJMnTr8(v7pAbSZH1OJ9dfAyhNuSgXi33L4tkBV zP5jawOdtlNgyM7~=6L4)pT3XdH|_9meDfo?^MRLqb{DT*(nr2ScjKCYFMB z6gN>uJ$JG0jWdk7z|y6xPmkC}X9KGM{&YNGx%hQ$#`5^H>m@dJ^ZmuJ#%vXq}r5 ztq`P`kd3i(SJ-_3OQC^X%CLn@BqkV%!2)u4MItxTKz+Xhp`iUI?p`yI_0UpPQlkoH zbLhi3eJJ$*+u+aCL%>-?6MJDvsiYnnHE46YgbFp`QA;<>mL=)uZSWW35G!S15h<5( z6`)h#onbJ#fEX1Iim%fac ztIj~WxXD0e;rMvLh`?u_e-S6W{%;(FK{fRGwA#a}mf>f$0k>!cuC4lrl@yw~A|Jf? zY~u9# zCMG75n zZEW!wJ2^&u@IzQ$^~EuM>u&*mKXO2er(uy1_F^Ra=MsD zwD}SdgNT@0*R~z5^?3)7#ONX=p^+}Y+YTTaJ0gOuZc0plo-TMbN?!&}bg*@)m{N=E z;B*$7Od9|(tBodXj>OJmg!45f3d@5#sMo(9C%^5RarvkIJ3RZ1UlkW;k7M`ie+$Oh zG3w%6KQ9gdD2zAJT}isHVvq|EQDh7gI1dpm_M2jpe|nR3SWk&im$6TG_W4k4glaMx z&Z)|)IXa$#2y1;8kL-{s1J_aq)#o_j5e+s`T3yiC6SfW@oA8Wc6T3PIfZy{78;&{3 zr}j$6q8Fr5gNZp)zrTU9!$;#>tv>^{8J&(C_O@C5keTF>PPsIGnBWsK#{U z>aJUf{FM4nz%3fsX6uj&d7J=iOh0EV5l1(RpZwu-M`R<9tZX?T4 zu&mX2RWDoT$laX=n`KFCL}AfgQffnj88*oAFr;Mr%IpPI68rs%%mT+__#=P#4+jf)-IGt^ za-9tA$V8h9>!MCX^)Q;snGCCS{2+#m2HjxMM@r)u#d*r@F$L!%fkl-s5Q$}k_Pj?^ zkL@3&+b|z`pQ_jBSlXjGR?t*o(rebb$pwvp^~{{|Gy+@x^n#ak(UsvMu{N))_Ip6F zc8fYkniz2NC3I)|aHa!;iZ8E`Hpw?TFN#<|xBo-IO!|jql-hTQxnFCoJsyA4+kbf8 zyLXJM2Nk&t>g76MC^t{GdMlm%vtcwQOL@e_N;+2Ba9oNn1 z&dOY8df=h@B{19pcCqQ=XZ1JZTG;QwSKq#YTCYmp{01+&xResDggEk{)>siTD5pJD z*d6!iW*2KBcNwwl@ZiqNr^~X8>TbKNU?6q0M+%@kltuJfKOJ~o@395|nJRBJR*H00 z{&h=h2t10&5y^L0UXUA!OdH1*x2NTkt(wHje?{2jq4}GK22YF@(!=>Lpy|LwJId+1 zv=OSCJ3iA9D=OsS)t&Qp4oT1)Yw1eUL~v|QY5gfwBdK||J)0fN292r*vw)fU%m~+* z2(Y4g12?JtT~hZHuxFF+wEpgaSYr@#F&;+h^FnIJ^0v4(ZLgrongEBso6JeEDZcxx zrr&=C!ByW_q^GOoo@MQ$>fay6j1fd{8rDt+ND*e`t&fajYIUrMt*G4AQ8>^9%dDs` z)C`~oHYoxuYjFAH@2n@9T^#sZMr>z05dL)CGZq8IB=*#C$<~ap1oY*`g}~5*OZ~EK zA1K0(#^Hlke)xe+t75rK1Pzcnc>Cc%EVE*xK~aAvgYK3X>6GYuZ}Y8YCZ!Y}Ku*gt z46J&_I>JR|`9f;ysMU3F=Z8+)oQK$;cNd6pFlvnK8G9h+CPL_OH-}2GmNR<%p=CXX z!oOK82EifV5r-4!7_aY`J=8o!5Nz_Mgovb8dqi%E2HDZeY{MG~71T{gq_egPg*e{t zFOOq)gp9an5!X5I>%9UbBFYLB~jAK==_Nz5XmQqpAxxK6MWN??;A zZEK{Op;!D0w_9)&K;)>oKgasu0U!IKw|wMse}&9espz#9uK-45Gf(39d0;=|p>9EJ zrH95K^wv3uLCF;hErrslSrRW1!X9N_-L@CjlDp z*#;@)7ZcC3gXT^@MuAoc9Udzo=}B~ zkU=t=3`b!wD!|#Sw?b}C9+G_owq4IL+%%TF95E#n4#JM$GPx|BvpSG1AynX7KyKX! z-QzZ4#8%LEXHRE9Un9v)7{*$FKu?cYZb>I>+v`Cf2b8zOIKK~m**kda>)!?ZwtojN ze8+#udi%REzW!@4E-q2~E9VH2x}4=8ppkDEqb+xdaW534Mct9k}DfeJOuCN@qW0Cj*O9abD)9@@(+MNuAzb7Rq% z`aMg8d<6(FBPJHCwcyof4{-Cz2ly*@Z{y9M`?8Fy88?sb)f`DiairEP79&oN?gvh; z^4EOqjrILkkK(o0?qeB+E9@-a*jmo+e27q=QOq4g^vg9Cg(37L(vgS|IS2>0JzNiE zEXX?EjrzooRUGXvasKR+IKGXz`;YfLJ_7Q1LW}kkp_zQh-YqabV&?Gnj#N% z`HCg4#sty@U^6X_i$JvF1`wyf-JiO`@v8#A=eIq9^JmVn8x<+Po61FGt3#+de^W?0 zP>d$uIHNs}0I7vM>d67%{Qf1L`i8Fu=d4eB^k4F=Z+&}RymCkHUDXG>(kOr}XHGyf zv34{ssryJfKB(y-<=@sl2K)%p4yIE)8+~C>SgRn(KSbPeLKkxwlUk-@v&vw2BvNgZ zY*UR8xo_)qi9b_?Zq%Wlr-b9Yg^Ib6llu2`nN$fEzy+J&q$G^8I+0nN(o^~DA%Jp$ z9o6&Ciapy@QnS@Ta89+Y;!q-jSQZ9QlO)FZ3oqk|x4q*}5)=EEJ{RNoNC{vAX2OM9 zB}1@4?Jt)b&v1TKK}%GV9j?Gm&Q9^U=kG;u#n=tZGQJ3?+dxo_3aiF?=$XSfb&9Zd z;AQ7uP%kaPi@J&@Zk_;p4Vo{hu|-R|17V^h(yy7$6b5<}#tr~QEk6eIeiVz7yW_LC zdgX;>7SFPA*2a-!-yLjC9^(<;Mr`CblV+ZHJQ3>p$?SM=u0R5HYp)m#hisAP}G@w>N*>$cy zXF6XBeh7P$h2+>UmVTa<)9BjIE@vUk)g;1JfA)J>{3Xjx1lQRh9#VozNvF@HJn9c( zH4>3lKZ8(r1Ul$(afgcsT-4Z$l&SjwlXq6$#DDORnra8ah%wE z1VDe;F7^RdqQ$|81E_#IOB{aaq#vwbWB~07(ks*y0~=tP8Bw6sL-k>^M~^POE9R}c z?u)ufP5Uec#9j-K=wul+N4W4-yU^d6Te02FliRoJixdDVx8AntVIO+Glb&N)w&UcV z_bX0L zhRx3c9AM@_N)4ym05>DbCTwD8HmX$0L{OYlWX5`a4=CU@Z~5~7+r|A?M7;QDD{!nK z2PDT+1#z}Suh+{toa&5+We|QAbem*EbxPIT^iMPPrm$Cth1?Gbb3-}&GEM&S0-7%e|_ z@uSb~O9aKH0Wzuu;a2bn6084Zbw#OK3>@uHzxWXxKlOB;{l;&_{-=H#b+UtWRRCBR z(B$=ieNlS{C#ECAXI4mdj0a1LSL4ygT&~6ZtrGLvCB6`+sZgGxaua-$U0w-52mluey{yJQH z%d6wgH~sp0;h+3%kLSGK`NsOe~0ap!jyAW;)l2SrfA&*2_!Ox<~D=K&+TtV>iH~ zqXow&iIZhuS%~6_ISX^W0_ViKuB=*1-fo4ZNty1(&9IrH&!2voEa7QS}0)*F=O*#vkSr=s zLl3fr$v`7nD`?<;f#f5BJk9*XkKN0Yi*wxj>}zrKSmMq*MJ)xcspfC#9}S5$ zkecjQ%q{#fd2tpar$-4bNy-c@?_AaIba%uri4g-Bm?6n~V%ZT_cffk~ivP=>dlj;- z_}u3aC&!`pP{KoLoWdw@QC=zLMt;$+R5-$8R*tqY1}2L)9(fGR>-lf}2Y)a|oYsv; zZpFIJ%0*;6$#H`81oLZL-GK4K!?AaXv4JX%TsU>Mj4J_h%|T3ZMlBK zpKi|;8FQ{+OoW-WAZ-5VVl9K^6`H!+e%UkZQJ?}*OAH**VI^S%Qj>b#u0;yZo z#R+hz_Ip4%!s7zvadp&IzjvipLzx2zPInP)35RX$)$y67&bESnt>T3OIijvE&vEVc zBR@qP?e9GMvAG=WFq5g1u2mUJi0Qf_<0~(9VKl@p!l6{qu9|uO_bT zjzCPsZ56o@grW#K5^!TxJy-@-ZxW>=3fk{0K;r!VD2{U+Angkv5L67xw2U@Rl%pZ7)$LRE4t)2kCBmzq3{?yZD8PCRREFOyn6bX2wr(Cw)$5~T`l;l%BX+;!%tInRnw%^$KL8KK&uJ5@pbsl z-BArg6Luspk=4&OJw7Y~<)PX$fdy`KmzzLXUDd)3y~2nx{kGju^hl*nCLM~M``gse zej=@Y=?@>SyF_yJ>UhHwzLcMCEU1QJ_;t0V*)T$F#Yu3T+~Q#NCXO)LyPjQk}*@L|=Lt1Wb7S4Th>{gMG} zxmSNc-8o6&qooh}gh_{Es_1q7*}QH)D0LbgC(XnKA+whLyqMd;S64B>N`K2vFh0Kh zph^Es9l{aY6F3}lC$?r0Q9jeKgLJn=tg{OrEjJ+CsekCgM~SbQ+|-0UE3Jl%XLyx^ zHl`XrtO0v?DH1vuh!oh0{eEuIhfKd$Z_WoBp@tB}bayOI1hDR(n(GyEcfvk1AS1Wu z=14(sY{V6!&r5V*i;i`HC~*y#;Kfzpk(*}-WUL->*us@f&J zxiZ8gwg^B9D&Z z==Ayz?eCxadvde|71k>4bSp{<1R6Ez(WP0$>ZY0=)Cl=z9JEgkj8tz&T-IoCug^>r zsxVhe$Twnq0Sl}-i!s3!oRgTd1^rf9KnX!Snr1|3!W*pyAQ1+6IyXu<6=@x+?n1MD zCL^|cm+6Gi#R)X~IUxo~0#Jjbc~u?M(X@LLBkB&x5INjS@Cna04N|zPNvR{${h!2V zKZw(B|6{m#`5y4X%j8(BqIGZyYRs#^l-yr7?ND4$ENoSSvhg}AqJr&_9h#e^(Ja8o zNsYlErsIA{oiE^_8%j|Z)O8i;tdg0MK!cX3sIb(M^ct`FRM=U3wXhkh>e8-EMN^%1;(pDMW$a?Pf5P|v@M zYPSk39nm(jG&H{e#x&?A)D6q7d)X3FC2T?BK&ulrTPu_&3%X~S$k<=4sLP3}3D)G2 zfwOBTxOwvyu0MJUPrm92KKj&a_~?_5;gLrk=j}%x$Mx%v#?jGrL|zAChohr2T)%!B zw;p{Ik3R7@Zr^?sHy?c@&Tihw<6GBj93N}UYn@oviFIAEp9VT|PPFPkuyt6|>Bb;6 z-mAB&OqwpL4=GRtDmT(NoO7Zih0#l#uoOr5R&kMIYgmX};B@3(mBZe0?d5tIOWpqX zm*f6}Jsv%N8EaJ>ot@`C3t#=gx8j2jj_XxNUjXt5EYyODg^VDpJI`vunY5U&Urn%0 z_NS}xh{^VAfrN-iCMzm988wKLHPl9KAyz+N1x!XC%Gjz$>Kwf9i zEG#j_B`{U=kgx)=fSl-h!u^)eBH}cUVjK>2i>1;Z6d)ifs*X<+7yt4ycCRk{uCKYq zmp}Y6#|b%5F-x<%RFz0fXLX`w=M~wQkefLtOxh=UOcTNVRb6|-yXwb&_9v(Ojl}!s0pN2EZRAr>U4$ge0DAnZnpEH@T`J^#85(CvwX`b zNI$Yi8ayWBb&H~7C#uRRhz(3adsGP0^i5hBN`R77VYb57v^IfF&7i|(U|HDYL6qvj z$u3hQ!=ZWQUtiHhLluXNj~P++GYh$Y$05$Qyo!qd1c=P!Bq;`u6paf zdy0L}?XPS8UBPctQH08M9TauWqg@htki^glWI{3&JslkYd*A7^8aV_sZ@tNwyEw~0 z@7}GBi!sniX)~lqZiXWLa(t&Y$xYX}X?ccd_zm!Yw7|mwfBVwIOpbr1q#-?jkFK4u zQ4wZp#9Z}Z&jXnB@6VtQgIJ8}4kQ=IeCwc$P$$zQKvNpw`Iqnv&}Q1vQD9;DU;EYD12&0WkNB*!jFDBQ8{6BcZlowqphQlBHjAP@NlSbRZPN2qG&Zyo|RH z5gD1(j&o@Ulb%MBqCchETA9=?dV&BLJw?}@A z6k>%CLWASXX-uP!Vw~Ik982~HR%qa;axnLdxqpD&ulXh()dSr7hHs4Z;tKr6UyG~> zo)c4+M_SPI-FmG>{8s&A7aOg_mEtgS#($8kaBr5_s`apjKeYdm~_>l(M3jPt#<& z{6iP@=sL%>+re?1*PeU~k39J*oISFLbX%`*@!$d%mwRB&@Q&`Np)QmJHnxZ>4Vs|w zEg?due2)Bv2Biq-8V2203{fj!!dp1u(SvB3pa`JNM^*SZG7)5KT}z3X`F z!(Yvxf76HX=BMr>?+(8E({IlAU!L+c$M-XH2XZn8qADvEW|iUqRAfgJJB$Y5)YdA+ z$-WH2ZV}PT@>CQi#xZei6h8DXio476xcj-+=D0R-{~ui8qGZmEC-3e z00+dJIVnrROvqP$ZaJTxH({?L6LO5eV9`Wv=)%j&6yVGlM}dnwf!$r=fBy5g^KX6i zXXf+IV_d(Un3pkwk<&Ae;nBrRh&;^ldg+0_Z%j$lMv+>A5M(j-7Z2jex4b4k{qf{q z{$KwZzwO)pJ{7v2blC|=zS zdP3dnup7~ncE?2lF@Yt4E2ZMp=B=D;d>Yckc`9R@tZ?_Rau_js94X+>SqKjtNG&`N zIdgyiydHo1m%Zmx@B8?_joM!o@+4w~Hgmdhloeg{3qz}(Ku7^9%%%z{GgM_%;>b$Q zm+n2lQ;$DNb=5cYYH=wI^+h*&WHpu=V5mEujvff2QbWB_fy^Z?=fvspz;W(yxvnU$ zd<+iZ=KxlTDXe7aF1?yC-O*Nq=0Nm1vIU}Ycl}0yh5h-1w_u5%!rl)xdaY_J7hGF} z{3X2p2Qw)XSAX*iVsZgOs*x4M$dJ5Vj~gwJ8Yrxxzc!Lyn+QL9$?kiDn@lMu1_L#^ zV5}}rP1*$z_C2!)7AwJ=Zh*B zCr4vrg+N41z~jsb+Dpj)jPbQFx0}zDvVu0JU;QoBwB%NwB_+^`smN1o1#J5J!D<5{ zmUR7CKrM!je!di5tX}OtI?_185L;6!x7w)H`1CmrV}6Jb%EBmMHD>Pic^gV{NZBj& zAR?i+7LY@uIc^vufEd8iU2Q@@7i$UwP{EuLmTpZ2Qx{>d9xY->s@z6@U4lAbmsvVE zl%r=KHc3Y!*sHvNb~F{Q=OU?7eHWxYT+xL~$ZRUA5Z=AHF=ZtZIbiu*w!BJTx?Ku9 zW%kP-8UnP5Mx{IO^g%O&tl4K>oHoPg+1)lzR08BdY2n|a?>78VY`B!;A$Gv@Vmp(o zt&NuUY40jc6ll&+g?nEfT@to|OoXr9guyy^zq3=9JWj{#VoB%&iM@f{#5V~ncWe;v7E932O{`cU2NaZz7N@Nm)%6!pNX z+fb+}<$!AW$%+iFg~zU);%cr%G8bm=XwtDmW=yYx3#c6#3`y0K?nWSo(sjB_@yCgy zG2*#b?jv_gb0Eb+#?TZXOEgnPk`)4KXm;DqLI6e4^)yb%2AGDkuMh8b6f+KnEbdfu2;-8)vAW=$|y>bO;Cx>2r(hANiAD=QT+5zM5> z!j$8U5GMh!8}@#$0>%^hPgmc&2Y1DryDzNF6f77?G?k_T^Y`dG8K? z#g~6$ATII3bDx=~Z~FSN&P!AQORA~I$f$DQj~VPPyhR9fk5y-E2q4CgG=T`_0QLYs z@eA|hkN?+WnE}4?JZd>XtYC(V6%l-r+LtycpbVKfK`g})nd?OD251}=!ofgHDdi?& zbQ`;D9TySBVZ34B)apFwhsgIL0+X1-$;b}AOs(Q85K#*z_fA=U3LuO{6v?f-3^+Cw zqZyzk1Px*>OjFLvi>ugQtT_5te_fqE`-yn|*Z#V~(Y3*^`PEqFIcCqALS(Y$?V(_Yg z>@?1~HbRE@lVQ)El|kVh%B zoA-(g8g_>|Bpq`Cn5{?aN44!zo)7~UnZb&QwU&6(jXU_%gEPGA**Dh@oPKehG|J|23J_4?GiCifH%N5TwL6RFVZvx5z%MT_}ty<8MU`yl;ybH{% z5P%HrOBI=op@O_2$Uo8NF2Z+vycM?Y|fx4!Xa#6@wIm&NHrg3I87LTZmpzlf+uwGp7fg-w*Wu8uqqkHXK{h1-~ zKir5>^#?bxwrOEeQLIo0ntiFnB?VL&z}sv#yjfszy}ExNHy?lMZvyde-TA`j;`oUt zgL^csVO89~0tq)NG%}ST9h_V&s*N(PlBLL;+4X8zSt(^FBN2ne{fdYjxPJ49ckb;YZYGgy7+?fw7p?>_%NAC#m2@ih zlNc48)rkghnZsEa$JYt~F7DiW+p^nX#;OD7h9ZI%61bp5sL>(4L9u}Wr z7DT#%?)>RoqS{5Tu%?@DtsZdaDXH_P(LV*62wKK3@}$RpySpsYRn-Gs-)&_|e>a4h zB(rNaD~(A==v!Gxc#mb!6kGJRD|CAE%; zdqsL=0c!yxjr!g2=<)4Vq-%u4GB4=!YD`*CASx}bFUyR&UMdqa*uHC+x{DO~Cq<{u z#Y7z%#odr~J*=q!D-S&b=n7ZwJXUusUD|dH8iDlKevflU9=z?A!^Et>u)v_boFX=7 z_b&c*&SGO%wKA;PXMrtPUDO0?&!m*98$X=p?^m#ALfCATV-lOe33V&c40q2)OKyUW zBn^()Rct`^M~SIM5qdULD==DFUI7-DH?jQsRY+r~pwD7$!XWVvrCq!UUr* zJd#n_MWZDvqo0ipX-bKt79ds^@e>C&-6mx4y=SQzNe- z{iZ+_+WgPG??_Bl(#9DT8PYQJ)MA<_c=`Snj*b?qCfLU)yT=e%h^pX#C0F#K04;O0 zFCoO?tCK(k>f$PajBBrc;>RxTzl@estDFXaLXJfaMxkvOm3tMuaxeonU>3}X;H=>A zT<1h^aTw12Y>1czEB+!zfSJZEh|KQTRdZ`FnSks|T4HwxfZ6l=s$YX$NfDmJlMTSo zoeAUwt1?H3b)6L%3C?0f#J&o0giT=e7zD@|scu9bW}^^k`N&kTjfKS2MxZ4`8d0ev zP(j+8!zOi@r8D6(9}zNkFmYLH!QL_$Lxz)AR~5IeU&kN*PyPsi7*Boi)3~~OA0`YV zARmNi5Q&bjl$3dFZAT+IqGCw3qMkO!E>NHP9Ol{CxcPtheYpFR?-v)G?lhZ(q@WxYPe&w&g(Z%_efM&EJExHLJSvy6fus>4)92ySxys11^!dZnah(za$Xqkd0 zfPrB95(|$>VVB?%*o_6d-4Zzl?!Wv1pZ>WI#(eP?F>nQ7hm+$|{Dyz?cf`N>zxx)v z`y0L?o_f_&aeQ)p%j)996rO7ZA}h*U9;zl@R}rxTzV=rh;dkJm@XI19$#uWaPd)oA z|K@l7BmBdE@B{I)KlVd-;m4oBb4Xx30zCG`@#-&m^|*2KI*`e$tBb6C4?GYf1}d4e ze>QtC(afWY0(HWKD#PHCPV&wj?0lN7_InsuDc&bS{c&NLtXN8J^!F?H#K}2dx?ILL zfAIAT^!@PzT;-R{olKTyLSSo$Fc0MRCpoj zMX$OIRg~&#_)?AnR@LroBv9^v0AMiI`}g_8+uk{z`{{pD_g;JjU;fs&$9w<9dwA{S zm{X;Pd`6AM!e^p!iC9+suZ7@L56=NXp`|gQ1xuRPN?(Z0tgz$h|iLoEwXs zT?mB7Dr_PuwMPKcE2|M$favbz)Q@H|qKRk8f(U@h)rZ*Z+bjA;AbZ)GJ|VMMR#adp zzvcj#KC=0CFcd?S-BiM41UfWFH&*~m`4c0TfiK)WkK<**7(;u&n4qI+cGk*< zkX=n8v@y(eBw>u*EQpxdSrZB3k!#oD3+A9>8pJ9iT*5nQ1jGR*AIUH-niuD8_Duu2-r+fESNHp-~z z)HO&~eO+HgXDAiaW}ijUI3vyK!wf4pVQqu&XCS+~9{m~AeDj}BT?UhL9i;rsiSD3> zRaB~fxOoH&w2Qt&tI5uGb8*dt(j0qP-%tNmt3ovb(m2iEj+Cjh*Pw1=1*vB-X&7T3 zLf^~ZBmLd_t|Jc63)#nGt3B!8+gg=!uOU^Z zld)Zz@?-A%j?N2;hn^2Z$K951n+`<zL(@t2hPFm)hRY^#XKmK=Ad zxEcq`j$o6dJEL!XzkU~SU{Vs{-Jg0gEo*7!8wOVczufGOk%*>(N?oKb#G||)y!xxy zUn~p7#l*#ynyezQg1~YWRx0Y7)skTvT@vdT5dc=$xl+YX?`cG6_i0QSDpp&M#6VyL zxqv9o)tNl;@lRTw1(7XE5)Sf1W@SU+QP+{cFl$($Mr@2k&C-0ZnJ(Lj>30g$>d&u0 zWqQ;gb;!4X>VgC+`X9=K=y0>$<32YIQf=JT6*@M^UwQwUcP%AOgUF0e^5y-mQ2Qu;6o7eHmgG+sSS~}(H?92QxH-r&t zJcQr;)Q%3#hnaAysk^x zFGh}vov zaJ3R62ZDPQ`E$*v4*W|X$dtK&?y$WA7oP;R-gtds$)hWO6sMY zm@_#tg2QJa4GM&%2v)@KSq$fLN@7?;aJ>vaYk-ImweBNxfD6dAB8KO{s=N5DRRCH* zL_aJ7$kJWcYI`%@mgueP#NG3|cJQ&qn*|_ zc8ejl03R?GHc7PR!u6S-jmLlIzm4-C_Mdt-;^exz4TOnV!+doCIt62Dl!$OgV+Rr!3!8Yk zbK--tZ6zQN<54D?(ICQSf%ZAkpVz2{P`(ZN>|;YTrds{B6_b;|49(Y%lQXP2a5*PF z{c}H$`oc$nc?E#{x_5t5{GtEw_wYCWtG^Sc*G^-^&M2mEd2t_~c=khh>BSdu=au_d z=M~ng0s8&#&_XWU-A?#*FAXuoV8zr zIk051W~nGdK)#?8oB}?Yem*>htseHX?Yy!5AJnLgu7(@Spb0K@F^33gH{~-TB5s}% z4<>N21|B)S@|86K9u)A&0-L*>2B|TCIUU0lzeXIuY(#=9i7_KQdAwFJYsBsr@yVZj z4&%WEKKGNailf&J-2FSxb2%EJp1a(cREQ}il&L*+u&S*{g4N`iIWB6ydDlC9C=o{t zB)Z6R5fFAY-?Fy5itf@XertSS7m58(-{sqW=j}N9z4!RsM;_qKUwOp+WkzDgz<;m$Y<<$|9l^}pLiV4A@jfZj{gV$)PMh9#avg;iHKORL;*Dr zA@7*RB|QccTk%6oQ6-J_sGAoJ9o1tcT+A1wfN*ogl|!pSb($hX%r4F;)m=RI7y@*s z7LNJt%)h#0$y$YU1omU5aGeCA*(EAMlP%)ulN*tWU@XQ?Bh>_&oKVYX2e1zOaM4(i zP7~}Qc)e5l?4q2{TqrpmYZs5~VHt5<9pVv5vT|UZE8=Q>A;(Fq=l611jyUHURW?|n zI-%+?HfHZJQ<;r!Sc&cbS-P!E?3Tm}ckh7!j&fkFVvn7nNea;8wf-HccOsrncpl-B zC_EqIb$T_ywGg*XcbIcxvSr>pG}7SqgY$q5rwu6vdexeMgouvOGYuE6~ zXFvV6$6x&#+n1`J$WYURbWqc>@4T9zQ@I(&X6Pcfklq;6>vN+0&JHmF5o0so6A1yW zvusAG6$Z5Wr=VI4B7V`$ZQY@5lpsxh2)gK57wNy=qYjM?gbcR+wa-}jGX?vu1{l-+ zdqA5TM3d_1dQMmm9<7cJ({3&$fn|Hi@GtOz5_zjKl!SB=W>SC-Bwf?FsPh*9`!l)V zNJ-IRlimAaWOqzlrD5zW5+N^+f9G5_%_CH}`>&@okVGKV)o$OX$fX%dZv(F?5 zX$g*=XYXX!W0_bPo^zXs9ya0P%PW#baZQCozv~uBpu|`Y0OkFbJzL|VT1m}~+|KUN z0n3b(?voBSp;_;6*G>8?U-}9cpne(*?fxZDn3c;8mzU=!5sb0y$ROMUktDPt0u96< z@~Gfop@&#NjL~Ln-98XEpzarNyh~iId#g{BVh((n&Lf*xLU$8Ar&XRk@;F0>HGnwU z4P31g>waQ6QBXqwS?=Y;5@mC>8BJ^$vpNyE)=?GFcRT^)zeiH@@W^kwZn{dU=j#p7{_y z`}xn~>hhAa)))wkafETa!_ny}PU3_a88Ni;Mq@gnu=RPeKPd?Y=Zdv}m+#(4q}Q9;kZP6#(#8&`N_Brc{ZLhmYJNUeZu7+lT>lnanb2??~B5vx6PB1{A? z`fieqS0F|l-zgep5oaX7T*2ti_F{w7b|~E;!Wr5Ry3C5s23{84P(e} zqPw#;^F(aUZw;6LM0cCIXzFuHcj%QCyc#$#7J#*l9_&sg9(;~*>uZVs*MEE?zU|LE z;6)uX5}0cshVrk{L!q7iAwB>!8Sh4mA-hB`DyESUlN`ly^Y!@ifA&w~fBGN(YrN_; zugATYUyj}BDeO!Dz`+Raxot&Tn=GSIv~iY%dNXJvHH|@$iCD_Diq()Y0WRcVq{lRs zPXUZXO*L<2ARYo6@q#IGGKH@fR^LEO$;9LtQ==j&?`5cYX=(S03#m_LpoSrjnnD zCEXd3?rjWRZZy$Nsx~T)eTbApl4R^x;?WzYz`7ceOxGL2A>ExMphg&?J3_HZl&z{z zSSk$D4}m~rMnv-R{`rkDd^TL1dFn&=uuPP=VCzPtuMalzTv7Qz(lE9dQ4?OtUGgz< zZP0|WSpyZ0=`mwKUFAVFE&blN$u)<9uK1#{hRF#j5}ad0O&*m7wdHszg@s#3y4eU| zy4bHcY!_qLg@T8lBVt|gs>glWo5~0K@ZTjMlf%H7fyu-eQZ{Sc6o-06(N9xkQLgLU zbgQ}L<#f$d;o2vKwGVne$IYmRJPY(5D-PZS2#9o<9=cATYG4d*Wa0G7b-_4*b|wjTs!43_m*Th8wQVyh^KO1%G7Z~Q0&3@NzlRAeP_Hlp zQX(9n0}<&N4+f&bg~x#ABm%vUT~3e+U~@ZjWwy7$L3jtJyV+jHfp%qN0~1BBB(Ox7 zC^)dweS1U{dK`lZ#z6M>^WhZ>CDHvzQGO+G1Zjgy3mPj(PW-$uY zLrx4A%u@8I=Mvh6Ll_&O5(7S$$N5=MhKX;$n{?Id%!nFu1vj3YslMhW1#q?{2i*zRx(}>uq)fyWCNG;|r(P zuK%#4?UMd6n-M7l*Ps3fK%+n2ze z+y3Bxg2cetS;?mqre%+qTgP4ZP%7LTdnRwv*xrGTy5u6N;>9u26Twh_;YPm6$m;#1+nz6NX18GIAz?J z1nUa@4#`v(t1Ff8)tutl>O{OQlpGk3m^p=ham;LeB` zQ^YSjSB{%9i1L8cR7_3Ow1O^V+-(T&7iS`p6@=aqSur zS)YIY3;59=eINhnd%h1p^3UIck9_n4+~th_`j7vKTF>wE?wuF$@BiN4gR3w6ET8%Q zzk`qd&_BzItGV2|d9#joXEGBl`~K)1syP!tmdr#qe%SBNx@HlP)4e%!7?|pf_eLIF z+dx%NG7KOoq)ZO&e_-G$SR>Qyvy!SRtZ7mKHJs1b^U#r)>XJqlm@TSc?AP4NFql%mx#bF*8v`la)k_K!)&LfSx|lA(Qgb@`<&r>OtDzo>QN_LtmGx z;v;=dsKn`;j{$M-=N=QQ$Ha*vtVJ$Qkipr=i76b`% zIL#YFGh0O9fnynvNHAjMZ~2`e5D^vFceJiJ?EHdfqH?W0P9J&XbC@&M^)iOXQU!V4 zJqJ;ip2?_hRUU2K2-KbSia^sL#iQNex?gd{ie>CDNidcuMvSf)%9uNQL|M-(0;G+9 z6IKTb9tAy;m63I|7H^&$69Lw0HXOEk=zj%0oMl)_o8S~Sg@K%e1N6iZ7_|N*^7s^W ze&+@}V#~P|OTslFte_r?i?@(XYb3TYV*Nei4s-PM6Vt7Vjj-50TWu5@TG`}F1Trz| z5UV2kg7&Pt(S{+p+KI9Ccm-Qs{~%;m=--iDg!cG!Sgq}!OQ~reI3GooN?wWaOy=Lg{ z*Wph4444=~zxP%e7|@#S(+rm=E+sQlZ$Tofwjby??E1+dO>s&Ph=FXAC&$+=VLjpN zBC^nelU4)3a(G>W!(rA-9nK+zV+&BX?;tZ#vWNftq40LdO^0f9 zZ}jkXTXhiq@9D$d7q;in*rK115uh)gr1N?<&No|p+&VIf`a1M%V!$cGMp!!Vm zBdEi?tO2uwON|j&A3Qil4%E_3(8xxKN*;-x`DD^678@8bHm}8PNlUAMh4(MFF_GN!9o%l6~u7= ze_DQ?t=6$=4-|IlhZ~ z0lW}vj^N6f!cS%WV0X(hSR|;qut0477)-|~HL245_HIZh&LP83+tN8Dug<@lQID^O z00@OUIhBTj9A!}Aj?jarWD?5gbqN8sT$00#i8$+0e4d`^?3IcLE+g{v=%j8v z@(6BSzlq(^g6CiSLcI6A|15vt2frtO@uTmLiW& z`Qh*Xhq!z999P7T0`{GWRHYvcu_@EZ5o&lK-FRSN zx`BZZhZ`%>`eDvUHN~e0(T#`D(mZ`Yi+UCyIP@pn)v5G)J+F>(A4G3|S6Ge)KKXMG zu)Fh0Jb30Q96xa!Fa6^S9353+N5*OgO{6-pVmM`Gf^cd!@E{{56}R0@tf{}u4oE(h zYCcQQuhnnDAL-<;Nt=hU>F$;L(Q_>q*VT3mTT-$>suQ-70E9K=>sAg5VSy>}w3xSdfgu23HU za0e?2OEvFAy^F@~46uw<;FqYHRXkH@kx%XSIJ^Dm2Z#VKFT|hKbR#6#%|CDeV{G0$ ziJ%Nt>#)@#O!?n&tAFLiPljOdMceN`#MW?^-u@i#_*mhNbrA0Hs5750-bC;oR`|Qu-vBhpC zjLr_>e-?-MP(DhE%C1Q~60yyi7_WA{6ecZAtYPcmSZUh%(?t?&!G+C-jA6U2-dCmf zxqZJh#&ldUW$HNHc)EYSek3B?(KohkEE#U-Obr`gd!DY(O!!Lu;|tm(T&jo&<`T} ztoR+FJL_5Wc8)IM{PMjUFf7s7W=QA?N0>Rvf z1+h2osDz~p7yt*jJ)CA9br^*Kl$Co;o!YwwX??gm`1zYMqpctSBx>=G_o3F=anT}3 zbr|jOm(1LX)6el-K6^i;K?Jr# z<;x?CBAI1_Rrn%@5kPnC{QE}5;Ziq3@O!5XVzy2$Xh7xS6FhBuOW;Ces5TS==@=1cJG)le^sjkufLH`hOIXQ}zL6 zc1_Pe9oM8O?EAxT3%%%VH9F)+BQU3A39&h&>EjNwekqc|*0{c3G11(e)-wV%bquZ2 zh(ch!cz|VDfDw1(xY}F_W!mTN_atCDdQ>JL*EF3YlO&)U9SlT7@9qOjg*1?u>Y_(S zTmsb0p`L$HeM6|=IE?NfFucVnGR1LlT24RwOjNgceDp7@E%U*&@ zbgau%yeVveG`9Pf8YLF-T3bwpe>fG{)a9H#padXNz}<#X&U-;8`3f60sSt}IMiqm8 z{ft-+u_*vzjAT8yM7{lO*uC-bdhoU1fOQ-tzv@?ExwN>H|n?h=Nt%UIuXrH_+@bWKhk*<0a)1rDoB_U#H`BNJFI2$=;V}-KJf%@-oB0JUwQ@a zecyZI2jBO-c;UHE#J~A_ejo4Odl4V`z|V}w9=$zY`04M%hrj=OxPL$#UArxwb6tV( zc8&_)Pxg*;KD741QK-zd5-Rz(k(k`JRM4M4NY2iMn#)s@fX3Tmy4CrQp4b%FQ`h<- z?>{FIAL5`Tp#F6;w3wup;AsXv@xGVy_@%qJ`{^ez9zVv*-+jT;QDn+(VWu=wxP*rkh}gE>gESrFu-6*coM%0ckPa8OPR58y?XM#>Si2y*faU zgWzQVuMGUP|MU#lU-H2{ax8jq!i+NasvvR>u_FK^st_2m$Vu48p;T{f!5%7DapQIP z|9iqD(SXANB{nz~VOEL%VlfSxvxwrSfEd<1|+ ze`G50m3DFpMQ3UvY>a_fyP#*dU5x3Ox@|)H6foeW+y_MjM?V$gS-p9gnL92Rkr2jW zE~=3{cz3z@*D;#d=Jc3u<{oOZ#y(|MFHO9cKPx@|Pp;l~IHP)>| z-7!IR6o9DGvv3jJ->mC7<)>`0s_SAkn!0SNb5*CQgYWGrer`?1vhgf(bpyWpH0Y%5 zxL0}bEC4`mctcUbm`sp84Ar1*k|Lm~in9h4`?2p*2wDc#SB++y7^P$h9 zB#;fPbkP*waY*HQNfYRxb?6kNeov|ey1hCSQQ z*nvW6T%}N`DE&+G)xnT@MYCB7qa_J!H>b&RU=tD1AQ(=tY ztd-!D#ZYW_8_>R0ZnJl4=U{VB)j8}RiAXO9oFFo=WaN5&9@s4y5f7wt)i`;YyPr-) zVSm&JnkW__!w67j??4Li2ZS>uA|Q~1hxI3&M7r}9nb@q8_9uw8q zOUJB~wiN%-vPDvfy81U*sAu921{gF8HqOr@o_-oP-uY!*fAw$7dv{;Pc=x};u|G$x zY5z9^#OYui@}&@V4nEF<-*p_^baP+*>d5Kl?*}1TVexS^nscz6U?~ zyyqWE$#mlkeYkZ8vMQ1`orsQWjWGfvdb|kkfpG?UPctc$tS(k_N=?=&A<}p!x6*Qn z%?TjX$MK!dK{bFH<%Dylbwe(0!K}pCO`Im~{=+W5$G$KDdaIcqzMkg6|~4t1~nm!t8bqLc8DRsX7k2RxGJcs>2)Lkgl`mWsY6 zTY?8%6qOheJAuB&Y_%zm3?DIT^Dgu`${Nm_I#~=a#qBuokV~A|h%MG5?21#XvI6r; z(+z}3P`RS)uU71?UHc3`%*zXLvL!CAzt3i-=cl77Oa-i9PovpjPHUtf$+$r5y{kQT zI{``=g$LT%J_$xjiHr>01@<_ALAD*?AA*fg`yg>yD~^r^FcMdDb>A=;LzSd6yRY5= zV?dn0P$z}@yvk3iZkv+n?mPmK#mFFIjDiM1jGuMh{i-`C_sK!meGR;&2cJ|{(_8XMSi3$jCehZVZZ`Xj!Doscmk;=+x@c*pk$u?R zd8eLN_2<~Cgz)c-Er-US4Icwq$9EVggkYl?=|N`Td)_W1CD= z?*kBzS+RUl8!tIAdYz zpo{8P)1kr!pB1V!C6fcV((r$FHP^&Y4JdHN)-w!Xfi|xvT#-&x1ZIj>1od4#OCQZb zZoGbyoW-ibL{B=l*XwqU8BDAliwK>(1cFlyxLEZ5Kt#V-BoJCyUw$%rTy&RT=X;FA zP)EMaU>wg4Vk*E&R`tLSQjXe$6bw`Ee-(^#5RY|#g*U$WEl5oK)9?9v#H}xCRZ(Uj ze(QenDm_+HaBgOCtTn%<}$#~KaWgc_q%>~>_7M+>_<+3o_8>&u-moH zDCJ|Jk);R(2c`;qKjAGd>b|KUYS1k(5HYi*z{+{WXdMV0!@PBXF-j$l|3vxgB0@V+ zhV(TZ-{j4+=oup`B3R{wmVwAJ@S{EugTP?TlDQ-hb+yOUlecjF8@>`3-}d`>=U@I5 zj=uiaV_C1T->{7{=Z%GlRw43`kj9vt}b52@BG*Q9lZ2~&)|pN_fPqOkNjec<0IU>`549+ zSPQYP#aYOenh1@#gv^*ZVsQ3)|An8x>8;1{`A>f&KKL^~ z5~Egr`Un3mpZ(d7@Z{EYjFTN}7Kt^YZN8n~Hlr^92*r!V`LKM49UTn8toSoF$*sxa zhJQ{@cZbx7Shv%wl-p!rI!8$zO%;W#d1wR_0IuY+tT;LWKKc`DEmyB#{p_o7{Mr*- zeD?*8mq7$LX8yzzL_r2x8N{5x7#ZiEufT5LKmJ`eMm@h`&SbCH)uI=Zd@N66 z6^LX`JgD1!6&434$P{ zyz6=96r%UkEoR_izhcP<3IS^$ZNMGslqtfbb1(#IN($O?L8tD!O#q?|J_B=Bj9jpc zL{E9C$cs z5OwcS)yivQ6f~h)NNB{ml~ihMlz&EH%W^ERhU%f|M#uJkbncqWf;W2TM>KunG&Zos z4*;%#+owe20s*y-{I60#Kr1UL!s{?TQcWJVuZe1|vK+m)aP%7^w?FA-^=f=zxq{}n zH-6B`klP0m|LQb;1<5np<#dey?S;S-QftIB9ljsfl)d~thhhjWhN~XB0Ds@(*B;eTK zk~v=t`i!`NHU=>;Vx2CbNFXK{GdF|9l9XF-Ji!p&O?Ou#(&G$%#sJtYDe_4{#IPvxv#CP$)~5;0${eiWVmdUu(dk@NhFI|$*36< z0nWf+cu%t|#`S(=!Rq+|OY^F!02zX_FihU+gl?cK5sb)EOqrVNQ^IqOff7*=7*&C* zi5!8O-|(xj{`o(L2Y>gkM}7UTNA3bx*BA!z5g_ch5FsT|xfq&e&AT{Iq)o854Vqt4 zMW{pNAq8QYB_Me!adPWct|XrM-tWfCKmP;qd;j3?&*DY=8~^U_;m1GqaeVI&d@nxu zv5(;R>@03xzlqGm<=nF{O}z+BrDTZ#peK`%!AP!9hAki%Ie|6wjB3JQ*`&T#qBf2Y zXHXecQVGjJLD5OXAjyd$<=*WaQ4z7CyxI*pCjqWpVt^#qIY9!)C&##T`!-&D`DOmd zd;cju^e=xrzUXc5;??;p`M>_fKNsk&Dk=oMYjXMRh408M=O z!$*)BaZtNtm|WDE2ZLD^0`w6?&PZB|nx&%|k=e}@R0-a|U{xbw-HTE_$zo<;o$BD^ z5i+kI<74l8z~g&&^Zetlk9guKy!>}w0*?oH)Kr8)QMsCNYbv{ZuZk?#*mtp^uyq(s z7H{1$V6G85lnK)F;aicHpi1R%_6BJ`iqNknfpPc?2&W5k6EWeykD+0HwCcSJm>Svb;{CK(lpbw!TBaqaQ=&cE>g#6aSy$DWD@ zm**IZo>h9xQvM@@bfZwQclKzVN7xqVkt*|KHw>Jo0t9Aa7oGVw9SnejLJ}2yxfH}LzgzDx)tMr+2oF}E9WhuaLZ&cKTu7$#ZTD!b>|w}(8Ub7u5~y-vA~K#eF~;#-AW{4M20PGa49eGx zFu@j9ZnX-+jhwLMl4R3?Bo+Z^Twd<6EL&iYko?y#s+y?R>R<>bz|DU}V7Lk$ASa_L zh{+K|T@{uE$gwD%g_J;74syAazDOz2bVp zSa>f)C^^AHghLvgGd()wq8?@StWM?DEdjzdmF=S845FmyqcholLe9LMkK9MyFd zwnkSPmsd1_BV4cGMH4Z)7A(IH6PpOx(vFT>0V&|E92JRXOxn%suvZM4`F4c&v)1Uo z#!MV<#Bj7hX?No{ms@&IBD?t0JW51a?%=N-J`t!bfX!w(9{PJI?MZ~rx5Aq{I(-oU zAXax^d^n^a@X2~;NVL)k2wJsLBr40ic>@-c8~y+~>m5qxoc7=669gi*9Y01#Uh51C+ufA)6$p;;_aBN5QWD}*Idhxez? z5eHT&x=4rFCzCDPrSShI1x7*vwT2V;JY0zMMeX^!cFa8N!-iE6iiOQy7KyOpfbN*l z!FG=5V~)DK$jGP(x2gOD7(lt+tiX0L74O}ZNr9NsNWBwc}1TQ}!=ado=Cn2(3qLnQ$ftDJ$c>mjxRQL-WIcVl9rHj<+Z*3evuo<);+L9K9% zMC1{`iMd{()^dO|T!=(sbbqq51R7@yyS>PUPGDjnQ6&jrhml$+wF?=A=@qs9EkUi| z3oS1w18Uh-0gO~5%0P>*F7-J=iVfK3o4sTU;1F>rxukVhF~I8i^+0g4-?{ZB)e%k3 z$_DqDxV*aL?qtF7GVllf*nbY>b=e#v#lUipIF=Vv1-LpAk&cd99{W`&AAy3cv?1!G=FTLmQ;ftTXjptwZJpR(3{j+%S zPS4Kb z=3|fYxmRAnkNnsV;kg$-gMarw`~$eSd=c;XiZ6}l-}evr$shSKjMHm~qf^X|u8t?c zQg;K2BDIm?h-?zO<9MwKf5BkQjB-b<+#2hGF6rmE0UveD2n4r&Wp^;>wh;mmlV$lP zFirx`{K$(~&hN)B{lXI%w+eT^>p6_mL1uwvH=K|s4SWB5dYANYJRV_+$LJA?6(Nf{ z;}>-WJND-on;$@DB^vXDLa(ua5QZ%*8Vq5UR^PdA!VUCNF?0x!GnRq<2kztOEx;Qd zoqXxTFJpH~Vp>)<{eE14g|StS19VLG>l5POM9ta#VxHf<8`t0bj@Vyb;@-XI@aDI^ z4eS0v%vuo>*ssOSGpH)YMp$a}QR8cYTo#n~_{l^NB6EJbmJk98*gSUx z?sEx1+h*BKI2Qzh*?g#g(sO16v;sp}t6g)ng3#cGDNhj<*|!r!j1-YbAXtnXSkLbT zNY3>NnW;qzrRO68DG*a+fAzg|eARRBA}^qUN}adqG13QfVqkDx31lHgb+O0v*;h0Q zl!u-J2J4|14Z2Cx(%h-s-_H9Zq!>fv_pYa0kg2c||E5nnTyN_QwHaO*PhtvS&Ka!B ztL})-ZBvhNLz~5EPQ7cMeh(o-xNyDUJk*U0|9&g^^h`AASLlsp;Ua&l<@`~#qP$Gw zm&R~nI`2EY*|53hVQn4-X?Hp!#lBS zPI?z-sE}#8>WDB?<*{MtyTf%>uS0C#r*Ox))e`Jlr`6t8HCJLITABiCtPYo+Ey&YZlaJ7RTx8Ip2fYXz{Cyxf!p zWSa=8XtO}qXezB{@EUM+vh-31s$2akqH4OhFGQ4>oIV5w-I6FA08?ecE2Tl2mk&TR z2)6^gvqVkC4OZq%OS5S~|Ql!nT8pv;j zOsI3D6@>KssER|elV344Pi42QK zV@B`7O-|6mQlYVSF??y`G-4w({Hjc~`13%|hy6CU9<)1c5dfzO29g`u6ambkaRVoY zS(-H%4vyS{xH@{Qj3@#NCGavOJOjw$*0F;Fd(AAw)TgbW0uzlS9OMH%%ga%8NvCtJ z+!Wh=*jVY!q*9E5CNi_sX($c;X9qg_h@^Z8=A1URrAHqSlfFm&cv)@D-8f4#Xa>cJ zK&IF30KinhM+{7&&|?H82Lx>A&``q(!D&YGqf^0Oa(TfsfeFXLl?|Q+$TsytxV_7WUft!zUeCw|#KKLQv_{ei@PV^dV$DHkMLSnJZFw*3vpr#p_1Nk~7e@1rU zu4#{OGbtF`D$apI2BTF}vy(M9RIL{_RD@2ZNF_C2^@a&ZMyo$O!kIUL;k(Jy-~!1Z+$} zq=z~~j6u0=hdOxz9`c7te|9T&T#RYeMuy3te%N~MV`|5VMs@(8NKVWVSgsd8`NQ`) zUcSKnPd&{?UYoe{gA*|pj6QFcKbKfSVS^F|VWj2W0~&0xH<0UwsVhlkA7vRj#u08% z0Lb)OH^)Ah<0l6?O?-mqL zY-jqrmzzGTK|dRyD6`)#ZAtR;(`Q9+%5|<78dJ1a)x^q3nNy-b zmgN5I+@S;O!V5+zbR97jo2g_^==-#DtfVT9qbFCo-9UN&#Vqay0OY|F*|T0bWFy@% z*VqP#0gFly5tzoMQcDE9G5~>!sW*m)t=`&V1yFMedGvfpbON#_rDNC{K^8%vV|fo^ zm}lL-e~%)ls8TxB@gx`-8vO!T_DINx3KPdAJ*Vwo=1aX7;2uHffju%8fDjS@%2brqcl2*mL|bQ3*g~LDx5sRwl*! zZACO4|HF+L{d_lx@YK+vQ)6py!jJ;C^JQ+@JCRXI< zBAA$%I-6mKtb&a6Kx4n?mB~WU)V)#ppb?uUY#V8VYEqbM^5@a_468{Lae&@Cs6%`$#Lkk z!z^=mL6MmB9AE&LnklLX1H{mt$LgZpUt;S#4-`F(T^>xd3!RVHFAXL-_ zWvbz1C-*KtyXc?3@w^86?s~V$SE~dpxq_R}Bj}fzTOqUsIy*&#Ws%~!Lmk}Ej7`tG z7DFB9_ExZ4?WU?=q7CnK;m0B3^uX;3NzZQ1b#;U zf3p5HSl2bX3d6>j&$rgvd!K#I>2vy~zDPn6jS$xq!j=%BxRaQql5#3QT((IOQjipO zReq#$b2(1pN|{uWas_OI0aGMcCYZZ~0SQ|4Mculf3qpVdx^%a?)%WhxeQta2wZ3PL z{1{`t-%>>&=ssufwZ89tpJ&c7#~gD^Fyd^aljPv9T7Ey%5S{`*OW_qM1SHSG?Fqmo z>~p$su)VC0r|B`ak*vR;kijT$Q|PVoUbuZ~Vy|_`6@`;EXVtf8V&www3=iV$b90%{ zHwSo*U10_Ant`<$RGzA9!yPcQCa}so>r0-4UO*dx+q`INd^A+6Y}V+5E-crJr;5{@ z%8t^?N*q(+X6EOphx3yJoqhQa(oVL`j2=O(1=cB-M;9E!_SgoU^xdhX&IkLO*)q7R z%(bAnEU8S7%&c61QpkL_yQIeL`I)}yo8E`7e(5vV4ZQSq@74L)QvkKi1r{XsnA?Q> z2e&KW*bONL76ir=ZN(x?#OWk``sZ=|9lwR=s|Um@UlvZ+Vm7cy61pzRAcK|M3?EHP zjfX&;@1L8xtk5uQPt4nd&W@dD0M&f~kw~?otYHm{tZ6}@50bB{&7H{e%#x0E%77C8 zJ9&$UB_9B2agu9gv@f*bTHv#@_|jYW{I~u(J^dg3kM-v1d0hYcZvo$Y9YBFyk|gd% zcZ;3>GLZwsxlHc0a(xyK+>Qt4EMtLGl!OP~ClzVw5C7cakXh1Z|H zQGetQ|6BNlpZh6&;3NN_$<~W6ysWF!$xo_VH4Wzg9gp!2h_Nw+T%lbmsB~{SY&;2f zoU2W?fM9cK5YCR^fynMI1#E$U7NQ{6g1f)2A4+@X$dq1G4drT5V)qVkt9bJGoS{wf zp$KjD)<%(d@r4(0{oG^z=#Tt3f9#+9AiwSR{CCy;Cf@n(xAC(-_}%!z&wU<`9zPFn zKktFjIFRQy;_KwKA)l56&$z_KxuXM2phi!ZX4C~7+*c-RLlRDxU5KkZJmotZ>S-o)V3s)LQR{RD^zot$-WmaIH7k>P{v%dgL6MMmScHXUI}Xj$B8S<;nDx}<-*6)Mso7+co!vZ@A+4Bc zb!W1^rvV*RgwH_q?0Fk>zU8dkDFLdccgF(JtxVUGQ2a19YT=oty$CFJNE0ztq08j) zhH?`J$H|=za5mu>5VgFGO+L$~fx++unDe94%3+>~)R-w0{l0Yk|5Zlm10V`)uvuIE zV4YG+IzOql3v9K4rXxStSu;uFmnoPf>4XGjgBPHeq3Ie8@9L=|>WC+oaoq!VXGnZ! z3rOm-qlpSS-=@FeJWY5^AaQSMAPup%8qmgcOb^87_?QlH$oJ$KF&k1qLo`Ksu?M%U zG#z1_pJ#&^&6NLh1)~|PCAa3^SBl(29-lkcyfh+wCQQ0(V}w^8Hyey1fT<^g4T9D0 z)hGGWbuEmn<6HS8XFEYbz{@hDydnug6pFYVj5FM3OU&|tW#P|&TUTZ+y!^$7g*uk!<2(CoXVv?C>?0JvoQe^%*qH&`%E98>4 z^Lcr!<61|i1Cj{Cz)#UUhvYEhD@7XP{KHy0noGxIDJ2c=TPh%$V^Ii-rg>yc@EF9+sc^6-BsRU!ksD*`?%%OiN<{;QVEr~Jk`-`H23kx7pBPg;-G5Vr zmd!SylG2&T;yR8WhQCzfB;>2a-vRjD0~|I_~qsw+Nz>+{^t?iyA` zqhprh_>=LEo;o47!~+reWv1{b5q*a0gucDQ>FKLl|HdBxKlfSaZiB1XQ=3V?2H1O?>zRf3KdNcYXF3KaM~0$Nngu{OkwMpZM{g#DnLb z^IhC+eCw0|uHs79-{g#EPRuVmf*Nc)7EAFt#4=IBdHGQd6#U#)nV?mGYK3syNFH-R zbMt`f=YH@_o^GGu^^d)aSC56SeDBkBebv$xu|;%;(q+2U4yHWVW=vP60ZR;RM=-Kx zrSk=hFw^;8$~tN1KkMQhvmJ7$&_HrA2<=2_P`lk2N`^>y^F#ujziTEB2vlvfNL@9b zed3Ip_X_X%nwx(8r@w-_IT_;s4YkML)Csw+T@&k_evQMt!adnRQOOa|-Q6=h_+{U$ zr>}hhw{O0|_r32M@$Bid5l6w^w>I#}IvogBYKtxSJp*d&Fp^FC;JQ0bu}OP71!vNu zPtLw+i;z%d6&;DHYVcHxREaiXEMQeON|BX<-sj`rm{szA0mNA>u-e{H0w~t@;xb`jolf3ZQae3ps1yIUhR)ptV=z|@q14>zlvN59 z14pZCXd_1yc&ZJoGHh&VWK(0m?ySXv^R>cU&VB1(Mxmn|XsXhFpmS7~a%=VhWe;5gUI*eTaREHi>^5n3vbHW(IQ32fs&z`hFcS?Q?3${d`HkODeL2Bm>Ff8wy; z;sUV28F31_cjr9yz^Jm1xDkDn*BhsvnLt#@>pdzfuTN(ML&48Aa{DP?=6i|6>Wp5e zOs8B26k?OAspE7}JWL}(^XpTk%)5t`?o2VwG@AVT(y%BU zFO8{nEA`!&$CEk?&0WP^4BuzCVd}FcVsdEw6-5T|pgHHo`BuxY|Ps4BG>+>p1k| zP|2Bbl;>|Z!)P;ITSP|E>j3K-fO+|EPN4$Y%OgS*IAKoZ?6JR{xvii%7`Q9UoGeKV zm`Bif9%L@1nWPlBW&zUR&jC(o^`A*6uKlb!%uqg(rG|`x0%q=#i2duudyUb*t^-9Bar+MQ5@p%ZFY`WfanbF6?Jac88W z=e7C`bw&m9?kG}sWr}tIL@iVoI`bJF>N&emId@Ar@0q{W42RLNf(`jK3t&2wQ+>@k zAP0S>?d;FE1-fr>gb-9OcMT^G_(b^kjsm9VdV;QNx&Re+&T(Rb@?YJr zUc}wq9bbI@MMA(|`Y*pzxPBR@1)Td#Lg5WqOKC{KvGABlBdrI@A(>5)vk<#b!p#ZK zKJ#hvxwq*0xBpI@fBxgZ)rmVG60$C#7FAl<18MJt&)y*m=jlZbUfWqe9FK~9Z#>H= zw8!+*`xkT9W00RF+5~O0(n;Ax?8p)qh|VGlh^UxP8SPQriL#q>4#^VEx-7LR(4-v* zy?I;wP2Y|OKlM|5^8ffhl9%)w8=Ko^+)Xs|bW~2T-ScXo6%%;Sak<+v=qn zhnhl(ajwo5_HJHXU5o34Pk#URim!Z}|Kg{Al>gy>^dIZfpZT~x@SzXr`q6`a^yu-r z+uN*HIonDD4dy)*v}$Iu(QVHV9C6!w;17`39?jb>f?WL?Ghe`1`Tk)GlDO5__jd_L zb_wjGLxPjAHKc*i)h=H$6CJUjrVHJ9#P06+W1QPP@4#34oQBY7kb9q{yN!p>J=CM; z9_t4``u+ICCx1qN>Oc8Y_@3|n&eQ(fzwDp?zz1=9@DO!bp7N`Pk!!gsFxbA z{H;4Zs04%-#HJ}KS}-;9T%?P3epQD8UJdCX$5w zeTBqvbJ;X6=j9L_djkMcOD!|9oyLUX=&Qh^;yS z3ri@W*mdB2#u*~9KY=VG>6F0< zI;7}CO7NNnm|uXm`;guRi-4O%7GG}ds!F3EakshIc0CC?iUhyGy_{_}&{5em0d2j{S<8uP!6aPpI8eUsqgaT)_$*=obNyh$p9S&st#em#>j zTsD&RMg@Nc;{&7SX@+KLi~WM;d%-x|&5CVuXKI>!j%jMnNWsz2t8$~kcg3ofK<8YJ zUqYnMYl&7gwAb3v{Zj_*G>xR`P5)J_LslD|;%SA>icHbzIO;MNe<9H2(|JYo7$H99Svo&*>F~d(K<+x~NdJmU_n1j!NP$OU##<(F znNZ1pmp?cH5R|zUMG^&u?aiUzMg{)oO7NKCPdw%vaJ(?)3-TfZ>AF13PLZs1HNyBz z>D9G>#RKGF`Q&cpfZi)~j`B;wOlPS5FxiYmlmRigFiPnNrd8*6B41SJ>0HQ~0%%w- z0B}&-h{T*p{PTVMG!AuDlp@FHG+3+y;3{O!5EJveo!G&0jXr-@SJN-thE15-hT<+ZEONHV3JbIg0Q z@5IcX`OkQTPiLl>S}`Xpb`fh4F^2aUnbwyh+KiG(%hKd2oVtn5Zc|xuMGV3ERiQB=)%C8j63o6eD3`jQ(Gl%T}q+=U1=d)P6 z@(psq5g^ege~>Fap&jj!V2*S`;YH>yVHuK_H+ zv;t;bDFfDoa7BU6jCrBTPqY^CNrN!7az$+pzTD&iXpb+y}9PZNyR^8!|oe* zK2P4c%vfx=H>q_|JNc>j=VzR`x(fC57W~?G;^Ei63t#yIzn@PYzY`B$dOP;hTd!gQ zF?*XkN+BWNL5gA305cWJ!ds;+C6eB`ERejcRihni>iQvgb6ubM@ZVG6sa}8MOZdib z{&o6+ANe3Y_6tAHmtTI7r_-t8QPl=41cq)V!MVEJ9)$_eTgw=~Su>Bym9FpXo zXYNs2?(CSP^b2AvgpCs`c_ToheeqfJIXT1bhexVd_FsWVzN-$koTriyFzau`#p9Bf z<;dF@lN;-}xPTVB7jZr}*VW>4FFcP={KCijpZ(Jx>EH8v|Be0XS3XtjSM{;)`+GQD zU$L%ksP49E%Y8)0`<~D}_r#X?7_me$tty@53OhO2Kiw>MaxrT&2@og$cZj$;38&K? zKK`LQ;c4@$|Ki;|y)3-(UC;37c~MumnCo&H0{K)CF4j)S)-;YFv9awMV3%FUC{q_zOuN|*}(OA)HyMGG;3a9OnYLl=O3fBSwwA7pH}~_ z|Jic@#n(S$$96(CZ7vd8@i_sQo4=x#4+WEhl|&C=WdwiU-QnipHG~uXi@*3cNM7;! z!8O!(D3u$cWX`ll=9QIsGnVC|V1Zn$Q;or*j+%L%8-Z0tZ+W=n_9S%d@krCCopx~X zDGiWHp{k=;AjMNz0kS>N>wH@)l|P+__7Uq1qiSqs0kY+7Iuo;Cx*h%{gI)pqZ5f)= zc{{E9E}?5Pv=53)wQ{`W^X+LeBMx;P_W}mQ7`#}X@7)fPcVpU3)i0aDe-uwb z8HM)cE_$KC`GpQ>YL)#{QWuOgJl_niOfh|qql52*dQ@J< zgaQl-%RvKkwgAT0%-2-zAX~?J#1qly*jTYJRZ=ig2szhT^Z#3|=?IglB$vsYMoU1& z9KIo7h%_IWfjkAj1LU#0=&0X9VY;po^BoCtrCzW(ybd+lDFMt)V%H#y|AWspV!~Y= ze9N3=85z%*JM-R@Kts9Sn)?8`8}DH=*RajG+s+Rj9mUc79TLTx4f?>!3}G^!aiQIg zrqg`&X2XLfI7Tn5w&;*5^yfbu{++RQ=dS03jmdags>l1;8)<$Ac8Vq(Qui7MmorGG zo>NUy$w^3FKniP4JLu>FIWQI+uqeytP`VU-;Z!Ft%?)kG2rqfel z?8k*QFcfIh`lDiC{*I5ytV*lnmJMORBXG|x^TQjN{9ImFHlaMG_zi}~(aM|h$bhp^ znK3rVAj?F^3iEZj*?_DHa20GmTZ~kGK3@s}$Gp6!vY&zt>zu%5@1z894I&9UCLCfi}y#`Iob_k>3|?JXXbXf=RA?;YyW{^-p1vz zG37+aQ?u@wS+RrDlcVkN(tmq6jlWEVG!UWzsBV+f<40?5x2iisc!^nyKdPWggq@ zSCT6FpgJeI-NK^QqJ3AYE)zo`HPbZ~p7ppZ_ed&+4kF@sJjM2nC{A zs`p)r=G|2Cc%Ick{0@iW??PTvmnfbY}JYLp!fKXuMx$J7gGQ+9yA@hB7 zmysc7MS|r_)G431OYy-R$kaf{SP*qb?CUFBf5&eI|NZ|Ro_y|8jc@%nobI03)W~s8 zQ;y*{odnK9U|AJ{ic(okb)hTNlc6fw5?8;!mPfX(uGH(KPrm=}=;i_W#%o`$o9jn- z|3CO1obPV=+;h)OCUw5ao^U9piurk+(v&PhJB5HU^K6)}qh8u{8(nUb0 zK(s|yP#+6gd60_$Hg;}r1H>85BkLTJ7bsIS{`krNE)Rso8Oc!$eL@CyPlN2JS}Z0% zX=9e_2`6qfkJRNdQJ zZNe0kh}xqp97;SNn$)S>>YL01iMjg6eN0K>M-fxC7zK;E)4JZ^+W7cK+1F2B<+ERS z4iDbjc>Q~y;rfa?6H?R|SUBQ%Y2L7NZ!bg)?T^_gD4TJ3aTG&!9R+Q6143wMk(~wZ zHT6Skh>k$uAmEn_c|tPd@&E`nk0wE0k~@S>8x!WFEfG3Vs|oN5eEKt858rvh``+^y zU-|fJSP!iqGVtEb6m8BdUMAUWMhfhHUenIm&f_f=xdax)-oT6BfWPrwe`TNdS#N#I z+tqs;3oI2?1*|9~AZEYuPL8jtKv$UoE~uM4noNFp$*ziX%Yjf;?ZLuB&T2#CytWi& z+K|peF9-YhId;0bC-Q(UI8ZPE8$QbGBvY9r)(2{Gnj?n7?uTN&-nfv^d`^Ly0b{xU zf$@04w!T3bCJ&hCiu&g;q$5&B__lYPC=*5ySn6X@+=pFjn+`3_cvt9MPu}@nWujn? z;KT%f#S`*m(OSUXmP!h&W))1F?1^G!;5Y=%JaK_oHKgU_6Gb=JSRIB53;QsX^gUmm z$wiunM6h*t1v=H?$5Pc)p7@QdnYJ5CB*RTr$Em}M0SUn-C_ZQ_ zFZ&=RQcU$6cm|m=;HQyceJ~I!|H%P@dEJ2%J?A*`8&n@71rQKr70jq%=y*&k#GR-^ zSCYVP_z}DS%%#*lDaUb1rnBI~yNu_2aT6#ipU>|ku%^>`(6HD@;m3Qwb2`G)ZY;2x zVVPYk6+qQFL5oD}4&-%Qu0k=Er?lt+gB$=}+JQjn?0R*vy45(3;ZN>Wo=LGJ6k}8a zN|79~*%X#5JggwdgU|zN1<=@(#a)we)wfml(fPR0*Y2+2#C!Kl8m5C6HzD35?>1xy ztGqLB!RWJNk0izF4c#u5<{g?umWstamn=JF{C)g(K|o#Tb001{PH4@w!uF2Ikg}d} zo+9E!Z05y@VT_gNJkYhlW~qqX8`sxYJXPT@{8!&8)D3Q4c!2ZmnWIRsAHsMpD7F49 z0-aifNw&loJcUt(PAB%4zl61jtAF*|ppSimeRAJnlv5Q2k4^^IPH6%<#yzaV$Pqmh z2<5-vbJq)_LI8nUEqBTZcL|3OW;0j$o-?o$N>mqR^3U?X1zko64Lb8W6LYkfp#l5b ztXw(EGkqvstouOSJ;CW;`Hgt+qd$zV{-^&>=vRM7U7t=+x92KNPY{&6KU&;*d9$L1 z@ng^>cqE>>AmZd$2W`)mqoA7`0OF@V_;>m6x##iPt6#)vUGX1&{|9jM=!TCUKkrwa zF73#%$OeTMeg@!Db5 zYw+mJ;yeX#qUHyxdvjN_u_rv9P00rUnTzDk1+3ZzFKNaO69PN^h^$D8B^EU_$#A{bP3^=f>m~GIU_8g!C^HZPu+n^(~D4xV?ctS2&z4nUM9ZS zk%2p_Le&9)>9ERMtpFL-@l2^%cB8Gd$xno8h zPQRIvcNL?lV0aW`k#1Fb&j6U!d&d{Y)C)1QalWRK>zzLxF@&yJr+36-*B>0t&mI!f zpFCm{jw_m~EcdnUltNmFm-z4!xga8m9| z2#_`zik1IAvDS4Tj^|1c+B{w1JP7-97M4z!=4M+tOb3|g#GP8G5R}qq}<9)yuGPZ%j?sW_`57T!LRzB8l zpyj>Ij%)44*>wqPr(Iu#zH%_EBwx0FmjhzVjrtPYyp6st=RT^LGlZ+COw^59?Mn$B zDjSsLRnApW-H+RhH4Gq#6SE)K!Vi%pv4q>b&boU?ae?#qPbc3Q2@9vCEwbC5(~5k_ zFCQghZ_ilyxp*$iq>&{OQ%VDtBi+em32?@B=~BEPo$9=J2hBN~VckP}*Mg#5O0Y9Z zWvv){F5r|7j%D#YqfH0^P!aoV+F-Y!b3&^CxueRRPWD8-bRZ0rR>eZ1Lb4I%G4=#j zg%HS#>NQj}=BJHHv})O2L!xk&#C~@B6feK!B>;^-^B4XWu%5@=Yfsr|8*WX4O%jMe z&mG&qKj%Q-C!E;5=<^9r4)@JT{N$(b;;;EOJb3UBcc1+-SPvZt1-Ahi!sZMUZ3Jqa za`&BM3~G{N{M}f+kM}qOyc56nw6do2Jad*SBNPtC@>r33`8el$%DA!1`QQC_@#f>N!Gm|b1AX@tdw|X)V$Xj9 zO`OcIVKmp>N@t^jlM0!t2kLBERIVbaR`-V1Nw-h7KKcEBS1-TqMz4JFljMdz@{#xB z;d3{5?$JZ+bJO?B|JU;#j_s|@nxQ=M$oVOc0X2B%f3fP6=4rYdmIQJpm%JLSk6dbS zyX+wVRY0o0w0Ml^N%0s=RfebaOMqe zZ*Fitd!3)p*Q`x#G`5E~rnR*J(rj&uQ7BY0VF$`M^ZDxg=K-aLQ0KxIKYoYj`Bi-J zpI&J_e2Q29<`>-=T>Eg*Ml~7YNjpneEZj-}cYgK8xEj{qhKdlXmX0RJJ6Q z)4Zw+hB0z5Z6FcsjbnUp)O&ETC;~f5IvbXC@&l3f4#nx=BXPhnyrj|w?ryvJs_+N@ z(AxoA>(wtj!NZfV?*N=PMwedEj)*3Jm;%Dm0tbTz*%=$$`;0B(?u}c#@b;IAkpB8# z{r}=EFT54E&z|y>_G_;ar4@5xBZC;3RT?4AwdGAcDHPVkFgpLtpC{cp)Ar9W>_9g& z`ngW|=Zi-WB~S)w7zO+aU}P1%VaWN|&#~k!kBrKq0gvVef#%+jIC~sQw1Sk=L6OSd z1*dDDQZDQ~+u=C@T}<|A{}3+Wa!UL(nj9nIybb|Ut@U67z&@W}@Xx!NwY`9fr*(z% zv#0L?YVl04iu1#@oxq$zqU_YvGtQ|s7@-!hg^DIfQ-7Agb%paCSaIgulnoQpP1+*P z9GNsQJwK80b+Im^4BlAFz}ekdcR1dBax3kICr^EU!v?u1OpP#=RY&4J@sfb2gZ$0i zB%BX&drteSGcw|bz>;G{56>U zpuo0T0~z@sgFW`B4*ch(83P{NI!z&tV=s`6Z95|f<1Ju1F?dkNT2madeRkqOutx*J zItqI$jFG!qn7#;)`fuVb0eCx|El|?L43Sy+TT`}7{7u^wL-`vbUx;!S`Pt6oh>T6= zZ<&R1o@9r}Zwzi5S^lhA?7S!D?4vI9h8wYU)Q`i+UG7_AjZy$~nv}gm^h7~C?=2g4 zLYw8CuL-rmT~;LIeiRsIdtg{#gCrN>{_t1;PY57X9v(5IUQB56HvOCG@?%gd7r@2< zd0~FIoi8_LQlRHKO4$?JdC{c{k;P$>fZ3tNZY*?03e4aM_dXJV@q)0lrubCySd zFe-JIjh7M=)67LE`Fvlm%u$%)?o20XV~1%vmk-Shmm&cVc?Z=NEl$w&-uD1Kh|u=U7CQm6Ta&OX1ZiMyK|8z=HY~UJEm2AVXC{mu26!!hZVfN zJL4O^;Tv&xzHQyT$>+ZDTX47UWNB?BX_xH!e@t*gnb|qw2>|WJ?mi+yal0#V2JywTQDSs(J&xb^WjYxA5kF z{%7^%XZ|@(zv0`u&pQPx;7!^F2_la*l)_G>%L4}Zo^H(BCt^t;k3Q70pz-c});itb zbiMfbANV`{{G%&;{*#{<^t3$XNiqI=DOX8NjzZ5`Ea0X zh=0VxT!B298zfJN%)}z2610+61&xl!O_l=Ma^`MBq&unB^}QZq zJrLT&l1=!d@*opq1RUZ!2;Rs6r$I2qr7*zNjfO_#)k?uW((XEtM_%GHpBx8~9Br z%QV^SPEpHljTUA~xQsA3CL{>?rZU((UHF8Ma|-mlSk)Br^4;v5(g|`y@Nn_cOqzln zvZ1S0O)k=y0+9&)FX)u`lo~8ked$R1GgClu9jUf7%3k~T>@;Bv;i7a){V>}n4x&Sy zyg3aFt3OSfgh+z@aWdfIeFE?wq3yCLpAL>iw=(+18VgV%gbt%_Wnyq4O>@!fHq zz~L<*4(`E$iq+_q`YHQ%03D+k$Y)#eL-Ox;J(&s>gm5f2l1X;w1zoN=8af#XM5HMQ z>-h4@-glN)8*y%2Ukc)h;g_!f*ftqZtx=F3g^Pnuy7|2zoDZf*mo$lSNkt2i2IQZDqg-#cGqNdFXXm1H<3Wjs30eljaX^K=4^mwlj97Z$@@`EbztGbi8~{rKMj zF8q#8d46B{nICjg*7l|P!vr?p<1!erV|hNG8837?tF)BbCR6^4V+Sh&RTETUU0vrj zc7hMu3V$%O+lDiAg*GZ#zl9W?aZJ^PeWojzn9Pti0m70E0nrdGhx9O{(u`_$Ym9FE zX0>NK|aMN=bWKMoInpw zoAHgmhT-sq>?CGxQO6ogmRVcxF++jtFsw{zIMMaQFV)tBhcYCYnAHSfV{n>v8 zg8SunzYTqRci}aB7g!5mRn&O76TU>viMu>_&pej`uCBLUeGLM2^V@%W-+t;dcGH)K zHTJr&--6s8?O3-mMJMSka}H1#UlQY>+%%IL8o9rp-a0aBX{vu*3CK zb~w1x+{Z8|{L7-*V(h>jrd)F%)Ji%lIVT`?=9c%}xv#$VYk77146pr1|2N)z517JCCPbe$P&14?e8#glW~F!{!r?hb1JkPPS?ukEmM7WTS+P**qC_{8`9Z9O^_ zU-|r3aNBRzM}FYL`{DIN@#eocN*wYs%uIOPBC|aemI-9AqZLivc1V?&xn`av2gpO z_(%WHYruP(H;-G|8A?OJelpfMbbI}pvFK!VWz>L3kHCAyWwS1m+_51%Iw$`34g`tZ za)(G6_^}Imz=1_hc?d*|5|oPA{<3b(gC!~F+P#5FXof0{5+lRn$}hG{y|f;HZ+`L? zSZDk@|Gme=>zikG$I>~tuN#pr4><4qW3@-W#!375{HpF02IqYS9>1&p$&dfo-aPBA z?|8e;x6ceyMuFx6JK!WpFzSa&0tyGMF0v}9al;xVpG!lGqIU_xkF0p|k=+|ap|WJd z?uD5&{adI1Uol?IVbL$xTuc!hpW6HDL_KglR+SMxV`88$$R? zuJU(+jLS-jHFG|+7`rCIrktIBE{_!FCDl}oo4v?mTa|YkdeA`9Q;6GxS~g1>XY%9! zVKfgI1G9_TC`>Ox1z;#xCKv9rP#OP|jFqP`(#aiOX+S6ya438Kv>MXv3I+1qKvOUc zd1o$gKClTta|4_PlOOxUqGjZTp(&zra8=U~jZ55_<`$2_ z4(@OyD7nz}pvjn}yTRB;0S>MM)y)5>_wjQZ_CgYP$k-2Ae$D8t^R$NO7!<^nnvbxm zY=`)DBaL}~$D~0|bCFiK3aBpV9AbFtzFKKMxZdC>8+7>&gg0ud z^WZCwVc46T%Dkj>|H6P+Ub0gp=UB)^>~s@mR^3Hfik^dM#KD+i4jlU+2Ik=%9sx|& zNd8b5Je!#X>!U%Q4QeOHC~SS`IOwu7!D`-gUhcu|rEqQy1H;S60PoLV zD9ogePTvK5w2QAY_;98VN!0KvTNfXVhf_5FCz`VDUj{iF-aA`58-a}t;g2{&; zVNS3mfRiAb0tN}>MNa+V2kNfJIByC7PT8f~=2ee})RANB?DN+|sSS=yEYUkq8{SY` z-P{v7($T?jf95#$v{z;(BWcT{IGU#jyW^e$6v9aMo=MrA`D=`e7A_bu(YI`ILqEbk zezK+r^}ZY~^bATblOK`5gH2yLj~tzpT!m`;2&PfYrr>mc%sI83413d@2M^+5tNS+ohA> zzpGkqy!1U{MqBhgTrGdTgh_cEAn{}Pce5t$Hv4*c4wfa&zB&Zbx!@qp*gGN8JQuWl zuGKMngC8XbzVI7<9r{1`<2dg(p>O(S;*&QpYwB2JRZBEr=`+=ybYW){jN^7@P@x$M zbL{ni@N&b9y;~<>J$&u~KKB0a(sR$h#IL;m8u!}#=tn-Fo5zo?*7Z`|om-U0WJy39 zt=aaQl}-?MIy{GZ4*uTG_C;v=!@3m3RaKcmS?PF*1iPr+5mE7S)Pq?B7Z44`tr~~F zOVverpokXRizp3|!Xq3N7JxPTq>%0Nv3>KMOmdezCv26Fgk>W~4NwYTSMr=du`Zu4 zD|c+5zVPVL1OC7deh7O%#T!q)LiN-B_}~AVxIQh`^$j*Rwq;&WL#y^Z+%m;ZKr5Ha zCPCBjLW08(=u{V1VV!{0jRN`H`=r0{!G$Lu10MdW$NTQ-8SeJFEU^XPcyM3}_@l5S z16bO`nQ!LtR4;c5l6nUxw`CZOxRIE(nD;^ub?g#0$i*<^MS$n{wH9`n{wNStMb178 z8>=OuiaRx6!?jFiiBr*%T*ccv2(MEA&cFQvaK6QpH@ntVvqN5T`T7Yxo=zINWauJQ zsp2_U5ge^FQ2OqS7r*gW;=K3Lvp4az?|l!SK7F&SzDhCMW3a&k11+o+E%XK%Zbw*c z?44gn5h1hez70@YO<=L*&tNa8d^qR6C>FHfG15VvZ7+1>s1M{jMrMO4wzKiX8-HT* z^0OE}igF|}@i}*@fDo?9c-`>g0>cey4WX6|S^h{Gpo>k?rbjMpm{X4mVS>2fcuT;T z_L+g8JJiiR>N2W3;H+?Ow*yv$mfjN-&jgj!mxkit5d(oE<_AADKvHY!50Fg>?5QEN zIN|#!n4D^QNFNB>goe35_x@ur?6G9ewMS{DsaX3oILDOSQ(_wzx80r! z18GnUv>4AAA{}tYM^_M0O6Jt~!Rcg01tMiP^hjgS>VTck<-g?-xoPxyX-SzJ$x9yc zmQ~L0sig=V7}|=mL8L21ZsKa1L&cg67AawOekBKe9&pS5A+^?tIrABdX%j09PVO;# z1~U$tx@>U1;G%W9=Ldi{%WylOqOG zAa=%96C-=n0)^7hE(aCvA29b$n7(tTp333f7ACnCUUtibj(O93-E>NE0GO-@x!kUf zOoA{Al#f}#$$=N?7Tud8OR$LpDm)$T!#o}U!JjTTpaTdwY1YNDVg5|@wA(NRMsNvI zW#{|V!R!b=l;V`$mUEnvFB4LO|AWXR7hL3^u*u{(3t`acPPrew14V|Frz$~~FCIj| zj5AnH>B`p~u*kY{kxG4}O(fB%8#6CkJtPmnn4XOxU(%%?-`s%)yz{`npah(^fa2vj zkS39jKo`0ET!x-@u)k1=ZQU$p6-C?}P7h=c7z^z`7MH{8MEPoS)C%L{qVaQRnVy|t$Fg{2Iw9Mn zp}PDntbFdvcpfwVINw_^(NoE9<%Y3IvW1(QhxL&k{IFEQ(>Gr`op{%u`0)4QbajR0 z9+&8A;@05A_qJEL@5#bg)q=8cZKri$g_g3v5)!vm!qr0G32%GPiFI>>fBW~p3cTm~ z^ziM(`I%#BpVy2xIR12|_1#`~E#s__#nADS5NYrld9Jsr5j+uS>~`X@(X35$R|(Yz zS>S^aW37ldakz@5LZ0E@VNw(-JSUsOZ-(1$+E$Irc> zyX_oSB`;=6mAZ;3oJfrbq@is`9Oz0@Ai2Ic#d*s2OR8Mc@)1dV+HEYAza*W{CRExn zBmPK|=TxnSTy)Q>-USU!%&v+KxNVvLv$=FCq!PrJ){^hO<33Fk)E zxHX1L5wH{uY)xuo_DuSl^pGHaUv)IwQtV|_vU0*=7ch)oI3#%oyIb$BOC~E!!zq~k zsI%#DMD=m}4u7Jde@gevC?zX_2D$WQ+}EE)n3_u(4*H;XZTc z82--03p{Gj4B@(bR#J+lnWQKOQk(f;qf>7U$9#~-v?oo@u1A)bo+5)+5aN993a7So zA~E^q@9LkwGwx1=7Bl`B?}4Zc#>?vf5Qk?Isna>%%VRGi;IWyml27P?URtegwU|d?bkxK;9$W2n9aq=! z8KlaEjX+0m*IM|ihIPTr(IGNY<`?I8mD!*Y;Mw~WLQ|HOUxZnx zaXmDsn9c}NSR5r;4%R_hq^h26nl**b6wG1e2xGqzkC`syJNfWbiW?pQGoT5l>I2xA zr0@(0^MOXvJ*g?SWWQ9!kN_}}IE%>z*`wIsErfmB#NZJimESSK~!b_+kfrz;qm4;r>I9bbZ#FgfD+ArC3 z43T#QSXZKtt%CizNzY)On?P-W?wO`zkl{+dYL-V7yqeA`dgnfOPp0F{lcG)mwcSDH z>15^;J|6{m93fgTEd4u@Cf z`S(b;r=;p6YK~Wj0=zTdnOmZf0tQ*3cUodKF=7a`g=1u{bj0y-OfI{rJ8msu)hQQH zz>#4JyG3mtc|sy|_75h7O?ezjIKYJu#PJt)*M-h36)H6NL*_Nsf%^tfsv+Mi-tfQt%ijgzx*l9zW1r7mHt0&VVHPfJ{&;k(19$S~m*F<8di=E5wHx?3Vpk^2jVW~7;Fb9r=15{WzjKa08{&J?w zY;{K)FbdciofU{WXAq*0222PM<{`$M%Ks>FlVwah=6>aP;zqN(_Y2c3ok8e}y3N#! ze-CS7mPr?jQ4F?3`R5|o$Zx}svj#~Zq{|QymxicNnIK#k#feTn%SYw11|R1g)6d7f z(tPIA;1@p@s|EZwW{hoOHgRbrD|OgrVp3WpnE0+~F;7jI`?EX9W#SjV%>_m_zl)Jow#Vd2sgLeA$Prej7flw&0#l3lAVH1s40Avf_K>dFe>7u-~f^j5>$Zz z3F-i=W)ztZjpHQ`a`4Pb)`R$2V2VGWFwXDur04gx8rIMkOFZF>V7)l=NKQ36MN;LB3NCsj}bU_&o#s zl0F%bkshu2mWpjbW3@T^sc%|^SvDI=B=3^GJVflRTb@^IH`Y&I=82SlYk`|^*1#aMc{4V36q7!eownt;G zVt(hdQ>mMIIrCA2iaBehz)P+*>?}K!jRTv&bZmQP8$g1ti$>FWYdc`azQONz1I@D& ze37*aC0X6L2rk!=JM6uU_&n>UZuCYR1W2@}$CrofkEqikw1vG}W9Zl!=fPAR$wwZy zE>U%;{S90Y!TYtnP@HsL6&0h$G&yT7^Fq<7eX;cHe22Hb{7!xOmCq7r zy!DrV6VG?I2JX4TU5y^pvJHQ>wJaiF1yKx%%u(l7P^jyLe(epgO6%Kyv(CTpN$@m4 zgo66GZ4O1tbMFq!KH74-f4)qOKf>tJe!^ zr@xG=#}A_15`fJ(PEFNjGt!vBb!7Oq2KD2L>q7fo2|A6$VRMn_C*;dt1NCz^{M~=x z%eZ?B@bG2o{50=67`25_rh_E2p4KLJoB~q5n=F?Vb+T!eGe}rN$BWR+w3tD0M|W(} z8OPkVY9`~umlG(jIk6W8^EHFJYIV*HG5JXo2AFph38!~-6QHUI)YZb1FMAE#ANe0V z2fq5IbOyK*xl)iRM24f8=unj+U9`%qD@r0xOO@PbT-}hkd8z-}cm1_ZKrcT3Nayn{ z&phiGpP(}^I_M^|{9)ukQr*&SvZH1cI?m*g<8k3si#s*nQ53qh8I`t48Wa3RT3v#) zwXOVc+^8{JqsbZRQuqZ2WhM^vnoq;^6l9%RC$NNSCCD-tL;+Z!Xfsp$$I$Dm)#1Q3 zKM$AV-|gup9vf`+&=(kwEJdp}5@K zaX?a1jN=m2X=Zf+8`3n93GXZoUYkr849$!atELVxjv4~qIYGW0c{-ZnX0W(oEmw?3 zjL)dFF^0w%CIOm|maAf8zBQFG(vST=`2K7n70p=JSt|qA>{@Bf>k9Byb6D z%zS1|Ai8%KDoTis_Ck@TDCCEWxpr4bA$8g^!#Nzo`caB8-gNvG7RpKj$7+8cs=(@l z>~UP&#(!aAhR8S=E`>XrypzLw44Hw^TNB*VFLM`O@XR<=0nlYJSeY7&`>9tcIe@Z& z1BH)?9)Ov3PY$7H06eMYadK$vDm3Gk>mW4{XoY-=1lqC=0lPD+lXGdR+)^%6d?6=D zz(uAd@vu5A&i5#heYpc*L2W2ZH7Sp z_MhNRApeqU`53jI;pTXmb8R$;rSXD2Z$r1L!onDl09fQ&S^Oixt@?#pUX!#^mic`& zPRqAs3|Z`f47Ar6Cvcs>aiv@>u1I16D2BuW5)b{E!>b9c(a5&zue{H0fz?N+OrdC- z(4xJ7$3#gcqP!@M((W_+uJPdd0sq=x`Kti9-u2G6_CC9%*4@m?`AaJ)h8I?XM!tyx zy0VRqM`%Si>QumIKZknHH}LfKcXEI3b6}lxH0STl#*sjKkS0ZqMWL#)eq*|D%hr`# z^K8c#Va#)KN#mvADc%?-P8Zio32%5y%hwEbK(We7OJ>v}Wj3P&tu|V$6s`0{g>51* zMI;j&uz7)((!j$7Yv}x)0imgfPaId zA@kex6Vp3^cGt~=8#J!_hky8k`1arU+wedCU;Hom)qnQ>#xAUf56pAn=ODbn~08(Rc2;0mMCA z>eY&Uf&FgsAB99KxgjL25OBD+r@`qt*33G$rd{lJ;k>DA4Cn#Kj&nqDe)W|7n3?Hn zx$7o4S(HYys-suTkewAQk>-edG>+F?Af5of|9AOkz4~V1bj>J$!boQwr>j~5@|YUg zX`q!47u|Ed% zgsc=6gMUIbk`EkO+k&Pj;tqeS;CUbXOZ&=&TZ+JdLH|knTUEeU5m;5Q)4!GJZnjkp zy+GP%vpMY71wAvK0Km!K5|FtTMBSJKJjEb~We#9a%NwRr)4BpY(sp69L@9iljdkx35}8 z4hWO@ef)c&al!^{1PrSn0Kw+?ZaU0nI!_lcvADwUPTq0L0m;7AAvBV>HA>3dg`AV+$~PFH;J6)w>Nh*Vm&<{Hy$6CI;sSZe)Z&W z%qa;Gbo>K9=V{sx8!+Z$u5rs3v6y5{oZ%Tfz&-9#&$F~Fux8dEUs{C?P6sJ$S00Le zHX(W~6Vti%QlLh|GUc9292h(^q&1SLm>~^J794n2ULxQ@mt zQ$V`|bCNESb&g~?L91-Mz)9-36uvH&9ca1>IL0XEB^Ej+PGE}n{JUwH90fQz?XSV& z3FsyWm~KFK;UIWwLasYKJ;`_eeb@2&Rqo(3H`8;B3FP8MUaC=4_(Ez-Suj&E<{Y_Um@X+)8|vgDp0;>>dtyAJYRgWY>O!20mzGw>*ky!MD_EN~Ze z@`bc2z<)uJ*g83Fzx(V%DJ`JSwQuhpuTz02ZYf3|@u%2#1+ZA9CL^IOwA4HA%!~)Q z6@qI3cap`-J)b9XY?;yqu(SbeBTT{pCGCdYjm`W#7j-E@I)K~C3jZ0BihrsK=T^KW zN*!8ewlYjLAf4SQ_W7f_1FEf!mA3DQ$kqy>f+Unfz=qDuAm}wr<1gT^YHx!8HmVjD zJ*V0^4CAa@EV6*Bn`^az@BFKOPgoDo>$=KSng}=ijRnH?0!J^{GmrA&2%+h#<^U%M zeY)wp&;C3f{QBRheZIx*SHB9am6j1M1j*nai8xoD#eluU!TedTb2KQM)iEQ*?y&O6 zS(y8J&aXHuW7EYk2q{1tCxoE0;|@CKvVbG5fYCukX`pP$@Eu(STIIV%3AKQF@&xq_ zUyqw#`~+V4p6})9SA8o=w+5AGCz^F`TM@Kb`3m#aDs_eo!rY#u@&YJ;{?| z({uks`TG>X?IH&%?1rvb*gM>Tj2RYBfw<0v1*HR1AwtPI5y*SSkX0(1^qQ6-7!yi! zyDrdR>1;+ZT!WP?Jl?>~%~jpr-RYAb|0(?0KlPvDTfhCc;N#!-H_>%MpB8R)$ILZj zlxb8SE0~IL&Coffy?|ujbRS#6i_Hy~&rxjMJ!!o2JtqQJ^@snxH;5OC{b)hw?U~|5 z=;Zgccyf$cL)hCk&8CRTa)@FuxQlxgYGsUkQh9F91s|j#k%YFRydiLm?*S^NV0Bz~ z$`gdHL=2vcU%P;HEc-HG-UEnDSRMJaeP4Mctn0@9XJ5hB{kG>pG{5x8*TAdf4tv9p z*}O6;Q0Hbs8Hd6WdA8cHGlruEdJ}Jc^$ooIjbBFq`23eXqqn`|-MGzw-nr2{t&m}+ zIeS88=GToGJ+x}m}5?=@Y(L8d+ND=ug zd$6s%A`pbF`rU@52%SAdq0$4XakcJYQYLHfKN z?NrTY0YubVxZT3-Zg6?6WJm*zs#S{T29FEvY^upd#^Rmp{>YQosO>WW<};g>)sFoW^oOUlEFVa0;q3>Jj7nSQ-L#dg{@qJHM{b;^- z6lNF;!$Z>JxN;B=K(R1{{wVTctJwg8_(P~N+6@x{b0&km(Drsp$nf)XLh%Px?U+N@ z;4e@q5+mdhbkvi?QEirgdDXC&I=;}rPD0SiK5C3C!~f|Ffm{Os^3Yd)f59%!u>1#o z9Lz+S6d?4GuAKh@I%MF|Zyf}e2bNUcbQPN;tejgC9 z?kJZ}o7-HjINhbr^NDdoa&DM)UV`FujAG1%6uD-PD(oJPhTfQlOcyGgl;unzBXg?2 zbamK=+k;Jhj8cyu)Om+h>D3m{TAA$YX+>blis|r#Q%+Er0&5Pw13}i^9;eGmSR}9Q zEAFbnqq{jLkQ9kBnqStsuA`nxY^?<^y+Ro|RIt1Yw!*$UG~tj@P&2MZjgY7r?Ax zJBlmP!Xc<>cGUL>R4sZLPR+YRG_XeI7%znUlc;AZzFc%Fj%cHZ7Tvs8QeiB^gN zgO|&U+dLlYxkpyhA^P&t>q@*mlee$y=6C&0K7I8ykE6(-!E(X;m;(#~cE!yNsWCT` zT;Nn9Rhz`+hNn6AK?a3#gN-*GRSa6nYvzVHO0YE$t$93t&M=%%X-4J_!Zm$mD^&9M zEvGa2)aRZ<4R+)1wD8=o{T96Xr~eGJ&p5sFZP1&y2os8uC|(lXHvEr!aK}f|5qQWS zgL4MpB%cW2sqy&5m+^}~_Rod=djI0bf2yC{zQLdW*uT`{N6+DOa(A{jGb4TQ-`Za7 z#p(@?Nm6f}^Sj+12hKZLIOnis0=BW^B){Da@R7Joh~+={HZK2fFRTuj$5iT@!y8L( zTb5_j!IR<>3XcqI>F{?^qZd$`^_osnG~b9(N3~juw$)QhY+{`j*7CiSwghNayB+ui zLa*q%Xo9&-N^@kOP+oidPv~LefNcN0=N~@C&wb)!c>T@S@FO4n9u?003m^Ijt{y$a zxn+{ie|%a~?vKO}b|d;~EhGQ=V@j;6PQi=ZQ*TK>@5ashUgG5iO+3PUbvUPeyy!#!s&#y^WwVcpAN960< z$KyYqFK8~mLG-F%&KMrJBGY~Xc6RfyMpkK-vYc&{_%6s~$o9flZfj~XCy=Y)2@Lbe8* z0AGE-E~ z?*olJ{Vx#`*uQ5T?*M7JPvPw!TvV{vMO}bErs+ZtiDPnyR@x+vGUeg{wUT$em~ozi ze}-sPfyrd$d%HQDwRI_Og>jx!>Q)EKKF&nXj&K%^VbysAtfN^;_bsbw;oJ^9n9W0S3f3582&OgifJgD%f-#&#MUjd`e=t$d1$afqe{)l1=J;VA0xKro>TqpGF zui{iEt>5$;#b5X|aCMb@GbDm(-yuNTdj0&?BsMN!dGu6>#2CxTf#naXin_r+HLNy$ z8~sew!0xTlKBgke`E3}=mX||!0gT0WQrw6#r^A5YqYUHuEbr-oCbmDjMZNtUU44tM z{=fem)_cAgy4w@&JniJP-8-N37=0qtK4E=;LM1|a)k<71A;9LY zof1ydZJA&_fG-90#k{ZWwy`c<2IndF02fN-k+4Q@`}}q1;^l`_WWjgQd38RxgxSAs z;%?9;#A1fYvPzgO^*OTlhE!zR{sRQK39SijJUn`&MkfFmXgPLURnT5@O|d*+>AYw) z7N39qMg8y(em^#^_=Dg7w~1$;!k0hyWjy!%a}!5{q(+zR*rwsZB&Sn*Zr~+z*GN;|Kk_5-*v*eI-~B^9apnu!f-O)lH&@Ywo86V8)GQ9G6UhW zl<(J(_FJNED!r(~tMa^pg`i^$jSJTEC&%Ao zMp1vM!gcI{ynG6UK>01uP>j#`c{%VZ}4UzdpliDk!e8#@h4K8CmETQb= zP!z-5Rq9K^u|&0VPfdEOK-8vxE?p?h))A*NSlO4W;D_&_Qvr%k$JCUd!6;NZ%e#T1 zM{<>YFq8>W&UfBYgLKu8-eqoF=A$g-9{?+)@p!1mc=$b`&|1b@OseFT%VebpoG?*y zq^IiGvw3931T3>gLYdEJQ2IA~Xd+_4jb4sJL#Zs0gV9pW(l!&Fs3k-1N)1){2SNwFN)Mncwu<(w19@}1IMf!fhp|=h@cGs;Q5#x z!5l9pbkm*vV~(C-tMa8+9u~N9xJZVERSIFh-3+6QgiCgsM&2DJ&d$5c;k`GR9B+i7 zxiVsKL^A`{;&ouyVsV3;ph{K1sppz{RGcRb&>XTAsf}jT7xRh?Y$(e^9ViT263A$| za4C5+&lzaqj?REX?7)C-e!fU-3&tUNQp|tC@4SKvOe)zE++$c_)cw9Z8p=i&I@B+Z z^BrJ37j)`$lvtw^Gk8e()mgpD>mY0N~lPH}H;^-lng<@&yp+=id1?-0kfvl!d++_pzB1-CwurZT>qMHuDk#Gud1JZ75v6u2JBnp$03m&g;89_Y1ikQL}dlQ zL`XM?|tj^E9H{7-%eR}XLKJ<_z^A-kE0Ra)(U zGr&d*9G8rB4>+xftxiA7((M9loF}dX=RQCb+zgcxfCWq0{i`-8MSW!AEnJKL{fyyo zLSk_hfu23jgUUQ9&lNowEq^uHC5W+|Wm!qG!IAJv>CWK9gFNVVk${P+j3 z_iCyTmEpnGn6) z(!@rY55?et;5pLT1N$O6CbvzfY;HAQ$A4SFc)iN`@aY5mTfgHuq5Jgg8CYxOupSK% zH{L_89g4g(8PqamjrlE#L}3HfjfXGkM}G99q{Qc+e^KY#jT1v%txl=h0ZagTVU=TA zdNRHqb236K#EkEPc&=eYevKb*N zd1Z8qm!xx`T}--6qec+0XekwVidl(>C|-`(kz5iogA}zgvN;5%N5K3XIUk;g3aDV; zqcql&!x{vZ2{8yZITf9M+8EgV;?#|KQE~{ml&HZk@#CU2Xd%>rRu=RKP+44tS*t^= zbTrdcr-3kGTcungpo)IxYs7ttIX$Jo&U)TyO{cNa!RrWqx0OP}quES+l09tJ0nCAQ z!bK$%Ypb>p1Nb-q{l& zJGF}c`#RKU3C$tKt#r{e+a}_TFwuY8y`R)?o%27WiN{%73!3EdGb|JJ8(21r^0N+J zOqpSIYnr#?BQZT|fBp@xQ!+l>d9Za9KPh7{CLEa3FyKEIYGyx9(lHm!nH}o(u3(0%yrt?B;E z1B^>0rT`w*QVtdOHfUikO#b~*Bo9bcXSQV;Hp3A4&#f>Y$81*2b>>r;OR2dt7_*p? z0WcSUco?O7joF#nlL+Qg?_sX;J4F9n*0G{bm9-y-5+m=a=R#Q2HqOoNT6$j)24E;s zekCw1V3|Y?_yiCcj4ugM+oKO-TH$x$&#C1?Rofr1k3b;jyUs>(t4`XpuKpL2xWVoa z5AJeVI@PVip?GQrV|`95#BKwVoZMbj^}M3PTv{sgU(k3R1JUB4aFxp|$jikYq}uvE zwY=`uccz`Lgl=1CnGa|LjK~1oXSmU_Z7H$R#O!zw<`TJiQH6%w*kQMK0D=*>P3Un! z4LK>qD2qMZdAsm7(?Fm1vuk-JN*AoAr$93r4ywp~Krx62>s0ikZbPZ%pXg4G z=zlHrD__9%ulWtS)m7uk>-kJMnZ2F61Z?;@_}jH?a7VKbHsCO1aYaQH(3IGhDC@>4(P6qlfs# zpZIC;e2b5M^dI1>PrisJPoCiF%1ha3i9f{cDF-%mryQ9Tq4bVRIB-!L2$_m7&|l-f z6VP{;8YsEI`@b1rJqfD-oLoc!qE^6}4gV5)01;;&e5e{bW?Y@P&c)0eCzqWeG|)!h znElS;jEXV9BSVk{>}`LPvYBLpOh65nN9-bNC%lx{}&zoE|*D8?U~G*Pna|-}~Kv8)w|%(?9V~>h$2+z*YszlrD^=@q3R*h;7XZ zq3Rhm>X5%Z9Wx^=6^Pp>jkkQ`72e#yPk!eu>Q`TD-`xe9T8x1?hrTOW+Tg}5wmZR? zPTVwvGKPnZF;YB0Z-Aeq))1q0c41-CP>|6wwsW+Ig}q$PUce(UTYiqNt&o69Wc?}z zXoujZfqdkimCB?DeC8Iv;yX?Rgs;4E*0lvJNfZHg4YGGYXPQh_BN*5)cK%JQ&V8=Z z`RQHVyzT4P)7QVMb8o!sYu<(1+h;LQ?vN#bB?F@#7_S%C-xezojNZKG*a57_gu7Ag zJ$H@*j$zVvz5>!o?K7q_nY%Hynsd$kZ~jQF5e8riUqF68=k{hlw96$azurC<*cpk{ z0zJJ7OQg?&a1uxKz@r@l<268XivQP&(M()Eq%UH?Wx1EqYZaQOUIfx;rcck*pz-F@ubQexQ zbEMlqg+MUVwY#E)@ip|cg>zSdf~Rs6+S>($$JQXk01Cv(&?6sv#$051r~vHt-oulh zit)sSC8n1%yOZO-~)hugR}Rw>a1hn9oU|Eel%2;m?-qoZ7&}?97%I=r5pq zHBKv}fD7}LM%|@{WlYy}ZNr3djVb||MJF)IaNmKXEq2BdOak9)bDCg)E@P$6qkzUw zB&4A$HgUrrr?Oa^zP(!lqFR#-hhckAF9`7?7TCwCxH(;CHG9y#w#X>&RXm7wD#&xU;= z2r3{gtQhH?HC=KN_qsB9 zK7`pR_^-Q37k1?yR7+4ee)c524o366SQl0-q41o8=@;y0Jb(*=CDeK1^8_kvsxM*w z`O1f*IXW@{M!;FtGp8>;#Re=LJ4i^({9tG{tQfojQCG}7d$7Rx3fSFL2Xp8}p1_P# z^^_FOZDz`rCG*>dHO2v2iTlG$WsMMGjm;XFBQx(`0)#1 zH5P1M;7W1H9h{^=njSIdK}L~X63ag5M8sw{=26b_@09YdHPJ-$=dwMhTuX&(ZKjRhcZp zMr%mBRUO2yNk)EJX}lCvs;z+Lgie$Vgqkca<<26j3+=kQoHH!EqV)tw`|@5)qZSTX zYu>ph_mulKg(U;&WVt7EKf6dg+o*5;ChVX3Nxc5kKSsRoTYzVGn9S1{80mdt*==l{ zjWeRloB}2^Feb9S0=NSX>U51~Pw#-w|D^su-}&dOc*0Nq_>bZG;SKf{I*uRa!i!k> z{fR`<7Sz}=qx7@P+r`A=#JGuC1vbh1}0>I zCpY%0X8W3RUAz5h(6D0fl~|P(Mx)y5&OlSu(Iu%V+?ODxz~xA`16=oXZuhs zU@J=q<)}KmF|@($Akk$^!qZ~!JG}Uww?Pfu-M+!MzVwc|yFL3ei`>Kzl0G>DBwJ8f zDMJW~BiM{RPR!YaKTA1TlNlhZC^yO+qG4izwKS?6q)_FAwz=5O6OLtSJL#{|Fg>$| z5dZ^?Y@48lcI*+0>7Lum3 za|Xh)&AwKOno+_?*tCg>Rvp$UT{T!!iHE=v&S;Yf&Uzu9R_cHdy~xk6p+5jrh5ry( zvGM{T)#2-K*$(7CKb`v@*xm#kSoqneJt`3 z!J~j*)(~2K<2G+fHWzJq;VwaZ=frsGC>{-2AYeZfHvvqm8=n``(8$N}>gXvET-5o# z)R!Bh`@2@h+bH(PP*Pw6{Ux`OHdh`Qd$+5js;I4d6%!lm3a`S$2 zPg0}EKeMM<41l#9cTxbERG2C`q`^GjDVLN2nM|{DaH-Gyg^bBR3)UOfV&@EHcN1nT zP*IF~F-E+TPOc**&-EV!5B<6Pv@le<`vR!w#j;>f>^n88ZrIIM&&PUNZwkpSqgw1!5%p zj#YkUe*OuQwBDhY!JkXvTr@@1;J@sH2cw`E?3*nlFNDV`jFfzU>Eb8|93&SMQqnSJ zGVd2*%?7CWP+*+D)P#CX98KZso}K4%+Rr3m#nH?fgq>mb!dw<`IZt`=Lg8C@QBCn! zxsdM^w%gP-a@h$~_j0x8fLLC(g85wj`^mC?vW#Mp%TsANCXD7gvAt3BVC&2lx*~$K z%ik9U_lqk{l1Aup0J$dycShFJ3u+h06Yx0TKMto@N01lXbB}$ME(s$Ix6J(Om~~Q4 zSRDUL3nlH9gca%`-$g>D15;%SELPZ4xf3nRE-R}hN=0TCkl=7gxjrT&#v6%AX!6ZW zU~hBnMF^G#Rk+Mno|%Kan$b<&OKgp>*hMRMjNHTuD2I)hI9RR5%L0>1Y9vd7aC^Sf z^}50a`Th@n1X_>e)t}qbxGtuoEwth?P+`|(l~51@^8TYi~lutT{mBT3G7?n zWkpPxuU;O(R(E_gEgO^#)dWi2>3{~&ftvd&T|at+U;LpD;;L@&Z~jmIAU^xqpV3)D z?c}6%C!2NDNgQl#r0humme=*P^BIrJAMlx&TKVi36QY)FCKd`5s~YtDWxy!+-oSP} z5rs~Q2s-kvbVO>@X-w_ue7AK@m&}HpRUyjQ*+$?mWd(9!@uV}8SJTe#E!3&BMRkKG z%CnuF!)f4eA3(Q?s9iwpCC1fXb15rsqO~O(8KrK z;2-_eQ@!~!C*J&uEA6|pL-fA%U&6jQX0c7;t29bGpG{8grS}6^@|uRSyGk{O$5F1- z_cV?RS@#+`**mG3K-C$$lIXdEzz&OX{M`bpIbF~+>=F`Ja=$;bf?-(1v)69L=dSUd zx1G>m-mBd$p|prySSt>oUKiU82J^G=7y)ZWQXFlxeKGHD&v^X83oWpI^oM?^A3eC* zT@|cTX^SJf*+QCkK>IeLJ@RH9FVQEPut!Y_@8FY_GwiHh zebAXHYAOW5)B%QJYG}rZxZI97maEy>rKi9RP2uk?8L@V%8V)`I*c%0tdS&~cfe&)9}9C{qh+N)YVa zL2!s=|0_8sr8w6CCFj1~bHJPYjPavU-Vf-lDXC9kTpaSL+?Nx0nM@k2Gz##J`mj?l z1pB%{SC>;9d^mmRne9&t6=6bgsn(qnhv@VtF3gzD81f0O6Sp67p3cRvn0f5bGK*3hopteXK1!D}+Dq5h_7!q0K_l z0mrKQi8VxmbQ;$RrsXA|8&{;kk&#hg+%*nL-@mwl3(JsL+1fE#+!%?I&vwN*8mJzF zy##|E$-MEpyOr+hDKB_toB&O7$OXpHp@#1gN~g@hAc6VFj6d|5IS4(6jKSiODLDlJumo)YzoyL>_6ZnC z2~wOR0B8+-&LOR=jWZu8ELW;kaufW&?`fFkz z^L05RWZpYdBiq=Bd*Y3W5!*3@ag-%UT1s<55Uo}dTz{^ zUvhbnBb4C@pS$8ZEh{Pv@-HiewpqwSV(vgsl(&8O|0X(#*x1Z&Hd@Vp1|jdhJwC6) zs5C`m5$854aEC=%87g$EJT3`=J|W3gHc?Dbv-1&vbSmnCh!coy;xYo+2KEl>wb}x( zX#d>Jcf9o_lp6oyC;ut<@GT47kR6E$)@)ClgOD~sg5ccedm*DL9oBAuCBE?n_d4Ox zFZ%}UFMSm_S%!E3%oGo87T5qjEzd=w#tbWT%A!2h=#M~5W6Z^VQ7*P>CM~=v-lmYu zA0X59@Kn}B(Ng0S_#$o}t@iu!L~b_qDvMcLQ=a-Zul{YoiaE48wXl=_$2hkPE580ej><-N$ET$KtFl|>e-j@Pk#C% zY~13ff9~Ua@bD3~dPtM z&PcjwD#XSr$ICR_BVBZNt9$1x2p*}?#1Iz-WF(kpbAX+3xuLhDbYN_hbe1HX$!U@0 zO38W5gVC5#u`_m?Jd93_SVbt1PW5HPQ$+lk%OGY)*< zLNe#%8qkwX+-?1LzV%ADJ%dZQx>uw~(Mc~rs&W@@K~?q+>%<899lKN2z!uK88#gDr zKmOehe6+}`b*hD)@uM^0kC#C)Azia}2bE1#;CLi342!pWgQhCH-xS+A?#c{=n_wgD z1ei@o3D&-2O}BmlV(I8!E@yHpODlxq6gLf(r4JKV9sZnq+5i}^2mKz+%tBJaI-m~F z)>ls9q@IMX8QBM>NGgCktJ3oR+TAGk7wJuEuHm_N3p}4addi`i1P~7apMgkBaO4b4 z@oc;(tc>x~V-2dwdf0Vfgj_a%@#K1wfEn$igz8Hd+7Fy&22kZuU7>p3(R7uC@krSr z*a(G)vBHPizN?;PwNa@N1haxFeZDiWJ%g$x`-8-MjHy2gIQ2y+&+aouRy${6Y7S35 zb&5e3nqztgdgGJF2J_Dodq>IZoSkQZY^92NtB!YIX*ilk*FK{{({M5#(8P3~${80N zB%ADo!%mSiX04-Ww|B>797RCX2+lv6SB$vn8$_q3NmHnKuVI=-Qeu+f!}0PlO&9|= zH|19PGnKqTz=IfhiOK^TvWVQ~v_tB643|-Z!1vaJyvButgA=fqF3;vZQEc`4rM~VX ziG&c+(8CJ(lxNA@q0~@TQYUsd0X1d>yCaPWg@nOy@a;cpu&KYsUtv5pDoNZRKiYk^ z4$}n83!|&z3Zr8n8@49EMvE6YXYO@t4%#JXx`c4I!XL(=+pgN4t#sEH$AR;|6UGq4 z?F=R$rho#|ZSmt6lZ~DOnIi0%@fp;ei!_XjUrU=jX|q5@qH5Z9E9ZNd_60`f>uzU%}3^VoR#E;s^9nEAff*-TIw>@Z}AtBwi`ZeS68Ch8QuiFQ?k z%{7Uq1~Nm&K?`%+`ofy>5*U-6+ym%i783w)CwrFcXdn;6MbDl3^bz+1h_5We!YOC1 zFq)tQ0NMkgFCbxp+<7|HzW1o8C%XDzN~h7b(Xrd}%v86CZdF}nKSezxPUw&j<)(tf z0&e@HwNBi!pBU7V~X00Avd8zdd(6ts|4Cp`I_+U0gZD#wkrjPA9_b-E`%R|x0^+B)q( z1FSVT)_25{1pBxmcAUtdcL1-y2Cl0d`@|0jG3R#Ik1)Vi zxzJ?6BZ)Sq+jhC;(eZJw`4Xzu5o0)JHj~^;jOGA$Oq}ATX`#61PF3*qH(fZhthz`7 zfmGBklAYaUc0{<$(k6%O#=~!TFZBNJ$D3dIQa}3o_X1DvuuqO@<>O^ClEUn^+j~F) zz)<0xT9GWU$<>X<9nUlyfAzxi`20Wm`}noL`8VTz@B0n-v7h)+olaM%brMfOg}{tu z!m>RxHY?=y|KI6 z000ZrsQIRyHN>&2zAKdrKx94|ZbJI!Pv`Lju=1WgM9#$0oBG~S~;-~*HzV$nP zN4@i1@7AmT?8CTu{&7qLGN+10bUu#ErndlyTWz=N;mZ}6N`P3{dA?l>CvIGE6EB?j zzyAxLL-Ex0-Ye{$#M1IeN)giyUrZwCg*wHBrFh()Dq=0KWOPbNciCJY3ZAvcU?HW2CIIJ9 zeBD6SbJa+dc_}!E}$sKYGru_j^AlT zRGVlVFDVIJ!ktw`>bf#(xzB)Y1P`B*Vy(Kmg7*0VAmF^o8@~cCp#aX60mtR$CVmo;8CM< zmU&=(F?BQhVwzqvNLw*M22QyQBo7(8f~RI=I*dnR%aBtp^b>w2aT!PS5VgiLmoZKM z9i~R>V&*iAzK}s&+fQLYj-Rz6bM^I&l-y=XVm zxS40I1BWUSAtI^<9)Jhs29eFF)4&qzXf7ut*}g)PvqK;?G9t)GGui%)idsIKZ4-7l?5hN5<=K!^0QXVAq@Bs~9CN}i$oRJ< zD9vQehFZ=i0X2=@!>szbk0a{*=jmko=)`wcv0a*v%n2i%K*#Lc5ju?_lJqJ+WyCJC zx;f5}H?M1&jIJ1gZYz2c7&X{%iq$p6=t^8Yd^9+HxZ*NMmpQIIv0#3b54=gdD*wxl zqt2X8t82(6PWkc^X9z1xCOn@3^qI|;i&HCu{VW}JFe3LjmPgG|nKRqYd4|~I8|X82 z-k!NWQy~*|Ft!QuelgyOjDRW@a9+~+ZsXzA^LqO9D=a{d-}Nr^Z3@n=!wX}`Ffn(i z8{;`;pv(XOS6T(H=IN^|oWJ~KoWAjW*tMWHUWZMuy}==zox$&FY=*3)62sH^61;K_ z8`LHQoDG#^^Qm;{=&b-XJ}@~ph0!-635}Rp4Q-)h`=wF;D9Qim57xZRBkHCFr*{)?oRz5hHxG*Y&eYYHN;#7LM{tV?V z(8dCH@6*GF_{`6I9KfA^;QfCGZ@lp)zWmCoygFT@`<%cdf|`*hPAoo@Rv`w5gmBCp zmbsAX%|NMe0eKRZud&~HI#D5BwYRU(RV|GAq)(HB;P#rMHb?iT!dSZdUMh>h{JqeLq^VDA@?i# zKCaSvtLwpA^)LVFkD;sd!t*b<=8BqZTm`tu)W44N-AwaXTU*^=!((F84K*Iwpw~TE z_0ZcY6ad<#vyCz6BHA~l)#!{s5>TsAwE%dn=YPxuB zGRplB$+HGl$OQnS&+hjYrzr3{Ve8`O1P{~eC_Z%jevgcnmX$&}7-{;gO@Axjx;_5K zGel}T`l8$JRJNU;9MN9CNW~B>Gp`vG7g^91u zn9(B<*b06sSA(%LPFpOYIjPYD?79?o|E~1|C+dxrU z6|;fFR9#}v4*yp?1SSrv?cy{y(j%?GU?8-dUW}1~DGI^r+v?i)zdS+s^thi_l z_Nid}{7g&}EW;L!5Rr+|kpNf$f@2(PzWJQH3Q5z9N?;yZ#&F|$hRr_kdT!5`-Gq?AZk?9!#@n1T30<)0xx-!m>LOa{n;;K{76 z1Jo!E7!g{ho1b6;gK9s6T=f9+obUYC5xrh!hLo3mjPUeI$EHGZjH%nk2Whu_oqX4_^L6$qVGbZ3yW zXH-LA9PiHoqEh67gtx+Wl@@1ZNvY75EdZwkPe<8godBI=L9K;CL1J}a7G&=fM%I+M zRXaY=AKd3r=hcZV!}wJ(n>Ege&QS=HRziC9?p)-)9)w2a>ZFhX53>aS6bF0(kqu%e zKFI!!GJrh8Qg5-NN@%i{Ns^FGBOL=BpiF!^5*h0HhgO@=^6I2*zBELg2`0nl&AC%j zg)MD+$6&rZN5?i@ZrOXmrfZ>+$mSATBUR2jzyj2s1F2Ep0IS88aP!;?{KO|d0RVmT z+%?a*9X{pa#iPNrjbeZLYeqW5z`aD z3n02@xD+)vFlI549QaBz-Z)eSV&_`lOClTFL#-L_H%MfPl%acw^kL}asfImj2Wadw`$?G*xh0^>|Rem z=X-fXggTPV>>Q#$gJVk6c)FO_x(3_94=%28Wn+=z=GFBz|M^efDg<2r=m;UmTjTZ|% z4KU_3g3O7Etx9ms1Ac zLb}e1pIdDW&7wu3yQe7Lc=3HF6@b@XC9ki-_q3oTERbw_ zn>ZG>rcj;npUSG#O6*+(>rCvvWxesO5!l zgt)4(ES*P{NA;liXcQo45!rMs9a$5ptP`{rwNThmUN9_?B(TU;)$O$@7>|W1T$oB= z1&Hsc$~47f;(mew?!#hFeGpip(OE~OXRzi1QAfVo3z|Gra3jf=*B-^5N2@RyQ4Jg| z=p-TZ(amht;e{E>1w`M0=vs3F%}E2oY>a|dR)c#S#>oL`TmdRq1WjO92P+o@wRzn= znol1}O7`L@xZ86XF(%-+Mq>OA+-Pxr^mwidUsvjWLacT%HJG%6<*k6*>Ty&6#%cy? zbY&f!5Khw;6gYrb6X-i53mgr&DXy7fucpI2S3JsQPR-Gd2WeXz^)2V;&|uKA#}!1w3r#(Psmrc4cvo7x0NL(O@FsSS#DP$1Stnr~(=#M8wetWu-7foA2( zp?=tPi2=9}6$N2=X6Qo5gcM+8^y!J^0W0w|^-ul}25U~<&=9&&w#YGxirU0j9a%b) zI!X8TXWbjo22oup{x5t=x=q>S5z@T@X}K{q_f_+d;o{?vGv$e=c^spbd?Ovr_>}bE z1wF&wJ%jh=yf8m9xJ3Sb1+T6I(f*(qvxDPI_#txwOoNKFwFbDJfr@En9x$ZCoo!wP z@-yaz4Y-(22lCJBC`8r~a>yJ$B!Gsope9-SK@C8wk+!xhp|JfoF1o%xMg$H(C}ehD z$AijSi#*AH4^lcjHgs@6z08JDk?mz1qD-VhBG%!~5PD+@aJR<~KyZvKa6VHGiF5%Z za_4a5V@$T6LvMm*IyXMr2#Z+sh`@aJs<`T+kGUMd#dN`OkvSOgpTTsrF^Q_oZg)l> zm;yoxd}jXr9$fd&6^(KOX0@!Q;t5*C?$+T0;NoI8A}!?%zJtq#Uo6jwrDQb}E*J!B zikgZ+kHv@!^31-_D?r4{2XaPhgT2Xn+&wi08a6P(a1_0<7{k4WIBq*d7`z{>qgtR7 zKtda#bB;m!!ZGYiap8Yh)_eIaTNM)-Ti*Gwc}IbKh~m+9a=rv8vxq{ZY*NLT%B&H` zlm>LS)Nv$&YA*)}NFYtjlokrbWwSI*PEf=aPWTw}AR7x=vxm|}l-2giUy)_Pu*B~& z?C#FJ+Bxe%++A~*El}GrVM$;m5w}{>N(d0sIV!5UEf=j2j}>N}qz(L&q=jrCT!ls8 zgCF?;5Io&n-=LogJjF~=3X$h&>?!(&y`AD+ENI1wJ<-Rq?}qN4;Pfkh1@E3bvv{|F z?xxrp!y{%?!}m(iX_Zy~jUWXNFs}euiDSSe7u*`D@X;+`Yz$xvMhele``&3XFbk^c z4IT=VZlMC~CKdVjFf(tNeZ}JGgp+pi}xpe&S2+_}x5uh%bNY^8)VhxBu#&#qI5zdhOXWoUR^V zhp8m*Jvp({De;sxA3g3A3Db~%&F*x6G1>2Yh=$ZWr5FP=Aiy@6A0ENuc(u(cPT?_U6 z4gSOL{OZD~as7DVd`ECk#uUkxA4|UV!i-?moX8Z@J>b1wQ%G z9ad2u2`rOfh+t=C)lgK-bbTx-@sfUK9oRa7IybLhdV4j%+o#X)^4s32yYpQ>KQxKb z4V(yOcVFgbS=ha?t%b#`>6+cy2MCrEXvQ^CQ&A9k-cz8YIIbb;VXuG&waun-)9NmH zl(nLK)d45#AT6D^mS5~Kw*d5RD3yl*DZ0(%Q=|f7WEp}UyJu%hBFf`eA zU~$-6qB{4p*C&{rukVaxPV;?6Ms@#EwEh9g(z9 zfp%sKcjTm&Nlh{ex?YNvO zmtA(bE6cX^(@*Is+=^+fJCCyx43J@6%=rOHfn z6809LjqW0L^uLvq;o1>M=)pPDFvGy2iHC9xlUJJ>WIDh8nhv?p=K*^WHS_v>IBttl zMIlJfshG4Z(G!0r72>%Nm!l02wQ!Hy{1UK7(1;%9bXaiagp>vGN|Ax%EL_3NIRS0( zukpv=Eu7k*qdcgtnBUhgG!k48Mqw-h+eM~WLoQ-Kr;U0m`6>;rT;J3m^N+%)T@q(9 zF4X-f$bCvdh-}swvz=bg{2g(P*FUE&G>L%aWn6RL0IWis97>4sH-Rz3ahOR>>gVhG z%H*^^KNx22$DVUmyDN3bbSr$nL*5%_TD7fHH+c(Wc?SonguNUo8|kxU+f>Otw;ELw zeB}h7j8A6G>R{4oQ1}-Leb$DbNt%ME^kO{m@_AnL{xiPV2M8%JohcI$j9h{T$RM4n zR!yfBBQ4022?$SD8$Rc0W-XW}Uh~gkxv1$3C-}Zt=jbWkUofMvjJ`z=YimlSqa-{F z*Pn0q$_nBfrp?5F7sSXaklCFfJTwm__qQM%xfBejbRKxpV!B>o)E$I4P-z&`!93H+ z4f~0H5Uy}Hs5tH17oBGeBj(T1QpPZ5f#lkUg3FkMjr5#m&Br{Lq6whJeaYbspbAGs zk?)p5Z8)>$dWMk5?j8^jmwe~rL4KP2aSBupZV0R3VC8#i0ILUaJtY5+v#=9vJgkp| zF`HdYp_QkYIC}~z=#XGNo&*?%U>jF9F*<(?*~G4t3d%vsvu_!*d{zTx)(n_j)K1Yo-bi_SZw2-F+LP`x)}l*+&&Z0BP|=X zXvPxC=gY>(_7-vS7t=vNqvmrv?=k_>3dD>6pllJh4G_;dN$@eA@Hvzao?Do2H?9~}R(zXv2LF`Hg zjEoZuAfc3V$dLd}39G85!vE(V{1a>+)Cgf?ZB-w=tGvEI6GdUwC1Guzb?$W-*KiTM z*m&M*+~8mPYrtQ8E->e?aQOec?)YT(hFXQXZ|Ih^3GH^85Yf*_(k#$FiKr8bGeny> zXvEgZPdO%?%83jocX}UN5aLM>guHl!NcRrpN7*5insZcA_Vi1%*Oq73ul*W6{NMjR zxSqH^{RrF*J#mN>MSACx+&tu(n)hWarg1WwP5YsHjvDHI!u942{^EE4J^uP{{Y&`t zTfd5b^3VQ#e*E?$bU&jemYN)qXEJO8bU?$f|?8J86Wf0pRV{~Ga+>(D@Q_Ml+Vw6YAGvq^(OY%uCDC|v-^;(TI+>{l0 z#u=SgIVoVI#wkY}-Cn(Zi|_sZKf{0WZ~bRMKH*3I^q=tco42R&U?|Q6zXBiH2^`bf z$PEo(BU`bl3zkV=*Bm$W_Saw65B|7uf4*`3x}X0sgd+tkrYoD3?)M}3SYgb$fTo5q zN4f!wLNGb2Eya%!ZF|oF!d55>nbpo0VL4fCkI6YGyWAt&!#8m3Ss`eH!wFeW)@Z0r zNx*QC<3vXiYYER^qQJ&){FO`nRl}pcTc?95GjbJz+JJr=hAI@DbFStLa93Fiy*EDk z_8S$*KmU^->Z7-xQ2So(_+yS;ELz>kPBGw~(>x5)Im@at9O%N3Z;l>ls)OyES8b3` zs+hL%#qnnTt0P}I4yfoF?`KMxon0qRr zsHVMJO#;YK1`s@WsX61DX*>n-s<14;G@Vry>Nr}Yayagpyeed1hx-q+*$%(Y-@AIPNe)Oea|EHz?g zcBG6~d#QR4r@3Bw+~2vzG^|r1WbrXwi+r~fuOFS~{!*dKO^;2T$ay-ZP8kksm`3d= zY8Koue4O^yVY+}(8b}YtDX4S-M^}vDW>X(ceQ4hRKW5{E-Z(G2qC_t&o{LhT+Ay$3 z{*T6-cAE6zW1Tp~s^CtjfEeDGFXxMwnuQd$ZiodlCT2i$yjz%!DSZ7PyM`@G{&oEE z?0E^ytnVUmHynT`#VW=va#7Rh97_f4vj4$3E*kk!s{B zX6pUC7E*hI1?SN>SpjqQ{240lbzf{~JROmPr@p8Kp8k#WZJY6ILr1Z$hFj@dzK)a5>9?}%8$9Z!+H7SI+ZE6TtL&+@iG1f5;8^I%& zkYk9nQn&O3h4y@tVUtp=rFE4}PH)l<3)yN|7$MwP0kSop$>8GYIue|-Ft{z|6N3a< zDhV7J-bM&C&T?z`nrA_l5uaed!4|qxe-^t_D7e@_0+*~otvPTnh}e<{Sn*6CMt|wf zqiCz-`9@=U0_C0o6>nNkntSs!I5TYum~ndmaZx6zW_7!>S|hIvIxC^mRBu$nE!J2O zL>06aR*tGm!gWEE0&5GR9h=2fn5MUHcVRuPDggiRAN*s8Pw4xDd|tM{F8NaYGa_0NAw6Ho5>scDsc1W#K=rsW=THmZ|KXN$Wi zq`H9Zp}YeW$OTRpC0%Ee7IE;8lxaxEPL$dis|n*y>Odv!8vAr>7^7%y>ycH6|aX_T0(b1#IKQ05KyD|6yZbO#>ma zE8sh0a7o6DZ;tj^4;UbaS`~Ge4=EYISOsojm$)(sxbRTY%?GstUW@=T7LntR<}VUg z;$WTex&pMke$p_=xs#xB_kq!@q-;){3Q6fWtKFS_EQ~4Wu&Qf0hPy9pOi{JSDsqv- z}9qFn@ zn|E?8hhZLKy#V0(z4+N*TH3hqNB_?I=5Ib>zmw3h+igzi^HK*B# zqh@mvU6Tnb8Qo8Dj{ahjq~!F(Wze~k!`xjre-m7b2B@7@?DAnkYY46kbvcFuDtkyE zFJb&YI$gc{T?1A4PyJR2-*n$zFPx$+m9OuC40c+c+6xG`w8@by_>qEe?~PABeG8!Q zyT9{K@%rf%cDtK9n7c};N=IFN`Amy$qV7Uu$iz|+ zOTj$O+dX4tVP6~5%?D6BF=9%tsfH4BVBaY}qz!200Kc)sUfy!4?EyetWbLeRd(tR6 z@Y!L9nq=a(5C!S1Hb!3I*KkyB%L~1FB59rYI72F@U}eHrdz@-h_O(fVv;lS;hk~h_ zC9J7E5YEQsuE&!LG-IV8o5TcP>lpFcok=2VIRd7B2|)zJm#VVohZs#0%w66ij0`^a zI~;FYOcy-s+varnv#QipzK=>VayX@6vpyMZp0)CZ2BSDu&sboo?8k&aR8Dn~FopIIsc8oK z&VL>f=`1&|{Zmu;$xSMqXRavsz=CIB5&XeCp)?K%9J8&+6XY=}Y^-2{)WV4;eb$1% zpQmZZLvjoe26mcyQO0%j-u^+@IMMOf)6sL6g~IOBl_s~3b)qoNg+@+OWG8kJ$5pV? zu9@*#BLWB09igQiDgAQI-gNMJm^Ttw8=my@S+i5njy#KOvp*=KpRiE}1hJ1PLaljh zIh>VN40sr)up%AmFs@l&*$9G1^n5?crKn~G1E?4WZOto7XFdrojr>_gmhg;2Js$r( z?!K`1!G3I@p+{nbq;w#B+#+Z0`p8<$0k~%~z74an#~2G)oS<2ybG(K0g5eDy;{#hd zHzc@m$HX#?iv2iCZDcZl61RI$AEK&5PKOWS;6Q*NM$!PflS$~|F%V786x9qs$&*sS zN`8>YgDnSHca{Q%ybU-3u+&%*cH6MUw?kj+35zKLG0D$llLYJ*J=>#vUS!LC0+l;- z3ah3BG@t2|AR~=CuFG9tlCV%Y#V#I0dG32< zPX{q>93e(Vc9^431>EUtq-%7Y?g3n497h(6w4FfP0;y#7#d}rTyN&H1t`2zg7PtJz zB|$+;nZyaw-$_0TV-{xRg=ayuQQ9K!#1*S-9bZc2(WC_dT~6ZQ?v7C&1hJK2ybx06 z!Lzow{6_aFe6x1|KKG4Puh6yiz2Ez1z-4pf>V~%8beVK8^rZ(2I;5I?fLy~KvWXri z^l^$8`17BmKKc~vmw$!*#pf|Rm02t^3_Wv|R-%CIdCw$`B_H`htbzw)DrRjI+JHw7 zrkT*_%@<)rTW9Z54-(TpA3*iek;IAcxnAya2^7ojnq$xk$dXx!x-HtZZ(L$No7j!@ zYu^F?@CSJRgWnf_^*6u|?@f%Ho_WNX;Lf;U;!{i8CU;cHbwFAEnWDT!?hQP>d5s_a zqknG`7yizF=I`kTKlnX$nP_t8r_?d3Q#KpVPV}Pmd8)($s>;*NGRZ1X9Wz2M`Y?vJ zQpa;HeoHFkd8bi3*+SACPOFGf)_J=LP`lw|B}4}ehGtpL z9@vx1qav&HqDJcJjNI%Ni>>Ra_{~>8#ee_b_%{SJe)KQCk9zwy9Ww{77v<3Wo7nEi zhOC%_RvhkP?_(SI7Rw5R*RMse^?&?7zb}1EVG*s|zuUZix|PPGZD-P75`@cO&?T0+ zg+hKfd0%CAEejE_f@H=qNq0VN)MXf1HQge+b1I;887xYxAlkys+p_r_oA_W>`AW-V za0pdZ3nh24mvG;NO8PJSOHYMX^^QfP07*c$zr6lTcm#{I#(PN=)F~@Hj-qaYCdeH? zx2V@2yDr5h# zF00!RK|wBTcGWZ@1V73;@q?gRF_G*Atul|wNy({FS~X()shWfk?c|N#B!#`@<92fe zV-Bqp9wu9Mnty>X-fclOnG88f!A8#POd%LOcnI8@LVpi1jRE!G+mJ6_Yeg>-elGAKMd(c8<4pA>O!Xa*BB>?>JB8}~upLf&(Lv%i@sQLRx5z}!|%(=gc3FfqO) zH3f0<1-)4ryICIGtB@9s;r$|pEBnis)7zpmT4&hRQIX`4`pm=px0<}R8}0|pSRs`BW|we^E?th_O&o^R8e}T{?0n|BfFUA;s#D>dFs}zRRKFJ zT!PwJjG4zDQ$LqVep>2j3RqTRgR=zWtn&q8j;RBNxsU;r5o-)QjLKc$rYk$qP@b}= z6ylss-veW4c?_om%Dl|ZDIACEGEiWO(QuiJ=@PT46v>SnUs=F}7gE>-Z?Q~P|747%t4iw)$PlLYN-7~u8grrGj3}> zlIZ0E_kzf4iv#o|1nenPT}0SFAsw7aP!s=874_H{2yis>WYeF}Wr!Zy-EHgdC24iZ z1KPPCp`$3TYzc34uj?F70@+7{uGz|(e6Wjn2xi9F4q0T0zy~71##%4d^n0wV zO$I|ZW25KDi|LvIl#jG>Qqn%uKsx#UPT~>h8-lb@XHC)>AlLe+4IIm?Lh7` z)PL@ajT<{163)pKWFQV;PGgIVC*~3F16Amoc+Llb`E$cY5dCSsc z4U9}M97o#p0hm1K@}uQ(9|U-v-3WBYx4e_KDe!JCWF#nziOB)KHJiyny_;i5xmHdV zsWM-w?QyzCUYm94zCcJ7Bj>CGPQ(#D`}8AF&96WI3i#;TxObClVXdSG#u-{e{pDf! z{8^)~%pSTQQAvQ%=7s(F&!O-BD)8nB{Q5n>Yt(16jn4GVGT=taZn+BxdR^|rQ0Jg} z_b@zGO2Pz`ABrojjENZZs~qP7v;@fYD?x@(05Zzt-M=@$-t2y+d=f*Bu1Q4;fz^f^ z2|}Zu6AEws@~`8=zx(g2pFgmE`7_}CMzM|r&K(>Op?ET8MZjaKew%Gu09qlPzNUZZ zY2msq;PdaV|H1$4e++>9;h+2&-@JKa2XT_!qKxib~i^l9+De zR%U~pVyqVSeFLz6sL^pxMo9OM&`qef31~LB=to`^*@GTpgW4`EJp5g~^y#Qaf;$yNi zMt}`w5EvtP@Q4D&-NmYTkF^Rte2lNNRb1=B@BjWk>$N`OfBNtIU48S<{{vjFUNgpI z&GMWId61mR=OUJj;OK+K$BD!h)U=CmambKG0^fSu|EItI0jn>5^2?6f1K;v~4n{_5 zABrZ%;wz(Vc8R;w(ezTz7~k|@QVs+;vzcgd_yD105^#JZL+luf(_E6ucU& zG)oUKijygl(n*ZU!;HIClqvvUihu8KCeFTR)$;d(On%BfFo~zR`Gr(FA_&z=uhJVE z#JwrCurB_GfAD>Sv3hFlJ8^ou;7*QNJ%xsO79m+b#E6c4L0C8rZG{w4iqDgyTXC3^ zjjD&T4T?`)z@1Hs=^V!3owa8E-peQFv}Y6>lsL{y1*mpP6OGg)FltV6neTwoLz$&J zxLZ{qYIl|^idk@5DQPLx0-kGQtcjeAou&Z-tG?M1N|q_l*QkZ1dSa2S+bExjHMxcY zo$|I$-Ww9S>4r!e3uxxx+PO!U+E~dg&CYqIeuga*`&!2TjvZDIkJXQ+rqTGHTj_K| zD6ctOCa{Pd6o?&iUT4BsfK3`J_Mjq)O|OHzz(Mr+EqDEQO~q-ysC39P6Ey`}9-Y^! z`9tro$KK0$!EE{zk6{Ol^%`pm^8DGsVkuUaUbG+6Wj{)^X*hD~th6N(r;qU}W2BgC zbp17{oQb)~DT9{|5}v!&;0s_R>M?si3MZCTOEihmy~ z0@sn%>%VDigT|TJmv>Z12_)Ce&Wci_XFD?gtMidZEf5)sISFDskBp~eZ;~N@@|>pi z=wmS%g6DC`Cb**v3~Y#y3ukN~iRB#E4ihHnB^vYQdpq1&QNGC?CR0$Dpy>wqg($PX zk2u|!`n%HM9bA`;es+-DJ;S)WJesxvqWy5Y_xfsJ82TXGah*0`!YEhE|(`7)IEAbN(^MaVH=5$t)OwLK-v4&i1J%RwmH&d-|$L0h|t zZsOHK(5cljo&jQ>ai95HXu`BGXR9mk%xV=pfWSEIY28*iJiom-j#&a$p`%7vPp{Cr zjpfSgvd&br-}lNhQ$QIf$xOfxAqAcp?eh-rckl3gH;NakdQ!Fb(CM0_Wgq$094$Fo z0JF?XYcWD{041!P$7(rrt|tMpf^#N;?1Hm-XD_cJR~>oScHKsUkDvq0Xiy{FagsiR z{V=-Lhk4k71nKj~y=F%!DSh?Tdwlk-&rr_*@!W4d{WWmk5I6P?(HR0P-V8QufZ)l- zGAYwz-sQd8)#wt}-gy1RS9tT;cd*}Hz`J*rLgX3ynI^-8_!MnEr_2NO>{$*ul(a!Y zcT$;7B6F883K6!8z0$m_#EgaIp}RAUPkpn*El>Ed$2Pps=nXte|oViYB%31a|- zH{baV`v3d?V!!?v*8=t`X;CE9apOcL-&jGgn zt^ei!0?+Ti!8ae?;nk}rYtf|RWX&({Wbc5|X(6Y($;mhd^y&uYu(xa) z*YM6Shd|g?(_Letbrbwb__e=w19-+4U*Gl=08g_f9n47mazq05nbUOU@XpYLaInTV({@hM>A4iGPSS~W^U4&T4d=nb^htd&mZ6;Yeo%#J{mKrn;>Kva2;fL?;_EjdUIELtd&dnhh^ z@DB;;vOC80d`4n0n=_8$X6TI}=R~0L^ooUh8qFT&1c$_Jw00BF${DME z#si?`>+rVEw|Y7!UNd-;_O_T` z^6#&V#WFc{ooCFc0o7JEXH*SzJysfZK_@pbHByH>6wvv(;ZL+OBEmFdJ1CV{>a0=6 z0LQyZ;r}S!`;gutB{JIL+&E++XGi(^jbV&~{OZqp;9#8DyD03C*H?(}DY=Yz`ozV~ zE;flZF_rOgQMer6ho?5iOQKFb&d}E(BYfH_2N)q5;WSFT$2v7~j7;3D-rIzmyq}O5 zI}K@bCaoBqrL&(|oGCnP%n^1=Q!p%4d0u_XWi8jRnkm?`$t?q-JL>69Pf#+%@xRQ> ziW$vyT5>Ly2DIh|oPZtZ%8QF>g}Um(RDbYs6rDupzk0f4FraEQd?t0+8hJuu{0RKA zbQ0GAhi@_zRHVS~WN?y=Beg2FJTNo2rdyd+W% zP2+1oa0;IaDdPr~lZj+muxC-T;ONCwh|~(hC<313dCc&boQZouvbf{9W54@X4mR~7 zsHEkMF+tJFb6|W6t_me*FTDWcy)E#h}YiRb7&km6>wB{6oQ%oBE$^`*sKfCDW*X0g( zn|#rU4F;xJ>!vfOgKn{7`~GV|-B`NW-54%aD(vmm=Wrq9DI4XtYcI#Lw##9Px^pC0 zVzHM(o_7FHqTdOc!uBfYSqUj$RTz>A`SEjv*&cS)pYi(5x3GJ+u)&W%GEsF`7~CmD zBUTn^yKV0mk3H@AGasGiL*L-{(b)HUtndChwjlJzsm1F-(Db-@)UN>G5{DLGDVB)^?T|Il`CqI5>k)fZR>N2_FpcvB0l`T|6Sm-?>a^)VnU;M#{R|aeZuSJ1^mH@dCs7tCfss7tfx2p z;&=WbaJ}uf-}-j{)8GGHyn6k{Ybe_ea#zu0R*y;*8l082Rw(ES;OU+9j?CqFDJbNr zKeiENaz2dOMj$80aB?02-8Xt%&l-sf2q}}lD)}3g_i12QH6T0cEtbuJe3Y%maL=ox zAD}5+$B{ky!QAMUHUYNH0Zkq3^mzS{E#%p$XxuhWGZ^uHIACu@%>`U+Zm5rXFuZKG z;PmPPq|InjCi*<^C2RxnyuMej7XIW%KkWbFfBCmJ(fH9n|32Qn{YblezYuwOy)GDk zc<=+=mRY*{NpNYrO(CFKJ12t{w^Seh>Jowe{y%t+>(?&m4#E*o-Dhfwo7e8cqn)u=KQyrED%>@KiYnlUc2hD64ydDgBYW3t3#y}>KfXI4rdaG~6Hr2th; zB->atQ6vFntMoHU0Sf(%@ZH~hD`4yWhn+PR&_T>>FImDY>_%Bd7gZhTVUbEsvjcX4 zRl?I7{ox<{p@5~gAAiKY)iJeItZUFMtaLWPHi@gb&?JvNDgbw!TlAXV0`?u?Z@gz^ z&jyRqQnKCY!ehG94#mOFbQ5AmW95;OeUt!5!4rATjT=3OKoCAzn_!%~WD+8qrEff~ z1)w}iR}-Tq?q`ja)wtoTKl0A`Ky8h+f^K~G}3-Ms}#tcf>tg!taNpDPjhON z9=133dgI8=QwSq9jZa=Ji>NT~aKSza>xfSqJV#{O6uJDc9~hnibF%6!_-mz>p|Df^ zj{g+l_~XAq((D(6&I?U~agiUE0Iwkd(``qJLY+cydi;<2Edz1Eihf3hPg8^!3ieHy zk?vZ9ofgEjj|SM%JK5vh!~CQnG=&X&q7U}eQ49f#(I;SS(^NoIm`YGJ2!< zeWB*g#tUXVHVT6S6O1t&8n{n=IHWQ9p}O*=*8iU|X%v!^Z%~i=eCk`*lQH*8VL7H6 zTtPSzsD%*;b_&2HrO4C7va@g+$i?i5O)0ES;>=<+sPJ4&9nt{9AYm48)(=e%i0M*5 zk=Lj2=rv<+2Bb*x5aT>Kj1Eq>+{_X%or@VCU>3CR@CuAKaS-I6aYtiO_G1HO$jrab z@=EC}zjZG>_BrF{Rn(Zq(?1Wb@n?xB2k zIFL^Li;aXSNOSLD#{q;)2#|jodfauKU)Oe?p>n*?63s_HTjn!n^to@*k-@=2YDB5=8w=|YYn^kb>h$!GXd z8`TPHC6=9o>`)bEmXUW&1%pAhf(8G6RslJc*>3^VW+57kGbMKQzgrAJbVOH{!fX{@|g3uDFQj-C2pOgZH_ zM@r(mZ_nWZV@2TvNJDu$`N1V`e2`*+tdY0W^IPWO) zfal8TjhNC|=1Zb<@QFACKQ*syt|ImJwor8dv3To%)bnVUMDZnTffQk&z# zeg?ktZLBZ8!2QGTVg1Ulv}O3Seq`LfX2#UdctP5A@_Ns4lx8y5>7e+C$)#&8;F~|e z|LA}C-&+mV&wl)q{rc$@WNZFhFrb#X$D?KTb9bY}wwaw~&LdH`L2FIYiEJ&qclF*(Nw|%N>3q}_>hk-iogg7J?iBsqz#Z6jP8KTba?Qc4 z$e)#AtKfrK2PSqj*)yB~1{XfPdW|3c;18*5@wfiQ-@-S4@H^nE6{n;^3UrA)_+cFA zs@4I|kihNXiPHgsfz(n%-T3&ECjuA$FaNhMflrny#8fQ-YhrwIqe7ezkN1p_74QwsUC_4$UHpr!(xp?TDV1nQr->s9cO{}UNpGoelJT|7#jn;!hExb%F zhGa9N>r-9y^R1_EfeQ=wH+32^v{oolO$Xq*h{`_V;LpteLk0-#@ihs;`dB~v>7Nmj zUSChrQuJp9c;2E1j)*I%sk7&)nvIjvWMsM16(uCDg=4CQA&Zw}Y4jtgI!F6HYC@{q zU}$5L10o1498-)W^b`~VOGM4FF7p&%at8oMnptN2@uHRI>uZA^wO!a>++nU^u%Z12 zObB*lfC5g`T)i%{j3r$I$ZMyA3FnFhya&s}8*@^mI1@`JzZWpxBzmY{0o3*y2suXY zxA0PK#k5+LYaXk<6cWk5A=%r_ps`#sA^zw<2b;Q6kYk6%w(r83t!3oeqf`MvCD#(Q zHczz&9Zu^U<(Ji6?R;)TUAwq67|0$0E9*sxQE5(4hyCzx8z)!3==8VBs-0<$i~*i8 zzH2DYfJbGPn(CpI=Dey?cg!Pl^a*jCb-w`P3l(suM#79_c^e>?f6$bjvHfqF*y+z1 z`$yyL8nVj`kTFtBewbQhzC`DrXH<9oWbR365So~%kPkd}lh_(*@VS0k9jT0Vr`&Ol zPWS&16ml)4gopUnf;erkaCR6D-S-k?sUEe3^7*6G^Uv%sf1^hBch;#7HC@OwCkhD# zqau@^l9AO1~ zsZJ(-*egN$#yMx*i8u>9U6OerNvi2nVCG3?M$`nyEV^8KG%VBAOSZNoR6`F8(-yh- zkPI$CkW*WNAKbdi@tFx4IzeI#7*AJ)?$o(+G<&TEvSK=sh-6*!`N$l}nr)vM=Jff_ z#$}S-1fyUXVF(9*Zyk29#RfKXvx~jh%Vt20rl>;oLLJk`Jw0f;%eqG@lV%99JjiOM zK1*;^^~|$wY#%>ZgPHhft5INi)wn*1cBB~RVc}$_$5KG7v=Rulur=L&o7)N1Va|8D zbJ%OX6l!rvn6vm6fIAqc{f>OZ-*jQah9-bXcD_VBs6e>`JoN-fbe9PM$b1hg`=F@Z zR{tg-#%MIlB*C4UVuW%_8-gmcZVpin99eTI8Ma)6z~j>w+(h=Y*3XcHt4vm?Tq`o#6+ILR@ibZfVGuE|fPWP(eg4>@B( zRY*inQ!?qZZLTyvKE)c~oQ{ISvn2Alv3~ix;P3rM`k?o?KKqQ=yN#b1&%M+SJbI?y zG(VGyqHGqpZDJH-2g(%HbzS)Ur#~kk{G0!)|2edu@vP^yt`*e~7*iz)3C0lJ9T~9c zZjesaR3Wa9ff+}&wtoTEET>pBw#UJ$eX3RvW<5a8a!FgF)*Ms8%+j}&Fko{F@^SJ| zswP#340g;T2b{`4sOB7Qg2K`sUcTk-{wna&Ofvx&KwcQ&JF|o|tEf;%iC3 z6k9n|7Z%cmDA&f*g|d$S@*YTq$mL}%de0FTLWLmbACoJ%oDfsl+|L`Yo-Td<)nBmm z3jgN+^uMFpU*N-CsHbb&D{q76w%gZb@ zM>SbA;O-brGeB9V@naOR&~ow4MUjnLO@8t%e)#e$0L@o#pL|Lp)Z{s1w_3ENta3&P z4|WWXBp23!ms6uuIWHX0SQ%8|P#4 zp)7rZB$1?lhi3fK^ha>L8+T=L7t4-54WOEi`5twv;5d&9;WTl)jxOi@U^JCgeg&t@ z&KZgu$U!nHJtcAx<=*e|v0EO)i9!mwz{#8k8#x>|g>7RpKdzk!jx5%x>3k}JA)_!= za1VlZjdYZLZD@>|aZXI`CE82^;$qq2?SXUb;t-zp)5fAEaYKQ@~~{8 z=cIz+v_d)fXSWm0cnWB=O{<2;_hLw6yXMdH($*fAV(;OS(pC1z0jH2xDuom|%wnj3 z2A>!Z2~Ou(p2x;BuQT&^7zM>hxS)WS0Qs3W%5(O#*tzfoI`19_`JlQ6rgtOGp^^v# zCUh@6xi@o5svkL+a!GBniJ@3&(qS&6z9>b$mS65OeZO4!MPS-eHvlHS~+8Xg5Kz8N) zTl-YXC)9TfdkY(PJfVDjp0P9dLZo>PbL~0kgyR_a(B#W4lK4me;)gC>o)+%gamYpW zu%zKvQZVkr+*j94fO30Dc(6$0n@TFHfE{LTC z8w2`<^^D5RAq*(ero|!Q=YO{&u z_e?N{a=Q8Tbn&OZ`;S#v`1Cv9#rOaC2mN%t@{x~vgh_UaDiztp9En&(8~c*s!c)!N zHlb0uGiWHgkb}|P5KtyF88>!1<`MNGo_Gt#9W*c+U=j4g{cx?xe72Su@db0r%4o zh8XH&+~n)_SaWMM#Fe>M3liK}+A@Kq$!D`q)s*?;xHA;FfZ}3{c>nx0{j7h5_$H^ZKatkG?1H9oF?3u-^lv zLI-x9Zq%?#0He;g;#rUR&w9}f>X@v_x&m<5SZ@l7dcyxU+I)H!c0?gQ=l+a*BncQI z`ROkKjzR!8s5>BJNlQyPfykw5Witl#62S8Zk#BBYZ+q#Rd)1ZdB~q348ON$V#Y4~L z^*6=3x5piFdA_L@aEq@#{*=NqaBqJ6_G6Y>OCxX2DM!7q)_UxJ@VScA;MjAoG}9L#fSW=I`v5A+}z7cVnW2H&%A+iUyT6=jw zz3ZSTgPOBdWh2YE9t|_eQ~dH_HipMId9Fu=9L#_-N_eUYof@pO*^-Kr@BNyJoRN=w zrsIjX!jJ^{4m?H{Ywk%6oHXMa>>SCMC&4|OKW2eI$f*Y{P=$rWiTDS283EN{(kDFR zw|#WIPW?AIb6PX*EY*2$4ib;fJ&wbF=sPm4k3=}{GhlKETz0P}_O?%hB;=5F)Rprh|o%z$iEeJrOot5!E68IKm?GhW zhET1|fJ0Q#$9l2p8N7RM$E9EY4dAOUAr`n7QsknSZ8RTh&Cc>lAy#k^l*Zc_hOFi1 zzdeJ2TbXXTk>|3fYY*4LDQa~T>$7tu zHwxFcKE+r6@E-$DufWT3c)HjCLL?PcJM|Z*2k$~s1ue3dyx~L#+LF2(Pj6lWU;GGv z`#<-e$16VJkN)HbeEs@0wQa9xR3$2N%nhrpe0t2Qlg5ey7G`c2oVuuCkP#G6K8uW9 zjmI!vVTS+<{Rh$K;!TfbZ|O4cn+k zk~Vyd2MBZ(goT`O@1V5Jrg(AHbe0xw32)xM#t;AKU-08kKhx8zkM6Jk;PDQmoA09oIZs0Wb zXG|`D&D|7YD*#ZmYx$PF7Df0f%ET4K3%Oq#dRZO~DwpsAlUyup*5o z2k9s(Ewbx!OBKg&Wm@QS&innLp*O`}`K3#G&Y@pnb~y-)K-W^{dtHT%vyqQ8nSP8@ zPEJ#K?q|IH(<*hZ**^Amjsp;ik%L=BvpAsT6~^-tAS~56)K)ZC7`GzF6nX7 zN49GA2}tZ#ZNhtH3KVazc$t|t=q#LCu%dy-Ey<^Tz{P-v3XCD_r`26VB)gV`Ikvj9 zq=t%WV0RDpL!JC0lkz_5&onX~9yCa2BM+j^a2}I`UKCt>e%^4^%wU_4J_2uu)S@f3 zoufPx363<`7moNie?O-esaVftKkc$Ko;Ovw8nWLj_}E@{e>tU5Heqhe|B)BnBfzwAzZtQwk9FZm5h>=lh9AqtlPyCol)} zO~Xh8wv|Qpx+1~O=r__lVDKHonx%2*1=ul~WyX+F|H&I@o&(1`y9we#mTqv13G69y zr<*Spy4R^)rhx`}6s`08GNtXcAaC+h;YDIvH7e+ajS;6Y3>*H^Mun4;QfoA8DCJf1#_7uC>7E-zReGvj70*uJ?)!uouz z|LnnJI`|G-ctEFz+;EUb&2bhLRwgT(Bf|+>NFu2`!9m$f@@PSlO3_k|gQN4{-NA9j zWs3fzP+-&(rxLE*N1bq4q&vaG#GFpKp8}&+01B5P(Vl>jzs46}&I6W3NmFI{c50x2 zgL&tVnP*&r0o2G5z!v?_hW{yodWCkTzF7+qXEO_bi$u!6BHu9_L^qg;0{mb3wEDFx9&Q9>!V- zN}Gj*O_-d>_YOJ_(qZ;T+1kM0($qB@|7lEWN{ z(n^is{n#jQQ7Eb^+IGiUptnoVZlSitL?y=u2DD6!6)edsa^x_cziiNh*Uk1bv-cBY z-;nFjI68aZ=*gSnDq>OUnxPwu;{A;MiydvmfAqaSfL+KhOc8YXENY!+j6$;ycjYP| zU?@8Q1}tVT2;ki_3QwrN^ebJTe{NvpE{^T>)aotBGYaS`G;?HDwuvRN^_YJtYPV3; z?l`oxz%C|XR3MOh7`WSK%Mner(C6HCK@%+EzMX_>Sf`D#031^_OHfWI$U_hi6HLcs zb-#H9ttY(uo!>=$>$|r6Q$SzL_+l~b!mr{rx6+znah%89sH;Q7wA+Lp>C^}QxBr{} z8oHnNH(!6ls#j>;*to48E`yTzqi}L7`<~#bnJetup<6ZX+6MRyD_S;+Hanesfw*RG z`6NoCU(%y_X*s%CUS%zG`e@R6kTuA0V2jBLMX~Lk?pNqSBUQ@TIKs?{>X>4c^XQO& zt7ufyHV-X32O*tf6h^_7oUsh$ozolF1+8LxuCy{zVS0-N6}C+ur#cG4+x|H(VV~Kl z$t1T?Cga~0QaT`W)D_b)i`UQ7(-VI5qd(zY$&mM*Q{aq4=&_6r z$FNK?5Zl$nTJ(&r1rm|Yq$XRY6~o~;W%Eo*3)w`?CRWsR5mrx8gphSk=Y?tCn0&@j zY&a(vGJ8JT$D)1sAds){S3WD^-sxPKYOv5OxhR%80DLq-LIE7ol%cew_wrELv#?&j z0?@dhzd^0n)sWWY)$FIR4razL|9++8Bb@bbjX)Q;N{sfG;fOm!U`S_AT)4Odx|n*x zHBaoJ(4c$fzALLbs5F(zjzcy=wt?3w7iCeaYDrd_t*Vhbr!|=Olhy`p`T<~014O7F zn;A%Oun)MSI1ptk1>2kA4+|jROPHbVdcZQ$5@71WVB;52W z8u_DjKzSENKvumPCg##|nv+~#Sx4{nZBE6W3LH1U9rBF8wOcDQ=# z=FdXH?DydD!9Ayu<`yOJ7!^piK0n_+4>Juiyde6G)6Pu);;CIM19~)tP5M@Z+={9t zjW7DB^$dNw`I!336S;l%0@4fY#>pE~#^XwbpIQT1Vi+(=#e5$ide6Oi$GVbQ}Fv|F>B|cOaj)gw$&3iRt128uCVj~c4$a}ee zp*HJj1k}JJzl?Jd4J-Z;^uBEqDIT@c@l!Znd{JVInj9GN&y8|V*JMAfPH8Yk2-GRA zPw|#d+kz$FS@;gvP8U;{X{rIhat*?+n)IIWQ4;$s^3-tt-1(hkVWt2zmzh#sj&YXF z6&A*|-w!?X-~oX|9<+=gkc4zbk#f&hmVt?4p7UTOS=v7{)zfs-Bmy&b3nQZP*DH>V zi8nZfKj46`0L_?384u6vDxi0cD4TgwUtf68vxz~2Rm*ugg*hLKw{yHrZ(znPIHwj>dO@5{$0RDo7DIl%?w`3c zgsk-?tU`@2Q>l%1awS19QnSRu2W=?M!f}r?&nGlSfr=cIbFwl`6NY7=9k z4c7P(I>2;ZaQ+(7Ym_=8L`kPeIpqileRB+Br06Z7&CAH6$S{#TPhg09Iz zR{>vr4ZMC0e)_H2-@M1Q4A>&NatTrLZ9qCBEVM%(^Kn31zoLfw{&EeK!d7HSmKHjG z5bjlG)mJf1WGwi|W3ANLR`F)dXaEZBU=gY*#s=;}T7yM6xjWYtRhB%~-F3Zwh5GVq zJpbs2;4l3Obi0~$o`9vW1k{a%C8S_-PM8tpbOReGY(&rswrah4g?C?nBjCb+>tFw` z=-vCTmce@iT3j$ILzQYNV9lSuZ<%n7RLHe3!L>2vLSs6ft7%IHFs8V3oD-DOzfC+w zY2@{{M0mE`j%#EWRaotNRtejWHcGKZZ1)X{+n`K`s7#6H!wIaoS%og18W571SDlBx5Q>yso;^ONS)~aw!7%z8!H0{dTe2Pk5%G|$+fBGI=*D0M^Qwv zQG_nEziYB|dUKA^*+$vNlU}M`;j4FF3mf?F{_DTZ+F#=Su)Asrs+y_TjDHA9*Eq8V`hE!p_eC@xBkhtt2Ai_OVk0ELd)0 zmmiA?GcLylOY+HwZKaR%xxf`3FzrFo*SP@n4G=vQp9;VQH!GZiHoW$3y!z-ZfZ{iw z{{>&wlG^Shjd2hw6LzVZ@>tPZgzh0!4#rA^;MBe=OPpCgt7t`)NiJ3s+WVY-roFN6 zIa<#|pWu4lOJXcdo04wsH|+YaV#6vI|5#**s(UW zEe|)0WHj&B(V2O7nFsf&qy@OrE+F$R>{hKb={D55u^X2^rDqv(_99l4m`u~Go%l>S z*j2;oScTsxkR9$uNn>pgk+P}T22nsp2>~lN9r|v|F0fKvJ`D1#^%HDbnxd=Hr-!JW2B)0q})aBQ2bt|=2wRG7f^*I^qNW}pOH7>ecO5eUMEgF%+F}@bO@Y? z^svT2ZvLvNsix@0X~>EVixh|=DYAg96AF`oj5PrzC ziqT|xEtxnoG171oH(x9Hi1O1;Bu;ks2_t?!1!DHMiH()~$=Rnz=n37yBtg#Ijx9cU=ktyzJW-C6GuY%Gz*G+!XR#CLq59B zOec%N8K3hz?^E!*9MhRc9~s7ogc38*7{idcV;7zS47C_Z`!LM`P9Y_RJ@aymGz~*S z05jO4L1{#!`gQJ+6l(DytA~O2NL`jCnSR&|D2v=>Z0mv*(6Tb`@$h}0Hh@XfTEGC! zE;Gb~`(3&eg15Z^*qD|f=Q`$lHI<@Sy6%;|=lkp8G;0o#0>HDBIomecH*aVa&bh6R z0Q*pAq!iZ;MmhJ&oCmwl`||XNhs8=U=7GW>{}O} z_J^g)a7ghm#HSyWZU_ln96PPXc00}cTi}@c%u#-Yg~nEYc#qKFoOj!cp}jmGGw4HFU*5THkncPK6BlW#%qzQK)UbG8(}TQs?b3DB^N&Iz1OPMulw?B5(g zBL(Z9cOY(Ufio z{n@wh^d~>SH$VG1^!g(b&yE+{D6Rvha#R?RVbn?3FrP!O(kKQ!q#wh3m%XhsJM!jg}G zpUB+fO@>Hq&ziv%HN$eajHFXziWo5($@?_BT<}z+p8@iD4ln0}v28-x}>?m}gp zBU?>f(%<}50Uxk-dkS-kT`L`t{V}nAKzoiXII4tpfxQLZ!tR~?x$*s<{2Z^|d^{oo zL>mJLvNEx=V=DrZsai7gzA6o6rqJ=d_1+rt>*OD85bZG^DyQfq5_093LO)<16-{VP zCnC|hU67W=8Iu%OypN!~)h64%VIVpdm180b3d7Vd372S+0PV3tl(9c=@)F z(C_yNVBGKn6)}W#V?odF3`f_x9M^$+n`khlf1&mMBa+4EChDo2E&6nZc@nbU=vi2^ zMhC}FWDW+LE{6y_Z#Nr|@sW{@Pd4`qca8m3y53nrn8ti3@fq97H)g>aO_f*bj?=~M zc_^pgOMlI4JycUz-^qV{w!t1l39t%fTa?}yJ4bs|xInDjQwO&*d-V8!AfqDcBY)@F z^Kj)FaIdP=I^Lcqt|poz1vct3KCi@VBFX>;`;Ch~FszUcZYQv=Dc6iED}`=_6%8BV zdN<7$O#PNBi{2|90a+MJC%}FWHQoOqycBW=AvNGNRy8@lF|v0|yO#ib%&qIIm1-vI zBfNH+*SW?@QJk!RtP@Dd*Au@S&&T6OAxebg#Q14(h!z54#A$M@4-OW9UM2{1Pt(zL z?@Dufs(~~R)3O@%IS+{wR6oKuER1?_mW-7HSxA-|D$)$Aab4Ob`D3b(e1ro{8nSZ{ z0~P#0J8TqBp!YnJ+392EC)sf|I`mnz`Bsd)51Fy36iuKax6Vb$U01=^>6W55LmdVt zIWE9oP{<)aoJmd&;=|D8gcJ->;5T2AJBTzJcJ2=hlM0Y&R?CJ<#3YS6T^Yeg_?&k$ z57-^5GneL`QWnVxqLr67E7Yve^0f6>xQuyfKzmGasK@i2zO@^ns2oo;z|nzpTxGK; ztK)p{*D-UG15hW>cdc|&!hB_G4nU6->@Zyq$mwnlYi&qHPbOyp0jw4~#R+Z3HAz)7 z)+kFzdq0#02hIM*fT5qHy7@T7#Wwc1PsWHMxFAw*mO(48RH z?y!t&YeL8*xjeWRPU6rgoXFo5EL3cRs+TDD66(Q)~vpizGQ#%4)w{mfwjQ* z-+)&f@aNf}L!KqU`)eQ9kYu zU7_cwQItkSV<0^93Ah)8vNcG^=c7&~V%^I@qY~pyE#Ll^MoJlvtqthbZ;|7hNol*n}eeN;%7g@x4-i%5Wp{f z^kd+u@*&Z%O}r+i&^OsNT{OY1U~6VDhntbqbh)ml60SG;y+3#dy%p9)@dj!O>}h$Y zc-IEuA`)kX`cD-%0mOY)Iws~Gv6&n|$Vr_`rEET}x}GhPCZzi1DS6o7|QmWvQ%toM3# z2>^cdXFrbGy(3OsnDS>jZq8?+zFEv^5tXfR3>QJ3d{^u83FkxlrMqX`>1Vt>J7jEF z$@6V809q!lddIc10o91^*qW(jxXZsgg`Zy5a=_PpGR~W zdR~9|etM+e&@Y%eu~W0HlV8s{N*eC}flpoZj6Lz-aOH7(0ktefHyb`?3P#{oM~%lP zp*hkopW`DQM=BthVD*2W8b0jffy`BHRnBRfZ1*XzN!P*{XR;q-(UllBWQLWaCe(@4 z8-6qZWYq+SArdvU(KSdK!`~TCC$AwG-S+E=uAIPzM~zj9opO#h+nNTNI-gk>4UI?K zy*5f-E2Y^~!TBM`9OTOBUO=f29vcMhw-ua~Fw@m%G}eJ|jwm*^w-U_C-f^;sv?%up zjPgXgFh%DMrVsz@`y1XU_|ng)Lx=*S80j=4&Ny1K7~vDDG-ioO*lAth_~sz>VaTgm zi6_%6ob{MkjCmHRuLmO=7iS&F7$`ctlUphYtOD?}i!RJr&s)H)K*l)Zx-AFvv_V?n zxZ?)}j_}c!m@d{C*iUecG)^K-jCG6(d7L5C?Limvw5UinR$D- zOwMA%`5oWOu!Pf9V}jFBVPv6C0umH9HyF|Q_VMnJ9*`j*kcHzUncvNvkAz5YvglKu zqS9va7odiVqo$c{R%!~Q7r$Gq2f3ka9@O!9$PP!f$pX061<_qqf@-GF{5u=8gj*m= zSKevZPR|*;Sjp&4O-#cyo)tjR73(1~w%3Cv1GX`eB)~l%LR#rW?*!iVS@cELvW#~? zlY@kbACv#BF{qhfx;qo@s;#PheCFTaCJ`;P~0kzX0mBr%)2s(S71b$43x5$J?-AS3?Wf0qPD(GL=N5 zP#?aAzV&TzE$H3=W4@aDW@NqEgf*rP8mcQ~f&rI#1ykM(Lk)X4v8-gAK`EN9LLSyI-3yrqFEnMgos&0DRitj={#t+c@BSSE#MkdXU~xgq!8?1i5Al_u z?-*;q&~ljh6W}x|ze76P`5#z&8V=_=dKKz2HBxy(l1p||k_?Cq5IRb(06Q#!jA zFIuqpBG(8(ljbqJ){~o*$Bm*S>wi4+I+R#R{tg4^*6C!d9Chgrmd(eniRv0g-KnS) z6Q4^y?>u{85mgIAOIW_05=qH{*&#)15!@1`=18PiN&4qcH#d265{wG3UOm;H|Ln(& z^@LA8`!4&>e~jy?(As_?f@J%I6s$OenwaJ5ZW}AcpyMeoM<=3%RbH5X@V&3?4e*NW zO{mm%@EiUJK>0}9fg0c_stmSC7v=^ip41(I_C|#DRT+(p-S6_UU-E`)54?EEx958PUr0^j7!rhg+T2zMM}k?LU0Nrq`8%@Hr>$<;&ie4h^Nddo_L(9Hn~2m!m0085?frdx3QweaC({@!i&=o1*y{9 z8s`o^ianfMYA=bbqv`tk0SxB%f69!v%gpvqqXAT>SchHy=azC^qZF<4os4=U9r)ay zM=4U5Dcxn`tUSM(%wb|i^-v=R-}Q7nX53&%xA{wt>w5tCf^AvSAYHjX@o;W7i1&Mp zDB+AQ(?ktOuanYXNJpYk__)l?y}$gKN<&h)|2eU1>K|rw>5L%b0Ta&tI%GUFqgjpA ziCzz7^+>7P~mco}(11_E?3 zh84E2iDCl0knWJJKU`7xUROpUrf{?=S|rK2hRoeM*d+|iwJ2I6J}w8tGEc(52sa78 ztcT9ji(){Z9&yAwdI~=Op(R|Np*di;{X0sx#3Kow4Jsuk&AV70u$bos;%vT7HvwvQ zzGs28gXDDYv!pN*HCr^#8yd>)fvPgDIm;@)J&f=u`B2@g8ZUM#EITmjKEZIxAT~#w z-~k>1D_Z9JbT~zSV{OjMb4LcP#MNI|SG8RG82F~UuW>ugTvTt%yUkgEGTPb;=olk7 zNoL&!H@V@a5NidwQIVOTJ^X5t+BI+_L11pR%Oz$eljOJ4y-ry~#xGd;#bbTwXVl!8 zhib3y-Y)L=__=@#`Vbe-qb_h1?q2(9Dn)^gzem$j=A{ZM?`ZXU+Sz9_5xla0bUHK4 zjB&BYOvR;M$B5JVjmi&t|DS>hb`s{cB~kXYAmVPz7X9CB*K?N{;_3bnGr4E*0>WMp zTX=h209#-D?5DsgJiA1(8jqfxmEB23D-#l@9R^oSZlnMz|*T(BfwGwMWE zg@4^CNDIL2b(zgnVPK_MjbU7Z`^7_KI^Fgb-@L*8+0P(Q_3Bj!IRV^9I*3jut6I7K zj=b8(;Qfc;qO# zltV5av&)#+%SES*8D(0B%fb62K1U8xV;HHpWuSAn=NXF`(=a^t!#{l({B5WVy- z|LuQSc=uC5>AoNE#Fy#Un|*Ga=yNAC*C>E%f$7N^KQ{0L{OC__a+6Q5VL3l4ClnJy zg4u_}ZP__FfhX!X@UJN@U1rgTNf`2bO>F1*k(UV6jl9bgy8>-a8)~Qk&XE}*cAZW} zEbsEo?esfGf(nH>t7B!_dCu`Xkbw1=5QtRl z2g4*>v}s1?Q;2YdbzPl{Q5Cy-#OP0DFoWUIKVWBpz9( zflkJ$#5pV1@c|`pqwRnf^_=6c<>hfsIayPggEb%OKw#3xW&;q&70#fWEk(@`e8j0% zw;wixRa5ksPmBA8Hf$eg{XL;bE(bGP3ByKCqybv(jaaRg(A%NfD|8x;E_4s{nqo!3 zs(n1I0$8HTBiJ3$Qve9|M0ym7ZfQE}%lUgqP1=EJ%j;Vgp!jr8`ybw;hH@La*#AfpP(M#x$`@ys;;sRw*H!bsqiX5YE~ zk-yt)A~--NJ~&AlH*=JqLf)@j`$ijLlAi!JxJ=xiB_Sj8DmEH>dJrzKN?21+O^5ZY zFaYPza>1d=J)3QWeQv!ht9i+mDhbWSf5^wo#~~MA0IFTI_j5p(n8jf@9veHKH8%7{ zz;r@0&L%FL8M`YlK`BQpRZUgg^vj%L1m2jb*Uuad#sr#?N78v*Asy1$oy(cm<<2T2 z!#JBDcU{0LzbJc2W+S_KJlidE`jPr+UhG3cX|{i={A{)trXs^!n!rh6F-3Vj-m@3; z#spsRaUitUX<_7I0I=Eqv+Z{`8`nX?3Ds?u992JUmJJxYt6_r7585_j$b z&{0L?m&q(Ri#nm+^l3z9J-n*>B!10tA#SaJ>}Uum&&wgCM76D&9Ie(0wW2oeO4nk{ zb4kBjcNyW%(#$fg8gLW6+;pc_@>z;H7b@Hk>_ON82Rvt^BR}T^kfI1>vLoPUVyawm zaL5s(3xK<2Dc~f;b>1tp-w-GMBcFM2Moz;Wa;&^;+AW^bYz8^t+Rvp4Efe?m-ms`( z7*EPXhZo_iSFeDkKD>VhUcCWzli^&7Ky`;~B<}1w7rJ4-SLrOTw4*@B0t;`p@ai?5 z1@!X`RMuBeDFONZ{KPs5meJoa72R;B$OvqyF-OL*%0(*ZLV3tZ@7HKy3>9k?T#6mS zO|?7P@k;fP!a-igooE6T7IwhPWM&QiOh{W0i+ueA{OL~!Tz(EYCemkZC4`ymluvVfLj{L=A9mTveRIrfH_+Q_j(7^X@iS<7 z1T6v^ca&=M0Zfe$6W!U9^4o0A`UTD$n0(KmZ03b-*_mERsJgAybUbb(&oE|1uE$)| zc~jLQB={%~6Nxe*>sF5Cr^=)AeR;6Nslpynp`#8)WGK8Kx+ILPI<(%Q}QjkDPtxk5@@}ec_AuPGRfq5M0h&6m+t)iwOXk z{L{+1N~~pJh*%egL1n}cmRV!2hdGHXK)~_+LRaDdi)l*6K&EXTNhFT@u1D@`Uff87 zbK@yxKx6FI%D-z4kLgdoRa8H(yWL%ToM|t3(k@X?riDuDzyU&XP6xURy9>|-V3$Ye z7T&*q_kb1c|JLCz#}H;zpPuK!JXeP(zi<=$SWf7==*}xKr(P&P{valkduggQCUHCT zxZAn6+8!wR%7aa#@X{^KF|)VM=_eduo}pbu0_&ds6a)T@JfjqL^UPZl0C;wf zroc}@H0M8d9E1dC)MLD2X525R0OGPi!z>LkC(1A?E1zP{AqnQ;V3JBU5hEeZi|D~L zCt91!PdCx$be3X(ksBu60xXjes~VoEwcNAUbU<-txPgTn+l8BfUZj~|;>?$|+!5Qk zf%&?*ACEjtI-12mP}gC?(j)Tc%Pi38ve8>I4(kv`ei`Xm^Aul(W>@|>Ge0S2gNpLm z2EcJd^}0z{!Lv5m>@jt6uRVe9M7)KZ|0kfpz3lydD&Q+I*4kesknDLa7+n!u9#=Nr zNqjhFY$HX|vI)!?^BNKiIWpewjy`oKgwjftiv)no?lU9`cB7%qVSDo&J1vsbu?G8V zwxmD<;Jk|jxm+$qXookqv~$iWmL+T!26U)Z-*eJ=aamF@=AJX2U=tIO9)-xz=ycuG zUXv|6;FYC!OMPObwpm#Ms?x4uc%3mUKtQ>JuaZ z`EQ!VL_416Y$DVX z7)p=ZWu7^4v*S)#d6;Kvqwyeye5+*;l34Er!66TnP2>ZEg^h8Wa z1dGE580|WF)q2wNpZ*xCi^t?b@+l?m5FGS#a*z+_%?gHEWgpW**pPrp$IIFLM8choV2R!Ns@TikUJD1^hUbG?OuxSr_Z?0 ziMcgc#{}z;Zl053Mx{e~BBMG?oZmp&fsR*A#|Ih$oUQ_uj_hD#uTvjEDzQc#<44+R z%UI$4w*+{Pc^Ac#Cmg2_LqcMjD_)+Qgt&yvh#C%n0#fdDw1~9H6wdxlJeAj`pSw@% z0MxE49d9}@ZfqI~;==vm87Sdz{Eh#(fM>AnNZy?gdHb26Jmd~wTrz+`PZYadI)UXa z#0P-hT`W>xy%V^L>(vMbyz95&XGZn_vWCVjbR;Nnu5>Yy5+nGE*-z8m@|XZ{2t*8V z{xB7+4pjr^c=i!&`p7m*b0-j!mNfgGjgu(YCkVcW#DdNg5&`9`qZZ!0@w|`Mk4FYH zab@HW##}sNgHDGqC4;+z0}mQlRE#qD)mLA8bal%HmZNod+{*T{32Yo_F^a4iiL!De zMNAZcela(uuLUcMvQ{ZArLSY9YCA%t8Q_wrme&-5xd@XumY=0*k^5>6Rzcv0BaK%; z&GzscoC zM%@9YG(R^jx8dCA!!m4WVk5?0*+Uu+Be09cJ}(rqHTbu5grlOy$QX&$xrxE~W3Pdg z_-KWu=iJ8a(AZ@DxiX>eN8alM`5=dm7epKQmG^*0YP_D6E~d+zNc+`uJP{i{JtqPc zr?^M$4u`Dx)=c&ip$^{D854ap=TbaROm*e6PJQ6j8T_r0x2OJqM^=ZVejpQq+yA_4 zl3VU`2n!J^dk3YJ<~nLzFuk5JQz+gaa2^$>IP|+l@Hr>a7jpO~b`OU2_nu|LX<|7% zPOVv|G;>~Y4dvfSSr}E1Fy`konluJ^4@ZOS(?n8}E7|`nk3t!)o$KR#{xC%ejckAa z%lFr^FUOd1GR57T250z@_lv0yjek#ln(v)B$pUcIBiHf}d8dBoJQF@Vdl+mM5mA0I zK;P?l_Crl%MdlR`U*O2?hdV)S=E|Iay`eR@qukrB4rAyN0m5^(al*(&kNUwIR@(VI zCWIg}Ti#5b+p#ueG~|=N&ff#rm<=c;%-QZQD-4*fU5^|mU=1${@08hi0eG=C#7K%0 z4*lr-{D$0^MQpd^Tw4ZaPq#KogTwuaI8OQV{1X5N)J5c-_cItm4{j&H#b_gPytLmm zssOk8^SEAsR(7!eG_UgW0s4tPFE1<`uYrm!T&{tGT+$sJXrB_{% z8#%&BjnnbREbg!`L!3Z7(-XX%Dy_LOl;;V+13nzI2@ZiC7TAAHP^%R(0f4l!ceEzp z4YL@o2cWR^f)^qU&wA`!(k(gnkcU%1Tt|B)<4Ap3vX*&o^oHxiF-aWw1XR!OIY`TjYovlD}E&C$cfUyI2D0jV(WbA!gRlpLq zbSQ6gAS>(Dgjerd_r7&qEB7Q5Gi$hSFBwk#0O~O4j1nO9e&szRh!fB6!M7h{NI3_G zv@+!30yQ~~)+&N+Vp5aH!aN^?nYoc{0ptXB?|&X;6|;7+sZlI-;-JtNH(SZ&aswzf z7Te@f(hM{%E(`#Wss*j6L;SEUb@g(Sp2+*>KSlA$`>)k=tWE_U8hn+l#1p~YSvLH& zyqB;{v}XV*HhukFFyx-3Zgl^DY+AR3MP$PGbsq8%qkD}ga94WqZv1K zPB3aI&_G({Gku-p@_D#<5+e zx#4U%deUt@*cF=K6HwP87@~_5wNW;N@%GF-?-1rlXz#QHNpgF{9e@2l@tXvM56|0$ zC07rqA849J0t@l6v8>s102Mlwf!%^?7n8b21aPKL8!FphMByOK3~$cZfSxqG8_^%>vC)cZcmpb9t8KCe_%r_P?S9AbOqE15y*)*hG*zl$!V zXOS*{p3$hj!89XDRv0Rx<2hKvK@3Dh?u6Yubxe)M`h>f&!VLP3zP;|C(Ve8Zi7KzL zXyw3?O&5U#fyGQZYSgVg)1s!h4MC=;D;|t5A@x>0FelPfOeWe5px1d@FN&7vDjllkI*mZ@ow?>>pWXy=D2I( zg#6vIt1kRxX~(`?n56$4hX(hI>(p1Gg@97O@Iw}%ml zytpUN_}S{rpycQ=e|G}n0~^7?A@AMq)4O-eiEa`x6i8=|4f}vDzi=n4EKm9OIUVE> zHB3Q*FjUh8>jZ|`5ILi@h74-R<92HJU>kC}Uhx9+*M@~M!Q$RW0`Yk!?g(2CajmI! z)2|CMsSc>R4s5b-1c1ty`eJAOO_b&%Z!cfz%y}&vj~^WTiRj6J#0Wh2UQY z-#M+h&fscK3ta$NF`OE!JO_ul)`kOY4ewOG$2p^SBw=GS*yULgw=_C?D!YCFEr80X zN-}h+J=f%|b>aj%Z2Ie0K;MCw3EQ4OO!0}h&!u#q*rn8DJis@K9m5qan9*)i_%wft zA%1iSJ!-nGL&~B`k-@vkkRvZkg?l_OM%z!AnTRP@XfnrmuM;MVsAwwg;=+f&_!;#2 z)!b!yoJ5HhmAOR?R>__h6j?!KHkapVTiLZ1xj+9gUVri()VlEH7hk%{c6^whPaZ66 zRun`&fO@z_6EI$85y=9Lbf3MR-H93X#gM}xwiWHJdi+I5?T1Mc7AR_Wh&hhkpEtRU zV++-iJ1_3?=a80jjr3NeAndy}G1m^tvp$2iV6CA$vFS?K%!mu}nC^gXlEONU>AVa~ zbSHk&(Rt=9?FgPzf=U2yVR?G9L64<4J`To(i|#b#Zo$j}^UR!@3p^6(A?%&^9Sui| zMQocj?ajaXTYnt@bU#~H+`VhkP!B>4I_5k_&(dQ_6~N|V-t9>@ihaN~uUE@9>hFbm zJBmhc%G@xFKt$=-^ntP+QkVzKd@cz&pQ^jlts>F8a-ZTDxmMO%#)R1YP#hFvezgtE zZH(+OE1%~*d06=~oVPKex?@1eIs7ee0ZgB0=(q2CYQ=gWw}TYNKPZFPYGj%B@~C2(m8J~ zBA9^>Uat<_2Xh6+7o<%WQb)Z3b~Oqp6!G38D2NEmoHM+pm#MtCUC?;@@6Z6+}!KunK<4mwvU65tsJL(Xm z#{FItKKaMr{2+F`)tzz_%&n<~GY;NU5Dc)C)ZjVf)5cXc|$qbd=?01uMQ*b&k(cTK<-h5Qtdhfu&M z74p6kqXxr7hUd7JSd`b{cb2#SLwD@c>~sDhtcI9I=sD3~!o7y0^JBfU?gd~@3Pa)+ zJ)PULuzmoXL$8*&3&!thf0q=nrM9+PD4b|j# zjQnb1@uO}dq?q2a9*N!w-gQ}&A!b-{)>*irqh=T6piyC%=gZKMPK~2-9x~gT)HUC9 zZ%h>URHpV|%~_O_#lx;7V>_iVZmZr1M}{aM_}`z=umMdRDE*@A_y~9r#56)HP}MiM z9k~s{a!&M6S*&Tv!d)6Vm>i}HvpW56EtstYrqan`R;12)Y$~5ak%i#j>Dk<}K%l zWH&9Cs)pfV2+a_6m@*`2%)0;!x4%(QW?@{96T2UQP9Veb?d0dq2+J6MOn~on64oM6 z?v7P9+b0`^<{|oJ}4{ zJxV*N&H)Z0O0#~?@-Ii zp~zr@`SM;MD>i^M2@(;V8{IrieAzx*+x5q_!S^J-Y47VNV-aP<99NPf0itx2$UI?E z(G@_(&tW1^wPLIYp)UJ0v}mK=JBLAlI0lEaW@p_D%Np=VruYuQcS?Tw37a`YuvI$x z>3CiU73+8^$oJYGJ^;w0hB}-&Bkc?Lglq?#-($q#2exiLfUCP$_m%;Pr&(eIsA$CcTnhkT@J-#RbkB zKRksMAQiSuRXebBNQtiE+Cbx({knU*>Fc@K0HH!xeS|XLTFVm;Nimr2(8HT1L^d1U zK0(Tyk#Vih9&ya>%z$?R_r8gpQ*#NZs5M1kNCk8Jo$=uKDv&1n3hAfssSC{>n^ff9 zW>SwFGdaYhs&Sw@#9j0%yzqQm7DLZpN+ltMn9H&4ASx%j5XOk+PrZmeZZhb!Lk4;OdW6x>&vm{} ztaCgGITdAU%WB1gfe?b8!5L050i5>8Kw^$fG>zii_ztcK2!5PEqTp^9|4YK04fVjT z{tl5ohIUFbym)W(do)osB*9B-Dlt&d$3=K!mmU6mv|%uHE1q&?<5<-Gg#~zmP8OZ# zhRcjX*?34?nJ)x-`&X*yVuY9gl#3h5>a-@ju`0!q)tT)&99gtZi=Izj2@qj&hNL*8 zQRsAEXC5TXbh!JS`^W~hm%(&O`#kKFf9Dy5-%OsKLT~4Egf(l%T`{in^O;uge(FgE z)BSb8QOE-fV1Lma1(>-*n=NV8FDCKn%;a&_+TdY8lUz4E*x+PufIabR-b;t^IxaF^ z*nSGxMnh|*$Ty6|=`{;B2@zaBRu=lMmEZ*^T?q%ekR%C4!%z4_O^(n<6W#y{dw|Lu zM4k?z; z@Zw#=$^S_3Rv{Dvg_S3ffiU~Yc+Z6QF!6(dy=BsWnUc^2kgV>MV}Rl)`XAs=6 zsM*7c&pR2$GbAFJDCGzX@C7MXgjmu7Hm2oKSS){T_@taah9fsZQ(IFT9r+k~hk&Y# z!PG2D;rQJ$T{1oX2oD0QJa06%S7xk6MPUR6?;xd+NZMrOXwC%DQvQV4xxO-sgm$f; zNDwowT2@JT_wq)zk!9N1zUj&pa4RiPP{qbM3UsH;PE1DlNKO0|$q;+B3bnV;!$~SR zkJufAX+Fn|5D%)u-sFzohEX0e=@dp@1zwImlNb{t)F^0=v$>xS!I!xCR>~VixhCXP2^>dl==YidMea=Yb#N);8Es8vzR3D!N@zL8D7Wl!U_P4 zC>5(qVym0DKj=69%5MS^zyA7bUvsC$nC_v^Di&Pf2;2?g^7r32JhPl4M6!xYNydn8 z!mX2dGiu@r!DN$<0nZ}OPJ*jEVlBS|4S0OfwItG!roq_WQdk3vikX9_ql)RSfQ6l6 zHaQ`rQGv?Q<#~s)v0(P9LJ*4_*IRLRSPH~qh`|AoSxvrXo84J9EoH>kz_C;Kl+bsG zc1|1ttc1uym6!1zVmNDjL-5fT>4y!rI;}sM=>#EceDu*90Oa$|#mQo6OcCt2fW|g? z(v{faPFZde_f9UaTxXdC=93GQdVj~{gE;KSLia9WlZl@U>4%4@ua{QOGYIiaFoha} zZ~Dyc2i$UsngCy)#E^K}%OJPgLKP>2j4={vpjHpEWae+DVnwRo-qd zJH_fa4t@=f)M$5ij}u%}TAuJ->1@JHpKRekqvR^J3NH%S@rp6&Vx>tj zjD!=?*fsgSMhY*#$DS@A2Wtu$2Xhg(8wVuMc+;eb;G^96S(`*6Hg$=3;HFE zLo1Qz({Ozk1(Yfc4gs~qvxHcc2lgnCoK0i=kTMvw8H^^-!5vD!TR+807CtPq5rP-Y z3zG)}FF(awX2=F?B4;%kp*Z37B-@#r$x$q0c!x6JveCjm4+$HfwWpa+BTor-m%wSQaNg3M*r-ka6%-;fNH#A zz5Xo!7A>{K00<~eF9#KS6kdMry|J~ivZIxE;lK-wB9T3^MsoTx9{LU$6Y9B!KY&5z z8Z$-^+=Z=;?fYo1@l@FMlN@Q_B8rw;3k|Y%A@a7oRmNOqp|E>v%=V63Hq)teNit@G zsE$8t7OrQ^6NIK)77ht0Tm+6%ClMe-Y0MbCK39!;M}XhsL;ZBUOk56JT$h1w?oqd5 zWIX4X^kZ9<-2m*V07oN16-W6_S0(&9u98UgbYm*>STomO1uU`+K3n#GXke3@B&|G` z=%XV{j3#)2+{4DV9F&>k{ zWOGsowmt~2pWxF9(8zUf}3MRvyc+{N?>boBa;)ZP4A&9SuedyPgbGuu?L#liwq5sD*un6!&K zxSegpsi&~bLYJ3@Q00O{+ha2^E(0WNr3jV9_KrQCQ}H=;X+%(3W%DW%fE(x~A__2; z>Ip(ugnuGhH(KdTga?T;-bhj>eyNzAm;to1*eCx2F*My3i$48A-m20RW6l?AAcIdC zV$94iog@NPOFSW19EXjAkQa{lWVJ|ly_5HYk6U=UoDp{Jpv&=e3IL^#vqU!nNinpV}SL?0IeXjkb8K%GHUu`(|0-|=^YK;y!`q27y6tgBF5 zqDnj1cTw#9Xvp>I)N(XyZh5}OQ`b!>raPNVJ|le%0b7xR8IOcetr{&|&#MG8w|@8< zrSPGLcKjULWJxJ?1%w5A*QhMjw*SEpf_ZaGMJp;wka6^*W-!tcCkU37rm2U{0F=8s z069L;QDm(X&rzd{Fmmzu-=-dW(>KzF_Dkjxn6gn%5+XSUNx)YW=)@ep6*-8GclyRw{ zIt065({{}|3+hI@S?G~#`zh3fP~|(6&|+kPV(K3k9zX+CPls0XlfHdjZM;yyyhyGd zgy&GrQ%hA;4bXP{!!XV?p@if~xv+-@N2gBA-?rDN>{aDHA~739N}9SJ#c7y4{%@xKFsV2q5M)3FNMEaa;;p>A=mxNC#rBu4Vd1eTR9 z)pXZ1*XkXhT)+42$ZhNVHy&Eu_uK&tm6`XdhBZ?OO0)SR_1+0s)xh{M44!BTtO$cQ zP;9&8L5u@W`w->m>0sG9PU0xLvZCEMXz~~-l2u{<+P~bMrF9@>!v_Y2bwiGvnAskr zU^ASD#TDtkcswH;o(Lo#Pf;TB76;|Z?6MEaCE4jJZ7jO08u{a>p)snAf-=u;ajP1@ z-bwPwYy`#aAs0$EL9R|*f|@;hkkop|M>yXXY%g98Mq*j-j> zV$;i~h2E9c2sgb4mLfXAcm4ycxF$Bi150pmADiC2-kncP1qiZ^M)}Z zA{RlQaTjMpYSk;R8oQihq$D0&skEHqJj9&eLvPUvnGK1w%-OeZ{Tru!f&#Tb9CZ~1 z@d66Vvmq+@Fc`w0W8y8jS!q-kz-m+nA?LXbaXJb}u*4O@UVv_M9?1Hw9`Ic_3kUt^ zaBZToDPHMx5-NBos_4Vk;U%u73lzb7zkE0DKNW30g8RhkY~M~DUf!JU00!d`b3C9| zo!bEgbK_p*PUs<0xe}#_@oxz#1h_a|)R2K3^;*aBAKq`5z4$qY$bPVv& zaV4hGp$r(M=hxi033tPG7;x@ykNuSsY6~L(SB|Q1I0|Y`hf`_#poKEYNbZo+!BJiy z8z`UAqz*(_!Qy>z@%)|&KA^}ZbKA^S33hQB2EyGaK((>2DcEgTmw9oA$wMG(NS74H zZlXQ9y6zbuL&9`v4^;b_)JuO4FxVm3~j44U@yBmU109&&ePyf0jB4!9_>1&nQ}3J~3;`5xM5< zsKfo@LokKpKdQX2l8!+p_8gizs-VYBd(AC?{qn@!gYn9HIoHR*JAQ9%rI>2D6Q9%o z_Zc40n%1DX*_JY>`+UD&qnq4CWMp%m)ijw>H?DZNbfLS>Iw^+$1MPOtAvc=7n0f*r z`m`eSSezr{)+{cZCc}snW=7l^Eu3!BbOlpuJPPvpj}A2xiJ?0A+lyTELr-Ny0IIMo zdL)whJ3Nc$u6md*X7T%aT(s^aq}ga$Aedl}6tkAv`Hw8klfla|8JXwOZ7IHwd(zxA zW<}{`^%a?|4h*bxk+NK}xkujWK85lb1KKLS3Awi^yqN$H`KPmMes(tMxkn~OFglk! zb4C)^-f$Z;pFMye8==j19im}*L8=}k2O;40#A>tS+i*H#UT_u6k)9?L^3OGW=+<(3 z#>pl|R}L7vWkA_&g_v@1R0-WXAic5zCB6@LoGya?pXmer79G+;KF!U$(AH?z6rh1SMyMSA9ax(VEh z#o{_OQ-m;yKo2ADYUYTb1h|=bqxST}K#F_L9d8Ilb}ev@36qnjnPYaRRnRGB_8xW) zrkes#TdXmAYvj!9b}Z=z+k({D0w~znfh}~cblC*h0+B^Q?F^FE8AE7*hK)Hy+ey{tcCJIRv3W^bM{Zdy!3JXn`-**zguNOMGE^lNn1<#M z5l01eGG?Ooz0tdwH3Oaf)rWPTz~m6VdAbpmx`E5)XW2P!U>OC_g9_dx?#y~ZqQZ#? zRLm4&Rt6xU6s=EQe?+xB&rTCQoj$lAp%>e&brgh4OIBnU6-Cmn-7|*`*AJQ$wy-Iz zAOuM~j=fU~V9h*-AGwEh`wZ2V&0>otbs%$;3aZr&%sJ+&Wgp1yId{Y0V^5x3fTks1 zm~L1Js6{Jq%1$pe2(@95BdN7fhs}1*x>ohfNu!FE;wQy~Dl`u;YgRtDBk67wR|Ox0 z&`tD>tdDq;Y{yO41|hx#a&n;#fy!~c9`Bowmg42HoTNi&+m5M7TVEHrD{Tt7Gl_ik zjp^5=Jk_W?3W_Ts<&)}AbEZ%Mc!qAcw{QhMvn+ij6C9k4OmF+CEU8WGo#^gPPpv^Q zom&Al*-Su#!99%t&%px5d7(wN4{`$(x?;_fN-n#*+b_sn@`C7t7Yqj^T#V<9puRAL zL

    =H-P@IP}Erzle|0CIvNxoZjLcL0HB)pr{g040QaWJ8VkTBgkpu}Y zN+!o1+Hh9WV57X1Sn2>+=;BCL3>VTG+7=z;7fs+{BO|+yqM}EED?wdyo67m8&oCvh zx^{!m#-0&XLwMB48 z2P8^jMtyjyPmgCh#%J6-};5vP!4MCc4tlVr$FdUf?<$4k;SkdqK)O^+Fy3g%R zN}0w`>M_h67cl-TVHy1Udn)h5TkSN2j4`qlF{%NixqX!B^gY;+u#&T_XwI0F>k=?= zSH`++h}G?N#!=N&&!YrH93w?IvX48jmzv+X^@szT%z+hSqAfohKdP9E7*=C-Y7;ug z-vXo!MhagaEo17Cf-hk!kyAmkJ2b<0U3Q7AjKn6rM4Dl87Bw z9uvKdIjeSzq0Zm1qJXr^VoeZ9%AFe7?W+U?2iANjk{+4 zf?$j>^6wl;{({c_c@#QbW{=LS1qBb8jQxbsj(`|`0aXvSSXr>1=}(s5YduNVaR{tW(e1n8*crT=Zq|<;ajMEcBYIXpKj3YP21+vlI%zASt-0#p+UzR89 z1j=-^LrAG=VQ~U*l2HPV6L3Szvf;rFs5My9k0vbg6OLdMGeR7dR6DL%IMo{{E*y`O z#Luu{?i^3J-8-h3DO)CXR1QxJp~9xxb*;o!m33ExAlX*RsI0?kFddu@5|lgH2mvCu zUPLczdA5$cEScTbxem5N+l`rL412sm8rXs7(*;)-u-5Q!Cl*5)w}wqwhqSfWDcwmJ zIjB%M?m6em!_MZr1uRMT!{Dkc=l9ZRp@_}$+DJB>Jew2%7FkgzFlPemPI)dsRhEaJ z#g%Jm2&`QF5(16o(*ujZ5cN?5xfCW! zozvSeammZ0K<)Mj5nI64b!Aw^)mb+BjH?T#T2i3%q4!E7Ltqt`T+>}CSed4Q2rUv@ zAiGW)R&0A&rsPZvo(7`5$&z!@HztN;1ZulJcG>TfDMlijW?5o>oinvPjy`IB&lb5c z6wIQmIuhk5nN0U$+>qH}q|FNk#jkXzhPW=_8_SvmR;JDv1#8yGvTVT0Twm3G00GW9 z+u8OhVAK5*xUMpXg-Ykp$1Bb;!J}STSnkBt02P_2Sq56VeNRQAR%Mns>*?YYYf|F* z>52}QfNjjuz|2rz<@w-HDs|?L1+e!?*94#~^a>njMv6vAs58dNaBhU|{C;nwob42K zUNIY<_)ickW83j2;pF822xBSVKbx=@rrTF{p)*p?)9{n6l6wR>Yf&Rx4Zb$#Z*<*3 zZHifOdeXy;98BwjWHCDy1L_>_;ATZ5V=J!KQgIWS{;F{|Yl@(qIiVCfR~%PGa6iU} ziW{stvo7tq5xEuUm^!1+5W%LEr%))ma-sH8{#MIPBq)uOC`PHHTB>xVgMCxP93aW+kKsj|;d4HtVE$E^0M(Q=Djoo>qA=5VF0Z>E2Fm+9^PKx;h1oHjP)|}>> zuOm2qvX1jTXMdh&>Vl3T+Qyf_|8Ke312=FSul*~=#M~o;8C;s)>XehjjrL)xaCa2& z5g^_aGjB0bSyP#V2i0>LXStDNFDDm8O)&d>3YrvvR)=Ksce1M@Q3PkMDhsY3TR{jR zFr6xbWuv|gcNh$#>j3m1~*S9 zMYu+-okZ3n?#OfXzfal)EwS$~L=hh6PxEu-pf}(M5bCPP|NXh=B$oAf2II$&fn_hG zy1nTzf5#{yXwui4Jv+;I0)WFgz<|hyEF+)2GFxTh#ItYdJ7fdY8H(0pawJ6~6pv($ zM}@(dX@^Py67fx$&jtkTkOmY|>X@{7!76cQN{}{YR^}RQZ(y4-oa zkx~UG!<{ouc5*#GSs<>!OdD?85-l`(QSPF*A}4 zCRv(-HlW%L6lUtT=}u*wB0;aQGm+`O9|ez4M|~{-i8IJC$I<$#ySKmbB3h?E_VjB{YZ_;mmL9!F``UcXSrCuyvGYu6f&s7 z$*4ge({uKBKybUy(;^oOE6lYWYN^u3o}k=^q)9X^&3V5_dchTut7trH9pqizEiC4QV=e?Bc0gOh|LII16B$rb~o3pbf+oZ^*UCxN?*6gRH zsC#-qxsp}E+5rs)IH)y5jfxAn9778R9w2e|aq9y>^pf_y$&cO=+YmQF(q@4rTM+aM zU~Q`^;~~4LVN|sW1w{9%fy>#EdY77@L8Z?jhD=e7k)z3G+Ap#jEISx=PMz@~wF-HoXm~Oo;_?N zILqTO#|#UChjjd2ofqQ$GxPF*};qbx5a&6G3%FdKmvF~RBC|(TcW@_+a z%4^qK<=cb88V6*~LDijchKU0p(cQKqjO%=d6g9a5Y;{F9R$`xIqIQ8axW+ik5^!aW zkifkHMm_Io3G$3XE*R(mgSYJ2V6r}N+odxRGTNIagrQFj(SnOpCg+8iw@551mvp$& zX>1gD6A~8h=k0Pow*z=h$HbG^U8l3&$!$SH?&{CV@pntwMS_=O)PjkqHK%ci#99J~ zTE*CZL^U@O8_U(Ykoo2cIa+~vF65o+_`+!v05tcKuV0i`~pMK+hU zN}7S-CG3^=OqjgXVDk2}w7ouN4E10g&EF<&8jM0e#6#o7VkW5axVpx#eF6-?YG}Fp zs|K2nId2`e}3it_xM^>))Ys9O^naY)O~SCfURNV##K)>1eh5U z0*Jj_Mje#zM+gJu5svc1(Kt1UGB%JH>Q8rl=wR(;*kgarnhhCWOr2Fzg{8NrDA4Dd z3Q7~vm`5j7p9Ct?TBw&7dZ$3#ULYC3^MC7X5OZHy-|4Qr*ksxN$TEXnW6jJB#LpmN zDyPitH;nQF45$@CV$O7A*nZ+j+Tmckkg96~)F=S_6^e|p%-(s?uJlm@no^ozkkO0< z_}`{*5o-H0{2;TqY%+yB5p&!eR`;Nl^D_}xAWzyGy=I|IA||Aj4%94`X={#Zz@L3Q zM^xB5izn!}Qv+ttCKnr&4oTpZvCcn>!E}yXS*(7xQEURWFfuu36GEp8jsVN(GIqxi zbJkEwHJ!QPTm#@CJpic7GT76ARfn0JLP+>c2$I zStoZi(+O}hPu5{^r(3XwZJqWh(uy@A%6w5+Ss1{IjozNRV|*JiG|Te7Jc5BICP9Qec-J^>U^<|iXXhrxWUna+ zdj8r)*q@_;m_{}PZelS66PO)5RY0lXu8nVw6yCktQKlFzn&@qe9M|23MivFe)<7{c zB7`jnZ9pLirH$r>&jwCLX{I9>!elxyAs1~TG%Ho;t#rD|l14r`PtX(qGYhK$aC|%- zPOw+JymU&m8=Uf~s#E8j zeRlW%YpwU0gNrfd^R3!0pWXaxec$^&&1}XTbIjOR^v2Hj8nbnXabI3117S4HRRmbL zs)5+oIpS6k@zb5Lf(+njKR)SBA@ARVoF)Kbv__;W@k8Yn65TstP&9?;zw^p3cLABh zoCw=LPmV@Fq+>*XzC)sS@16jdv6QpU6U1zg3GBs}{+wn!3akxBBNKtzYkGawjr&== zEeP-3q}>Oj9t|89uDVluw%3d(37cHmxGJB)O5`;`>*TbD*Dm`ii(_;Q7C@4gCh3WX zyeP#JJTkkJJ$1I$az(uR*o3NmjI+s}oFG%lwcs=z)1x=RmrYkAez9{oQ-xy|F~t~a zU=ZGeWMWyzz)8n@U;8Nk-T$F%y9v@`NMV=gqCDxL1t+^lZAJUUYqs|$u(7s9F2%cz z%RjL(oOi>G#KR;3tmP`4k5bYJIY}!OHa5=mN?XNv(*b7v4S2f1B39aR4a6qaZJoLI ztegDFNy8|fk$Vd)wmC@+$7O?{?`m%UEm^_fLY-6nY zprU&ZP24&W^&}^N1BeQJx2E(xxsU6bCsu10HwKntHC-r}a~=QZ`|4;2WLj1PWd^#Z zfI&PgN{?GIL<&zF5pDLy26Gp8Q<>B<&*}IzHZsf#kI&3Sn}b4?sskaw3?T3n%sS^# zL~Lb@l$cmAce_#mkuaj=)5UihH4-xx$9wq9Pi5Q76jIc!y~~ zKgACM{#{K-gjA_hna|^ljKkzs$a@bsq3QB5GJF2qXJvkORw1#Zd~T-1b8gS9*_4hZ z;oqD>T=Ka5xjZ##3ef{qLDK|kg?gJ?E^AkU2 zWzL(v7_U5l6bu0Rxhn1IJ)lKw%m7r?0e&Vn%S1Im7!9I*;^msHL6Q5+cOOA1Nze+8 zFveMpk+OHi+Xp}~PtA$DV&anUSpQCo0_N zY(gIPRx7$4LSxa%hjP#z!1LUZ%7suIxdrE9M9JU`j^y5~1&@?*@SL5Dz&|1F7mlF; zP>U6I4ly@cFu3-nnBL0N&{t(J1RD`&@~2#Q>& z0TN^2(}gG(w;hU9PZEYy;RG^$X7GYt*QF;C&;`Bw3iU8bw+Ud6V&z7qL1QUW72=5B zaK}c(Rs`%KR1c_r!uB@aD+ciI4-m=a_%7b!fPI44(NkDUfwmC=KL=%GvwF($+*>4yIY)DpZ*QW=JE69GU2RI}p-{&M_4kU-DHs&x58&x>cEVMW9gqa5D+@ z^G`nmu=M7G_i;U60khL)1V+w+GUm49&w%NIYo$GIY=27?>iELdxR!wTvEDobkA>T< zp&Pi0mOAoMl$+Fq8Mn(Kuz+gBe9A4dnhD_-aa#`(F8t&tAHkY@i%JF?hJ`L~2(*PT!2PZnSB;jMVf=|Ah1956YFKusc;yS7P@E!#wo z1TBDEZq6trd?pM_bd1LWxx-pqxC-MlF*+?!Ko2m0g<@=f>-*&f7T&Ri4Vl%G+z!={(pintft4Rt8Jef|%Np{?VLr^l?QgiqB zd~<3fX*H06;_@Sk94fiAMfSe8CeJVXY*$_uiNAdwnP7gD^yhkNF2nZO5(xIq9+P!p zz;glU#w{$7DT2<~PwM6(;^YU+UChXCS3q8Te-7my`gx9pgEC^!TI(%T{65EI8DxT) z(j)R{P_GZ5cyO~}7PW1!*}K#IksL1O#7s3{1g?<`fIM?SFiF4PWP@GlufJjTypg*f zut9SJgAA@DS@R92c(=n~W>TKmmeHR=V6G|T?Eundt0s0x>`K(I01XCY<2!emTsb3m zpt#z9zTh#pj=BB(=F?gotxm@3?;S8iY1?svGUmUMJBE)r`L>w6$k0P2Rv3&;ShxVp z)SPJ@SDQQ&VpKs(C-`U2>AnZEnbDAE@kcWcbez2Wpq=AvYR5=mM2hJcQh4!tf@|}O zA{B*^AHa%m7!%-}kfCG;=}JUy`b^KYa}_j)f9fMO|E{2XOn}q5B!sgQjJV$%Tt{P=M2ko; z<8e&WFJlmD<8E?%(0W=t#`((sZF73-_<{kE%hru+%6c*8NOI&p>Rg0a$3YrBUh7y} zggZTlCYNB^K57G69(2zw33aRZluPg@VeF$5v5Ah0$B zOC^SehpHGjLhUScsJW?R5up!;V3ngdEh=%MYVOK?%zyG~J-}C6s47qWtktz%H*{gP z-4r|m*A$RFp3Z_6&Lj-B;&-9?mPq#jvwZ^k@i7YTH*qB}33vjS;P2thBw@$mVyWw> zZr&$)nh+`u&f)>scp)TKZUL2PnP@!#q{>29@{QRk>=_ht^eNoX_n@YcN*wM?EJoEN zb~x1_2NojK7qkkz8r`VZ-}nah(}iAjzpYhZwV5tLf|uAY8`0P#zh39=m)u$)NEZaG zn||jvf7|{Ct!rNp(%~n;>i<($@jBlCVTEU~TOHJRs+Nel*#fM*y%N>7j~x%a&9-ql z;>bN0U?n(UfY~unjzXdB79ujfmSLs014YutN+Pz>ff$gzfSAgzKlRo;Dr>b6=2)@)4hBA<-jyyg$M>^J%GRn<*D`0=L#$n}b9H)6vRZX5zT4kr5ofLz>V zUsnTcQ^2#5^9f?hqj<&rw)ybEf^LQDsli>iZTA!>Dz(xoOBGmVvez7S%4VA4hUq^{4z7{_&?jZcq_A}GUmx-q@3=KZ-&HFEVG^{=`PU#Z_SBy zM(xbLku!>{I1SDosc5@y=^`v$kurq#T*ru-rKlnJ{+~{FZmi{d(~8Zbj0ta(LUt+> z18&{>s3Gcx2}T)q<>VW=R=ig|X;6GOwuIfvr{zFInotp{TLJGd$5JUi?kRjFAS~)+ zmUNM@33Dw=V0DCE&G%@lT;xN2&d-S1V`zu+eQz}l*mgkOnoBq!s{#(p@74vLlj3JR zjFnD|!JMi5RCzoWhV)aiPgb-HM$*Rxslq{bYf3u8?!rz?Q5!hovB)@B?Nse~p4H~U z))EjeE5^fI?HTgvn)ETXglS}p7Y|=%*m11O17@0c)qSnZBMEjr0 zv20B9*cn@zoO~*VYl_Zj+XQ+NL0KH{*l-LAEr%&FpurlF)Xrf^UV2ZkfS@2LG!duA z#`Zp_$2|iJ>p%x_>2_b`9DaXx;ZU-2mrM`$VK|GO3NmsKj^@L5SG8%HskY}N*5-L{ z#Dg23gh_OasG?zD0@eWN?p(T)HTuBjuqQzDv79~>jT6rS7^#+C^)(|Z9NO%GulTn(@%0JyQi zPI$PDtd@$-o*G(REmH$$Q;X@Dj%lkN<7Q1eNoCs-`_hFe9=P#=NzS*K1=;IN*MrB| zmxEhJRbUYto-O8J4pO!8XF-c*Ar+KC8*bMG&6ubG{HnVJ8~QMX*?`~HC>u2rXRkHuQ)zqskCl4?61CZ+;bx-Pe?!U zh|y^x@Q@v4rY39;7+ zK7vEqX%p)WzV{D)Lq*`#tD7a5qC{lCZNdZ~f>c4x+=`?UQ?7=q3E}6a7KQ*!Ufpsp zZ|-5)1UZS4M-CqJ*H$q173XYVfOF|kyd_sKre{+z;eFm^7PVD0TU?gyVRpy!>6i2(yK`Mn(+8zibE zafA4>3fv?ejnmPj( z$6BH4c02l=YV_rq+LQ1wpVy`Vq=itvVuhOvD+IeyD``}Dn&yZs*?_Bd;w$J>Xw%}8 ze(>luz_A(;v)It7QOIp(9`&0uy~LNS$pPO60Gyj7Zg9r~=rCklr7%@2JPrapew_yH zvt??Oq+FYr9|A-drpoXWH8c@s8keS2O%sD6JMQD%ks6ioP zVUxGn;|>)8H$S#tnw@DuTL881UUlsCuy5mNCwZw&P}E8sn0{*OwWM9GjUqak8mAH) ztoheMbftLW;X<8iwEfnyj1+DJd9BWbjpQ%ZRYPKU1DQ<$2k&xlJ)pLOnf*!`u^KJAw7P#l!`khMGIz~^`wiwBe*<#g1c@TF}iWymKraL z0kcKiTfhhC6;kc6ZRof)VhYIq@yY1`7oWWJ5nr~9e1fbwlB1iE`wuf{2Gkj5&uJ+? zs{8TZr(A_FeBzHedzv-Pc{}GXIq>K?xEIO!;}mp@fOQufmseXFrJ#c~aoXWp&=uBB z{tQ6Y)Y>fW24KV%Xss2>jBa95~^V}zpTXR_!z>R^Xy+MshOa{pCp>-bN ze&ik2O464Yye3dN%uz?p_vE3c5?zYH_rISh0CPAnhKA$#Vg#oQbw3+jCulS-Ht1Z= zgnx9X8!;jsR8Iki`0@yZUdT>B+90%=Dxp{FesQRxvY9RRi=bg&NJwv zv3StU(M#~?lA9g1o3NdZZ=DVtB;G&~>`rJ;XC~~IF+J)gu$Jzi$_+Eikc(I=l|a&i zHfzcN6j-=fXp1?P#&~yOt;q<5=T6C+j0rS=bj3~-s>&YSCN6d`ReLAT)(&vpfkYMg z^!$v%#_RV!Xgt4@kO=}_EDOtpg71RAL&ln;JGMBzosA~TEg!8-zIucH>I+oKoSfc_ z=n+P1q7Qv3mC0$HH!a{;h}#0tavg7qoIwpElPg-yr*vx(#ZS)Y54)fw~kRLlU(e9x;H8 zxiZI(QKkif-N5TN`0d~MAwl8wt2f%)XF|(uN+Pi6D(XBPtvlCUAQuoNY($ew{htxTLDlC&mC3Zgt!q?)s3ZdBDO ztAGS4nSqC`T~K*$XlJTq1Dvt8+)mh8s#}&eFyzsf5vl28vC{)v>{Zc!i5bo9s#*{) z2RjljA!RDVS}8N)2r&(lJFFQT5V~x`6n~WdI_uAvs|AwF!XLQ3vQhZ={=ff`3e~rj zVz>{xf*B_ujwY94jtNXD4h=3Fq~51I;(QT+C^n~(Go^UjOu?d= znK~Oy1<~Yd+ZS3hw+wrt8hBW{fQ29b4vZql(^DoQb@GYw8brtvw)KvzEe@FBEE&jz zomhWAJ`sRE{_rFFRL^o%Pl!vP7EoAN74`lB)~^kVkxn?*?!fn)y9ASKMDCy-6oRL6 zVTq|}v5N0t{No;D!+X{!1PHV#RQ|iO^|bsY=9-w%x6^-akRkD-tPNTzY5=E46hlDP zif>eMeI@>D0ln25qdH&#JFFKy`wp(%AhA$YEANnNBw$9F)M6V{GBOjhTX5WJR$Hpy zHSgV`tVZpSk@xhf0!X#!=_>>x^^5@wOvChgtRymsXdX^gZ#dh!O1 zzn!wt00;Jup116YXpS%JM*(5A+p4n0u_l%F&pEZWl9Q<43qtc9h?r`gEle)!5%;8a zcaZu3HOVLC|IaX+6lSo8BY55X-E;pjUN(1rpGjsoxe*W8GCCr*m3?x~vY+ynakA6_ zq->|>Y*-+fCn0AQDx7N0nvG4NA8ek{?1(Fda!=ZJaw)>`y3cObXy<1+KASEEgo`gI zno41rIcPCcFyhaLV3GB`=Z-IOqPiCu0JGnxSCHPmBty$?wXM#Aqdv$&kuy>zR!mk1 z&p{ziL92bu`u z=0lOh7pb(QbI2;$LeN2g632jy`;euV`!q^@sGOp+ii^6l-y&o*1)GRc#%RQk++$`TQ z7C_5)InC}KDP%fKvxnIuos;GabB6`t9wc?B;$BXV??yRAhteeB%7=1HtuMe-_rTQo zn%38|Z=cXVP6uvFT3+FTk$!v3>~)`~ilY-+Hz#-yxC(@wYAx^g>DkplAjUrE0`@&u zp&gPg;-FtWG2Mn+WEGBWPXc)YE9V~RPtHzKjybtJDkrnraa#}Jo_Ef>`w@rcmJxmI z?WjgMehMa%S`khL6-WK__!iK@H$MJOp*L?ga(8~Fa@tWbJwo677zEhY6HpJvUqNUe z?P07&vjZa!6K2(^kmlRX?T>O<_tvWqzsaXBKE<_x4`08+V{b@Bx5SS17tkFd%Glu{ z1kV2(MpXi55qm;5dW~BN5zHU7cEbQQhoMEFmmsr;=)NPjHFt8)_*e%L6NmZ^+2@r@ za;esVfap%c&Gw)P0DaldO>2BV6c)HaQm6AkBxOQZB-J{o+Fdd&xm|cj5 z-&x7wEokU7WmLmH7eG(d$?ZC6^-+TEbJ?|lD8fqwZYq0!x9p=L*0Xb=hL`LH;2XEV zHxI8VEc{!4<=;i~R&8nQ0VJ)>DT*sruOandqC0wDdjbJ!-+Pgfe)}6JJPCjN_oJ$) z{j?`3af3w;FDF!##l{-JJpzPJB}}10vTcK1tP9&P_CL{qmzQ)r<=zd4+P4}ho%{Ef z=Ebznd1S~Y22>hANBhYFd<$$dBidY&mOR~~7f?3}OZ$7j(*&QL5~bj=+Jv9vA@kgg z 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ЭOVG*iF4KP+w z4&mN2y*7G-#-2p*_KcrLEMI#0iUjgRgr9%`MtXLxo=j+AEI9!mCL%>+G z?o-%i33}83{T>Jp-#J{mh=y$(w-)mX&hFlrwGHeg@I{=To}n}$h-R7H8}W#XuRk2H z!}UmDTc_Mz0V?@qG8@i=zwiIh@@V#x3%)=A^CuG~YsoJqg6HYtO9) z7xIwP8h5;M;&fgVdFC1Z(DKq~zE*Cy1LM#nmdE28jMlW*L=O30F9kcY2^fw!F^>+w zPksV7-t!x{{N|s-mHY3(jfdWh#iMVT-aia5Z3W^?8v#^J7r_QvXhKZfNasO$kV)O5 zUQjYpWNqa@GBIh55Cgnd}-c6ent~ zSgDv~kJZr0J~lX;1#n`?jP8&G5?BkT*KgtR#~;I!PdtKaPdda=hwQDuWmIE7u7_oK!71O4+>F`;k8PVWog3Oo>r2&*Cl&f*cC|LXA|GCOuR~ zZR3d`xad$D?3NLuYD6t~-s>;p>4U`8mpvToCsthfw~nEYTrn14q=>>1-O(&D6EJra zkc;-PfmB1i;6A?j&%yNREQ*_mL{8$i3g3U3wyY?}2~Q~{tPnBrJBe;|q7Tt9SP#$w zA);1tEadXi1OAQw=}}-@iswIL#H>}s=TblxJfA1eiG~Z&fe8l46K!LneXF8nR^b9w zl>i_6IRC(Z{DTPW@PUv0YmD6iYMopWI=WTxLM}m8zNl&uc|5BzfUpt($P%zG3P3Kx zDU|`osmMT#a^Vy<>75@F>)hVlkW?=GF=5<}w|j#6Y{Eyp?=bmS0DYNX!EQbczm z8N;Da1c5uR{>n^G$3zq=z$7k~g+L+3f$*8}blIa`#6yM}W3Un+oVQYqBxE#6GDu5} zgPdyf%yqqF$`5m{QZkiu73+{ime?PKa&ho_-zFcs2CD`LlOo$qo>=^gl9>#1NtP7} zhr0!bxtQpopQF%Vxb{e^$~2Uz1>JF*&M0B|Ohy-O0LG&7HPkitRmT$?bKk;*)Xl2BR2}BN@dY(% z;p@KrGkU&0(xZ~bGQdF9^!=+Y*#x$1YP7bd7^B~FZc261g+2>qOs`X!h+4*0_ybmY zWk?moZiBf2S6v^97}0kRplB>z(C+s=5nG3Tn=UubovzQkl=c{cf%bKfS*`21{=w*9 z0JJ4@BOinpv-6a47+ux*z3)v9Z7Jt;(KW0ZG?wgF5V2^{SE}GuZV5&4+qxN=KkqN^ zMCHZfu2L@p^u2iaAzZkt51ale>!gE_n}fSlr3Jeo#g?R)XlPTWuy!`GL9%k=0%I9K zpJgT>+~sb<0;p}I#**Xx)o%}xW^4LEhQn493;UuEfJPzE|CGD&B38Wo{d@_yLoUNT z7wS%u<(Fzh68&uKf4|J&%87DolS05?I%i8i4Beya(^<3o!zNA(5{Bs0MOma0Lo6-8)D` zAw~j$i4mjCcBakluovRX^fy~%Z)f^_v~t!9H;>o zgrkBpV)VpOp*!(x70R3{2gc$Kriu;<=0R2@>A<@|!GpiH(jl`YepfryZ79y`Y= zA-5=?P|&tlA~wYh_%)j2ZK*N^%NOv{per) zpCjk#ymjLgx!ByusUfQ3f`%KTRB=yk#ykXUhNxC(1W=qYWxQ9j);M_4%X#Z3{sDM# z#*^nh5bJtw_%h_?P3oLD?6gxBcI(KEg&yi}sb0q)Akv2x48H^)omz@H3^e=O-9L)- zGnqKBmu;pKJ5~V)v%jQ)S{FdoZm81E0DvZ#3t*)3XH5{P%?lYTMgYSGohx;@JU#|K z`kT1^=`Y}pcfFk_%ORfr)%PHC`1tFISQOpp-C zNZMh&qkv&>1B432(=(nu^>~cq9iI2?-x<$-+k3L+dr`K`+z4!2S zU;lc1*PDJP-t?yL!?T|M;<)kDe&&n3^Htx8mwfN<#-JPHqs0oq#MtUD1#vv>ID1L~>B#5Cg|5w9ZT3cUpTFRLPHZMI+a=kxDxE zZk-&PhzyFT!bYM8SjCCla=Cfum}{xILm-)~bAW5$1>bsrTUc=U%Rh&UCnt`+^9Xg3 zOwQ5>ipvms&!VBhCNt9gu)lvRINXj;Kn}8Uc<=m60!gqC+1rf(S6Z>=*})o_QVw}; z-2+|GzC$Ws28$RaLlAeIkdx~<d^m|3S@5x z8*T-Z&mM>RpE~zOg9|w#YGRvF^Jy!(rx~}1kdOiskyR6FT1Wd`Z3V~LbqqJps-S;P zy?Y-eZRu}di3C<+oh#;?n6pr;;;f8N0bT%WshH+0vgG2VVo{BuIajQcST71|Rn4_T zR@E9@vDF%y`9~1L_z)ZRR@m@fo8E{)W>ide4dyvTXnjplA1$KwTJeZR2$K(5sbWGd z+^I*ZXl-&qs>?*To7G5d1#S}??za2)bX;6)>$Lm6-K>$+KMXzm99&CC*4~l`VI<+A zCL01^*JJ9@06iM*TA+;mT(K&;DA%i`3+RlHK#x7Q@q2YWnI0*Rz=BqD8DDg)!oF?_ z$lw_1`Uq$Oc3X?+I)RP5l$B1@<}EK8#R_kZwCM!35LH6>W!=U+>173?JePv(=%5;MYy8qht|Wp3LsIsB zeAMSuKR6ehv28dSXu=C$XS9_UfEK-r?Q)=W%Q705SM1+KM0b6*m)PIgiKeADO0hIZq{`5xcZe{k2 zn1cw=0i!pUw}!)`=EngH%lbnaGXdcMW5B}1zAJB^wA6S2ENnAHjBTFZgNU9UTW3IL z)ME52Wf(SzWa>>_uyVpA&!o*tBr7OVU#FeTB6I8(oE#qV==h)?lNVGX?81wXe7WE% zbd#94XmLw$KkE}U*2=q1PPpXQcrh(<7SeSF(?v=#BSWev%~e+k!p%qoC(^x4aJ3K@ zTTl(+JPhlgSX;>9kcG*@Ovcc=p5a-6aKi|ZQ}Pw55dEI2Uw>re-h&_}MpOKh&HF^T zD+Sa@#FUhU34sL;K+1=N&hOTvtrg5cReM^~v8bqJNsAyuBcF#_0CtI`B%`dM*JA}e z^a2JWrUVOMuw9)43WGmHkTmp0vKp>n{;HRum6(O#;v8x3 zVx*eb6YUk28o8R(CAz%z?Z&9Yyxqe&6;I1dsv?)>LRF(pRLeMrNnRsTIfn@xsu&xn zD5bMKR`b)CR-X+quIYOiD)2%RI*~{WS~0R)$oIYvPk!BNarc97#pxU0gtLG3f!MwL z6H>cA$;Is8WWaylA$2swoCOW;=Jw`X#jx%n(B3Ngq zjPtY1vE=h!_0o!iugs@D{}dj3|1aS``Op4n{3rj}AI9O;yYT<~gFlG>`cM6ldge2q zpU-*Di&ebTDXv|=#wQ+oIBwmzhU>S^_|)|qaqILUqZ4foq-+$gA>yVyMtwL zEF%sNm$-W64t~jtUKm&JxCe*JWxb!3-9*Tp00961NklH81X~hJiDH26@_~*y?oaR zUI$+AO?UAV4?P}NpZf@JeCocq^j#-${pW7PSZ2jQmd|W6h;{uJtf+`SKib+--F0&6 zfC+k}JT~X=D4jHx6@f%1F)KH$ftV=8C&`@bos{CrRGd~s#DsagAOn>MNo$EoR%S)a zp?iM$0e~*$zaJc3ppa>RMLv~x(%q83Ml_i z&BaZF%;@@nNFb{ZofPpnikLA}A0{?+L56YK7~N%JIzKdaWe&)rLxC$tmmUm;)l{la zA_g?8<0EA`0x<^|BrAeJj%d%n2(Eo3m>X23!V)erwUmnyLoeC=ZpD9*sWXh3DqIH- zAbix1AlE9Ao&-wcXn_g_M%D$uiDfKUBREaCIX9}v0AlL*6f;M#{f=lOvTjsmdvByj zi3}VaEId9riXryG1NRXYN%$VwO+qgKm#Q>26_{s4lw!DE`kg07j74h_C^0|7Izoxj zRB+O^51iEXXOlSrs9<+b-0#-)M79Z4LvO7C!7U<3p&N9+O*PHjnh$zO-E@VUEPBQ| zA)>6%3}L0)YJf~PS&)eGEO}$OK4zDlm#k;*dap{#UKhDtHv{gHt7D-1jQzN_2wM?F zhIT4Ub%do(8ghp_Q)Euk%|_RJ{n@J9R9n(lcpCulg-abYv=_+(Po3Q6_`#m&+Ol&t5v8ZHj`LF&GLgQMjWgx>4 z(yGKpC@8Y}^U5;l?fXh7g62Czq{5zb(4qwQ*VnVE(GMLur`&`fw(~pD>D({VTo38z z5n;h`UyRv(_@u`E&Yr#0hiQYbLxul|Lbj$aIv_d_#eP#)&$n--^!`J#myPdR=3&|< zcI9>uQ1PLMDn=%cP-oW4KW0k8G{9KV zCOwL4>EytylyN3vos*iEr#ihs!$c<&7Q&8QQkDobl;z41h05S<7(PS(5 zmPeYvV$H6OatFL=j*)mZj1%3QG(#_zaoL4cCGWyjXy-0@Gp>ch@+@rY1Bm z9J34$bL;fM`@nPTiS8k8aRyFe+gLC`8$h`Q%rK6ik8=n}luj^mM!8@qSQ%*kDrTnh z7ch}Whe!Cpzj{Ak|JrZGSAG3A#(UrSPK;N6S*&r6O}3j2jI?KMqwFLB&;+E|X$_%< z_u-h86U11S;QcSf(|_ehc+Y?I2e7;U8BvdX0X#Vha}ta|%qeGaHE?3TrON{!3QKxd zNz|$=mw{11#0>qtXFQ{mqM!LHqfQxtr2>Bx7&0SgL?}-?xfU!iXi_v2oH_u@?L!HA zDk2vkr{d~Jvj--LG4wv!?GO}V7S<(9tY_rG0oMoL88=`58a)43eg$8A-Rp4kU%fBz zs;{c0W}+@oSXe1798%rJVRBQ03K|<5DH0o{wW7z?V<{diNs}CC>QC=7OT{K4qoR-u zax94=xUM+8wq`6haOsYPcYX7BBm;Ql(+}h6-+Vv*%3t_P^`n2`FMvos&oG-;)FZyyc+!G+3J`;T6^x`})SHY=StgJX3JLGa~Q`AJ{f&j3BQ5WR- z=~MBRpZ$sPfBnQy<0t>gPvZ3ShQh{jnfc7G%xAy&1-x`+7wZgMoZiI6<2M|uMpcA| zMIvHmag+$JDD+`n+l-z8X?6F7_M&i>*c06D049PQ_B7E;00(NakV{0?(CACotXgpP z9|Hq1C^H89Anv{aos?FLY9Al={rkB|{tO^k(F5eh z9>zD(g<9n1Kdln|^3((<}Dc|@C5tB85v&Zqj|HzLZFyeEMf036jT`f+XwSk3W z>sngL5HrE(YT5w00-`{Meo6vD6`37I*TTq%2_Tsod)xkT$(4bHCEEpxg3i#{C|VAV zGu>!e_x>T#IJsb#cRv%?waLH~2?f8&ZN`~Wr6Dn5r48zAU=dj;%_Y%7eO2KRlaWIO zikPc#H)S&mc2VW4r~7hflWS8!Zd{3^5>!keqO4{}_UVX4Vi1vIK}9YRj3ol+O?ncW zTD5>013I295z|w~<>EB}zfzMItaVoAvf#?m0j^v=j2GQ;q&qI8Rb>na&x(_-XbodT zW;%BhJ^nkmVg*+nT2KsR0w+u2j>Cb+7p+B%iloFgN;m}e(+vV1en-(44S|E+Tb;K8 z8@yLjKd^>7xCyCT3*xNXr=$;2>~XuTn6uvwNc%AlY3i6QDX^7rN6;M}t=p_A6N!vw^#2&Rs)fL}lZeo0&PXreo5KF3ks zHL>?^4t|z@s4`a)<6h#^#)?h2q6G?GY#2HYbH-kFqqs^Kk?n&=udz}f zus88m2r#UHN)buv2c!be3}5L~fLS)q%EE{Ytf~aH!4#8+7k-#A4#^LC+k~BNb%LBI zQ30?lE!!flTsf}KK5;$&#NYbqI9-c&0*~k$>dt2|JiB6M!;BT9fSKys(XLDZPjO<& z!QIJGT)KQoxiCfQW6oGYC{s@*)%}Wi6RnmW>vIp3w4eUx}+&*9@)-=QEYC944Vq6?GW8Y6#q85Lf{@MrgiR9}~7oi@+RG5%eCEr;;9MB3)kBB;(-lAf9;a zW)xTa*pK{qeD!O-0XMGQh=WXUUEyYs5ATQyIyVf~VCMX71p|O7qha;ef|ZDz#5&J# z@TFfe*SG)7m_PsXIDGZ%dE?>FszF`DmBOe6l@pK`Mn4mG(RFS-dTv(>E($SYRA1ys za9$YBm{l;DLb68t`gGvpL`8^eVELc}k$7H$n6fSxS7#YAssS!cYbJ|7CiL2u=3dKyxW&+jo&ZC%> zS-^U0jk9_JBL=QM<8IvlqBnsR`P9?b@WdxR!7n`gDg2i|{NLce{New??k9oEm+y{O zy!xx~(&s-HU;Q<&#LHj)GQ9Z3FXSCp?}%KExbvWMtQWj~dV{CeAI?vI_6vOPZ+s-) z^=rS5_y5`l@v#qo2-lu^7>TOHf^|8`IJpORJpXI*?&m!dOOD{Y;OW_|xbgG_LK2b4 zu@s{+$V^f=C<3umIteIX(rvp$z4TBTkgS?FL@L< zKX(Tdn5^f~$@e)0YjG=2c^kymd~Tyk>`w{DW(_cKy7b@eOy!dUL8z z5D#9FfulGV7Q=LF~%`I{r>kCfcy`B@CWhK^+zf(G9$at z8YTy=5@bkmRy0+k+)e`W9MPXS-a8l>7<9Gi=GF+0f^6VR-RcOeG%2YQgJ=fI7+2ss zJ&qbnSM!!I*8(TA^b>yMDD(xTLXY?@eJ#&A8Tdo73A_ z%_ylDU@V}1A~(XV3+IUot#tpgPpZ*-)^Z)q_PPxjcM%9mAd5`V|LN4CT zWVm>(0($y`YG`8wa*V2~Llj9@VUa|r)(s@a@83Z!uVLPkVQb4$w!7^BD z0IkAx(p4Aj>RjFoBLZv2*7@%Cig@5Iq`5C%^{m|-=s4y)JO9mMyiXxNu|Bj~WWRv(*R?{)lbyS8p*4;VA*cAabg@Nh>^hjG1ke zhqCc$f;llNFdZ_Y6|1O?I7&8#yX`w%X92{py4;OB0DT{D{oztMrf`9guR8D8KNByx z%|t$|3gE;HHEe6@r?Q)`CM2807#@i!$0jNNwiMEZtX18(?RluApWCL>j%t-a`g&wB zgRNF&lP*B-OQ|6cZp?BcL6%txh9m%v?mX#%btM}>Y~6m{qz|GM=;OZI%n+E&D0j+S z7;g1KE25npwlZhwS1AdmWfNtF1)j};_y6o0Pa@l#C1`U4f4+l)<|1@YgWbV(!9q<> zb1M>h7SV=YoSURX4W(8ycq#R)D?`2nDMLT!E9}cscQyPH`%lzq?#-z2+U}fdvAE-; z`EUJMXntsT5rO(0sew1m1rX{c=En3{rqvyD=STfBEN#(-UXdw2&6D6t-~f?ym=YTU`~LG1K+?v&%LP-#0an=QcCo(gtcj^DL8;=Q~#h$1r=CH zPFH-eftn(1tdlrQf3Bk2V~7&QtrZ#cU<J^$jRKq8ieGOvrH%`0J`_Vd5w{q%lP5b0Ro!cnd@PRVVCp7GyDUpe0@rnsN-pNT&7DZqG=iw62ItmvX)HIe7BF`yX-7 zFa1*F)jNRGQ;acKn86BEva(#54XwKw2E|LHyGVBrw$O<7%?fUG@l#DMYL~cu`!Bb58FyFx%0e zWJG1C_9QuTAcMiTzY7nZ&42aRP4C zs7BAppXJ+p}zfn6P-Ffq?gaqa8|awHFT zyLj%)zbtmI{z|Zb^V6Gr`qArg{oya-`eUD~cmC3Y`A$y$oxl5cOmH?Bx-Ai5Td7{x zz=}aEhrp$~aOumxF^=!LBQ75wV;l!?k+`@x#rdrpxLK2f(ZY5hrT&p}%S|-6tG#vR z%E-@nsxqP`W-gf&$n6QK(khb4=8Ts81CiPpCR`&#ZVeVz0=ZkXrZ04hb7R^|;C7fB z461%Ls$1clnhb5NB7&p8Q+Y9gIa!F%u*U>$1YY=tz;8Wx6_=lL4cC4%dFQtu#I;`t z#Mz8I36qRzFCMM`!ZgsP(}{xBj2?Q_h+YvI^^wO3f+J!8jB44xRb1iGp+XLsB_yl} z=-}TE9#FgvAR| zxHcGbUsVM}bgkg$WW+)sVnV_>*V_P5Q8A4LqQ=?6aqP8Y8k>C)r|*XdLn#Ul~cQx9f3-uMmAOw zM+XC#5mmijqfPOYv!>LiLQKQg?jYX{8XIY{^t<-@gl2aTv^pSifHhlbf#~LB2uqa5 zH%0)fF$N7V4d0*wUl6tQDC9JNKxCq3HAF)j&%)z9YW&q!5O*_?P^ZDi7TR#wfGC`= zf}oqh?P(?TFU8IHzR7fPHJc9CdJUq6M$M#T@OEaPhiugt?0?kJrfZ7fbgnI(=Hr^` z4)1Hl)=?$3Gl8B&(j!b{o6T-@t$rXK&)`vNH(MNKqy!RKuk|#u5FGM$>Ee9zbFgoX zMtZa=O-y)75YY*@e_zOMBPfI`q{Ob#x2pf4cj-Lo@7+#%^B!Qc7&d-Wed&5H^nT0D z+GR6Mb0@e!fxtA2(NY&ocV4w@hT@Yp{P6tFb~iSz^5Ud_rzwEE?SVG?0UJPwotjb= zlns0Q!Zz?tszA5NSXDn!0NIRGqM0dm?i;K}7ddD@f>s%*)}bVG75jzkyaiIEhFfF( z(l&`=5X9mIDO12%K&IU>vk3te&S9rZ1~dZ|E^EPU1R;8Tc_ytYFzh-`zf|?d+GXnllnouuX7|Ne#XwH80o622bb$0BEG5r{koQegrVW`CoGu>>tf~28 z8oWfmPkOzEtYJl5cnxX*-QWqX(dA8c5jal=l@>0} z*~T8SX3G&VMzAKpd7x5}8XYOb>SH#FJvk(97nJmssV_>gU@1hm*fe{hJD2Q}~WV4R3>UvedCiesai>WW=0L_?BM&NA^;pS_;x=!Bt z&WvyUHk`fXXEDF=+aga6Q8&+&q$qGcIX95E`9KI>dBaVxtfHIRQtr-bxn+XvVG_15 z2~6Fx_im{yo9f6-fQz2nZWPaFL@=YyE^vBwhSR670acZ|U0%NH2zTB8Vj^CWnMCf6 zSXDWT^ZfL5)OyZ3TX{a2^J2xp$zdEUW8}dRmk|*o5iE%<^yaXhUhwqRb<_>1v4*W= zmt|23bMnlf#+GJTQ$(45hd(m}n+v3KTTB%~95ZTWjaH0!)FlvsX%K7OrgI*nPc2f8 zm+46!93oCHaO=@Wxw~>X#vLb!Gcu?lpitANnC>eeQE~`Yzf+@4%wUw`uOz8OaD+@w zL~5=emO#`>oZpIi$=5SK`rr{Rzxc_x{;w|K^0!^Wjel{DI9&>dBg*Xla?!BJDlpf{gReP^ z&;I#yB!~W z^t%&h5IV4H8ryQEtiICrav?-y}PuJ)@g5!Jw zRuBVX--5D#tYBuSc@?2~W)bc_=s+rF5V17Lp#mwnm*)4mm7EA*B4cw=CzAbrLhbT9xxmbDB*b`mcbd_WjlSAKTo=hc;9V=vg^;h!3Lmry)?7*^KV_ts3c?-cm}^9Y9MO>zQTCz|9VSk<&|tcD zOUCg*#H(1mTs zBB){9->D}64fF7w)^tNKE2BQu!Dn2yPXoPPgkg@Z>K zU2mdP0V$5_4s)w3ec#$N8(t9?J|yi_t4z2|q>X2r{owiqL`aTXghmERnG{hzL%y7J z(o8hAO^J@vRtmt+3#KW{3#;Ygp-KTjce1g)L={ke>f1XIP|s$-{h$i8qB{^=Hc$#b zK(w6G?DixgdT`Y*r*)k|2$li!(H7#xn5Ghqf z&&OL)t|h3PjKIG0<2qhNBd|ROoxiSkgjET~i);xiy0`H(Y{4fLNN5WOq84?*ivVW^ zN?}NC&U~-KM;--)~-6P#SNFPvDz910~QhG5WJrAri)X|A{%R{KG%c;DA;k;1L z@pK4sVmlYXq;5uLw1Zoe?_ZR6Z1KH-=5Si)%tEBrw3W- z^Twl3@YdsxkGeR=z=*@+gS>pl3GTY@3XYGDF_s-T&*J9UP27CyDcrnvEl+P;!`Y4N zIK6%oT-Ej&%Yp?1Im~6Ru*fCQA z7B7T8%oQiF?ev65T4F)O#hQpD*I9Y}bis>W8#p^y;^@mSfJY`yzUMx!=QHcpl%u?H zOKRv_fV>*s7@+lB?mizVcW09lkP@-gZH_(Z%2JVQ081|w7fuvi4u2P)PkP6Pq<6F@{9Y5dAqxMPw zP?G=>%Z5?9Rq1IXsuAIlIu;9AMY2#X0}n-@&`eWG0GE&Sh1q!)cEKG=Q?%Fstxnji;1~1YMq!D#d&ejo=;YC$O{wO`XOpU zYPJ}dkQ!BExw@aKhyk4Dku@YNo2=?z}*)=U}^T(B)gXIZL04H+k<+h$gK1WCy7swicSb$kmWhenamX^noLNnuwa#>E~6O%834*R?NG- zgg$koly%fRfH0=L z&knCnH{kYs7ihBx0}*a8fTaMc#6~|y>Ye~*K$*X6gjOgk7=YfRs_V+ciZ_9avn^?< z)c}|1N)6==FgN&M=7@fenuuW&H11|}VMRcJXPQ->Ey>pV)U$$vmEJW|3%5wroC680 z=PTyA9$@Y!m&+M7E!DH%7{S8W-=C9v&Vn_hXt|#j!$55&f$AU>o7IfoaXRS+S}&aL zKAUxQNoG<-U~CY;w3?+fgU-|ehL?sA`Ym)%_Oj-J$)3n zBxVu%2Z5~3Jk5Wv{i<>U`@PRHi4>7sFp@E5A#-3LHH%#$da3n`d9*{l_q}-HUGE`& z=4Wv4fB1(`?|l##pZXl?@(D&rxm#Pk5C}DkQsZQu>uhYqlI+;mmqo{gF1sCaO>$1mwZPL0 z%v*&zI|t7$kmrTn8W=JBpTNMt5<38q$v|qp9&}K1fEg*z2m>gA z4WEMT3XcRZ+M~u##Ls&oHp035cgWc0V#ip3<73Q^d=mAMU&sAF^dIpBzwpzz`u*RH z(|7zLF3vA74i6zcm@&biBsB>a(gIC`QaV~l73m}B8Vv7AHxWvUhgo+^BId-!y2A^< z;R@y;j$ZjV)<QgQ7Y{^q>cQ$twW{9-rh}q zE+!BxR<+lg3p^PhF{6(ls~9nnK`gs-9l!T2NBPlz@+d$4xpUn6)pz6k7Pma9Gd1Ms z&2@zUpq|}yF_BR2oT`bt*#vbUb!=N6A7VXCfRE?j{_Fo8krhup_85;Z9lC!Zljm8J za~c@46yCeTSFoRhG?_!5tH=!36g2RKNa}$$MF2`1u00AZQfNRO8_?GoLQo?ZiIfKm zrm>8>gQkZP;UPVQx;RntH44lKCNc(c7z0)TlZ;eMO(d2KF2=oxqMAyn<_z0D5kL-O zhKka0Pe2eeSVfZKHoO|j8++2s#SfG+>FOfWMf-ghIs+9`-!Z9UkKI6(<%Szw=_nS&;%DpO4K`+$y1Q{C0_Sd30c7s5o?QT# zaejJz1QxJ-^d(Z?nZ|w9N)s0h9p{}Z!w_Q=AWY*}p-VJ%Lzby57k*uo4_M`>5i?Z( zOwX>W0W#et+B5dVx^?vxucL$q)3KSYjle=!AeKi`uBOMJ%m!7Y`{iQlGb1RHzju zJ!qNdRw>fM_F?}#HTP3a^Lh#y?JDRXm1dwy#imjwyZIwPMs@i|6m-tL*^sWA0Z&VI z@-nEqjqy-+ftPaw2yX&YA`y~76X?FM4EoF5z?O?8-4ZHq}xyPhP`nao_W>RAL1@$xj0l~S-d>jjXMQ2_%`hPqkzh zm)Qj`8$e24EYrA{sk!!9u{%1+r=EHWv(|Xa&;0lR&*G^sK88Hm&03XV7&8LH5_^a4 z(g{Qrqlq@ag9t%&GS>H#$MYq?fp^rANCE z;Ocdy0ID^tZkTIL0}C!&1D8hp-CaQ0<0}Gjbco$2J`>k};ceLc=wHJ9Kk`>mAAb+{ z;Jd-&!&(m)j+ltBiBOu8Bdu855)P1(MVE6IeMc1{cHzA>oiFG$3DB}lr;dt^G|`w3 z!P~xPYTS#=Xt#Lu{58?f1}=iAlMy%8SRff8S#ZD|pn|G4xC5sV29x@FnX-h_A?d8B z@|=|WUOil0>8aOlv+!{MAdAv z6uxik{pGEknunB4U}CEBGq05n+;Gp%I?c1h8L--sfBiV8zAF#K|)U5Tjo6d!G*6 zag58CiC76ICINM0Bgx+U*&u@IAld_rzzv z@Y&cM9AMKc3xF^qG#8U$rY1XVZOTJ!h%j&>%Z7`{#LBG)rqiNe(N7Yv%vOKBB@~bC zzrO_o7zur;uWRAj~_nJiF|wjHJdBIG&J2 zV^D$!q7w8;Snk#YE&wbjjr6(@>&1*%HYHnyeGEns!x5e?e)ZF4fffI!ARgu%E+!pi zYI}WNPac7-JyL~h6pnNv(~PKaX@Uku1TjmdA+tm%hid^c5VMeFHIF;7!5M)S*d0$` z)b8-4xC;bVam4ciD@n}oT)$ppljPwdUVgmX!gO{c&V^MO_mZ(E!NpJjaDyai!(-j% z=+12Rlh`*sT&DZEhvTokCwSYRJFs397m{Lv)AFs{>UFi=VF|FEaVZ8eUF ze}L&DR{g#-a^QDo%u!9el}DR9f%pZ{pk^d=9mXfKo0s&Ea4%|fyPdAVWAg+NHi`|~ zAc)9xTe*>dbA^94qyj~1p1C)^Wc>XF_-z3YE=sfGGqx_PXGOP{%Tkxx&$HP)Lw2u5 zouLT_J$0Xejr!{NgvKfYcU!?6DlprDf9v!G_vQ~SVw26iEE}*Dh~DysQlyzCm=rNI zL2zs{IFbv(42|)y2?SrRa(QY-I3r}JXXzQzat`yUnz;3En#$~RK{pQtvq2m4Vo;!D z&{MHSiFyiXg#|hZ`P=WHOni z!6a|g5f|_zs6lZfY?@ReB2r4}vS)OnEDIe8A~R0C`ZdK}mj9u^7}elM!|>&+>i6dD z8gqM}TE()WCEbmKrC?$vsb;hi@h0eE=0Xr7gEhJDG5CN=FN_$f5y%3kSFp?d1ehZ@ zb{niy(bBQ8sB5K8Gsu`oB#X1VO_tI|v9^A+*5OF+(Ur3kjJ(Nh++xK?kZG=3T}?}H z5$Hk0X^dDjm`U2>siP~P0|`BcRg$@l0Ud0xUd+o^PVmv+{MUHy3to<+!xKFAuil4o za3I-gMxzN7L7NTh4jD)$a}u&{^r*awa-SgM%#1*tT_C>ZtFXTBors6t$>l3v!Eq+r zOroV>Dga{(Og=m^V0DIBdBRDf6SU$&dZb0GMJHAFC{dHT>M|&jbuHKdM>FS+U+z}+ zK46sYY7Jyeh-WGn7X>Vx?A^IQ$#JhLJj7|)oZ=d*(P0A&06wlD7)Va?_=Ja_e-w}Z z!+(m4|Htpd1Mhej4#zp>FaAPeR`BQ&y2CQ2Lbmcw(4$)fOA4rz!H^kzYN!;O3^+nP z!zdt2m4{gVCh9c8AmWw=DML_=KxB{nSh^;3ir_S8l($rOgeiV5G)m(VXHn-Qw;T=U zdr^~cY!7Ei>LgJ29M%R$asu&0o8}j$ydGm)Z2KHblMq9B(sRpba>-wZt&vT?BLsJa znHLi?2gW$S{M^HsZ~y0U$E#k4J3jDkUOfM0yz$VlA%F8DxcR}4^74=UP2B$--ygRg zd^76&EU_FSCcD_Dj_dIH=vmBAtg#89@N+f{Odkp%!dskTAh3wSEild#7dJ+{;M?xx ztxJcv^1x^7;xj8wzU@T6wN85*>Hbx)42dav7l&gmsPo|IC*+0#{r65gUeomWpvm3@ z(m7vy%vvkL9l?QR2a!E%AYXUFU;WW*c;eQAdtY&cvs3vTfT0u;lE0%Gf2BIih(Jln zxrL)19#6EPXJWFJgWXInz|$YbU;B~&7P%ba!yo$ycE?BZ|Ipr4YU~rK%HN;0k%1!I zw|=TrPXXoA24Xb%U;@~6ZTIe=;=56vib$ns)y$b~+9-dC7{HJ>k@v&^!wrWOL=>}v z(d4(*M;D;-Ao2#A$&e8*jZ%=P*sU;O%KJpaWQmoDi^j)5gDk8D{H ztUiF#v5Vz!A-n;Zp5b@1vaJ~1sdJH<``otwcmz9|NQtBRNR9)sLS$#S$>j#%#t~~( zx`6j}3X^zcc5H0IBKC!7m{xH5q8$KrdWDEqk)b~0#DC9#ebD0HXylI0xCl;kuh*~6 z8?$TE+Zt~6{II8@$P5!7S=okS$my`>42%z!3T9c&0}(kto6V?V@xT zq<_M{0>HUJ&XUyO3P; zytF1P2j8zDU6(`7*j}WsHEw$k+x2K6ZXo2g!XBYytePRvF5&%;Bn*pmHxhwR{pBVmd9I>}+!VhO|+%EcA+rWf1 zRT>WhG3;Ee2-+P@(cjK9qh&W@F=as54VvCF9$hp=#nph$0fFTKo1iIkzk^_}k1m_^ z953dGDza4O$3>k+Bt~MVLX}P)0p&0$42hB$baoJNb3u#E-G0{(8`#s&w)D26njo(X zO6)NO3+^>kj)=&9M|y5!B<#k77TV~vd8v*Rumoi#OY}1q7)C^&X_}E)5iukqKtx8i z8*AwFJe|tcj6aOHMGk|b3j01q5*(>QIZ7&=m~8E) z$kDxAJ zR`)mxi#K{yMKNS*Egpqb_k3fvWtZVZ;JrmrWT-JhXTf=|HOs7>ptj~9E5$m*NL0_L zB#_DAbSwgTbWVFM1x%7r(n4 zm9WdT#2Bfh$8yCJBLLXbFBCtrv#PLhk5r6FBqp$Aj5%Y@IdC|TN#6R^hky^g16P0e zzs2D%{3G1@(5Hj%cxS{UE>13Ee)jY6_(Si-z|jt)AjxpA zVcj!(lM#u*=>Dny*>{EM{O_=XiB(E_%~9dvJaKVj#*4oBDlRVFllOkmmVb@(kO zvKW{#BP^>8T}w>ylJ++@Tu9_7&C>VQ8!9XTV}h;bktg$_&=M;#q@ znt)8j@m9fvTZ<|-4cP&3#2)WjNPz^&Si6-hV5Tpv0!DVE4+JnWk&#ly<%IGEyUnFM zllr+JF)L#gniruF8Ev%f69XZZSpl}B8P~Xi90x(k!&CrTOrviS*&Qmvw7MLBBbqoN znz)cYHW9>yf;xw{V*wll)k)i=e23 zP_FI+(Feh?s-9RBt7EG1$DsU#6HwP8EDSMz_42HS%LGa%QOKi!38y{B%a(?xjoZRT zzs6uQSs@cx0wVt$tL14Da-v+%adh=c9Nzz;gWr7cU;e^}-}>{PyyK2Lo^$oSdo>1B zA^;0g0S6toy~kzBvx0upr$?JlS zY5~AaMI$BG>0JRD3&Uyz&Mii1H^cP^z*yy%pjWKx?gnw72_(M@2U|K$b$y^>W~)~> zu)}~^tqpq@u;uvPe^Pi4W3K&ZL39u@q2lsFpWpkaxd;_M&BAN@1W;^ECAZ%V2Z$_p z271t>x8$H6rsf{~_CPKEemXtGl4+4QJQf%LYxF<1%D;>ST9-T%Pu z;@b89`a?hUcfa_^2j20uyE~sz_kPvaV|Q{Hm@z9hWT3+$r<>471kwr{cQ^!Atya)O zteKW8d%eOlo-$3+O4J#OF-pSZq7qF_(X8s72=lU3C?yKX?2&yGGolxrnZ4oaq(DTH zo;D{KK2u!w)car4GZK8GtEXl~19Pr9FK$(gOQ_;`MPMQ?5HiJa2*-%pfl*bQ==!n2 zRcy^(B)|&xY;CvF_3ML6apnmAiiyTWMm8~si~K*`SMclCu}s6mX%`wxuC$n91aC? ze~!?cU`onN?e+%X3VaHwd(RT)Q0XI`38GKr7UCkMu9wUsM;sj-(kh(3bHD+&>LZ`W;m`dnuKwx&3J33h8_wVH5Np{1%c0gf0W1j=lRg|Wpfe$) zfmXoI2m!H;JfgC*rQ8TxXVvgVa@j%JmE5w(?D%8No%b2p?l_}L1SvMWkpTM#=-7@4 zrC$Ta&V>wpeh}2zo}GatWYfzR=wom@S;vU4%C_Bfk!CQC0Jsn`*)~a9>{EyJ2(*3G zAk*)t{F(xYb#j9BvFlvl`txz}f@k2aH@~CmkN#m^`{!>#eB|Tc$qC)ZL@Wo0Pky!@ zedvQY{QLhWp7Eyd2tN2`oSzr43?%24X?6YO^9KW&El1T5XgSZZJH#GW2uwu!sNRa8 z=P$<~I1?8)z!$!Dnb)q|$$Rd5H2L^barCA`tQR>Z*Pe0`8RVE()KOF-{cWq~{7ok4 zxwb7o2m^`F7s;>uf&o-gcQw*GLjjn&%U3(=lB1C*o{NH=e_Ub$)zh)W5_3m zGZ@g3oANJmOz@G|0CI&7U`x>dL%-D1;2Nf$CI+%=|@2pPf&HPHo6>|0Pi z@kk8ywgs$8azQvX3jqS9cU3wXq~f*$N;`U@#O6Zs^UT%eZ%P($9NpAcI_wmgBdR?> z?8~Yz1S%^{Xb}(=N)*du2M*g29wpf8`bF|<{HwryH*IAQqjG8lp&}yIH3LyR490F8 zU9PIal;=qLgdTRuVBc`dt?Bq0B~x*jx7Gofg2uwGwwh4U*P|D!7egk(!QIV$Wp8qe zPwD>-=|?)|1yH6_yVI*aaJdI!O3M{)L25R8N=p{x79NVtFpFh-=P$* z-DXUnd^EVRKhY$Q|J(Syd}@oHtzy~GA6Pms{H%ryj6u7*SQ;a6jEs?6Lk_Mpdc{>Q zGQ#zl7C@_``-t&YiG zL-vq&_S(^Jd%sr+Moqq0NZv>#6!ozQG&-Hg>67UE;dUV8bU4Yytp3peA zA9?y6;x^@%*Iqd`QQDzaU92Q19r6RiwBrCW{capn_VOY0OWSWlollc?i>KM;I!Dv2d0&oJ8h`) z&7%{ayMF3sc%Ik`zkqGV#jOgxvusBI&sNeh;Yzb>^b7MNsDVE7lMRjqN9~D~=r`N$ z-i$Pxr=l8$jsgJYMicvvKo?m)FG|Fn=lMCb>|7{xka9``)G_rk@uEnfL)D=RTHPhH zrTxMSFRDGUYG0I(A&T8TW|iS z|4op%|Fv(rc=qews1EO(vtkbSE6_s|4Ptbw71Fx;`AK6(b*_^$5izFbo16U;Nsl5p znL})}fT!HTtrc5<9zpd%FBnP^oCr(|OzUsaW{(Q$(TuVhUM)FlSz=fk{ zjw;(PIM|OiQvG4AUutw$VGBJmG)Y7TX3J6N%rX3gi(u%(Wh|3mw&e?|SydGVD#>yr zM>@jvaT*epgR2t>J55etNrQ5osQ`c#6SF2&7OmbxiZL95i&BhBnW4tgHkjnDvJ+Q^ zx~xIJ7b~dKga$f5do~r}nZ|JJlUa>wv_OnhAEefKd~$-{_>GStmjnDezyIIG{Okvq z<3NQ#mF)FKFw;X4PS}#FBf5l(MkYl0-DN;wzc|TvyWUie1g2qQ@NhsiL zLXt^fW|Yb2n%f48O)3J(Xle`J${U)s)lT%`V*sO1s&Fr)Fcm>;+D3a6y#tu>x>r?E#lZhm=Q5^R$Sq!89RE zQwTKLY8ro`Ne2L-89z5(22?0Y1JE6wChpsCt@lLsI*Nc@%n?bSK(4$#GmvTYv>f3g zcc^#23;4j>;*LM_U*O8GJcx@cmva57pT)R#ih1P_$`FOD{sTu=>>Rn2(A?zp>Y?(!%FW5g|_T=TzUM&8YyNfnG>PYcA{jMX|+mb zVxCv5zB6Tpy@gp)r)wx#=xIPw&O5R8{LSmp;Ws4HaQ+ z!`f&Wsjip?^=Nw`RIDP%!!H|&^IME7uek%bG4RKK^cs#{e285YYFcI-l|ACu%?okA zbdlP$a)*WmI;O&1zK9G4CMymv9pdvJ{{nzD{@!2v-*DslW0)&q*)73J(CPu@11YQ2 zv2^3Wg|Udq##uw}yGsOR7+0`bd#i(7`sRHK1${c7)@6G0yMUPmwnvDLX={6~Ha=5g zXN>MWsdi%^Bm1~}`yc6jIzu1_W4J*uw=NGRIuN5hBx#N(g)_s(m@(S7%2 z*7XuqtHwShW8PY7-2<>J3o<-bUdUAm;uZxj@>2P z_p+Dop7H8$s@gEFII0G!&_?kTvX%?L`hMK_S=2cLe zqC!f(#!0GidUL|*OzTs-T_K&vUCU+>CLp zEYli|S8YvK7t-nU1h!2=Anl-}4pLJ|*b^VDUOFZ?H;p%4i;c5OP z?3AeBZ?hlhxIlfNJJR$PZ!j- zCw}AZyI=a1XV3nY?^~D4cjx(2*CVE?b0E|JQ`&M$FlkcGc>QA;ThYj=174zy-G)BJ zJh9SGvn`Ib!EV;6_Q2{ep9#t(P~=EiJh*iOlHI*=g+Dhoy%Y>=dTut;Im}}bTPq_w z0ZcikN2xt;ja)IvwRmvpE(8-F{Dq(TA3yfsgP*u`=N(rMkB_j-3(QcUjXdBs)0*yb zaTAZ|XdMl;wiJPw83|K%0$t-ei4n#``r3Wg>DwoXEF&)<2s4z(|>66%;Y{`8A z&_TA1>u4vO%!F*-i-A(3FoIR)T4QSe<)m1V2$p4$z5@iYG%<27Fm z+&XiTC+z*)X1h*29V-=7mhMJmGZ9dK%(Cx{%@q*=74Ka%v<`-VO|$|T15pE!KB8y} zSoioB++QtpItp$XT#I@$QEP?|uu;KK7fzgB{~wkxPCR7$p%)nGj;Aq}@Q5 z+ld~BQ?cWbB9bgSbNDD0QiUNHI(ekFr!0`s$$f+L&UGf(3SpB*+0!TvQ*IZXtG)Xe z!|+&Sz$S(E`kDec8$9eVN@ymtDgS-90+4S(M2gyz(0Pn>XU%dlsIZt>6u^vh6ovuBw|B1;p4?ejH$AcfCEZnxsb9E{M7Zz_SD2`mK*vjYB-}qGO!h0Btg1w{znv1dsz6J^TQ< zKR8wsGF4t#YN!^Q+oi_24sh!u58>baeZLQ}JI4Ed{e3t&I%G{J2E9Q*Trp}4tyKVX z5FA1|Bm;B$Tyv%SG;*>*g9Ar_`Yb78(1Rt8VB{ut*Ac=7vl$pe{p<*6UOWI4rw4Mq;dJfT3<>04$w7FU>_DBdg~hBC5CoG?|`!% z>r`kgj*sj9uX#h=`Q@)UyY~1a2Os{KfB4Uy_|zxfclo~ip1B-f(*AKX(XV_X z;st+P%%$q1{Zv{1-EDv%tz7gHF9t9MeB6l(T*vL^1%e)7?u>7|=B>gJTQ1Rlr?G~M zRdge#A7!~Vs4WhuLtgS@^8IbsjDXjRzR$Hw=e4b&>{4bz9!;dw;u;q$=>Nsu^NgO! zAE8OmfE#VxYR&?IADcPQN@H5W zH6G*_Jz2RK?-K;R3z=|wq7hgh$SJn(!e%S;M9&S zF$3t+&iC%=rt1tQX{lE)ie6RQZqbnyb{P0_T;qgb`|0{1? zmR&vj8-E8cz2M7sXE$%zlofBD%9Nx$g5A7_)h%vK}baNoI3|bBgZsmX2Bb0kh6*?3fSaLnh%r;-##Vo7rPysB^P+HYc*1wR>+RU>4)Cg1 zy*i%!;Db0gIJPi*E2dq@R4}9_Qb_6OZvme3Q|F3dd|8>mdJdc%;Qa3AGg^1KLU^zof2$?u7*5k3vYaTTH8*SraOfgwUo z%|I9rguD5H<>CT$bOeqa>TM6={K5BO`3FCaXaApn8}Y?YPz$UaH)ELzs_bv`Y5FA*q0jL-f$S3Sa7F>&}^)?djKq(@<#0? z%xzznki1*#SKMEh_`TF@6rw*^!&-#fY+p@)ZYVDIxftM+7{$~2HxZm3Ep`X@tdFG zsDdn)X|qoRQxHF3KT7$B!W>?|Tv zbMlE~tr^Q;+&X8}t)*W0+QR9<5|>{Fod3p*D?e}v>-k00In=8aINX*u7${C8Qu_D_ zfluF^yQ;S0Vb_jEYZB^^dM+mYeQ+IdadYD8E3V?kyU*&)58cR<*WQJ?HIc{|=`NTX zHJih!jE$1rMW<*BW>3Hq87bk02(O4)ad>zXpZ%@R0$KP!|JwhK>(`#Z^;smUa{QSOzW3KY z`Szdt;XJ&u-u-_e1=J&$cHs{XFKa1HKL=zO{0Ay# z$%$Y2aKf|1`Y)#qJ)$z6TDF?a+BALf6p1Me4(8}$+UnV|*|-x{C`6;cR6$x`-KKDA zA{mUFT|}1`e$+}X>-iaYaW<|ze0dP?ORfW6bFdCURm^Uv#)GAl)gRn>Up2455YblM)BU{g1!iTen5}!6C(9{+*?0aU9sz3RFBTKmyE)s z;zj&~4PwFGo7r^L|cqE@V%0%6~b zVj{O|LeQAJTrunO=(+WtHEBK!{eXl5W!CR5cG(piEL5nYt)dX_wCrUuZE!YSfc9dS zY|kN=y8p%qcDdefn67l_4skzALl-?)7ds*MZ47}+fSYPT#%e=F$522D1K2WKWWnOL zaA=vh>jwn|AxU(%Hd^fgnElq~4%B8iLMLE)qepbXKd?ZvI+1~8w?iUueBZNhHtUam z@aO)2AHVU1kKc9t!k6>TSG+cuz&yQ?W4%an0&~K%Y`KKw**>g8fS6lHR!6eAYed&V z-Hm9FTs^QtA*&4fct5dto~UTXphkqieKr z0Zh!vK<;7>OyqggM|F8f1;rU#@asFyUVvsnJ7A~Rk+-(2F5n8+cBrr2-@Kzv~G%s zVI)0d)~x3{l&o@8+&Vu4>kL2h(|-@BTlMr~Pvh|T2;_x8W^t3N$w!|1;O==%85Ej$ zgo_$?-vD0Pv`0k z=Jo{HOgQ&uV^vxJOgr3`C%_4G8$|?zNmL+;nMtB%h?Y$;>_x43dakK5Hq&kc2Oa$! zu!OfL!*uP_a{a<;PKcd1J#(!{n~caw9QYnMwVi{7ssZMLap9PJZ~%PnbGZ4B{~6}% zzlG2J*a!Li@BAhlyyF*f;{zW=jbn`CgC;m4YoblKn7Ymw_S{HB*4Vlk5mbl2eJh>Q zXjY?1<07`%ah-GGy%cE4F*X^m@`%pSCIOG%i7`umewm;bom3&hzD*SS1e`uTB8HA6 zl*0`yIhWy(QHx?N%-}>sEWoBQhH%8{=!`1Rgb=tQ4g%xkD&`j-#p#1TkHgD%;+}W@ zI@bT@Px9u!d=MA!`c>4`Bg{MiR}rZ?woiaJV^I#E-g8DEFMzyqnf%1Z@VQ@p5AXj6 ze}ngY!#DBPTYf4o=0qOu5SU;Vs=$5@4*c6cn~#IZu>`fyWlyfZ_nuHgvarr24swvQ za=lpaqOU)~*%5K~H{S#w-r?$Z+$;0E^FZW+I2bw}Dt7?8bIR0+Sp-`54bQT6HG%Qiv=LNu(7oyQ^nXSi{{j zI{wKxo*TIaE8vQgGk|jvw?6g`{Lp{;2NAmi{@VNBg*&d^p$M$Fr4vuO5O@5fy3%Mu zk|2@tB+%GNV7OTx*<)hd)}hPcZVD*9cuh3VmSofvX+3n1Nf!~$jB3Y?NI~hn^Vq&9 zorP*=2C8hz3dO+ej_AH=B@LXw9t+!h6oKj-3|*%@Urm{3BF4b!#RY(jn#9ol)X*SKJ7vfQjjmy`a^U_T+D+pdq90MnGtc|nZhORQOlbwbmV0`!=L#1!K;Trmc94a)3Drj73c z6;bl1H+ZnjX9G#j<#HW&?k6!#TESj+QYvs8p@;@J2CscwNRLCbVI(jR?#|F3DQ}7i zhGkRX;fpLbK+-%cl&wo(JW{iy3@105^Q3>6M6JcK9N@0!JTIQ}y6*xI_~XJMMe->8%^Lo|i`J0o}6mo3p9R2^kS7@+qn(f*@UkuPv7BW3*)nB;nDcgyXj%J1&m0L*Bg4&3w zzDNL=nkH!$Iei4&MA)=4SSG;0)di7jtGQ)-aF+JuZ83=DpYeIN8wOQ7*6)m6N}-|{ zBXQ>)cf_y0@7M9HXT1b>+%%&l8HP$MMszAb@hw$AZnEPcWTa){t- zr3(^7YDhthJhtSPG}Y>a=3b>h#Lzn)BQ#PTA%8Osa~z>|I~5C6$dww1nbm?UCV-i9127v$TjUZpkQE~XGOWb$3Mv96 z<5l!r-`25iLst68CweKxMn;0%;#`w4Fo;UtW{O37xwI*lNn)1W9}wFf*^>7F+PHSL zyrC%FX*F>cz!+jLMinrN96(;ajP>Tk*)RSq@S%6%o#FI}T zE*&ctMA?Bp01Zg#c}oGkt)24BD!FD}K1P1_k$Cu_569)d|F`3=@B5voU;cTlXJ>OB z9b;j^Q`2rT4ir{6YN$iSGVy-fIz*~t<-E|{X93?87%O6coW%Jl@PaoC+~UNY&-*yI z-oT}AzJxW1;L7eCZ8AOr6CIh_-yg8$0stxxa*v;UUYp)(7bRfCj?8niB5?4vSMa{S z^Lc#!Dd1VJKIXa>Di$f1dMvPdMoa63gR&%WB=ZwCobjU0ZUzD8^CAvT4)O56`Y6B^ z|I7dSmvHT=Cs->m4wtaG9+0D(^t$)7pM)`qobtU9A^g_{|Pq%R!Yk`iq!^ z7)^snnnJKMo>idKd?JCOs5r2=Yzn^YP4AemZZ0FRbiA;LGB^BLsF=n!Y2^)P1W>F@ z1~>*|*sT#dp8$+m9c3UOe#C-#nMASGmq};Q{uMg~GXInQ=}l zT~*A`ame^lZ&Dp~>zle*unJ6A&qpQo=TkU$`p1+HP^{Zx(^hvh2?rs&v0_gct6^dB zL?NhA;nYZ^MmEdiJwnslxNd(JgaQ2gP{Utr{8HN~DI1hW-MY!SUf}WzUWEHz`HkT2 zh@W})TYvD;5B%y!j_%i&TZLi@1sk#nq0+1i(S;XT*ITe#R{6xMLZJ@w_$3meWg z5r`NfP6s?9P#wIi{_*!yMK5n7nsiyQH6=to0*LD2hkZlBYKiUnAu&VEvo^@=rWou! zWj(KP0ueoagME{7D<};#L>3H#@8Q6=_eJYk29YQZ*RKKF03l!%w#lWa{XD+JgOeVp2~__9a&C0CVrvg@`f%r-h^6Zau-WHNe8}cJrMvZp$e232|(8 zcvuuhX>p;XsVr8quc3Diepkz-wF&-o<@*p}V;UPIrTQ3+m4I8xjzi z(3_HkPhT*gF=*>WUV0hR(mNGidN4k7*=s+MEJ>lZMJpL=qxj804?454yV#1S`?ay6 zi+eLtZS<3!P}1{W78a3UpX=$(!VY@yuy`6wm7gEf<*_BTyJ=bs)r@jj4$@LaUxO?! z%%Uk`BPLyrc{IR!s7@lLc>x6GHfsv>o^XTL1&tD(p0ze6opZZ`v&Ee5goOVLO1{Iv zAtNyk4{*mbo^|J^-|^NbANloPdd<<@_swT~_3LnS$CU*&3+t_n{^Cw#x2-h+=zfU+ zrZyVN#$+9girM!YK@}4+K<>GH&A1`=s*+HLM9iKDVJk-TVbPsl2Ss2r1@Tn#9Ds>#!*pF$k$_?&P2 z?(@sfc?mxA?zjEGC*S{`Pe1S_UwRq`M;b#}MIxw4Xa;iA*#RrmK(Rfr)5Amz5208& zF*4g$0E{3;A$?YnmVm^33hu=|1Gy~?TQ43C+#U3_EwTm0tN<~jc!0b8NQ9j9>G$n) zwh>=C`4G6UM9!q3%?AM>hEPz)jjc*3S^}x-16QrK>?PkS1WKVukvNk1!U_YBJ1KM& zK7~b*J~1If7W8Ush}bV+Iau)cBad(bc<{lWi#&T8x1PR+JUT$FQwg%G2_-qAAY#iK zkwvVSF>4YLtQDv+V6N2rIhdzs$XC1^>*HU*&Hw2~aQMb=1hFEku&ms?J)&wOx&*uu zuGDqW5r{!`@(sG8g2~bZd6>kDEn~QA+91aJDO=L(pXX$=>rvi=2oFv27#Jr9 zz(+rVr~k=6$JuMX1<(A@2l>Dc|JOM9#D{S9%WuK@nTNsM0k}H^lbKv&sJwu-8?baP z-NRxKRtoO+5|0jV_iwaaw}p&{}>5 zbQHr(1Xf@)39nea&lB2fBjk{-`E`wm06q4jlQObINLCKyrAt8!oImtl@S%T+d%phl zc)`a$F_-`N_v7)O`z4GA--S3lU>zNU9k6S27lB*-geAbE@4@&)B^QA;z{^L>Pkjnc z{pyEt{9`|cd%x%Zj`IiKJmUH_)WHcx^+;VnfOH@=I|j}{jc7Ialo~>Q6C&Myn`vI! zJb5CD>P=Q9=dA@V`i9H6Id(XH;B%;(w{YcKFW0;nj485jvP5;=A_fB0YHhyK_PVZ=dw;DhhWC9_o_1Xz|wQ#q}wV^Jc^Mn{C3QDPMclDy&*+@_(8 zRX}4mqJU``yVX9Hw43$YI^b#itZ*mjC|C6TIGD5=fkikg)m-pezywD_h(L*hRogR+ zdm9(IgWi!Z(0EY|myH}3ykZ3-<~i#64IJKe2cPlEZ>Zh<&*NhsdH+j3`_Nl&9NuyF z-OJH25)+xoCUX!nPh}UCw_!O%qhKnAJMLFEDw+zkbNrx`0j$*v!;Kdg-H5g%-`8V0 z8QnM+*wh$mP`FkDz*Y%|$@IuQk%c{}(3Wk&&%IA<8d$WiSor*cM0Y_&-grT8Bj{Eh z-PT+XCeZsA66^rbDikS&_4Z-!9&8QBer*HFZMye>&(+4h;B$Nq?^cdpgl=YeuiIp} z)%*_)y=_V?l6XfT zRv*PGWk&u$#t`{l2ydtdeSyz%Ix4?O(o z&%X5XozKv_3XKtXTLYo-knX^G!XKp0o7SHVR7G%`)AOPRyk{b+(k!A@V@?oLt1ly> zsvtja-F(XFH8zJ75KFI7PI(|@#&ChAqt5iK6|^&A8BiNW$R|v%7m=7U931HbBK3$N zCq;lWe9pZXZA~iN<{XTOT(poE)qAX(icc7*s$c?RXwKTllN$apl1U#e2@IWm0csti zD%{VAevNvriOY9fiVyw9d-3Hj{c0Rtz7(H-=*?UXPQb9>B3xWqDUR$3XN?<#Jn*#S zDjdT~XD^EglQ$7{wc{nP#Z!Or&mkUv0te51A>!5za5#=kB@S*iLn0_vyUOfzRZm<= ziKI4s6v0_j?8Y>)hS^}P4qFLeeQi2+~$ zNswRwa~3I5wxT5}ILIr_jBKwg2YJ`_?t1jojx^&{vMkSzM&6mRJl5Kl#xo9z6vdna z7(s#rL4qJsqtOAKzwR&G_o8q5Yw`XM_?b_A$@c&D&*H`hAIKYi;wLdY@@4doeE@m-4ElTn*%m;;Jsh50ual9= zv%@snU#7Br2}QDq!~^)e*-R9O*9r${QUl2@9C$Z))zhpOY0uo;d8KN60+5wQdV>j* zGPhcfnzjSOOb?D(nJwLo!t}L+(fj7-LKw{{MaAm`k{5) z{GRt<{+>U^*(aZF+kgB43|B8B4{ji&&E|wT@mO|K*M@2;le#P5D;b_A!r1dn3;2Fo zZp_h7pT^Zseh%}0{r|(UAN_GGKl=&nU%iZRZH--iBb**=lqIJlFdE~HMhVryLY=F6 zDGoqW?B+=6kkVaAqdS&+iD$m^DE8-vaqyYv5c^Bpc*mNJ`$(>@SF84Zg65Iq9(?^Ekk4uOul~Yzj5gRaU+q|4bHFX#LsJdZ!_;O6 zFh3_pNh&RB#i#N;dMVq8!y+APhY#WLuY3cRBYx$Ve+5^rp20FR=kp;mA_z)FYOOZ^ zp-$7ZmY9y1;lkim@*t>A7|dXqZr0Pv-ko<`>vmPJmAQ@#IBPnVo$N${v;EW(k}wP- zwcD9Qxi78CTQ34cJkoO49&h-8yX-=oeOyxtk z#&?{qTJYk1TA)wOnLv3ZRI4b;M73&H5A&XgKBld2WZ&OE@WfZY@;^WE*$@90o5ya$ zZEyNsn;kiBd)t?F)D>UcCKl1n(t<165Q(M8*6x!`Tw5YpPk?DvMoWAz7Fab14KUBt z)Se?fL)}&wNBEdcDaWQ#cs1|eNr?cir8QLpO(uCP>rEzYfM-O?2M5S>^O3p3Q=28D zg0Q%Ztk|iSnrtS}0|6pjgt5pUO#W)Iy$fsEj@|i!T-^R*TzcZf?2-5V!MXY7)?L1~ z!5hp)?yzK+n0VjlxsjX~mv0NoFCd|~(CT9m@0(XFRF&stMH7g|`VGPr>`7JEy~73; zp*0>5)zMZSm`ntP5KZcrN~LAI+ck0lVIy;TOqI`?Td)2AstlhR%4)~gxEwp`sx1wx zd|CCY@CDSo+-);1x6A?h{j;S`Qdl|(*7G8q&~6C!t^?6ire(Nm_7=o z)0aNgY}L2s^QxMo6!s+b+^STo;(qlRRJbwsTRj)X6cRFHJr$J5vM1oC&NTU%EDSZ7 zK3E9hhVvgb$%dzalT{&U#zH<}B5cUi6;~X~JcRXe*hb@#8UA6|htH z$LKW9tKEU#Fa;yj(NQ8Q7i0dv`b?M@=2B=?bFg-B76+axE>p!2zqTanDnt@l3k*^t4i6Vamsj0Ujql5LT(KF>c0k@(#1qtA9>xym}VMkFInnx zm7%d~-e&0gON>{q+S&~_;m8YK+;_Gwq0bC-tg&g19Ho3w zHDOXFs6F9`%x1*j69Z^5W+fi4E-EaO#|8Lp~8Hwy^UF1L*dmoaDYR;phM@>Tl)9Mrg%;BbRz&T=eS5_*2oE1dm>3TF8NH-+fhfBr(DdvO*uM0}YpCScKE z4N-WJFgi1`A;K~Ajux5GX29Ay{LGo`fBFGje)uV~U;oFr<#S)ek^kbSdwb+-nIC#L z;^Z0hwK=d@z-A4e-8czvDO)$1l}(WvD=!^NG+CAelqZ@}NCA>`_L2W zKt_UP5}{VO?ji`fQ=3l8vANCW$P*{~#m_wu8~@XPj{|@8uK}O?80_j5#9|K5Ju^i1 z^ak_J)nT>W6XQrl(>1SM0!d z%xq`hU^!wiN1HGPrP38}E$K%tg%5hnK5}hT2?c~9NO>~u+F#QCX>?4w2n4&EXV9|>i+z--}nu* zX8Dz`e%aUOYZ;Md?q0qZR1!u+mk?gcmP`f{j|L039(*&=+aA=h(jfi^GCuGOL)lbzY zON3W(kyRoxy#_i0lND$JlS7{ok!AXnbTg4X)N0_5GmnT26~tv?jzko1$xiTCn-;WNAh9bH29MVlA8=XI|RUJ{Ju^Lw`Ts*N+mEpX@)}_u( zL<-YbCQFJD!VN)g3*57w<^~BltXIKkQH^))qfFY;JY*;3$~YR;|j*qw=)+^yGh4C9r`+$=G$BVS|cN zVRqK2ENDBwRK!o5EY|0{O_|-Cvl0je9FWuBK6aMGlH+q+)&Z27f%3)R*Sqe+mb@kAv z$IS6r5SvH%6my{(&19yS03tX(X;7YmO0P1MwmSc;1E~J1I*_K-n0{X>bE|P+s%N8! z5>+mt2M;HX(Ib{51g4xg=>bfxia@b;!uuSwnZA?^E?0k6-D41`eL z*m#nf$@?W%ps_7ykK>16>%1EF7d7Tl* z>R@F3=ag!}CAp~!Pijpp4*(m$9l~mq)uoanh>I0;&EVAY3a|Lg)it!4ad6;?KZo7I zdM1JO!#7~DzV)K7zW+ZyxO@3Lj^Fc+*gXCWWQ_cf%~y5ii|)G-!^g_4GW1tyD*hN(rUW@vXHJ*}LqVhWP0=dN&rsguj|7pY(ehoOaF zKq&#})G!rMEdgs*bBAHdPL}9{3Z78Q)qwDxlm1+1kq4%@ZFciH64D(O-n>O`VSVRH zW*^&PYYXd}2NHmXUw1yrEZeeX1Le)HIU-BzEbY~ezbVTQTyehmznm6r1?V7=I!{7~R4G6Q^tTC-Dqb=AZ zb&~c@&r%;TluTNs1|TfTwS6`2=742W;l)KWU@-x94-~}5zUpd7)=jLQESS{EYEaub z!5SeLr-s=aUwz<I-%J~ z{7HaV`3;d_!5gDw@0dbc(w+%0N!u`y%|*NN8#x7HJa2$yy5#YEnqJFH#}Rm7q0JHR;KkmSQ;Fxq&o z!!t3cmr1o6IV5k1`5M~VIxu!Dzw|}ye&Rjwyo|%Y_W#B3!2QU#y#-hP^n<`>KZ{{D zpdUMcaE^1B+MY5pRY(kEGr1tzibsqzFJdm~?hnFZ*6W5uc%~&|cYNDU! zSjgGNMxOZWXIl<~{p{cT8@YY$O!f}6S#wLv3>uUYKRGhltaq4sc%}!7Hq=Tt&{zvF zrxT%yW{#r-jSE(Vl7XC=HN6Wy7c)0HZ9AgI3(dGXMR}rC1IQ8>9F5D7D=rx~CW%x^ z^+Ag~F{oP$lG4qld2rMnwrW5zF>uv0KP1P1b2WADuux~p1niYV3-K_YD*r@d1v7OT z1AI2!%eTqMwexedBI+$I%xu27dkmYsi@m ztLxlB(u^ard|y)gYRzW#i0PX^Np^Lc=)`Uo2ASvbrX)8yhYb1#EA7C9>y0K)^d)En zywxN?BqEYh5(1%WkQe+$TIw2@d>yKd(K&(&%dQS_A}yMTM^`PTjZqxOpz9IIYF0Eo zyEyrT^>E~Xo?~nrJ~rHV&zmvs@8Y5N{QmDF;wKLrJ0{-|)hIj;NS|?JI5i4E5T%-l z>Mlp>-vh82&v>bGG&etOa+{j9I-ja~dpbFK`J8w?EO(t7NU80pF>4}J(>SEm!crF_ zs!s9Z;lXTA)iOzEc}5}88%M6;jY`L=&_(LhyQi9g#EKOLfMVg)i~~4ZX!_pFWmIsL z(g~8&3lFGZFNr@Jup%jNog!JCmsP{sra$8dz#40>teT?0DMV_B7$7mE`nvqA5-l5w z?dUq^E?kxXtnPuSKGwT|HIYPvYKKBrjBnh>?FLP!p=!U9Iq^#i80nhvM;L0RvSb;Y z5EYvXprkpli5KF`mIIc7S`nwB3AMh4(kUG!6CgG1N@@faMFu#Uim&>7xbE}v#j_I< zQvR4?9sg`(S0}y-@nUXmRs4hOlFlniR-X#UeAY3sJd{nUaMOW+hl)`XixcWZ*M}B+ zdn7QbMdqIuP1%8~Px1aG^uwbvGz8 z#k6PKcsa79WsZT9N>-~GQokUQIU<163RX9o{uA9qQ`nzx`I7Q2hl)50?# zIUxw;s%VJRb4JV6bQ1ss6A-fsp`KIv3LrxcrcfehuAy>+BjK#R*dWsxEqPaD((EHA zxsFj<&nYSdy70;$`hq>+5LivutSa-ZOiq z*_b`ddJ?c0Ool^1tyvdL!9=@&ohk-Ab;+s7qB_~9mBG1^q#C3Z7J*v`MQsfZ^|BiZ zsMFJf+#N}4ny^7p+APNi?{smF*?_jOiI~rAyl?@RKlw@YPrf@AvpH`1t$&e+KJz8? z@BabhyFY;Z(5Dc4OT^kn?lu7XUFv0RX4YkmBxRB6%EK~ghDjouWDs+II%_}#GP~|R zTg8?gus))1Zla%f5*I)8ajgHwuj1Ix{Jq@!@`uo$z6zVI@kx79d(D`Y(UScT1^^z( z2}5A&BDJ7m!)r`ESsa(UdGkc>M)q!T`|HfE+JFN`whhZ|9Qbns`tA~~S3wSuoTdhS z6_TzPOi)8kB=vr|A`DAlzA)I`GyKZm+{d-Phg)8>iM=ZwZC>!KQVC_aG}Gnic9q=f zs3gFB+$Fk%O)VwUR zdKq}DktsAyqRXRZV9QO%9D@;U4UG#5r}fWnJTha#oOv$vytvoKrs;5P5+^AT#!J?L z;6Rw>@!N{{tsFy~sG5d0k_=VBAZ?N52+jjj*nsaWQ4JNnmyNNa!+Q! z(mkr1$|!1vv=I(RH#Gx8*}x6ygPw09I?OX*PQ*u|0vz#WJ&rU(1i`PvM1)sfAfc9e zO~|?rVb;8RBdE31f;?F^&7cF&8R&kDyL9VSG$xCq6X@}@D|1c~ho1SI2-TCP5eVPHeh z*v!p3KvSdJReLEO2?m9$4oO2Q4(Z5gcXBS3=`b01{mzGiFpt^WpMb0120MIe>-~>qg07q8z`-ZgHN9 zD9on^&eI{jriylb*Ofx@B3^qM;xFLIT4kc}pbVaTd4P{E?l~0hL?>QpH148uDgNNv(Y`a zlE9b(s(D&-G;cNxj=>$Ru_(pNZRRusayRpu9ha8{n%LLuK$_?xXBU{s-i*895$5i$ zZbK?5SlUpR(m6L`3Xlw_A=Z?AM+ZCDM)n4obW;!sq>-zFoj^JlZBg3P%*<(kmPz%2 zt}eNe^1RN>p^465^+CUdmA?{0wyT;3{W2!09=QshL7E|2jwtg_q>P#M{Y7pzV6>+>3lX#CS4r)aEs`fkyaZtfZ!^-UNh7{ zny0t)0;H8oOY&yw%4a7L)umIFpn{({4N?Vamp$2Is)ebYS}bPx=GX7{m%Z{0e&iX? z!Ig*Z%h|>{*g{I<{?;IV;pJA59jskRX~SSGThLmm5+fL=Mx7qp*~8|`UWC1qCvo|g ze+_G|eKnQ|IL)|-vQva*RC)saS-`lW*>w3TB#pb0;t)rmqZNcT3-jtez>;QiE3QZ$ zZh-qhTn=C|5CZL=pxEP)X4cHD0gYWP@#ng7sD{Wy#3j-wi-r0P{Ii{%gVl~_*3JS6 zEEvoi&wo!0#q$}9I1@0f$7De-mvjR*Hqz$n$ZtP}{oj8tt~~gt+28qD-1zmc;HH1` zyV!c(9oW0~qj~v5AI7zZPFjb-wl>TcGe^!U-LUJ2@+dJ_BmJ6HWq_R^WpN=qn}9~b zsHjYm#?bjO03<<(zO;gyPfvFC>7tFZ6GAuu8=S^VEMUEgAF|Q##msGM9kY!EY z|KDK${*UDH$~E}n|L_{%*J2t8=^pkDRq;C1$RID}mnYPtlP*y5ZVRV&k3j z-1+=6|Iu&nV(W!7%+t%$OA|@_e4b5w9916{HHj4UyQzA!+GSVM!SrqE0dH$Foc+|j zIa}Yt&-~55h12Iw**IpRHR>phuONg8L;f1HG7J@BK2^G5AP$mEt?&WhU5d#NA3)sM z6K19@89j`Jb_1xRBE}OWbTkVDqIb!y8AnwdsJeh;-TpUW02;3Jf5VL^-bt(lCuaaH3eX6LQr^mqM4OO#FO46{46% z3FW4Zj3Orap4(LZGFC+J9vJF^teR_+r%n<7SwVO8ne`=$ALLo`!fdK7bW?EM*w%DF zz;{ER&V<0XK)P|ShE`>Ofu&x0=pabepo%rZQ0tXMzVjWZa4u84%<2jy5(7se?+iq-)DGf5?o{kJLw3Ax5SvH{kSyi5haAlbk6m1 z#IC9IM@_17Ws<&ZN11UU)f=ZXu>ikB=mR zB~bfsO_A9_hR+0;svDx?N4lfa?1@>bMyKz8gWXrSi?w*k#5w;CitH{*Xc zqtRFgWRxg13wM(0n{;|NNolXCay4=I*-K(s&GJ$vrX@0@SFRC{V*h#yK=3Gb>vYI> zuoD0g3+o((iGpM6FSYkiGpq1>L_5i9VHR%4quq3uEB8k|` zd(uaTWLZzy$2BHWj5T^f|8_JM7-THCP4uFwPMsTAFoOYn(<&ShJcZR}y3~O|fAL z6j@I1ozga7V{;=5dKAlpo5&Zv0tf%_KjpD=PukW0<$uM_@BS{XJn<#O#u3=9w_|?OakK-Q zEU5PP;p529k3bv2^@M2{WoT=|)Ljzx5mXK~_t}7J3=J2tzz^DyS)fP#rh`SUj z83q??Q*(a9J`h_QXy?x1!XJGMH~v5WUf3e++%Nri*nP=cuyM->MpIHSz=CGg0Mff#I`P!fFl&JI(amT1tT)W;@sD1?!FzUa@oO76_+2;P z()%xA-V-^m{7ubVVu{*T!HqToEF@OpxkTRuj@&s1HUoEm|3$-M-EMjI0++6IEUaP7 z@D_<|WHeG;tz_W^f^*`Z3G6zM2=f4}aUVSr=zYZ6!3|uw+JQK2|HD7~&1?LR+yoj)a_uamC?~Vx$To7R$xM z7GsBP9%9!rg)GPTL0Hf&B_&s(UL8%CqLek!_|Tk_who!Q zRYArIE||(%05oaN!fWd025~MoCPjr76``yfQaQU(#fkJKi42cy<$l{!u_e&V(r3+b z0>i*K8us=(mbt5Ip2$&#f02l0SPacu8sK3w|4#lfzv%p5V-3tWijuVR*sakJ*t4t6*%WV()=K={zM9d@|7vU zq`)hnqC}qu6_lA*6<8Vcyb^L@`qaFh^NX4cqNn27XtdyP1cQr$RVqF=2JMNV<>!(D zkuxCB%hP;sT761>lVX+lSyvLunu*cq+yuVr`(elQ1|WJu4z-hRi`YfJ3!?qWH1UhbH_FlOH1jq*fqhOr06j!X-SWmm9O9$KGc zZ9d25`T}cfGt354S0*4sBL*EJ&J37YPrBGd+G?$cz`2G<`F(=kn^?hy>c=4+mfg~? zGu$#Ts8(__Vce{sta^?|8bcVyVh7_hsDv-S5Kw_I98Lw-kh- zM@%c*7*j~*r3`fl4>S{R5Zx#ez?qaCiRI9M&wn0%coVmL_Vc*#>3fl=X0ZE3b5F9j%C1ICf>+1w&WSa;5~0&s8Wy+isHif8LpE0&{o#uq6ttR*IdVNAl! z3?m~OfhcJLUI(d}N;!i}buy$*(7Uf!R&f`Gj1HsHh{~_*I(J}Bqd$itx$bJ2iR-Ar z8YN>HE`Bx9+%W2Hb_5kh4#RSpu``;jFOYXV7wgZt1G9N%`?L4k{_p%A_CE3gKv zdYaw`r%nRVk&8LJIl|{~bc{haXtd<~R$rQ0di;J#Qiffjddn*E;J{!-BBtA5QF4YF zX=ATaq^JH>knAq`Y|G#n#JEJ?Jd9)C{W>iF$#3AvU;b~gcYgeb)+c1Oo zP_fw1OkmYg9c@z_N|7ZhPE_o143gkfBaj@zUL@L(c=RKeaKsa59=`!?V=XSdf5+$Z zF)*7sRe1))sKmw6&0$vSaUF@=U7~LW4u1E|_}BmSS^VU$?Bz{wI$(oa#O~0bp1=fX6@bKHRW&6{pW#!V{;Sz~d(#&G}-T zEQ#j?_eo_i_mte2O0~G2Bq-Rbq6$+ZDWp9p60gp3Kx-|tqYDdBrLMahg$ISpvf`!u zd>Zo;8zF{>n5HmFFUlBS7!1t0A_5`fTD7&OaHC($BA5*V=6vGX2}b6`e{__R!GJt} z@shpujc)-iKY@+oFHL{`>+PA(x*5xBJ82$PqoL6An^KZdEzn)zF$yd4VbV9jt#)J+ zAJ?;@jG0_Qrqd9N8HH}ntLBt|Z%By%6~j|Zt_*4-X9~BkjvVtOj2-lW#NcuqacyUb zoxKs`-adNotK99Lv*sAu%-jsk0rSjd58J)A&o{L)n*iJ}3 zPv7_PhW$Oi^SgfN4L$PHHQ!vdGBNqM#~jM6dWkEH~lrSp9iJkyu4*=w7>N{z2Ed%0y_pfbJZd z#G$%bwOHnVR%=3DRAmujEHGCJ2N@<7Sy-DS3i(V;Y(7-s-<+Dag;!Iw3WI?fX#fU5 zg&0=Im=};CIx1cj!>EI#=RE=aG+qK8jw$|zyM6uLE`$q(~;&F>wb%e z(RJbfp7Od)hlc;aR$@^~8~7&zfIA`#16Yv3C<#vEfj1QuzJmEY+a=|JI{GOo$W%Q0 z6yB{4m9uDNJd_)yon{9Efb}#FG8vk;;@*zh$J` z-g1fUon2hpxrQ7&V8GU5foI)(1h*a9!m-VD9NAj)#bSZ^d=^79Z_QD;JTuV)mKj*? zCw9htT)DP~vsbU;$#a)+>f9BaJAWDI%S4;me0`3CTkAM5ACR&UAA_ZWh4O5ILk($W zbQhCO!m`V_tB5nsx^e`{>h!ZPC*@H|x(-r84!69aB+V^h-7?w)N&}n;58iV+XHCqX ziUJ*-DCSKv!Cv>VIkMnp~snRlS^ zUQ=zcijjOn#9dRIulUzd&dk*jXGe_(x6M4aFO9adcLg8&#QSk<>oA^t;4wVo1<&xE zE8DQHeP2!$56XZllSoDTaU5pUqr!M_7^|vNWDqg6AHdzOKz!o|bWh$rO<(pC$ld^Z|N$vIvd@+?}ITVB07a^D0pTkYpbE4sND+EFU$3 zC6a}di|Sl@RvfY-Yk8uy^z*{6%-??BD*Y-0Y)me(K&F z|KN{t<=&6_`1O0ST<*hs&9HR?`qASUjvfLw)?sUN*f79K3*HkMOIYuk>}x{pU~n*- zWXM)|2bf6vi8Qpih$Fzbyo_qB{Uzeu1!S0`tuySbNKx(%duJv<*%cE;tPo7GOab(+5+aaQ7fs`GDkzCd055_?!8<+!h2S)7HK`xnpt*h zC`BR9vpNxQP~B7I2pl9_dH<0}G&C3u=9qty>oj|Ct~O@_?D9pN`;!mj@IU;AxMj3F z^-q4$@X|M7e&ccY?p5*gM$eh#7|sNH0_N-@Wtv&YxNx%9%>rf2r>!N%Y~)}(5_>%6 z&w1Mo`R$LMu>;RIi|xm6@Wby|%S#{JwIO>nOCK43%!fdX9MbD@{xS>1IACdpLvK2Y zYoET1|MHhF_RTwQ!urD7&eiTNsZ#>Ubvs$8NB^*AlX)%8*_`H}14!f5IQkft%`AGR zFV^GgrR`?RbNIyP?oA)u9{%>Xv2|e0C==zipx}@+2r^BpN>!h&io@mu5|KUAJR{wj zrE{vz%rHRi=)7N=qFhhFjD42dc4c5Fik4<=( z)10e9sTnfanKi(vSP5cE^%%wc1ISL_m`J!aRwSl~nvz)5>g}v9A%Bq>Y*a#S0d4RM zOB;|OEhu3C;kxE#h(Jo^n^XPFTFznI>SLUY-m%Bl)?kAlJ4H_@ta+|D8 zu4%=Mp!bBggu^m=!djJr_4LeI6V|mrkHqEeUF>Y{U|fzsCgzKVV+Rl6rrVC<_@PbQ zbZ`S3i#gVY!3KButYw<9r~$8^yV)3l-Q6X&clK~`cNZ5g@8HzMt2lG%DlT2RjPqj$ zqS<_7hK|v%bq36M-0TQ_A8)LwGV-3hbHy9eEF8)P$=+>u{qF0>3{mpCx6`27ML-koBzi zTno6H0jsZEpE8`^_U+%j_iBJJ=Zn`3|F@#IA3H8w-o@^f9RM90YYRN@wqtnCEjQvBHy**k^%({j zb|SE|JL1}M#Ln2WM_6QHx$Ni}7}8+_Wv)ZEumQe4b1a4#wiZKfx+5BFcW)1;&TZqN zQy1{9C(q;Dg-d+Riy00b*udt-0?i%E;9a8}57PRi?vST>*DG*V<9zRBZI*`_Fm*?K9Ak|zJld9z6xBvg2WR0NMu{UwhqF!jwTKsG~e6+*46-@ zv4f`T0W$*pisuOwX<*41kz5**o8C5{cGt+^I?H@>#bOO{hP6P z21`rpaBtBqo*d5EAOXq86dsW(0TP4 zoJA5?qGirD+#mh;4i4;YyYuU%?dk7f`qyjs8J&wM3&Hb)5 z96j(TF4*y_pg8c9%TZtRAdvm*9ah*!4|fEA zgz_h`zCny298Gvn_uNeKxK%-YJ;9ih-k1F{8YxzTDdEo4V+NbXCiTHrj0O{Hd7hPD zu%2cD8iPw9J*P^YzlCI&BTyg4$RA8w}^OS&6STm+=JOiAOo}a(m z6ukjah=b<{&0qtC%`pZpZtvLk_BCKP(AEb$@8)B8?yZM$>kWr+^uWRJ1|K^xE=OEl zcI@wU?8iuzW>`jsUJ{>ab3+>(3mdRlo8^3%*~S30dBZ$`YkMOuZg1n^)93Nfsq^{N z(^o9_M-1~hHV$s!=;j(Xd-aaqou(nWZ@kA1-Gi&}R8%!f#H4yO)lbO?6Xsf#sM^6M zOmCsqqFDE^umOgp86qOi-21VMtKUQ@){i1OKfa=3e za;My_>wN;%#MO7yh`4PXyGb%CZeIr=xq3&(fL1dYDKJ;TG?U3yUjUL-mXjk^p^h2P}YCy z&T$pqYP2A%A}u?Ze5-vf zlEEb5U}0tuPK90^N=N1O&npHMX<>jRM;xwCZr17(7*;dZHQ(0I1Z=`ZE_lPn(W5x| z#ZRBS^!PV#Ieh0m*u3Rg$i8HDU~79S@~KYY)2JpXO)Ip`K<0=%I?6VDI`kQ3Wi?qv zXdF#!wxJCTksX(}_i*Xr4iHNm+1kR3pK}~{J?m!Ncz6pDz?GdPE??Wh<=s8(kBPA_ zbvXbF=lUM!Jh?VDtL+@d8Fn=nt)m?OXARhx&+W+OdK^BqZgZGj+uOmnp1gpEo_ZP& zJ#iLej98nm=aHl9wmw^+M_}2rh;^IptIlQxZ}Y~YCl#Da9bqAcP(pK^>oBTlS^Jkd zglXP`@BnQ9!rH3SP?n9otaL!)-(wE}+k>glfY+<>6GoJf~H)H$qB@FWx zh;+?hXMnEsyzZv5A`8_;w)Bi56RU{j{WhZ`H|7iE{a*ow!12%DhwV>)9`V#^w5&$052ByyF>hMkxF4(L}n0fTQ~hta9SIZOapnu`9p7n;oMqk(n42Eex;$5^0l! z&qSLI8NH|VQ6Z?q&D3cfuyN#Y`pvhY-TgB2m%IS8m%S8t-V4wV96$iry>un>$*0ht zI%&iCE64#bZ;1Jf1-eD>1TfMVBvL8J<%7(4LKTPm!`)}IB@BaD-cHeu8Nzxj_skE>1GDcth+qG|T+4s> zzis0g-?4>QHtPTe1PNBl)J!*=)DOKCi){(l6rq5-0frXHuJ|)%*kC<678~n$`rD7= z>LZ`etJ{~%2FGVU_sQJa+!SP_-Xy1=Uw0fDSIim-k&5!H38kkmUADKp`K=jGKV}DSeK{6)zBX@u=FPUewgb1O z`vLeQUlsw_IuH%aZo&_ySQJ%=k|=O4K#})`G>gVr*VOo;XIkyE??tL6iEyvF%@va; zj>lF7pwWND9l5=;kMkF=TI}v%K3m{r&%G6QKj&85eE0y&XL)6B7niQ?VS9JacE=@p zCmw5xFR6B`>j_dFI(0r1Xowh%8)i6wYXD}$4D0g&8|!l%+gQW;&@e{F!%v;huRL=3y_l9nLrcggL0?RH&%vLM#)R6NN;tO`6ikQ%Tz&vG<|-8AbuXPI9`;8uR1mf zBwd1;tkoGUE{xx|4pu`Mu8`*C51BMeVUyPaCEwN6G!=a`Mw~jzTo?wfyh#F^L91%a zuyN!Doc{V(KXmED!?$cc>#n|j%d_}HGA*OSys_g7cg-W$s1YGxJxgN%@T%~6{=6hM z9z~b%yc7l0gWJJ}`Cy2|)91Hw^~x0t!wmP_aSQHw{;jy_=mG3!!`Vw$@s-D)#{T|3 ze`a$yESsCPVZooN09iBk5oX*W&JdqIpk{>mM`onWv`2V*XBU^YcRbHJhSu`X=G<<- z^*HW&)=gO6)A7*hv-tGa9C0uH@cN2{5=4x!6*bflGOrLsD@wmVBxS)LKHtjp=FS`}Z_$phP->KKWl z@S1_#2k^4&;0SR%q zK{I5Gbt0jQKy;gciW0mT0-ly>(VF?_h`l}FMK8wi(GOtv@BKfp_FMlHJHPiwh@Cz2 zwYf+GhRxcuEkcCNP0b{xIlPAllAVy!{U;Em7;uqI>^_hiP1mfth*Q#n2p2|;fK!rX zu(0a3N2gC+_7UD@Boe3Hm{G44+yp}p6HXzQ5YH&}g#$UV0O&{>$#H+7c^8OhQGzi& zojT;C&KRv5wF|2Iik$Ln)@ABtaHMwv2D5COJ2OX++%sS_vtc$vpUq-GdiD|hsS{?8 zd>gxP?5!_g8(U~cj==A{8}Z85V!k#vw}!1)0^=U+$`!No7c$SCH9LC&v3(VBbsKi= zDq_FW7a${JOmlBi@5TQ8*unLJ+Hif0Bp3j=1Lik?g`&-h9z?N{sVUY-Fx_l zzjp>}FTTMN4bex;yj4TW0H+ZrlJ;jg1@6dn*K(VQut-ltgy`MGSmGk556RU>zJUMw zmwwUK*AL+1pZGwmuW#t01Qj(zbcADMgi*${W$H>1W_5`J*0dlvQ)DpjoSaq|>k4RB z!C^JCZkA1ZS!HmEQn_j?1l)|Mk=QG<*0*OJTlC;qDiv)srIV^xkiI(jzyuK{r9tIy zlsbf_goSqp7~RWjj=ZCVV5h=*P*z;ABE58<$xcZaijY7SUQ5&3?1agnj7>24B}`K0 zqFFkszGI1B4qAJ-2t#wy*8ssi!Z)+;CuRfn$db*t_2R(j50k`{v1W{^ zqb=q*a%>YDYin9fI9hj0*VZKC4KIIILTNK@r$VBuGd`_K2G1co*o8xYNoh?|nY?*) z%nuxyA9&6S^WwK2xbf8CuYK_N3tsx2+ozs_CGmD-pX!n_Da~+=p)ki8$~?PGjoisg zgHaYs$o#c@BFJ}xQg_Xr>!9?K>W{onEZ9Y|uthR8RzkoejCa9%RZH5|VSq|j1l7@I5x0_dFtN1s z>E~DHw$ch~)hYz}?+cn$voD(oxaxsS%q*SPo02IPlw8NsSVK>_GU{=v7aR=A}4BXO*a-yE>;f(#)}NF#&==--Wb^7)dzsU3Q88Pib4NcCtHm2{NQ2iU%mXd zAOGZge$x-!)NgvpE7EKjB9=-7ta*@Tkzs80s|i}LTjWg`#~w>5p?6FEJOWbMv5YX7 zSn4!)^Vab6h0C~hX&W2sYk1S$ci`^ZZ$)#%sms@JX?qXXmV0Q{w9c=-Bj0zXfulz} zT+%0$f%8PfWCpjLN&QkA?=uZCgn36&0$$yLz%{X&M!&As#WI;vjMi+;H>=zV`0_m~Z%zpRkYp-f!ZgpZ^#ZZJuss9Y*hk zX~e-1)ViC%I;NRuf_rtmIU`sk;50a&2Ci^+V5Fu8rchdmhvav%1;pghbl=o%fkji> zFw)FdY@~h`JKWrN?Rt_Xu&e)(>NxbED>y+ZQ77I~+kBj};ypoo?P9Yqbp~O^KNEe5 z83_m{C+0)L&h9QY);IE=m%qlIf9K2c;fKFzx4+|E*xSCOQ3o)whrwD*#DbPUa9dF; zq7_QWrX#_46Y@gwAfr9Icop`Qk7MI^{w?svw_*2B{tVdKg0}%2;M3zPxu^xa4aoh> zY~5^nhkSpb+!Z|&&Q4=T8NQk1@j#8tGZ#m=o2SfRdGY!1kZCp`vkPvC{pfwkipEt~ z1%C&vFA`{0oYq8&dKkBnFwUTgn#`n$p>_@X^pe%3C$d9kNVy^PNSzDKM_M-S-tJau z0@Vje$d1l|pa{T9jyXx3$@WdT20E)gj!6AK9|ph%#B2tvE#QlFv=_nj-~M~>sr_q-X)pZ|q;>VN!azH!%^ z&~7}0ST1=UOz+CYfAs3akZkC}9po{YF49T2R|)CK8BNYDrJ*H8g1B5;ggx@fJsjG- z($Af|vDx|>uKw9&_}Z-JV9lj;+S&0u_J+AF4~)5f%W3Othw_eB4SDry^M&;uv{jhs ze$JhXxk7+D69Lmucd8-6e60Z|Qw1!vvDi9*$3OXDSX{yK+Buv!@f03;^dYQmY_a4B z+TR!#$e9C@y{RA>9pO^wOJ-X+FN-ljVNa7`VWM=7p}P&#yH@gMR82Rxnh&2pwaJuDR=B_rlXS8WrrEHs^*KL`OBeU^UC0IW(C0fJ>LJ;o{R5Fq_Zu z+LzppSKM(MHaF)ux4nnc7q+p#T%ws{=0KQFr2`aKOqdxeCfVH0WKTWNn*&jA5i8o~J02fB(x-ZbYkXbYTw;Iqr!3+HCfd;9nO z-_YZ~ANO~8aO-`MVV=+l19C_0x{s_5w*7MZr z_j=~~EU1^n?_F2~Q0`Q|tWoU4S9l(#`bR{v z#-LE+^Q%o)!b2;>$(5R|YTl_}K}8XTC6wtODMU4}(=qTKv7jb9Ga)3@EN4YWKzcSw zB~0BUOEP_3v{1WF?f@t;iX33!1$7nqd3|~?a#z)PApl~>%q%#UCNiQVB-N+(iIAwj z&xhuaoHH6PM-ps@N(P`Kdy|>BKF2htu4j^D9w+%sb?+6IIGw6!`Ya4`G@S2}5YMq(%xtYJ^5YSe17H^h7tVnj@i5Od!G4e=a+( zaR|svLIs(#0(VK_Y`%{5jkVjq^`Srd&DPfY4bOW~TAMfYC9xT%aP7!UueM%&JSE}a zJs|m{4(-&pORl}Ka>^(1VBPpG+ibACy(LaR{#355ui5v#?k?Q@{M&GCFY(yfi@378 zk7kKBc;A@KIB{j{vaQ%fMp`lo?9VA!Wq4XS?=hgWM>2y=0X8|jE3+~)?ewHDE)DaU z!w1g}!@KSM~e&^|G{JoCFz}o`9uPV5uRlA&Xq{kV7cT_3II9BYb#6W z_fUPsl`C{-=?t#1KNN#j#%Dw6!wfevGdn|3P&FJ z2Jq@v=FaE8Y<_qHW9Qm3uNdk{_8wqMOW-C^F`i&u8PNp$(LkxRSDfw6paz0mfPk0a zsPUm`21_o2JizSu(mbw%#h#vmgQ_a8lA|fD`mi_lkOANZ3BS-2cpz1jQ7TJ*p4`Fuk9Im|g6FBtCzu-5`*Ky%D zehK}hZ^m%!Kw`fe3vlWQG*b>h+v2nOqX2C*k}|6VTfLMBXJRz|4728u%W#`{$KDur z#TxE-?SMz_U26w!-NB{DXITH?o3Q;K&a}mBj#vl!Rp98I-EiwNo`39&_i+u+ebwBq z?xeY~t54Fw;VG?>MgW-nNn~@48t=J#4LthPdNN_GrKK&_7P$KKCG@MOjtnhCsV#|p5{j8#b-dL(HZ&1N z(^NnjBN6c+cQ=DWy8J3S5rhLG75q9gFri7)O&7LpW;tpeND8k1o7DVMcFe=tIIV zppSvUpsskrLXoW@dYZLJ^T|x@`a(i6Sa+<0BtcLfhnj~*Gt7Ok{pB8>dg2VMb-eZE z&%>);^ehC1Jauu~9zJ^!y$9CZvEF#+wVc_bc!}xY5nI!wu$4630AO^ks4H1EK(fec zyAkg-a+EiO$xJ&ETq)Tw19R!_au44+xs&sGv*U*j+FyG6Yx2y+3- z>v{7{hb$Y_4X$!2YYnHGb;Q^~oXZLyHG)aeDvr_6SH@HK zey~4w??-?2#c%(fe|!02J{`*)k{hBuN@^aJC!r2;WuP>vZgtLJYBGzE014Af8vN0i zv+6YA;-vnM7nlE{I_0Q3qZuzD2wZ8{H%@kb1HHtjdCfnsqu;P64BGWFm^-GQAJ|zL2tny_C*VQFBhI z7g@{!1Z;H0^-IOBFmEBG9_YqE=DFHCnBhV$>U#HLR#%21Y#s0=B|2i{Axwc}vf-sB zC}!8l0MR{+2O{{Xm{fpi-Vi3adsp%>6+x>-Syl{5m|Ws{oN_8k`JY2BWXcw(X9;II z>R^#%df`-u3xI^4fz0t>oTIIRlB3MyG+vQ$ory=yp(*e|!7Z!|Zdk7-*imyBpKCT< zMj#bM%K^5);Hu#1x`R4csx;eR@YxK*Vt}^+hi|?a-~8YQzvdY@cF&v8Hn)ac?i;n^ z3J~eMXmFz=XtMa%j!SSv9AzZg__7h1NkD0UOsS$}W(K-t&KiT~lPAyP^og^$=kDj& z-+9+taMyEg!$VJ9#5bQfjh+4dTr@|UHE`OT=c-5*3hf9so8-xq4Qg!)(mVtUG#AXo zDXWceWOdI17{D{{Y=2pG0FVhz)4^u$m=6PD414nY6@2BfvlxAjzw(aP;V*yJ>#*Jo zkDWM!3p=}M&9U0+3r7DK*`-XrCwS+a9r2tdth+94Oa%w1 zGddAZy7vYdu>@f507hWv8up{}443hw6faXji-rb=yMPtjtUS)nlbMAdDlWAQ%b4zg zK#_&ID8=sbzna)98aJ|Atl~-#KdR8?uVx`$ip;)v17)E$AhBZ-DqrR9S!URVQ^p=^g9O_0*4MBz~}G#92Sd1`1xP> zZ?N;o=fa!8hB-#-9ArjFtivdpF(eY2<|Z1gx9;J(>kRDPI}M(KV;R1)3xCe@a@*H% z{;&TOHeYgwtsmL~cK2ZeNlcRPWVTsFi3ljkI$1tw zhCi;$|Et}@3AxAU`|HC7Fj&H(Q?eKup-P9N!QIii!#iC%S_cPjL7K#n7Gak9xu(Zw zqtR5ccklZh(K|E)!<#|& z4xcYz^EF_Y1B*4pFhhr9%mL^Fzv~#>UZ7axXn+l9z0q(B33M9XIt-T0_zWFhYfKbB zeImVA&&*+3`N}wG$_**9Gm~x+CIv>#J?83>BdFozc~1i*Pj7Ya&1y@Gsa~a1I+3l_pJBvZMF9 zaH%tst4^y`yGnsJL|h>#<8pdWHBWO=D#}F-G^${1j;8OeIOdtz(InR=2H}bYc>o}@ zTPMkoE`lwLF6trzO(}Iuu1KvIfR@vlby89Ws_Rxxhu~Rfu^`1`8u!x!u!h-S*xg$a zp$|oIOM-(Mk~B`w*h-EKYbpR5w9+01j?HCbg!ND@;D!kEmMM;k5uN{+Dwb)L8DiB< z&6tWAAgS{5#FI~7#K|X4;rY)vhQIr+x8a_ub$2fTx~5 zkFPv>+6G(TC*Ju+{Ka>^3iHA2iHD!UrOQ|0v!qEe5{8c2MB*mJLD5XC&WY)jGhI-| zo$5tqxe1n-H@8glj%>E}9V;y#-Liy1J?;j*9^3wHXe4iyaWRBf1v?5fGsbS|Yq524l~6-(7njkDyrrN>K~RO|dbB(9?fkf|o* zd$LB8!c;gy)FxATvgLGNg}=aDSvWdbtML&Um5Tb$>S!@v=>25*HK6Jv}g**YO$%L;QBcOWmHPYjfbl| zE~=w0%>dZlW-u=~u(V#7c%xS7XypotWCSozX+=|>1xlk%FbHFDTgGx#jAgRZi26>A z5xT(@1m&QKK=WeA>Ja5rI2t4s)mtGsr*Nx_Uh?HkjV1snjVOD83ONBZ@zN`HmG6KR zQ6p$ZvJ;XeSy7;mrmlR~voa=H7b|C+Ei{m*fY*U25QIs|V7l0R0s6jXlK8qDmIG@? zj^eQ|e*SAa7oS)=_=0=(+hSqayTVC{pZK0V`9=wX)L}PWd+GU8LAL`ir^weOCu)rJ z#^S{>G{>cD`#AadQ@C+sz)!#Hjrjgo-h~tAxAEmiPUG6u{Tzll)#eJU{QN2P24Ocd z^L1{ej*@54wMTf*wCCIusA|X~(Mbld;Fr{#DOyMhbs$=HhH@w2;cl4I_zRDozJ#wl z^aPG#*YUOl_=x%wUziKl{@|9Q!)2={<0aaw;z^Gw!%q5Ig2V3Qg^4ykO( zu~6kPibP}>*QTjC(v_}E;XR8Om2RZ!eMwo(6pzBBN>l=-nks{AQ(B~)>Z(8h7PA>5 z6KBqzz%Ty%&taGi`S=Iln~Q^+82iXtNu6O#shrQo(Urg@`!nvNHyA7;t#kchTEasV zY9zwK=6AmmS3mM`?EH8C1peLc0G1uTzlUfd8wI%epo_-_C@l8X+enhco&h*nn^3}S zJ#oF+5PE<&DioLaoTwJkSMWO1W5Q}Ha8vP> zi^>Ihg|F(qGQ>5mLW7~r0GL#6>6B6kf4VCNH%Ew+H+OO}#-h(H6ILIFdBGwCWIKz= z5NOEC=?qIfmdfWWAjxI5t4$eFoO$Eo$*7U+R;Gg0Y!dyj`#@WMV3F5u^BZrtyacaDy-p4UZXT%zzk+?O)4Uq z0R!|w!s-Nd04>s+@sXKnB$jgE+AJc6G#+zvq|1UjMJ|G3quvc6Qq~f%ER~fCHsxIP zNRW{j^xQ@mzl*h;&MSW%3)-nr;GZj;XbB8dt0=w_3x{1F;4pR4D_6o*+@@KLV!-tp zTit)Ag2kd?XPJ2Fkuw;^5r6SJUxjzQ<>fegX%`PXaXPQ!( zV8}bk43>@cl`{`rZ+Z}-$fU-4N>PS-mRi4<5r`<% zQFXZ0A0^RY22_LCf?J%~mFMGHInh^lx?m|vtwdmARm?;C=~?ixE5e6Rg(r(p74oL9 zn&Rn9*&!=X>1F6ikR0WKaa|GyQ=3Q!?xb{m0)ZtR)KD=v5nxd9uFkojJbJ2gKOI=t ztcOp(zb-||D@xqA@(Zu;7g+TL33^NJDI+d+g}i=(fo3gKP&m3~@9H4y83BB$rr)4w z%|zb7b%m+tr>K%%v#ir$s18^Pkn}o~2~Yzg4k*KHzK*`T`__x!y6>*do1SIs$8MPS zy(M$HG08C}Nly|XgCzySQSyB_J?XU9ons`rvIg@Qk_<0&Y79OY&OCj|E~#Xy&m^%E zsi&M29jRUvAWyTjG%@g&VBrXoG!fu#T=2Oz12*O~K6&`m1$^_=1$*_K&&FT--q+;u zwRN04aSprJM$GCGgrQrX!kFeeEHlv3IJaJ%ri4b$ZKB&IZlW95{a6KEgITFcptBlc z%AIW~2JvFeyLRj}y*E<@UE#ts$0_niaT9KBrM^i=8&`yjr3`W!i!w>fnKztW%{0Pd za4Q&FSO82hi-)%B>GR&tyd}brJrPM5=#-=Jbvo4>5vlQyG|R@(fJ%<8Kx>Vh26Bph zUQCCTI)j@Q*xjKWZvi;QthkO`5kOSHB~XYg-w?zIGs_-<&GmVH>Ao*wgyFtVeh7&3 zcHzv$+}K!0weVKvQ%!}IUl$))FtPJawkV9E{V91Q+_E7J(Ut)mT*KN6UY6(n=|6^j z=@Xc}>9xReMC*3F0U^7dOnmH~PaSYmqDlcZWjW1m4KRco2CZpx7}r5rLv=w}C^aQd zHD}dX_T>99uLPWdK2GO7k}kxRCrGG=2%U~Z8b$&OX>ehUB33u&T%8rAWL1coDQ_^h zWLDy5jb=%Ym3pVS0xP^z+?B3wBBK0oHK35PgcUKXLp^~Vn;{)DAzv1^1m`Zy70LN$ zf}LO!cUq~Zs6fa|OAKhM0&17FTC?yOfY8<};!4m)ou7vV9Vc4T3*?9`uc8|CwBh># z*>U9*)6*;hBgnvzq=33;F5B1C_zY3M5G!Y>R{{b@2klU&f~j&@m`2z`z_bVhE#eLE z{K~pJ(-78>gNuqW^9UFsGaR{?!!BRNm3M!@=HK-LIQrZF3gcs6OMLSiHm+~M(`fwx zsz=CaB{%{&@%SM3p;(;PeP*aYNj3stGP2?=@!s9~n0VGJ52kI-u<^nR*tvIU{?0k} zKRx2kzuvI*!UMLp-g0-h(aVB&ovPj>@jx|?OxysCQ+TG)94@EmAoT@vd3IwdJq(K+ zx39r3KGfg$hrjD#bNl+&@6V0(Obbq=ho9>#gRW~ur;LQ@|^0QLKDgVE2 z2J=zPhR_}6pOdNpZmA7W@}TirSjHT|XCKPoGVE)^^sJW{fgmwkJZ%aPjS1KwP%cRr z<4%a!F?E28lQMXgv9t<;WFB#s%A<+`gQ6P4W>Mqj96rnmucb|eLW~I{dszw{%uj|i zODbBCRXUTt?kMxQxvow>l4O_$P5h4aQf*T zTzK*+y!bh{;BWoln{o8$Vch@3S)9AFjkz~#ZkgH8GZB_n+kRB|anX+AS;f<7i)0l` zCPhNsu|!5P&XY%?Nn94u#1oyAd3yp4POZ76byWgIiXk!ZvqWYzPb_9bA`;&^c^Y4S z_$j>fd3WF+{OFr;Y1{NV#F_|XP zs?Vk~Y>H`0O_`HrnrdJaSq`Q(Hi!s&VMy5sDT`Vv5C+_+AVYW5Ko^@!ruUpkYoKW= z<9E7remn~LNIXMzUYU=p!Ado_A`UpB!Y;o0?K)=yt)+NUjY*bW?@&!Gstt4=8#pd# zRbeG-U3q-38byVRN<9$zsX%RbtDMH%xAGX_?+cBui|nswK-3K4m%<$)D?*BiG&VLR zDf9}EBJ%VH^nfIgDQ3d;MOph09GeEPa{3BlRt03O00AKuA7apSs>%>@xt#dxzb>VorOu-jy=ovPLKhpi4z>YCf6$|181=*8%J_L6sNj>K8?llLHC zu<95gKp3doUoS_8iw^DT=J@L0v3*M#nxhI?j}m44pp-DlOX|fBm~I!l4C<=rG@;0q z>3|@oi^9K@;C6vp7^MqhMc=T-I&kBS{=}C)^g0m~C7&!P2w{9k|Ib$HE-pJ!h`aUM^ey@Z(? z*4<$?QeDlO%IYKtc&dQlbL`%YGH|^k;S53HVwr?fUDuY8 zDD`2&^{%u|k5>_hNVJAr433@MU3~S)(?HDe6Mz2Ic=ZdPjk9OZ;q=987#f2}<+~6F zAZC+btYNy71-v94VDH2N*+P?PsczF$N1zT<0uwq7)w5pF-Pql9OC!KipaCS!O8rI! z#%T(Xr@wQbtC@ScGtNf_yRO0{o-hhZNF8&=m|%~Y-Xz+n)X3nfnR@Gyk*Qg_1V)5W z-DEIJuCJ$jbdsD#$@L5EWh1>JvXB#P1% zF$q(`VgrOqgFt2(D_Dp7fUWg)eC3Ouu@}GkP3_fhd;_k0{{7Z{K6-P`werCLa54Tu z#U|R;Mrde(K3s|ExkLBRfpBxr24HWAyydu!w>=-*KlYcgu^5mqc>#QXhrB4+G*IRr zkO6V^1r#|FVoUgcLUitw(4altI*6%ZsOShtYA(PVpcPWLo`H^4D%KSgg3g4LJ2C-` zgI7O=YXQWtyP0PI$i|kKn`;Otq{6W@ zqJF-4b4L9}3c<`RJW1j(|In>NWH0f^C`_V%Y+8LJB7~n)!HB0a9S_+!RhQv#`vb$i{q^)d@k;zo>(L-X1Ip5@sQi zz_U^tEEBOEWD}$ zDZ*XjIb5QGB35iFL9r^dV0^Zg6!%cV1-BV6Tj12a@5|@k`Lf}iKkygv(4!B)tiy+v zV+PWCx<)DpW~69$An6hzr^ z@;s5`Ab2;6NJ5tx9%FfHnN1@|p@1-;0i#|^1jke)rLDA}p2ehCNKd$SuQPv8YscG3 zLVKF{=Qrag?kpraYL#CVD_Ndl=++F-f`#i8ysI8JOSam#;3TY-7AmWiG9ysai)y-) zz;J0+EI7VZgkxcOG)s3Dt@Oj;_TQo5si!Yue|HD(dh0#-!8gAYkDlAcqfcE(i@@5T zB8T+}3=s+wT>7li4UY&N|0^LZ=JxoD@**f?|q%U?d31Rxl`wH=G-<-r=2xH zbAGO&Gd9c4mQ-vCb18Rq)fzU{52iRtd!?|D3a`W3!jIhb+O*{!9{Ke9zP@?WK+q^PL3A3}VzM5UhMup~Fz~x|xh1Bw3|p()!^F zQDTfy)hjPnflPHf-h6Kr*M?=f{+Nx zz;7DUCCEorEcC@7wlX+>wnhvv6{OM*q}u$6Vt`@-tSlhvfR->*AXvr&G^5iTM1ZVd z70CexXmEZnbqO^;3qbQzrdf1JbkO+w8UR)0V5F!ws(+lA9#VDsd$pk*0>vWUC2wMF z#P7(!$ZlEFv5M<1AB%%zQi6&c1kAcvGFv4A*Cz7(sA?VU+rO8RF_7np`O*f!Ae0(*4tMOCrq4mFEfE)LS^7CqujWNqKCe!pZbiVM~ z#*uS(ESDXpo;Yo{9y^Gi{lPcE7wfqHk*Bb~x6FCt9M6bMNVXL^d#OiSpQ)GJ9|}lQ zXEI5+s7S3??};=qd+?b#{!JolI)Wx(kUOAS3^_NKAz&a|$@-;i^>xxWci_z+&?NE?mBx zmv_$N;~)B9j=7IhpZjd{*&JOeES}#Hz22XdFvHpDZkz%wQykBvY)@aWn^09+wghY( zF}&af*clBM{_>CG;B#-!y_=4s?Qj&Jh-&J|6)ddonc{cXf*}Lkg0AA3nNxvHUY*ti zrXdq&;!ZJEGHbVlS-2qw)T*RO#;q&w$m~YhFanblmX*3uckQ%5_b@ULI?0hRvhAYM z67b}BuNhSX7E)KpWXa%RLd}usoRjV8on8=p-<$z-7dsS0z65GLyN*+abS zb*XSV$*trGN0>_!3{ zvEkab=QCbD#Qxz89Ju3rp6^S0=38gjzZz)u0vNlXnK*bYKahVWKve+MAOyrsjR6Qh z1tcKTi(G81NV6Q==U@%xnz17^( zBDfin_dj(XCxn%~Vw@qnjLCT>a#Avas`2iw?qkISSF&(Y8XZaO;)p<6XfBrz0@2-i z@cgkO+bq##l4mfq%t3D291#-;gck@%7?o$}*DaRPtgs078jDDadJD$B7+Y^G>aq!E zGXf&v=|O9DN5Xp4pCbauj3!KoMl9AF5E#syE5AkfGR>yRSeH~yGp=xD{w4XDjUz{m zte}FtO|M1?*&H1wPhP;9H~j7Ie?6Xk>&>|D+oy4DcNarr(HJRo8i_=gS`dIlf$5g! zqY9dwe0D5=E~j>HBDI_-$LcXLy@;SxphD#-u+TMj+Rdr1>D>7`6=`D?ys*h!i4!N* zEVDv125VRhL!P{N1z&yi3|{lX+wqfs{uS82x`Pu>o=2#;kp(WBenD7j^AHH6S4|Lo zk7+!OX-d}tZl64=IwX)ou^MNE#0@x;R66Q{CsQB7H)OQFW@YyCIvJGbX}|FJ~f%Y5bR}*VG73Q?u79Dr0H}0~G#5 zXtgk}l=vr^9s|`%g%QFcZCZt#@KvF&m{(DS*jq(H)awxGm<6G|dc&;c6sO#D&qRz` z*RXo@;L)AjRd3xJj8@f^D+P#eADEw+5R*$s3dbW#Z{ssysD z`_poom*8eD`KyL;s=YvkiLC-bCO?B~+S0^SG6B#Tn%|)eD4^iv1=k=lK%HI@fNMK@_{L)=^O-ju z&Y$}3*J5*RhEpfc^K!Q`&TCXuP+?%J0!%YbRfq!MMuR#U>Q>aKj~UX^!YHt3>D4rk z%=wNWU zov4zBkEXEf-F(bQrECQw0ZELed)8G!_bEO?ce_AiHnb8 z`@%KM7js2_Oh!DVpbEHE>y|{Jix#MEs|n;QS(34^Ze){Z2H>@C#O1Gi9?SptFWAAi zz8>Rjf#@S*pkHzk;{sf~V^x&VXA>lkyt)a7nuC_UzrH9#0z2ATLSj}4x-bdB5W9G! zHZ)uAnkY&`WOQCwlMjp~!9U9w)rv_ukZyFc`&(!b+~n4pgEsdpDyR46gk%vY)=f~< zjKGfhBLxuDWfJIh@z(C1K|ci2SJRz|22d9bOg=o#fato4oX0j@)Ec!jxKDHW$kn9? zpsS6!^5v)x-el59@;THv3S)CHkg$fN43s?}0!h=8asfwnJm6jT-i)))_7f(^!pz`Zf+o*$5B-_^Rg$> z2B!SvhMB6N*aRi`4>m5E4ileS804}{>x&UsTKAjpoZ-;3H~sMQ8*JN<`@OT8gqN(i z!Z*$C)r+ieR=}6xCwmsBClD%j*fP=97dU_A8rrG*@W21Nf9=C;j<4Q-Kh_T{kZSDk zJOGx%^x3tI0}iuhavfJYF5IYoMU9Q+l*f=P=zD6$wm>z4)hnaWq~C0;ML9nl#3Y{e zT^wdw>FYuPH8&h%mP8hr%sowrEfb9^=@1@fu{x8e(O1{^h7Ks$MNJi3>YE7%NWI5D z=F{{j4Ak8v3qeC-dVWC7uzO>o(l%pT-BNb{^dbLu>HMb=UsI>6@5#9%t9m%^biWGja* zJ|9ywoSGD7wwMpt-(TkaPn^c#!$iLc`@x@GJ9K!<1`BsLQ*F}#7XC(38C8fP zL60v56R@zHMl&mSRAWi?ONaVKRhKcSp@{xa@oI{^t-&>Y7oAB` ztio*sLd<1~rq}sUIjX(_#?%?AqfIP65%0VgKGkv@RUj@N)ypVZhe|JG;Rch!3-u3m z3Jm=HGEL^W(=2qaXIgRt0GXYUDGk|*;c%`ZQ3u9SzoS)F=HziPOH*Cyl|=NtqPpyL zAPH!)9-KPv86cCEniDpCF5~a38FwqUM;RZnnWc3gTD7IHgIXns2uW0USgcHztb%t= z2Xva93X%&}yDqVsk_-MA1rG;xvB}`;o$N9sJre+9?ADBP#&n>NDhM#iQw8$ux|c2) znGqm%7@d+DFDcBXE^a3jz{FhX2L^(3lqSZ%m~bZ$T)*)qoVf1`@3vUt==1KP9y5a+ zW>CHn^Z-)g68Qk64N@8M`INy)`AW4kl+V=A99Q?2ICtVK-ukNN<~v?<7ry%B zMO@t8v3a9ePHGf2x=-&4PID8+h%~2^S{T9#uferq1YzmggR4Bo%Lv^KV+d&VF1j#p zc3~DJV`#q60-?E^RFLIZf=?|dlZ+H*u+FZVCr~c2nZT?KFoQjK@@ZSzfS-KlYjErF z!#Mfmxrxw7eukt`0v}{%y#p}-S3s!0gW3ta%5AB9?(D!?Y8Dq zCSYU)u91L^j^s=$PmGr`#z{ZqQU{}o&$o&xwhT)ZO$fy71Z^Hil zA7J)fZvys4SRav{=O{sUj40j<2DyearE}nxAm8O%Vx?0_n6WQZ((V-4M}ovbtKv=N zUz*~n77?jvAnB>Mzj`mqg*jb_NN&jDTZLt`FmqTpq*-~*0|<a=$Y$d**p z6rf~~bpV3_Mm1N4{5dkga>jo|+?KiEAJFDDo|D#*yFqH!+@i6#Mr*i23>g zRiW@Wo1hJgLzXJS5IiX4J9W&f)#j6G3sfbb!>E6^w(r>AjlOYsAGrs_e)cr5hv=yp zQxn<i z#xxh!$X4%=8?O?c?v{Izc=E*4c+NA9<0s$o8a#D%&z`t&34>b>#vfYvf}h1i@4eLBgQUu@$cM8q+q#7-P-|Ahr3dxN#um1+Z$4Kx&%l3e;y186k>? zzY|m_lz$5&q~`byuW_BiR)!)^bu@&lCUh2 zkEu{|lO7?thzb-yvL>HEnpZbatxqyMVnhHLY4GA1$hulLOf-jPAyP?(k~f|5C^pfi zf?*XPHG^oY&)_l!ncNMt7!d_RXCR?}e8RG$lmipwOfisphh{n;V3&#yTZttSEy&0R z>E%b-y~RX|P_HT5%!h2zgwkz6xzHt7@~1O`P^vU;H%w`s`E zIbf?gE^3dbf?Lgi5VniR5u**AAmgf>aew*za}VGDs`aBckL~bL!`SN#Dx2lR=9!2W ze%cUY>Tvm`L(eAzD1#t|9?lt=J1$?_$N7_I@m+6v3BL25yX|X_p27b967wcjFQ+~d zR}302F(Ov78A!QhkVU&q1VqsE#n95Gna-AIGR4q`L`}7jIb~|E&L&!cM0HHm*&{2C ziRDW;aYv?^(_m7jCu+PlEM50Yg;38C4zopTIQ8^JoH)0QAN`J(;n~Lz;i)Ij!2k@r z8#O1RQ5>EhgUc98U!c@EAm-srqkw!P@mI_h8NunzvSt-CYDhzf(6XRj+LUA^UF6x) zLGP%&&l5+$dz|82=;bPHS`8hS9`3fVXcX0n8lHMHpnMrR4JxSdm6W%4c;bz66TXY6h&HC!c z8&^<;6ihWfo!UDeT$R>Czchg{6YJ~iIQ!Hozq-9^4?pnvv0)DVg7jxBNEgO+cpzZI&4jr<1!K?G~PyZy=PoBc!&96sZy(+Uj zgEtV2WhF5F|E?Bn8UIX#OeipMzFx2)s_P3!B4nx$7J-z*n;|I?VGzJdUda2G;NYvF zs2@ug8KM|vo!v(Yl9~Iw-0uL|oB`$g;7A@UOEfnO)$wnfX)sLf95h}sb4S8;pv*a< z4}qCfmsx+UL=dGyh^%-S6M-vf1Mg@i91UR&fsPii^2DLaBIFg5$dqx0#tYKAivC=6 zlSGbo0VL+6aXPE;)SR*MdE+@Zb#rRGaC+9tWtI&x^)%H0sLon(#(e@bq>;_K@rhTL z-86og6H6JPKiz_s^%9P>AShaY?2yMfaW;o<|2z}MH6;t51uwO)E*jK7of}{_h@@MsK(wwUv5_P$8x?F; zvQJUHUJ@o~6d+Swcglkk$;vkS1dPieA2B^izzn?`Pj~7_flOt_I05<4y<@j5kiAxm z6{Zk1Wq{9Q|629AQBj5@4(6l^OIo_D*RxE;#6-kc=hq;tHdTEZU*+25LQa5qKK?AL z=W?AR~NIfYSO6Eu3WSrq@xXGij#r9mCum zPn@}Ir?&U;SKsk!96NRZPnOjT*!u2YUi?mQhV%=TxO_cCda`U77l%RlJusK-HZPUT3^@ zDcML=1?Lc{a?tjGRD3AEl$f4`C<#3>(?bp8A=Yu`-LSeZssqgcr>21nk^SdA`wF0` z$5%U#b7FSIl2QLC$tk}!UGszMpTNTsRv=k8D^_0udRUP%!9XQT69eY@@3_w3g=`fE zB?V?v!N0mDI%#>`-!H}sdI6AbxJ;#Lj~TzI$v6blMJabtstZ^rMRE<4Je(EmA&Dek z7oVEOEfj21egyT=Q(&D|B&nGZ0)v{9MfM5s_6lAo={h?K1t!@UGoVq{T{{Wd^nhG8 znGBcV1I!y71Kiy=4QDm3jEk7M^_K97e0(5dkG>8nKl- zGSA?MT+OCOC9s+`Vm;qd_e5aYO3z)Pqw8l=Zi%7Ik(rpazz86<&(F-^Ezw{Z)D3e! z*-T^BUIG*m0!Cn(mexXW(-1>ftVqBtTQVt7BdIf`|2=iiQgT0c3RC1wk&xpwQpyq1 zfITO#Aw|>bkW&g3`mQ!ALBpsxu+oayDpH0BEI`FxPGG4RUmt9GClcWE>?B|xxY|;`73MjtZ{W*c{wxk0yJ`6MzxyxIPkkXV2Kq2yf4Pr9N9G8tlEtL- z0l{HVzM9B^6<8*$oKWP^Qe9$pRSdq|!{XLkab@i=F1_F7nM@Pb>!DkqNJ*>TLYM5ju}15u+fp=@38 zEM)>0%8}}Ju<&$Lg;JXV%6u}dKH-2e!-G4EBNNcJ`W^gu^nEaW79cIMiYfq8;leRw z$_Ds88VmlRU<_zX>R72vL}q768x)74D;RpcI~Gz|C<&&<0MA2_PM!wJ zEevm}8>QHp6mzl4cLKoy?RtmelS`ivLgUxR2~e%!(p%N|g?q!*{XLvI@f2Qq$F2C` zH@qB=ow|gxSFZ71x`+uctdu~vso*IHX7UcR?eAR zh$S#CM=X2C?y_S!29~jBzZE63s0M0(~l$gvDfr%KDaSu_9|h=%RB(!WF`) zFvDyxoH=(H=PvK&-}rN{!Ob@u#EFxqd8}P+$dEgjnpU2j^*|cNRL8pes?eR{12mDN z7}*>>IuJQKde^IFiNqtH`ow1rJ>xbklovxypl($n6I+Beb(~A?t_FaYs@bRG$NEf! zk;bA&Xf9q2;h;0#bvU!ypGpz(TBx`}@?feOfvSPBKA--X*(%2&P$s#03F7uhjnwE( z)lll*=rc5(Ki;J4fEtG44GcIpU6|5*=G4d(Pk^vmPbHzLnkxX1rBu_; zGX4cY04lBc-Gw#y6EHOjgmtMg)aH*6o=gFF#mt10I830YPlSG2`KItWx|G|lGE-lw z@P@j6)8&&C#|X45L366lf$Ta`dibV-PlYm!hHn!Cf<&#m>Qkq9)!|4zc&>U<`8;6) z{`)TAAKj#J;uAJ~pA_Jk0*^D~M1{08S`TM(RY?7FtNEHHW?UZz#a`-j=x2KsR_t_F z;X+0*1SGSh98vF=fz%A;6u!clVw{Uns{&2WBZ{zrUM}k-9;<5DAQ0K$skjs|8N;O; z0)vWYf+&L{y;`W?+_<&K!JoPP_}8B~KX@GTqc_0&ath{MZlg%T@iH)iC88wA*|DPI zHLjp*%ybtRd)VNP-Q}3)o;ZWIzV5EP=f%&@2Oc?vB zbu!zf5HU>iIywwyu=nI!qVG8sN3$%2YS%!13Gd=qp zsDc$GD!i+RYZwydtTQud(h|VfjdeI%n;2laFLWsG&|pI(5Mi@n zKv>4tANUe}=r8?5Jm>i@vd2I2$FaV406rV2_fRqo{fBmaamVvwu&$WSk3%mPOkK1D zLA-Xfr}ceXyy4B*yK)IqB*r65h=^l(rO*Hf z57S`TZA6r>C(MFmPqM&pepV}Ey6nnnFnA(k=9bMTrBtu?Y?jRhhgK>Ivb?Y?DSx)g z62jxx0YQCRn}Vz9@phF){~O5p5`L;Vdl%{&VuW^jm)&kRe*icMHFVHP>X zTLX}t8<%ufxdj7Ao^XyvR8k{xs$5A`DwR>gHIh`>aYkf~#3|WwRJLM8wjxnIDN>}^6JQ56 zAPEov(Y*$*z5PAkUaNl0xxRA+3Ig!nyXSn(-fPV@*IaWO(i=%D5t!~&WZk-Q9gjYA zG5_2TeLtRhE>;F{?-=$`cMBzp4!~V7hb+; z*4(D!kuB+SpyD=z3WjDX5;R^wB0lSn5mm|SshnGLd0@V_=_l`dZQOqT$#VyL%lFuP zHbV7U0vHPO6=i#?x7}m%SD-B*$OX zi}g2a6jztL@Cbi^8NnyqCC*G@WsMx5^4~ymCo9}LT}-X&dP4P&cCUkn#a9eqj;c~-P(A&65@!4;;2W0WqM_CG;1#AXmK z*Rdi@5`4>3+72=^(E#s06(am`b$XqEj;yVI)(qifVp!w}WK_czO^GvAT<6pYg|Ln4 zA2jIrKoBgUY6NXXbn^OkZqC789T_%kgKtA1lbOb#J* z>M{BBjEg~IFe#IZazjNnfqvI##-t{+RpW~VY!ZmApFWM3p7`Qtak#|shhLi(qh`Lz zm2wywGN{pJKmwX&Qc>mx25Tgyi;oyHsPJB!!edmay- zJB4G5hA}#phk>PnEjzoW+2yqA`f>_R0G{Upaor?P4=ok9vFkO<2olp zALf>vfU`0lw|!=Yj#$$5)=`T5u>b<*bcBO(NH}@4qjWiO~&x znqLfa9dK+8b_5M*?l!>WPAfnMFj2X|qOo509&nGqh_$tK``*h}aAW(1KlRP8q2-}J z`zL>d%@fC|(rK=ywXpyP05-=IMpzUVxoA248V^-)#oHQ_vOo`H%gA`oPvXYoe`Gs9 z|JVA-cfA!ja|XV*&vSfThoELmKo@S17aHogIu@lQA6rYu&wjlm-0AW4h1CK{DYNEW@PAO@;TehLWt=p}SeGUh&e=E-a#&2Nl<)`iN ziEkp;H{p=yfD9OW#aKlk%Rmcdsk7*GL3WM56&8QLiqTUYiQl^Kn1T0ef9;R|X zOECvC1n054?%sg#B61qg=Jw*J{|NJD_}vfvhTXn>6*q2N&yBSOqKD#?qe%f$rk6G} znwM!`tze8gTrlfEDIdufqg#!K={;LJ00961NklGnl(#ugTz?*A$*GYjDe~LzXbDTjHr+ZE+bAs+kSuT4q3c?qp_@3WeJY zbX;@{PR~iG!^`#0?B{T+V*|~rsGtjK6<~0{!$S<5G6c_1S7(K%?l@9M7pJ4K5rOGi zSzZ`m$#XJ@$El{7noh3vyZ)QUk9nf0G3CIES8n3$nUna}f8;Ip?2Rql-rmch4O*Qd z&(eUXqg43yRXdqn5!gKMR+8t!$^gw0W9&E_M_=|a9SvtT*YT+Y7_xOoS+Z{D@7tu1VA@1tel?E1_eK6e~%x$h$0{Ln=_de0eLIDS0m zX4v0b+Cg;h#@pu6f5d6pJ`*x%P!j^`pzBWskQp4_D!twMe4f|u?BMyETlP19`kgkP zIj&v1jTzw@96)QPLc;)$9K+BvU}GtP)JTn05C%v_!vpSW;F8Y)r(B90xZJ)!4w;HE&6?hM6F-`&1uZ?uoIzEQhce}sy4}7 zjhe8&Rm^~LiSn1#Gg3ibMSK$at_Wz*SA;uPbs{PtVyfNv-lx0gGs_wW)2}d9O^u!+ zd8RDFxP!^7VY&{kPmx+WMqY(gnI(~V&<&;*NOc41!5bwI@IDp7Q*o&-C^wG*0{&%E z5>^IJTnw)6WlqaO-RTOyS^+EuSy-_cXL2X?#y>}8RGYdsl$xMQMrDXvgezCgVkF%N z>VyUL`-(_5Q7yU_{(i~r-8dJM-Qk1!Edii)G^HxdyrL)7_tRp}0FuWN7W2g;Gz;w3 zidq#vsrkn)AZlKpN08SW2rPXnK>@IsDh~%_W*t-Gm?0DHi$!>|d+&bl>C3ZYCow;B z)-W!Sn&eYwDqRK;QBIv?s1eYdVK#avw9X*s>N-r-DT$nyUc8M97mwl3z4Og@^2Hmu zw>+@Xy0b`KBn z>?=3%^w)0Y)jN0X_VzCJm!k%kv=X)VfDuKM!Q2*W15O@0hWpMR$0HZc;hwX{ur?p; z_RbR5xA(BOT*8-$nHL8hM3;$)ePoB1)fJ_6i4;-OGC8~I?2e{)%m>HwH@4!{m(Tjo z|Jd8`&p!NkZq4R6xjsi&ho{-(DN(?~6P8WMJK>p;f<81H0l|oiM4(~5nOsDquqGRh z5uLMpPD3OWE^wllFd9n-CSQ=LtVfxy)w5{)e(SUoum)gcUrYrZXO8t$Jm<17x~O;yL{}lb zx6EOEj(pdj!;8Q3|7&OdgAE-2Z~mLy{>UfH?%uUnY-Z06imNGoMT|&h<`ub>!nM?c zSK?t6C~_$SaO$pAu_~Z@BCP=#=IICzr^8s)*@|88tYjY(t^h@VjwgV6RcMjoYvvu$x*|O4gdp5A!i;o6L%!4lrhvX1gKj8K=;gBDR~UPhlXN)4|>XoZ%lToL%SU>RuARe93v z5ef6AH9@=2YNHU!bZt%PR)&_%VEG51K>xsdaQMR z2j#9z%|H`aGY>NKkwk|gSq7i8MnHJXw{Qi5#xps2Ii#K@^VAqUZ6FPta{q1S914tt zwZ@U{I%tw->U2a4Hp;8VVZ^*LsLSYSEgeSQ0nqxUi6^Y$qSuxyJ`_?nfG5$g z;S(yF`MWSjw{*_S!+;iVI{^~2(Uyg{L5TlRk zGBZd6G|6gcZOCJr3%mc^2|RfIG#)s2!tOtR0SAZ6ymDvTUfDXZ#E8KiGqdtXVqi6T z*#w|5K4Er>Fv)SF#wLofNgJBsrJJ`gpPj|O{gXe4U;M34;Fa5hojQF2(MKwX2Niu` z^c_N@KM>&=KOaUl8oYXNj5p3-XU)}-vyC>t{C&Cg+_x{`UGIBC8-}l=FIo6^mlv2w zuRlfKCYzuxZb=Kzsv}x?M1N&MUTiUum+}NBE+i&W>@OfDazyHd@;NJ0c4|htnz5=A zid#-qh1JYjF%?wzIP*p?FEAz*{Sg(xy?n=9nL@azF^6SuVCSc>2=Cvzu(a;IxIm7& z*7z=nwXKL7#cVUwB2NP%IvQLm80|G+@{q_nsl%$?)U$CBLDD3ck#J>L3VF;C*GJ_+ zur{uD?cn<|Yp8uXRDz(V4!MYqhB^v|MiJ`39N}<~VkuaqP94n5lA}u+mk!SVQEpdj ztz`cMxMVk2z=FjrDJ6pD`aEk2{E(C*wWJ6riXC#~bmn)80xD(&Vcc*b;y`RmBK2@E zaRii2#gW24b+1mgJh@n^7)ncYcN)s6YsHPKbHQ^2XDbs;eVnvfh+J6O?P9h{?ouIA z9aO$*%%4p)>&GA&ORInZ-bkNF&Ef0)iqPOo{7|OQC9%q3~EH8IV|B0d+N#! zyy@W!`OY^!YM=SaQ#f(|rKE*68Ns^lVkDCXfNCnTq$o&tnu2+Hx=EHMDwiEqM$eQ3 z6q6x62KYgw=(lNb(#_u9V3t*)m51<>?Ji*7;C&l=z8ktp&l!$a)Nkr)7>W%N~_ zHG|*PGuiT1?J7LV#*faN>+Yq*V3-Vfh_LD_bF|8~StKk@wFPvFdNeh7E|!k@>X1OEEg!FPASC2bX)QKJ)ONNef(eF`I@ zCA_yxOKS#8ZYhPT#mXJ;S#cen7@e&&afXt?sq z9SlQbZfiypIT&T?Rs4~_F>|J0HA|-~6G;~-22I2P4t>pMc=VnVc4B=UTiaWB{9Di1 zSD(9z+qZX!^Vim}zP6TUH=Fsa(XYe7f2JX&w(J=gmmLwK?H=^}#tYZ+wWnV)gX84! zb$tIL_t@JXx`c<%oyx0Q`*!u#U2GpNF>eE>)*URYOxRqWMn(ECflSi6GFs&SGIKUG zd+z#8y!PIU`ImqE9rnL``14p>3|L#ND~9k{be><02GuYk8ZsbRd`Ow6W~l+*gA*KP zRKdhyoV@RmJb3Zj!}mV>C%=C24R3kf*7fTsmd;SR3wfs#@54}gNw^G+Ix(YT4H+h|cMiS37Ld{XDfR{mDs@a#U*{0gjRJVy8?-SV6pEuKN zyBahgUNr#O*jy{@W*}xpKx(;;>2x~_)DhtrFp&}jA?n^6>l`X?gU?7WW)l8ouIgHF zbcS$MW~dW1g$PaoU!4#&sW2wK!`X!>kGBZGg>%(FGBuyL^*R0-09C%Grap+shUy|y z)*$JUuVRjzxTlxspi!Tz5Jr&{0;sD-wN0};{IrIeM+(C<-&yJb57T@RswKdOq10_m zO~sr70wnY?OiYF$Nk)mPf}9>&{biX)vEfvxyGRfOj}j?Q8q?KR(HteKko2n?1DvV< z3`_bGAZ0M30zDJ#uJD=ET)LrT`4A8floN4S&3>3nD@~Y#L6%H))K;UsBvokE^Jl$; zI#P!$qiW9DPynnA>O=!;YqR6GUU=r!ws9iXPMx+MOUSTqT8Qkx25bN|e3HVL9B*qb z9rX;8T{})|cUW`m9V~74&K7?D18>KeGhDgzip`rNg9W$qU7DL1y>zXes$?8p61rT{ z_z#&l$ViXT?m2lZFP=JP*Kcp(_dfqkeC>NLA;-Y5v4)cu&*J!ezJM}n8wp_9(Q+HXd4aORQ4+6Ai$jly102u7P?(LhM*~IKEKVrB3 z-hY9!XHQ}NSN_dh{^5tsmmT9`pms{VJ%ppCJ?pKhc94~b0X9~$caveJQ4_#|-4m9< z|0bUVxAf7951a^;>|J_Wju|sXnsQXvl%G*JL(vLjwmM)OAFOOIP?FYpA>DLsUNtn+ zU>RgZy2)4&ZuG7wscm*NH_H$S6Y%r~8x@mHNtz0ObeI=0KbhP0pxnuL-67ZGmZb5* z3=xs$ZrxSL)_k)kYTiY4i1Q6wasDz%B9Jj>FqyzrB;1?2{+PNAe6g*7B&q#uoXqlo zj@xAiG#JTQHH6g|0%IyNMJO{V zP7Nid$0lsD3Id?|!aXgzrIREgu@rD`#a4$malx4jzYPMyRzU%XawZA-5TQcwet2G`_~tqMe93TmHV zld3NbST0AnH-FXnb9s7gVb5K;Zom1tC-A+OZvt>EjxBKMo-;9<&z#mJ%(TIU0@`wP z>K;fghZ%e}8`6BR%?(ydk%|3r#GUP({N$IvW1sx;Q@H=qS$p>z9>nV(IFH*q2YBJ; z9ost$EQ~$`BykjpCl~o{nGGp#2syq$m~ApHaSJ?svydQ!@Y1W;q|hmaL@9Juq#Uuo#mLV`)ql?Jv`8Xz zlVN2AK9kDnNRzY_2NY6LA{WX{$~gAgS#qn7pgqKB(-`-A6<&oYxz|ki zV!}g7p<}BJl|@-rEnXHN@(Cz6$&Aj~9u*SwbI_G|b)Qs(8d+r2MVn8g0Xu6Uqb_|m z0HBkBs7p!xPCZOJqAw7uVp=37wyBGe;q;x90aF3KItP-lQI`YdfCPI1Z6!}Ku}lf9 z&aZBeOol(CQ^52Bm4MSkQ0OzPy02Xy$jXAneTVQT`{1=7U8X)<6UbtpYate-rMYtKIYpZEP8oPOxF@L@(1 zK?NjLnW+Vy*(Kr(b?Y*t0CDjJ$;uYN{AM&fOS}H^b-d;E58+jpF5u}aH)SkCc{z&^ zncYM^e2@{D4%O-aN6X=}L}bT7Pn=j^*!SOe32?Jt{m5hZr4M}uUw`2$j-NV#`yRZA zdoP{JQ}a2HiT&jg2jiHB%dlmq$yhI8oC*_4&uQ2)M&NKfwB@qnFgiNIj&H2xefONg z{SREiVsj0j{l?SyA3yX7`@|DZWkz6^h6t~5H3han^p5rQ zH9Yy`6WHC~#jTsy;Nxyy`SO>{PaaQ;)9+=wz_irSp8iL~W&MHIu&sLM^zqKvZ4 za!AG)G$N zY;1!ZO}bP|tyon72$kupybvOt!aUV&vjotBvCm+Zo)!#$qQli(&lI!HcO>GGn%Hb+ zurPEFGNql*kBUYYA+BW1A!``Syf37@4Wu_DGD}j(V=4k@ra^RQDf68VT=y9TfB?Gj z8_e11%9epP39`DnE?nya*r_s?zYARJld3zf1!pCX(LGmnGOZ2GSbKHd6CUNggXtkM z-35A>Wsb1ywC^&`s*ceCHHk?gXa}=SIL9)MAug`+w*5*s*;*S zNh}PI*@TH2hi!PGj>FKv^XSvM2V+KZT1LKX)Ni99GDKHY(T}NFiU>evmnz#~;}X#Z zj6-1WU;Z}6x4t7zf8-A{u6`He<6pvjv6;~`J!&O4<2mS*(o?#dV#*kQd6c0Q1QkD` zf`PR?8SN;-8E~;Wft4|70EjWD80biJb>om0k(jNo;f2qC3YI;;^w>vn>&^|leD!M1 zW^*DMK{iXIPS7Ks3Y$m?DSuLQKoX-wdNa&W3Y~IUO1=-5^=Vg!Fqi>o+Q-}(+0jca zAZThv0gd|qmNl$h$LS><7emDZdMGcl-6=28NjaGe^|GH*hd)d6Q*7vnGJ?#6P6nWs zNCMV`5y?gIH&X0qATO;(CfsUF-$Kg?hN+8MhL%7!)$A18dcZ=b?Qy&(TVz?~KrO2z zs-P5#{>&*42xgYwpeJX6 zAZZK33fE#`Qgre(&BHt+5BrG2Wyi%+n|R9u7xI-GxAFIX^W*rHKmGzMZ96JvCh{G{6M$UH!EV~wjaHfaGz@i5Z`iSM&vuDR*Xt;R(ls)j^ zJve*m6kfcwg?H#RuN;`aFI57_MHqNy9(NE9C1(pv+U(CN-AgF#k3wVIu2&S%xIy z7KvPTY~1^BWF}sG@@v0x{QL#faem!MDE}-@d{` z(sZV;5LZDQJvO25Er8o z@ZrnYJa-C@fBSj-x4-qr_};ZU_PWdG^X#!ro;;w5@@YK<6(&=?pFo(y25#`|tHc5X zhMC)ouiVAy<7;^P>mS4`*KPx5=2lr6(*4PB)I$s06KI;7GXv*ziCjz_-);?=Zq`}s zmSRPnKK(g!Gw19eI0G8v z`JMubgN$}!rL8qk%AAP;rBe>eKzFGelAjYiBM;M2GiEB#sQE_J0iuS8K+nWt^Ax`F zrBA2L7WnmF|0kBWzl)t0uUlKpP&eX5EelzuF?1JFA?X8@?nOQ=#_Kk#&K*slW-J)D zcQ9NyZ^NtKWOx4d--LbW_igdPA4iT$_&B1F^u)y!fMG|O+(XioZ&lfwWmgeMe-W#s z?zKq(c8ZN7_712^VLD(Gg z;%U%B=3(716?;-UXnanMR>`Cb6ufk-ft-NIx|Ng8x#azKfDJvFW7L z9A$YlbtJ@|1xaZ$H6T$P6^&wq}sL9X4~^{q2uBUiT)u z=L?_1aO*{EKk>Nv`i6~C3HDe5Zr0U!;OF~9z-KT2B$pbtGei}Clt5aT8OcOgU=*Wj z26#7=Wsd`}LA&3%>kTA27pITm?#tH_+t=~!Z+y-Ud*aJqek?cEHj!ygwF0MI04+C{ zIM$f6GLu8!T7v*A$AFtnC#N}&qR`Fpgazx>R1y#er`*`E(F`maNsZ8dH?!c8J0fF9 zCzf(W@y(q?S*DFNTkVFlpy~qwZ!Lp0mxYoBnlP15xHlL!+4Kq(nN~;fAz|56$BLX_CWT3DV1-Xbh*TXYv)^h~v5}%}Xt`>r zs!9W<-NWZD+16C!LTzDoI_M{*iU-q}u#Oijm|-H)tk%AfD4NDVR?7f@m^ zO+h%D0E`_W6nL*ycuxycfZL`QtiWB#3C1lgx<^}%vK#2LRaC3dNT?;nMx>!SimME0 z>X?=zHsd>GqugX|aG=d#=H`n94tI8bYWv1DU!1!iIbY0z2bA$1sz{g$9LdGJ%Bl*= zuHwBmL}<(MF)t7HbLY+u{=z%ogxh<8yW6{%kvvHEB0zFl%I=?iD_fqTwjZLI-8Pi4=#9Y?d39SGmIVN72YEzK~% z4UOIS3A!f5PY$3Nve`_ATaIy==!b_mK3~KA4_ri>&+$8-_$q$w<6pIlYXcs=bPnZI zEfNK;`8%J4G+c!MYe1C05juz3jAwcl$*%SI>??QhXWsT&%x4YP?%d^Eq-7RqKwsYq z6kKP0QWmH?#6>DuS*=kk<0GUj&k7JDD&Pm@dIlIeOe9dtB8=FxN$us@-;v28!&vmJiXtMms79@;3rXfa z*)WpCErDTZIT$c_0K;HkdE#^Uvp@G&@-O|xpU3U5e=HC8M_?FOOuA7@W;DBTBwAxd zooX7wlpw@{H_!y9^%1QL_XOa*t3VxcxwQwo|3TQL*W%jW_;)c}eF^^FAH#BY8`cla zo55)$XNXQ4$_#Wi?JSyNi%1{|zL_4yd312I^@NgqGDIjgCfG#p;7C=dkc3S9atNLf z1HDf)@d7D>N&%XL$efTmj4#{`Xzs8e>l5MZj?~PD*_33*ItNfemZLK~-l<|JPt>7= zT3$tPXQ2Z(OvPB4a&a#hJ6uU!22{LT>N{$#9pPS3z%82<$ z1b6~nanA+f+>vIiDU9DMJFHcg**O1G^)E+ONgVRltjs#=Lx5msU$=t*{qZAtdOcIF zf&4!EC@L+eC~K=dsSZEP16?gOo-^a1*Uie!Da}B6e~svAYGk^8oAR{~In>O7MMtpO zfH`as?P2m;a6yVC96by;?8vr2L&x@qK8(Z5_vhIUeJFG54t78DF|_p=hP7dO#@3M0 zY*Obj<|zRr$-sagA*}fO99Sm((j}oV713cJQ6%KgxW;lZvm+xhM!@F{hdU!~fAx>? zU;Tgn3%u&pZ^08^`6AZV*DWori|p@-^xiBKS1pD5tO$R=9`?CWHB)+yrq5I_kLjXRgM3tl(3s+G@_?(2YR6_H_2ZkPdIubT;#d z2-vKlV@Lq-Mr_{Tpj@uj2j4^;-_6281)~*?OmqEt9c8#G=|tiOwHR0?aO>JDc+dC0 z3MY?m=JU7i^4XRVrq&>jR?BKASteFZzj~kCYFLheg9x16+|1WpzGz>2`UU)>-}yAI z?d;*=gBNl6;yIfcFpe~SBvu_zC4ze^F({-gRQbUA!y3{(lD-3N+MmSLjbtZ=bcgg0% z#+ge%9@@2+p8xk|$4?-AaCbLvGkB|fx5`OVu^WLpxyw|~dDRm}tVAM?HA`J(C*4+47Yd+isf^uC#5Hntup|)EC`4WNRCCrUCa55WD`lRr zmZj7XIg$FR`F+CWQ&1_%P`bsN`fGS`^%4wB1 z&o%@D8zt}6Bi9We(4#sB>RT5*E%_5PO27g#r$9@@5XjMr(qPgfdO_VYbeVKHC2Y|7 z-_yf3_VV~bLf7YDBe|B63I`Up6EXp^vCxuCc_NbaT{3N&9=4GI=e0-;%ta==QN)E! zU37L}Rd~Ycl~y8>C@vMuN(mt#UykJjX8i2t33EN)bV;vFxtM>ZR1?Kk_aj?szPX93 zPk-Z=V8F)Z`vW-wxsv}E4uZfLz=c}d-f5MW%>OYhUXvY_Az=-;`pO-9?E{za>iaL` zOV@8=)(kf3ifVZ{;5;84NrS7fq7X;!{u%lE{snX;-mjEIsiKYN*jEQ?r zoxtS>&gFC0Udey(JDie#QzaPSrtj2jn*o*_p<%3yoX;G0 zwzqNE6F>g8M|1!7RxTqd2TTCHI(`a;Tr)?EWO_+`={iVIXms0Pn?k+jY(-si*LTAp ziapWPWn-S_#|@UCOnDG?=TUHJ#^VOioT5!*TQf;w5pdUVfaj{KZ@sfS>J8o;F1KbR zP&26PR*zbnYV(=FtV4|_E-~||OR5$~y~t@FmIj?QzLii0Hsg==Vu}lYnroCOE3jKJ z=s;i;KI3yXtvgJFU<9=iP9r5Nf19ST0v60l5>{;&aJ3i~i_N%kXDe^rc**|xul+MD z=5xFH=?`PR7=SiJWEU>cJpqVl76I=R|O=|y$1~aEoQ+4OkjB#+{5tY}J zKr^KOvdk2r(*%U+W*O5|4l3Oh_R#Nzxs2z?Hn|6n?*o5{EEvz}p$xN;G*!?JJ!_sa zAX8Wa%oJlt?(wEQkxL~!#B|oN*gwE^#&3L^ENqd|s7(msbn9Sw6A=&R0Dvy9}m<*Z?7GwlD?$1Pv`20QcAlbFvJ z=%4yH#x}#OHFzeQQ`O|4l?G_GgK46VR+=PoxkE}?#0t{I#<(drp)i&z<{T>Hz^$?6 zvo=r1fR{e;8~LhNzuErJ|KZ=p^DjMH;zo9GtV#~d%7j>No1wK2Iv_u&ElYpeA5Ea z1GDD1eS0g9ZLH&mUiU!0bp0-YQ!6-VT0=@KT2&qtZS(w*u6Imj!x+Sc51&1mmrifs zpMUI2_`S!ziR0&v;layiFmuP)moXg>la`)3hR?aKP_SLO+CaS@d*X(kZe(7P{wI}0 zDt|(X60)9r=9!2w(#`PTy%%u$!fAZvJ1^jufA=%Ey|rVnzV{?%^M>9dnvKj+sgW*? z&;Tl!4TcDcVUP(K=(!ud_2Nyu?+uS&v9^Y*x3|#-r=^z_KCN1V_@2rNwW_2rXai1?(tO@u`s(NYU$eD!7$V`Gg@GhXK@rDhyBteNu9+$#r6W^I zW!0#39$l+^Q!*D_x0oYJvb< zdaN(I-m~%xY$6Li)U_ZlEWomgc#q$P$d z)di{O2zBnbY~mmS&6+)M@9EswT#w)Q)K~GbFF%EcFP_HPwPVqH2MxG#qS7S-frrH8 zJ*$rlRyUk=9ELfby>=7tc=SQr*jTq)cXrY0+-ozb3>uOf z&h$re$e%|OOW6|eWCtJF(FX=rX=YY#iAZzLti6E<1ezJ0-Lj=+HWrxa6l?e3e55k9 z+?WN%bz})yT#pQAS7J(Ia{o}rv(a})@eJjFh_peF??}N8k_%QvQU?9n63CX*ej~ZS zAw73?09Yubo@LF2^1Gyw7jWb~KyehUR2GaS6fOg1Eiq7l9SMv)R2r61K|ZxknO?jS zlPTL6GDbgj;uya6#1qIo!1nH4thEu(eCi9>SS)DU5JJ{7dTg(k_i0l^j#N*$I4cr!=3cBKRAnkgrTIASzQ`vMr%`^1e&FDtixTV#gy?UJwhD7j8H_y zMuIV(V?YEG7MAX&v6o_#8XMPX-iuSy`&HS^d@7ja6HN$ML$~ID^TZmyE5~X;$6-B$ zKskunIx=QF0do6yKN|aY_HpuCU+?qd_vQGx&!f|T5QDZh07S}=lyRHh1XeqAiojsM zXzKV|Ms$lbZjfXiRGm&y)QG8zgl=t^q50fi_|%87IbX9UzWMpw+TOy`&wSU`)@ErF zVgO7gO<8(s>TNA!RUq@d6H}!@ELtL?GqxnvZ()gu;9lff;h$?-Tl%%64FuItFr*O~ zmrBD09E%jJ_)ZY5m#fAg^9AQ5*fUDdVwzPlk7i>eqUQq{V$R`%ikmdR1_5cyG6J*u zX1;O~IW6diVUAO7|y?R(d5;@621kW8wo53U0meM^6 zu@Na&(PnU-!>hS;?UT`04;j@e1kKQRN+pcPPGdRtJhoWFefM9)z8il1j~~Nh-+2+Q zzH}OEYcoF_NiM2=nv?H^jTm_eDJcvCh*Gb6!`=No+&LKWGe7kG*t@-j@o+?B4U(`K zORks%1AG;;+SI5;?QC_}c}HeI_U^;RF|41z9OL$_W8=a8!#M2BlOZSvn> zBb7y~m5ME;pu&Xt^?g)_t@<-o`&;oUj?_t6KU#Rd0PTrCC-mjIF?GT@bJ`BNi`VCpNp^2v({INEKswR?3?yLZCoA+ z4>%hD3_7a8gpGBohiSwjLq1U{HT}ef(l}K#lA3tB&fv45y`Eatg5va%;57(z^z1+dazR$7{TBp2|2T&mV?-(UQtZRzY33O zINI5DZzz^T+?R`Rh=j>B!H*Q~a29k(njneAz;ymWiV&cS67NMn&#q=noeYQmY|jZK zPiA|zQZ?`oi(GJEg05CCAtwh+uMR)d^@O1$sS_EY9llb{X`|^nDS=`8h)AmfC*LTL zoUf$7k_j;qCe_riw!m^{=dWV-4vt@bWVJ}svSEO^tk|p<*#$Jo3dJgu3ksBF2dlP3 zjb9)$?p(WrANl@AG27h4wOe<+&1N;LSx>zh1+^z9R+W7ePyIVyb@?oS%>VXZeGFG` z?ckw@FU9&|hH=SracCi!fCm|9#(a_`Fj%_hDOGhMg$53$t)Kl=R-V|QyO$0F8JvBVNKq&l}E`gOI?C(#(r08cgEv?|gH z?EyMb+uf}KDU(&>8X^tM;8H~lzmnZngZGGObwnCs3_+}Ez0i)@ou`5%3*ZzH>B;rQ zseqgUHPu}%Sz8Sh00FvD<|+z{i{|T(k^4S-^h1u?Nc;U&Xu(sG_8KHy&VT($VoIxqJpQhDFf?egWNrW{7p+sxW zA{TJa$YE#K@q<4I_c^xS^)8#;xr+7^??Eh=$nn6^(?*cob;)f-j$2ZTPg5V3-PR54 zOeA=&IHkjUjx5yK&!Sgka9;<~21-hz!<_9MA63q!X=9jKQ_kWn85Q%HQpu3~>V?Py zX-#nem^uIz0y8XXJfjtuk5ZCk0ukl$UWR5g!{mERk1~Ykd$DkMkxT4pp@>&AHE%lQ zjYxv#EP|Y$%MMqtyO5O&9M--3{16^=wGN9+$;~x#R2{WCF3I#}pze63J23w-Yg-*m z$ov#UXGbdiBG3#otv>^m4WwUMR<1<-oxqrmj!{#*+bVrE3(xE3*sb z1Dh0x+zA1orDcZ53Br0KOiY+-vR*gAu5C8!%CH8cJSn(0m32iV$|!rv%-Lq?n+xCk z$R{Gc`$9YMm5=W%(2*5!}q@MNqFDF^*h(o0{G$+U&Pv?0bv%@-Md8^kND%;El&N2a#W(q z5MJbZlDH_RXYax~Axh7c=6h(L63>_yCs06HU(mxUmQm#&*?SkEYN%6?44npTw4R5N zOk?24$?F6%G&A(1vP0?x@}-5ig&mLlCk#;On5E^T5RCD^o{M@Sj54lOCr2=KE0e{a z+7H6TjE@E+D?|&If((%mRt3&)?iO_o<*3o1OFpvlXqZ4+ktV>X;GaxaAswAT%jm?2XmAx6R{RY>!MuCQttmtX}6 z9kWKZG)E3iUp{jjr_P(J z+_f8c!{rNk;>59h<<2%{t-9 z20G`fv{u5J9u5k>ka3z!mAG4qM{xaqomq;iI_)Ohd}rz3mLmWoE?!s7E;s8 zp-hoUqC{${637l)t@UDQRMeXbz%!|>z@Q$Oo`FWt_`6+zLA;AWtm(Ai`COuYv7)nz zoT%=b_{ag!cl4XU{aoSSJ5Cv+Hkul#mh8xd4^M6S=)-PP>7!QvG z0g@{%%b}k^p6nn&ry}0OVY=W(I-i+0$DN%6pUoS7^!2a8b1&awhb`)vz~JVtMuJ&q zkq}4==aiPEVSp`TnXkHZ9@n<^@ehCFvRG2S-|QM^Fhi<3D*HXADa#^0nwfbYGQ%+T%#F1f9=QJ!zVpI$ z`{fTmhVvWqJhicjaqJ9r8IrDBIZJ8Og_$X|^HQ@*%`9HNxt(u%=u*xXgKcf?V>Yye z){OT+neWBK`Bzk!LOMx{o=&69)!L1olJe2km}HHqITM;z;Iy^P`ZAFPBLz}>Dn@{Nj(Art%!Mr6&@7ECb?59Ld4d$nU%GV|?S`ks zRUwOiCywy8$z&;>OUr$j&1^BB;p3n91G{kHLHyD``Ndp5|9EcS-N|7#$JjghYRat` z{WyD!=7l9~a;2`5Ln;Zn%An|-a@GKHaE$I28ECzCf5#7_565i#10TTRneSrwiT44A z0b7ogEK*^`|YB%*MkJ5^;&m_e}^7lZ{rv*uhAs}VmSodmRH=D>Aq5i}i23s{{D8|BE) z_rL?|&@Isk8$7Ge!rWVnK8>swe+h#}gW8HrYsph`53` zH|U5LZPiSl)Z1ZVvkT&*M@B|UNg-lM`C$bYYwkqNgX#_=tAmEAYU6V^q`||1o{^pV z%Mq~A(qy({33#8TdYFnb(2c!i&0~h4bMz!c2!uy;?zgf5u?Pf*nib2E)=l;Z!B)I1>2}WM)ql54GD3 zEAT7zW))5{sHCf`PFATV31G%dR3ifd{A^Rva5_~!CJPIWoC$m~%AlfcL}5!68f3W8 z+-l+nET|_^&>9&I*6*&eJ%JX6=sebyoWKY@5k56`__=vH_fz?J6tp8LMeuDw_nRqy z2*IWSY?7Gr9Jt@jpf(mmJ8R0MyT6)!O8Zt|UGwrg+xvLqBbSlhZ1-TF{svMynxqO{ zFNP8cOVP3->n$5BN5n8>;!O|UgD-vSx%};qei0{6pR~*8Pg7MEVeN>MT0(B&%8SSV z>3yGS4WUo{J79E{LFiza7M9gaNDJy^qp7DTTFwbPy1`L?E6l^_-jHFrjK~w~v%L7g znf%(fp2zQe?n!*#g;O}Qv4O*pF*!?J$Cbi&#|n?Xv1YX_nwx5bHc2;CF9?H|>WR~`z+&@Q4jae%jqg7BXJ(6aI_kT)DAiY` zIsoVe!QE|&;!wl4y4-vnEma394kM|=XdGx06_|(}?gQ271Z#^2*_oq}UDDJIlOq6O|Em&bL@6#42NXsQCmdq0zPxw=> zf%SwZ*S*`S&^D1X^`tei$66$zoA11LGgvpY5T+b+szp*GPXz;b`btA#$b!Z-w%xMu zweDZfvNpSD(2_DJsVgX11rYEeJ=hYh8I)rF#oS_oli4&2t1dPupB1mq8*nX*RM}*X zuux$3sVIh(jf&VM$yB3(?3cd3j<2XvBh)br-KGmo$}9vq7%WysU(-ty0aEu}-&tKx z+Njlw;#;X>X?-%U5vfq$>H1!QI=V5}RK6Y}xadi?sDCoO5+#Z1f~u%>y*J0IBT48s zC=I8IIRl&vUF$;6r9o>nXY;ki)=SS^w)J(i#k$Aja?8mh*7||w{BB}1gBc~EQ0z?O z6b@g5A+iC%l5^|UUA*lz_rrz(w|90hpK)x%Cazy=20Tx$C)iDP9&Q0c#yH~9%jfLY z-R=C<-~9yUo9lM@o^u!@umsq?1|_TY3{#^88cjtxXeU_w@q4FjIlYsVFu!I#!&aF% z)s^KC4PZF{T1Rlrwew#%yauk-@sJ9T`|i7lD>t|CPe1Whd+^*Qj&CgF^4nI>S%GKj zI1efm`Nafs?!L9RXFgxEw?29g?rd$d=x$v-waO0$Q`F$`csV^Eaos95)y*zm8+HG# zS*4DI8&$28GbJ%Ps`KtC8Cg10nYmGVC}2>AH|EH(YW~z)AbTB==+UP&HM0Gj!LCwf zt2sr{Tq%iQ0+b3?zza1_jgsG{^XQF|)8-Cqo|6f)88W-l94Q&{5BwRQ@nM-4an;x@ zU|}$kL~e~USeE2PScbp`KHFC8A85b^GuUA8*3e-=p$+F#$68lPHn4A-H8_C$dZ z?g29Ia%XRh+37OxNyh7l(K8Nn_LjFHa16Kq>`!6%=2y{v`X_<3%w@ow2B@5T;StiS z9F(wh+7$%thAlPhR18*5BN5z*tiaNa?0a?ro59-j{FbIgrmyBE3nO8cQ}+a{jQ|QV zH1R}m;d*7_1-(iPeq19t%fsMd2Ct5vI4UGuW58T98p+pAbxekgpyI6v<4hyjt^%ER zuDz?=j0AkiO_MO5QpPld%n?=5Mj}bz!D>dcXQFpQ4J?MsF1`Fje15y;6q?sO>@CeRhCOvqIl%y5Bv1Urp)IBC}$nB99Aq1yt zEcB+7+BqM@^<-8)By4Udb?dnsOeTm%F98F{hr{ZbxS>2%2*L~*&Itn^&Jy4W6^2M0 zww68uhr5T^e%tGF_O{ny|7ZUiZv6glAnv;i#3*$S_%5oG1s+jnk*jA3G)eD-llUGa zWK70{X0C1!IZ@6c6Cb3_H`nvVOE(c$z8e4NSN;(mdgx8@_~W02TT35iEJVaMkZ^*E zCSId^WlRp`D50Q%Iiu$6x*56+Ff*PP8&q_(CNdR;I$L@HW_E*wJFV7Y8t5pYHHIR! zQ`xC0=gCRjO693)f{-YcL!u?@h-y(Lt*H(u6=;qm@cS#cH+HUQ{ZA6MpJ)j8Iw7A4~4 z24q)#)oFDVR0ixE9Ks{;wny*7wcERVa5??_G)_~#A0g?f3GcARavL)Z(eQ>x?!gzo z^(;R8>95-Hd(PtYi49whBZ(rIWi+IjjlqGC&Xxqf%PU%QO(Z!k^&zWS*lOPs_jp=( z==Zs~gY3zlim_1rfHZ_-rL;jBJk884I&5Jx+;i_)eCz4w@tdFj8ZKWvVaFD8^ikM2 zd7U8Zrd@%AyG~Kkx-g`r=@4V#A5gN_vk*%o{3LvhLM#BHZ9*TFA#_CV79=c)3z; zuNb1l2oo^@dBvFG=gK3knt?qT)rjAxQ9y9?sp>btl~P352`lJ1Xn$3FDV6&X?;cRD zOJcI{dZY%w)T9K6!~fL#QSGfQu_9w!*PxCALbzA=78NUbKe}z>>aCm5*=?FzO`seF z^+3w(Ws3Q{LX;UPRP0x)i^pr(B)O^g>6v3syYJko95dp7`h!oVA3L7+pFf3hIbux2&`n7{Pz=3k zKuzV@G#X^JcB&2Jnq!3{oIPG2i@Hn^S+3%hJ=f{Ph5$@mnox&`orAzgLAtx9rdeb} zIs*4xK8x$uZ{c5l<{NnE!l{_g8am;rwr7;Oh32`bBCM89%4Y+KtGBoFZI9jyj2(N2 z2j7oB#X$@Hm@TGr9DQgVqLN{_huDjJejf!=}7V`QUsKM2?y~gIm+|E z9SriUOg0vyiE>mp5qBF-k&t#FyzxjmjvlXKOD3XoR-Z!WRkGHbgp8Frb z%b)liEY>zG8;ha>h;F00-j3cqse+<{UPzeaOeU4$Q2gM*4CD#DDov;8F%B`l=SMIe zJC8d*`xg>_@=?tH{7;z=L*~H&!9f6-K1ILP{_MP+#yH%aKK3ReYog;a051mIDk{=R zE(@UQC8Y`|H5jHmYJ=XW3GfdB^4k93Q99Lir%gc8m!-&AnN7&dh%dpaTy9~V>Ro;< z3lf;-IdoQ^8DR1zsAE4TQXOO=ICBn5b+zg^J44ce&4C>F@ioioJTf!74X7~>ZDtgM zo;AtK?@dc8f20)w(vk!+qjU?Nz1(<9<{~agRuY<~$bBkUlLCbRtfe6bm;v2;A%J=% z2&?WUl>?3MJ+fqL%(do~S80Mdp&~V`fFd<5$r3=dNn!pX#1qMEml<#!Wi0|FNVQr$ zPkyeILPfJDdI@ZPh+krNT zwzkgCaimQSHHyNioNh=KsQm3L$re`~t>Ku~imFmm0Vo!SpgQ5}YuLH7Yun%ac>b-w z`5*be^S}G+`IWDIHunw=F!O~>lUimv57%@aHtSVHSMt!?nCN5+^ymWYM#4BCx{M8^ z;E5pQwB>aIP#zN{1>?jUc?HuuYb4bsidN~dVp)ld>mztDu}xUDijyinNYMy0q0tj0 za%ya`C?RO@G}w$!RYzC>nHixmQ??(VVI*n~(pZiPTC2ohOBRIg6IS*3LdIoypD|a?8Kt$UieIUh}|NJoUm$_`T0PfsG62^W@qZ`WRKDL`$GMcXxAM zbrY^~Kt5OlxLcvv9E#O7z)Vv=O9Q%1Mvrt|W&L8UT54RoWpGD~r@TI4=$t&t3_wTP zY}Rn`-V1p0JI~{fzW8lCa?e=|-gF|RQ%U4-OM^Ec8Z6VgyR(Mk{aS0l;lTlR#>0Ha z_uY@Z?Hxp9HmxN3QcxNKk-Y^iasr03 z)VWt|%fcg7m%A_`gMF7@o6A7FyT!va8Q<0o%UN!`MMD%`57t5Vh&24GGlm{|pY92NA*-?v~ zG!NtR&?u?yLkOWm$1Gz!`9B8%^I!8IJ&Ex5nMxE%sN^zZh_^p+lAvBII-BU z|LJ!>?P%+M&xMoNA3L%q=;dSZAOde}rs+9O4LFfM@-t9S_i134>&d&BFzEE|)V2b8 zvMW|{LF2Ysjgcgf<~*{{YzS9?Xlc}#0xdO>8@PDsOn&Ft7xB5Tf6pJfa7GgLwA3jY ztjl#4MPdp-#KNY2e8cUnJv)2i1kRj3fjis#7@Gg7HSM*3$*dSaNx#-32}A`DPq=3y zn}RD#W$#^J!CVShSKHsrEXomM-!jS5YvLh~9aLh246QY7k>JYQ7HQLqd?&^lthzznzIv z(WNH|3q#h?a#~P8PStUxTVQpjuE+%>XYC;_un=z+Th2<$QyvHiZZ3976$coX=yuOr zU(7b}+;iW<*4`a^=9wpRZRmLBW512X+8WFn`yS!Q-k7Aq6}nP!LpK14TDVx$h5|CZ znsCN(GN*5&@yy@(-fqs`{sUNEddTkn)qf54%l{N>KmC5ojSXOT9~F_!bQVU0q`5pt%7|@7G~4XP4b5XQaDW0z3;LWn|`vApx^ejKapA2xswF`Hl13+A)HBB6Krd zV20{j=$)BC>Z+;<%+2*P;TXDfJQ0Xx!ZX~JlT_ZIo*GYJN%K*gDHvB9sOF~3TTNo_ zEf$UflgS5Zm7929JT%Jrv_r$pDxKWe6q;Fhy7gpFd|& z%_ChHDKVh<59PCFD)B-pE;1`q1KJ_L8O-e^c8CV+j%dukI{ZuB7;2K#@oAPo+dDwc z*RlD*58!b3dhEXQr?Bk2ARN-(aqd}ty+5vE9 zEW+w6fbvb~NN@DM8Cs5`CPp`rni-ZcD*q)g3Kz*2ri|yB$ml?_bI8gZR(+RL@dozzITFXk(KQ6kdNp)P zNC0Wk(yjcLtg}<02muY)XjdRD6TG#;w{CTPo?{+SBV+~;5pq3Em_^z$fCzE^iIDJ! zCz>Qrr*W@iF_G5c>A)CZ^9q)u@^B_H$qr_u%x}5AZ7NMfjVI8o(Qkl&H`t_e_Da;+ zPY<1RP>``n2?Y`oHQ!_a8C)lfnLG;8==KOKcMkBn2QOl8e~G311yCW`A>7LXj1h{e zjHvvYhMr42aOs2}Z13TJ`S@3{ar^|%ZY*q>nWH(7bn*&tB$O>e2F$>bPB2sudq`*r zMO)X;0GyIB#qU^QARPp68K6u-d4TUY2}Tp8r&!?zk)k975}*QPZ8qTiDkh}FBCj&s;kSaoz5`;Iipi zqJm%*auJ5?aRkh1gLN$ywR%=RW`InN>R!twysO*FjPaB#lsxAO3k^%}s0{>7D?JQ={ z%yRdzBgfI+^vHdUm%lU11q2#^B0ho=BYsT{en*-(p2&Nt16WD<9ysA^uxwJ;S&nxPD+Gar<*r-|LA zWDfz1F!pa@$Z%LQgAbBC23ZDkOwvcTuV7{}nG<7es&N`MwmlRzJ{ z2C|e2-jZc}hq}^MGs}Qs0FMtWk{bb7GfB!E=9U)D(xyQw1t&PwfFFOJdvq{rDBMdc zt$AvJNo1mq>I6tuu(g=e8O9NvKxKk4?96LrqUQ6wd3rWAkt#klV3>nJ@B(9k-byF zOckyQ6m_OB>ipY4DOegPRVP`>_1X>Q<;tBItykSt>g7Q0&ZqrXr zu0|xRqO+*M)Z{NMkVtU{721lk=Bts|OwLdvCwU?&F2YZ20;kJE#OdQ$ z``Hgf{^q~J-aFrK+dDfLe&|P$J+R!}&E+^Em)&gaz&M&o4HsD?UmexO`}JTkUh}yI zcGCOgV-#xW24d`p=;((B@R{MT&Ftk*{1#4~IfXy|$RFYEovZlXi`THWF((n+IQAIf zK!+L3y~rND<{=G@>^t0>n&J+$wrYY*qzXx`X5259HYuiZ$-Zr7ppPA9jt(~;^c`n%Ru>cu_%JxFHmP-r9<=YjYNO38&ili20q2du?Ob!88*(I#_xUp z8x|3`aQv8cWH!^dGdt7zHeZo+L84n?q`b4U z@_CdPnf_2hyNZ=GXq6(#>T_~hBb>g9slmyaF2%CS8+vx7UUgXcdGL9XpPbA-qmiVh z`OH*;u$H7Ql-|E;>eLgc)Qt(ps~L_y`Pe}x6Y zK&NtP9p48tp1c)ZP%zH?dhwY$yzf zsB_Z+n$3}GQ%8+mB`6^1Q5Bn)o=m!^KG*6waWk!oI|lI;a|b{(sI{9ko8nqbjT<0z zBoLZK1kUc=zS-7Ko(G235M`spdm(!y0O^LF4eT$m$d67!z=;S@^J4^2W?MUZ*w|RZ zBNxxawL80*JCI$QFOIlVW@zL$^=y-yA}t;~e>%VN)JypGGcV?a%jbclilnQ99Ecp6 zNs&eaA445=1$bK42@KH$nzh2si;n=TX@0y^FCu(Gx}G#d%H@8dzmEc66&|7W9+8~) z=1CMe6^D^<^IVRB6YGmytgq*9ef~+DSaWQy%`XDibhMI^+_mrj;>C{|U*L!lnO>TkdQY4uQNgPR) zzItsAo*`bJA7&UDqN&T7z4n%g+~f3MvQsm%J%s2X@F%J)O(0!y4F>ndI0=Xi7O@0~ zv``1dteU+f9L20>grSAiyEJPk34(=J(HgEu-D@FQ$84D8vE#?_xyL?_we>Z8_t__b z@fNOp@k?-9qeTW!Ys>+ub=}Z%;Jrap<7Q%}qx6F4F#{l(YxUWK;1&j+GUt)l+l4)N zpAB#PvE2Iy|1}Q&?f(PT-}@sNUi~O+X9w0jM_Sr4E_Z@_ptE3>|6K=I>~dbtkO7ax zsNKQ-5K6eFZRyHqBA?t~5h9UN3O9C_CjWY4;VjwRB*-Xq5mia{K(k=H&R&fLlr*-d z92S(^I=duUshv!|Q52a--WR4By(1Yo&82-c0{2KK31~p)OoDQ*IwTPY8{u%E1;UH0 z5KfvL37}I#NGeys8AzV4!^=obb(J}?h?=R4hHx^c*Azvl5U657dJl8cm0~SOFWwdZfX6W~)Nok^or1lmR1QI)0A7F`|4v7(XO?GFaBka6<2& ztgEF9BtmA2R8vga{CZKmCc%g~asYg1AHzMDu=t600e|QJ?zjGr{~q>V^?Ez@gKtKn zBl~2B$QRy831+H}0ZCN&qypf-dr|@}J9FkelB=4;68_4J2K1geTP%=1!?ln7Hr5Bv zt1mr+!{vTH@r|$N=K4D0W@i?o*=6#$JQ$TWZZu-9^$Qt*ARV@!SU$gRxQ-nQ=J8i)aCK7zy#5l$ECYg7QZB>m?N0YGwxjPo0)?j2XR_ z!6W?8YPdmbi(?GbrbWll1cbS#I2A!Z7B!2d8%QJgH|?h(b-ZG7Yeh~SSNG01P5}dU zcJ^`X_`01tbqqIl_t7ebC;+4-5Cu$#zvcF!@1qp`kuxXl55MqK-nz4ei}##Hm#2h9 zWN7vx1!!t7YJJOo%V0iCM)4`7sV4`I09hishCsMsvgV(&LM7~@@ZH3OPh%${- zaUD;@gmtYosXmf*A$xg5DJel0i~D4gNI}#+%RUDj<*sMMhiH?RiEx|p@T9hg$``dK ztG=v9sMZsHVWu46{1j7YWl94HCtAJK#$OW?4eNeK| zpNZNSup`0WCiGK_*ji4~55Nn#QWaqx2Co>vCl(?Xky8>;O{@*6E<-WFMu~HESzy2* ziAQxRCiMc>2;WV%>GQ*Y*=!AmyLaE4;{g^YPXn1AU82jXXIzpO=Y5ozIW5yezfPqd z5FA|KleDw}*x%mA8y~)mWy1Fl4?sh?K*A>3>%vZZ0{Xp11llM1p2cEXDDH*B`NAJCNMJr9BU?pJCnRM zypC);eYkZK488zF0&{1@=s9=InTdSI$G~ zEZdBMN9Z*}E7bvX4g3SJ40^IU^=(R-4L~BjhEMZn$ zI=7%@s?$Y5VFn0Sjlj%A>d0UP6Y()61Mbf;Q>ULQ*(>2z-nJtIN3VGoOk4tlKFz(s z4f*&N{v_{z@KJpD_kRm{_q(|J@>Lr)HjoK#YQb0s3>{;3xH%dN5Pot{l*w5>7NR1B zDYWjG02DGKy8*3nzon!2pcd3n@*0-)?)^%W_n z#wDOlnL`6DrI2QIdU18TGraK}@zqc^lWUghgE3zWTY=RY$I~HgM7}!7LaQ(gW+758 zGPAtl3_0fp?q)D=NLTlasFeG~*||;U!F~wmoM3W}zf2REyEXHz+zR7Z7s6?GV(p6^%&e{6bopG+);Tc^%!yhR6wi0BET|{&U4mHFgR^6o{(XN!lB%iwBRj6 z&Mx`2S<(oRZ-t+2)dVn-guw%>!! z=H}2Gy`{IQ!O-By)|A5=8ovOMo#0#f!@bVh)_Tf>!F9AbXZ$G@v?+_;w%$6Nr^f#OVb8rCM8d1)Pnnj%rP1eFqx`#q!lAqC5jg9L?XL6 ztP2>4Nu#HTx|LQ87zy3O{R2F5=?unj9P}kz1U!;E()32WSiq8e7!z|}CN7;ijw^TW z;>+K73g<4Kg=L$taM}@lUcyWTe~wyOJffvUe|+M`Kq-Hd=tL7dyeN;Tg)$0x!_7+< zfQ&Xp41oU3Oq3dI7O^0#oi1Q!NP{<&B9yTtFh=6yg>!iB#VhvJXRhG>)2GoRsFKQ1 z7>d=>Wf++h7?usq(_Xo|gI8TVpNqA5+}%BxSXPH>tf=DILdT#WGt*r#-KvxCpd!%3 z{g}tW5*ugEHZx%N`i(z7%x5HlZ8`@*u#~ZJ!WA-uTuJ+d(^1No)qT*fh*-XqX+5UV z89^e4fU7ts0Ze8dW=Bs@YsbF!8PxIOE$E&p@1P zu)Z2cosJ+#)ldbhvM`A1;!w8EY6_?>RlVP`&~zye46f(Gq)n_q;@()FIY+{$np)q_ zQG0$zQ$6TPO<4(3Idl?Fr>?tFSh_|TQTtpBKV+#1nS*GE#Pxe+UZ*l|0&-&Cr6cJ7{HO z;d~=rz=qTxV1`y-c4T8NHJ4aL3IBj*;Us0TNXc>tklNY?wywVP*S!U1$4&&ho`h?m zus(fn$qcIaMOr%HtyxH*L1b2u5)0PaQeXq8lc5>rzIr_i%RE>Z7<{Vp@eCIPO&r{->_&Y#BTzVTh`?H}OW zu}v&v1o1%B_yuWEz!Jjlp`!X%`mL? z3)yGN|HCpP6Q=dy2IE@dTxe!whj~cmq$J6sXStM1oWewAMk!qnD|5`uo(*Q%tVjZ= z?PzH%#yM9@=4G0ykt-X)cozs`*6+OpVPS=Pd%Ya#N~H*3)6PlDl*w5_q?=i-T?W6T z)HesR`DM-uAU%_|h(wxz0kiply=9MYeEAD_|4;on{N4ZZ|B1U#ehRxUy#k-l5Mu8V zi7+zAtdYtXC)tTIB_ESK&J*ZBFYl8C)R%Pnctm9Z*v_6|V;%P1KZEV>eFL}O{&p-j z2G~#jXbu77;UQ&<4&*mNc}~A5;~g-o54`8}-JllzScly+E2~ zTgS|<25bSLY*G}FWoC5pSJYv$%tza+h4jUlrW zBa!BnsOrI#YJp5-*EBE-nGuOiYg<+lLo$W?Wn%=_iO z8lrEs&e*@IVun2u`Wn3XJjYk7)9ar1lHDP zID2e?-}&sGKUmn3D7pULbno(<e_gM;!J+K0zY=b1FKLbs>)zu6VX;5Od@=FkQSmC@gUxr-kM+*D*3c1w8e@%4nr}6ii4? zKp@$)d5Yyw;hN%jLvhIy<#fW$W~iuG9S&+M<|QYI3>TIw z=ofY=+4yQZ*Fvtg0u4w6dbH6eRtQCA6dT5uC=Dm7U+6X&gE84zpA2lgiqz=^sbsK3 z7Y$tNDJs!KkZsO-C%O7_h)J0-sX=Qa!vMj-V%MB|2EI1O-Rsxifwqpev9>C0<$lE0 zol$1YIHWo%!6WO)>Vz56g0qG&P9V73_Rc;|tRKV0(OlU3~MID>#4d43~~J2cps4HJsZ+L+W+nLEVg{nrK$3KG70r-H~Y-tZX?& z+#EKvM4O?tMcRCpKAV;O7rBlVU|^`y9>{6^HN^ofBv=_GF%3uq$#MkU($V{f)9dT7 z*6^`!JcD~q9V>Dy(FSdL!fEH*v?Cm{Qn=skZq?W39N*_E#mzXDkf~MXK%uN{_>TM$~*&j zW@bz{C#U=+$#gfsTgeT3@#s)KYB}oa5|OlB13)Ks0BolwodZ*cd9aCQfGp&!W++3C zIbk^|w~4Qbxd=9mIjjqOGQ$*vqpyb>&;Q7&ASD1ry*~>>2t-E3Nf!tuzKS*w$o6wzx^YD}IMyy0Pn#bS=<{`e1JeH&Xl*WA+Zh0lEwYikR*vs8DPU~m_wvWyA} zGc$OBaEdYk6~SG536vcxeufo8NAPE(yyk@AA|<|3*V2Te%I3k%GNKEH@{MJg0VqXu zRawC^=#V~(QiQrS$%F&LU`UW`ZfNDrk#*b_TusH$z0~T^s&kXSht>W9db(5^4l`J@ z0o7GDcd9fpD>izp^8SkavLoHpRodjq2~yme^YBp#?9;P55EL@k{*aN3e zpTz#&K0f=c=WySdW7WJiSG!f7W8UGGW|=L}MDV-On}et%ogYw(afhRQUjHUp*q@%Zw2ML ztFAHa2Y!cJssj(iMKQ++#e z1I0Y52BQ+5r`H)@c1h^CpL>I-5B?er=Xh*5dj{G-dOnJa^1_t22W!Nr`j(J}@0v21 z)mh0k@ml}R#Z)F5kff0xUMvpT9ufngW3bBb{;x8yNL00c)6!HBJ@w z$v%aLq#Pmz$mf{Mj>z~#LWV^lRZ>doWMYn7S_&Tbl1eVZaTrq)pRA6$5sXUamY@+8 zy>Uv;(hB16T{vI(m`C6S(bu$OlW|Q;uuNr8NnRj?DL0*XnpJEabGNQn5`Rnrw4-}oH9aoVVV}CK9o-{RSzp<)U_nJHvoCC zvxisRe->i`2V*z)(m|JlK#GuYcoX3R9@0Lz;q38+{lOQ%jbUSf&5b!mF@gjTKt{T? zBq-A6sZkH^Bi>A3J$2}e*Qy-Shar4ehp){o-QsXu_Wiv(7mgg}k}FgVV=0 z&__ul$-Q5FRJa-akj)TJ`s=em!oHPa}Wl7;QSWDwyVLIkX zg)jGsVkp;Yp`oDUpRT8M&bAShLqSDEVZyVAU`8o1P>7i(QcU2KQgZF9>|zJk3>~E= zK!`*L%1-&bo28kt(o*5;4)fJiFg+%D0h(85*DsQvL$FFVJ9MO=0hAy^)Weh+aFn6GUj>AWY|v>tmU zL@6VtGRip2!>#0k#lDK`pb96_krfIGqY*d>g1~Z;;hQBeQd0`= zS@(cM64={_E&|eRki0R|G`eGAwOOnsN9`%~Kw7T4NUSI)p<4a2tjNzWeD<0*ANq>MJj18y5M6&wUcJ`G8@Vf$lUsOjWQfn;YM$O}#IO zD&_z6$=e^(h^K)u4wC|$Y`v(?vkP^?1T83eBF~{-6IzImR zx3PZWm@VdmMP%{ipzDH77#1RFtkwxfe`u6s%za&0KDj6ex`vtgY!NXGJtDBTyBj-q z@AU0EH^!}7*Zbb>TM^?JZ9Y%m*tFSvEzEhQknuzy%O-V@mHDc!i)-51{kAOA$KYr` zY&4*mXC@YwIDKXlpZn%BKu|I%%#;hsAK{%CR$GkbNZ|~!w3n$U$b8H_R z!kb}Co>;}*5w&_0(N^k!ZX{P3l2z{zW0-k|!DHAs=HvF(TAR;L7%W?B^fWKbmVotY zVzSi~R_{XvZmMTw{GP5F!&unBOk*%Y0jWLIHELxZtet9m+bTX+#T!=4Vy~K3(J=M> z$|YtPweQ%}=ANZ*6|bvek~8JOP^a3cw$weAkzj%i;t7*gohoi>D!8pd5+CN8Dy)q) zp`Zckz&ekCcgU1J#R)cf6{rH%sTW@Chl+bQN6VOs zT20rlKx_K~(?k08Y1tLv)=*q8x5!s#Izh=$%mx+hYAHz$p+`)@iZ{XtPbLbIM zFwh%k_az+OU^>`924Y-)o(Yn@F0evyWW!))4RDV>9_I4qRo}n$N*?aq^*C74smKx; zVcEO++IlQDPv-p8g;+avCg;abm`9Jp!+o!jmO7r#U>Qc|-ja(3QG5|FQPl+;a6YbF zM%wZ9Id0etpLz1R{OKQfgWcKQMKMFQPP*`C1}ITdmEHjC?jPX6v&XTqv4Nevy|2IO?kHsryNe<6&0*QoF|bt)9%~dZnkGVB#V}cQ@L#lzcoLVH zWj78!1k17xOCI<`I95_qQsS)feMrk_X@a3)63=4*VSMMLth;7FQgUHX)4|yRIA`!V zd#niP=`>q1q^Fs=BOI&Y+>Koh-|ZS(*I_o|3&guyK=*%&iMs$iu7 zAAlIi=O7c_fPo#T%m}OT6b`i4zDKpvDJ?b@)<@*8()$l+2zpH@c3Zs!gQ6z=GuGDE z@QrUhiD>iu<^S;?+c&@QEI$9~KfvW5{UF-2y%NW1-xS=1S zt!*SM(aY6K&0loDoju(+(kk$xrxdaSh9O18DE!nKV;!EzUc(Z+sVau+7#-^*e0hWp zcT!sLpuj|dFT>!#VF;L~s@I;HD`j$RNauibl_#lCYE2{`1prR39N0uMsb5iJu3u2tezA8YCSV0w{*jMf;1W&kY2zrC0GpZPerskmyd1beKu! z*AgC{fsU4G;ou+#xHg-#K#@SIqf;h%^q4Y4Ajoo&jAoaWt1S&WE!PAtNOZD8N6Z_w z76DLVZ$R(HhPE&$3_*b-l|yWoXLH5O!p!AJCmiF=(mKZxb-6H(ehU~gYBA9^UO$5W zfnZTDSvPMe0guQuo+H%&>kVlc+0!jMvRjUaOPo7@#>SpF$c|Q{4BBf*RtweTrI4^Q zQbpLkXHMbE-+c~uwzqKKgZE^P?CR_6l5iFZe2X>Tr1;HFY3DkD!_lc;9Ep>Bn57Lf z9=E%FBX_P|@!eNm^w{6==#uQ)z@lh2&xpvy#wHeL&ST@;JvMBfh&G=a4i9t8Zk|+w zxK7nF(!}=`j&m)O`}y=;&3M#~?6FAEXX~>AzLu0js1iJ=B)T zp^OSF+_7TsL=FfnR#K~rPI(BFSp``a9%6E$^?GC3Uw89&DbriYDVc0wbH84hLRnu`dJE(Sxhq(eBk^_=SAz-GG2$*3s+D;ZEonlxiru+aj>`hn!dm1^ZU;( zEp3pL(qP8XD@JtY6GH9P?&(@|T@?cOoGs0~IrjJVF&i2#pE;S&-Mnj#M#&!Eu80v9 z88YqU_DI9LB`zG>%zyr+r_5&ytgp>5E*V%F$VhT_y1`t0v;)x##)oWO3>J!^8R=~> z9~#gTJa5Z>W_kD4`JJmT zZR|ex^>*jGOUzH6!>I>fowJiCkcSi`w@CDKxb;;_CksAu?NZ^?J!zpov3y!8=$Urv z>a7v)sQi!#| zo!(Z4M6^VYNyWixourOpcC&2MF-P!tJ@Y~`Kna|?C7fgOlqm}1*1qJ?ThJIe!2+8X z352J--WX98*j!Eb6(_9@ul5aB(P-`s&3S#9pi)C6G!G zVlE;&znf}wSP$MCTl#1!D?E_VLZ^SO_5zTI82JH`{ku%FfSfv&nQqonU@?(HDlwQM z6O45f2kkkBmS8`P-Pvl756uuFo1!Ib1S4`X;SuYGt*vd~i7$QLhPV7ce(IASu?HW1 zZNBs;zis#b#9#9HreV3i2eXExwKEOhSRSKp&*38Cu!@m@wQ?u}5iUpV)U!HVFSyMZsz50gHV3xTnC}TCAImOBaP?w%J-p6{dy6BB*(a9 z()!Tp)SYQ)X3>Gc2sU~(p|ywW1d`5)eoPWq%cfyC#xpntdntcj~F15OjQ~SU2BRp*3-OO z4>y2Edo?5pJ7EB`K&N`fO#TNY$(_Vha9(Gsu&T9S?B*E#-dJa-lVsJ?^RNixS9P_F+zl9RMKWqIS?zWJ#W*!;0~WBBUVu=PWK33qpPvH9-z;b67~-`%sA z&BRG2r;)OQBOfipV9hdmK-zv(_Lr=pfDh5qV3s`7K=Ul!StL$y%+Ru-oj!qQ|M-uA zy=(r$i{HV8itmhPu+-Oi}8pO9L zu2XI2?ko(@N(3@)wTeq`O(~(5wVei~&>tYAjc?q-n(^(kWD48Aju|l=6yyo+PHjLV64nA;69- z#hF41V|H9PeJl^7BgV8g5O1L}TN!4FXqk*PoZrb_v81!AvVvSg^f!~8<>-WO~m>> zDm?fM-BO%?(TNGDe+iIyS$M<7*<*O@+t1;LUUeUitkTaR1p;e&zP_%uL-d`I)IzVqWVd^=qj*hIK~EdM#>B1`x=;SU+}PZu8xnxBl|t z*zv#HcXo?~;A5X^zlsHne-<5rCX9{Aaidb4BogjjDkS;Us0QLk60=8U&C9a>u@zR5 zgRMw|rpqE(Oaom8_3ECRnyW>gm1hC}TZ#^CUB!5$R67JjR$o71RHhO(f!Lsh2#-{w z4pWV1{G$S`Sbdi9*-;6_{|;dY?$G2h#=aU^ND7W9+fRd4U2KVT`7#Iz*AaxlN2T>t z1cB>j0?FegkYPHKdliqW223*y#imR{K2e=Uy&4V)PBAcR-Sv7WQN0}+m4SD~G{vg4 z5-A^ceSpA@ielBMM}9w$(L}%U!EsT?v;YG9e$M68rX+xnrL`xV0-TnCypP(#@gKW_Ybp)RkgY{5`k=@5s+oV>~I`$>GW}2xw~sm zKl>am-g_^4FS(}apA$4P=sg&KXe@{{&Sz=8cXYQfjUPl`?v1&;dnfNc^Nm^TZ)3i3 zV(-!q{P4dx_sDDh9~tr7@^By7JI3Atx7LPv%pQ7VV?2DztG8Z$;Xk|b#OHrz@A?b# zD>q)Y)8F@|Sif{XFs5f4Ix;;+>*g3_SV!eKY7HBR+D!#15eB==j?n_g*9Y7>9P#Dv zUd7uUy^QZ%Js`^)p&-VD9>MOh>FCAG$cVtf7cg1O)0%RVK4q29mouYHsNWmoX_Lj4oj@ns0a5 z%+cQalQ{g!leqHMx8vM@`hUfl|M>re8(;Y*@UbA}NS%?W%$=AjivXhG|4-F_M(dVc*J0qCYoG6i z_g+<@kO`oWb6^Ar5nv_(5Fo*zX0qJMvE?z;tVlSvp%?ZzWbGY1fdAj4_5fjMjAvRoUK(73B!a zGcdA{v7#85BfvGamkX#I04F0=Fs=|eFvAR<*Qpx#46U6Bz$RzpC`gJ#^>wi`d#pwZ zf2B4(3xvq-t--S!s5QN6g&gV;N39s^#O^EKg54Wl0sc4tPdxND{}SeXFTuU<`g)w5 z-2w011(pHnd8g&N>gZq)SiwMH79#q2D_f`wCRSCSFMWPJk5Bem>I%1L+N^SWjXeewIvrwT+PLl&zQ&-() zcMrma48fWL+O#wf1Tc{}T*sP@Lk;wY@kgZ!m6+)Ezj0lmjNDmK8OfZj$g(HKXr-ZI zec6f;Zc5LBgN7sHZb{B5k!|SxIb<_AM&P!4UL-MCWUT-On99%SE^`+T z&OfxOMIFbI_i+>!;R%NF8c>Dj-FGkV?v4Mefovf~XX_bnWUBV`*(|*5$~}1W+I8Nz zaT70j`HOINH!%W~Q%`Qq4t=+-KNK8;S(9YefMyma&x=^d;y|uvxAXdEexq(b_PL{Y z)(h(Sul=gez4%RE^+%UWr$4{Hb9=65d*nPhq7_9j|^le(8&k2#GEPR{MLE%aT#8>IQN!a;@9@J)ifiOTapLR)JkNxBQ-% zKvt-0z126~ZwahC`1fQHp+tfJcy#amC#aFP9{Iu_zUM36`Xje)-AYS#Tx8QbS1~~7 zUv*JY#U%TgAw5RiM1b%9>O#6~DsN&;jUM3x34px^Ht?(O(#FqaVn56jXz1iZ2i{n^ ziMVbOXRgXs4%^*8?Z1y|;ze0#R5z(oXL1%sz+(o=)fo_ZMjRTdY-M3$+80XwYW<~q z#fszIwol>iR)3dyEx(vPqesV?@V)XKcUt>U+q$to4-{CFGF%3TsHyA~!u{Ka-bQy5 z;1Evl*^zDGH@Sl!TJ{^4SjB*Wi+|T_5u*(9lnBzm04zHVyL&_;bGqzjGxq@9we=#8 z$c=oUV!6IYQP%|qb*E;_V*U5sDUW`L)$CXuOpFalyeytM$!!B`?r4~yhZ9Ws4a6k% z{pIR@cs7)dQXburXeTQu-eM-YxFivz>x zxhlY|rXiMlS#Wm!srQ0e$Cob8+|Rag1Gj%E5Ca@mA$oUq5i*e`OuDn1t#8IWKgWxn zcQ5w)J@#u=Mdh^Ai!E264IL|zVi15VJpaB^{PJfX25Q0S=? zB5pqUIIcha1nyjY3THQN%)3uNR@Wc>(yhBUum95N^Pczn-}qgB@Z`1c`Qblz&+}h~ z>!1C#xb~S}M=hLLIVd~mMMams&IB#j4}&AM6Gk8YR;?_0jw5#1ou1;;UwjO^Wrw3h z&#Q*cR4Z*p6hPe-i^e(y&MKT9FV#`cgkQ_C3+_C@#boavZAU*F@3Dh59@8d!1-RQ1 zqUq>Mc;J`y712!1yK^JLoMMC?i{!L~bO?Bh!l(h-2+OjvK^d%78GbvkqEw6|`#Q-& z6_=Wj@fT#KljQVWW|h4bsSaF1fzs%wfNic+-F1kJMaT{VeGJo$tVAp_5mWoW4Cu&G zB?7o0X@}jOFB8+PfTRgrIb&C*Om|A&&+zxmHY97qNk6$Z?!X8l(q0A8 z;U*eAV#L7Z%g?G0edI%!bynA(c?_42FV&Ym^e^h{cB01440csAmFP$*Z#4HU0<`0o z_B>HeSefqT;y~AFAE^$_6qpCA_ETdHZ~bx{zxJ!^@xT0+@Z@{m!~0(LeBj;hLd*j0 z-gLeRU{QSXXUGnYT7BbPcwSH}iT0Dvk0d5UrS3dY?C#l5qD)|?9YlgwA-llU`IxFiT)Bk3#W#fZT-AIC!b+p@IT)Bh?Kls04)b07`BcF{I zz3|oe*hhc15DSiXN7W`}itfYJFl=%Kfp3dtVl1ctA}x^zpc`~jn9FL9sR3ul&c-YS z%_jjftwezd)5WlKJ&;A|E9t1pUR<`u?&$3rO$}=Yr^5|_>LSvl%hL6akw5g^}U0EU{pi> zoHOK!py;EfQYwLE)i7h}^iYUJc$8D*ViyOES=BqxaxAURC|azoqSrxlx{-F}(h2Ua z`wGI6L81oT-f|!mbCKHH!j1RebBs@Y{!74a(a03-`aq3OOj=&7!5e)_@B&Kr+Cird$o z!rAScxO4j^&Tm}B?Ps3h)h8dr^+zAOdVKGFfBkje{@u@d{rCK-Kejyk%j)Uh{ngV) ze)*%3Q}{u5-MjvX+NQ)R%T|%pRjD1rkv6~8p_ohz7EbQHj9>oj!&w2GEDKf&dX$~- zBGRy|l+&}Sup(>n_MH{?Upci3eL@CtKJd(*48(LJR3pf0@(}I9&{aS;U%|??cE?9# z9L-zLTzkQCbh726X;8%GyGfwh>Aq_UG;VW&6liIBo7_rG(n`VDhy*Q>i~v@j<^-T5qf3-!16_X(#-7$0vBE*2B+!Wp}0t$c`sD6McR=10O106IvF=Z zpH=EQcI+?%(}^f6HiMOR_1C6rd4qnj=PY!usa`>|9eSlK&Fgk&on8nrWoCYI6WRN* z4sSTm5oN;;OGgkJdn8k~J{1b|+zM`QsBEyT&z^Rqym+|EUBh&2NA*`|)0IHO<-S7` zE_!7aMD!d_8vxP=LC)7^)x3FN2~Sap{r1%-UkeQKXy-FTdo4EJ%R9D$) z6sw#oVPh@^h(TY2Lluih!(Hks^zGz&uGJTF7!HAP0g=+0-joJxvC{ z#9efer0-ZP8B@vofpVq~6{*y)zn({98|vQLOmgOm3F&inRbnd^h-x0)%MSwyVqpZu z{>Q+yH=v0>6*CLEV9AOeFq++xA@}v58SFyUs1}R}?V9n7Fn}qirx{b2ZxT z%YM`^~ueOP|8yuYUus{Krq=@(;Wp ze8nqk?(d+GnB^7<1;OcJfy?MHRL!O$d7Ilh@s%m1p@^(TAHzh?B(JR5a zX5pF<0BBZbGu=r^_Czd63uA!zz%T;iT?C9@M zN=)huvtx{@prY-FbhdntJ^Erh5T1cBLSdp4n~K8%s^t&W+YL-VcFoHa%Dt%o<;UZg zWH&XLJGwB1iaNoal9Ve(;_MFM?p-c#dVO7a&o?3d-~SAczxgfs%;$d_SHAhZIC}1L zQ8#btwwIxzQ`m~ShrZXuz;eR|@aO{${~QWRHz$PE)YVhP1=9qq%36+(Sf`ip;0Jyh zyE{+g@u$8R&wbuY@e7~)Ah0{)(X!;!y&QmZxg@Br1jGXg+}igWXfYw={`IBVaw6 zO1L{1BXGJ9`?(78Z=E?~p>OZa37p0e1`EIS;Nv(tJ;kUtm@8A6iKuL4Z*^-x z{6i_%CrpUwd5q<_&hOk_pZ?fSFIdlZuYLa?`hn-Y>8)RT^T7u{clF_ivEDg{j8zuY z7$5^&3P}LW+(w=4 z&vEaiW0IrR{oJe(bU<6zn&!I-OQ;4)l{rRm^jAaLuZi4YS z5pK|XL@P5~L{l%XP~KHJ!-lpAM0V*Ve-uK*c^;y1p~)4IaoZU(L5DscT@jib>n^v( zXSuza+C1Z+EbMU?NWmlJjO&ArAywG829KWiYi`YH`g}OIZ{#;z2U>NdD`$tJ`Idtm z5BqB<;jjvr3o>QoI*gc#AytP{K~ke;QYN|lN{5^bc!*zTD!bX*5X8^LA4U03-!IeZ zMK|aBs#CY<6b!ene|fe$HeTaGm%g8o^^E;Z%RO!XzPqwowrW=1RfTL51zyE{nQ@NzZQvO?|qEC(OD~j-vvxj_*CR;rHE~kqdtpcyr&V9%Nu_l{yYTcwoV!pj`WcA+3Es|*H_Y& zY39yz1W}V4rLY_yW4(R08%rQ|>cSC)6^Uf&(kvDZCLwm+^!&2iqfIif9T9^JV(vBR z^4v?OxOu*UAj3_s80Dl4%F?b-scvV^wJseUr@4e@;_6CV*gNDq`7+d+0i=J$ioQI$GV*C1keaA&9EP z91b=$wGVUR?B)$z|I%Z(U+~rMc=Ze3{58M0fBLa;?RS0^*sp8BBk$=>1qzuh#B*oN z9~WVsDHBK$OgR&$Cp%P5e*Up1>;BVY1ykD&TeFxVbhN`}mBOC#5{{MyfUoIp@KjkE zMK7U9c9*LF_5P$F)vs*Du;t^GQ59@6?!i$kY3&^g9j`;3e3|Q+nn@iHg6b3?%}-iQ zgDg%l%DN9d)j8NVXtJE)S%1`D%1s5p74^ZR|ijqF}lSSZa)QC!-4xn7w1A1l7Q-zI!5k zNdp3y)$RzWKqLYK#VCvnkWN2C^p-5Lj9*y5ELKs#!7cnm9Gsn9Nr&g$qtq+vJJUvFpZ_yhU;XB|{LXI^TH4>y=O5fg;<7)TSrDtum8Z5h zh2;!AD(1=gM#l#Aw2=u%ZG{DL#qQ{sb2-5mf9hXXtk?7D>yOsG&w2qr@`<0riiw3o z9u$HrjR*|QT?UTEEgP|bLLw))ohy`-mr>h@Y+{m8#lcPa7TFkuQdMP6vCoGQkXdOs zD1(s-a#vD6D(o8nAs`rO%-0?P4tqvY!gXWO952*}Da-iN_XX0ywF?%x!UN?wLWa6~ zm4%v9>X@2Dnn0sjl4=41Kn_eM3yUrBOD49|C(9~~VE~%uaosH|7IF=&*<6FZS)pS# zwG&bqBtV>-0?G=Ss#6cjXIkr`!=i#_Z6S}o;k0H{baEfAaNX;Gf@m^g-}wr;CGz_GmHD*T3bQ!o=0Zw+Xadaeng} zu6^-$_s@CF>%aD8?|9cwX>+=@%rgFG~-aQIhTbPP1b&93FlB+nd5ZV@2{~p zAF?gRS+OUK%~Zacpamty7RIbbep;hxEL&PN9bW@}zXwSXgRVh~%I(G46t})?S#ZhU z;hZrv6=*7ZDV-a%dP=Pgl2Nl(kfqq>^tMV=}qsWFXREU^v>1U zF$Iv48BL^~=8UYu|qVTi*7m+h2NU+r0MD0As=Do_xA?%fN^QbAsu52h51cEf$+j zEbo&#S#|&zikU)vb7TCYU^_kA({Ef{uzLj{ZS`IS>02@_6$Xl{_zmgX-3VcC#AcG^ z9?_LR%*xX37!|;*iORxSRS077j89H=My#UQFhW#|QU;LLL8qt>c_Rd;I!D!}d!$Q- zoXC`uJf@OLnAnoHd1+QEjnNP#`@d0{Rb%+PP3ZGCYAQ)8T-I=u#@ZVc^x9(pDp?AJ z(3O?YnXL(M2`Mt|k-;#mM%R z5C_vbk?y+7^IU&am8n}F6V=K~Nu}34#@Su$-u&fQzwTYQ^>2TiPrmNu9KZCbI{m@- zF<$%<%$s+B^T~{XIU<5`vqHPkLxUVuzVgY5QRI*Q&Rzv5JH7>?WCo`f=(eai128-t zK7pzz5uu4W5hIhB08&7$zt*FKWCK;BiH3+uvIcznX6r#vfII>GXQ^rfTr~wEf>ZTD zi2bFX=V3G;WC+I~MgVMN9Np&=OD(>wJ-a=k$rTMxD~F^!s+qgb1*DnrtgK8RCMs)I zE=_m`nut=ZSc#G~K?Nk&ae}iNu8LKA=j}dQRYk1b1*sl)(e!m~#eo_H8h-G1WOr9* z(x8WhA{GIw=ynRrWGU9#@;St?p~5NzAdiM{!L8eM6o;{ovUVAb%r?Cbt?-h-Hak3e{s#ZlaSy`hVRawR_v7cidit$Vv+;; zs|0cpc^*nm>8{-H{UdXQZzhs4qO4vD)zbjjm@2)0wIHBe^$7Pyb>jh68Yo1Guoi#~ zk78<#wYL&5OC+i<8Y`xwSWrriDzA?lAC7c6h0$Y2oUb$c_8a*YnMa5ANplS|fGqOL zr5zrA>N-%s$??uajB&D^k*n(kqwwzZR+eWVbQ%T+aGvw=U;0Qb$H#cX5B$m3-oAeI zx9(oO%EDyM6i=3#-yYNW9*yCJlOq#tR+j*{Ea05D@x_O6->cv7-7k34+dp&r@rUBZ z!w(6x#!^*`jtdnRiqUpdwwOuN4Q0rgtSF2~9-p4#cOQBJyD@SX1JmlSK0gYP1mygI zp08Zj#27mqUm94~M6fcPUpEQ56)53Kqmo@uxr6J~wO|A4yP#^V<@6rT^$fG}9@wv} z_kS}PG91@=P=DV=8l5|u2xxCB|J*@lPS2eatxj`T6<$^GqR;0VDiHSE&|dbF5-9bl z@l+Um7X6RUw_}Nn?o37`H@^?SN_R>(pe8T3&#w}zOrG?{ywE@~R#bnWY*=c{JGwq_ zBKPmnV-n^cH8xvXqvZnG%w98;7|-mQLxzNIkO>3K{%Hp&HxqlE<^2H#u#=5@~M_2Cg@W90#kM^FZo|RQ<3D3nSc!+q?dUE>PWg%x4m!)<` zJD$%e)n55qMb{&R;3!?KsON(ME*&4^kteSLK}HOZCl;jV47ZqF1nCwPC2rKVv3i~f zyO`^p^St@F-^4vHe97Hcf9*S7^3-Er#F{G@y9zUg@Q^1qvSqb=u4G+IArmk+km*qVgrxSbA^$cs$`4AtZ0MMr0%xi z)=CCy1c%3iTG_$@Mr{yKi$WqsfDz(sBTyCU&~zJTtSm|{1tf?6+j4TLo1F=@FZ|q8 zELNw#xpl0x->U*S3poJB05b^{q^MS}BvA_mCec+Hn$f0+n1l=uwe9^lnVf_-6Cjx} zA&?g`;712-la}mGZX&?2HR&LhvEcalh@bfR4<~cY&;8D?)>psdt$6g~{|2|O-@?hg z_c3Q_76l##+Y+<)x0*s*FsTNC1Z=AvnF0IC>zp@$aQ;z!uJk=_-$I;TLVnx33YVUb zYv2Dq-u|IKf=h3EbDqBE+koRE>~7q`SSQxlI)7!7hC>vazBQpn45=II7-qi&Y~(~S zwJ~jS6s7x~l$SMLRuX53v}Ymaup(06MRc4odiA8CzF*eFw47c=x6J>-pISF$=$TDg z*I1gHE`fHV0nwJjM19tDkG?e4QhQ{T$056jRP=y>M<&B3s~@2AtSZb5got=;m;#Wa zv0fl`OF7y{sLG~TQmm1h&)GJKXE3YU!k>`oCZGqUv&xBpMw~2!uI@^^?zD0*s{++z zmq1ZrHiL}~HWC|l*a!^^ATzSI9|}6Qi?|wh_Q16pz^h(~%Rlr!E>|C`>u>l4mY1Dd=P~>OrL4vwyMUy zTopjA+V7OJi5lSQDC+WoEgqDmKpTQg0I>vufweT~Bq9dJ^nO}}N)m}AlEsBMSr$C> zN9HcjA)Kg zjr3$AWU#VAX@iXomHLK=!wj5UIzejI)@Oc!M6Q8?FJIw?r8apUO9J-|9qRWGI0+sQ)f(YmSG9%RXq zF9KVYSgsGX=B*5H+sNuQdrY9LM9}wbBjrNhW>5#OnPy3)+}rSqFPL_u=~^vKJca8p z?f!DJGST&viN_`=3W&Dc-_!w$v*FyJ*LSS0gTZ`5DCVK|)7gZGG&dX&v}Xs9QJ7%` zr^h||_sT!xaI1!*n-1khEm;~NYqeI<-Xsm69Ux(2O*fU5qg~fjE4~kA_N&$YZK8M} z?!8!HLLfKy)Y=YEg8;F_IDks}ul&QMI|EiUY_A~TSY}3xMS18OVAagx7}AT+oWcYK*+HE|9UNll zYC1$Fg2Xb2hn~3x?2b19hj5`fV`7!vF7h6Niyxt_uw~0YEJu9$*FIjcaJ=&Czy1B! z9(x$;)ErLDX%8j^gy4$4$v|!I&4S6#-hpQ(dc&<%b$9j7 z_(Q5$1_UrCe3eXXLDqA;*?XugB-u!%+Jp&c1Ef*24hqJoozS<>dKB4ooR0gPpqLs5 zH768_H9?eSpEIQcOw+Itg#ojaCRsc@UtQ6Gv=YagQ%5aVNbS-jfrH z9zHqIa<}Np$8p}L3q(c|SP8`KyBN3cGT-JuA$SL|wo;WLLZdr2#iaZNr2MrBR3#HxX%)fn1wAst zS7J#_2VdPlk&2(@-L&*T>iBJTJ6wR0DH%Fsmr<{ART-_!OzciCMT{N3__IG=Cnt$pH?P&{ z=}CR?qd&*f%f}dQdc+WmK#gEg_g_FoQMf{4Ri&=T3Wh#wDfF_TpaLTb#Whv#$|5bc z&r16q6gJD&(%sy-H35n$c(BnQ2?S^x7M0?*sAKoq!Xyb5Z1u@}+lhD*`8`yyn@U89 zbXDceRh7JnHi7MFiAjczxgC!?_QEm)H3zcM$TqhFM%0q5Hf0P#bBe3hcG#CdTi*~c zu*r3i8W%_z1}H(ZIc1$cFIA714h`bX5n0eIU?Q1V8-isZb1E623nD{2ikCo@#G;dh zVr^qXtGt zjUDto?qrvs6)oHX}mO{SYOINcNOSgqYZ3S&cfo#tN z7&msz3&77$uVoZPeFsLk!1m~LHI8Yd&~PhFGVy}0P6S}$;Ay9WmuR&oyHV`sm@}Dk zj9#4x#Px+=cyN6-Wdo!_fOw3Xk#jFIX3qSDVZya{0Zrfv#) z)E?dz-4KSuR(l;u-R#=db+BM2_3)Y{=mgW(3AiFe&sy}`bw{8{fY>Uv!Zr^InGMoRof04k-Bljt&W6C`a6-fEpg@})q>JU2OZaem4z|~D zBDUEVgqXwH7D|Z^8C!AP8&5TUX+soxV!~ih?B2oqXQH=@h;(ft6$73b?jJos)=s2; z_V_ssA3d5oO)E_x$a}xov^Q$5}QeJ=%bGT*ayT+AvGfk>(2&8 z*~8W+dZMt4QGyz%N8sC5j+4FAlMXTkc1B zTv!y{-Rn0-)%g?8dDGkemwETja`yNml@d6#bq*6^O|`gwveh_Gj1a4@RsoK7yUd(* zdQy*5 z>^Ef&1b}iZWZ3X2C*AbdhN+&jA{aL4?|tjw+v5}?dbjEs%W%;l(urDk*K77MoY-dS z8FeQEWGpNUX~^{&(xL*Ws9G^Iv8GMZHpPSD(&S{*s9S(Wz;iV2&-DALD-}T?bj4Ai zH0P{Sq^?9WzQ%BljRk{Y5fnvvavhv}iJ+azwz7&O7TAV2<9~+hzx-2p;^D_J z?z^m`Csj%X**OcEW0Cw#1#UD?>@%kIgy05Of*t2o4tHH=xig9Lq3aEIcW>e7(hmIA z_W{p&Q9bh~{ttEYd%i!8Uhr(5e&=^!JnuQ!pPdEooPmpsCj;&lnjs^5?NVU81FoGp zyAx>x40kRp(}{ow?6y4~07??4W`YO;IKS${%xUt!dnbct0tuW*eqMSC> zDMySNVp4=0S|aZC+cqAHY=xRB9`*F4F34eU1){R)^d>ZbV5(g!5X`7B9*7MC`Z`W{ zl*FG^XEJS2p^T$^I!i=4rC|!Pu%Hlk&lniE^zLuL$v3^D_J8+(!nN1DlGpzA|B8C+ zdvNp(-^!B&j_;m>b5>yy$ExDg-Wb+D81oPX>$Xv;nV9UYN9C(Q9fK%D80_~k zDQAKsushyWf_U%)KY>0-)W6vL8z|!1 zjr^cIVl=9vY%>_JG9O?eYjwi}$ZS^4zCAi;Si)qC_ozDKQh8yn+B4G3YD+1cf*8V; zRYpjP7pZN<$>N~>thAhHRZQA^szfsZNk#=?afoY(Oy!)gsi?RDf>w)JmaBX>mI7E) zG1nb1c0s9|q{BlMn~99{0L%&xnkmf>x}47}-2RQB7OvsO#>#f_%a`~Qr^6Xc=?&G|M7fxKNQ=sKI7A1V-Cv?}%M&qyF`9O>`a|5c7G^n(qP7Z;0O zq08RT*bbUZW{o-KR$6Y~kZ1JnQZOsdRr1hn9opze=b{prnK_s<35=ut?;ZhLmT9Jp+Q&$>n zv`<1-x?RMSSkp;^486s0QK*gwkY@F}pl-ZiCwLsHE*A==q(A9SgjEIM1-R%jpbmGT zgw+uUa4TmI~+O1PDWp3$pnM}7f!AIL4Bz(s$#Zv{wtG6@^p6x!WX zLE2*%1~h#qW{+P~ZzS~EgosQdY@x+we=M&p_M8~{h^C9EA|&54z-aKjKRbUR8RY4e zfmKOCQ)lRKVJ6B;%)?B$Nr-?7XbRQ^Dv1SA=jSVqmK~2Q@7$?y_pYFhuJJ37-~d)+ zosPiWOx!--V>#ZTO}fwl%3?YPL*q>)sBC9+@8(4C>Sup7b2+J(z2&RE>Bdt}qY_y6 zd(7HnwY9zk2@Y;qO2RAwqYB&E*T&K{E0nX4>ppYJO7iwo*YLatUj9dUa?iZ=xzCO) zf*hvQ^gXgv(>0Un(LO4%M!|t5tFRkOU|+m(>n2XGoTyJkmce^HjzX617d z1~$ro4CuPL05Vqe{B};*B^UOc5O6@jSAte~K8E3L1;Uaxu|R01g$ykIzJNLv!mNQJ zI2c&W-uWF}RE-00N@~UuR^jWGze;d>CprgOq#QSQT7(vCkG;u_ncm- z|M)AP!j~TTo%&n<-H+Bk`1?PKTfg<8`of1lhB!LKEMT9j^&eIwjoQGXloJ~$KN$Hq z8C6A_@^NFELTi*+j7*Fv@*|+m^DKbpd+^n-<oi+BzhdPkRi)Nh%Ag5fSf+no+ z<2JJiqzfURHsg-k&O$5PI9$>X%5goqIUwauMRF)DD;J}5M{Yo1R1+Rp&-R$>9`)64 z#N{7+FHU~*H}K@^-^Qo^(qF*&tKN*`Z~G1`r^m=!*O6o5j4EzfdoU-qnbTQ_IpLWn zRAtW$HM$mmbFGVI~SJ)?guGar36}mV*`uj)90MeLtTG z?u4-^%hXCG3fHCBW|KdHh(I2r4s0oSeLcP zaua)1gP1(2ZcQBY8MjV{I` zu^F_&n7UP-8~xGw*@gCYIdA8s(raXe)Lw*D8QL%D|AzTQiHAf;Bb%hw`G6aA*gMU^ zcx=P%-e=`;K}xtcTwAPeTvx89qFf_2GmzyFzypCmAU4^dnTV{yOhQPaeoqW!z#Yc| za!4v2qO4nP1s4N-muNa7wOke`^vH9vKaVz12SK{K*O!n@=z*;UDt$GPaMYnlEi+kd zUblG9XnaLapp7W>eYCk5s~<>h8@Uov;}*L*LZA8uTY7&bklNly- zZkr#-jXX&DS`KuFPHX8lrQ&$>_jOP$gFf}i4+q7Jnl^8F#>ng816BL;`>F~YF)P|9 z!eZHGz$1Z??o6b=t4RpxxnjVR1qpIR&j5}9)=D3)Fb|^xo^YF^nikSY;1bAnkIKXt z!8Q9(d;GygaIQ;Ucm9c@)9EI{V zCfk*bCR#E#;gEv8kcR`kJBm@r%AEUioUi+{=e+XuA7A%(Fwbsb>$2KBk3N9x;8M$PqXlSX6cS)D2#co^|B$V{YsP7!-T|r8^vK z0kzK-4%|p)s}9(IrDAEi3xV9gW#~>j5R$Tco>^<8;ZjuE0LI;v;&762i0W`8!i#`z zL4xL}tJM88@u{800VvZ7T@AgJ*1op+5fsAaHNed2&Y15vRycB$_W5hFRQK3}l_B2_ zxkxwQkrd0H!zYjsBOBY|H*;;a)@*j#>^!$ePZO2gUP(@~SuEN8t{w0rw(lRH?&mEk zL8u+9_xGOGvI;ndiPZ@5%9VTYncx0x{_f{~1ApXC{#pFuM}CsH{a`)(p`XUlr4ua6 zz^u%qVl&-YZJ>lvC~CY%BSZ!Rm`KYRSS{Pry1L~I<4~*XVyE=oIto^nTraKOu+`E=8h)?D29vb zq(tQ6%|$AyxHAFcJr zI>re*5!Ye&*QN|Kg!NyE;4ycJC>I8uZ>wrfd6XpFb}E?QUn?TDwNn5qyLzIO5W=Ek z1DG)kWcT~x&AZsW`~h70!S~layAzy$+xOzp-~S!J(Spn0`kfdre;M}YE7s{N$0j#` zs(Y^-Bi+swsp0?a(YOOnAei=g? zcfA{*{hd$q?%5rD{9_-jOP8-;w=6ZY5ZJTzA|OyR4MbJ6n(e`0KsSpkny_>tGLtl= z9K(8rDl#?n$Eg@1l3-Q<6)|*+%Z7QRu*;kx0vCzDX99M#f_wON@Otp!3KjZO2K-Dv zS9QwlmDJ;u727p2waIctrF%4k1?O59>(#N;7}#!z1oucT0u;;4=ZBG57eY6DzTOio%6JNQMI)S+$gBEHtZ+!7l3QlZfF$*+62C3HRM?l zAN$7b8d&gX1AP<;b=(uJdPe(AWR~ZR-4sgzGrWAYHM`_XqjVd`12@m_qLpM55?1{yjSrRY`2Y2y-w<;uymOP z=Lv00h=GYi{v-=nCt_XaJim*$=gJpPuH1Y3{Myq;HP`gzdZ2}P2eU+zV}P3g-OO++ z=Ym4`Y+bd#-1W}z^VOQL8$%7V5_|1&%O8WE7$j6QUO~dw$GR&PnTV;DSI4f z>#w>7D&teR^ZR8;Amt;)ZWfM`p=x{F0Ef=E<2{W5w?47G4-T_T*1oubmpJ4_d7;2< z3z+iie^F z1XG7OP#W;80?;#by+8_1g*I^!I+8C+2bIH*_hKp;036moRc#Nme}T~E>0hqa)<6$6 zKyCI#a{tW*9_+m?W>)N_QrAX!prIk)0>LJ+2$&7^=0AM+gIr&IkZLx5E106y3Z;V} zV4Y@v51knhILx={HKGEuNnmJ0EQ8qZ&tA}CBBJ_gNYLM@6NSuMMP(=fs0g0~mLNDC znBY!;f#}gn>)!bH?%uqCv1qN*K-U=%BMDu>SLiE4{8(Dz>~!TBB$n5J3L+`^7XatY zyLk4?U-e&40`r-x`hMP1nnUSlQ$T2#7@k>=0Nc#aIs|~g*|}xh3HE&L3n4*PgzRp27PQLYB|9Z>N>h10?2h5Mt%qw8=`zI39-cR{*xvEgvND!#Snc{ zhe(N5&-4d86p01MCPEPml_GO!X0^NeTE{*IPB!JFOmPm1!(pj=m}FQ`oa#vUeCD7C zhUr+6ZrC7egaBsyqlkQ`K&*?_GLXckB#G=YRbNm&Az-K8c_EKHBfkhG^p zN-&X~NPt)c218T)TgOK?q2(byN4DA&-PdeogOmcg>49<{F^ubd=NKRou}~sp9sbNV zR%I3k?0w^BrZF`DbFgLyL$r2AE^g_~g<_Nq92Nj)cPsWQ>Lm~G@_+K(^{h9)4)ag_ zIXw2&uf-F;_DPJly}On-z7}1lU{xmLIbU(}OMLc_&Nm ziLI_fmWWQGx~8(>l%DO(VjLgy_~c$Z`0-ER{J{_5NB`zu!O#8Vzp8839>b@8@#A@V z`4R`SCX#mar?pyWqHypK)9E;sDGwRn(~ugMOyBF-kSV~RROBg4F+%+x*zsc`Svdiy z`7oUAhjXaZsm?q5S1O<3ni7qhOEN2W$qH% z$0emxICKUzjwK30B8dVb5Ev##=?i04S2(&t`YjF6w z4&RtkgBQL#oZknwLIl+Q2a`4s(xr9!9Bi|*t)K}nVHK)ExCf4Btt@GE7eu5i#4}13hQ58>~Bb_c{~(9}tuY3wpS&n{aTj|^N0;<37g`%lCmUgVNG2?#a-K*E}+}FI}r)#~5 z{f%c3Lt=WVL%Km&W&a?s+vVEj7vYTRi`}SoPH;nq@|#h7l43zH+rvXu754pd<*mx9 z8W`HsA-j?SD$=n+%TsX9GQlrSsDPAx?TAGMO`cy_mW516HQ{ou$>;+qKs6HzTkR*s zX1N(`h||cf!c7Giq(%fvLFLTZ|J^l@ut7kNsv9FxcEq7R?_A~P9K2(z$2onLC1})+ z4im9eedsKh2*v2$FWMtg{SgF5_49HeEv3u>ryQyR<;wp4#!ic0KNNdtb=c-XVcfRG zx$+9oil;94N?}7k-}Fb<;r{IX-6$1wcnsKJ98Ir|IuQP9-~s_|MpvFobx~Fh%caDg zF|qyQ_(UndVLsl4bAr^hQ(9ijhh1=2Nirc6f^)N$|Kus|_ z{e8qMy3<*N5|LO2w%o7unZgpGVh7ILI-)I|M5Mb|4umSzOs085x@hmDtNZ5Xi#38EidZGP{UpPVr4VG$xZ&oNPk9k0bu|n1M))m!2o(yvynDkedzr4%KQiDbvB=eNMBmXN z1nr*{4vsSQFe@sz!Ax}lYkz(RyQ8Cz^Y|FIpL)7-od6e1gl0k%lHn#bx96ONzVfQz zqG(Kj#Cgy0l5$|KLTp|X4d_#iMY1QvfI?&qcQJrTmV%|ty|z-dd@m_o6d9ZuOvA;x z%K}Z1ch_EWTqKgo+$MQYO(wXLp!?{mWl-910;S5)so_%S*%gST6o-`TRT<16z=2`1 zs2tF%JP$>=j%UxI!a#uuV6Z-&Jvf zF#9hkHK40@(Fa)jzX{3T_JfEP%_9 zg!}wX6aw+KujYK)yLszBehOcD>sR9J&-|IZ^oCd0=^y+aEH8Os;r1EF%{z)Agk<%u zauSC(ZeKJHN1DWHiWV12STXZelYvYJpf1=I$FnqE>?7AkvZMdN9rsF$>L@Rk1_;3m zP(_R>HlsbCA41Az@0kLxsoZK|C^OUkGK&4v%(!sa#py*g8`yth@4Vi$ zQkztRcYUE)Dp4Hg=cpTZfag9BmH+u)C44!Hixy#!1ZKMX3cxY2 zT(!stl9*M|M!J%GNF_NTWef&ceOW-m5G6GPBb&_2>blFZBnaKaE!oNDky0X}P*x`x z8>j|KH&DuZQRSD&Ut<(tGru*_A(=g??+oMqFun}UttF((F*9eduUacJ*=L|h=ym$8 za!~aZdW@#F{G)4ajqj=unsC_6A=!370c@U*R%D2O^A%+qXwR*E=YrGJTwsb}PtiH6 zl#0HrMvt`nv;HF{?fdH@N7n{6R?_f-7=!J`5XTi^QfDyHoB1_>2% z+b1x0J{slXj|7wUnP?;ijMWXivE#gTRp^ZPf}D)?nc!%Z%^dy zopy^Mj2|$;3V8=r0Tq>7T-A5&D<)G1RG`tdKz897%8%(>E2a!G9%9!;lGDUas-pFL ze??o^cx$B3Xk$m^zCcOfp9 zJlyLW{sQe!qBdZ*A%R~@B<@yd=2q-kB4WuwHx)bRi$mOy&vvkTwnCmp+T1D*h)#w; zp$Awu3jj-6w*s&W8x$hb*L4+;;mHF9UO5Z{Eyvs*f%1%*KX1f2y+;ZW3N$U76BX?D zGqA9F)Ehy?TJ}4zfSQO9`<>m5pa}z%*;Or`-JJCrW`RUr)OJ8J%AcVjlIMJzO)Ef7 zFkKxl4lDf*V3OjOaF5CJYe(PCC29GKV?GRn?!bWWw&J)(M$QUOKkcMxM1 zmFzEQQ>Z=_i5=dDSwFwoX$u|w7(r#JWvbH80D^_3d`Xx;!vuP8lw7s zQ;oDtlxP3FVlZye=SrY5vAO^b0JBo#7&A4ewN{CU6tr!Ylr=fZuW6t;5hfCHJ440D zeUKlqav$Gf_H>ydif*S!-@{=!e->Qgsxe0rig!*fzHY$LBACa05S?+u!KZWJiU z)>8FQf-2Qe;;LCT*e}pAp@>4n0CE;@pCK*}@SDC7$8UanT>oePA3XM|2e|)>{|!#Q z^2>Sp1K(Zq+R_H`(-Ltx&)7+>e)*0S8 zx~rP5wM2eNsOwmY9=DPgg5Zjyn~4Vjn3_e*2_UmCuG6#9@5{)jz$)g{Mv82cJPR5y zkyC6wy{3s3St}ay8*g;D1J~G^Cjd7BU5adh83*&xlw2E`W_CF|K}K;{Bw7nbid@w= zQ8yEaDt)Cab(rmOiBVR8Y`I`!mhLEE7Fg={CL}i~nQc@K{XFj6McuuF^#w1iqwjkk z?s@B1@aVt&YxVf6Uc)DT>_>suy_NCp??v2mnsw(6Fjq){KY9{S134mReAWdlI#wyI zX@WkS!GvK$^-QJpd+IkAuob%~&|gqzyolVNC67*!3-RDj{VR;KYk2bUFX1b`_8a)g zPktD``^AUycz3GzH)D{>uD;F|0H!*y;h<)+VvfKFRy&-J+4~q(v?+($Xz=|H#hC~b z)lk!&oHRD}6=d4XFqQ52tw=9|QtU`t4KNHDWpL^=Nhw48t5Q%UDAlE-aMd=#hf2&T zZC8ia8W&-6U@BINvLs+&7h z)EG6nE9vesSty%e4wvBwlN>rNX`hzpm_S+fN1GSdB9B0ywrsFUgG9^MHQH~VhJnKf znwx1n7`ruF>3cEscu`4Re;CF?F82LUxgvpzYK3HFRG633C|v=NaxsF)8EuhONqOH? zuIG94Hn}@q=en;sw<{r2pvQ|$NUep6X(ebErTTtG@cNGlwlWd#8*(_$_c*$8 z<#VVV&Tik{st565%1&MUmK&23l_NTqiyf*`OML;cpH)HOy>8@{iWI9>J>EH@N)F?y zXlS*csn=Hg6@t5MNg+p!itBia)# z7Q&t~r5Mwy>TYwg@orK0ZrkgIP~NAG-zE@;NgELcYHV~t*~N8j`=skjgjMzZnZxy6 zXzkd*plgRB=<$js6JX2=nuDk&rW~GJN)^^VlH2>qB5Q1f1>MM|Uo-mdOq;Zef$&;% zCs7BvpST~C|25&lJcpFx6tHVHD$yfwT26gXcl8@vDZ=+QFd0#3qe119vCX`vi|UqN zlskq3(mnsvr`;P*G>g0Ig6mt`7}SGUn_toUG>B1QV9@NfvAa0jmoaq=AZU}Q^4|xV zItj}*GJ8Hn9Z=mM5Zl8`-4pMkz(=M3TYsgRyx$*(u5@5xx_Ea~)~Y7Kp*5RCMI0lM zFVK6Nsi3%LVY+e_?dYEl_IgZP&g|%s0>I+PF;JAy!!I1@T+$|t?8@JPLs{0Bg$ZN< zDEF`Jd875ShHH{r*SN3_L}H@6wW4-ouRa^Q`bs05a-3H z=dN4zd~0X7&=Z+iSnj#^>B4!=bx+Mu1tY$0_{n@mwpw*gL3BVt<-tU-@dR`*Yy>oy2}_%zjmp#jF?z-{KbN z3=E;XG!bqOL!~0hYlA55*aAWcEIMk63}(-GmKUN5n4@Lk9y6i#tR+4=AEJ-~CT<$K z%RfT^LPYbZB#=y{IZGTNMUadPDly?!Unx(iAjs`n=_YAJN6UJZ~3>4nHzKh zFz6bXm1Lv3p2oDqJA5?}SV-wB5z%gZ24^*L^P1rfj)QOkZMZruUy zo+DoIBA)!v_u~F9e*@}o{;hiA4X?qIf8(zaFM2tSzwNsaFMdAa)*bMC6&JoNa4paD z9&;C!=pZqWwg_Gms;DDL{sOT9r5f937JqiT|Gl+lc z^k56rt+)=}O)8Y?OYOB`A_y=!t+w?7HBiE&Nq`J%{+R~uX>6q2t1(3V4l)9j$u!uW z0c7Zwh3+95jsgg9Cn;bg?CiauF#3`uxL2zpr>YOFVrR9-5T%ML=R_uS%?nYS6js(X zI#prvS1PN~okO}2k;ZN8oJh+^JUPDk{}3`oupu9${215@oRG)F@O&+n8KY#6l%$`?Q*keE`1`5;CgSF7>$ zXfBNCxbR_%v)8>8v@U4kHtY%G)q;GLHWg2ywt(dH1ScE8#pbh{tSOQ6B~O&G+er&@ z02r>_{FVvT4XCaDfk~6;T%dwGwmM|9^|}xvn}*~z122CFw-rpna3dZ7U|&5ZCsZ7y z8&m%7j-`$ssMJH(vxZyMCWrtmr5gnXh#dCaA>DWcY^0`USJHL;I4Db0aP{d>tdI|f zztK1-Fi>jT0_a5UmwV4Ri?UKU38e5=ea>_fSuN*tH z87zgk7%Cdz!-0=!G?0D`Y@2ASjW{fsq`@y`z`*ichZdwe7uku|Gl$w(l3`FZsn^FQ zBn6WsD-b*|Vd&3fNwxuPRUQm}+C+nWE2W)G(F~g&u7XK>PF`R?0Togmb#eGB4*gD2 zvnG`a*zMq%ht{XFbOEU5eE|Qh9&^i43RLNUNcx&+8H=dyr$)9SE9{MxjIzX8tpo?> zVnbDd4YDH3S0bjKX|sB|FU1jr9-Hqw5=Q}vDyFua5_d&NWH%ffnTcHYfaiAmbF?hU z=Jb}>s2Eb4Ne9s#3zg(vqc*hZ&x!``{WJ8_-Jj#=(mh|ytjPVI6#=GiET*&#ENG6_ zq|$)ou(>5HmGR9ePKaPK`;T_<2oNLmRNcBUqo5BYn<8%CLl^#3$!JZ>s&0QMPqj3$ zY=SpBNc|qs6h?$3q1rjMNvv{;Of(a#5%Q>+6YK0zlH&B; z4w{g0xMip?B-|9r&~Ob4BO+Mzb>Nx}jDX^RC|$vu2+dkqg55x)crY;~3o}vE-cM#V zxlf>KRjde^IZP-Xl9r|GU=J>D|Z{H6E z7qXQLPIgIPdS;JV&Aw{xUH3YHCIy_lVuX)00d1 z#3w(-FMa9r_=o@C@8>`LNBP{Z^g^I6{Rmk%*oZP;}-OFE$`quZ={((2)nIHY@c=C0xT=Fmc zMLg$aFU0Bhy&wFhuVf$4sku`)9Mi&}Wwp5hm~<7+jKUBZu1BOKpN2Eaf?#}MZN1khew0Bl{-of;7to6>_wdjiebqk%f> zdXI!BTr|d}m|I3e)dlHh8W_TtmGX2L^yF>nc^3+ibk}WgW@56)P*~4K}Y&WV5lO;7!0T#M>N()*8vVxfce1Fi7nt%1fyKQFJr&M%Q%{`q6l_WLoF@Fr z6hg`?YE0`yqaZJ&tlH-=Jv9DImHZJ4u zd}w5B{W|Y|*DS`~QaG1w52#$=YafAD6%_i0HtUKUr1kW-g2wMHT2d!nQC;;{*MCxc z8UqtxdYGX}6xRV;{guAn(hJg~;A#j0z2j-+ap%kfPWMc{V;Zbz(0lv)Bz*m+^NUB5 zws`6rmZs~KbbZ+B!j?m6tDBjLa=K1Y=*7@7N(MObq0?`ihpu;4Vf4?8w%7g}JUjePOIW*bh>>H-Cx z?HV2zu<7eDHi@<+G*b0hROrR1mUp#;Jn1ewY6g*OZeS9Cw6*FKC>@0bxn}oSuwtJE zHs*M1Fte)1A|v#<58ngTWB`lcw4oHxZcgZ#PXRi5Zc@=tqvU;(Rs4k;SA!JmC45fZ z6cIonX3eTB*1F&IETiJ8XD|JEstOAo3k`hq;W~(De{Doqi9rtU!EEI~5y64;+jnv4 zS@(aw0$A7cijto-D_p#x3%1&PWZ*;Sq6PtXjTO-3$lG9=#2ES+_P|Q_zWS`0kOHw3 zD$UFaFb%Qp;VwX+^aBd^T8IS*-Gc-71-1VZv>vUyRvLsWgCRJ8iL}E6Qxgr?37lIE zTVRAc^#&THLZk13t^{hIXwRlxFW84oORYyDNG4bIGg3k>#6)c_=oP3nVRq_}07|Kw zpga|#1T;f`4-^KsThTR^IU(hapAWNGTwNq8YRgnn-5_nZH0WrE07S6Vp$G>rB^$}Y zDaB4HzO8JcKmlzlu-GS8Nhc5(mh?&?K|~EVo`jU-F~NQH4`ph6W+Q-0j1m`h=Q07@zKiAT7WuLlVfps& z#obrF1=oMQ=M#DBX4GhI&Qz>m3aJr_-nZH!0Ti8uJ6Y2>)(jEUs30GtH`Qlhw`)On= zzbX}6;r$^pHBniC?ZyY4-(K2=By=DY>D^x`flS2l5qGDT@!-$=T(Ao|i72Vs~_m{j@yWQtz~15a1bmc7LPsn(#`90|WxPZj{j#J!(#H z?b*!hnWWfR}Y`(_gtPxRL;|-N<0bo3S0kaaN2GRvNI2z(^ zz_t4tq;@aYIZV1@Tz4i#H^0*n>qX-NRc|}!iCc4TL{XGN8s!2r#k0xo= z3HFT`htXrY#a*VQ10y)saM5e>6#Y7$r!Mcu?xdC#MpD%F^EXMJUUTC%{l8WFGFgZP zBY3w4i-joG>L#Yi|8zy`K%j^R3RuRZfF4ll$}E9$b0n#DOv|==4@K`Tx83OnmB7J# zytFi4J4X*<8*eDrHWv!`j;~HfKooN|xB@tH1ue$gYN^DA8`JTun+1bmysJdpX4wU9 zSYvy$nHQF*sbklVKKpr4{P{C$Vd_GW%q_Mn>8IeB>yIw3;omd1a*amkzXPG6>r^M2 z^QTkO1;SWB|9!`O{h~ZKj3Zh?T@ViIxU|)lL`~=H zF3elju>GF?6DG9ExIHN8hnf?5ZXLbEVYzEzvbIoIwnO1J=o$ZwMKD8`ZQ?Xb2KeP= zG?vqw$(RfVw1t6@0%)KYyT?FF1zsOu1W_xYtN9v+=!ymT{%IQ5?k(s7P%I1&4}G@8 z9B5-KO|Th&M{N%kCFMhS<9YrKVo|%K(xXlG7cgGGgxnEyAh^s&$)F|)lhS|ygV7`p{0M++W*^l?1>%!lxfw|xVy z-nxo6z2U3zyPx>iy!EDU#7kcKLY&>YjjE~15l9U+Jn!7z_~P^Qq&tWH-4-zYZ4eTTg)_& zPJzSOL?cnTsGut()9%P}|IWobTig82xFK7Dm*&J!9W|);1cP6O- znFR)Goy9gB7Wo-imPA$&=X)$`BA@dd9Dmh25cl7Q-EaIBZv3bJIiCKRe~UeiaOsU- zjopi%5AG-O&MoX~A}q8<11cl*sH~~&Ms;2Q)FN`Ps>oum<%S(*OBVoQRg4W)1)ZbI z#eZsM8wShuS^bJrOesu$7lZ@tv(#LWlpyqkF9~v> z$1ihE`#728^_ejb+K5Z#FbkL^Cw_PmUTLekmJr@_QQ>6Ww-5_6XU!~$X-GjLdjBTO z#>n`sbGGJY4g1tu-^?SpvSLS;*Vxj4iU^ixw8oH}95K;0L&>em;D+qoUF;52mrvaM z^_5F|%w<-=7dv8R_S7Spz7(J=YBp_fAUz9qoJXz2W$6Ob@!8c)^=L23eieG9IoGOW z#pw~|%5mvv!PB9Ag$vIQGvx~bVMS3k#Dy*$0Fe)sDwdVJ{h0|rN9Q$?bM6c0GnliE zuH3IZ90N1=9#Ql6WEroC)SX3!m6Cpn!mml(-Jf&L6-x|OdhAJjfqpg$TW&^)F`>z2 zPW}D9^9whURO88%_f?OQbZ+&NmARz#KZ)WX_jk{dSO&>E^Zcwckzzsy(EGC#zoo7| zC*Skn}7!*j>WaO-NMv{nE-# zrj-MU9?MovHKs1dl+gE!Iy4#*7sjfKr~$-OEZ9a8o!{J-MmLX86X4hc+Vg_flnXIr z3=DtHq~3oUCu{=4x*sx8laiANo+3>Kj;${B_BH`h#ygt)D)dcxnAOHJIu&kwXXjRQ z?F@t@CI;J0O}VfKOnuRvWcS}q5^ca%OzJ=zzx4H7p$S8OK{$$LzqI6%>?-4X@)I&~Auje&^uR2s=}o|ZG|07W=x!wI2M^Op{w+i$W;Jc#;u9{>skJC{ zCmb&R=>R#m*UIY86y7xDQqd5qB>5H~kWGbz^?fOZx;2(U3yQH5=;7uKaS}ShO8W+3 zX5l5v=Jx&y{sk^XuIIM}Lv!oY5LLB-AZ#Q=lRb93*Ic)QuAtCWoUCtwiD;*j+gitOrH$_cE^LITCIsDg~5y}1gtpQKz`y6$w*p>^22 z1DJ@Bx{4;144LA_n{gJX^+}{V-~fCV5(p8Ntcm2jF<8i%x>P}IDK|#meh_OjsqNsK z)ha6&&ae`~3AO`=6MKbC_VnIcJ(+p|m~qfcTfrk!&+=Z@o|0>T)^ct#qW-GA*Q+YJ zq1T;0>a%N$%UjQq#7>4zjMa~v9m57tmvebRjdoLP#gv=VK8Bit$ zTV`nqpuw~oe41sQolCl4OHBoM(d>Moafl>huxgqgpwm174l+2jOA`gg=97?3OhR+> zqwK>VS4c-0G0s{WqvC#8eyA%^QbAeRS1CtvlzTP6>7^6o3Vh(hKaE*Yzwz6j#{c!d z_%Cti*FR9d{WCvZ%e_}Hc1H!b@dJUZ>DZAdV9K~r%w`c4rtv0Q<09-R^2TSm&woWB zS9f;2f4z5#AwkOy+T~|=vA=T{%l-EP?|L`*``(Qkx6kmU|LXsYr(XOL9{;)j8^+6C zfcjHEjHCCw8}r%EK|X!6>e^M**?DD(AmbupS>cir8A1EB<&j)h5$;UDx6ykL22FFj z)n-s9_PZuE?M9OyAXq~Pd^=2qf^iQHM2TG5I!1(YP-x$4$y~e_x9FX4uJyQ7A{AR2 zSX&h}H&q-ExguwSinJXgQ8`7-DM)KmMU>OKi-AsF*zzB}p9(St4dVrRzex>3$eST* zSy#;4cfbOcSG^LKzUw=1&o}(OT0Z$H?7#lKc>0}RjcY&mK^%YOJ8|!Kya&4%Kd)!B2+`4leU-sfxjF0`|FW|9fp2YFdv7+ECSc1-q z{Jo!lY;a!ByArH$!^YpG?DWG1>FQ!u6BHX(sRQaQLR^S#xLk;2N$`LWLZivVS&3P| z=uyU*vYv|th4e)*u~pVhAfXm)l)6YpnUKwNQY(MQ@>wYC%g*CfRVf2x#jatQajABx zS<@ziR!WdiX{Co4e^ebpOz- zNkC_Oy4tW=E)#y%jiEB2k5aHLE4Xt3(-Oa^O;N0u$wCd(CeQWTQ&hXo9+)b4Dy!nc zq?D!G>3W1J)>euL=oYQ_O*fCqozNbnRbkyXH8@kMD3nxVM9C|2CdoxPM1SA-vC_qR z%8;;Yce)u7BKOg51v8B=n@$}(%zV$XkGRp@QU@3NW|ck1ZdIHw_z^D5&NC*~vj5!c zHMfezmL1YkB6dd=Rn(}kl|4|wkLvLglZD-M3&miCANh9lSZht6Wo^C<+e8303({{- z^zCBZSX1nB!S4kw1cuK#OE|BdLrlrDSwAxz#?280Aaaf$5QvY;4a(6j<^y-%Z>YkiYG8D z;YFucvq$2(hp-{XB(jZj;7xPEbWD0-1<7jm4+)OL!*15e=x_tC4pBh1TsgLdZ62U6 zF4DRx@Gk5!-5aMYXD7EJs@)u6P^}u*i5^}2Iw1L<@=2p#tL31ZM52hSWi#+7On(mc z$hVobJTO!)u)4VKgB0#A4U;c`0z*F&xkJ~brHU*~Qi(C5H$$Rl>B$2G>kpWmyA?3)y+Yu8>kyt1tE!#TWfd~^Z8pQg z9dNQ`_Sz^L`|p{Zjl?Nq+$4ORJ1TmsjX$DNNS68p)sq8xdP`vgy#G^s6b3I(Cc5;Si-YmR5wQ~et;2* zeO`^|HR1Mp_WT=cMGB~(sW~Qz98Ae=hI8Ar|dz`aWxL1m1S99_P%P%%JX(6x;| z1;7-*Ao_p1_)SGs^fPp)FYG>))tavqpjIL?)O6AqvfvDqeHMNCyZY(Wk%BtMC%Za2 zKBI|FXr0?*Ek3&UM@09?Qk z7?j8)ddw263Pz~Y%B>J~+$X9u5n^S}=x0}A6?->0kI6S9(8)~PRymf{VZ4|nz_jfV z?S+2-aK0VB$GWd^RfleDdx02;EVb%7zhih`0fby#w7qO>J5a%}W{H~2mcaxVEf#j% zAf2Bi3}6n-imDM<$3QW3>Dk$N)!A)iP38+fkE>JD_WHQXMR&P=n@aQk>(u$30iBpyC9d|LLE?eDIU?|M=^F4Zr>$ ze+m1$xAUVP|1gTllcOU=EC#qhISufIp;pn>^9|$apQCWE5j! zjGB7SYVVqk-=a1Z3u<%^6kCCz^IugJ9QJPLYcwtCY9y`hD+e%%Q6h+7>0RltnW74(>hwAepXWwp-( zW_0a=@MM@^OW_a;^Dt`DINjx!JiUNrX>8MRGZ3CD(rD}22^R3(tfU(C05l_y!#}0( zKo``6F?MK!3b<#eLd&UsT22}EW$$SxIj&qOOghzs!@dG6Tm=8Mj~R6?y-DGN8Xt6!9c9wIx>>G>qx?Uy z=n(7MX7%ir`Cr#MTHI73+J=d7i^&R7*XOrxbDjh0hV6?UP+mi-o33)r`hRsv0+nDt?eEvboJ)!`Vl(5r?H zMOd=0O1E(``dhVxHsj09HMw{omvn5uX@WYS;Lwj^8`HHrkIynmfEVR?T{Rz@+x z%_KN$FuMb?nJpG$>(C11cqOBV5nCPA?5NA5l4?@YTR#$gH!7M{-xq6kvpYIbWuwqC zzoJ_?3P42qzQ<&rYZ;BJ!e?lHi>!(WnNvY$U5bvX7$K*BZ0DPrJyTbK9FqD*cGIgW zlg%PVET~$wS}uAe+pPxp@^151(D^g~ouz_+VHAq36B->OOlmZ$VFuQm7>j~ypwDw{ z9jJrJqz+Po>_(U0Wh>rWjH=&1@X7s#xlW_Ksw_`%n|O-w`Kxl_7|0s7)o^B#o*6)q zBSZk&MR~NjU=hAN(9;xD@?5lj9jIi$;nv4gGNdL$7-Qh%NF`jzj% z`Q5vC%iF%be)B*4B(J~pt$691UXT6lo7k@_BQ;l_Ow=5z!nS$C^miu2u!hg{1ZrHk zUa|n+Y;o`?p%*Airf$B4N@nCI00961NklgCSIy%7a}T3_!6y5jR_hkDVM@#wX$#CYy=vE01D`tg5-+kgA-;qGsK0_Qja zA9xLqUj4PG-GW>*^3J(KR-!cN#$k{iQu2cUR%Q=63x>=D?0};2+ERk-5hhZETB&a~ zwt}_ul4F~JctFQ8GefakN$&Ff&%;v>J&CKI{%NpAJ^AEAc-H-2hA%w$>H7RbkMiX7 z1i`E&BLVIZNUSN3lqu1FnQ=vCVW+xC z@9dZ^h%jsrTON7gR>h^mSfN#LJzJhg$p{%2=Vwz2fu7r|1zb||<*;f>N)Z|1Xp&37 zJON;ZVsb(%o6y-}htrnjdT_V0n5@2U`9coJVn$U|5W|Aws8r7#qY9Og87Z%dK~zrV z$EYn=&!T-9;PKZX9MPG8Q#xu^$SyIhpcrA5ZF*$R-R*4zi9m?OH&+-y zCRP%@{f@@9Ix^Y?m6g#pQo=CNiCjf(W7|v&kFVNd8GV+8+grs$$SzGTU+N92zzdez zF|{ViV9i+(tksI#9y|74w-iz%uu8B1B2zMvUf+mf)|g?d2^~D@18(XD7nj@P4#=!h zbebLo)pT>N(^?1)XzzG*dX~+Ry~pK^s-a*eGS~A!6vojqGE;kvs&ND=5>*3irFN+i zplfY&TYog7jJ+Bh;w;npbQsueiHD(Q&`-H1XYN1(WS*kX_7Lj zuIl0aY_4|G21E}ZH5a@k5Xe0uDLfE zal1y83s@aby>^5;1(pPD)njc!4gHx9rhc~%{nTccM?ndo7f~S=Gy!lC%_G35*E(1e zi0Ek2K>crQga#9uadF_OIWcx8Pgd#QHHGJ$+g;v*C=kgC<+Tr!0`5iz(niMQs8aZw zgSxU~n!r-mWRyzp>cBRY6m_ryzUv%Wf>XLbc0qB9WXPbtmA}8vIxci>m{F*T1ZPwR zFpz5Q$TM7XXyV46H6*l=!oPyHK*8Gq+A>R*N|G_2Bh&d#hVdaAQ`*s68nXlF(LA zbL7-`PZBjEsKUCFrOn#9#Z*$<(N%m^Pp3Lwa-&+IpVej8={TV{>1*WG>d=g+0S=|H z71*f4!hxBoHyWwAMU!eSJ(I`X-X~8@Z-d0mn{;2+$uYDx6|_77+E8PiDwqpbH)m+_gw*h z-`g>7omGA530(cB|CmSr`0qtM|AD&i_kVw#{J`&Le&;vW<#XWHXFkjI3tvDybAywG zWw(I41#2wIUybZgHm{QeduUt87UA~{7awYt?ENAlK!4fokyMaO2dpU7>jL{CBUQX8 z&&8}*S(`~FRgt1c0(>3}9-T7{2;2=~QGiO@Dz`!}yL|`i&;88IzyD+7>5qS~&TFl>^gQ6J zzAcvL+^3@Kd=KpJc6U()Uj@J*$8@KU9bqd&*^fRKOsm#(q#Zs=y+1}f3ISxcLaaf6 z8?l0NkF-&xP?1K6WqZ1f+^fq8Xm%6IX#v(GCacsft_^cBbU*qmG(vQ42!$X3L3zrc zCH;D0`XEG+le+0CoaGgT(|$UjrVGUm6*C5+ru>QN@4A7x?(mV!#EK})G{I`#Tot`9 zsHy~)V5V+^F~}R?TLcnl?ZO7MTn=_)E24{;Hi{e67^q1)KR8Z}WlV{2!sLREs}u~? zE(xe|CtSI>4H|_rQ^d2zc`y=Z(J~hUn{XN=&KQ{bKC@m z1#d3+%Ks9`t>`SMLDJ%%ZfI?tiqe!&Y78tahs9Wy+qvHt`iWJO%0A!S7%j&-H;gux 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

    kKRnoS`WL?I2 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

    *Y-N{F51H8l?*8`_I+MN!7XW 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 D>qRms literal 0 HcmV?d00001 From d4a9717c73ccbf65a1baba608f28f85a72d15294 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 21:11:21 +0300 Subject: [PATCH 27/33] Add dockerfile --- .dockerignore | 33 ++++++++++++++++ .github/workflows/docker-publish.yml | 57 ++++++++++++++++++++++++++++ Dockerfile | 33 ++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 .dockerignore create mode 100644 .github/workflows/docker-publish.yml create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0712edc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,33 @@ +*venv* +.vscode +**/*.env +**/*.pyc +**/data/**/* +*.log +.git +.gitignore +.github +__pycache__ +.pytest_cache +*.pyc +*.pyo +*.pyd +.coverage +htmlcov/ +.tox/ +.mypy_cache/ +.DS_Store +Thumbs.db + +LICENSE + +tests/ +.codex/ +.claude/ +.gemini/ +.aider/ +llms.md +CLAUDE.md +GEMINI.md +Dockerfile +.dockerignore diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml new file mode 100644 index 0000000..6a45723 --- /dev/null +++ b/.github/workflows/docker-publish.yml @@ -0,0 +1,57 @@ +name: Build and Publish Docker Image + +on: + push: + branches: + - main + pull_request: + branches: + - main + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=sha,prefix={{branch}}- + type=raw,value=latest,enable={{is_default_branch}} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3768d80 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +# Multi-stage Dockerfile for allocator-bot +# Build stage +FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder +ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy +ENV UV_PYTHON_DOWNLOADS=0 + +RUN apt-get update && apt-get install -y build-essential git + +WORKDIR /app +COPY . /app +RUN uv sync --locked --no-dev + +# Runtime stage +FROM python:3.12-slim-bookworm +WORKDIR /app + +# Create non-root user +RUN groupadd --gid 1000 app && useradd --uid 1000 --gid app --shell /bin/bash --create-home app + +# Copy application from builder +COPY --from=builder --chown=app:app /app /app + +# Switch to non-root user +USER app + +# Place executables in PATH +ENV PATH="/app/.venv/bin:$PATH" + +# Expose port +EXPOSE 4299 + +# Run the application +CMD ["openbb-api", "--app", "allocator_bot.__main__:get_app", "--factory", "--host", "0.0.0.0", "--port", "4299"] From fb828727571446d36b74b8d3f23bc954c843ece9 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 21:12:43 +0300 Subject: [PATCH 28/33] Update README screenshot --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 430bd8a..b75a3c9 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ A portfolio optimization copilot for OpenBB that uses PyPortfolioOpt to generate ## Features

    - image + image

    From b7f6d7df69a4b142123c9024b663626fa9eccab1 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 21:26:47 +0300 Subject: [PATCH 29/33] Update usage instructions to prioritize docker --- .markdownlint.json | 4 +++ README.md | 74 ++++++++++++++++++++++++++++++---------------- 2 files changed, 53 insertions(+), 25 deletions(-) create mode 100644 .markdownlint.json diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..ae399b8 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,4 @@ +{ + "MD033": false, + "MD013": false +} diff --git a/README.md b/README.md index b75a3c9..250aa21 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Allocator Bot

    - + allocator-bot

    A portfolio optimization copilot for OpenBB that uses PyPortfolioOpt to generate efficient frontier allocations. @@ -9,10 +9,9 @@ A portfolio optimization copilot for OpenBB that uses PyPortfolioOpt to generate ## Features

    - image + dashboard

    - - **OpenBB Integration**: - Plugs into OpenBB Workspace's copilot and widget interfaces - Fetches price data from FMP via OpenBB Platform's python library @@ -38,15 +37,46 @@ A portfolio optimization copilot for OpenBB that uses PyPortfolioOpt to generate - Pydantic for data validation - Magentic for LLM interactions -## Installation +## Installation & Usage + +### Docker (Recommended) + +The easiest way to run the Allocator Bot is using Docker: + +```bash +docker run --rm -it --name allocator-bot \ + -e HOST_URL=http://localhost:4322 \ + -e APP_API_KEY=your_api_key \ + -e OPENROUTER_API_KEY=your_openrouter_key \ + -e FMP_API_KEY=your_fmp_key \ + -e DATA_FOLDER_PATH=data \ + -e S3_ENABLED=false \ + -p 4299:4299 \ + ghcr.io/piiq/allocator-bot:latest +``` + +**Required Environment Variables:** + +- `HOST_URL`: The host URL where the app is running (e.g., `http://localhost:4322`) +- `APP_API_KEY`: Your API key to access the bot +- `OPENROUTER_API_KEY`: Your OpenRouter API key for LLM access +- `FMP_API_KEY`: Your Financial Modeling Prep API key for market data + +**Optional Environment Variables:** -### Install with pip from GitHub +- `DATA_FOLDER_PATH`: Local storage path (default: `data`) +- `S3_ENABLED`: Enable S3 storage (default: `false`) +- `S3_ENDPOINT`, `S3_ACCESS_KEY`, `S3_SECRET_KEY`, `S3_BUCKET_NAME`: S3 configuration (if enabled) + +### Alternative Installation Methods + +#### Install with pip from GitHub ```bash pip install git+https://github.com/piiq/allocator-bot.git ``` -### Install for development with uv +#### Development Installation 1. Clone the repository: @@ -55,23 +85,18 @@ pip install git+https://github.com/piiq/allocator-bot.git cd allocator-bot ``` -2. Install dependencies using Poetry: +2. Install dependencies: ```bash - uv sync + uv sync --extra dev ``` -## Configuration - -- Copy `.env.example` to `.env` and fill in the values. - -## Usage - -Start the server on localhost: +3. Copy `.env.example` to `.env` and fill in the values +4. Start the server: -```bash -allocator-bot -``` + ```bash + allocator-bot + ``` ### Adding to OpenBB Workspace @@ -79,17 +104,16 @@ allocator-bot - Click on the OpenBB Copilot dropdown - Click "Add Copilot" - - Enter the server URL (e.g., `http://localhost:4322` for local deployment) - - Add authorization header with the API key from `API_KEYS_FILE_PATH` + - Enter the server URL (e.g., `http://localhost:4299` for Docker deployment) + - Add authorization header with your API key - Header name: `Authorization` - - Header value: `Bearer ` + - Header value: `Bearer ` (same as `APP_API_KEY` environment variable) - Click "Create" -2. **Add as a Widget Source**: +2. **Add as a an App and Widget Source**: - - Click "Add Data" on your dashboard - - Go to "Custom Backends" - - Select "Allocator Bot Backend" + - Click "Apps" on your dashboard + - Click "Connect Backend" on the Apps page - Enter the same URL and API key used for the copilot - Click "Add" From cd8d54c666b1922c3dc90db48d5c7bc5b2850904 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 21:32:13 +0300 Subject: [PATCH 30/33] Add example k8s manifests --- k8s/00-namespace.yaml | 6 +++ k8s/01-secret.yaml | 23 +++++++++ k8s/02-configmap.yaml | 17 +++++++ k8s/03-service.yaml | 15 ++++++ k8s/04-deployment.yaml | 108 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 169 insertions(+) create mode 100644 k8s/00-namespace.yaml create mode 100644 k8s/01-secret.yaml create mode 100644 k8s/02-configmap.yaml create mode 100644 k8s/03-service.yaml create mode 100644 k8s/04-deployment.yaml diff --git a/k8s/00-namespace.yaml b/k8s/00-namespace.yaml new file mode 100644 index 0000000..ed1eb34 --- /dev/null +++ b/k8s/00-namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: allocator-bot + labels: + name: allocator-bot diff --git a/k8s/01-secret.yaml b/k8s/01-secret.yaml new file mode 100644 index 0000000..a0d4e48 --- /dev/null +++ b/k8s/01-secret.yaml @@ -0,0 +1,23 @@ +# Template for sensitive environment variables +# Replace the base64 encoded values with your actual secrets +# To encode: echo -n "your-secret-value" | base64 +apiVersion: v1 +kind: Secret +metadata: + name: allocator-bot-secrets +type: Opaque +data: + # Replace with base64 encoded API key for app access + APP_API_KEY: "" + + # Replace with base64 encoded OpenRouter API key for LLM access + OPENROUTER_API_KEY: "" + + # Replace with base64 encoded S3 access key (if S3 is enabled) + S3_ACCESS_KEY: "" + + # Replace with base64 encoded S3 secret key (if S3 is enabled) + S3_SECRET_KEY: "" + + # Replace with base64 encoded FMP API key for financial data + FMP_API_KEY: "" \ No newline at end of file diff --git a/k8s/02-configmap.yaml b/k8s/02-configmap.yaml new file mode 100644 index 0000000..5653e5b --- /dev/null +++ b/k8s/02-configmap.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: allocator-bot-config +data: + # Host URL where the app will be accessible + AGENT_HOST_URL: "http://allocator-bot-service" + + # Data folder path for storing allocation data + DATA_FOLDER_PATH: "data" + + # S3 configuration (non-sensitive) + S3_ENABLED: "false" + S3_ENDPOINT: "" + S3_BUCKET_NAME: "" + ALLOCATION_DATA_FILE: "allocations.json" + TASK_DATA_FILE: "tasks.json" \ No newline at end of file diff --git a/k8s/03-service.yaml b/k8s/03-service.yaml new file mode 100644 index 0000000..9da508e --- /dev/null +++ b/k8s/03-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: allocator-bot-service + labels: + app: allocator-bot +spec: + selector: + app: allocator-bot + ports: + - name: http + port: 80 + targetPort: 4299 + protocol: TCP + type: ClusterIP \ No newline at end of file diff --git a/k8s/04-deployment.yaml b/k8s/04-deployment.yaml new file mode 100644 index 0000000..32848cd --- /dev/null +++ b/k8s/04-deployment.yaml @@ -0,0 +1,108 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: allocator-bot + labels: + app: allocator-bot +spec: + replicas: 1 + selector: + matchLabels: + app: allocator-bot + template: + metadata: + labels: + app: allocator-bot + spec: + containers: + - name: allocator-bot + image: ghcr.io/p2p/allocator-bot:latest + ports: + - containerPort: 4299 + name: http + env: + - name: AGENT_HOST_URL + valueFrom: + configMapKeyRef: + name: allocator-bot-config + key: AGENT_HOST_URL + - name: APP_API_KEY + valueFrom: + secretKeyRef: + name: allocator-bot-secrets + key: APP_API_KEY + - name: DATA_FOLDER_PATH + valueFrom: + configMapKeyRef: + name: allocator-bot-config + key: DATA_FOLDER_PATH + - name: S3_ENABLED + valueFrom: + configMapKeyRef: + name: allocator-bot-config + key: S3_ENABLED + - name: S3_ENDPOINT + valueFrom: + configMapKeyRef: + name: allocator-bot-config + key: S3_ENDPOINT + - name: S3_BUCKET_NAME + valueFrom: + configMapKeyRef: + name: allocator-bot-config + key: S3_BUCKET_NAME + - name: ALLOCATION_DATA_FILE + valueFrom: + configMapKeyRef: + name: allocator-bot-config + key: ALLOCATION_DATA_FILE + - name: TASK_DATA_FILE + valueFrom: + configMapKeyRef: + name: allocator-bot-config + key: TASK_DATA_FILE + - name: OPENROUTER_API_KEY + valueFrom: + secretKeyRef: + name: allocator-bot-secrets + key: OPENROUTER_API_KEY + - name: S3_ACCESS_KEY + valueFrom: + secretKeyRef: + name: allocator-bot-secrets + key: S3_ACCESS_KEY + - name: S3_SECRET_KEY + valueFrom: + secretKeyRef: + name: allocator-bot-secrets + key: S3_SECRET_KEY + - name: FMP_API_KEY + valueFrom: + secretKeyRef: + name: allocator-bot-secrets + key: FMP_API_KEY + resources: + requests: + memory: "512Mi" + cpu: "500m" + limits: + memory: "1Gi" + cpu: "1" + livenessProbe: + httpGet: + path: / + port: 4299 + initialDelaySeconds: 30 + periodSeconds: 10 + readinessProbe: + httpGet: + path: / + port: 4299 + initialDelaySeconds: 5 + periodSeconds: 5 + volumeMounts: + - name: data-volume + mountPath: /app/data + volumes: + - name: data-volume + emptyDir: {} From ddbfd37c3815758ec6602f7cfd5117e6e44bda07 Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 21:36:31 +0300 Subject: [PATCH 31/33] Only build image on push to main --- .github/workflows/docker-publish.yml | 5 +---- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 6a45723..a471cb6 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -4,9 +4,6 @@ on: push: branches: - main - pull_request: - branches: - - main env: REGISTRY: ghcr.io @@ -54,4 +51,4 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha - cache-to: type=gha,mode=max \ No newline at end of file + cache-to: type=gha,mode=max diff --git a/pyproject.toml b/pyproject.toml index 524dc96..80c7610 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "allocator-bot" -version = "0.1.0" +version = "0.2.0" description = "An asset allocation bot for OpenBB that uses PyPortfolioOpt to generate efficient frontier allocations." authors = [{ name = "Theodore Aptekarev", email = "aptekarev@gmail.com" }] readme = "README.md" From 394989ea36ea63a85a0ddc06662058d9d82a772a Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 21:39:15 +0300 Subject: [PATCH 32/33] Add action to lint and test --- .github/workflows/lint_and_test.yml | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/lint_and_test.yml diff --git a/.github/workflows/lint_and_test.yml b/.github/workflows/lint_and_test.yml new file mode 100644 index 0000000..ab9b7f6 --- /dev/null +++ b/.github/workflows/lint_and_test.yml @@ -0,0 +1,35 @@ +name: Run Lints and Tests + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + version: "latest" + + - name: Set up Python + run: uv python install + + - name: Install dependencies + run: uv sync --extra dev + + - name: Run linting + run: uv run ruff check . + + - name: Check code formatting + run: uv run black --check . + + - name: Run tests + run: uv run pytest From bb50e7836d359ff7dafa3b8c7d07677b4501daac Mon Sep 17 00:00:00 2001 From: Theodore Aptekarev Date: Mon, 7 Jul 2025 21:43:31 +0300 Subject: [PATCH 33/33] Fix tests --- allocator_bot/api.py | 1 - tests/test_api.py | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/allocator_bot/api.py b/allocator_bot/api.py index 2521446..a0a1929 100644 --- a/allocator_bot/api.py +++ b/allocator_bot/api.py @@ -214,7 +214,6 @@ async def get_allocation_data( if not allocation_id: return JSONResponse(content={"error": "Allocation ID is required"}) - allocations = {} allocations = await load_allocations() selected_allocation = allocations.get( diff --git a/tests/test_api.py b/tests/test_api.py index 41b8464..88da9cb 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -262,9 +262,9 @@ async def test_get_task_data_basic(async_client): assert "Timestamp" in task assert "Assets" in task assert "Investment" in task - assert task["Investment"] == "$100,000.00" + assert task["Investment"] == 100000 assert task["Assets"] == "AAPL, GOOGL" - assert task["Risk Free Rate"] == "5.0%" + assert task["Risk Free Rate"] == 0.05 @pytest.mark.asyncio

    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