From 58ba2aaefa7d55af0b01e0f98e21fddde3e3ce7b Mon Sep 17 00:00:00 2001 From: emmacware Date: Mon, 26 May 2025 22:58:03 +0200 Subject: [PATCH 01/28] simulation setup --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 91 +++++++++++ .../Loftus_and_Wordsworth_2021/settings.py | 150 ++++++++++++++++++ .../Loftus_and_Wordsworth_2021/simulation.py | 94 +++++++++++ 3 files changed, 335 insertions(+) create mode 100644 examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb create mode 100644 examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py create mode 100644 examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb new file mode 100644 index 0000000000..dab218df58 --- /dev/null +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -0,0 +1,91 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "d8f644e9", + "metadata": {}, + "outputs": [], + "source": [ + "import PySDM.products as PySDM_products\n", + "from PySDM import Builder\n", + "from PySDM import Formulae\n", + "from Loftus_and_Wordsworth_2021.settings import Settings, EARTH_LIKE_CONSTS\n", + "from Loftus_and_Wordsworth_2021.simulation import Simulation\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92a3a574", + "metadata": {}, + "outputs": [], + "source": [ + "#Have to add the following equations that are in the paper to the formulae section:\n", + "#Will go under PySDM/physics/ wherever these categories are\n", + "formulae= Formulae(\n", + " terminal_velocity=..., #eqn 8\n", + " drop_growth=..., #eqn 10\n", + " ventilation=..., #drag force/ gravitation eqns\n", + " particle_shape_and_density=..., #the following OblateSpheroid class\n", + ")\n", + "\n", + "#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\n", + "#under PySDM/particle_shape_and_density.py\n", + "#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \n", + "#look at LiquidSphere class for reference\n", + "class OblateSpheroid:\n", + " def __init__(self, a, b):\n", + " self.a = a \n", + " self.b = b\n", + "\n", + " def volume(self):\n", + " return \n", + " \n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3249b65e", + "metadata": {}, + "outputs": [], + "source": [ + "#settings in this folder, some inputs are from the paper needed for the plot, like initial radius\n", + "settings = Settings( \n", + " updraft_velocity=0, # varied in the paper, add units\n", + " r_dry= 1e-16, #is this in the paper?\n", + " r_wet= initial_radius, #X axis of plot 2\n", + " formulae= formulae,\n", + " Planet= EARTH_LIKE_CONSTS,)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "530b1cba", + "metadata": {}, + "outputs": [], + "source": [ + "#set up simulation\n", + "#Simulation is also in this folder\n", + "#Need to change/add/edit the Parcel environment PySDM/parcel to take in new dz that uses the \n", + "#updraft and the terminal velocity to have the parcel track the superdroplet\n", + "simulation = Simulation(settings,..)\n", + "output = simulation.run()\n", + "\n", + "#output currently has height, RH, radius, and time.. need others?\n", + "plt.plot(output['time'], output['radius'])\n" + ] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py new file mode 100644 index 0000000000..2d7b59cf40 --- /dev/null +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -0,0 +1,150 @@ +#Planetary Properties, Loftus and Wordsworth 2021 Table 1 +from PySDM.physics import constants_defaults, si + + +import numpy as np +from pystrict import strict + +from PySDM import Formulae +from PySDM.dynamics import condensation +from PySDM.physics.constants import si + + +@strict +class Settings: + def __init__( + self, + updraft_velocity: float, + r_dry: float, + r_wet: float, + formulae: Formulae, + Planet: dict, + + ): + self.formulae = formulae or Formulae() + const = self.formulae.constants + self.p0 = Planet["p_STP"] + self.RH0 = Planet["RH_zref"] + self.kappa = 0.2 + self.T0 = Planet["T_STP"] + + pvs = self.formulae.saturation_vapour_pressure.pvs_water(self.T0) + self.initial_water_vapour_mixing_ratio = const.eps / ( + self.p0 / self.RH0 / pvs - 1 + ) + self.r_dry = r_dry + self.initial_radius = r_wet + self.n_output = 500 + + self.rtol_x = condensation.DEFAULTS.rtol_x + self.rtol_thd = condensation.DEFAULTS.rtol_thd + self.coord = "volume logarithm" + self.dt_cond_range = condensation.DEFAULTS.cond_range + self.w = updraft_velocity + + + + + + + + +EARTH_LIKE_CONSTS = { + + "T_STP":300 * si.kelvin, #surf or ref + "p_STP": 1.01325 * 10e5 * si.pascal, + "RH_zref": 0.75, + "dry_molar_conc_H2":0, #mol/mol dry air + "dry_molar_conc_He":0, #mol/mol dry air + "dry_molar_conc_N2":1, #mol/mol dry air + "dry_molar_conc_O2":0, #mol/mol dry air + "dry_molar_conc_CO2":0, #mol/mol dry air + "H_LCL": 8.97 * si.kilometre, +} + +EARTH_CONSTS = { + "g_std": 9.82 * si.metre / si.second**2, + "T_STP":290 * si.kelvin, #surf or ref + "p_STP": 1.01325 * 10e5 * si.pascal, + "RH_zref": 0.75, + "dry_molar_conc_H2":0, #mol/mol dry air + "dry_molar_conc_He":0, #mol/mol dry air + "dry_molar_conc_N2":0.8, #mol/mol dry air + "dry_molar_conc_O2":0.2, #mol/mol dry air + "dry_molar_conc_CO2":0, #mol/mol dry air + "H_LCL": 8.41 * si.kilometre, + +} + + +EARLY_MARS_CONSTS = { + "g_std": 3.71 * si.metre / si.second**2, + "T_STP":290 * si.kelvin, #surf or ref + "p_STP": 2 * 10e5 * si.pascal, + "RH_zref": 0.75, + "dry_molar_conc_H2":0, #mol/mol dry air + "dry_molar_conc_He":0, #mol/mol dry air + "dry_molar_conc_N2":0, #mol/mol dry air + "dry_molar_conc_O2":0, #mol/mol dry air + "dry_molar_conc_CO2":1, #mol/mol dry air + "H_LCL": 14.5 * si.kilometre, +} + +JUPITER_CONSTS = { + "g_std": 24.84 * si.metre / si.second**2, + "T_STP": 274 * si.kelvin, #surf or ref + "p_STP": 4.85 * 10e5 * si.pascal, + "RH_zref": 1, + "dry_molar_conc_H2":0.864, #mol/mol dry air + "dry_molar_conc_He":0.136, #mol/mol dry air + "dry_molar_conc_N2":0, #mol/mol dry air + "dry_molar_conc_O2":0, #mol/mol dry air + "dry_molar_conc_CO2":0, #mol/mol dry air + "H_LCL": 39.8 * si.kilometre, + + +} + +SATURN_CONSTS = { + "g_std": 10.47 * si.metre / si.second**2, + "T_STP": 284 * si.kelvin, #surf or ref + "p_STP": 10.4 * 10e5 * si.pascal, + "RH_zref": 1, + "dry_molar_conc_H2":0.88, #mol/mol dry air + "dry_molar_conc_He":0.12, #mol/mol dry air + "dry_molar_conc_N2":0, #mol/mol dry air + "dry_molar_conc_O2":0, #mol/mol dry air + "dry_molar_conc_CO2":0, #mol/mol dry air + "H_LCL": 99.2 * si.kilometre, + +} + +K2_18B_CONSTS = { + "g_std": 12.44 * si.metre / si.second**2, + "T_STP": 275 * si.kelvin, #surf or ref + "p_STP": 0.1 * 10e5 * si.pascal, + "RH_zref": 1, + "dry_molar_conc_H2":0.9, #mol/mol dry air + "dry_molar_conc_He":0.1, #mol/mol dry air + "dry_molar_conc_N2":0, #mol/mol dry air + "dry_molar_conc_O2":0, #mol/mol dry air + "dry_molar_conc_CO2":0, #mol/mol dry air + "H_LCL": 56.6 * si.kilometre, + +} + +COMPOSITION_CONSTS = { + "g_std": 9.82 * si.metre / si.second**2, + "T_STP": 275 * si.kelvin, # surf or ref + "p_STP": 0.75 * 10e5 * si.pascal, + "RH_zref": 1, + "dry_molar_conc_H2":0.1, #mol/mol dry air + "dry_molar_conc_He":0.1, #mol/mol dry air + "dry_molar_conc_N2":0.1, #mol/mol dry air + "dry_molar_conc_O2":0.1, #mol/mol dry air + "dry_molar_conc_CO2":0.1, #mol/mol dry air +} + + +USER_PLANET_BROAD_CONSTS = { +} \ No newline at end of file diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py new file mode 100644 index 0000000000..de1319f7bf --- /dev/null +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py @@ -0,0 +1,94 @@ +import numpy as np + +import PySDM.products as PySDM_products +from PySDM.backends import CPU +from PySDM.builder import Builder +from PySDM.dynamics import AmbientThermodynamics, Condensation +from PySDM.environments import Parcel +from PySDM.initialisation import equilibrate_wet_radii +from PySDM.physics import constants as const + + +## General simulation from Arabas and Shima 2017, also looking at Graf et al. 2019 +#Need to edit Parcel in here to change dz into w +terminalv (should this be a w function? an option?) +# Some of this is probably not needed, not sure what yet + +class Simulation: + def __init__(self, settings, backend=CPU): + + dt_output = settings.dt + self.n_substeps = 1 + while dt_output / self.n_substeps >= settings.dt_max: + self.n_substeps += 1 + + builder = Builder( + backend=backend( + formulae=settings.formulae, + **( + {"override_jit_flags": {"parallel": False}} + if backend == CPU + else {} + ), + ), + n_sd=1, + environment=Parcel( + dt=dt_output / self.n_substeps, + mass_of_dry_air=settings.mass_of_dry_air, + p0=settings.p0, + initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio, + T0=settings.T0, + w=settings.w, + ), + ) + + builder.add_dynamic(AmbientThermodynamics()) + builder.add_dynamic( + Condensation( + rtol_x=settings.rtol_x, + rtol_thd=settings.rtol_thd, + dt_cond_range=settings.dt_cond_range, + ) + ) + attributes = {} + r_dry = np.array([settings.r_dry]) + attributes["dry volume"] = settings.formulae.trivia.volume(radius=r_dry) + attributes["kappa times dry volume"] = attributes["dry volume"] * settings.kappa + attributes["multiplicity"] = np.array([1]) + environment = builder.particulator.environment + attributes["volume"] = settings.formulae.trivia.volume(radius=settings.initial_radius) + + products = [ + PySDM_products.MeanRadius(name="radius_m1", unit="um"), + PySDM_products.ParcelDisplacement(name="z"), + PySDM_products.AmbientRelativeHumidity(name="RH", unit="%"), + PySDM_products.Time(name="t"), + ] + + self.particulator = builder.build(attributes, products) + + self.n_output = settings.n_output + + def save(self, output): + cell_id = 0 + output["r"].append( + self.particulator.products["radius_m1"].get(unit=const.si.m)[cell_id] + ) + output["z"].append(self.particulator.products["z"].get()[cell_id]) + output["S"].append(self.particulator.products["RH"].get()[cell_id] / 100 - 1) + output["t"].append(self.particulator.products["t"].get()) + + + def run(self): + output = { + "r": [], + "S": [], + "z": [], + "t": [], + } + + self.save(output) + for _ in range(self.n_output): + self.particulator.run(self.n_substeps) + self.save(output) + + return output \ No newline at end of file From cd6a23111c0d0582a27052dd08b6ebed9bd64cdc Mon Sep 17 00:00:00 2001 From: lursz Date: Sun, 1 Jun 2025 18:42:32 +0200 Subject: [PATCH 02/28] uv lock --- uv.lock | 4883 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4883 insertions(+) create mode 100644 uv.lock diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000000..b568b01593 --- /dev/null +++ b/uv.lock @@ -0,0 +1,4883 @@ +version = 1 +revision = 1 +requires-python = ">=3.8" +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] + +[[package]] +name = "anyio" +version = "4.5.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, + { name = "idna", marker = "python_full_version < '3.9'" }, + { name = "sniffio", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766 }, +] + +[[package]] +name = "anyio" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "idna", marker = "python_full_version >= '3.9'" }, + { name = "sniffio", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916 }, +] + +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321 }, +] + +[[package]] +name = "argon2-cffi" +version = "23.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/fa/57ec2c6d16ecd2ba0cf15f3c7d1c3c2e7b5fcb83555ff56d7ab10888ec8f/argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08", size = 42798 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea", size = 15124 }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "21.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658 }, + { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583 }, + { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168 }, + { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709 }, + { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613 }, + { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583 }, + { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475 }, + { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698 }, + { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817 }, + { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104 }, + { url = "https://files.pythonhosted.org/packages/34/da/d105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", size = 23689 }, + { url = "https://files.pythonhosted.org/packages/43/f3/20bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", size = 28122 }, + { url = "https://files.pythonhosted.org/packages/2e/f1/48888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", size = 27882 }, + { url = "https://files.pythonhosted.org/packages/ee/0f/a2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", size = 30745 }, + { url = "https://files.pythonhosted.org/packages/ed/55/f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", size = 28587 }, +] + +[[package]] +name = "arrow" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "types-python-dateutil", version = "2.9.0.20241206", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "types-python-dateutil", version = "2.9.0.20250516", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419 }, +] + +[[package]] +name = "asttokens" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918 }, +] + +[[package]] +name = "async-lru" +version = "2.0.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd/async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627", size = 10019 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/9f/3c3503693386c4b0f245eaf5ca6198e3b28879ca0a40bde6b0e319793453/async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224", size = 6111 }, +] + +[[package]] +name = "async-lru" +version = "2.0.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b2/4d/71ec4d3939dc755264f680f6c2b4906423a304c3d18e96853f0a595dfe97/async_lru-2.0.5.tar.gz", hash = "sha256:481d52ccdd27275f42c43a928b4a50c3bfb2d67af4e78b170e3e0bb39c66e5bb", size = 10380 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/49/d10027df9fce941cb8184e78a02857af36360d33e1721df81c5ed2179a1a/async_lru-2.0.5-py3-none-any.whl", hash = "sha256:ab95404d8d2605310d345932697371a5f40def0487c03d6d0ad9138de52c9943", size = 6069 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 }, +] + +[[package]] +name = "babel" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytz", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, +] + +[[package]] +name = "backcall" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", size = 18041 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", size = 11157 }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.13.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285 }, +] + +[[package]] +name = "bleach" +version = "6.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "six", marker = "python_full_version < '3.9'" }, + { name = "webencodings", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/10/77f32b088738f40d4f5be801daa5f327879eadd4562f36a2b5ab975ae571/bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe", size = 202119 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/63/da7237f805089ecc28a3f36bca6a21c31fcbc2eb380f3b8f1be3312abd14/bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6", size = 162750 }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] + +[[package]] +name = "bleach" +version = "6.2.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "webencodings", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406 }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618 }, +] + +[[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 } +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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, + { url = "https://files.pythonhosted.org/packages/48/08/15bf6b43ae9bd06f6b00ad8a91f5a8fe1069d4c9fab550a866755402724e/cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", size = 182457 }, + { url = "https://files.pythonhosted.org/packages/c2/5b/f1523dd545f92f7df468e5f653ffa4df30ac222f3c884e51e139878f1cb5/cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", size = 425932 }, + { url = "https://files.pythonhosted.org/packages/53/93/7e547ab4105969cc8c93b38a667b82a835dd2cc78f3a7dad6130cfd41e1d/cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", size = 448585 }, + { url = "https://files.pythonhosted.org/packages/56/c4/a308f2c332006206bb511de219efeff090e9d63529ba0a77aae72e82248b/cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", size = 456268 }, + { url = "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", size = 436592 }, + { url = "https://files.pythonhosted.org/packages/bb/19/b51af9f4a4faa4a8ac5a0e5d5c2522dcd9703d07fac69da34a36c4d960d3/cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", size = 446512 }, + { url = "https://files.pythonhosted.org/packages/e2/63/2bed8323890cb613bbecda807688a31ed11a7fe7afe31f8faaae0206a9a3/cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", size = 171576 }, + { url = "https://files.pythonhosted.org/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", size = 181229 }, + { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220 }, + { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605 }, + { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910 }, + { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200 }, + { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565 }, + { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635 }, + { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218 }, + { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486 }, + { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911 }, + { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632 }, + { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820 }, + { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290 }, +] + +[[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 } +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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445 }, + { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106 }, + { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357 }, + { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776 }, + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622 }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435 }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653 }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231 }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243 }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442 }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147 }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057 }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454 }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174 }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166 }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064 }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641 }, + { url = "https://files.pythonhosted.org/packages/4c/fd/f700cfd4ad876def96d2c769d8a32d808b12d1010b6003dc6639157f99ee/charset_normalizer-3.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb", size = 198257 }, + { url = "https://files.pythonhosted.org/packages/3a/95/6eec4cbbbd119e6a402e3bfd16246785cc52ce64cf21af2ecdf7b3a08e91/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a", size = 143453 }, + { url = "https://files.pythonhosted.org/packages/b6/b3/d4f913660383b3d93dbe6f687a312ea9f7e89879ae883c4e8942048174d4/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45", size = 153130 }, + { url = "https://files.pythonhosted.org/packages/e5/69/7540141529eabc55bf19cc05cd9b61c2078bebfcdbd3e799af99b777fc28/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5", size = 145688 }, + { url = "https://files.pythonhosted.org/packages/2e/bb/d76d3d6e340fb0967c43c564101e28a78c9a363ea62f736a68af59ee3683/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1", size = 147418 }, + { url = "https://files.pythonhosted.org/packages/3e/ef/b7c1f39c0dc3808160c8b72e0209c2479393966313bfebc833533cfff9cc/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027", size = 150066 }, + { url = "https://files.pythonhosted.org/packages/20/26/4e47cc23d2a4a5eb6ed7d6f0f8cda87d753e2f8abc936d5cf5ad2aae8518/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b", size = 144499 }, + { url = "https://files.pythonhosted.org/packages/d7/9c/efdf59dd46593cecad0548d36a702683a0bdc056793398a9cd1e1546ad21/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455", size = 152954 }, + { url = "https://files.pythonhosted.org/packages/59/b3/4e8b73f7299d9aaabd7cd26db4a765f741b8e57df97b034bb8de15609002/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01", size = 155876 }, + { url = "https://files.pythonhosted.org/packages/53/cb/6fa0ccf941a069adce3edb8a1e430bc80e4929f4d43b5140fdf8628bdf7d/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58", size = 153186 }, + { url = "https://files.pythonhosted.org/packages/ac/c6/80b93fabc626b75b1665ffe405e28c3cef0aae9237c5c05f15955af4edd8/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681", size = 148007 }, + { url = "https://files.pythonhosted.org/packages/41/eb/c7367ac326a2628e4f05b5c737c86fe4a8eb3ecc597a4243fc65720b3eeb/charset_normalizer-3.4.2-cp38-cp38-win32.whl", hash = "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7", size = 97923 }, + { url = "https://files.pythonhosted.org/packages/7c/02/1c82646582ccf2c757fa6af69b1a3ea88744b8d2b4ab93b7686b2533e023/charset_normalizer-3.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a", size = 105020 }, + { url = "https://files.pythonhosted.org/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671 }, + { url = "https://files.pythonhosted.org/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744 }, + { url = "https://files.pythonhosted.org/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993 }, + { url = "https://files.pythonhosted.org/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", size = 147382 }, + { url = "https://files.pythonhosted.org/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", size = 149536 }, + { url = "https://files.pythonhosted.org/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", size = 151349 }, + { url = "https://files.pythonhosted.org/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", size = 146365 }, + { url = "https://files.pythonhosted.org/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", size = 154499 }, + { url = "https://files.pythonhosted.org/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", size = 157735 }, + { url = "https://files.pythonhosted.org/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", size = 154786 }, + { url = "https://files.pythonhosted.org/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", size = 150203 }, + { url = "https://files.pythonhosted.org/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", size = 98436 }, + { url = "https://files.pythonhosted.org/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", size = 105772 }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626 }, +] + +[[package]] +name = "chempy" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dot2tex" }, + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pulp" }, + { name = "pyneqsys" }, + { name = "pyodesys" }, + { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "quantities", version = "0.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "quantities", version = "0.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "sym" }, + { name = "sympy", version = "1.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/29/641d538639c99042da07b33fef7c8cb4412e239f1d5da02c6c072b669538/chempy-0.9.0.tar.gz", hash = "sha256:3ba07d597fef672f3dea4c3ce81e64683f90afd263a7962a6d0db2ab8d9a0204", size = 184714 } + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "comm" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180 }, +] + +[[package]] +name = "contourpy" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207 }, + { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428 }, + { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304 }, + { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655 }, + { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430 }, + { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672 }, + { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145 }, + { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542 }, + { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974 }, + { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613 }, + { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603 }, + { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037 }, + { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274 }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801 }, + { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821 }, + { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121 }, + { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590 }, + { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534 }, + { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799 }, + { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739 }, + { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171 }, + { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182 }, + { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869 }, + { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756 }, + { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441 }, + { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294 }, + { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678 }, + { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023 }, + { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380 }, + { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830 }, + { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038 }, + { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797 }, + { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124 }, + { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787 }, + { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031 }, + { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949 }, + { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396 }, + { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598 }, + { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436 }, + { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629 }, + { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117 }, + { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855 }, + { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597 }, + { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031 }, + { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965 }, + { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493 }, + { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240 }, + { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043 }, + { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247 }, + { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029 }, + { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043 }, +] + +[[package]] +name = "contourpy" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366 }, + { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226 }, + { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460 }, + { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623 }, + { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761 }, + { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015 }, + { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672 }, + { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688 }, + { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145 }, + { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019 }, + { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356 }, + { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915 }, + { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443 }, + { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548 }, + { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118 }, + { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162 }, + { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396 }, + { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297 }, + { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808 }, + { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181 }, + { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838 }, + { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549 }, + { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177 }, + { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735 }, + { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679 }, + { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549 }, + { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068 }, + { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833 }, + { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681 }, + { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283 }, + { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879 }, + { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573 }, + { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184 }, + { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262 }, + { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806 }, + { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710 }, + { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107 }, + { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458 }, + { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643 }, + { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301 }, + { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972 }, + { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375 }, + { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188 }, + { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644 }, + { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141 }, + { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469 }, + { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894 }, + { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829 }, + { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518 }, + { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350 }, + { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167 }, + { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279 }, + { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519 }, + { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922 }, + { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017 }, + { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773 }, + { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353 }, + { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817 }, + { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886 }, + { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008 }, + { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690 }, + { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894 }, + { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099 }, + { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838 }, +] + +[[package]] +name = "contourpy" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551 }, + { url = "https://files.pythonhosted.org/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399 }, + { url = "https://files.pythonhosted.org/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061 }, + { url = "https://files.pythonhosted.org/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956 }, + { url = "https://files.pythonhosted.org/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872 }, + { url = "https://files.pythonhosted.org/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027 }, + { url = "https://files.pythonhosted.org/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641 }, + { url = "https://files.pythonhosted.org/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075 }, + { url = "https://files.pythonhosted.org/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534 }, + { url = "https://files.pythonhosted.org/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188 }, + { url = "https://files.pythonhosted.org/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636 }, + { url = "https://files.pythonhosted.org/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636 }, + { url = "https://files.pythonhosted.org/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053 }, + { url = "https://files.pythonhosted.org/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985 }, + { url = "https://files.pythonhosted.org/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750 }, + { url = "https://files.pythonhosted.org/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246 }, + { url = "https://files.pythonhosted.org/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728 }, + { url = "https://files.pythonhosted.org/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762 }, + { url = "https://files.pythonhosted.org/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196 }, + { url = "https://files.pythonhosted.org/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017 }, + { url = "https://files.pythonhosted.org/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580 }, + { url = "https://files.pythonhosted.org/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530 }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688 }, + { url = "https://files.pythonhosted.org/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331 }, + { url = "https://files.pythonhosted.org/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963 }, + { url = "https://files.pythonhosted.org/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681 }, + { url = "https://files.pythonhosted.org/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674 }, + { url = "https://files.pythonhosted.org/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480 }, + { url = "https://files.pythonhosted.org/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489 }, + { url = "https://files.pythonhosted.org/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042 }, + { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630 }, + { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670 }, + { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694 }, + { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986 }, + { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060 }, + { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747 }, + { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895 }, + { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098 }, + { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535 }, + { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096 }, + { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090 }, + { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643 }, + { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443 }, + { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865 }, + { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162 }, + { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355 }, + { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935 }, + { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168 }, + { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550 }, + { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214 }, + { url = "https://files.pythonhosted.org/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681 }, + { url = "https://files.pythonhosted.org/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101 }, + { url = "https://files.pythonhosted.org/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599 }, + { url = "https://files.pythonhosted.org/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807 }, + { url = "https://files.pythonhosted.org/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729 }, + { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791 }, +] + +[[package]] +name = "curandrtc" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "thrustrtc" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b4/4ff819758295877ae96d47ddc4e659a67d31e1864288143791d9fc8c489c/CURandRTC-0.1.7-py3-none-any.whl", hash = "sha256:bd1d92867da794a6ed913df18867c8a4a370639370cb028a532c05fd4ea35ac2", size = 75824 }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, +] + +[[package]] +name = "debugpy" +version = "1.8.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/75/087fe07d40f490a78782ff3b0a30e3968936854105487decdb33446d4b0e/debugpy-1.8.14.tar.gz", hash = "sha256:7cd287184318416850aa8b60ac90105837bb1e59531898c07569d197d2ed5322", size = 1641444 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/df/156df75a41aaebd97cee9d3870fe68f8001b6c1c4ca023e221cfce69bece/debugpy-1.8.14-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:93fee753097e85623cab1c0e6a68c76308cd9f13ffdf44127e6fab4fbf024339", size = 2076510 }, + { url = "https://files.pythonhosted.org/packages/69/cd/4fc391607bca0996db5f3658762106e3d2427beaef9bfd363fd370a3c054/debugpy-1.8.14-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d937d93ae4fa51cdc94d3e865f535f185d5f9748efb41d0d49e33bf3365bd79", size = 3559614 }, + { url = "https://files.pythonhosted.org/packages/1a/42/4e6d2b9d63e002db79edfd0cb5656f1c403958915e0e73ab3e9220012eec/debugpy-1.8.14-cp310-cp310-win32.whl", hash = "sha256:c442f20577b38cc7a9aafecffe1094f78f07fb8423c3dddb384e6b8f49fd2987", size = 5208588 }, + { url = "https://files.pythonhosted.org/packages/97/b1/cc9e4e5faadc9d00df1a64a3c2d5c5f4b9df28196c39ada06361c5141f89/debugpy-1.8.14-cp310-cp310-win_amd64.whl", hash = "sha256:f117dedda6d969c5c9483e23f573b38f4e39412845c7bc487b6f2648df30fe84", size = 5241043 }, + { url = "https://files.pythonhosted.org/packages/67/e8/57fe0c86915671fd6a3d2d8746e40485fd55e8d9e682388fbb3a3d42b86f/debugpy-1.8.14-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:1b2ac8c13b2645e0b1eaf30e816404990fbdb168e193322be8f545e8c01644a9", size = 2175064 }, + { url = "https://files.pythonhosted.org/packages/3b/97/2b2fd1b1c9569c6764ccdb650a6f752e4ac31be465049563c9eb127a8487/debugpy-1.8.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf431c343a99384ac7eab2f763980724834f933a271e90496944195318c619e2", size = 3132359 }, + { url = "https://files.pythonhosted.org/packages/c0/ee/b825c87ed06256ee2a7ed8bab8fb3bb5851293bf9465409fdffc6261c426/debugpy-1.8.14-cp311-cp311-win32.whl", hash = "sha256:c99295c76161ad8d507b413cd33422d7c542889fbb73035889420ac1fad354f2", size = 5133269 }, + { url = "https://files.pythonhosted.org/packages/d5/a6/6c70cd15afa43d37839d60f324213843174c1d1e6bb616bd89f7c1341bac/debugpy-1.8.14-cp311-cp311-win_amd64.whl", hash = "sha256:7816acea4a46d7e4e50ad8d09d963a680ecc814ae31cdef3622eb05ccacf7b01", size = 5158156 }, + { url = "https://files.pythonhosted.org/packages/d9/2a/ac2df0eda4898f29c46eb6713a5148e6f8b2b389c8ec9e425a4a1d67bf07/debugpy-1.8.14-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:8899c17920d089cfa23e6005ad9f22582fd86f144b23acb9feeda59e84405b84", size = 2501268 }, + { url = "https://files.pythonhosted.org/packages/10/53/0a0cb5d79dd9f7039169f8bf94a144ad3efa52cc519940b3b7dde23bcb89/debugpy-1.8.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6bb5c0dcf80ad5dbc7b7d6eac484e2af34bdacdf81df09b6a3e62792b722826", size = 4221077 }, + { url = "https://files.pythonhosted.org/packages/f8/d5/84e01821f362327bf4828728aa31e907a2eca7c78cd7c6ec062780d249f8/debugpy-1.8.14-cp312-cp312-win32.whl", hash = "sha256:281d44d248a0e1791ad0eafdbbd2912ff0de9eec48022a5bfbc332957487ed3f", size = 5255127 }, + { url = "https://files.pythonhosted.org/packages/33/16/1ed929d812c758295cac7f9cf3dab5c73439c83d9091f2d91871e648093e/debugpy-1.8.14-cp312-cp312-win_amd64.whl", hash = "sha256:5aa56ef8538893e4502a7d79047fe39b1dae08d9ae257074c6464a7b290b806f", size = 5297249 }, + { url = "https://files.pythonhosted.org/packages/4d/e4/395c792b243f2367d84202dc33689aa3d910fb9826a7491ba20fc9e261f5/debugpy-1.8.14-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:329a15d0660ee09fec6786acdb6e0443d595f64f5d096fc3e3ccf09a4259033f", size = 2485676 }, + { url = "https://files.pythonhosted.org/packages/ba/f1/6f2ee3f991327ad9e4c2f8b82611a467052a0fb0e247390192580e89f7ff/debugpy-1.8.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f920c7f9af409d90f5fd26e313e119d908b0dd2952c2393cd3247a462331f15", size = 4217514 }, + { url = "https://files.pythonhosted.org/packages/79/28/b9d146f8f2dc535c236ee09ad3e5ac899adb39d7a19b49f03ac95d216beb/debugpy-1.8.14-cp313-cp313-win32.whl", hash = "sha256:3784ec6e8600c66cbdd4ca2726c72d8ca781e94bce2f396cc606d458146f8f4e", size = 5254756 }, + { url = "https://files.pythonhosted.org/packages/e0/62/a7b4a57013eac4ccaef6977966e6bec5c63906dd25a86e35f155952e29a1/debugpy-1.8.14-cp313-cp313-win_amd64.whl", hash = "sha256:684eaf43c95a3ec39a96f1f5195a7ff3d4144e4a18d69bb66beeb1a6de605d6e", size = 5297119 }, + { url = "https://files.pythonhosted.org/packages/c8/8e/08924875dc5f0ae5c15684376256b0ff0507ef920d61a33bd1222619b159/debugpy-1.8.14-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:d5582bcbe42917bc6bbe5c12db1bffdf21f6bfc28d4554b738bf08d50dc0c8c3", size = 2077185 }, + { url = "https://files.pythonhosted.org/packages/49/dc/6d7f8e0cce44309d3b5a701bca15a9076d0d02a99df8e629580205e008fb/debugpy-1.8.14-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5349b7c3735b766a281873fbe32ca9cca343d4cc11ba4a743f84cb854339ff35", size = 3631418 }, + { url = "https://files.pythonhosted.org/packages/99/a1/39c036ab61c6d87b9e6fba21a851b7fb10d8bbaa60f5558c979496d17037/debugpy-1.8.14-cp38-cp38-win32.whl", hash = "sha256:7118d462fe9724c887d355eef395fae68bc764fd862cdca94e70dcb9ade8a23d", size = 5212840 }, + { url = "https://files.pythonhosted.org/packages/f1/8b/675a183a51ebc6ae729b288cc65aa1f686a91a4e9e760bed244f8caa07fd/debugpy-1.8.14-cp38-cp38-win_amd64.whl", hash = "sha256:d235e4fa78af2de4e5609073972700523e372cf5601742449970110d565ca28c", size = 5246434 }, + { url = "https://files.pythonhosted.org/packages/85/6f/96ba96545f55b6a675afa08c96b42810de9b18c7ad17446bbec82762127a/debugpy-1.8.14-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:413512d35ff52c2fb0fd2d65e69f373ffd24f0ecb1fac514c04a668599c5ce7f", size = 2077696 }, + { url = "https://files.pythonhosted.org/packages/fa/84/f378a2dd837d94de3c85bca14f1db79f8fcad7e20b108b40d59da56a6d22/debugpy-1.8.14-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c9156f7524a0d70b7a7e22b2e311d8ba76a15496fb00730e46dcdeedb9e1eea", size = 3554846 }, + { url = "https://files.pythonhosted.org/packages/db/52/88824fe5d6893f59933f664c6e12783749ab537a2101baf5c713164d8aa2/debugpy-1.8.14-cp39-cp39-win32.whl", hash = "sha256:b44985f97cc3dd9d52c42eb59ee9d7ee0c4e7ecd62bca704891f997de4cef23d", size = 5209350 }, + { url = "https://files.pythonhosted.org/packages/41/35/72e9399be24a04cb72cfe1284572c9fcd1d742c7fa23786925c18fa54ad8/debugpy-1.8.14-cp39-cp39-win_amd64.whl", hash = "sha256:b1528cfee6c1b1c698eb10b6b096c598738a8238822d218173d21c3086de8123", size = 5241852 }, + { url = "https://files.pythonhosted.org/packages/97/1a/481f33c37ee3ac8040d3d51fc4c4e4e7e61cb08b8bc8971d6032acc2279f/debugpy-1.8.14-py2.py3-none-any.whl", hash = "sha256:5cd9a579d553b6cb9759a7908a41988ee6280b961f24f63336835d9418216a20", size = 5256230 }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190 }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604 }, +] + +[[package]] +name = "dot2tex" +version = "2.11.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/03/a0ce345bb4b816fffb9107dcbad2f9bd1dd2db314b9fdb782cd398c95c96/dot2tex-2.11.3.tar.gz", hash = "sha256:299a2af05aee5bbe0257a562a506a93e279293d5c38f28d08ab8acb3233fe7ce", size = 660914 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/9e/26e11dfd9762eda401181b4cf388de5421d4ccfdddef0ddc1a8c9256e072/dot2tex-2.11.3-py2.py3-none-any.whl", hash = "sha256:6a1f451823b27d331edca733c7f486a1849e97e77b4bafd562443f5c6e6583e2", size = 36472 }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674 }, +] + +[[package]] +name = "executing" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702 }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924 }, +] + +[[package]] +name = "flexcache" +version = "0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/b0/8a21e330561c65653d010ef112bf38f60890051d244ede197ddaa08e50c1/flexcache-0.3.tar.gz", hash = "sha256:18743bd5a0621bfe2cf8d519e4c3bfdf57a269c15d1ced3fb4b64e0ff4600656", size = 15816 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl", hash = "sha256:d43c9fea82336af6e0115e308d9d33a185390b8346a017564611f1466dcd2e32", size = 13263 }, +] + +[[package]] +name = "flexparser" +version = "0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/99/b4de7e39e8eaf8207ba1a8fa2241dd98b2ba72ae6e16960d8351736d8702/flexparser-0.4.tar.gz", hash = "sha256:266d98905595be2ccc5da964fe0a2c3526fbbffdc45b65b3146d75db992ef6b2", size = 31799 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl", hash = "sha256:3738b456192dcb3e15620f324c447721023c0293f6af9955b481e91d00179846", size = 27625 }, +] + +[[package]] +name = "fonttools" +version = "4.57.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/03/2d/a9a0b6e3a0cf6bd502e64fc16d894269011930cabfc89aee20d1635b1441/fonttools-4.57.0.tar.gz", hash = "sha256:727ece10e065be2f9dd239d15dd5d60a66e17eac11aea47d447f9f03fdbc42de", size = 3492448 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/17/3ddfd1881878b3f856065130bb603f5922e81ae8a4eb53bce0ea78f765a8/fonttools-4.57.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:babe8d1eb059a53e560e7bf29f8e8f4accc8b6cfb9b5fd10e485bde77e71ef41", size = 2756260 }, + { url = "https://files.pythonhosted.org/packages/26/2b/6957890c52c030b0bf9e0add53e5badab4682c6ff024fac9a332bb2ae063/fonttools-4.57.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:81aa97669cd726349eb7bd43ca540cf418b279ee3caba5e2e295fb4e8f841c02", size = 2284691 }, + { url = "https://files.pythonhosted.org/packages/cc/8e/c043b4081774e5eb06a834cedfdb7d432b4935bc8c4acf27207bdc34dfc4/fonttools-4.57.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0e9618630edd1910ad4f07f60d77c184b2f572c8ee43305ea3265675cbbfe7e", size = 4566077 }, + { url = "https://files.pythonhosted.org/packages/59/bc/e16ae5d9eee6c70830ce11d1e0b23d6018ddfeb28025fda092cae7889c8b/fonttools-4.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34687a5d21f1d688d7d8d416cb4c5b9c87fca8a1797ec0d74b9fdebfa55c09ab", size = 4608729 }, + { url = "https://files.pythonhosted.org/packages/25/13/e557bf10bb38e4e4c436d3a9627aadf691bc7392ae460910447fda5fad2b/fonttools-4.57.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:69ab81b66ebaa8d430ba56c7a5f9abe0183afefd3a2d6e483060343398b13fb1", size = 4759646 }, + { url = "https://files.pythonhosted.org/packages/bc/c9/5e2952214d4a8e31026bf80beb18187199b7001e60e99a6ce19773249124/fonttools-4.57.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d639397de852f2ccfb3134b152c741406752640a266d9c1365b0f23d7b88077f", size = 4941652 }, + { url = "https://files.pythonhosted.org/packages/df/04/e80242b3d9ec91a1f785d949edc277a13ecfdcfae744de4b170df9ed77d8/fonttools-4.57.0-cp310-cp310-win32.whl", hash = "sha256:cc066cb98b912f525ae901a24cd381a656f024f76203bc85f78fcc9e66ae5aec", size = 2159432 }, + { url = "https://files.pythonhosted.org/packages/33/ba/e858cdca275daf16e03c0362aa43734ea71104c3b356b2100b98543dba1b/fonttools-4.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:7a64edd3ff6a7f711a15bd70b4458611fb240176ec11ad8845ccbab4fe6745db", size = 2203869 }, + { url = "https://files.pythonhosted.org/packages/81/1f/e67c99aa3c6d3d2f93d956627e62a57ae0d35dc42f26611ea2a91053f6d6/fonttools-4.57.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3871349303bdec958360eedb619169a779956503ffb4543bb3e6211e09b647c4", size = 2757392 }, + { url = "https://files.pythonhosted.org/packages/aa/f1/f75770d0ddc67db504850898d96d75adde238c35313409bfcd8db4e4a5fe/fonttools-4.57.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c59375e85126b15a90fcba3443eaac58f3073ba091f02410eaa286da9ad80ed8", size = 2285609 }, + { url = "https://files.pythonhosted.org/packages/f5/d3/bc34e4953cb204bae0c50b527307dce559b810e624a733351a654cfc318e/fonttools-4.57.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967b65232e104f4b0f6370a62eb33089e00024f2ce143aecbf9755649421c683", size = 4873292 }, + { url = "https://files.pythonhosted.org/packages/41/b8/d5933559303a4ab18c799105f4c91ee0318cc95db4a2a09e300116625e7a/fonttools-4.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39acf68abdfc74e19de7485f8f7396fa4d2418efea239b7061d6ed6a2510c746", size = 4902503 }, + { url = "https://files.pythonhosted.org/packages/32/13/acb36bfaa316f481153ce78de1fa3926a8bad42162caa3b049e1afe2408b/fonttools-4.57.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9d077f909f2343daf4495ba22bb0e23b62886e8ec7c109ee8234bdbd678cf344", size = 5077351 }, + { url = "https://files.pythonhosted.org/packages/b5/23/6d383a2ca83b7516d73975d8cca9d81a01acdcaa5e4db8579e4f3de78518/fonttools-4.57.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:46370ac47a1e91895d40e9ad48effbe8e9d9db1a4b80888095bc00e7beaa042f", size = 5275067 }, + { url = "https://files.pythonhosted.org/packages/bc/ca/31b8919c6da0198d5d522f1d26c980201378c087bdd733a359a1e7485769/fonttools-4.57.0-cp311-cp311-win32.whl", hash = "sha256:ca2aed95855506b7ae94e8f1f6217b7673c929e4f4f1217bcaa236253055cb36", size = 2158263 }, + { url = "https://files.pythonhosted.org/packages/13/4c/de2612ea2216eb45cfc8eb91a8501615dd87716feaf5f8fb65cbca576289/fonttools-4.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:17168a4670bbe3775f3f3f72d23ee786bd965395381dfbb70111e25e81505b9d", size = 2204968 }, + { url = "https://files.pythonhosted.org/packages/cb/98/d4bc42d43392982eecaaca117d79845734d675219680cd43070bb001bc1f/fonttools-4.57.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:889e45e976c74abc7256d3064aa7c1295aa283c6bb19810b9f8b604dfe5c7f31", size = 2751824 }, + { url = "https://files.pythonhosted.org/packages/1a/62/7168030eeca3742fecf45f31e63b5ef48969fa230a672216b805f1d61548/fonttools-4.57.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0425c2e052a5f1516c94e5855dbda706ae5a768631e9fcc34e57d074d1b65b92", size = 2283072 }, + { url = "https://files.pythonhosted.org/packages/5d/82/121a26d9646f0986ddb35fbbaf58ef791c25b59ecb63ffea2aab0099044f/fonttools-4.57.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44c26a311be2ac130f40a96769264809d3b0cb297518669db437d1cc82974888", size = 4788020 }, + { url = "https://files.pythonhosted.org/packages/5b/26/e0f2fb662e022d565bbe280a3cfe6dafdaabf58889ff86fdef2d31ff1dde/fonttools-4.57.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c41ba992df5b8d680b89fd84c6a1f2aca2b9f1ae8a67400c8930cd4ea115f6", size = 4859096 }, + { url = "https://files.pythonhosted.org/packages/9e/44/9075e323347b1891cdece4b3f10a3b84a8f4c42a7684077429d9ce842056/fonttools-4.57.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ea1e9e43ca56b0c12440a7c689b1350066595bebcaa83baad05b8b2675129d98", size = 4964356 }, + { url = "https://files.pythonhosted.org/packages/48/28/caa8df32743462fb966be6de6a79d7f30393859636d7732e82efa09fbbb4/fonttools-4.57.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84fd56c78d431606332a0627c16e2a63d243d0d8b05521257d77c6529abe14d8", size = 5226546 }, + { url = "https://files.pythonhosted.org/packages/f6/46/95ab0f0d2e33c5b1a4fc1c0efe5e286ba9359602c0a9907adb1faca44175/fonttools-4.57.0-cp312-cp312-win32.whl", hash = "sha256:f4376819c1c778d59e0a31db5dc6ede854e9edf28bbfa5b756604727f7f800ac", size = 2146776 }, + { url = "https://files.pythonhosted.org/packages/06/5d/1be5424bb305880e1113631f49a55ea7c7da3a5fe02608ca7c16a03a21da/fonttools-4.57.0-cp312-cp312-win_amd64.whl", hash = "sha256:57e30241524879ea10cdf79c737037221f77cc126a8cdc8ff2c94d4a522504b9", size = 2193956 }, + { url = "https://files.pythonhosted.org/packages/e9/2f/11439f3af51e4bb75ac9598c29f8601aa501902dcedf034bdc41f47dd799/fonttools-4.57.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:408ce299696012d503b714778d89aa476f032414ae57e57b42e4b92363e0b8ef", size = 2739175 }, + { url = "https://files.pythonhosted.org/packages/25/52/677b55a4c0972dc3820c8dba20a29c358197a78229daa2ea219fdb19e5d5/fonttools-4.57.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bbceffc80aa02d9e8b99f2a7491ed8c4a783b2fc4020119dc405ca14fb5c758c", size = 2276583 }, + { url = "https://files.pythonhosted.org/packages/64/79/184555f8fa77b827b9460a4acdbbc0b5952bb6915332b84c615c3a236826/fonttools-4.57.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f022601f3ee9e1f6658ed6d184ce27fa5216cee5b82d279e0f0bde5deebece72", size = 4766437 }, + { url = "https://files.pythonhosted.org/packages/f8/ad/c25116352f456c0d1287545a7aa24e98987b6d99c5b0456c4bd14321f20f/fonttools-4.57.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dea5893b58d4637ffa925536462ba626f8a1b9ffbe2f5c272cdf2c6ebadb817", size = 4838431 }, + { url = "https://files.pythonhosted.org/packages/53/ae/398b2a833897297797a44f519c9af911c2136eb7aa27d3f1352c6d1129fa/fonttools-4.57.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dff02c5c8423a657c550b48231d0a48d7e2b2e131088e55983cfe74ccc2c7cc9", size = 4951011 }, + { url = "https://files.pythonhosted.org/packages/b7/5d/7cb31c4bc9ffb9a2bbe8b08f8f53bad94aeb158efad75da645b40b62cb73/fonttools-4.57.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:767604f244dc17c68d3e2dbf98e038d11a18abc078f2d0f84b6c24571d9c0b13", size = 5205679 }, + { url = "https://files.pythonhosted.org/packages/4c/e4/6934513ec2c4d3d69ca1bc3bd34d5c69dafcbf68c15388dd3bb062daf345/fonttools-4.57.0-cp313-cp313-win32.whl", hash = "sha256:8e2e12d0d862f43d51e5afb8b9751c77e6bec7d2dc00aad80641364e9df5b199", size = 2144833 }, + { url = "https://files.pythonhosted.org/packages/c4/0d/2177b7fdd23d017bcfb702fd41e47d4573766b9114da2fddbac20dcc4957/fonttools-4.57.0-cp313-cp313-win_amd64.whl", hash = "sha256:f1d6bc9c23356908db712d282acb3eebd4ae5ec6d8b696aa40342b1d84f8e9e3", size = 2190799 }, + { url = "https://files.pythonhosted.org/packages/8a/3f/c16dbbec7221783f37dcc2022d5a55f0d704ffc9feef67930f6eb517e8ce/fonttools-4.57.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9d57b4e23ebbe985125d3f0cabbf286efa191ab60bbadb9326091050d88e8213", size = 2753756 }, + { url = "https://files.pythonhosted.org/packages/48/9f/5b4a3d6aed5430b159dd3494bb992d4e45102affa3725f208e4f0aedc6a3/fonttools-4.57.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:579ba873d7f2a96f78b2e11028f7472146ae181cae0e4d814a37a09e93d5c5cc", size = 2283179 }, + { url = "https://files.pythonhosted.org/packages/17/b2/4e887b674938b4c3848029a4134ac90dd8653ea80b4f464fa1edeae37f25/fonttools-4.57.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e3e1ec10c29bae0ea826b61f265ec5c858c5ba2ce2e69a71a62f285cf8e4595", size = 4647139 }, + { url = "https://files.pythonhosted.org/packages/a5/0e/b6314a09a4d561aaa7e09de43fa700917be91e701f07df6178865962666c/fonttools-4.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1968f2a2003c97c4ce6308dc2498d5fd4364ad309900930aa5a503c9851aec8", size = 4691211 }, + { url = "https://files.pythonhosted.org/packages/bf/1d/b9f4b70d165c25f5c9aee61eb6ae90b0e9b5787b2c0a45e4f3e50a839274/fonttools-4.57.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:aff40f8ac6763d05c2c8f6d240c6dac4bb92640a86d9b0c3f3fff4404f34095c", size = 4873755 }, + { url = "https://files.pythonhosted.org/packages/3b/fa/a731c8f42ae2c6761d1c22bd3c90241d5b2b13cabb70598abc74a828b51f/fonttools-4.57.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d07f1b64008e39fceae7aa99e38df8385d7d24a474a8c9872645c4397b674481", size = 5070072 }, + { url = "https://files.pythonhosted.org/packages/1f/1e/6a988230109a2ba472e5de0a4c3936d49718cfc4b700b6bad53eca414bcf/fonttools-4.57.0-cp38-cp38-win32.whl", hash = "sha256:51d8482e96b28fb28aa8e50b5706f3cee06de85cbe2dce80dbd1917ae22ec5a6", size = 1484098 }, + { url = "https://files.pythonhosted.org/packages/dc/7a/2b3666e8c13d035adf656a8ae391380656144760353c97f74747c64fd3e5/fonttools-4.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:03290e818782e7edb159474144fca11e36a8ed6663d1fcbd5268eb550594fd8e", size = 1529536 }, + { url = "https://files.pythonhosted.org/packages/d2/c7/3bddafbb95447f6fbabdd0b399bf468649321fd4029e356b4f6bd70fbc1b/fonttools-4.57.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7339e6a3283e4b0ade99cade51e97cde3d54cd6d1c3744459e886b66d630c8b3", size = 2758942 }, + { url = "https://files.pythonhosted.org/packages/d4/a2/8dd7771022e365c90e428b1607174c3297d5c0a2cc2cf4cdccb2221945b7/fonttools-4.57.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:05efceb2cb5f6ec92a4180fcb7a64aa8d3385fd49cfbbe459350229d1974f0b1", size = 2285959 }, + { url = "https://files.pythonhosted.org/packages/58/5a/2fd29c5e38b14afe1fae7d472373e66688e7c7a98554252f3cf44371e033/fonttools-4.57.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a97bb05eb24637714a04dee85bdf0ad1941df64fe3b802ee4ac1c284a5f97b7c", size = 4571677 }, + { url = "https://files.pythonhosted.org/packages/bf/30/b77cf81923f1a67ff35d6765a9db4718c0688eb8466c464c96a23a2e28d4/fonttools-4.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:541cb48191a19ceb1a2a4b90c1fcebd22a1ff7491010d3cf840dd3a68aebd654", size = 4616644 }, + { url = "https://files.pythonhosted.org/packages/06/33/376605898d8d553134144dff167506a49694cb0e0cf684c14920fbc1e99f/fonttools-4.57.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:cdef9a056c222d0479a1fdb721430f9efd68268014c54e8166133d2643cb05d9", size = 4761314 }, + { url = "https://files.pythonhosted.org/packages/48/e4/e0e48f5bae04bc1a1c6b4fcd7d1ca12b29f1fe74221534b7ff83ed0db8fe/fonttools-4.57.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3cf97236b192a50a4bf200dc5ba405aa78d4f537a2c6e4c624bb60466d5b03bd", size = 4945563 }, + { url = "https://files.pythonhosted.org/packages/61/98/2dacfc6d70f2d93bde1bbf814286be343cb17f53057130ad3b843144dd00/fonttools-4.57.0-cp39-cp39-win32.whl", hash = "sha256:e952c684274a7714b3160f57ec1d78309f955c6335c04433f07d36c5eb27b1f9", size = 2159997 }, + { url = "https://files.pythonhosted.org/packages/93/fa/e61cc236f40d504532d2becf90c297bfed8e40abc0c8b08375fbb83eff29/fonttools-4.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2a722c0e4bfd9966a11ff55c895c817158fcce1b2b6700205a376403b546ad9", size = 2204508 }, + { url = "https://files.pythonhosted.org/packages/90/27/45f8957c3132917f91aaa56b700bcfc2396be1253f685bd5c68529b6f610/fonttools-4.57.0-py3-none-any.whl", hash = "sha256:3122c604a675513c68bd24c6a8f9091f1c2376d18e8f5fe5a101746c81b3e98f", size = 1093605 }, +] + +[[package]] +name = "fonttools" +version = "4.58.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/9a/cf/4d037663e2a1fe30fddb655d755d76e18624be44ad467c07412c2319ab97/fonttools-4.58.0.tar.gz", hash = "sha256:27423d0606a2c7b336913254bf0b1193ebd471d5f725d665e875c5e88a011a43", size = 3514522 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/07/06d01b7239d6632a0984ef29ab496928531862b827cd3aa78309b205850d/fonttools-4.58.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0bcaa65cddbc7d32c77bd0af0b41fdd6448bad0e84365ca79cf8923c27b21e46", size = 2731632 }, + { url = "https://files.pythonhosted.org/packages/1d/c7/47d26d48d779b1b084ebc0d9ec07035167992578768237ef553a3eecc8db/fonttools-4.58.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:25590272f89e94ab5a292d518c549f3a88e6a34fa1193797b7047dfea111b048", size = 2303941 }, + { url = "https://files.pythonhosted.org/packages/79/2e/ac80c0fea501f1aa93e2b22d72c97a8c0d14239582b7e8c722185a0540a7/fonttools-4.58.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:614435e9a87abe18bd7bc7ceeb8029e8f181c571317161e89fa3e6e0a4f20f5d", size = 4712776 }, + { url = "https://files.pythonhosted.org/packages/f2/5c/b41f9c940dc397ecb41765654efc76e06782bfe0783c3e2affc534be181c/fonttools-4.58.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0154bd86d9a9e880f6e937e4d99c2139a624428dd9852072e12d7a85c79d611e", size = 4743251 }, + { url = "https://files.pythonhosted.org/packages/3d/c4/0d3807d922a788b603a3fff622af53e732464b88baf0049a181a90f9b1c6/fonttools-4.58.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5b3660df0b02c9cebbf7baf66952c2fd055e43e658aceb92cc95ba19e0a5c8b6", size = 4795635 }, + { url = "https://files.pythonhosted.org/packages/46/74/627bed8e2c7e641c9c572f09970b0980e5513fd29e57b394d4aee2261e30/fonttools-4.58.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c43b7f1d0b818427bb1cd20903d1168271abdcde10eb6247b1995c4e1ed63907", size = 4904720 }, + { url = "https://files.pythonhosted.org/packages/f9/f2/7e5d082a98eb61fc0c3055e8a0e061a1eb9fc2d93f0661854bf6cb63c519/fonttools-4.58.0-cp310-cp310-win32.whl", hash = "sha256:5450f40c385cdfa21133245f57b9cf8ce45018a04630a98de61eed8da14b8325", size = 2188180 }, + { url = "https://files.pythonhosted.org/packages/00/33/ffd914e3c3a585003d770457188c8eaf7266b7a1cceb6d234ab543a9f958/fonttools-4.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0553431696eacafee9aefe94dc3c2bf5d658fbdc7fdba5b341c588f935471c6", size = 2233120 }, + { url = "https://files.pythonhosted.org/packages/76/2e/9b9bd943872a50cb182382f8f4a99af92d76e800603d5f73e4343fdce61a/fonttools-4.58.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9345b1bb994476d6034996b31891c0c728c1059c05daa59f9ab57d2a4dce0f84", size = 2751920 }, + { url = "https://files.pythonhosted.org/packages/9b/8c/e8d6375da893125f610826c2e30e6d2597dfb8dad256f8ff5a54f3089fda/fonttools-4.58.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1d93119ace1e2d39ff1340deb71097932f72b21c054bd3da727a3859825e24e5", size = 2313957 }, + { url = "https://files.pythonhosted.org/packages/4f/1b/a29cb00c8c20164b24f88780e298fafd0bbfb25cf8bc7b10c4b69331ad5d/fonttools-4.58.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79c9e4f01bb04f19df272ae35314eb6349fdb2e9497a163cd22a21be999694bd", size = 4913808 }, + { url = "https://files.pythonhosted.org/packages/d1/ab/9b9507b65b15190cbfe1ccd3c08067d79268d8312ef20948b16d9f5aa905/fonttools-4.58.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62ecda1465d38248aaf9bee1c17a21cf0b16aef7d121d7d303dbb320a6fd49c2", size = 4935876 }, + { url = "https://files.pythonhosted.org/packages/15/e4/1395853bc775b0ab06a1c61cf261779afda7baff3f65cf1197bbd21aa149/fonttools-4.58.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:29d0499bff12a26733c05c1bfd07e68465158201624b2fba4a40b23d96c43f94", size = 4974798 }, + { url = "https://files.pythonhosted.org/packages/3c/b9/0358368ef5462f4653a198207b29885bee8d5e23c870f6125450ed88e693/fonttools-4.58.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1871abdb0af582e2d96cc12d88889e3bfa796928f491ec14d34a2e58ca298c7e", size = 5093560 }, + { url = "https://files.pythonhosted.org/packages/11/00/f64bc3659980c41eccf2c371e62eb15b40858f02a41a0e9c6258ef094388/fonttools-4.58.0-cp311-cp311-win32.whl", hash = "sha256:e292485d70402093eb94f6ab7669221743838b8bd4c1f45c84ca76b63338e7bf", size = 2186330 }, + { url = "https://files.pythonhosted.org/packages/c8/a0/0287be13a1ec7733abf292ffbd76417cea78752d4ce10fecf92d8b1252d6/fonttools-4.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:6df3755fcf9ad70a74ad3134bd5c9738f73c9bb701a304b1c809877b11fe701c", size = 2234687 }, + { url = "https://files.pythonhosted.org/packages/6a/4e/1c6b35ec7c04d739df4cf5aace4b7ec284d6af2533a65de21972e2f237d9/fonttools-4.58.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:aa8316798f982c751d71f0025b372151ea36405733b62d0d94d5e7b8dd674fa6", size = 2737502 }, + { url = "https://files.pythonhosted.org/packages/fc/72/c6fcafa3c9ed2b69991ae25a1ba7a3fec8bf74928a96e8229c37faa8eda2/fonttools-4.58.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c6db489511e867633b859b11aefe1b7c0d90281c5bdb903413edbb2ba77b97f1", size = 2307214 }, + { url = "https://files.pythonhosted.org/packages/52/11/1015cedc9878da6d8d1758049749eef857b693e5828d477287a959c8650f/fonttools-4.58.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:107bdb2dacb1f627db3c4b77fb16d065a10fe88978d02b4fc327b9ecf8a62060", size = 4811136 }, + { url = "https://files.pythonhosted.org/packages/32/b9/6a1bc1af6ec17eead5d32e87075e22d0dab001eace0b5a1542d38c6a9483/fonttools-4.58.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba7212068ab20f1128a0475f169068ba8e5b6e35a39ba1980b9f53f6ac9720ac", size = 4876598 }, + { url = "https://files.pythonhosted.org/packages/d8/46/b14584c7ea65ad1609fb9632251016cda8a2cd66b15606753b9f888d3677/fonttools-4.58.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f95ea3b6a3b9962da3c82db73f46d6a6845a6c3f3f968f5293b3ac1864e771c2", size = 4872256 }, + { url = "https://files.pythonhosted.org/packages/05/78/b2105a7812ca4ef9bf180cd741c82f4522316c652ce2a56f788e2eb54b62/fonttools-4.58.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:874f1225cc4ccfeac32009887f722d7f8b107ca5e867dcee067597eef9d4c80b", size = 5028710 }, + { url = "https://files.pythonhosted.org/packages/8c/a9/a38c85ffd30d1f2c7a5460c8abfd1aa66e00c198df3ff0b08117f5c6fcd9/fonttools-4.58.0-cp312-cp312-win32.whl", hash = "sha256:5f3cde64ec99c43260e2e6c4fa70dfb0a5e2c1c1d27a4f4fe4618c16f6c9ff71", size = 2173593 }, + { url = "https://files.pythonhosted.org/packages/66/48/29752962a74b7ed95da976b5a968bba1fe611a4a7e50b9fefa345e6e7025/fonttools-4.58.0-cp312-cp312-win_amd64.whl", hash = "sha256:2aee08e2818de45067109a207cbd1b3072939f77751ef05904d506111df5d824", size = 2223230 }, + { url = "https://files.pythonhosted.org/packages/0c/d7/d77cae11c445916d767cace93ba8283b3f360197d95d7470b90a9e984e10/fonttools-4.58.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4809790f2371d8a08e59e1ce2b734c954cf09742e75642d7f4c46cfdac488fdd", size = 2728320 }, + { url = "https://files.pythonhosted.org/packages/77/48/7d8b3c519ef4b48081d40310262224a38785e39a8610ccb92a229a6f085d/fonttools-4.58.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b00f240280f204ce4546b05ff3515bf8ff47a9cae914c718490025ea2bb9b324", size = 2302570 }, + { url = "https://files.pythonhosted.org/packages/2c/48/156b83eb8fb7261056e448bfda1b495b90e761b28ec23cee10e3e19f1967/fonttools-4.58.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a62015ad463e1925544e9159dd6eefe33ebfb80938d5ab15d8b1c4b354ff47b", size = 4790066 }, + { url = "https://files.pythonhosted.org/packages/60/49/aaecb1b3cea2b9b9c7cea6240d6bc8090feb5489a6fbf93cb68003be979b/fonttools-4.58.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6f6ab58061a811967e3e32e630747fcb823dcc33a9a2c80e2d0d17cb292", size = 4861076 }, + { url = "https://files.pythonhosted.org/packages/dc/c8/97cbb41bee81ea9daf6109e0f3f70a274a3c69418e5ac6b0193f5dacf506/fonttools-4.58.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7be21ac52370b515cdbdd0f400803fd29432a4fa4ddb4244ac8b322e54f36c0", size = 4858394 }, + { url = "https://files.pythonhosted.org/packages/4d/23/c2c231457361f869a7d7374a557208e303b469d48a4a697c0fb249733ea1/fonttools-4.58.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:85836be4c3c4aacf6fcb7a6f263896d0e9ce431da9fa6fe9213d70f221f131c9", size = 5002160 }, + { url = "https://files.pythonhosted.org/packages/a9/e0/c2262f941a43b810c5c192db94b5d1ce8eda91bec2757f7e2416398f4072/fonttools-4.58.0-cp313-cp313-win32.whl", hash = "sha256:2b32b7130277bd742cb8c4379a6a303963597d22adea77a940343f3eadbcaa4c", size = 2171919 }, + { url = "https://files.pythonhosted.org/packages/8f/ee/e4aa7bb4ce510ad57a808d321df1bbed1eeb6e1dfb20aaee1a5d9c076849/fonttools-4.58.0-cp313-cp313-win_amd64.whl", hash = "sha256:75e68ee2ec9aaa173cf5e33f243da1d51d653d5e25090f2722bc644a78db0f1a", size = 2222972 }, + { url = "https://files.pythonhosted.org/packages/33/86/e77cfccfded6e106daedf705eedc6d81a708c9ec59f59208a02a878a11cd/fonttools-4.58.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d3e6f49f24ce313fe674213314a5ff7d2839d7d143d9e2f8a6140bf93de59797", size = 2737552 }, + { url = "https://files.pythonhosted.org/packages/cf/ac/020f47dc1498894cd4437f9822c562c2c6b2f41d445cc8c3868ccc5f7b63/fonttools-4.58.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d76bf18647d3aa2a4a539d947a9974e5fb3cd6300ed8d8166b63ab201830d9ed", size = 2306833 }, + { url = "https://files.pythonhosted.org/packages/ea/92/58625bb30840fe8c0364f82836216793a8bb4b38ee317ce667e26e2d17fe/fonttools-4.58.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47ed13683b02be5c5db296dc80fd42cc65e1a694c32b2e482714d50c05f8a00", size = 4696309 }, + { url = "https://files.pythonhosted.org/packages/aa/de/9d0200eeb5dc186691871e5429ccef5fea52d612ffba96f5f4a1bd400498/fonttools-4.58.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d63b51485b2da4e74ca5ad8bec084400300a8e7a30799df14d915fd9441e2824", size = 4726096 }, + { url = "https://files.pythonhosted.org/packages/af/37/3930476d05b39e26509376878447aace1ca84e68a3bdf0e96943df0cd736/fonttools-4.58.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:187db44b7e1d4e042c23265d7cf7599d280af2e8de091e46e89e7ec4c0729ccf", size = 4778868 }, + { url = "https://files.pythonhosted.org/packages/99/5a/eb318d20c77a2ec3fcd52cc54b0fa422bcb00c4d2a08be341bf170c6a367/fonttools-4.58.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fde9b32f5964e2a3a2a58e5269673705eb636f604e3cdde24afb1838bf0a501a", size = 4889938 }, + { url = "https://files.pythonhosted.org/packages/8f/83/cff77c089e695372d3c77133eeb523af7ef37c12647a45e52502bc291dc1/fonttools-4.58.0-cp39-cp39-win32.whl", hash = "sha256:ac2037a74b55d6fb2917460d0d6e1d88d35e26a62c70584271d3388f9ea179e1", size = 1466943 }, + { url = "https://files.pythonhosted.org/packages/28/73/195b62a675594eb106b096f115e4115503153591deafd49a63bef6254730/fonttools-4.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:72b42acf0e5d3d61423ee22a1483647acdaf18378bb13970bf583142a2f4dcb8", size = 1511848 }, + { url = "https://files.pythonhosted.org/packages/9b/1f/4417c26e26a1feab85a27e927f7a73d8aabc84544be8ba108ce4aa90eb1e/fonttools-4.58.0-py3-none-any.whl", hash = "sha256:c96c36880be2268be409df7b08c5b5dacac1827083461a6bc2cb07b8cbcec1d7", size = 1111440 }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784 }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "anyio", version = "4.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { 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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, +] + +[[package]] +name = "imageio" +version = "2.35.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pillow", version = "10.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/bf/d0ddda79819405428f40e4bc9245c2b936a3a2b23d83b6e42d83822ef822/imageio-2.35.1.tar.gz", hash = "sha256:4952dfeef3c3947957f6d5dedb1f4ca31c6e509a476891062396834048aeed2a", size = 389686 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/b7/02adac4e42a691008b5cfb31db98c190e1fc348d1521b9be4429f9454ed1/imageio-2.35.1-py3-none-any.whl", hash = "sha256:6eb2e5244e7a16b85c10b5c2fe0f7bf961b40fcb9f1a9fd1bd1d2c2f8fb3cd65", size = 315378 }, +] + +[[package]] +name = "imageio" +version = "2.37.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pillow", version = "11.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0c/47/57e897fb7094afb2d26e8b2e4af9a45c7cf1a405acdeeca001fdf2c98501/imageio-2.37.0.tar.gz", hash = "sha256:71b57b3669666272c818497aebba2b4c5f20d5b37c81720e5e1a56d59c492996", size = 389963 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/bd/b394387b598ed84d8d0fa90611a90bee0adc2021820ad5729f7ced74a8e2/imageio-2.37.0-py3-none-any.whl", hash = "sha256:11efa15b87bc7871b61590326b2d635439acc321cf7f8ce996f812543ce10eed", size = 315796 }, +] + +[[package]] +name = "importlib-metadata" +version = "8.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656 }, +] + +[[package]] +name = "importlib-resources" +version = "6.4.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115 }, +] + +[[package]] +name = "importlib-resources" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, +] + +[[package]] +name = "ipykernel" +version = "6.29.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "ipython", version = "8.36.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "ipython", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173 }, +] + +[[package]] +name = "ipython" +version = "8.12.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "appnope", marker = "python_full_version < '3.9' and sys_platform == 'darwin'" }, + { name = "backcall", marker = "python_full_version < '3.9'" }, + { name = "colorama", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version < '3.9'" }, + { name = "jedi", marker = "python_full_version < '3.9'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.9'" }, + { name = "pexpect", marker = "python_full_version < '3.9' and sys_platform != 'win32'" }, + { name = "pickleshare", marker = "python_full_version < '3.9'" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.9'" }, + { name = "pygments", marker = "python_full_version < '3.9'" }, + { name = "stack-data", marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/6a/44ef299b1762f5a73841e87fae8a73a8cc8aee538d6dc8c77a5afe1fd2ce/ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363", size = 5470171 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/97/8fe103906cd81bc42d3b0175b5534a9f67dccae47d6451131cf8d0d70bb2/ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c", size = 798307 }, +] + +[[package]] +name = "ipython" +version = "8.18.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version == '3.9.*' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version == '3.9.*'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.9.*'" }, + { name = "jedi", marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib-inline", marker = "python_full_version == '3.9.*'" }, + { name = "pexpect", marker = "python_full_version == '3.9.*' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version == '3.9.*'" }, + { name = "pygments", marker = "python_full_version == '3.9.*'" }, + { name = "stack-data", marker = "python_full_version == '3.9.*'" }, + { name = "traitlets", marker = "python_full_version == '3.9.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161 }, +] + +[[package]] +name = "ipython" +version = "8.36.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version == '3.10.*'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, + { name = "jedi", marker = "python_full_version == '3.10.*'" }, + { name = "matplotlib-inline", marker = "python_full_version == '3.10.*'" }, + { name = "pexpect", marker = "python_full_version == '3.10.*' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version == '3.10.*'" }, + { name = "pygments", marker = "python_full_version == '3.10.*'" }, + { name = "stack-data", marker = "python_full_version == '3.10.*'" }, + { name = "traitlets", marker = "python_full_version == '3.10.*'" }, + { name = "typing-extensions", marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a2/9f/d9a73710df947b7804bd9d93509463fb3a89e0ddc99c9fcc67279cddbeb6/ipython-8.36.0.tar.gz", hash = "sha256:24658e9fe5c5c819455043235ba59cfffded4a35936eefceceab6b192f7092ff", size = 5604997 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/d7/c1c9f371790b3a181e343c4815a361e5a0cc7d90ef6642d64ba5d05de289/ipython-8.36.0-py3-none-any.whl", hash = "sha256:12b913914d010dcffa2711505ec8be4bf0180742d97f1e5175e51f22086428c1", size = 831074 }, +] + +[[package]] +name = "ipython" +version = "9.2.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version >= '3.11'" }, + { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" }, + { name = "jedi", marker = "python_full_version >= '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" }, + { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" }, + { name = "pygments", marker = "python_full_version >= '3.11'" }, + { name = "stack-data", marker = "python_full_version >= '3.11'" }, + { name = "traitlets", marker = "python_full_version >= '3.11'" }, + { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/02/63a84444a7409b3c0acd1de9ffe524660e0e5d82ee473e78b45e5bfb64a4/ipython-9.2.0.tar.gz", hash = "sha256:62a9373dbc12f28f9feaf4700d052195bf89806279fc8ca11f3f54017d04751b", size = 4424394 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/ce/5e897ee51b7d26ab4e47e5105e7368d40ce6cfae2367acdf3165396d50be/ipython-9.2.0-py3-none-any.whl", hash = "sha256:fef5e33c4a1ae0759e0bba5917c9db4eb8c53fee917b6a526bd973e1ca5159f6", size = 604277 }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments", marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074 }, +] + +[[package]] +name = "ipywidgets" +version = "8.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "comm" }, + { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "ipython", version = "8.36.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "ipython", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyterlab-widgets" }, + { name = "traitlets" }, + { name = "widgetsnbextension" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3e/48/d3dbac45c2814cb73812f98dd6b38bbcc957a4e7bb31d6ea9c03bf94ed87/ipywidgets-8.1.7.tar.gz", hash = "sha256:15f1ac050b9ccbefd45dccfbb2ef6bed0029d8278682d569d71b8dd96bee0376", size = 116721 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/6a/9166369a2f092bd286d24e6307de555d63616e8ddb373ebad2b5635ca4cd/ipywidgets-8.1.7-py3-none-any.whl", hash = "sha256:764f2602d25471c213919b8a1997df04bef869251db4ca8efba1b76b1bd9f7bb", size = 139806 }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321 }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278 }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 }, +] + +[[package]] +name = "joblib" +version = "1.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/64/33/60135848598c076ce4b231e1b1895170f45fbcaeaa2c9d5e38b04db70c35/joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e", size = 2116621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6", size = 301817 }, +] + +[[package]] +name = "joblib" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/fe/0f5a938c54105553436dbff7a61dc4fed4b1b2c98852f8833beaf4d5968f/joblib-1.5.1.tar.gz", hash = "sha256:f4f86e351f39fe3d0d32a9f2c3d8af1ee4cec285aafcb27003dda5205576b444", size = 330475 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746 }, +] + +[[package]] +name = "json5" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/12/be/c6c745ec4c4539b25a278b70e29793f10382947df0d9efba2fa09120895d/json5-0.12.0.tar.gz", hash = "sha256:0b4b6ff56801a1c7dc817b0241bca4ce474a0e6a163bfef3fc594d3fd263ff3a", size = 51907 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/9f/3500910d5a98549e3098807493851eeef2b89cdd3032227558a104dfe926/json5-0.12.0-py3-none-any.whl", hash = "sha256:6d37aa6c08b0609f16e1ec5ff94697e2cbbfbad5ac112afa05794da9ab7810db", size = 36079 }, +] + +[[package]] +name = "jsonpointer" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595 }, +] + +[[package]] +name = "jsonschema" +version = "4.23.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jsonschema-specifications", version = "2023.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jsonschema-specifications", version = "2025.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pkgutil-resolve-name", marker = "python_full_version < '3.9'" }, + { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "rpds-py", version = "0.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "uri-template" }, + { name = "webcolors", version = "24.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "webcolors", version = "24.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2023.12.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/07/44bd408781594c4d0a027666ef27fab1e441b109dc3b76b4f836f8fd04fe/jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c", size = 18482 }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.4.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437 }, +] + +[[package]] +name = "jupyter-client" +version = "8.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105 }, +] + +[[package]] +name = "jupyter-core" +version = "4.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/d9/0d18cbe8d0d2eb165dd0b42266f0e5e31b1f80c3a48031fbef1077c34521/jupyter_core-4.12.0.tar.gz", hash = "sha256:87f39d7642412ae8a52291cc68e71ac01dfa2c735df2701f8108251d51b4f460", size = 74760 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/8f/0e0ad6804c0a021a27410ec997626a7a955c20916454d0205f16eb83de4b/jupyter_core-4.12.0-py3-none-any.whl", hash = "sha256:a54672c539333258495579f6964144924e0aa7b07f7069947bef76d7ea5cb4c1", size = 89940 }, +] + +[[package]] +name = "jupyter-events" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"], marker = "python_full_version < '3.9'" }, + { name = "python-json-logger", marker = "python_full_version < '3.9'" }, + { name = "pyyaml", marker = "python_full_version < '3.9'" }, + { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "rfc3339-validator", marker = "python_full_version < '3.9'" }, + { name = "rfc3986-validator", marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8d/53/7537a1aa558229bb0b1b178d814c9d68a9c697d3aecb808a1cb2646acf1f/jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22", size = 61516 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/94/059180ea70a9a326e1815176b2370da56376da347a796f8c4f0b830208ef/jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960", size = 18777 }, +] + +[[package]] +name = "jupyter-events" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"], marker = "python_full_version >= '3.9'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "python-json-logger", marker = "python_full_version >= '3.9'" }, + { name = "pyyaml", marker = "python_full_version >= '3.9'" }, + { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "rfc3339-validator", marker = "python_full_version >= '3.9'" }, + { name = "rfc3986-validator", marker = "python_full_version >= '3.9'" }, + { name = "traitlets", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430 }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.2.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/b4/3200b0b09c12bc3b72d943d923323c398eff382d1dcc7c0dbc8b74630e40/jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001", size = 48741 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da", size = 69146 }, +] + +[[package]] +name = "jupyter-server" +version = "2.14.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "argon2-cffi", marker = "python_full_version < '3.9'" }, + { name = "jinja2", marker = "python_full_version < '3.9'" }, + { name = "jupyter-client", marker = "python_full_version < '3.9'" }, + { name = "jupyter-core", marker = "python_full_version < '3.9'" }, + { name = "jupyter-events", version = "0.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server-terminals", marker = "python_full_version < '3.9'" }, + { name = "nbconvert", marker = "python_full_version < '3.9'" }, + { name = "nbformat", marker = "python_full_version < '3.9'" }, + { name = "overrides", marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "prometheus-client", version = "0.21.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and os_name == 'nt'" }, + { name = "pyzmq", marker = "python_full_version < '3.9'" }, + { name = "send2trash", marker = "python_full_version < '3.9'" }, + { name = "terminado", marker = "python_full_version < '3.9'" }, + { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, + { name = "websocket-client", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556 }, +] + +[[package]] +name = "jupyter-server" +version = "2.16.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "anyio", version = "4.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "argon2-cffi", marker = "python_full_version >= '3.9'" }, + { name = "jinja2", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-events", version = "0.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyter-server-terminals", marker = "python_full_version >= '3.9'" }, + { name = "nbconvert", marker = "python_full_version >= '3.9'" }, + { name = "nbformat", marker = "python_full_version >= '3.9'" }, + { name = "overrides", marker = "python_full_version >= '3.9'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "prometheus-client", version = "0.22.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and os_name == 'nt'" }, + { name = "pyzmq", marker = "python_full_version >= '3.9'" }, + { name = "send2trash", marker = "python_full_version >= '3.9'" }, + { name = "terminado", marker = "python_full_version >= '3.9'" }, + { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "traitlets", marker = "python_full_version >= '3.9'" }, + { name = "websocket-client", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/41/c8/ba2bbcd758c47f1124c4ca14061e8ce60d9c6fd537faee9534a95f83521a/jupyter_server-2.16.0.tar.gz", hash = "sha256:65d4b44fdf2dcbbdfe0aa1ace4a842d4aaf746a2b7b168134d5aaed35621b7f6", size = 728177 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/1f/5ebbced977171d09a7b0c08a285ff9a20aafb9c51bde07e52349ff1ddd71/jupyter_server-2.16.0-py3-none-any.whl", hash = "sha256:3d8db5be3bc64403b1c65b400a1d7f4647a5ce743f3b20dbdefe8ddb7b55af9e", size = 386904 }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and os_name == 'nt'" }, + { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and os_name == 'nt'" }, + { name = "terminado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656 }, +] + +[[package]] +name = "jupyterlab" +version = "4.3.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "async-lru", version = "2.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "httpx", marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "ipykernel", marker = "python_full_version < '3.9'" }, + { name = "jinja2", marker = "python_full_version < '3.9'" }, + { name = "jupyter-core", marker = "python_full_version < '3.9'" }, + { name = "jupyter-lsp", marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyterlab-server", marker = "python_full_version < '3.9'" }, + { name = "notebook-shim", marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tomli", marker = "python_full_version < '3.9'" }, + { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/bc/3f31ee6568cbf56da0538092ea5b726d6b9d0c08237f4314f2ebfe2157dd/jupyterlab-4.3.7.tar.gz", hash = "sha256:2c7da5778b425f6599ea6b8453cde68faa67c12352f8b62e6690cd4cc54ae843", size = 21827544 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/f5/13ec322810a7d69dd613dff6d5b52cecc98f33bf4d34d5bfe88d4f9f52b0/jupyterlab-4.3.7-py3-none-any.whl", hash = "sha256:17a74ec810cb5546ab26474b6d7223b04b53ec8d63de489e9313b26d5212d805", size = 11681991 }, +] + +[[package]] +name = "jupyterlab" +version = "4.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "async-lru", version = "2.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "httpx", marker = "python_full_version >= '3.9'" }, + { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "ipykernel", marker = "python_full_version >= '3.9'" }, + { name = "jinja2", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-lsp", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyterlab-server", marker = "python_full_version >= '3.9'" }, + { name = "notebook-shim", marker = "python_full_version >= '3.9'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "setuptools", version = "80.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "traitlets", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/3c/12a8b27ff2c3b4005bbb5e11c7747246965776d2b821193e53ffd61f1332/jupyterlab-4.4.2.tar.gz", hash = "sha256:afa9caf28c0cb966488be18e5e8daba9f018a1c4273a406b7d5006344cbc6d16", size = 23030818 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/ae/fbb93f4990b7648849b19112d8b3e7427bbfc9c5cc8fdc6bf14c0e86d104/jupyterlab-4.4.2-py3-none-any.whl", hash = "sha256:857111a50bed68542bf55dca784522fe728f9f88b4fe69e8c585db5c50900419", size = 12294799 }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884 }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.27.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700 }, +] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b9/7d/160595ca88ee87ac6ba95d82177d29ec60aaa63821d3077babb22ce031a5/jupyterlab_widgets-3.0.15.tar.gz", hash = "sha256:2920888a0c2922351a9202817957a68c07d99673504d6cd37345299e971bb08b", size = 213149 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/6a/ca128561b22b60bd5a0c4ea26649e68c8556b82bc70a0c396eebc977fe86/jupyterlab_widgets-3.0.15-py3-none-any.whl", hash = "sha256:d59023d7d7ef71400d51e6fee9a88867f6e65e10a4201605d2d7f3e8f012a31c", size = 216571 }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440 }, + { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758 }, + { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311 }, + { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109 }, + { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814 }, + { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881 }, + { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972 }, + { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787 }, + { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212 }, + { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399 }, + { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688 }, + { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493 }, + { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191 }, + { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644 }, + { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877 }, + { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347 }, + { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442 }, + { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762 }, + { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319 }, + { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260 }, + { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589 }, + { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080 }, + { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049 }, + { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376 }, + { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231 }, + { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634 }, + { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024 }, + { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484 }, + { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078 }, + { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645 }, + { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022 }, + { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536 }, + { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808 }, + { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531 }, + { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894 }, + { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296 }, + { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450 }, + { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168 }, + { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308 }, + { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186 }, + { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877 }, + { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204 }, + { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461 }, + { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358 }, + { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119 }, + { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367 }, + { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884 }, + { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528 }, + { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913 }, + { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627 }, + { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888 }, + { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145 }, + { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448 }, + { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750 }, + { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175 }, + { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963 }, + { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220 }, + { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463 }, + { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842 }, + { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635 }, + { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556 }, + { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364 }, + { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887 }, + { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530 }, + { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325 }, + { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679 }, + { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267 }, + { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236 }, + { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555 }, + { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684 }, + { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811 }, + { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987 }, + { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817 }, + { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538 }, + { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890 }, + { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677 }, + { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339 }, + { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932 }, + { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836 }, + { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449 }, + { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757 }, + { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312 }, + { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966 }, + { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044 }, + { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879 }, + { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751 }, + { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990 }, + { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122 }, + { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126 }, + { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313 }, + { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784 }, + { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988 }, + { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980 }, + { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847 }, + { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494 }, + { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491 }, + { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648 }, + { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257 }, + { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906 }, + { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951 }, + { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715 }, + { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662 }, + { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753 }, + { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564 }, + { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264 }, + { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197 }, + { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080 }, + { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666 }, + { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088 }, + { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321 }, + { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776 }, + { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984 }, + { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811 }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.8" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623 }, + { url = "https://files.pythonhosted.org/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720 }, + { url = "https://files.pythonhosted.org/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413 }, + { url = "https://files.pythonhosted.org/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826 }, + { url = "https://files.pythonhosted.org/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231 }, + { url = "https://files.pythonhosted.org/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938 }, + { url = "https://files.pythonhosted.org/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799 }, + { url = "https://files.pythonhosted.org/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362 }, + { url = "https://files.pythonhosted.org/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695 }, + { url = "https://files.pythonhosted.org/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802 }, + { url = "https://files.pythonhosted.org/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646 }, + { url = "https://files.pythonhosted.org/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260 }, + { url = "https://files.pythonhosted.org/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633 }, + { url = "https://files.pythonhosted.org/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885 }, + { url = "https://files.pythonhosted.org/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175 }, + { url = "https://files.pythonhosted.org/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635 }, + { url = "https://files.pythonhosted.org/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717 }, + { url = "https://files.pythonhosted.org/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413 }, + { url = "https://files.pythonhosted.org/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994 }, + { url = "https://files.pythonhosted.org/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804 }, + { url = "https://files.pythonhosted.org/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690 }, + { url = "https://files.pythonhosted.org/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839 }, + { url = "https://files.pythonhosted.org/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109 }, + { url = "https://files.pythonhosted.org/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269 }, + { url = "https://files.pythonhosted.org/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468 }, + { url = "https://files.pythonhosted.org/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394 }, + { url = "https://files.pythonhosted.org/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901 }, + { url = "https://files.pythonhosted.org/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306 }, + { url = "https://files.pythonhosted.org/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966 }, + { url = "https://files.pythonhosted.org/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311 }, + { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152 }, + { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555 }, + { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067 }, + { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443 }, + { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728 }, + { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388 }, + { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849 }, + { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533 }, + { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898 }, + { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605 }, + { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801 }, + { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077 }, + { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410 }, + { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853 }, + { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424 }, + { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156 }, + { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555 }, + { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071 }, + { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053 }, + { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278 }, + { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139 }, + { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517 }, + { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952 }, + { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132 }, + { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997 }, + { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060 }, + { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471 }, + { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793 }, + { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855 }, + { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430 }, + { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294 }, + { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736 }, + { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194 }, + { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942 }, + { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341 }, + { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455 }, + { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138 }, + { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857 }, + { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129 }, + { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538 }, + { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661 }, + { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710 }, + { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213 }, + { url = "https://files.pythonhosted.org/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403 }, + { url = "https://files.pythonhosted.org/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657 }, + { url = "https://files.pythonhosted.org/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948 }, + { url = "https://files.pythonhosted.org/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186 }, + { url = "https://files.pythonhosted.org/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279 }, + { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762 }, +] + +[[package]] +name = "llvmlite" +version = "0.41.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/01/c6/bc6634da9f58edf91a1a002280c6380f404715245a49a46234b1d9d9585a/llvmlite-0.41.1.tar.gz", hash = "sha256:f19f767a018e6ec89608e1f6b13348fa2fcde657151137cb64e56d48598a92db", size = 146564 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/e2/931d2d35350d3c375d6c43a04982fb5d8f90c15002de024a814d919a1e67/llvmlite-0.41.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c1e1029d47ee66d3a0c4d6088641882f75b93db82bd0e6178f7bd744ebce42b9", size = 31032708 }, + { url = "https://files.pythonhosted.org/packages/47/d5/2d6261a47dd6b1005d60a6e37a3de007ddc15a297f146ee905605e3cbc3e/llvmlite-0.41.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:150d0bc275a8ac664a705135e639178883293cf08c1a38de3bbaa2f693a0a867", size = 28753858 }, + { url = "https://files.pythonhosted.org/packages/da/5e/afce5c757df730be7706ae671f5fce2cacdf4e46eed2b1a916e595453388/llvmlite-0.41.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eee5cf17ec2b4198b509272cf300ee6577229d237c98cc6e63861b08463ddc6", size = 42623412 }, + { url = "https://files.pythonhosted.org/packages/57/7d/ef28d5812f852b93bd2a583d00cdcde56833d31b645ae0eaa7e71eecfb4e/llvmlite-0.41.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd0338da625346538f1173a17cabf21d1e315cf387ca21b294ff209d176e244", size = 43623334 }, + { url = "https://files.pythonhosted.org/packages/48/39/7db84e829b874f90316e9f6d7497f761b9a645abe61f8c9588b292876314/llvmlite-0.41.1-cp310-cp310-win32.whl", hash = "sha256:fa1469901a2e100c17eb8fe2678e34bd4255a3576d1a543421356e9c14d6e2ae", size = 23414330 }, + { url = "https://files.pythonhosted.org/packages/1f/05/cfc9c51aff9adbb6f7df93df3fb20100ee5d9c3d0445ade3df8057e50b0a/llvmlite-0.41.1-cp310-cp310-win_amd64.whl", hash = "sha256:2b76acee82ea0e9304be6be9d4b3840208d050ea0dcad75b1635fa06e949a0ae", size = 28108282 }, + { url = "https://files.pythonhosted.org/packages/96/e0/54b0a58969b208b3a66ed30f560e127f52c3add6027b8e67d0a00ea0b178/llvmlite-0.41.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:210e458723436b2469d61b54b453474e09e12a94453c97ea3fbb0742ba5a83d8", size = 31032706 }, + { url = "https://files.pythonhosted.org/packages/12/f4/9bc78ef5d52cbe595a849d332c872583a6294afff6f5317de6dce4abbe55/llvmlite-0.41.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:855f280e781d49e0640aef4c4af586831ade8f1a6c4df483fb901cbe1a48d127", size = 28753841 }, + { url = "https://files.pythonhosted.org/packages/b5/b0/48caac8ea81d6a11a1917dd98258ea67c9b8a78a31fa45b89ae6aa94e678/llvmlite-0.41.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b67340c62c93a11fae482910dc29163a50dff3dfa88bc874872d28ee604a83be", size = 42623411 }, + { url = "https://files.pythonhosted.org/packages/0a/dd/e10658cb0e4ad8364b37ae2a6187ebb6b3b35e08b36ef9e98790b9f2f437/llvmlite-0.41.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2181bb63ef3c607e6403813421b46982c3ac6bfc1f11fa16a13eaafb46f578e6", size = 43623334 }, + { url = "https://files.pythonhosted.org/packages/14/fe/d3a9c921a2adad2e9f24693754983f290e0dac9410666e802b9dba4d0218/llvmlite-0.41.1-cp311-cp311-win_amd64.whl", hash = "sha256:9564c19b31a0434f01d2025b06b44c7ed422f51e719ab5d24ff03b7560066c9a", size = 28092676 }, + { url = "https://files.pythonhosted.org/packages/04/ad/f5d3f8accf618e136a205de92db49516d1e9a868415164dab407107cece5/llvmlite-0.41.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5940bc901fb0325970415dbede82c0b7f3e35c2d5fd1d5e0047134c2c46b3281", size = 31032702 }, + { url = "https://files.pythonhosted.org/packages/a7/07/c5c053cebc0d16fbbe5329fd10b9d141681fba7a805796e8517a1217d4e8/llvmlite-0.41.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8b0a9a47c28f67a269bb62f6256e63cef28d3c5f13cbae4fab587c3ad506778b", size = 28753852 }, + { url = "https://files.pythonhosted.org/packages/37/c0/2fcbb511e4af6f4bbd053b1ce16ae216ff088f3255add6b516c34175bfbc/llvmlite-0.41.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8afdfa6da33f0b4226af8e64cfc2b28986e005528fbf944d0a24a72acfc9432", size = 42623411 }, + { url = "https://files.pythonhosted.org/packages/46/a5/de824aba87a62e0da43f9b590ac91709d460a61e03f1b430b83ca64b76dc/llvmlite-0.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8454c1133ef701e8c050a59edd85d238ee18bb9a0eb95faf2fca8b909ee3c89a", size = 43623331 }, + { url = "https://files.pythonhosted.org/packages/7e/f0/066eb0d43d276da3fc39cf61ad956293a2d3c97f4e976fcc58d3519862e8/llvmlite-0.41.1-cp38-cp38-win32.whl", hash = "sha256:2d92c51e6e9394d503033ffe3292f5bef1566ab73029ec853861f60ad5c925d0", size = 23414330 }, + { url = "https://files.pythonhosted.org/packages/1b/57/6da776f73951956ece7d8fda605c69d512a6724bb7b255adf9d48ef7941d/llvmlite-0.41.1-cp38-cp38-win_amd64.whl", hash = "sha256:df75594e5a4702b032684d5481db3af990b69c249ccb1d32687b8501f0689432", size = 28108279 }, + { url = "https://files.pythonhosted.org/packages/fc/7a/c6741000d767fed4b339fcd4fa65afbc5fe776473d5f9e9c41eceab0a7c6/llvmlite-0.41.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:04725975e5b2af416d685ea0769f4ecc33f97be541e301054c9f741003085802", size = 31032700 }, + { url = "https://files.pythonhosted.org/packages/8b/66/b3edcd1b2631af2daaf7a09520c5ff863e459eb17dd28f7d4cac63f3532c/llvmlite-0.41.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bf14aa0eb22b58c231243dccf7e7f42f7beec48970f2549b3a6acc737d1a4ba4", size = 28753838 }, + { url = "https://files.pythonhosted.org/packages/d3/5b/5af7cc0d2097ada6372b8b90986b45267b7d137a4fda58d7534d867572b2/llvmlite-0.41.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92c32356f669e036eb01016e883b22add883c60739bc1ebee3a1cc0249a50828", size = 42623409 }, + { url = "https://files.pythonhosted.org/packages/be/a6/55020df7f04666bceb3ccc5dc0cb0812d68d5fdec883ff015a9110928829/llvmlite-0.41.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24091a6b31242bcdd56ae2dbea40007f462260bc9bdf947953acc39dffd54f8f", size = 43623330 }, + { url = "https://files.pythonhosted.org/packages/07/73/0aef09cf017a4f8b9c0eb371d273e7bb3e514992c4f1d8ed09e8f81f4602/llvmlite-0.41.1-cp39-cp39-win32.whl", hash = "sha256:880cb57ca49e862e1cd077104375b9d1dfdc0622596dfa22105f470d7bacb309", size = 23414330 }, + { url = "https://files.pythonhosted.org/packages/88/99/aa829162a871f0f91dba9a0344726449cafbff4e9e55d7a714051cbb6215/llvmlite-0.41.1-cp39-cp39-win_amd64.whl", hash = "sha256:92f093986ab92e71c9ffe334c002f96defc7986efda18397d0f08534f3ebdc4d", size = 28092675 }, +] + +[[package]] +name = "llvmlite" +version = "0.43.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/3d/f513755f285db51ab363a53e898b85562e950f79a2e6767a364530c2f645/llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5", size = 157069 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/ff/6ca7e98998b573b4bd6566f15c35e5c8bea829663a6df0c7aa55ab559da9/llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761", size = 31064408 }, + { url = "https://files.pythonhosted.org/packages/ca/5c/a27f9257f86f0cda3f764ff21d9f4217b9f6a0d45e7a39ecfa7905f524ce/llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc", size = 28793153 }, + { url = "https://files.pythonhosted.org/packages/7e/3c/4410f670ad0a911227ea2ecfcba9f672a77cf1924df5280c4562032ec32d/llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead", size = 42857276 }, + { url = "https://files.pythonhosted.org/packages/c6/21/2ffbab5714e72f2483207b4a1de79b2eecd9debbf666ff4e7067bcc5c134/llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a", size = 43871781 }, + { url = "https://files.pythonhosted.org/packages/f2/26/b5478037c453554a61625ef1125f7e12bb1429ae11c6376f47beba9b0179/llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed", size = 28123487 }, + { url = "https://files.pythonhosted.org/packages/95/8c/de3276d773ab6ce3ad676df5fab5aac19696b2956319d65d7dd88fb10f19/llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98", size = 31064409 }, + { url = "https://files.pythonhosted.org/packages/ee/e1/38deed89ced4cf378c61e232265cfe933ccde56ae83c901aa68b477d14b1/llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57", size = 28793149 }, + { url = "https://files.pythonhosted.org/packages/2f/b2/4429433eb2dc8379e2cb582502dca074c23837f8fd009907f78a24de4c25/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2", size = 42857277 }, + { url = "https://files.pythonhosted.org/packages/6b/99/5d00a7d671b1ba1751fc9f19d3b36f3300774c6eebe2bcdb5f6191763eb4/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749", size = 43871781 }, + { url = "https://files.pythonhosted.org/packages/20/ab/ed5ed3688c6ba4f0b8d789da19fd8e30a9cf7fc5852effe311bc5aefe73e/llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91", size = 28107433 }, + { url = "https://files.pythonhosted.org/packages/0b/67/9443509e5d2b6d8587bae3ede5598fa8bd586b1c7701696663ea8af15b5b/llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7", size = 31064409 }, + { url = "https://files.pythonhosted.org/packages/a2/9c/24139d3712d2d352e300c39c0e00d167472c08b3bd350c3c33d72c88ff8d/llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7", size = 28793145 }, + { url = "https://files.pythonhosted.org/packages/bf/f1/4c205a48488e574ee9f6505d50e84370a978c90f08dab41a42d8f2c576b6/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f", size = 42857276 }, + { url = "https://files.pythonhosted.org/packages/00/5f/323c4d56e8401c50185fd0e875fcf06b71bf825a863699be1eb10aa2a9cb/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844", size = 43871781 }, + { url = "https://files.pythonhosted.org/packages/c6/94/dea10e263655ce78d777e78d904903faae39d1fc440762be4a9dc46bed49/llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9", size = 28107442 }, + { url = "https://files.pythonhosted.org/packages/2a/73/12925b1bbb3c2beb6d96f892ef5b4d742c34f00ddb9f4a125e9e87b22f52/llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c", size = 31064410 }, + { url = "https://files.pythonhosted.org/packages/cc/61/58c70aa0808a8cba825a7d98cc65bef4801b99328fba80837bfcb5fc767f/llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8", size = 28793145 }, + { url = "https://files.pythonhosted.org/packages/c8/c6/9324eb5de2ba9d99cbed853d85ba7a318652a48e077797bec27cf40f911d/llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a", size = 42857276 }, + { url = "https://files.pythonhosted.org/packages/e0/d0/889e9705107db7b1ec0767b03f15d7b95b4c4f9fdf91928ab1c7e9ffacf6/llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867", size = 43871777 }, + { url = "https://files.pythonhosted.org/packages/df/41/73cc26a2634b538cfe813f618c91e7e9960b8c163f8f0c94a2b0f008b9da/llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4", size = 28123489 }, +] + +[[package]] +name = "llvmlite" +version = "0.44.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/89/6a/95a3d3610d5c75293d5dbbb2a76480d5d4eeba641557b69fe90af6c5b84e/llvmlite-0.44.0.tar.gz", hash = "sha256:07667d66a5d150abed9157ab6c0b9393c9356f229784a4385c02f99e94fc94d4", size = 171880 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/75/d4863ddfd8ab5f6e70f4504cf8cc37f4e986ec6910f4ef8502bb7d3c1c71/llvmlite-0.44.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:9fbadbfba8422123bab5535b293da1cf72f9f478a65645ecd73e781f962ca614", size = 28132306 }, + { url = "https://files.pythonhosted.org/packages/37/d9/6e8943e1515d2f1003e8278819ec03e4e653e2eeb71e4d00de6cfe59424e/llvmlite-0.44.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cccf8eb28f24840f2689fb1a45f9c0f7e582dd24e088dcf96e424834af11f791", size = 26201096 }, + { url = "https://files.pythonhosted.org/packages/aa/46/8ffbc114def88cc698906bf5acab54ca9fdf9214fe04aed0e71731fb3688/llvmlite-0.44.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7202b678cdf904823c764ee0fe2dfe38a76981f4c1e51715b4cb5abb6cf1d9e8", size = 42361859 }, + { url = "https://files.pythonhosted.org/packages/30/1c/9366b29ab050a726af13ebaae8d0dff00c3c58562261c79c635ad4f5eb71/llvmlite-0.44.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40526fb5e313d7b96bda4cbb2c85cd5374e04d80732dd36a282d72a560bb6408", size = 41184199 }, + { url = "https://files.pythonhosted.org/packages/69/07/35e7c594b021ecb1938540f5bce543ddd8713cff97f71d81f021221edc1b/llvmlite-0.44.0-cp310-cp310-win_amd64.whl", hash = "sha256:41e3839150db4330e1b2716c0be3b5c4672525b4c9005e17c7597f835f351ce2", size = 30332381 }, + { url = "https://files.pythonhosted.org/packages/b5/e2/86b245397052386595ad726f9742e5223d7aea999b18c518a50e96c3aca4/llvmlite-0.44.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:eed7d5f29136bda63b6d7804c279e2b72e08c952b7c5df61f45db408e0ee52f3", size = 28132305 }, + { url = "https://files.pythonhosted.org/packages/ff/ec/506902dc6870249fbe2466d9cf66d531265d0f3a1157213c8f986250c033/llvmlite-0.44.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ace564d9fa44bb91eb6e6d8e7754977783c68e90a471ea7ce913bff30bd62427", size = 26201090 }, + { url = "https://files.pythonhosted.org/packages/99/fe/d030f1849ebb1f394bb3f7adad5e729b634fb100515594aca25c354ffc62/llvmlite-0.44.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5d22c3bfc842668168a786af4205ec8e3ad29fb1bc03fd11fd48460d0df64c1", size = 42361858 }, + { url = "https://files.pythonhosted.org/packages/d7/7a/ce6174664b9077fc673d172e4c888cb0b128e707e306bc33fff8c2035f0d/llvmlite-0.44.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f01a394e9c9b7b1d4e63c327b096d10f6f0ed149ef53d38a09b3749dcf8c9610", size = 41184200 }, + { url = "https://files.pythonhosted.org/packages/5f/c6/258801143975a6d09a373f2641237992496e15567b907a4d401839d671b8/llvmlite-0.44.0-cp311-cp311-win_amd64.whl", hash = "sha256:d8489634d43c20cd0ad71330dde1d5bc7b9966937a263ff1ec1cebb90dc50955", size = 30331193 }, + { url = "https://files.pythonhosted.org/packages/15/86/e3c3195b92e6e492458f16d233e58a1a812aa2bfbef9bdd0fbafcec85c60/llvmlite-0.44.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:1d671a56acf725bf1b531d5ef76b86660a5ab8ef19bb6a46064a705c6ca80aad", size = 28132297 }, + { url = "https://files.pythonhosted.org/packages/d6/53/373b6b8be67b9221d12b24125fd0ec56b1078b660eeae266ec388a6ac9a0/llvmlite-0.44.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f79a728e0435493611c9f405168682bb75ffd1fbe6fc360733b850c80a026db", size = 26201105 }, + { url = "https://files.pythonhosted.org/packages/cb/da/8341fd3056419441286c8e26bf436923021005ece0bff5f41906476ae514/llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0143a5ef336da14deaa8ec26c5449ad5b6a2b564df82fcef4be040b9cacfea9", size = 42361901 }, + { url = "https://files.pythonhosted.org/packages/53/ad/d79349dc07b8a395a99153d7ce8b01d6fcdc9f8231355a5df55ded649b61/llvmlite-0.44.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d752f89e31b66db6f8da06df8b39f9b91e78c5feea1bf9e8c1fba1d1c24c065d", size = 41184247 }, + { url = "https://files.pythonhosted.org/packages/e2/3b/a9a17366af80127bd09decbe2a54d8974b6d8b274b39bf47fbaedeec6307/llvmlite-0.44.0-cp312-cp312-win_amd64.whl", hash = "sha256:eae7e2d4ca8f88f89d315b48c6b741dcb925d6a1042da694aa16ab3dd4cbd3a1", size = 30332380 }, + { url = "https://files.pythonhosted.org/packages/89/24/4c0ca705a717514c2092b18476e7a12c74d34d875e05e4d742618ebbf449/llvmlite-0.44.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:319bddd44e5f71ae2689859b7203080716448a3cd1128fb144fe5c055219d516", size = 28132306 }, + { url = "https://files.pythonhosted.org/packages/01/cf/1dd5a60ba6aee7122ab9243fd614abcf22f36b0437cbbe1ccf1e3391461c/llvmlite-0.44.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c58867118bad04a0bb22a2e0068c693719658105e40009ffe95c7000fcde88e", size = 26201090 }, + { url = "https://files.pythonhosted.org/packages/d2/1b/656f5a357de7135a3777bd735cc7c9b8f23b4d37465505bd0eaf4be9befe/llvmlite-0.44.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46224058b13c96af1365290bdfebe9a6264ae62fb79b2b55693deed11657a8bf", size = 42361904 }, + { url = "https://files.pythonhosted.org/packages/d8/e1/12c5f20cb9168fb3464a34310411d5ad86e4163c8ff2d14a2b57e5cc6bac/llvmlite-0.44.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa0097052c32bf721a4efc03bd109d335dfa57d9bffb3d4c24cc680711b8b4fc", size = 41184245 }, + { url = "https://files.pythonhosted.org/packages/d0/81/e66fc86539293282fd9cb7c9417438e897f369e79ffb62e1ae5e5154d4dd/llvmlite-0.44.0-cp313-cp313-win_amd64.whl", hash = "sha256:2fb7c4f2fb86cbae6dca3db9ab203eeea0e22d73b99bc2341cdf9de93612e930", size = 30331193 }, +] + +[[package]] +name = "markupsafe" +version = "2.1.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206 }, + { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079 }, + { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620 }, + { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818 }, + { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493 }, + { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630 }, + { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745 }, + { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021 }, + { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659 }, + { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213 }, + { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219 }, + { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098 }, + { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014 }, + { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220 }, + { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756 }, + { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988 }, + { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718 }, + { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317 }, + { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670 }, + { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224 }, + { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215 }, + { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069 }, + { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452 }, + { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462 }, + { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869 }, + { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906 }, + { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296 }, + { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038 }, + { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572 }, + { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127 }, + { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192 }, + { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072 }, + { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928 }, + { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106 }, + { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781 }, + { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518 }, + { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669 }, + { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933 }, + { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656 }, + { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206 }, + { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193 }, + { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073 }, + { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486 }, + { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685 }, + { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338 }, + { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439 }, + { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531 }, + { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823 }, + { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658 }, + { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211 }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } +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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, +] + +[[package]] +name = "matplotlib" +version = "3.7.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "contourpy", version = "1.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "cycler", marker = "python_full_version < '3.9'" }, + { name = "fonttools", version = "4.57.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "pillow", version = "10.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "python-dateutil", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924 }, + { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436 }, + { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849 }, + { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141 }, + { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668 }, + { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088 }, + { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332 }, + { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405 }, + { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506 }, + { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905 }, + { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895 }, + { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830 }, + { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575 }, + { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280 }, + { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429 }, + { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112 }, + { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797 }, + { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549 }, + { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788 }, + { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329 }, + { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813 }, + { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667 }, + { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659 }, + { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408 }, + { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782 }, + { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487 }, + { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051 }, + { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807 }, + { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461 }, + { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471 }, + { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175 }, + { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737 }, + { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916 }, + { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264 }, + { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722 }, + { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343 }, + { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455 }, + { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711 }, + { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285 }, + { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612 }, + { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564 }, + { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336 }, + { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931 }, + { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224 }, + { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250 }, + { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729 }, +] + +[[package]] +name = "matplotlib" +version = "3.9.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "cycler", marker = "python_full_version == '3.9.*'" }, + { name = "fonttools", version = "4.58.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "packaging", marker = "python_full_version == '3.9.*'" }, + { name = "pillow", version = "11.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "python-dateutil", marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089 }, + { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600 }, + { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138 }, + { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711 }, + { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622 }, + { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211 }, + { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430 }, + { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045 }, + { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906 }, + { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873 }, + { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566 }, + { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065 }, + { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131 }, + { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365 }, + { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707 }, + { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761 }, + { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284 }, + { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160 }, + { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499 }, + { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802 }, + { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802 }, + { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880 }, + { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637 }, + { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311 }, + { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989 }, + { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417 }, + { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258 }, + { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849 }, + { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152 }, + { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987 }, + { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919 }, + { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486 }, + { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838 }, + { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492 }, + { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500 }, + { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962 }, + { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995 }, + { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300 }, + { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423 }, + { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624 }, +] + +[[package]] +name = "matplotlib" +version = "3.10.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "cycler", marker = "python_full_version >= '3.10'" }, + { name = "fonttools", version = "4.58.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "kiwisolver", version = "1.4.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pillow", version = "11.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0", size = 34799811 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/ea/2bba25d289d389c7451f331ecd593944b3705f06ddf593fa7be75037d308/matplotlib-3.10.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:213fadd6348d106ca7db99e113f1bea1e65e383c3ba76e8556ba4a3054b65ae7", size = 8167862 }, + { url = "https://files.pythonhosted.org/packages/41/81/cc70b5138c926604e8c9ed810ed4c79e8116ba72e02230852f5c12c87ba2/matplotlib-3.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3bec61cb8221f0ca6313889308326e7bb303d0d302c5cc9e523b2f2e6c73deb", size = 8042149 }, + { url = "https://files.pythonhosted.org/packages/4a/9a/0ff45b6bfa42bb16de597e6058edf2361c298ad5ef93b327728145161bbf/matplotlib-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c21ae75651c0231b3ba014b6d5e08fb969c40cdb5a011e33e99ed0c9ea86ecb", size = 8453719 }, + { url = "https://files.pythonhosted.org/packages/85/c7/1866e972fed6d71ef136efbc980d4d1854ab7ef1ea8152bbd995ca231c81/matplotlib-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e39755580b08e30e3620efc659330eac5d6534ab7eae50fa5e31f53ee4e30", size = 8590801 }, + { url = "https://files.pythonhosted.org/packages/5d/b9/748f6626d534ab7e255bdc39dc22634d337cf3ce200f261b5d65742044a1/matplotlib-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf4636203e1190871d3a73664dea03d26fb019b66692cbfd642faafdad6208e8", size = 9402111 }, + { url = "https://files.pythonhosted.org/packages/1f/78/8bf07bd8fb67ea5665a6af188e70b57fcb2ab67057daa06b85a08e59160a/matplotlib-3.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:fd5641a9bb9d55f4dd2afe897a53b537c834b9012684c8444cc105895c8c16fd", size = 8057213 }, + { url = "https://files.pythonhosted.org/packages/f5/bd/af9f655456f60fe1d575f54fb14704ee299b16e999704817a7645dfce6b0/matplotlib-3.10.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0ef061f74cd488586f552d0c336b2f078d43bc00dc473d2c3e7bfee2272f3fa8", size = 8178873 }, + { url = "https://files.pythonhosted.org/packages/c2/86/e1c86690610661cd716eda5f9d0b35eaf606ae6c9b6736687cfc8f2d0cd8/matplotlib-3.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96985d14dc5f4a736bbea4b9de9afaa735f8a0fc2ca75be2fa9e96b2097369d", size = 8052205 }, + { url = "https://files.pythonhosted.org/packages/54/51/a9f8e49af3883dacddb2da1af5fca1f7468677f1188936452dd9aaaeb9ed/matplotlib-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5f0283da91e9522bdba4d6583ed9d5521566f63729ffb68334f86d0bb98049", size = 8465823 }, + { url = "https://files.pythonhosted.org/packages/e7/e3/c82963a3b86d6e6d5874cbeaa390166458a7f1961bab9feb14d3d1a10f02/matplotlib-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdfa07c0ec58035242bc8b2c8aae37037c9a886370eef6850703d7583e19964b", size = 8606464 }, + { url = "https://files.pythonhosted.org/packages/0e/34/24da1027e7fcdd9e82da3194c470143c551852757a4b473a09a012f5b945/matplotlib-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c0b9849a17bce080a16ebcb80a7b714b5677d0ec32161a2cc0a8e5a6030ae220", size = 9413103 }, + { url = "https://files.pythonhosted.org/packages/a6/da/948a017c3ea13fd4a97afad5fdebe2f5bbc4d28c0654510ce6fd6b06b7bd/matplotlib-3.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:eef6ed6c03717083bc6d69c2d7ee8624205c29a8e6ea5a31cd3492ecdbaee1e1", size = 8065492 }, + { url = "https://files.pythonhosted.org/packages/eb/43/6b80eb47d1071f234ef0c96ca370c2ca621f91c12045f1401b5c9b28a639/matplotlib-3.10.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ab1affc11d1f495ab9e6362b8174a25afc19c081ba5b0775ef00533a4236eea", size = 8179689 }, + { url = "https://files.pythonhosted.org/packages/0f/70/d61a591958325c357204870b5e7b164f93f2a8cca1dc6ce940f563909a13/matplotlib-3.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a818d8bdcafa7ed2eed74487fdb071c09c1ae24152d403952adad11fa3c65b4", size = 8050466 }, + { url = "https://files.pythonhosted.org/packages/e7/75/70c9d2306203148cc7902a961240c5927dd8728afedf35e6a77e105a2985/matplotlib-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748ebc3470c253e770b17d8b0557f0aa85cf8c63fd52f1a61af5b27ec0b7ffee", size = 8456252 }, + { url = "https://files.pythonhosted.org/packages/c4/91/ba0ae1ff4b3f30972ad01cd4a8029e70a0ec3b8ea5be04764b128b66f763/matplotlib-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed70453fd99733293ace1aec568255bc51c6361cb0da94fa5ebf0649fdb2150a", size = 8601321 }, + { url = "https://files.pythonhosted.org/packages/d2/88/d636041eb54a84b889e11872d91f7cbf036b3b0e194a70fa064eb8b04f7a/matplotlib-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dbed9917b44070e55640bd13419de83b4c918e52d97561544814ba463811cbc7", size = 9406972 }, + { url = "https://files.pythonhosted.org/packages/b1/79/0d1c165eac44405a86478082e225fce87874f7198300bbebc55faaf6d28d/matplotlib-3.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:cf37d8c6ef1a48829443e8ba5227b44236d7fcaf7647caa3178a4ff9f7a5be05", size = 8067954 }, + { url = "https://files.pythonhosted.org/packages/3b/c1/23cfb566a74c696a3b338d8955c549900d18fe2b898b6e94d682ca21e7c2/matplotlib-3.10.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f2efccc8dcf2b86fc4ee849eea5dcaecedd0773b30f47980dc0cbeabf26ec84", size = 8180318 }, + { url = "https://files.pythonhosted.org/packages/6c/0c/02f1c3b66b30da9ee343c343acbb6251bef5b01d34fad732446eaadcd108/matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ddbba06a6c126e3301c3d272a99dcbe7f6c24c14024e80307ff03791a5f294e", size = 8051132 }, + { url = "https://files.pythonhosted.org/packages/b4/ab/8db1a5ac9b3a7352fb914133001dae889f9fcecb3146541be46bed41339c/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748302b33ae9326995b238f606e9ed840bf5886ebafcb233775d946aa8107a15", size = 8457633 }, + { url = "https://files.pythonhosted.org/packages/f5/64/41c4367bcaecbc03ef0d2a3ecee58a7065d0a36ae1aa817fe573a2da66d4/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80fcccbef63302c0efd78042ea3c2436104c5b1a4d3ae20f864593696364ac7", size = 8601031 }, + { url = "https://files.pythonhosted.org/packages/12/6f/6cc79e9e5ab89d13ed64da28898e40fe5b105a9ab9c98f83abd24e46d7d7/matplotlib-3.10.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55e46cbfe1f8586adb34f7587c3e4f7dedc59d5226719faf6cb54fc24f2fd52d", size = 9406988 }, + { url = "https://files.pythonhosted.org/packages/b1/0f/eed564407bd4d935ffabf561ed31099ed609e19287409a27b6d336848653/matplotlib-3.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:151d89cb8d33cb23345cd12490c76fd5d18a56581a16d950b48c6ff19bb2ab93", size = 8068034 }, + { url = "https://files.pythonhosted.org/packages/3e/e5/2f14791ff69b12b09e9975e1d116d9578ac684460860ce542c2588cb7a1c/matplotlib-3.10.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c26dd9834e74d164d06433dc7be5d75a1e9890b926b3e57e74fa446e1a62c3e2", size = 8218223 }, + { url = "https://files.pythonhosted.org/packages/5c/08/30a94afd828b6e02d0a52cae4a29d6e9ccfcf4c8b56cc28b021d3588873e/matplotlib-3.10.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:24853dad5b8c84c8c2390fc31ce4858b6df504156893292ce8092d190ef8151d", size = 8094985 }, + { url = "https://files.pythonhosted.org/packages/89/44/f3bc6b53066c889d7a1a3ea8094c13af6a667c5ca6220ec60ecceec2dabe/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68f7878214d369d7d4215e2a9075fef743be38fa401d32e6020bab2dfabaa566", size = 8483109 }, + { url = "https://files.pythonhosted.org/packages/ba/c7/473bc559beec08ebee9f86ca77a844b65747e1a6c2691e8c92e40b9f42a8/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6929fc618cb6db9cb75086f73b3219bbb25920cb24cee2ea7a12b04971a4158", size = 8618082 }, + { url = "https://files.pythonhosted.org/packages/d8/e9/6ce8edd264c8819e37bbed8172e0ccdc7107fe86999b76ab5752276357a4/matplotlib-3.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c7818292a5cc372a2dc4c795e5c356942eb8350b98ef913f7fda51fe175ac5d", size = 9413699 }, + { url = "https://files.pythonhosted.org/packages/1b/92/9a45c91089c3cf690b5badd4be81e392ff086ccca8a1d4e3a08463d8a966/matplotlib-3.10.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4f23ffe95c5667ef8a2b56eea9b53db7f43910fa4a2d5472ae0f72b64deab4d5", size = 8139044 }, + { url = "https://files.pythonhosted.org/packages/3d/d1/f54d43e95384b312ffa4a74a4326c722f3b8187aaaa12e9a84cdf3037131/matplotlib-3.10.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:86ab63d66bbc83fdb6733471d3bff40897c1e9921cba112accd748eee4bce5e4", size = 8162896 }, + { url = "https://files.pythonhosted.org/packages/24/a4/fbfc00c2346177c95b353dcf9b5a004106abe8730a62cb6f27e79df0a698/matplotlib-3.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a48f9c08bf7444b5d2391a83e75edb464ccda3c380384b36532a0962593a1751", size = 8039702 }, + { url = "https://files.pythonhosted.org/packages/6a/b9/59e120d24a2ec5fc2d30646adb2efb4621aab3c6d83d66fb2a7a182db032/matplotlib-3.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb73d8aa75a237457988f9765e4dfe1c0d2453c5ca4eabc897d4309672c8e014", size = 8594298 }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899 }, +] + +[[package]] +name = "mistune" +version = "3.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c4/79/bda47f7dd7c3c55770478d6d02c9960c430b0cf1773b72366ff89126ea31/mistune-3.1.3.tar.gz", hash = "sha256:a7035c21782b2becb6be62f8f25d3df81ccb4d6fa477a6525b15af06539f02a0", size = 94347 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/4d/23c4e4f09da849e127e9f123241946c23c1e30f45a88366879e064211815/mistune-3.1.3-py3-none-any.whl", hash = "sha256:1a32314113cff28aa6432e99e522677c8587fd83e3d51c29b82a52409c842bd9", size = 53410 }, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 }, +] + +[[package]] +name = "nbclient" +version = "0.10.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "jupyter-client", marker = "python_full_version < '3.9'" }, + { name = "jupyter-core", marker = "python_full_version < '3.9'" }, + { name = "nbformat", marker = "python_full_version < '3.9'" }, + { name = "traitlets", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/db/25929926860ba8a3f6123d2d0a235e558e0e4be7b46e9db063a7dfefa0a2/nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68", size = 62273 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/1a/ed6d1299b1a00c1af4a033fdee565f533926d819e084caf0d2832f6f87c6/nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d", size = 25344 }, +] + +[[package]] +name = "nbclient" +version = "0.10.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, + { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, + { name = "nbformat", marker = "python_full_version >= '3.9'" }, + { name = "traitlets", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434 }, +] + +[[package]] +name = "nbconvert" +version = "7.16.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version < '3.9'" }, + { name = "bleach", version = "6.2.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version >= '3.9'" }, + { name = "defusedxml" }, + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "mistune" }, + { name = "nbclient", version = "0.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "nbclient", version = "0.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525 }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454 }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195 }, +] + +[[package]] +name = "notebook" +version = "7.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyterlab", version = "4.3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyterlab-server", marker = "python_full_version < '3.9'" }, + { name = "notebook-shim", marker = "python_full_version < '3.9'" }, + { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/0f/7781fed05f79d1047c039dfd17fbd6e6670bcf5ad330baa997bcc62525b5/notebook-7.3.3.tar.gz", hash = "sha256:707a313fb882d35f921989eb3d204de942ed5132a44e4aa1fe0e8f24bb9dc25d", size = 12758099 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f2/bf/5e5fcf79c559600b738d7577c8360bfd4cfa705400af06f23b3a049e44b6/notebook-7.3.3-py3-none-any.whl", hash = "sha256:b193df0878956562d5171c8e25c9252b8e86c9fcc16163b8ee3fe6c5e3f422f7", size = 13142886 }, +] + +[[package]] +name = "notebook" +version = "7.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyterlab", version = "4.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jupyterlab-server", marker = "python_full_version >= '3.9'" }, + { name = "notebook-shim", marker = "python_full_version >= '3.9'" }, + { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/55/0a1b8fdf48b6de67b52b23b9670c20b81e649420d6b973c70be14cff99cd/notebook-7.4.2.tar.gz", hash = "sha256:e739defd28c3f615a6bfb0a2564bd75018a9cc6613aa00bbd9c15e68eed2de1b", size = 13881273 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/16/d3c36a0b1f6dfcf218add8eaf803bf0473ff50681ac4d51acb7ba02bce34/notebook-7.4.2-py3-none-any.whl", hash = "sha256:9ccef602721aaa5530852e3064710b8ae5415c4e2ce26f8896d0433222755259", size = 14285747 }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307 }, +] + +[[package]] +name = "numba" +version = "0.58.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "llvmlite", version = "0.41.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/13/2b/0f750d451fd961fd91d6bc86c512781fa46f9ef64813007e501482522ff9/numba-0.58.1.tar.gz", hash = "sha256:487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa", size = 2623830 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/e6/7e2c73fcdf3c98dcc0d3035ecafab214ed9f1978ca18a149bad6416bd308/numba-0.58.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:07f2fa7e7144aa6f275f27260e73ce0d808d3c62b30cff8906ad1dec12d87bbe", size = 2588424 }, + { url = "https://files.pythonhosted.org/packages/39/44/e5540c376f6b99d906f46bdf98ce4d91511a0ee89ce60a62e2498dacd6fe/numba-0.58.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7bf1ddd4f7b9c2306de0384bf3854cac3edd7b4d8dffae2ec1b925e4c436233f", size = 2591283 }, + { url = "https://files.pythonhosted.org/packages/93/fa/40cf7aff6f5836412d8f5f751a92be3efd249ed322a01a5c9c1fe4c4a7a9/numba-0.58.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bc2d904d0319d7a5857bd65062340bed627f5bfe9ae4a495aef342f072880d50", size = 3349802 }, + { url = "https://files.pythonhosted.org/packages/ed/13/b66627125b35f2987bd9872cf028b5e1e1ffcbc8d1e182ac4e84eed3998f/numba-0.58.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4e79b6cc0d2bf064a955934a2e02bf676bc7995ab2db929dbbc62e4c16551be6", size = 3641467 }, + { url = "https://files.pythonhosted.org/packages/3b/77/fdf609595d4f8f7f7e6e0fcaf11f7223d636cae4cb5c0805f46778c08a57/numba-0.58.1-cp310-cp310-win_amd64.whl", hash = "sha256:81fe5b51532478149b5081311b0fd4206959174e660c372b94ed5364cfb37c82", size = 2606344 }, + { url = "https://files.pythonhosted.org/packages/9a/ce/a1e69316135646e83bc77b9eb662e3dc9414a6fea9eef2db4fd4c9fcf5e3/numba-0.58.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bcecd3fb9df36554b342140a4d77d938a549be635d64caf8bd9ef6c47a47f8aa", size = 2588116 }, + { url = "https://files.pythonhosted.org/packages/88/60/aa67255e6e166ef6541d007f22470fc459b8c7b66fb6790fd735d0bcd951/numba-0.58.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1eaa744f518bbd60e1f7ccddfb8002b3d06bd865b94a5d7eac25028efe0e0ff", size = 2590990 }, + { url = "https://files.pythonhosted.org/packages/ca/f8/18f24441783f345a805a08bdcfa7cfb9c987a6154da412c734ed04489f07/numba-0.58.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bf68df9c307fb0aa81cacd33faccd6e419496fdc621e83f1efce35cdc5e79cac", size = 3355149 }, + { url = "https://files.pythonhosted.org/packages/65/85/72649823bcbfd01820e1c60fa54eb77adb2dba8be921fe6fabdbeb011a88/numba-0.58.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:55a01e1881120e86d54efdff1be08381886fe9f04fc3006af309c602a72bc44d", size = 3647131 }, + { url = "https://files.pythonhosted.org/packages/cd/59/5dd8a3059997ec1daf6f9f7c9b1aef7f0a9e23e1334a5774eae65cae6fd0/numba-0.58.1-cp311-cp311-win_amd64.whl", hash = "sha256:811305d5dc40ae43c3ace5b192c670c358a89a4d2ae4f86d1665003798ea7a1a", size = 2606316 }, + { url = "https://files.pythonhosted.org/packages/76/ff/9e6726d73effefc14557c869c980898f123749c16fae4c527285169f1d9c/numba-0.58.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ea5bfcf7d641d351c6a80e8e1826eb4a145d619870016eeaf20bbd71ef5caa22", size = 2584254 }, + { url = "https://files.pythonhosted.org/packages/fa/01/b8b3d3c4623f3f267d7f52f30f2f994cc00793e67a6242d0b7323099060e/numba-0.58.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e63d6aacaae1ba4ef3695f1c2122b30fa3d8ba039c8f517784668075856d79e2", size = 2589312 }, + { url = "https://files.pythonhosted.org/packages/c6/97/dad816d9313041aa967e13f3b21fdff040433c7efe9eff3112bcf3b40bc1/numba-0.58.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6fe7a9d8e3bd996fbe5eac0683227ccef26cba98dae6e5cee2c1894d4b9f16c1", size = 3359774 }, + { url = "https://files.pythonhosted.org/packages/6e/03/c658004b4b4d52dca7a74582e9fc3e20f94c17cb4b797eb3601876759540/numba-0.58.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:898af055b03f09d33a587e9425500e5be84fc90cd2f80b3fb71c6a4a17a7e354", size = 3651491 }, + { url = "https://files.pythonhosted.org/packages/ce/76/9266f7bd78f134f6ae09886d87675a8ac34e8dd0a30f6007794da41d8a80/numba-0.58.1-cp38-cp38-win_amd64.whl", hash = "sha256:d3e2fe81fe9a59fcd99cc572002101119059d64d31eb6324995ee8b0f144a306", size = 2626200 }, + { url = "https://files.pythonhosted.org/packages/b5/de/e2ef933a99c502d2ec5dda1a43a74ab98b1b606c0ff17422d42c62a6f00f/numba-0.58.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c765aef472a9406a97ea9782116335ad4f9ef5c9f93fc05fd44aab0db486954", size = 2587997 }, + { url = "https://files.pythonhosted.org/packages/eb/61/db566ad7cd3f7e9191ec744f25cf6455e8d91732ad70be8fcdd203a48dab/numba-0.58.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9356e943617f5e35a74bf56ff6e7cc83e6b1865d5e13cee535d79bf2cae954", size = 2590940 }, + { url = "https://files.pythonhosted.org/packages/3d/db/75bd7bb82e0f05ad066a0f4b1f8913de771dcdec37b063caa4c9282e6b1b/numba-0.58.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:240e7a1ae80eb6b14061dc91263b99dc8d6af9ea45d310751b780888097c1aaa", size = 3345620 }, + { url = "https://files.pythonhosted.org/packages/8b/4b/58bdecd06266c5395157727d7191d83c82d190665bdf3d65fdd67a6dbaa5/numba-0.58.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:45698b995914003f890ad839cfc909eeb9c74921849c712a05405d1a79c50f68", size = 3636967 }, + { url = "https://files.pythonhosted.org/packages/f8/14/546925a397d7638858a890a01d82cc6de147fca294eccf93ee11b524ca3c/numba-0.58.1-cp39-cp39-win_amd64.whl", hash = "sha256:bd3dda77955be03ff366eebbfdb39919ce7c2620d86c906203bed92124989032", size = 2626240 }, +] + +[[package]] +name = "numba" +version = "0.60.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "llvmlite", version = "0.43.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3c/93/2849300a9184775ba274aba6f82f303343669b0592b7bb0849ea713dabb0/numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16", size = 2702171 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/cf/baa13a7e3556d73d9e38021e6d6aa4aeb30d8b94545aa8b70d0f24a1ccc4/numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651", size = 2647627 }, + { url = "https://files.pythonhosted.org/packages/ac/ba/4b57fa498564457c3cc9fc9e570a6b08e6086c74220f24baaf04e54b995f/numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b", size = 2650322 }, + { url = "https://files.pythonhosted.org/packages/28/98/7ea97ee75870a54f938a8c70f7e0be4495ba5349c5f9db09d467c4a5d5b7/numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781", size = 3407390 }, + { url = "https://files.pythonhosted.org/packages/79/58/cb4ac5b8f7ec64200460aef1fed88258fb872ceef504ab1f989d2ff0f684/numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e", size = 3699694 }, + { url = "https://files.pythonhosted.org/packages/1c/b0/c61a93ca947d12233ff45de506ddbf52af3f752066a0b8be4d27426e16da/numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198", size = 2687030 }, + { url = "https://files.pythonhosted.org/packages/98/ad/df18d492a8f00d29a30db307904b9b296e37507034eedb523876f3a2e13e/numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8", size = 2647254 }, + { url = "https://files.pythonhosted.org/packages/9a/51/a4dc2c01ce7a850b8e56ff6d5381d047a5daea83d12bad08aa071d34b2ee/numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b", size = 2649970 }, + { url = "https://files.pythonhosted.org/packages/f9/4c/8889ac94c0b33dca80bed11564b8c6d9ea14d7f094e674c58e5c5b05859b/numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703", size = 3412492 }, + { url = "https://files.pythonhosted.org/packages/57/03/2b4245b05b71c0cee667e6a0b51606dfa7f4157c9093d71c6b208385a611/numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8", size = 3705018 }, + { url = "https://files.pythonhosted.org/packages/79/89/2d924ca60dbf949f18a6fec223a2445f5f428d9a5f97a6b29c2122319015/numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2", size = 2686920 }, + { url = "https://files.pythonhosted.org/packages/eb/5c/b5ec752c475e78a6c3676b67c514220dbde2725896bbb0b6ec6ea54b2738/numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404", size = 2647866 }, + { url = "https://files.pythonhosted.org/packages/65/42/39559664b2e7c15689a638c2a38b3b74c6e69a04e2b3019b9f7742479188/numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c", size = 2650208 }, + { url = "https://files.pythonhosted.org/packages/67/88/c4459ccc05674ef02119abf2888ccd3e2fed12a323f52255f4982fc95876/numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e", size = 3466946 }, + { url = "https://files.pythonhosted.org/packages/8b/41/ac11cf33524def12aa5bd698226ae196a1185831c05ed29dc0c56eaa308b/numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d", size = 3761463 }, + { url = "https://files.pythonhosted.org/packages/ca/bd/0fe29fcd1b6a8de479a4ed25c6e56470e467e3611c079d55869ceef2b6d1/numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347", size = 2707588 }, + { url = "https://files.pythonhosted.org/packages/68/1a/87c53f836cdf557083248c3f47212271f220280ff766538795e77c8c6bbf/numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74", size = 2647186 }, + { url = "https://files.pythonhosted.org/packages/28/14/a5baa1f2edea7b49afa4dc1bb1b126645198cf1075186853b5b497be826e/numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449", size = 2650038 }, + { url = "https://files.pythonhosted.org/packages/3b/bd/f1985719ff34e37e07bb18f9d3acd17e5a21da255f550c8eae031e2ddf5f/numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b", size = 3403010 }, + { url = "https://files.pythonhosted.org/packages/54/9b/cd73d3f6617ddc8398a63ef97d8dc9139a9879b9ca8a7ca4b8789056ea46/numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25", size = 3695086 }, + { url = "https://files.pythonhosted.org/packages/01/01/8b7b670c77c5ea0e47e283d82332969bf672ab6410d0b2610cac5b7a3ded/numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab", size = 2686978 }, +] + +[[package]] +name = "numba" +version = "0.61.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "llvmlite", version = "0.44.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1c/a0/e21f57604304aa03ebb8e098429222722ad99176a4f979d34af1d1ee80da/numba-0.61.2.tar.gz", hash = "sha256:8750ee147940a6637b80ecf7f95062185ad8726c8c28a2295b8ec1160a196f7d", size = 2820615 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/ca/f470be59552ccbf9531d2d383b67ae0b9b524d435fb4a0d229fef135116e/numba-0.61.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:cf9f9fc00d6eca0c23fc840817ce9f439b9f03c8f03d6246c0e7f0cb15b7162a", size = 2775663 }, + { url = "https://files.pythonhosted.org/packages/f5/13/3bdf52609c80d460a3b4acfb9fdb3817e392875c0d6270cf3fd9546f138b/numba-0.61.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ea0247617edcb5dd61f6106a56255baab031acc4257bddaeddb3a1003b4ca3fd", size = 2778344 }, + { url = "https://files.pythonhosted.org/packages/e2/7d/bfb2805bcfbd479f04f835241ecf28519f6e3609912e3a985aed45e21370/numba-0.61.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ae8c7a522c26215d5f62ebec436e3d341f7f590079245a2f1008dfd498cc1642", size = 3824054 }, + { url = "https://files.pythonhosted.org/packages/e3/27/797b2004745c92955470c73c82f0e300cf033c791f45bdecb4b33b12bdea/numba-0.61.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bd1e74609855aa43661edffca37346e4e8462f6903889917e9f41db40907daa2", size = 3518531 }, + { url = "https://files.pythonhosted.org/packages/b1/c6/c2fb11e50482cb310afae87a997707f6c7d8a48967b9696271347441f650/numba-0.61.2-cp310-cp310-win_amd64.whl", hash = "sha256:ae45830b129c6137294093b269ef0a22998ccc27bf7cf096ab8dcf7bca8946f9", size = 2831612 }, + { url = "https://files.pythonhosted.org/packages/3f/97/c99d1056aed767503c228f7099dc11c402906b42a4757fec2819329abb98/numba-0.61.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:efd3db391df53aaa5cfbee189b6c910a5b471488749fd6606c3f33fc984c2ae2", size = 2775825 }, + { url = "https://files.pythonhosted.org/packages/95/9e/63c549f37136e892f006260c3e2613d09d5120672378191f2dc387ba65a2/numba-0.61.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:49c980e4171948ffebf6b9a2520ea81feed113c1f4890747ba7f59e74be84b1b", size = 2778695 }, + { url = "https://files.pythonhosted.org/packages/97/c8/8740616c8436c86c1b9a62e72cb891177d2c34c2d24ddcde4c390371bf4c/numba-0.61.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3945615cd73c2c7eba2a85ccc9c1730c21cd3958bfcf5a44302abae0fb07bb60", size = 3829227 }, + { url = "https://files.pythonhosted.org/packages/fc/06/66e99ae06507c31d15ff3ecd1f108f2f59e18b6e08662cd5f8a5853fbd18/numba-0.61.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbfdf4eca202cebade0b7d43896978e146f39398909a42941c9303f82f403a18", size = 3523422 }, + { url = "https://files.pythonhosted.org/packages/0f/a4/2b309a6a9f6d4d8cfba583401c7c2f9ff887adb5d54d8e2e130274c0973f/numba-0.61.2-cp311-cp311-win_amd64.whl", hash = "sha256:76bcec9f46259cedf888041b9886e257ae101c6268261b19fda8cfbc52bec9d1", size = 2831505 }, + { url = "https://files.pythonhosted.org/packages/b4/a0/c6b7b9c615cfa3b98c4c63f4316e3f6b3bbe2387740277006551784218cd/numba-0.61.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:34fba9406078bac7ab052efbf0d13939426c753ad72946baaa5bf9ae0ebb8dd2", size = 2776626 }, + { url = "https://files.pythonhosted.org/packages/92/4a/fe4e3c2ecad72d88f5f8cd04e7f7cff49e718398a2fac02d2947480a00ca/numba-0.61.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4ddce10009bc097b080fc96876d14c051cc0c7679e99de3e0af59014dab7dfe8", size = 2779287 }, + { url = "https://files.pythonhosted.org/packages/9a/2d/e518df036feab381c23a624dac47f8445ac55686ec7f11083655eb707da3/numba-0.61.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b1bb509d01f23d70325d3a5a0e237cbc9544dd50e50588bc581ba860c213546", size = 3885928 }, + { url = "https://files.pythonhosted.org/packages/10/0f/23cced68ead67b75d77cfcca3df4991d1855c897ee0ff3fe25a56ed82108/numba-0.61.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48a53a3de8f8793526cbe330f2a39fe9a6638efcbf11bd63f3d2f9757ae345cd", size = 3577115 }, + { url = "https://files.pythonhosted.org/packages/68/1d/ddb3e704c5a8fb90142bf9dc195c27db02a08a99f037395503bfbc1d14b3/numba-0.61.2-cp312-cp312-win_amd64.whl", hash = "sha256:97cf4f12c728cf77c9c1d7c23707e4d8fb4632b46275f8f3397de33e5877af18", size = 2831929 }, + { url = "https://files.pythonhosted.org/packages/0b/f3/0fe4c1b1f2569e8a18ad90c159298d862f96c3964392a20d74fc628aee44/numba-0.61.2-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:3a10a8fc9afac40b1eac55717cece1b8b1ac0b946f5065c89e00bde646b5b154", size = 2771785 }, + { url = "https://files.pythonhosted.org/packages/e9/71/91b277d712e46bd5059f8a5866862ed1116091a7cb03bd2704ba8ebe015f/numba-0.61.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7d3bcada3c9afba3bed413fba45845f2fb9cd0d2b27dd58a1be90257e293d140", size = 2773289 }, + { url = "https://files.pythonhosted.org/packages/0d/e0/5ea04e7ad2c39288c0f0f9e8d47638ad70f28e275d092733b5817cf243c9/numba-0.61.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bdbca73ad81fa196bd53dc12e3aaf1564ae036e0c125f237c7644fe64a4928ab", size = 3893918 }, + { url = "https://files.pythonhosted.org/packages/17/58/064f4dcb7d7e9412f16ecf80ed753f92297e39f399c905389688cf950b81/numba-0.61.2-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:5f154aaea625fb32cfbe3b80c5456d514d416fcdf79733dd69c0df3a11348e9e", size = 3584056 }, + { url = "https://files.pythonhosted.org/packages/af/a4/6d3a0f2d3989e62a18749e1e9913d5fa4910bbb3e3311a035baea6caf26d/numba-0.61.2-cp313-cp313-win_amd64.whl", hash = "sha256:59321215e2e0ac5fa928a8020ab00b8e57cda8a97384963ac0dfa4d4e6aa54e7", size = 2831846 }, +] + +[[package]] +name = "numdifftools" +version = "0.9.41" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/3c/32bcbc96f465d5b34986d75d4eb3531f3f3e5b36099970bfbce8e9bc1712/numdifftools-0.9.41.tar.gz", hash = "sha256:4ef705cd3c06211b3a4e9fd05ad622be916dcfda40732f0128805a2c4be389b4", size = 6735932 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/5c/37cd5db8c465db2664b2219410b8bc7743da6edb1b616b5d13008bd7cac2/numdifftools-0.9.41-py2.py3-none-any.whl", hash = "sha256:a8b162e06889ea73643a47b84935a63d8214d4b4b0805d36a3c28c56379b3e51", size = 100223 }, +] + +[[package]] +name = "numpy" +version = "1.24.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140 }, + { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297 }, + { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611 }, + { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357 }, + { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222 }, + { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514 }, + { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508 }, + { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033 }, + { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951 }, + { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923 }, + { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446 }, + { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466 }, + { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722 }, + { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102 }, + { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616 }, + { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263 }, + { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660 }, + { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112 }, + { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549 }, + { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950 }, + { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228 }, + { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170 }, + { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918 }, + { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441 }, + { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590 }, + { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744 }, + { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290 }, +] + +[[package]] +name = "numpy" +version = "2.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245 }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540 }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623 }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774 }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081 }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451 }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572 }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722 }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170 }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558 }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137 }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552 }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957 }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573 }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330 }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895 }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253 }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074 }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640 }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230 }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803 }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835 }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499 }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497 }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158 }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173 }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174 }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701 }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313 }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942 }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512 }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976 }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494 }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596 }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099 }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823 }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424 }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809 }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314 }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288 }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793 }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885 }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784 }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440 } +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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149 }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866 }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506 }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190 }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828 }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006 }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765 }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736 }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719 }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072 }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213 }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632 }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532 }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885 }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467 }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144 }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217 }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014 }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935 }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122 }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143 }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260 }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225 }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666 }, +] + +[[package]] +name = "open-atmos-jupyter-utils" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "imageio", version = "2.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "imageio", version = "2.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "ipython", version = "8.36.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "ipython", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "ipywidgets" }, + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "nbformat" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/4a/14ac4f72f553eee8387b914f4eb1294cedd21c29d48aba94cd1cbbbcac28/open-atmos-jupyter-utils-1.3.0.tar.gz", hash = "sha256:3d1d4150e9476476021a9798085f2eede023848a7db0aec6e403c57467436fc3", size = 243604 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/c9/561c52c985fbc2f786b75291cd7331d229ef6a56dc24d96cbf79ed0b4e9a/open_atmos_jupyter_utils-1.3.0-py3-none-any.whl", hash = "sha256:e3a0ff9aaadb4e540f31aebf633a24e641cfe39587f5270f053fac24c40a8b37", size = 19555 }, +] + +[[package]] +name = "overrides" +version = "7.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469 }, +] + +[[package]] +name = "pandas" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "python-dateutil", marker = "python_full_version < '3.9'" }, + { name = "pytz", marker = "python_full_version < '3.9'" }, + { name = "tzdata", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/a7/824332581e258b5aa4f3763ecb2a797e5f9a54269044ba2e50ac19936b32/pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", size = 5284455 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/b2/0d4a5729ce1ce11630c4fc5d5522a33b967b3ca146c210f58efde7c40e99/pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", size = 11760908 }, + { url = "https://files.pythonhosted.org/packages/4a/f6/f620ca62365d83e663a255a41b08d2fc2eaf304e0b8b21bb6d62a7390fe3/pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", size = 10823486 }, + { url = "https://files.pythonhosted.org/packages/c2/59/cb4234bc9b968c57e81861b306b10cd8170272c57b098b724d3de5eda124/pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", size = 11571897 }, + { url = "https://files.pythonhosted.org/packages/e3/59/35a2892bf09ded9c1bf3804461efe772836a5261ef5dfb4e264ce813ff99/pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", size = 12306421 }, + { url = "https://files.pythonhosted.org/packages/94/71/3a0c25433c54bb29b48e3155b959ac78f4c4f2f06f94d8318aac612cb80f/pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", size = 9540792 }, + { url = "https://files.pythonhosted.org/packages/ed/30/b97456e7063edac0e5a405128065f0cd2033adfe3716fb2256c186bd41d0/pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", size = 10664333 }, + { url = "https://files.pythonhosted.org/packages/b3/92/a5e5133421b49e901a12e02a6a7ef3a0130e10d13db8cb657fdd0cba3b90/pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", size = 11645672 }, + { url = "https://files.pythonhosted.org/packages/8f/bb/aea1fbeed5b474cb8634364718abe9030d7cc7a30bf51f40bd494bbc89a2/pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", size = 10693229 }, + { url = "https://files.pythonhosted.org/packages/d6/90/e7d387f1a416b14e59290baa7a454a90d719baebbf77433ff1bdcc727800/pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", size = 11581591 }, + { url = "https://files.pythonhosted.org/packages/d0/28/88b81881c056376254618fad622a5e94b5126db8c61157ea1910cd1c040a/pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", size = 12219370 }, + { url = "https://files.pythonhosted.org/packages/e4/a5/212b9039e25bf8ebb97e417a96660e3dc925dacd3f8653d531b8f7fd9be4/pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", size = 9482935 }, + { url = "https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", size = 10607692 }, + { url = "https://files.pythonhosted.org/packages/78/a8/07dd10f90ca915ed914853cd57f79bfc22e1ef4384ab56cb4336d2fc1f2a/pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", size = 11653303 }, + { url = "https://files.pythonhosted.org/packages/53/c3/f8e87361f7fdf42012def602bfa2a593423c729f5cb7c97aed7f51be66ac/pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", size = 10710932 }, + { url = "https://files.pythonhosted.org/packages/a7/87/828d50c81ce0f434163bf70b925a0eec6076808e0bca312a79322b141f66/pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", size = 11684018 }, + { url = "https://files.pythonhosted.org/packages/f8/7f/5b047effafbdd34e52c9e2d7e44f729a0655efafb22198c45cf692cdc157/pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", size = 12353723 }, + { url = "https://files.pythonhosted.org/packages/ea/ae/26a2eda7fa581347d69e51f93892493b2074ef3352ac71033c9f32c52389/pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02", size = 9646403 }, + { url = "https://files.pythonhosted.org/packages/c3/6c/ea362eef61f05553aaf1a24b3e96b2d0603f5dc71a3bd35688a24ed88843/pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", size = 10777638 }, + { url = "https://files.pythonhosted.org/packages/f8/c7/cfef920b7b457dff6928e824896cb82367650ea127d048ee0b820026db4f/pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", size = 11834160 }, + { url = "https://files.pythonhosted.org/packages/6c/1c/689c9d99bc4e5d366a5fd871f0bcdee98a6581e240f96b78d2d08f103774/pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", size = 10862752 }, + { url = "https://files.pythonhosted.org/packages/cc/b8/4d082f41c27c95bf90485d1447b647cc7e5680fea75e315669dc6e4cb398/pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", size = 11715852 }, + { url = "https://files.pythonhosted.org/packages/9e/0d/91a9fd2c202f2b1d97a38ab591890f86480ecbb596cbc56d035f6f23fdcc/pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", size = 12398496 }, + { url = "https://files.pythonhosted.org/packages/26/7d/d8aa0a2c4f3f5f8ea59fb946c8eafe8f508090ca73e2b08a9af853c1103e/pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", size = 9630766 }, + { url = "https://files.pythonhosted.org/packages/9a/f2/0ad053856debbe90c83de1b4f05915f85fd2146f20faf9daa3b320d36df3/pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", size = 10755902 }, +] + +[[package]] +name = "pandas" +version = "2.2.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "python-dateutil", marker = "python_full_version >= '3.9'" }, + { name = "pytz", marker = "python_full_version >= '3.9'" }, + { name = "tzdata", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827 }, + { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897 }, + { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908 }, + { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210 }, + { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292 }, + { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379 }, + { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471 }, + { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222 }, + { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274 }, + { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836 }, + { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505 }, + { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420 }, + { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457 }, + { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166 }, + { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 }, + { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 }, + { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 }, + { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 }, + { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 }, + { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 }, + { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 }, + { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 }, + { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 }, + { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 }, + { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 }, + { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 }, + { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 }, + { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 }, + { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 }, + { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 }, + { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 }, + { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 }, + { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 }, + { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 }, + { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535 }, + { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822 }, + { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439 }, + { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928 }, + { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266 }, + { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871 }, + { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011 }, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663 }, +] + +[[package]] +name = "parso" +version = "0.8.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650 }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 }, +] + +[[package]] +name = "pickleshare" +version = "0.7.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", size = 6161 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", size = 6877 }, +] + +[[package]] +name = "pillow" +version = "10.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271 }, + { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658 }, + { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075 }, + { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808 }, + { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290 }, + { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163 }, + { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100 }, + { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880 }, + { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218 }, + { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487 }, + { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219 }, + { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265 }, + { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655 }, + { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304 }, + { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804 }, + { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126 }, + { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541 }, + { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616 }, + { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802 }, + { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213 }, + { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498 }, + { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219 }, + { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350 }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980 }, + { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799 }, + { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973 }, + { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054 }, + { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484 }, + { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375 }, + { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773 }, + { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690 }, + { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951 }, + { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427 }, + { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685 }, + { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883 }, + { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837 }, + { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562 }, + { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761 }, + { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767 }, + { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989 }, + { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255 }, + { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603 }, + { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972 }, + { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375 }, + { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213 }, + { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883 }, + { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810 }, + { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341 }, + { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005 }, + { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201 }, + { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635 }, + { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283 }, + { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185 }, + { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594 }, + { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283 }, + { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691 }, + { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295 }, + { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810 }, + { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283 }, + { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800 }, + { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177 }, + { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079 }, + { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247 }, + { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479 }, + { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226 }, + { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889 }, + { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160 }, + { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020 }, + { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539 }, + { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125 }, + { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373 }, + { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 }, + { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850 }, + { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118 }, + { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958 }, + { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340 }, + { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048 }, + { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366 }, + { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652 }, +] + +[[package]] +name = "pillow" +version = "11.2.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/8b/b158ad57ed44d3cc54db8d68ad7c0a58b8fc0e4c7a3f995f9d62d5b464a1/pillow-11.2.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:d57a75d53922fc20c165016a20d9c44f73305e67c351bbc60d1adaf662e74047", size = 3198442 }, + { url = "https://files.pythonhosted.org/packages/b1/f8/bb5d956142f86c2d6cc36704943fa761f2d2e4c48b7436fd0a85c20f1713/pillow-11.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:127bf6ac4a5b58b3d32fc8289656f77f80567d65660bc46f72c0d77e6600cc95", size = 3030553 }, + { url = "https://files.pythonhosted.org/packages/22/7f/0e413bb3e2aa797b9ca2c5c38cb2e2e45d88654e5b12da91ad446964cfae/pillow-11.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4ba4be812c7a40280629e55ae0b14a0aafa150dd6451297562e1764808bbe61", size = 4405503 }, + { url = "https://files.pythonhosted.org/packages/f3/b4/cc647f4d13f3eb837d3065824aa58b9bcf10821f029dc79955ee43f793bd/pillow-11.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8bd62331e5032bc396a93609982a9ab6b411c05078a52f5fe3cc59234a3abd1", size = 4490648 }, + { url = "https://files.pythonhosted.org/packages/c2/6f/240b772a3b35cdd7384166461567aa6713799b4e78d180c555bd284844ea/pillow-11.2.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:562d11134c97a62fe3af29581f083033179f7ff435f78392565a1ad2d1c2c45c", size = 4508937 }, + { url = "https://files.pythonhosted.org/packages/f3/5e/7ca9c815ade5fdca18853db86d812f2f188212792780208bdb37a0a6aef4/pillow-11.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:c97209e85b5be259994eb5b69ff50c5d20cca0f458ef9abd835e262d9d88b39d", size = 4599802 }, + { url = "https://files.pythonhosted.org/packages/02/81/c3d9d38ce0c4878a77245d4cf2c46d45a4ad0f93000227910a46caff52f3/pillow-11.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0c3e6d0f59171dfa2e25d7116217543310908dfa2770aa64b8f87605f8cacc97", size = 4576717 }, + { url = "https://files.pythonhosted.org/packages/42/49/52b719b89ac7da3185b8d29c94d0e6aec8140059e3d8adcaa46da3751180/pillow-11.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc1c3bc53befb6096b84165956e886b1729634a799e9d6329a0c512ab651e579", size = 4654874 }, + { url = "https://files.pythonhosted.org/packages/5b/0b/ede75063ba6023798267023dc0d0401f13695d228194d2242d5a7ba2f964/pillow-11.2.1-cp310-cp310-win32.whl", hash = "sha256:312c77b7f07ab2139924d2639860e084ec2a13e72af54d4f08ac843a5fc9c79d", size = 2331717 }, + { url = "https://files.pythonhosted.org/packages/ed/3c/9831da3edea527c2ed9a09f31a2c04e77cd705847f13b69ca60269eec370/pillow-11.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9bc7ae48b8057a611e5fe9f853baa88093b9a76303937449397899385da06fad", size = 2676204 }, + { url = "https://files.pythonhosted.org/packages/01/97/1f66ff8a1503d8cbfc5bae4dc99d54c6ec1e22ad2b946241365320caabc2/pillow-11.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:2728567e249cdd939f6cc3d1f049595c66e4187f3c34078cbc0a7d21c47482d2", size = 2414767 }, + { url = "https://files.pythonhosted.org/packages/68/08/3fbf4b98924c73037a8e8b4c2c774784805e0fb4ebca6c5bb60795c40125/pillow-11.2.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35ca289f712ccfc699508c4658a1d14652e8033e9b69839edf83cbdd0ba39e70", size = 3198450 }, + { url = "https://files.pythonhosted.org/packages/84/92/6505b1af3d2849d5e714fc75ba9e69b7255c05ee42383a35a4d58f576b16/pillow-11.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0409af9f829f87a2dfb7e259f78f317a5351f2045158be321fd135973fff7bf", size = 3030550 }, + { url = "https://files.pythonhosted.org/packages/3c/8c/ac2f99d2a70ff966bc7eb13dacacfaab57c0549b2ffb351b6537c7840b12/pillow-11.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4e5c5edee874dce4f653dbe59db7c73a600119fbea8d31f53423586ee2aafd7", size = 4415018 }, + { url = "https://files.pythonhosted.org/packages/1f/e3/0a58b5d838687f40891fff9cbaf8669f90c96b64dc8f91f87894413856c6/pillow-11.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b93a07e76d13bff9444f1a029e0af2964e654bfc2e2c2d46bfd080df5ad5f3d8", size = 4498006 }, + { url = "https://files.pythonhosted.org/packages/21/f5/6ba14718135f08fbfa33308efe027dd02b781d3f1d5c471444a395933aac/pillow-11.2.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:e6def7eed9e7fa90fde255afaf08060dc4b343bbe524a8f69bdd2a2f0018f600", size = 4517773 }, + { url = "https://files.pythonhosted.org/packages/20/f2/805ad600fc59ebe4f1ba6129cd3a75fb0da126975c8579b8f57abeb61e80/pillow-11.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8f4f3724c068be008c08257207210c138d5f3731af6c155a81c2b09a9eb3a788", size = 4607069 }, + { url = "https://files.pythonhosted.org/packages/71/6b/4ef8a288b4bb2e0180cba13ca0a519fa27aa982875882392b65131401099/pillow-11.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a0a6709b47019dff32e678bc12c63008311b82b9327613f534e496dacaefb71e", size = 4583460 }, + { url = "https://files.pythonhosted.org/packages/62/ae/f29c705a09cbc9e2a456590816e5c234382ae5d32584f451c3eb41a62062/pillow-11.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f6b0c664ccb879109ee3ca702a9272d877f4fcd21e5eb63c26422fd6e415365e", size = 4661304 }, + { url = "https://files.pythonhosted.org/packages/6e/1a/c8217b6f2f73794a5e219fbad087701f412337ae6dbb956db37d69a9bc43/pillow-11.2.1-cp311-cp311-win32.whl", hash = "sha256:cc5d875d56e49f112b6def6813c4e3d3036d269c008bf8aef72cd08d20ca6df6", size = 2331809 }, + { url = "https://files.pythonhosted.org/packages/e2/72/25a8f40170dc262e86e90f37cb72cb3de5e307f75bf4b02535a61afcd519/pillow-11.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:0f5c7eda47bf8e3c8a283762cab94e496ba977a420868cb819159980b6709193", size = 2676338 }, + { url = "https://files.pythonhosted.org/packages/06/9e/76825e39efee61efea258b479391ca77d64dbd9e5804e4ad0fa453b4ba55/pillow-11.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:4d375eb838755f2528ac8cbc926c3e31cc49ca4ad0cf79cff48b20e30634a4a7", size = 2414918 }, + { url = "https://files.pythonhosted.org/packages/c7/40/052610b15a1b8961f52537cc8326ca6a881408bc2bdad0d852edeb6ed33b/pillow-11.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f", size = 3190185 }, + { url = "https://files.pythonhosted.org/packages/e5/7e/b86dbd35a5f938632093dc40d1682874c33dcfe832558fc80ca56bfcb774/pillow-11.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b", size = 3030306 }, + { url = "https://files.pythonhosted.org/packages/a4/5c/467a161f9ed53e5eab51a42923c33051bf8d1a2af4626ac04f5166e58e0c/pillow-11.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d", size = 4416121 }, + { url = "https://files.pythonhosted.org/packages/62/73/972b7742e38ae0e2ac76ab137ca6005dcf877480da0d9d61d93b613065b4/pillow-11.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4", size = 4501707 }, + { url = "https://files.pythonhosted.org/packages/e4/3a/427e4cb0b9e177efbc1a84798ed20498c4f233abde003c06d2650a6d60cb/pillow-11.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d", size = 4522921 }, + { url = "https://files.pythonhosted.org/packages/fe/7c/d8b1330458e4d2f3f45d9508796d7caf0c0d3764c00c823d10f6f1a3b76d/pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4", size = 4612523 }, + { url = "https://files.pythonhosted.org/packages/b3/2f/65738384e0b1acf451de5a573d8153fe84103772d139e1e0bdf1596be2ea/pillow-11.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443", size = 4587836 }, + { url = "https://files.pythonhosted.org/packages/6a/c5/e795c9f2ddf3debb2dedd0df889f2fe4b053308bb59a3cc02a0cd144d641/pillow-11.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c", size = 4669390 }, + { url = "https://files.pythonhosted.org/packages/96/ae/ca0099a3995976a9fce2f423166f7bff9b12244afdc7520f6ed38911539a/pillow-11.2.1-cp312-cp312-win32.whl", hash = "sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3", size = 2332309 }, + { url = "https://files.pythonhosted.org/packages/7c/18/24bff2ad716257fc03da964c5e8f05d9790a779a8895d6566e493ccf0189/pillow-11.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941", size = 2676768 }, + { url = "https://files.pythonhosted.org/packages/da/bb/e8d656c9543276517ee40184aaa39dcb41e683bca121022f9323ae11b39d/pillow-11.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb", size = 2415087 }, + { url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098 }, + { url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166 }, + { url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674 }, + { url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005 }, + { url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707 }, + { url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008 }, + { url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420 }, + { url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655 }, + { url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329 }, + { url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388 }, + { url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950 }, + { url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759 }, + { url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284 }, + { url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826 }, + { url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329 }, + { url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049 }, + { url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408 }, + { url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863 }, + { url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938 }, + { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774 }, + { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895 }, + { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234 }, + { url = "https://files.pythonhosted.org/packages/21/3a/c1835d1c7cf83559e95b4f4ed07ab0bb7acc689712adfce406b3f456e9fd/pillow-11.2.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7491cf8a79b8eb867d419648fff2f83cb0b3891c8b36da92cc7f1931d46108c8", size = 3198391 }, + { url = "https://files.pythonhosted.org/packages/b6/4d/dcb7a9af3fc1e8653267c38ed622605d9d1793349274b3ef7af06457e257/pillow-11.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b02d8f9cb83c52578a0b4beadba92e37d83a4ef11570a8688bbf43f4ca50909", size = 3030573 }, + { url = "https://files.pythonhosted.org/packages/9d/29/530ca098c1a1eb31d4e163d317d0e24e6d2ead907991c69ca5b663de1bc5/pillow-11.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:014ca0050c85003620526b0ac1ac53f56fc93af128f7546623cc8e31875ab928", size = 4398677 }, + { url = "https://files.pythonhosted.org/packages/8b/ee/0e5e51db34de1690264e5f30dcd25328c540aa11d50a3bc0b540e2a445b6/pillow-11.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3692b68c87096ac6308296d96354eddd25f98740c9d2ab54e1549d6c8aea9d79", size = 4484986 }, + { url = "https://files.pythonhosted.org/packages/93/7d/bc723b41ce3d2c28532c47678ec988974f731b5c6fadd5b3a4fba9015e4f/pillow-11.2.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:f781dcb0bc9929adc77bad571b8621ecb1e4cdef86e940fe2e5b5ee24fd33b35", size = 4501897 }, + { url = "https://files.pythonhosted.org/packages/be/0b/532e31abc7389617ddff12551af625a9b03cd61d2989fa595e43c470ec67/pillow-11.2.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:2b490402c96f907a166615e9a5afacf2519e28295f157ec3a2bb9bd57de638cb", size = 4592618 }, + { url = "https://files.pythonhosted.org/packages/4c/f0/21ed6499a6216fef753e2e2254a19d08bff3747108ba042422383f3e9faa/pillow-11.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dd6b20b93b3ccc9c1b597999209e4bc5cf2853f9ee66e3fc9a400a78733ffc9a", size = 4570493 }, + { url = "https://files.pythonhosted.org/packages/68/de/17004ddb8ab855573fe1127ab0168d11378cdfe4a7ee2a792a70ff2e9ba7/pillow-11.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4b835d89c08a6c2ee7781b8dd0a30209a8012b5f09c0a665b65b0eb3560b6f36", size = 4647748 }, + { url = "https://files.pythonhosted.org/packages/c7/23/82ecb486384bb3578115c509d4a00bb52f463ee700a5ca1be53da3c88c19/pillow-11.2.1-cp39-cp39-win32.whl", hash = "sha256:b10428b3416d4f9c61f94b494681280be7686bda15898a3a9e08eb66a6d92d67", size = 2331731 }, + { url = "https://files.pythonhosted.org/packages/58/bb/87efd58b3689537a623d44dbb2550ef0bb5ff6a62769707a0fe8b1a7bdeb/pillow-11.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:6ebce70c3f486acf7591a3d73431fa504a4e18a9b97ff27f5f47b7368e4b9dd1", size = 2676346 }, + { url = "https://files.pythonhosted.org/packages/80/08/dc268475b22887b816e5dcfae31bce897f524b4646bab130c2142c9b2400/pillow-11.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:c27476257b2fdcd7872d54cfd119b3a9ce4610fb85c8e32b70b42e3680a29a1e", size = 2414623 }, + { url = "https://files.pythonhosted.org/packages/33/49/c8c21e4255b4f4a2c0c68ac18125d7f5460b109acc6dfdef1a24f9b960ef/pillow-11.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9b7b0d4fd2635f54ad82785d56bc0d94f147096493a79985d0ab57aedd563156", size = 3181727 }, + { url = "https://files.pythonhosted.org/packages/6d/f1/f7255c0838f8c1ef6d55b625cfb286835c17e8136ce4351c5577d02c443b/pillow-11.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:aa442755e31c64037aa7c1cb186e0b369f8416c567381852c63444dd666fb772", size = 2999833 }, + { url = "https://files.pythonhosted.org/packages/e2/57/9968114457bd131063da98d87790d080366218f64fa2943b65ac6739abb3/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0d3348c95b766f54b76116d53d4cb171b52992a1027e7ca50c81b43b9d9e363", size = 3437472 }, + { url = "https://files.pythonhosted.org/packages/b2/1b/e35d8a158e21372ecc48aac9c453518cfe23907bb82f950d6e1c72811eb0/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85d27ea4c889342f7e35f6d56e7e1cb345632ad592e8c51b693d7b7556043ce0", size = 3459976 }, + { url = "https://files.pythonhosted.org/packages/26/da/2c11d03b765efff0ccc473f1c4186dc2770110464f2177efaed9cf6fae01/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:bf2c33d6791c598142f00c9c4c7d47f6476731c31081331664eb26d6ab583e01", size = 3527133 }, + { url = "https://files.pythonhosted.org/packages/79/1a/4e85bd7cadf78412c2a3069249a09c32ef3323650fd3005c97cca7aa21df/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e616e7154c37669fc1dfc14584f11e284e05d1c650e1c0f972f281c4ccc53193", size = 3571555 }, + { url = "https://files.pythonhosted.org/packages/69/03/239939915216de1e95e0ce2334bf17a7870ae185eb390fab6d706aadbfc0/pillow-11.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:39ad2e0f424394e3aebc40168845fee52df1394a4673a6ee512d840d14ab3013", size = 2674713 }, + { url = "https://files.pythonhosted.org/packages/a4/ad/2613c04633c7257d9481ab21d6b5364b59fc5d75faafd7cb8693523945a3/pillow-11.2.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:80f1df8dbe9572b4b7abdfa17eb5d78dd620b1d55d9e25f834efdbee872d3aed", size = 3181734 }, + { url = "https://files.pythonhosted.org/packages/a4/fd/dcdda4471ed667de57bb5405bb42d751e6cfdd4011a12c248b455c778e03/pillow-11.2.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ea926cfbc3957090becbcbbb65ad177161a2ff2ad578b5a6ec9bb1e1cd78753c", size = 2999841 }, + { url = "https://files.pythonhosted.org/packages/ac/89/8a2536e95e77432833f0db6fd72a8d310c8e4272a04461fb833eb021bf94/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:738db0e0941ca0376804d4de6a782c005245264edaa253ffce24e5a15cbdc7bd", size = 3437470 }, + { url = "https://files.pythonhosted.org/packages/9d/8f/abd47b73c60712f88e9eda32baced7bfc3e9bd6a7619bb64b93acff28c3e/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db98ab6565c69082ec9b0d4e40dd9f6181dab0dd236d26f7a50b8b9bfbd5076", size = 3460013 }, + { url = "https://files.pythonhosted.org/packages/f6/20/5c0a0aa83b213b7a07ec01e71a3d6ea2cf4ad1d2c686cc0168173b6089e7/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:036e53f4170e270ddb8797d4c590e6dd14d28e15c7da375c18978045f7e6c37b", size = 3527165 }, + { url = "https://files.pythonhosted.org/packages/58/0e/2abab98a72202d91146abc839e10c14f7cf36166f12838ea0c4db3ca6ecb/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14f73f7c291279bd65fda51ee87affd7c1e097709f7fdd0188957a16c264601f", size = 3571586 }, + { url = "https://files.pythonhosted.org/packages/21/2c/5e05f58658cf49b6667762cca03d6e7d85cededde2caf2ab37b81f80e574/pillow-11.2.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:208653868d5c9ecc2b327f9b9ef34e0e42a4cdd172c2988fd81d62d2bc9bc044", size = 2674751 }, +] + +[[package]] +name = "pint" +version = "0.21.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/70/f4/9e7cb8e65e36c0a5e832bf04e57ca2cb1f96ea1ae289f10b82e2e98a49c7/Pint-0.21.1.tar.gz", hash = "sha256:5d5b6b518d0c5a7ab03a776175db500f1ed1523ee75fb7fafe38af8149431c8d", size = 336147 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/bc/7ef2a654754cc3179af8df837485931f0874d96e111005a6246c1ed695f2/Pint-0.21.1-py3-none-any.whl", hash = "sha256:230ebccc312693117ee925c6492b3631c772ae9f7851a4e86080a15e7be692d8", size = 290846 }, +] + +[[package]] +name = "pint" +version = "0.24.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "flexcache", marker = "python_full_version >= '3.9'" }, + { name = "flexparser", marker = "python_full_version >= '3.9'" }, + { name = "platformdirs", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/bb/52b15ddf7b7706ed591134a895dbf6e41c8348171fb635e655e0a4bbb0ea/pint-0.24.4.tar.gz", hash = "sha256:35275439b574837a6cd3020a5a4a73645eb125ce4152a73a2f126bf164b91b80", size = 342225 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/16/bd2f5904557265882108dc2e04f18abc05ab0c2b7082ae9430091daf1d5c/Pint-0.24.4-py3-none-any.whl", hash = "sha256:aa54926c8772159fcf65f82cc0d34de6768c151b32ad1deb0331291c38fe7659", size = 302029 }, +] + +[[package]] +name = "pkgutil-resolve-name" +version = "1.3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/f2/f2891a9dc37398696ddd945012b90ef8d0a034f0012e3f83c3f7a70b0f79/pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", size = 5054 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/5c/3d4882ba113fd55bdba9326c1e4c62a15e674a2501de4869e6bd6301f87e/pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e", size = 4734 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567 }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538 }, +] + +[[package]] +name = "prometheus-client" +version = "0.21.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/62/14/7d0f567991f3a9af8d1cd4f619040c93b68f09a02b6d0b6ab1b2d1ded5fe/prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", size = 78551 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301", size = 54682 }, +] + +[[package]] +name = "prometheus-client" +version = "0.22.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/5a/3fa1fa7e91a203759aaf316be394f70f2ef598d589b9785a8611b6094c00/prometheus_client-0.22.0.tar.gz", hash = "sha256:18da1d2241ac2d10c8d2110f13eedcd5c7c0c8af18c926e8731f04fc10cd575c", size = 74443 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/c7/cee159ba3d7192e84a4c166ec1752f44a5fa859ac0eeda2d73a1da65ab47/prometheus_client-0.22.0-py3-none-any.whl", hash = "sha256:c8951bbe64e62b96cd8e8f5d917279d1b9b91ab766793f33d4dce6c228558713", size = 62658 }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.51" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810 }, +] + +[[package]] +name = "psutil" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051 }, + { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535 }, + { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004 }, + { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986 }, + { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544 }, + { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053 }, + { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885 }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 }, +] + +[[package]] +name = "pulp" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fb/92/bf4b947ec8aac629b835b588e70664c1d0150a8369f798b6c5adb32e39ba/pulp-3.1.1.tar.gz", hash = "sha256:300a330e917c9ca9ac7fda6f5849bbf30d489c368117f197a3e3fd0bc1966d95", size = 16294046 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/78/54928786de173be3210963d198e4a7d037f9bf5dd327430090bf6c52e152/pulp-3.1.1-py3-none-any.whl", hash = "sha256:ad9d46afaf78a708270a2fa9b38e56536584c048dfbd7a6dbc719abee1051261", size = 16375371 }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, +] + +[[package]] +name = "pyevtk" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/44/dd/d20c1a0c0105611b831536d2c6d9132bb83d70ed80f4b6d328c04acfeb0d/pyevtk-1.6.0.tar.gz", hash = "sha256:1f6be7876a3a005c8258861551da4fe7e44ff1a2e7ff2a93d6dc51deedfda5f4", size = 38980 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/06/da/d57b07c565cc5f8705da436cfcc44754343416c1187d83f04d5443d5cc1a/pyevtk-1.6.0-py3-none-any.whl", hash = "sha256:057415512ab902785c72251df8f8450e4bbc9eab16677f091a4b8ee53b9cc775", size = 20521 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, +] + +[[package]] +name = "pympdata" +version = "1.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numba", version = "0.58.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numba", version = "0.60.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numba", version = "0.61.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pystrict" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/d3/9f5d4a22154c382526dc1ac7428b077b9beb25349829d6f7a67d61c1ec87/pympdata-1.4.1.tar.gz", hash = "sha256:b1dbe54e5457fe8706f3bb6f593f0a02a0186dfd2896ba27090ad442dcf5c658", size = 2187835 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/ab/8d65d565b658f9e32d01511906ba26d38ecaf08ae8069d71ffa04020f9f7/pympdata-1.4.1-py3-none-any.whl", hash = "sha256:4f9cb6fcfb98365a9cb4283f6c963cf3278fe85f87a79b2f97d9b9aa62738837", size = 53753 }, +] + +[[package]] +name = "pyneqsys" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "sym" }, + { name = "sympy", version = "1.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/32/2e/e462e8565f1472cc46bebf7a0bca7dc8a452a29dc73c341e4b3f70eaea86/pyneqsys-0.5.7.tar.gz", hash = "sha256:a4ef31b66895171ecab9677d2f36c757debafad450169a2ba0d4e23a7eff283a", size = 29470 } + +[[package]] +name = "pyodesys" +version = "0.14.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "notebook", version = "7.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "notebook", version = "7.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "sym" }, + { name = "sympy", version = "1.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/67/8a393329576ed920bdef9733c352f4057891e6ccbd1caa5233e384188940/pyodesys-0.14.4.tar.gz", hash = "sha256:584e3b8e6c5c633d964d8c6c9c865d348497bf71048de69dd601b65b8d6b882e", size = 107851 } + +[[package]] +name = "pyparsing" +version = "3.1.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100 }, +] + +[[package]] +name = "pyparsing" +version = "3.2.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be", size = 1088608 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120 }, +] + +[[package]] +name = "pyrcel" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numba", version = "0.58.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numba", version = "0.60.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numba", version = "0.61.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pyyaml" }, + { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "setuptools", version = "80.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "setuptools-scm" }, + { name = "xarray", version = "2023.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "xarray", version = "2024.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "xarray", version = "2025.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fa/43/403f9aff3a12512404c9a90d4ac1a4917eb47ce0438ce6727b9f50225e45/pyrcel-1.3.2.tar.gz", hash = "sha256:0fcf7c5d3c90595a6607bc2e2d865097e5a54de683d4654fbd438d855402da8d", size = 610554 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/4c/191b9d9c5a8f8a59392b4440e7e18817d4d7125dc0857678475e9a32c209/pyrcel-1.3.2-py3-none-any.whl", hash = "sha256:53615980e2bd9bfc5b9cc1fddd0c04999595cab22f510ff78f92b3807ec73934", size = 140648 }, +] + +[[package]] +name = "pysdm" +source = { editable = "." } +dependencies = [ + { name = "chempy" }, + { name = "curandrtc" }, + { name = "numba", version = "0.58.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numba", version = "0.60.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numba", version = "0.61.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pint", version = "0.21.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pint", version = "0.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pyevtk" }, + { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "thrustrtc" }, +] + +[package.optional-dependencies] +tests = [ + { name = "ipywidgets" }, + { name = "jupyter-core" }, + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "open-atmos-jupyter-utils" }, + { name = "pyrcel" }, + { name = "pysdm-examples" }, + { name = "pytest" }, + { name = "pytest-timeout" }, +] + +[package.metadata] +requires-dist = [ + { name = "chempy" }, + { name = "curandrtc", specifier = ">=0.1.2" }, + { name = "ipywidgets", marker = "extra == 'tests'", specifier = "!=8.0.3" }, + { name = "jupyter-core", marker = "extra == 'tests'", specifier = "<5.0.0" }, + { name = "matplotlib", marker = "extra == 'tests'" }, + { name = "numba", specifier = ">=0.51.2" }, + { name = "numpy" }, + { name = "open-atmos-jupyter-utils", marker = "extra == 'tests'", specifier = ">=1.2.0" }, + { name = "pint" }, + { name = "pyevtk" }, + { name = "pyrcel", marker = "extra == 'tests'" }, + { name = "pysdm-examples", marker = "extra == 'tests'" }, + { name = "pytest", marker = "extra == 'tests'" }, + { name = "pytest-timeout", marker = "extra == 'tests'" }, + { name = "scipy" }, + { name = "thrustrtc", specifier = "==0.3.20" }, +] +provides-extras = ["tests"] + +[[package]] +name = "pysdm-examples" +version = "2.121" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ipywidgets" }, + { name = "joblib", version = "1.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "joblib", version = "1.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numdifftools" }, + { name = "open-atmos-jupyter-utils" }, + { name = "pympdata" }, + { name = "pysdm" }, + { name = "pystrict" }, + { name = "seaborn" }, + { name = "vtk" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/59/fe/104099e5279433d1f3383729a7ef808837fe69b865c29b4972071f5406a3/pysdm_examples-2.121.tar.gz", hash = "sha256:e476461f43b4989f300d61705cb2129c7ef523468c6390d35604a3208ca8e156", size = 123283 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/a2/04d52d588e8947ef6b9cb5e1adc6f0f7da74b311fd06dd6cb404e701de29/pysdm_examples-2.121-py3-none-any.whl", hash = "sha256:4cf74dd7620537f992a6bc51d95c835b4600fb1e48add74666ec70c16746ee0a", size = 168581 }, +] + +[[package]] +name = "pystrict" +version = "1.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/14/30/405f438e8438192bd25660d1869b08af22faa260a8aeadab37be6c1e7d45/pystrict-1.3.tar.gz", hash = "sha256:09d1c236850667510684e259416445309ae68bbf7ac99570efa80fcef750481a", size = 9532 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/c6/09a4294888d43cbe76e115cd0992fe9f84298c76b146e7864e0ff002b20c/pystrict-1.3-py3-none-any.whl", hash = "sha256:548c6fb417753f15933f628633fc808f01795ca8048623aae064f5c7eaa0ac42", size = 3095 }, +] + +[[package]] +name = "pytest" +version = "8.3.5" +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", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634 }, +] + +[[package]] +name = "pytest-timeout" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/82/4c9ecabab13363e72d880f2fb504c5f750433b2b6f16e99f4ec21ada284c/pytest_timeout-2.4.0.tar.gz", hash = "sha256:7e68e90b01f9eff71332b25001f85c75495fc4e3a836701876183c4bcfd0540a", size = 17973 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/b6/3127540ecdf1464a00e5a01ee60a1b09175f6913f0644ac748494d9c4b21/pytest_timeout-2.4.0-py3-none-any.whl", hash = "sha256:c42667e5cdadb151aeb5b26d114aff6bdf5a907f176a007a30b940d3d865b5c2", size = 14382 }, +] + +[[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 } +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 }, +] + +[[package]] +name = "python-json-logger" +version = "3.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/de/d3144a0bceede957f961e975f3752760fbe390d57fbe194baf709d8f1f7b/python_json_logger-3.3.0.tar.gz", hash = "sha256:12b7e74b17775e7d565129296105bbe3910842d9d0eb083fc83a6a617aa8df84", size = 16642 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/20/0f2523b9e50a8052bc6a8b732dfc8568abbdc42010aef03a2d750bdab3b2/python_json_logger-3.3.0-py3-none-any.whl", hash = "sha256:dd980fae8cffb24c13caf6e158d3d61c0d6d22342f932cb6e9deedab3d35eec7", size = 15163 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225 }, +] + +[[package]] +name = "pywin32" +version = "310" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/da/a5f38fffbba2fb99aa4aa905480ac4b8e83ca486659ac8c95bce47fb5276/pywin32-310-cp310-cp310-win32.whl", hash = "sha256:6dd97011efc8bf51d6793a82292419eba2c71cf8e7250cfac03bba284454abc1", size = 8848240 }, + { url = "https://files.pythonhosted.org/packages/aa/fe/d873a773324fa565619ba555a82c9dabd677301720f3660a731a5d07e49a/pywin32-310-cp310-cp310-win_amd64.whl", hash = "sha256:c3e78706e4229b915a0821941a84e7ef420bf2b77e08c9dae3c76fd03fd2ae3d", size = 9601854 }, + { url = "https://files.pythonhosted.org/packages/3c/84/1a8e3d7a15490d28a5d816efa229ecb4999cdc51a7c30dd8914f669093b8/pywin32-310-cp310-cp310-win_arm64.whl", hash = "sha256:33babed0cf0c92a6f94cc6cc13546ab24ee13e3e800e61ed87609ab91e4c8213", size = 8522963 }, + { url = "https://files.pythonhosted.org/packages/f7/b1/68aa2986129fb1011dabbe95f0136f44509afaf072b12b8f815905a39f33/pywin32-310-cp311-cp311-win32.whl", hash = "sha256:1e765f9564e83011a63321bb9d27ec456a0ed90d3732c4b2e312b855365ed8bd", size = 8784284 }, + { url = "https://files.pythonhosted.org/packages/b3/bd/d1592635992dd8db5bb8ace0551bc3a769de1ac8850200cfa517e72739fb/pywin32-310-cp311-cp311-win_amd64.whl", hash = "sha256:126298077a9d7c95c53823934f000599f66ec9296b09167810eb24875f32689c", size = 9520748 }, + { url = "https://files.pythonhosted.org/packages/90/b1/ac8b1ffce6603849eb45a91cf126c0fa5431f186c2e768bf56889c46f51c/pywin32-310-cp311-cp311-win_arm64.whl", hash = "sha256:19ec5fc9b1d51c4350be7bb00760ffce46e6c95eaf2f0b2f1150657b1a43c582", size = 8455941 }, + { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239 }, + { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839 }, + { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470 }, + { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384 }, + { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039 }, + { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152 }, + { url = "https://files.pythonhosted.org/packages/46/65/9c5b79424e344b976394f2b1bb4bedfa4cd013143b72b301a66e4b8943fe/pywin32-310-cp38-cp38-win32.whl", hash = "sha256:0867beb8addefa2e3979d4084352e4ac6e991ca45373390775f7084cc0209b9c", size = 8853889 }, + { url = "https://files.pythonhosted.org/packages/0c/3b/05f848971b3a44b35cd48ea0c6c648745be8bc5a3fc9f4df6f135c7f1e07/pywin32-310-cp38-cp38-win_amd64.whl", hash = "sha256:30f0a9b3138fb5e07eb4973b7077e1883f558e40c578c6925acc7a94c34eaa36", size = 9609017 }, + { url = "https://files.pythonhosted.org/packages/a2/cd/d09d434630edb6a0c44ad5079611279a67530296cfe0451e003de7f449ff/pywin32-310-cp39-cp39-win32.whl", hash = "sha256:851c8d927af0d879221e616ae1f66145253537bbdd321a77e8ef701b443a9a1a", size = 8848099 }, + { url = "https://files.pythonhosted.org/packages/93/ff/2a8c10315ffbdee7b3883ac0d1667e267ca8b3f6f640d81d43b87a82c0c7/pywin32-310-cp39-cp39-win_amd64.whl", hash = "sha256:96867217335559ac619f00ad70e513c0fcf84b8a3af9fc2bba3b59b97da70475", size = 9602031 }, +] + +[[package]] +name = "pywinpty" +version = "2.0.14" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115 }, + { url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223 }, + { url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207 }, + { url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698 }, + { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396 }, +] + +[[package]] +name = "pywinpty" +version = "2.0.15" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/2d/7c/917f9c4681bb8d34bfbe0b79d36bbcd902651aeab48790df3d30ba0202fb/pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2", size = 29017 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a6/b7/855db919ae526d2628f3f2e6c281c4cdff7a9a8af51bb84659a9f07b1861/pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e", size = 1405161 }, + { url = "https://files.pythonhosted.org/packages/5e/ac/6884dcb7108af66ad53f73ef4dad096e768c9203a6e6ce5e6b0c4a46e238/pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca", size = 1405249 }, + { url = "https://files.pythonhosted.org/packages/88/e5/9714def18c3a411809771a3fbcec70bffa764b9675afb00048a620fca604/pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc", size = 1405243 }, + { url = "https://files.pythonhosted.org/packages/fb/16/2ab7b3b7f55f3c6929e5f629e1a68362981e4e5fed592a2ed1cb4b4914a5/pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408", size = 1405020 }, + { url = "https://files.pythonhosted.org/packages/7c/16/edef3515dd2030db2795dbfbe392232c7a0f3dc41b98e92b38b42ba497c7/pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901", size = 1404151 }, + { url = "https://files.pythonhosted.org/packages/47/96/90fa02f19b1eff7469ad7bf0ef8efca248025de9f1d0a0b25682d2aacf68/pywinpty-2.0.15-cp39-cp39-win_amd64.whl", hash = "sha256:d261cd88fcd358cfb48a7ca0700db3e1c088c9c10403c9ebc0d8a8b57aa6a117", size = 1405302 }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, + { url = "https://files.pythonhosted.org/packages/74/d9/323a59d506f12f498c2097488d80d16f4cf965cee1791eab58b56b19f47a/PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", size = 183218 }, + { url = "https://files.pythonhosted.org/packages/74/cc/20c34d00f04d785f2028737e2e2a8254e1425102e730fee1d6396f832577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", size = 728067 }, + { url = "https://files.pythonhosted.org/packages/20/52/551c69ca1501d21c0de51ddafa8c23a0191ef296ff098e98358f69080577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", size = 757812 }, + { url = "https://files.pythonhosted.org/packages/fd/7f/2c3697bba5d4aa5cc2afe81826d73dfae5f049458e44732c7a0938baa673/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", size = 746531 }, + { url = "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", size = 800820 }, + { url = "https://files.pythonhosted.org/packages/a0/99/a9eb0f3e710c06c5d922026f6736e920d431812ace24aae38228d0d64b04/PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", size = 145514 }, + { url = "https://files.pythonhosted.org/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", size = 162702 }, + { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, + { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, + { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, + { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, + { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, + { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, + { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, + { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, + { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, +] + +[[package]] +name = "pyzmq" +version = "26.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/11/b9213d25230ac18a71b39b3723494e57adebe36e066397b961657b3b41c1/pyzmq-26.4.0.tar.gz", hash = "sha256:4bd13f85f80962f91a651a7356fe0472791a5f7a92f227822b5acf44795c626d", size = 278293 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/b8/af1d814ffc3ff9730f9a970cbf216b6f078e5d251a25ef5201d7bc32a37c/pyzmq-26.4.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:0329bdf83e170ac133f44a233fc651f6ed66ef8e66693b5af7d54f45d1ef5918", size = 1339238 }, + { url = "https://files.pythonhosted.org/packages/ee/e4/5aafed4886c264f2ea6064601ad39c5fc4e9b6539c6ebe598a859832eeee/pyzmq-26.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:398a825d2dea96227cf6460ce0a174cf7657d6f6827807d4d1ae9d0f9ae64315", size = 672848 }, + { url = "https://files.pythonhosted.org/packages/79/39/026bf49c721cb42f1ef3ae0ee3d348212a7621d2adb739ba97599b6e4d50/pyzmq-26.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d52d62edc96787f5c1dfa6c6ccff9b581cfae5a70d94ec4c8da157656c73b5b", size = 911299 }, + { url = "https://files.pythonhosted.org/packages/03/23/b41f936a9403b8f92325c823c0f264c6102a0687a99c820f1aaeb99c1def/pyzmq-26.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1410c3a3705db68d11eb2424d75894d41cff2f64d948ffe245dd97a9debfebf4", size = 867920 }, + { url = "https://files.pythonhosted.org/packages/c1/3e/2de5928cdadc2105e7c8f890cc5f404136b41ce5b6eae5902167f1d5641c/pyzmq-26.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:7dacb06a9c83b007cc01e8e5277f94c95c453c5851aac5e83efe93e72226353f", size = 862514 }, + { url = "https://files.pythonhosted.org/packages/ce/57/109569514dd32e05a61d4382bc88980c95bfd2f02e58fea47ec0ccd96de1/pyzmq-26.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6bab961c8c9b3a4dc94d26e9b2cdf84de9918931d01d6ff38c721a83ab3c0ef5", size = 1204494 }, + { url = "https://files.pythonhosted.org/packages/aa/02/dc51068ff2ca70350d1151833643a598625feac7b632372d229ceb4de3e1/pyzmq-26.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a5c09413b924d96af2aa8b57e76b9b0058284d60e2fc3730ce0f979031d162a", size = 1514525 }, + { url = "https://files.pythonhosted.org/packages/48/2a/a7d81873fff0645eb60afaec2b7c78a85a377af8f1d911aff045d8955bc7/pyzmq-26.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7d489ac234d38e57f458fdbd12a996bfe990ac028feaf6f3c1e81ff766513d3b", size = 1414659 }, + { url = "https://files.pythonhosted.org/packages/ef/ea/813af9c42ae21845c1ccfe495bd29c067622a621e85d7cda6bc437de8101/pyzmq-26.4.0-cp310-cp310-win32.whl", hash = "sha256:dea1c8db78fb1b4b7dc9f8e213d0af3fc8ecd2c51a1d5a3ca1cde1bda034a980", size = 580348 }, + { url = "https://files.pythonhosted.org/packages/20/68/318666a89a565252c81d3fed7f3b4c54bd80fd55c6095988dfa2cd04a62b/pyzmq-26.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:fa59e1f5a224b5e04dc6c101d7186058efa68288c2d714aa12d27603ae93318b", size = 643838 }, + { url = "https://files.pythonhosted.org/packages/91/f8/fb1a15b5f4ecd3e588bfde40c17d32ed84b735195b5c7d1d7ce88301a16f/pyzmq-26.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:a651fe2f447672f4a815e22e74630b6b1ec3a1ab670c95e5e5e28dcd4e69bbb5", size = 559565 }, + { url = "https://files.pythonhosted.org/packages/32/6d/234e3b0aa82fd0290b1896e9992f56bdddf1f97266110be54d0177a9d2d9/pyzmq-26.4.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:bfcf82644c9b45ddd7cd2a041f3ff8dce4a0904429b74d73a439e8cab1bd9e54", size = 1339723 }, + { url = "https://files.pythonhosted.org/packages/4f/11/6d561efe29ad83f7149a7cd48e498e539ed09019c6cd7ecc73f4cc725028/pyzmq-26.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9bcae3979b2654d5289d3490742378b2f3ce804b0b5fd42036074e2bf35b030", size = 672645 }, + { url = "https://files.pythonhosted.org/packages/19/fd/81bfe3e23f418644660bad1a90f0d22f0b3eebe33dd65a79385530bceb3d/pyzmq-26.4.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccdff8ac4246b6fb60dcf3982dfaeeff5dd04f36051fe0632748fc0aa0679c01", size = 910133 }, + { url = "https://files.pythonhosted.org/packages/97/68/321b9c775595ea3df832a9516252b653fe32818db66fdc8fa31c9b9fce37/pyzmq-26.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4550af385b442dc2d55ab7717837812799d3674cb12f9a3aa897611839c18e9e", size = 867428 }, + { url = "https://files.pythonhosted.org/packages/4e/6e/159cbf2055ef36aa2aa297e01b24523176e5b48ead283c23a94179fb2ba2/pyzmq-26.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f9f7ffe9db1187a253fca95191854b3fda24696f086e8789d1d449308a34b88", size = 862409 }, + { url = "https://files.pythonhosted.org/packages/05/1c/45fb8db7be5a7d0cadea1070a9cbded5199a2d578de2208197e592f219bd/pyzmq-26.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3709c9ff7ba61589b7372923fd82b99a81932b592a5c7f1a24147c91da9a68d6", size = 1205007 }, + { url = "https://files.pythonhosted.org/packages/f8/fa/658c7f583af6498b463f2fa600f34e298e1b330886f82f1feba0dc2dd6c3/pyzmq-26.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f8f3c30fb2d26ae5ce36b59768ba60fb72507ea9efc72f8f69fa088450cff1df", size = 1514599 }, + { url = "https://files.pythonhosted.org/packages/4d/d7/44d641522353ce0a2bbd150379cb5ec32f7120944e6bfba4846586945658/pyzmq-26.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:382a4a48c8080e273427fc692037e3f7d2851959ffe40864f2db32646eeb3cef", size = 1414546 }, + { url = "https://files.pythonhosted.org/packages/72/76/c8ed7263218b3d1e9bce07b9058502024188bd52cc0b0a267a9513b431fc/pyzmq-26.4.0-cp311-cp311-win32.whl", hash = "sha256:d56aad0517d4c09e3b4f15adebba8f6372c5102c27742a5bdbfc74a7dceb8fca", size = 579247 }, + { url = "https://files.pythonhosted.org/packages/c3/d0/2d9abfa2571a0b1a67c0ada79a8aa1ba1cce57992d80f771abcdf99bb32c/pyzmq-26.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:963977ac8baed7058c1e126014f3fe58b3773f45c78cce7af5c26c09b6823896", size = 644727 }, + { url = "https://files.pythonhosted.org/packages/0d/d1/c8ad82393be6ccedfc3c9f3adb07f8f3976e3c4802640fe3f71441941e70/pyzmq-26.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0c8e8cadc81e44cc5088fcd53b9b3b4ce9344815f6c4a03aec653509296fae3", size = 559942 }, + { url = "https://files.pythonhosted.org/packages/10/44/a778555ebfdf6c7fc00816aad12d185d10a74d975800341b1bc36bad1187/pyzmq-26.4.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:5227cb8da4b6f68acfd48d20c588197fd67745c278827d5238c707daf579227b", size = 1341586 }, + { url = "https://files.pythonhosted.org/packages/9c/4f/f3a58dc69ac757e5103be3bd41fb78721a5e17da7cc617ddb56d973a365c/pyzmq-26.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1c07a7fa7f7ba86554a2b1bef198c9fed570c08ee062fd2fd6a4dcacd45f905", size = 665880 }, + { url = "https://files.pythonhosted.org/packages/fe/45/50230bcfb3ae5cb98bee683b6edeba1919f2565d7cc1851d3c38e2260795/pyzmq-26.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae775fa83f52f52de73183f7ef5395186f7105d5ed65b1ae65ba27cb1260de2b", size = 902216 }, + { url = "https://files.pythonhosted.org/packages/41/59/56bbdc5689be5e13727491ad2ba5efd7cd564365750514f9bc8f212eef82/pyzmq-26.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66c760d0226ebd52f1e6b644a9e839b5db1e107a23f2fcd46ec0569a4fdd4e63", size = 859814 }, + { url = "https://files.pythonhosted.org/packages/81/b1/57db58cfc8af592ce94f40649bd1804369c05b2190e4cbc0a2dad572baeb/pyzmq-26.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ef8c6ecc1d520debc147173eaa3765d53f06cd8dbe7bd377064cdbc53ab456f5", size = 855889 }, + { url = "https://files.pythonhosted.org/packages/e8/92/47542e629cbac8f221c230a6d0f38dd3d9cff9f6f589ed45fdf572ffd726/pyzmq-26.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3150ef4084e163dec29ae667b10d96aad309b668fac6810c9e8c27cf543d6e0b", size = 1197153 }, + { url = "https://files.pythonhosted.org/packages/07/e5/b10a979d1d565d54410afc87499b16c96b4a181af46e7645ab4831b1088c/pyzmq-26.4.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4448c9e55bf8329fa1dcedd32f661bf611214fa70c8e02fee4347bc589d39a84", size = 1507352 }, + { url = "https://files.pythonhosted.org/packages/ab/58/5a23db84507ab9c01c04b1232a7a763be66e992aa2e66498521bbbc72a71/pyzmq-26.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e07dde3647afb084d985310d067a3efa6efad0621ee10826f2cb2f9a31b89d2f", size = 1406834 }, + { url = "https://files.pythonhosted.org/packages/22/74/aaa837b331580c13b79ac39396601fb361454ee184ca85e8861914769b99/pyzmq-26.4.0-cp312-cp312-win32.whl", hash = "sha256:ba034a32ecf9af72adfa5ee383ad0fd4f4e38cdb62b13624278ef768fe5b5b44", size = 577992 }, + { url = "https://files.pythonhosted.org/packages/30/0f/55f8c02c182856743b82dde46b2dc3e314edda7f1098c12a8227eeda0833/pyzmq-26.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:056a97aab4064f526ecb32f4343917a4022a5d9efb6b9df990ff72e1879e40be", size = 640466 }, + { url = "https://files.pythonhosted.org/packages/e4/29/073779afc3ef6f830b8de95026ef20b2d1ec22d0324d767748d806e57379/pyzmq-26.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:2f23c750e485ce1eb639dbd576d27d168595908aa2d60b149e2d9e34c9df40e0", size = 556342 }, + { url = "https://files.pythonhosted.org/packages/d7/20/fb2c92542488db70f833b92893769a569458311a76474bda89dc4264bd18/pyzmq-26.4.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:c43fac689880f5174d6fc864857d1247fe5cfa22b09ed058a344ca92bf5301e3", size = 1339484 }, + { url = "https://files.pythonhosted.org/packages/58/29/2f06b9cabda3a6ea2c10f43e67ded3e47fc25c54822e2506dfb8325155d4/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:902aca7eba477657c5fb81c808318460328758e8367ecdd1964b6330c73cae43", size = 666106 }, + { url = "https://files.pythonhosted.org/packages/77/e4/dcf62bd29e5e190bd21bfccaa4f3386e01bf40d948c239239c2f1e726729/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5e48a830bfd152fe17fbdeaf99ac5271aa4122521bf0d275b6b24e52ef35eb6", size = 902056 }, + { url = "https://files.pythonhosted.org/packages/1a/cf/b36b3d7aea236087d20189bec1a87eeb2b66009731d7055e5c65f845cdba/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31be2b6de98c824c06f5574331f805707c667dc8f60cb18580b7de078479891e", size = 860148 }, + { url = "https://files.pythonhosted.org/packages/18/a6/f048826bc87528c208e90604c3bf573801e54bd91e390cbd2dfa860e82dc/pyzmq-26.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6332452034be001bbf3206ac59c0d2a7713de5f25bb38b06519fc6967b7cf771", size = 855983 }, + { url = "https://files.pythonhosted.org/packages/0a/27/454d34ab6a1d9772a36add22f17f6b85baf7c16e14325fa29e7202ca8ee8/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:da8c0f5dd352136853e6a09b1b986ee5278dfddfebd30515e16eae425c872b30", size = 1197274 }, + { url = "https://files.pythonhosted.org/packages/f4/3d/7abfeab6b83ad38aa34cbd57c6fc29752c391e3954fd12848bd8d2ec0df6/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f4ccc1a0a2c9806dda2a2dd118a3b7b681e448f3bb354056cad44a65169f6d86", size = 1507120 }, + { url = "https://files.pythonhosted.org/packages/13/ff/bc8d21dbb9bc8705126e875438a1969c4f77e03fc8565d6901c7933a3d01/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:1c0b5fceadbab461578daf8d1dcc918ebe7ddd2952f748cf30c7cf2de5d51101", size = 1406738 }, + { url = "https://files.pythonhosted.org/packages/f5/5d/d4cd85b24de71d84d81229e3bbb13392b2698432cf8fdcea5afda253d587/pyzmq-26.4.0-cp313-cp313-win32.whl", hash = "sha256:28e2b0ff5ba4b3dd11062d905682bad33385cfa3cc03e81abd7f0822263e6637", size = 577826 }, + { url = "https://files.pythonhosted.org/packages/c6/6c/f289c1789d7bb6e5a3b3bef7b2a55089b8561d17132be7d960d3ff33b14e/pyzmq-26.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:23ecc9d241004c10e8b4f49d12ac064cd7000e1643343944a10df98e57bc544b", size = 640406 }, + { url = "https://files.pythonhosted.org/packages/b3/99/676b8851cb955eb5236a0c1e9ec679ea5ede092bf8bf2c8a68d7e965cac3/pyzmq-26.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:1edb0385c7f025045d6e0f759d4d3afe43c17a3d898914ec6582e6f464203c08", size = 556216 }, + { url = "https://files.pythonhosted.org/packages/65/c2/1fac340de9d7df71efc59d9c50fc7a635a77b103392d1842898dd023afcb/pyzmq-26.4.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:93a29e882b2ba1db86ba5dd5e88e18e0ac6b627026c5cfbec9983422011b82d4", size = 1333769 }, + { url = "https://files.pythonhosted.org/packages/5c/c7/6c03637e8d742c3b00bec4f5e4cd9d1c01b2f3694c6f140742e93ca637ed/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb45684f276f57110bb89e4300c00f1233ca631f08f5f42528a5c408a79efc4a", size = 658826 }, + { url = "https://files.pythonhosted.org/packages/a5/97/a8dca65913c0f78e0545af2bb5078aebfc142ca7d91cdaffa1fbc73e5dbd/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f72073e75260cb301aad4258ad6150fa7f57c719b3f498cb91e31df16784d89b", size = 891650 }, + { url = "https://files.pythonhosted.org/packages/7d/7e/f63af1031eb060bf02d033732b910fe48548dcfdbe9c785e9f74a6cc6ae4/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be37e24b13026cfedd233bcbbccd8c0bcd2fdd186216094d095f60076201538d", size = 849776 }, + { url = "https://files.pythonhosted.org/packages/f6/fa/1a009ce582802a895c0d5fe9413f029c940a0a8ee828657a3bb0acffd88b/pyzmq-26.4.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:237b283044934d26f1eeff4075f751b05d2f3ed42a257fc44386d00df6a270cf", size = 842516 }, + { url = "https://files.pythonhosted.org/packages/6e/bc/f88b0bad0f7a7f500547d71e99f10336f2314e525d4ebf576a1ea4a1d903/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:b30f862f6768b17040929a68432c8a8be77780317f45a353cb17e423127d250c", size = 1189183 }, + { url = "https://files.pythonhosted.org/packages/d9/8c/db446a3dd9cf894406dec2e61eeffaa3c07c3abb783deaebb9812c4af6a5/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:c80fcd3504232f13617c6ab501124d373e4895424e65de8b72042333316f64a8", size = 1495501 }, + { url = "https://files.pythonhosted.org/packages/05/4c/bf3cad0d64c3214ac881299c4562b815f05d503bccc513e3fd4fdc6f67e4/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:26a2a7451606b87f67cdeca2c2789d86f605da08b4bd616b1a9981605ca3a364", size = 1395540 }, + { url = "https://files.pythonhosted.org/packages/3d/d9/93773ae405b52dbc926c5edc49bce3542bac80a5098c7e709fa966976c7c/pyzmq-26.4.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:831cc53bf6068d46d942af52fa8b0b9d128fb39bcf1f80d468dc9a3ae1da5bfb", size = 1339905 }, + { url = "https://files.pythonhosted.org/packages/31/7d/85d2c99a248b55bcfcb3ec0c7a3175a5ddfb42032a7cd2b36025d8fe055f/pyzmq-26.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:51d18be6193c25bd229524cfac21e39887c8d5e0217b1857998dfbef57c070a4", size = 908123 }, + { url = "https://files.pythonhosted.org/packages/c6/68/6f901c9e8b5712957a8c8dbf17a53fc8580aa7d47c6337db465afd780abc/pyzmq-26.4.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:445c97854204119ae2232503585ebb4fa7517142f71092cb129e5ee547957a1f", size = 863367 }, + { url = "https://files.pythonhosted.org/packages/e3/e0/accaa00da527fa5ea3094419e8293cafd28ce7361ad4b95dd2e817c6e75c/pyzmq-26.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:807b8f4ad3e6084412c0f3df0613269f552110fa6fb91743e3e306223dbf11a6", size = 673295 }, + { url = "https://files.pythonhosted.org/packages/8d/11/41af9c4e6d256fb1ef7fef3b9f5f5f46c2875fa0aac22740f1a002fa6af3/pyzmq-26.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c01d109dd675ac47fa15c0a79d256878d898f90bc10589f808b62d021d2e653c", size = 1205674 }, + { url = "https://files.pythonhosted.org/packages/31/8d/fa70402a39664ee4d44be88c01bfd15169ef46b869726e701c3aa1090151/pyzmq-26.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0a294026e28679a8dd64c922e59411cb586dad307661b4d8a5c49e7bbca37621", size = 1515757 }, + { url = "https://files.pythonhosted.org/packages/0f/82/cb353a1da80dc5c780536a71a4aa57aa15d736dad3400869812fabca2fee/pyzmq-26.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:22c8dd677274af8dfb1efd05006d6f68fb2f054b17066e308ae20cb3f61028cf", size = 1415781 }, + { url = "https://files.pythonhosted.org/packages/c6/bc/9e2a98c4835f56c9b222b5cb5a9c6029fb277ed970c532d339a1f36b740c/pyzmq-26.4.0-cp38-cp38-win32.whl", hash = "sha256:14fc678b696bc42c14e2d7f86ac4e97889d5e6b94d366ebcb637a768d2ad01af", size = 580519 }, + { url = "https://files.pythonhosted.org/packages/0b/db/ae2cb0338c77ec1a01d18ce727272fe770ec6c8e834ddb95b12a4674474f/pyzmq-26.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:d1ef0a536662bbbdc8525f7e2ef19e74123ec9c4578e0582ecd41aedc414a169", size = 644696 }, + { url = "https://files.pythonhosted.org/packages/06/91/21d3af57bc77e86e9d1e5384f256fd25cdb4c8eed4c45c8119da8120915f/pyzmq-26.4.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a88643de8abd000ce99ca72056a1a2ae15881ee365ecb24dd1d9111e43d57842", size = 1340634 }, + { url = "https://files.pythonhosted.org/packages/54/e6/58cd825023e998a0e49db7322b3211e6cf93f0796710b77d1496304c10d1/pyzmq-26.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a744ce209ecb557406fb928f3c8c55ce79b16c3eeb682da38ef5059a9af0848", size = 907880 }, + { url = "https://files.pythonhosted.org/packages/72/83/619e44a766ef738cb7e8ed8e5a54565627801bdb027ca6dfb70762385617/pyzmq-26.4.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9434540f333332224ecb02ee6278b6c6f11ea1266b48526e73c903119b2f420f", size = 863003 }, + { url = "https://files.pythonhosted.org/packages/b6/6a/a59af31320598bdc63d2c5a3181d14a89673c2c794540678285482e8a342/pyzmq-26.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6c6f0a23e55cd38d27d4c89add963294ea091ebcb104d7fdab0f093bc5abb1c", size = 673432 }, + { url = "https://files.pythonhosted.org/packages/29/ae/64dd6c18b08ce2cb009c60f11cf01c87f323acd80344d8b059c0304a7370/pyzmq-26.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6145df55dc2309f6ef72d70576dcd5aabb0fd373311613fe85a5e547c722b780", size = 1205221 }, + { url = "https://files.pythonhosted.org/packages/d0/0b/c583ab750957b025244a66948831bc9ca486d11c820da4626caf6480ee1a/pyzmq-26.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2ea81823840ef8c56e5d2f9918e4d571236294fea4d1842b302aebffb9e40997", size = 1515299 }, + { url = "https://files.pythonhosted.org/packages/22/ba/95ba76292c49dd9c6dff1f127b4867033020b708d101cba6e4fc5a3d166d/pyzmq-26.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cc2abc385dc37835445abe206524fbc0c9e3fce87631dfaa90918a1ba8f425eb", size = 1415366 }, + { url = "https://files.pythonhosted.org/packages/6e/65/51abe36169effda26ac7400ffac96f463e09dff40d344cdc2629d9a59162/pyzmq-26.4.0-cp39-cp39-win32.whl", hash = "sha256:41a2508fe7bed4c76b4cf55aacfb8733926f59d440d9ae2b81ee8220633b4d12", size = 580773 }, + { url = "https://files.pythonhosted.org/packages/89/68/d9ac94086c63a0ed8d73e9e8aec54b39f481696698a5a939a7207629fb30/pyzmq-26.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:d4000e8255d6cbce38982e5622ebb90823f3409b7ffe8aeae4337ef7d6d2612a", size = 644340 }, + { url = "https://files.pythonhosted.org/packages/dc/8f/66c261d657c1b0791ee5b372c90b1646b453adb581fcdc1dc5c94e5b03e3/pyzmq-26.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f6919d9c120488246bdc2a2f96662fa80d67b35bd6d66218f457e722b3ff64", size = 560075 }, + { url = "https://files.pythonhosted.org/packages/47/03/96004704a84095f493be8d2b476641f5c967b269390173f85488a53c1c13/pyzmq-26.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:98d948288ce893a2edc5ec3c438fe8de2daa5bbbd6e2e865ec5f966e237084ba", size = 834408 }, + { url = "https://files.pythonhosted.org/packages/e4/7f/68d8f3034a20505db7551cb2260248be28ca66d537a1ac9a257913d778e4/pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9f34f5c9e0203ece706a1003f1492a56c06c0632d86cb77bcfe77b56aacf27b", size = 569580 }, + { url = "https://files.pythonhosted.org/packages/9b/a6/2b0d6801ec33f2b2a19dd8d02e0a1e8701000fec72926e6787363567d30c/pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80c9b48aef586ff8b698359ce22f9508937c799cc1d2c9c2f7c95996f2300c94", size = 798250 }, + { url = "https://files.pythonhosted.org/packages/96/2a/0322b3437de977dcac8a755d6d7ce6ec5238de78e2e2d9353730b297cf12/pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3f2a5b74009fd50b53b26f65daff23e9853e79aa86e0aa08a53a7628d92d44a", size = 756758 }, + { url = "https://files.pythonhosted.org/packages/c2/33/43704f066369416d65549ccee366cc19153911bec0154da7c6b41fca7e78/pyzmq-26.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:61c5f93d7622d84cb3092d7f6398ffc77654c346545313a3737e266fc11a3beb", size = 555371 }, + { url = "https://files.pythonhosted.org/packages/04/52/a70fcd5592715702248306d8e1729c10742c2eac44529984413b05c68658/pyzmq-26.4.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4478b14cb54a805088299c25a79f27eaf530564a7a4f72bf432a040042b554eb", size = 834405 }, + { url = "https://files.pythonhosted.org/packages/25/f9/1a03f1accff16b3af1a6fa22cbf7ced074776abbf688b2e9cb4629700c62/pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a28ac29c60e4ba84b5f58605ace8ad495414a724fe7aceb7cf06cd0598d04e1", size = 569578 }, + { url = "https://files.pythonhosted.org/packages/76/0c/3a633acd762aa6655fcb71fa841907eae0ab1e8582ff494b137266de341d/pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43b03c1ceea27c6520124f4fb2ba9c647409b9abdf9a62388117148a90419494", size = 798248 }, + { url = "https://files.pythonhosted.org/packages/cd/cc/6c99c84aa60ac1cc56747bed6be8ce6305b9b861d7475772e7a25ce019d3/pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7731abd23a782851426d4e37deb2057bf9410848a4459b5ede4fe89342e687a9", size = 756757 }, + { url = "https://files.pythonhosted.org/packages/13/9c/d8073bd898eb896e94c679abe82e47506e2b750eb261cf6010ced869797c/pyzmq-26.4.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a222ad02fbe80166b0526c038776e8042cd4e5f0dec1489a006a1df47e9040e0", size = 555371 }, + { url = "https://files.pythonhosted.org/packages/e0/b2/07dc7f522f7b91984dd1f7657335c53a87b02a91b4346ac817a01d7eccf2/pyzmq-26.4.0-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:91c3ffaea475ec8bb1a32d77ebc441dcdd13cd3c4c284a6672b92a0f5ade1917", size = 834386 }, + { url = "https://files.pythonhosted.org/packages/fa/84/2a14c4e541eab15d850b283f715351bb2eef85880f0de138e0556ca4db2b/pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d9a78a52668bf5c9e7b0da36aa5760a9fc3680144e1445d68e98df78a25082ed", size = 806046 }, + { url = "https://files.pythonhosted.org/packages/76/d3/afc76763f19b14e8ee652e7258d5707982b96c3a49b77916db0bdc6a8b00/pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b70cab356ff8c860118b89dc86cd910c73ce2127eb986dada4fbac399ef644cf", size = 760820 }, + { url = "https://files.pythonhosted.org/packages/8e/f3/f78b81769cdceb3d5ef606641d574d81aea76ec1e09de561aca6c453f8dc/pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acae207d4387780838192326b32d373bb286da0b299e733860e96f80728eb0af", size = 569570 }, + { url = "https://files.pythonhosted.org/packages/1f/ac/cbffbc88c3c2e921607187340e86910e696740838c2c379c236e16d9102f/pyzmq-26.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f928eafd15794aa4be75463d537348b35503c1e014c5b663f206504ec1a90fe4", size = 555368 }, + { url = "https://files.pythonhosted.org/packages/af/b2/71a644b629e1a93ccae9e22a45aec9d23065dfcc24c399cb837f81cd08c2/pyzmq-26.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:552b0d2e39987733e1e9e948a0ced6ff75e0ea39ab1a1db2fc36eb60fd8760db", size = 834397 }, + { url = "https://files.pythonhosted.org/packages/a9/dd/052a25651eaaff8f5fd652fb40a3abb400e71207db2d605cf6faf0eac598/pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd670a8aa843f2ee637039bbd412e0d7294a5e588e1ecc9ad98b0cdc050259a4", size = 569571 }, + { url = "https://files.pythonhosted.org/packages/a5/5d/201ca10b5d12ab187a418352c06d70c3e2087310af038b11056aba1359be/pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d367b7b775a0e1e54a59a2ba3ed4d5e0a31566af97cc9154e34262777dab95ed", size = 798243 }, + { url = "https://files.pythonhosted.org/packages/bd/d4/2c64e54749536ad1633400f28d71e71e19375d00ce1fe9bb1123364dc927/pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112af16c406e4a93df2caef49f884f4c2bb2b558b0b5577ef0b2465d15c1abc", size = 756751 }, + { url = "https://files.pythonhosted.org/packages/08/e6/34d119af43d06a8dcd88bf7a62dac69597eaba52b49ecce76ff06b40f1fd/pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c76c298683f82669cab0b6da59071f55238c039738297c69f187a542c6d40099", size = 745400 }, + { url = "https://files.pythonhosted.org/packages/f8/49/b5e471d74a63318e51f30d329b17d2550bdededaab55baed2e2499de7ce4/pyzmq-26.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:49b6ca2e625b46f499fb081aaf7819a177f41eeb555acb05758aa97f4f95d147", size = 555367 }, +] + +[[package]] +name = "quantities" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/c0/558372afa9b0bb485e56d15eacee7a099cac7fb744c0b2ac17734b4d5468/quantities-0.16.0.tar.gz", hash = "sha256:211cce2d268da7e202abab5c2533ce3200ff619dd8ac2a3cd98f861b8a57c6eb", size = 100698 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/80/39/d28abebdaac6f455109bae1cd6a40caca1f7ff8e877cbbe69ddad8ae0af2/quantities-0.16.0-py3-none-any.whl", hash = "sha256:189e573953e7864d8c303a3472f6ad39fbe0698c3d75c17059b70bc457c7c66d", size = 102143 }, +] + +[[package]] +name = "quantities" +version = "0.16.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/40/b4/a14dbeebf8ab08600152f157344fd88db961a3afdfd0eddc25958c5182a1/quantities-0.16.2.tar.gz", hash = "sha256:1f7c24f10d9ff57ddf751a358ea2fdfa9914516722f06a788ef4a2924c77d21c", size = 101862 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/0c/b4ee3f929bbe564101f110080dcdd33d1181a6f8a041cc9e21d992509b52/quantities-0.16.2-py3-none-any.whl", hash = "sha256:bd5b1ed422770b7cd8952ccfccaf67a89024ae0ecb31b1eacbc7ff966899ab34", size = 103021 }, +] + +[[package]] +name = "referencing" +version = "0.35.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "attrs", marker = "python_full_version < '3.9'" }, + { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684 }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "attrs", marker = "python_full_version >= '3.9'" }, + { name = "rpds-py", version = "0.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490 }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242 }, +] + +[[package]] +name = "rpds-py" +version = "0.20.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/25/cb/8e919951f55d109d658f81c9b49d0cc3b48637c50792c5d2e77032b8c5da/rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350", size = 25931 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/0e/d7e7e9280988a7bc56fd326042baca27f4f55fad27dc8aa64e5e0e894e5d/rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad", size = 327335 }, + { url = "https://files.pythonhosted.org/packages/4c/72/027185f213d53ae66765c575229829b202fbacf3d55fe2bd9ff4e29bb157/rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f", size = 318250 }, + { url = "https://files.pythonhosted.org/packages/2b/e7/b4eb3e6ff541c83d3b46f45f855547e412ab60c45bef64520fafb00b9b42/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c", size = 361206 }, + { url = "https://files.pythonhosted.org/packages/e7/80/cb9a4b4cad31bcaa37f38dae7a8be861f767eb2ca4f07a146b5ffcfbee09/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163", size = 369921 }, + { url = "https://files.pythonhosted.org/packages/95/1b/463b11e7039e18f9e778568dbf7338c29bbc1f8996381115201c668eb8c8/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf", size = 403673 }, + { url = "https://files.pythonhosted.org/packages/86/98/1ef4028e9d5b76470bf7f8f2459be07ac5c9621270a2a5e093f8d8a8cc2c/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977", size = 430267 }, + { url = "https://files.pythonhosted.org/packages/25/8e/41d7e3e6d3a4a6c94375020477705a3fbb6515717901ab8f94821cf0a0d9/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86", size = 360569 }, + { url = "https://files.pythonhosted.org/packages/4f/6a/8839340464d4e1bbfaf0482e9d9165a2309c2c17427e4dcb72ce3e5cc5d6/rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd", size = 382584 }, + { url = "https://files.pythonhosted.org/packages/64/96/7a7f938d3796a6a3ec08ed0e8a5ecd436fbd516a3684ab1fa22d46d6f6cc/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e", size = 546560 }, + { url = "https://files.pythonhosted.org/packages/15/c7/19fb4f1247a3c90a99eca62909bf76ee988f9b663e47878a673d9854ec5c/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356", size = 549359 }, + { url = "https://files.pythonhosted.org/packages/d2/4c/445eb597a39a883368ea2f341dd6e48a9d9681b12ebf32f38a827b30529b/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899", size = 527567 }, + { url = "https://files.pythonhosted.org/packages/4f/71/4c44643bffbcb37311fc7fe221bcf139c8d660bc78f746dd3a05741372c8/rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff", size = 200412 }, + { url = "https://files.pythonhosted.org/packages/f4/33/9d0529d74099e090ec9ab15eb0a049c56cca599eaaca71bfedbdbca656a9/rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711", size = 218563 }, + { url = "https://files.pythonhosted.org/packages/a0/2e/a6ded84019a05b8f23e0fe6a632f62ae438a8c5e5932d3dfc90c73418414/rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75", size = 327194 }, + { url = "https://files.pythonhosted.org/packages/68/11/d3f84c69de2b2086be3d6bd5e9d172825c096b13842ab7e5f8f39f06035b/rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712", size = 318126 }, + { url = "https://files.pythonhosted.org/packages/18/c0/13f1bce9c901511e5e4c0b77a99dbb946bb9a177ca88c6b480e9cb53e304/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a", size = 361119 }, + { url = "https://files.pythonhosted.org/packages/06/31/3bd721575671f22a37476c2d7b9e34bfa5185bdcee09f7fedde3b29f3adb/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93", size = 369532 }, + { url = "https://files.pythonhosted.org/packages/20/22/3eeb0385f33251b4fd0f728e6a3801dc8acc05e714eb7867cefe635bf4ab/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751", size = 403703 }, + { url = "https://files.pythonhosted.org/packages/10/e1/8dde6174e7ac5b9acd3269afca2e17719bc7e5088c68f44874d2ad9e4560/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535", size = 429868 }, + { url = "https://files.pythonhosted.org/packages/19/51/a3cc1a5238acfc2582033e8934d034301f9d4931b9bf7c7ccfabc4ca0880/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0", size = 360539 }, + { url = "https://files.pythonhosted.org/packages/cd/8c/3c87471a44bd4114e2b0aec90f298f6caaac4e8db6af904d5dd2279f5c61/rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e", size = 382467 }, + { url = "https://files.pythonhosted.org/packages/d0/9b/95073fe3e0f130e6d561e106818b6568ef1f2df3352e7f162ab912da837c/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8", size = 546669 }, + { url = "https://files.pythonhosted.org/packages/de/4c/7ab3669e02bb06fedebcfd64d361b7168ba39dfdf385e4109440f2e7927b/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4", size = 549304 }, + { url = "https://files.pythonhosted.org/packages/f1/e8/ad5da336cd42adbdafe0ecd40dcecdae01fd3d703c621c7637615a008d3a/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3", size = 527637 }, + { url = "https://files.pythonhosted.org/packages/02/f1/1b47b9e5b941c2659c9b7e4ef41b6f07385a6500c638fa10c066e4616ecb/rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732", size = 200488 }, + { url = "https://files.pythonhosted.org/packages/85/f6/c751c1adfa31610055acfa1cc667cf2c2d7011a73070679c448cf5856905/rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84", size = 218475 }, + { url = "https://files.pythonhosted.org/packages/e7/10/4e8dcc08b58a548098dbcee67a4888751a25be7a6dde0a83d4300df48bfa/rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17", size = 329749 }, + { url = "https://files.pythonhosted.org/packages/d2/e4/61144f3790e12fd89e6153d77f7915ad26779735fef8ee9c099cba6dfb4a/rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c", size = 321032 }, + { url = "https://files.pythonhosted.org/packages/fa/e0/99205aabbf3be29ef6c58ef9b08feed51ba6532fdd47461245cb58dd9897/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d", size = 363931 }, + { url = "https://files.pythonhosted.org/packages/ac/bd/bce2dddb518b13a7e77eed4be234c9af0c9c6d403d01c5e6ae8eb447ab62/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f", size = 373343 }, + { url = "https://files.pythonhosted.org/packages/43/15/112b7c553066cb91264691ba7fb119579c440a0ae889da222fa6fc0d411a/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01", size = 406304 }, + { url = "https://files.pythonhosted.org/packages/af/8d/2da52aef8ae5494a382b0c0025ba5b68f2952db0f2a4c7534580e8ca83cc/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a", size = 423022 }, + { url = "https://files.pythonhosted.org/packages/c8/1b/f23015cb293927c93bdb4b94a48bfe77ad9d57359c75db51f0ff0cf482ff/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb", size = 364937 }, + { url = "https://files.pythonhosted.org/packages/7b/8b/6da8636b2ea2e2f709e56656e663b6a71ecd9a9f9d9dc21488aade122026/rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa", size = 386301 }, + { url = "https://files.pythonhosted.org/packages/20/af/2ae192797bffd0d6d558145b5a36e7245346ff3e44f6ddcb82f0eb8512d4/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc", size = 549452 }, + { url = "https://files.pythonhosted.org/packages/07/dd/9f6520712a5108cd7d407c9db44a3d59011b385c58e320d58ebf67757a9e/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd", size = 554370 }, + { url = "https://files.pythonhosted.org/packages/5e/0e/b1bdc7ea0db0946d640ab8965146099093391bb5d265832994c47461e3c5/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5", size = 530940 }, + { url = "https://files.pythonhosted.org/packages/ae/d3/ffe907084299484fab60a7955f7c0e8a295c04249090218c59437010f9f4/rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c", size = 203164 }, + { url = "https://files.pythonhosted.org/packages/1f/ba/9cbb57423c4bfbd81c473913bebaed151ad4158ee2590a4e4b3e70238b48/rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb", size = 220750 }, + { url = "https://files.pythonhosted.org/packages/b5/01/fee2e1d1274c92fff04aa47d805a28d62c2aa971d1f49f5baea1c6e670d9/rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e", size = 329359 }, + { url = "https://files.pythonhosted.org/packages/b0/cf/4aeffb02b7090029d7aeecbffb9a10e1c80f6f56d7e9a30e15481dc4099c/rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c", size = 320543 }, + { url = "https://files.pythonhosted.org/packages/17/69/85cf3429e9ccda684ba63ff36b5866d5f9451e921cc99819341e19880334/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc", size = 363107 }, + { url = "https://files.pythonhosted.org/packages/ef/de/7df88dea9c3eeb832196d23b41f0f6fc5f9a2ee9b2080bbb1db8731ead9c/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8", size = 372027 }, + { url = "https://files.pythonhosted.org/packages/d1/b8/88675399d2038580743c570a809c43a900e7090edc6553f8ffb66b23c965/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d", size = 405031 }, + { url = "https://files.pythonhosted.org/packages/e1/aa/cca639f6d17caf00bab51bdc70fcc0bdda3063e5662665c4fdf60443c474/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982", size = 422271 }, + { url = "https://files.pythonhosted.org/packages/c4/07/bf8a949d2ec4626c285579c9d6b356c692325f1a4126e947736b416e1fc4/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496", size = 363625 }, + { url = "https://files.pythonhosted.org/packages/11/f0/06675c6a58d6ce34547879138810eb9aab0c10e5607ea6c2e4dc56b703c8/rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4", size = 385906 }, + { url = "https://files.pythonhosted.org/packages/bf/ac/2d1f50374eb8e41030fad4e87f81751e1c39e3b5d4bee8c5618830d8a6ac/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7", size = 549021 }, + { url = "https://files.pythonhosted.org/packages/f7/d4/a7d70a7cc71df772eeadf4bce05e32e780a9fe44a511a5b091c7a85cb767/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a", size = 553800 }, + { url = "https://files.pythonhosted.org/packages/87/81/dc30bc449ccba63ad23a0f6633486d4e0e6955f45f3715a130dacabd6ad0/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb", size = 531076 }, + { url = "https://files.pythonhosted.org/packages/50/80/fb62ab48f3b5cfe704ead6ad372da1922ddaa76397055e02eb507054c979/rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782", size = 202804 }, + { url = "https://files.pythonhosted.org/packages/d9/30/a3391e76d0b3313f33bdedd394a519decae3a953d2943e3dabf80ae32447/rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e", size = 220502 }, + { url = "https://files.pythonhosted.org/packages/53/ef/b1883734ea0cd9996de793cdc38c32a28143b04911d1e570090acd8a9162/rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191", size = 327757 }, + { url = "https://files.pythonhosted.org/packages/54/63/47d34dc4ddb3da73e78e10c9009dcf8edc42d355a221351c05c822c2a50b/rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804", size = 318785 }, + { url = "https://files.pythonhosted.org/packages/f7/e1/d6323be4afbe3013f28725553b7bfa80b3f013f91678af258f579f8ea8f9/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963", size = 361511 }, + { url = "https://files.pythonhosted.org/packages/ab/d3/c40e4d9ecd571f0f50fe69bc53fe608d7b2c49b30738b480044990260838/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e", size = 370201 }, + { url = "https://files.pythonhosted.org/packages/f1/b6/96a4a9977a8a06c2c49d90aa571346aff1642abf15066a39a0b4817bf049/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36", size = 403866 }, + { url = "https://files.pythonhosted.org/packages/cd/8f/702b52287949314b498a311f92b5ee0ba30c702a27e0e6b560e2da43b8d5/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8", size = 430163 }, + { url = "https://files.pythonhosted.org/packages/c4/ce/af016c81fda833bf125b20d1677d816f230cad2ab189f46bcbfea3c7a375/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9", size = 360776 }, + { url = "https://files.pythonhosted.org/packages/08/a7/988e179c9bef55821abe41762228d65077e0570ca75c9efbcd1bc6e263b4/rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad", size = 383008 }, + { url = "https://files.pythonhosted.org/packages/96/b0/e4077f7f1b9622112ae83254aedfb691490278793299bc06dcf54ec8c8e4/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28", size = 546371 }, + { url = "https://files.pythonhosted.org/packages/e4/5e/1d4dd08ec0352cfe516ea93ea1993c2f656f893c87dafcd9312bd07f65f7/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1", size = 549809 }, + { url = "https://files.pythonhosted.org/packages/57/ac/a716b4729ff23ec034b7d2ff76a86e6f0753c4098401bdfdf55b2efe90e6/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc", size = 528492 }, + { url = "https://files.pythonhosted.org/packages/e0/ed/a0b58a9ecef79918169eacdabd14eb4c5c86ce71184ed56b80c6eb425828/rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1", size = 200512 }, + { url = "https://files.pythonhosted.org/packages/5f/c3/222e25124283afc76c473fcd2c547e82ec57683fa31cb4d6c6eb44e5d57a/rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425", size = 218627 }, + { url = "https://files.pythonhosted.org/packages/d6/87/e7e0fcbfdc0d0e261534bcc885f6ae6253095b972e32f8b8b1278c78a2a9/rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad", size = 327867 }, + { url = "https://files.pythonhosted.org/packages/93/a0/17836b7961fc82586e9b818abdee2a27e2e605a602bb8c0d43f02092f8c2/rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6", size = 318893 }, + { url = "https://files.pythonhosted.org/packages/dc/03/deb81d8ea3a8b974e7b03cfe8c8c26616ef8f4980dd430d8dd0a2f1b4d8e/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30", size = 361664 }, + { url = "https://files.pythonhosted.org/packages/16/49/d9938603731745c7b6babff97ca61ff3eb4619e7128b5ab0111ad4e91d6d/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83", size = 369796 }, + { url = "https://files.pythonhosted.org/packages/87/d2/480b36c69cdc373853401b6aab6a281cf60f6d72b1545d82c0d23d9dd77c/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1", size = 403860 }, + { url = "https://files.pythonhosted.org/packages/31/7c/f6d909cb57761293308dbef14f1663d84376f2e231892a10aafc57b42037/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db", size = 430793 }, + { url = "https://files.pythonhosted.org/packages/d4/62/c9bd294c4b5f84d9cc2c387b548ae53096ad7e71ac5b02b6310e9dc85aa4/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f", size = 360927 }, + { url = "https://files.pythonhosted.org/packages/c1/a7/15d927d83a44da8307a432b1cac06284b6657706d099a98cc99fec34ad51/rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f", size = 382660 }, + { url = "https://files.pythonhosted.org/packages/4c/28/0630719c18456238bb07d59c4302fed50a13aa8035ec23dbfa80d116f9bc/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f", size = 546888 }, + { url = "https://files.pythonhosted.org/packages/b9/75/3c9bda11b9c15d680b315f898af23825159314d4b56568f24b53ace8afcd/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1", size = 550088 }, + { url = "https://files.pythonhosted.org/packages/70/f1/8fe7d04c194218171220a412057429defa9e2da785de0777c4d39309337e/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf", size = 528270 }, + { url = "https://files.pythonhosted.org/packages/d6/62/41b0020f4b00af042b008e679dbe25a2f5bce655139a81f8b812f9068e52/rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca", size = 200658 }, + { url = "https://files.pythonhosted.org/packages/05/01/e64bb8889f2dcc951e53de33d8b8070456397ae4e10edc35e6cb9908f5c8/rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d", size = 218883 }, + { url = "https://files.pythonhosted.org/packages/b6/fa/7959429e69569d0f6e7d27f80451402da0409349dd2b07f6bcbdd5fad2d3/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74", size = 328209 }, + { url = "https://files.pythonhosted.org/packages/25/97/5dfdb091c30267ff404d2fd9e70c7a6d6ffc65ca77fffe9456e13b719066/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a", size = 319499 }, + { url = "https://files.pythonhosted.org/packages/7c/98/cf2608722400f5f9bb4c82aa5ac09026f3ac2ebea9d4059d3533589ed0b6/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311", size = 361795 }, + { url = "https://files.pythonhosted.org/packages/89/de/0e13dd43c785c60e63933e96fbddda0b019df6862f4d3019bb49c3861131/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d", size = 370604 }, + { url = "https://files.pythonhosted.org/packages/8a/fc/fe3c83c77f82b8059eeec4e998064913d66212b69b3653df48f58ad33d3d/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2", size = 404177 }, + { url = "https://files.pythonhosted.org/packages/94/30/5189518bfb80a41f664daf32b46645c7fbdcc89028a0f1bfa82e806e0fbb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06", size = 430108 }, + { url = "https://files.pythonhosted.org/packages/67/0e/6f069feaff5c298375cd8c55e00ecd9bd79c792ce0893d39448dc0097857/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d", size = 361184 }, + { url = "https://files.pythonhosted.org/packages/27/9f/ce3e2ae36f392c3ef1988c06e9e0b4c74f64267dad7c223003c34da11adb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e", size = 384140 }, + { url = "https://files.pythonhosted.org/packages/5f/d5/89d44504d0bc7a1135062cb520a17903ff002f458371b8d9160af3b71e52/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75", size = 546589 }, + { url = "https://files.pythonhosted.org/packages/8f/8f/e1c2db4fcca3947d9a28ec9553700b4dc8038f0eff575f579e75885b0661/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979", size = 550059 }, + { url = "https://files.pythonhosted.org/packages/67/29/00a9e986df36721b5def82fff60995c1ee8827a7d909a6ec8929fb4cc668/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d", size = 529131 }, + { url = "https://files.pythonhosted.org/packages/a3/32/95364440560ec476b19c6a2704259e710c223bf767632ebaa72cc2a1760f/rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b", size = 219677 }, + { url = "https://files.pythonhosted.org/packages/ed/bf/ad8492e972c90a3d48a38e2b5095c51a8399d5b57e83f2d5d1649490f72b/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab", size = 328046 }, + { url = "https://files.pythonhosted.org/packages/75/fd/84f42386165d6d555acb76c6d39c90b10c9dcf25116daf4f48a0a9d6867a/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c", size = 319306 }, + { url = "https://files.pythonhosted.org/packages/6c/8a/abcd5119a0573f9588ad71a3fde3c07ddd1d1393cfee15a6ba7495c256f1/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780", size = 362558 }, + { url = "https://files.pythonhosted.org/packages/9d/65/1c2bb10afd4bd32800227a658ae9097bc1d08a4e5048a57a9bd2efdf6306/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c", size = 370811 }, + { url = "https://files.pythonhosted.org/packages/6c/ee/f4bab2b9e51ced30351cfd210647885391463ae682028c79760e7db28e4e/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0", size = 404660 }, + { url = "https://files.pythonhosted.org/packages/48/0f/9d04d0939682f0c97be827fc51ff986555ffb573e6781bd5132441f0ce25/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338", size = 430490 }, + { url = "https://files.pythonhosted.org/packages/0d/f2/e9b90fd8416d59941b6a12f2c2e1d898b63fd092f5a7a6f98236cb865764/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6", size = 361448 }, + { url = "https://files.pythonhosted.org/packages/0b/83/1cc776dce7bedb17d6f4ea62eafccee8a57a4678f4fac414ab69fb9b6b0b/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5", size = 383681 }, + { url = "https://files.pythonhosted.org/packages/17/5c/e0cdd6b0a8373fdef3667af2778dd9ff3abf1bbb9c7bd92c603c91440eb0/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519", size = 546203 }, + { url = "https://files.pythonhosted.org/packages/1b/a8/81fc9cbc01e7ef6d10652aedc1de4e8473934773e2808ba49094e03575df/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2", size = 549855 }, + { url = "https://files.pythonhosted.org/packages/b3/87/99648693d3c1bbce088119bc61ecaab62e5f9c713894edc604ffeca5ae88/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684", size = 528625 }, + { url = "https://files.pythonhosted.org/packages/05/c3/10c68a08849f1fa45d205e54141fa75d316013e3d701ef01770ee1220bb8/rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a", size = 219991 }, +] + +[[package]] +name = "rpds-py" +version = "0.25.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/8c/a6/60184b7fc00dd3ca80ac635dd5b8577d444c57e8e8742cecabfacb829921/rpds_py-0.25.1.tar.gz", hash = "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", size = 27304 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/09/e1158988e50905b7f8306487a576b52d32aa9a87f79f7ab24ee8db8b6c05/rpds_py-0.25.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9", size = 373140 }, + { url = "https://files.pythonhosted.org/packages/e0/4b/a284321fb3c45c02fc74187171504702b2934bfe16abab89713eedfe672e/rpds_py-0.25.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40", size = 358860 }, + { url = "https://files.pythonhosted.org/packages/4e/46/8ac9811150c75edeae9fc6fa0e70376c19bc80f8e1f7716981433905912b/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f", size = 386179 }, + { url = "https://files.pythonhosted.org/packages/f3/ec/87eb42d83e859bce91dcf763eb9f2ab117142a49c9c3d17285440edb5b69/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b", size = 400282 }, + { url = "https://files.pythonhosted.org/packages/68/c8/2a38e0707d7919c8c78e1d582ab15cf1255b380bcb086ca265b73ed6db23/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa", size = 521824 }, + { url = "https://files.pythonhosted.org/packages/5e/2c/6a92790243569784dde84d144bfd12bd45102f4a1c897d76375076d730ab/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e", size = 411644 }, + { url = "https://files.pythonhosted.org/packages/eb/76/66b523ffc84cf47db56efe13ae7cf368dee2bacdec9d89b9baca5e2e6301/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da", size = 386955 }, + { url = "https://files.pythonhosted.org/packages/b6/b9/a362d7522feaa24dc2b79847c6175daa1c642817f4a19dcd5c91d3e2c316/rpds_py-0.25.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380", size = 421039 }, + { url = "https://files.pythonhosted.org/packages/0f/c4/b5b6f70b4d719b6584716889fd3413102acf9729540ee76708d56a76fa97/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9", size = 563290 }, + { url = "https://files.pythonhosted.org/packages/87/a3/2e6e816615c12a8f8662c9d8583a12eb54c52557521ef218cbe3095a8afa/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54", size = 592089 }, + { url = "https://files.pythonhosted.org/packages/c0/08/9b8e1050e36ce266135994e2c7ec06e1841f1c64da739daeb8afe9cb77a4/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2", size = 558400 }, + { url = "https://files.pythonhosted.org/packages/f2/df/b40b8215560b8584baccd839ff5c1056f3c57120d79ac41bd26df196da7e/rpds_py-0.25.1-cp310-cp310-win32.whl", hash = "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24", size = 219741 }, + { url = "https://files.pythonhosted.org/packages/10/99/e4c58be18cf5d8b40b8acb4122bc895486230b08f978831b16a3916bd24d/rpds_py-0.25.1-cp310-cp310-win_amd64.whl", hash = "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a", size = 231553 }, + { url = "https://files.pythonhosted.org/packages/95/e1/df13fe3ddbbea43567e07437f097863b20c99318ae1f58a0fe389f763738/rpds_py-0.25.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d", size = 373341 }, + { url = "https://files.pythonhosted.org/packages/7a/58/deef4d30fcbcbfef3b6d82d17c64490d5c94585a2310544ce8e2d3024f83/rpds_py-0.25.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255", size = 359111 }, + { url = "https://files.pythonhosted.org/packages/bb/7e/39f1f4431b03e96ebaf159e29a0f82a77259d8f38b2dd474721eb3a8ac9b/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2", size = 386112 }, + { url = "https://files.pythonhosted.org/packages/db/e7/847068a48d63aec2ae695a1646089620b3b03f8ccf9f02c122ebaf778f3c/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0", size = 400362 }, + { url = "https://files.pythonhosted.org/packages/3b/3d/9441d5db4343d0cee759a7ab4d67420a476cebb032081763de934719727b/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f", size = 522214 }, + { url = "https://files.pythonhosted.org/packages/a2/ec/2cc5b30d95f9f1a432c79c7a2f65d85e52812a8f6cbf8768724571710786/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7", size = 411491 }, + { url = "https://files.pythonhosted.org/packages/dc/6c/44695c1f035077a017dd472b6a3253553780837af2fac9b6ac25f6a5cb4d/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd", size = 386978 }, + { url = "https://files.pythonhosted.org/packages/b1/74/b4357090bb1096db5392157b4e7ed8bb2417dc7799200fcbaee633a032c9/rpds_py-0.25.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65", size = 420662 }, + { url = "https://files.pythonhosted.org/packages/26/dd/8cadbebf47b96e59dfe8b35868e5c38a42272699324e95ed522da09d3a40/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f", size = 563385 }, + { url = "https://files.pythonhosted.org/packages/c3/ea/92960bb7f0e7a57a5ab233662f12152085c7dc0d5468534c65991a3d48c9/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d", size = 592047 }, + { url = "https://files.pythonhosted.org/packages/61/ad/71aabc93df0d05dabcb4b0c749277881f8e74548582d96aa1bf24379493a/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042", size = 557863 }, + { url = "https://files.pythonhosted.org/packages/93/0f/89df0067c41f122b90b76f3660028a466eb287cbe38efec3ea70e637ca78/rpds_py-0.25.1-cp311-cp311-win32.whl", hash = "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc", size = 219627 }, + { url = "https://files.pythonhosted.org/packages/7c/8d/93b1a4c1baa903d0229374d9e7aa3466d751f1d65e268c52e6039c6e338e/rpds_py-0.25.1-cp311-cp311-win_amd64.whl", hash = "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4", size = 231603 }, + { url = "https://files.pythonhosted.org/packages/cb/11/392605e5247bead2f23e6888e77229fbd714ac241ebbebb39a1e822c8815/rpds_py-0.25.1-cp311-cp311-win_arm64.whl", hash = "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4", size = 223967 }, + { url = "https://files.pythonhosted.org/packages/7f/81/28ab0408391b1dc57393653b6a0cf2014cc282cc2909e4615e63e58262be/rpds_py-0.25.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", size = 364647 }, + { url = "https://files.pythonhosted.org/packages/2c/9a/7797f04cad0d5e56310e1238434f71fc6939d0bc517192a18bb99a72a95f/rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", size = 350454 }, + { url = "https://files.pythonhosted.org/packages/69/3c/93d2ef941b04898011e5d6eaa56a1acf46a3b4c9f4b3ad1bbcbafa0bee1f/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", size = 389665 }, + { url = "https://files.pythonhosted.org/packages/c1/57/ad0e31e928751dde8903a11102559628d24173428a0f85e25e187defb2c1/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", size = 403873 }, + { url = "https://files.pythonhosted.org/packages/16/ad/c0c652fa9bba778b4f54980a02962748479dc09632e1fd34e5282cf2556c/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", size = 525866 }, + { url = "https://files.pythonhosted.org/packages/2a/39/3e1839bc527e6fcf48d5fec4770070f872cdee6c6fbc9b259932f4e88a38/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", size = 416886 }, + { url = "https://files.pythonhosted.org/packages/7a/95/dd6b91cd4560da41df9d7030a038298a67d24f8ca38e150562644c829c48/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", size = 390666 }, + { url = "https://files.pythonhosted.org/packages/64/48/1be88a820e7494ce0a15c2d390ccb7c52212370badabf128e6a7bb4cb802/rpds_py-0.25.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", size = 425109 }, + { url = "https://files.pythonhosted.org/packages/cf/07/3e2a17927ef6d7720b9949ec1b37d1e963b829ad0387f7af18d923d5cfa5/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", size = 567244 }, + { url = "https://files.pythonhosted.org/packages/d2/e5/76cf010998deccc4f95305d827847e2eae9c568099c06b405cf96384762b/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", size = 596023 }, + { url = "https://files.pythonhosted.org/packages/52/9a/df55efd84403736ba37a5a6377b70aad0fd1cb469a9109ee8a1e21299a1c/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", size = 561634 }, + { url = "https://files.pythonhosted.org/packages/ab/aa/dc3620dd8db84454aaf9374bd318f1aa02578bba5e567f5bf6b79492aca4/rpds_py-0.25.1-cp312-cp312-win32.whl", hash = "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", size = 222713 }, + { url = "https://files.pythonhosted.org/packages/a3/7f/7cef485269a50ed5b4e9bae145f512d2a111ca638ae70cc101f661b4defd/rpds_py-0.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", size = 235280 }, + { url = "https://files.pythonhosted.org/packages/99/f2/c2d64f6564f32af913bf5f3f7ae41c7c263c5ae4c4e8f1a17af8af66cd46/rpds_py-0.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", size = 225399 }, + { url = "https://files.pythonhosted.org/packages/2b/da/323848a2b62abe6a0fec16ebe199dc6889c5d0a332458da8985b2980dffe/rpds_py-0.25.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559", size = 364498 }, + { url = "https://files.pythonhosted.org/packages/1f/b4/4d3820f731c80fd0cd823b3e95b9963fec681ae45ba35b5281a42382c67d/rpds_py-0.25.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1", size = 350083 }, + { url = "https://files.pythonhosted.org/packages/d5/b1/3a8ee1c9d480e8493619a437dec685d005f706b69253286f50f498cbdbcf/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c", size = 389023 }, + { url = "https://files.pythonhosted.org/packages/3b/31/17293edcfc934dc62c3bf74a0cb449ecd549531f956b72287203e6880b87/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb", size = 403283 }, + { url = "https://files.pythonhosted.org/packages/d1/ca/e0f0bc1a75a8925024f343258c8ecbd8828f8997ea2ac71e02f67b6f5299/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40", size = 524634 }, + { url = "https://files.pythonhosted.org/packages/3e/03/5d0be919037178fff33a6672ffc0afa04ea1cfcb61afd4119d1b5280ff0f/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79", size = 416233 }, + { url = "https://files.pythonhosted.org/packages/05/7c/8abb70f9017a231c6c961a8941403ed6557664c0913e1bf413cbdc039e75/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325", size = 390375 }, + { url = "https://files.pythonhosted.org/packages/7a/ac/a87f339f0e066b9535074a9f403b9313fd3892d4a164d5d5f5875ac9f29f/rpds_py-0.25.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295", size = 424537 }, + { url = "https://files.pythonhosted.org/packages/1f/8f/8d5c1567eaf8c8afe98a838dd24de5013ce6e8f53a01bd47fe8bb06b5533/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b", size = 566425 }, + { url = "https://files.pythonhosted.org/packages/95/33/03016a6be5663b389c8ab0bbbcca68d9e96af14faeff0a04affcb587e776/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98", size = 595197 }, + { url = "https://files.pythonhosted.org/packages/33/8d/da9f4d3e208c82fda311bff0cf0a19579afceb77cf456e46c559a1c075ba/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd", size = 561244 }, + { url = "https://files.pythonhosted.org/packages/e2/b3/39d5dcf7c5f742ecd6dbc88f6f84ae54184b92f5f387a4053be2107b17f1/rpds_py-0.25.1-cp313-cp313-win32.whl", hash = "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31", size = 222254 }, + { url = "https://files.pythonhosted.org/packages/5f/19/2d6772c8eeb8302c5f834e6d0dfd83935a884e7c5ce16340c7eaf89ce925/rpds_py-0.25.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500", size = 234741 }, + { url = "https://files.pythonhosted.org/packages/5b/5a/145ada26cfaf86018d0eb304fe55eafdd4f0b6b84530246bb4a7c4fb5c4b/rpds_py-0.25.1-cp313-cp313-win_arm64.whl", hash = "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5", size = 224830 }, + { url = "https://files.pythonhosted.org/packages/4b/ca/d435844829c384fd2c22754ff65889c5c556a675d2ed9eb0e148435c6690/rpds_py-0.25.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129", size = 359668 }, + { url = "https://files.pythonhosted.org/packages/1f/01/b056f21db3a09f89410d493d2f6614d87bb162499f98b649d1dbd2a81988/rpds_py-0.25.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d", size = 345649 }, + { url = "https://files.pythonhosted.org/packages/e0/0f/e0d00dc991e3d40e03ca36383b44995126c36b3eafa0ccbbd19664709c88/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72", size = 384776 }, + { url = "https://files.pythonhosted.org/packages/9f/a2/59374837f105f2ca79bde3c3cd1065b2f8c01678900924949f6392eab66d/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34", size = 395131 }, + { url = "https://files.pythonhosted.org/packages/9c/dc/48e8d84887627a0fe0bac53f0b4631e90976fd5d35fff8be66b8e4f3916b/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9", size = 520942 }, + { url = "https://files.pythonhosted.org/packages/7c/f5/ee056966aeae401913d37befeeab57a4a43a4f00099e0a20297f17b8f00c/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5", size = 411330 }, + { url = "https://files.pythonhosted.org/packages/ab/74/b2cffb46a097cefe5d17f94ede7a174184b9d158a0aeb195f39f2c0361e8/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194", size = 387339 }, + { url = "https://files.pythonhosted.org/packages/7f/9a/0ff0b375dcb5161c2b7054e7d0b7575f1680127505945f5cabaac890bc07/rpds_py-0.25.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6", size = 418077 }, + { url = "https://files.pythonhosted.org/packages/0d/a1/fda629bf20d6b698ae84c7c840cfb0e9e4200f664fc96e1f456f00e4ad6e/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78", size = 562441 }, + { url = "https://files.pythonhosted.org/packages/20/15/ce4b5257f654132f326f4acd87268e1006cc071e2c59794c5bdf4bebbb51/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72", size = 590750 }, + { url = "https://files.pythonhosted.org/packages/fb/ab/e04bf58a8d375aeedb5268edcc835c6a660ebf79d4384d8e0889439448b0/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", size = 558891 }, + { url = "https://files.pythonhosted.org/packages/90/82/cb8c6028a6ef6cd2b7991e2e4ced01c854b6236ecf51e81b64b569c43d73/rpds_py-0.25.1-cp313-cp313t-win32.whl", hash = "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", size = 218718 }, + { url = "https://files.pythonhosted.org/packages/b6/97/5a4b59697111c89477d20ba8a44df9ca16b41e737fa569d5ae8bff99e650/rpds_py-0.25.1-cp313-cp313t-win_amd64.whl", hash = "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", size = 232218 }, + { url = "https://files.pythonhosted.org/packages/89/74/716d42058ef501e2c08f27aa3ff455f6fc1bbbd19a6ab8dea07e6322d217/rpds_py-0.25.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd", size = 373475 }, + { url = "https://files.pythonhosted.org/packages/e1/21/3faa9c523e2496a2505d7440b6f24c9166f37cb7ac027cac6cfbda9b4b5f/rpds_py-0.25.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634", size = 359349 }, + { url = "https://files.pythonhosted.org/packages/6a/1c/c747fe568d21b1d679079b52b926ebc4d1497457510a1773dc5fd4b7b4e2/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be", size = 386526 }, + { url = "https://files.pythonhosted.org/packages/0b/cc/4a41703de4fb291f13660fa3d882cbd39db5d60497c6e7fa7f5142e5e69f/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0", size = 400526 }, + { url = "https://files.pythonhosted.org/packages/f1/78/60c980bedcad8418b614f0b4d6d420ecf11225b579cec0cb4e84d168b4da/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908", size = 525726 }, + { url = "https://files.pythonhosted.org/packages/3f/37/f2f36b7f1314b3c3200d663decf2f8e29480492a39ab22447112aead4693/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a", size = 412045 }, + { url = "https://files.pythonhosted.org/packages/df/96/e03783e87a775b1242477ccbc35895f8e9b2bbdb60e199034a6da03c2687/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9", size = 386953 }, + { url = "https://files.pythonhosted.org/packages/7c/7d/1418f4b69bfb4b40481a3d84782113ad7d4cca0b38ae70b982dd5b20102a/rpds_py-0.25.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80", size = 421144 }, + { url = "https://files.pythonhosted.org/packages/b3/0e/61469912c6493ee3808012e60f4930344b974fcb6b35c4348e70b6be7bc7/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a", size = 563730 }, + { url = "https://files.pythonhosted.org/packages/f6/86/6d0a5cc56481ac61977b7c839677ed5c63d38cf0fcb3e2280843a8a6f476/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451", size = 592321 }, + { url = "https://files.pythonhosted.org/packages/5d/87/d1e2453fe336f71e6aa296452a8c85c2118b587b1d25ce98014f75838a60/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f", size = 558162 }, + { url = "https://files.pythonhosted.org/packages/ad/92/349f04b1644c5cef3e2e6c53b7168a28531945f9e6fca7425f6d20ddbc3c/rpds_py-0.25.1-cp39-cp39-win32.whl", hash = "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449", size = 219920 }, + { url = "https://files.pythonhosted.org/packages/f2/84/3969bef883a3f37ff2213795257cb7b7e93a115829670befb8de0e003031/rpds_py-0.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890", size = 231452 }, + { url = "https://files.pythonhosted.org/packages/78/ff/566ce53529b12b4f10c0a348d316bd766970b7060b4fd50f888be3b3b281/rpds_py-0.25.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28", size = 373931 }, + { url = "https://files.pythonhosted.org/packages/83/5d/deba18503f7c7878e26aa696e97f051175788e19d5336b3b0e76d3ef9256/rpds_py-0.25.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f", size = 359074 }, + { url = "https://files.pythonhosted.org/packages/0d/74/313415c5627644eb114df49c56a27edba4d40cfd7c92bd90212b3604ca84/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13", size = 387255 }, + { url = "https://files.pythonhosted.org/packages/8c/c8/c723298ed6338963d94e05c0f12793acc9b91d04ed7c4ba7508e534b7385/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d", size = 400714 }, + { url = "https://files.pythonhosted.org/packages/33/8a/51f1f6aa653c2e110ed482ef2ae94140d56c910378752a1b483af11019ee/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000", size = 523105 }, + { url = "https://files.pythonhosted.org/packages/c7/a4/7873d15c088ad3bff36910b29ceb0f178e4b3232c2adbe9198de68a41e63/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540", size = 411499 }, + { url = "https://files.pythonhosted.org/packages/90/f3/0ce1437befe1410766d11d08239333ac1b2d940f8a64234ce48a7714669c/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b", size = 387918 }, + { url = "https://files.pythonhosted.org/packages/94/d4/5551247988b2a3566afb8a9dba3f1d4a3eea47793fd83000276c1a6c726e/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e", size = 421705 }, + { url = "https://files.pythonhosted.org/packages/b0/25/5960f28f847bf736cc7ee3c545a7e1d2f3b5edaf82c96fb616c2f5ed52d0/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8", size = 564489 }, + { url = "https://files.pythonhosted.org/packages/02/66/1c99884a0d44e8c2904d3c4ec302f995292d5dde892c3bf7685ac1930146/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8", size = 592557 }, + { url = "https://files.pythonhosted.org/packages/55/ae/4aeac84ebeffeac14abb05b3bb1d2f728d00adb55d3fb7b51c9fa772e760/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11", size = 558691 }, + { url = "https://files.pythonhosted.org/packages/41/b3/728a08ff6f5e06fe3bb9af2e770e9d5fd20141af45cff8dfc62da4b2d0b3/rpds_py-0.25.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a", size = 231651 }, + { url = "https://files.pythonhosted.org/packages/49/74/48f3df0715a585cbf5d34919c9c757a4c92c1a9eba059f2d334e72471f70/rpds_py-0.25.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954", size = 374208 }, + { url = "https://files.pythonhosted.org/packages/55/b0/9b01bb11ce01ec03d05e627249cc2c06039d6aa24ea5a22a39c312167c10/rpds_py-0.25.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba", size = 359262 }, + { url = "https://files.pythonhosted.org/packages/a9/eb/5395621618f723ebd5116c53282052943a726dba111b49cd2071f785b665/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b", size = 387366 }, + { url = "https://files.pythonhosted.org/packages/68/73/3d51442bdb246db619d75039a50ea1cf8b5b4ee250c3e5cd5c3af5981cd4/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038", size = 400759 }, + { url = "https://files.pythonhosted.org/packages/b7/4c/3a32d5955d7e6cb117314597bc0f2224efc798428318b13073efe306512a/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9", size = 523128 }, + { url = "https://files.pythonhosted.org/packages/be/95/1ffccd3b0bb901ae60b1dd4b1be2ab98bb4eb834cd9b15199888f5702f7b/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1", size = 411597 }, + { url = "https://files.pythonhosted.org/packages/ef/6d/6e6cd310180689db8b0d2de7f7d1eabf3fb013f239e156ae0d5a1a85c27f/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762", size = 388053 }, + { url = "https://files.pythonhosted.org/packages/4a/87/ec4186b1fe6365ced6fa470960e68fc7804bafbe7c0cf5a36237aa240efa/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e", size = 421821 }, + { url = "https://files.pythonhosted.org/packages/7a/60/84f821f6bf4e0e710acc5039d91f8f594fae0d93fc368704920d8971680d/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692", size = 564534 }, + { url = "https://files.pythonhosted.org/packages/41/3a/bc654eb15d3b38f9330fe0f545016ba154d89cdabc6177b0295910cd0ebe/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf", size = 592674 }, + { url = "https://files.pythonhosted.org/packages/2e/ba/31239736f29e4dfc7a58a45955c5db852864c306131fd6320aea214d5437/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe", size = 558781 }, + { url = "https://files.pythonhosted.org/packages/78/b2/198266f070c6760e0e8cd00f9f2b9c86133ceebbe7c6d114bdcfea200180/rpds_py-0.25.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b", size = 373973 }, + { url = "https://files.pythonhosted.org/packages/13/79/1265eae618f88aa5d5e7122bd32dd41700bafe5a8bcea404e998848cd844/rpds_py-0.25.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23", size = 359326 }, + { url = "https://files.pythonhosted.org/packages/30/ab/6913b96f3ac072e87e76e45fe938263b0ab0d78b6b2cef3f2e56067befc0/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e", size = 387544 }, + { url = "https://files.pythonhosted.org/packages/b0/23/129ed12d25229acc6deb8cbe90baadd8762e563c267c9594eb2fcc15be0c/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7", size = 400240 }, + { url = "https://files.pythonhosted.org/packages/b5/e0/6811a38a5efa46b7ee6ed2103c95cb9abb16991544c3b69007aa679b6944/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83", size = 525599 }, + { url = "https://files.pythonhosted.org/packages/6c/10/2dc88bcaa0d86bdb59e017a330b1972ffeeb7f5061bb5a180c9a2bb73bbf/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b", size = 411154 }, + { url = "https://files.pythonhosted.org/packages/cf/d1/a72d522eb7d934fb33e9c501e6ecae00e2035af924d4ff37d964e9a3959b/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf", size = 388297 }, + { url = "https://files.pythonhosted.org/packages/55/90/0dd7169ec74f042405b6b73512200d637a3088c156f64e1c07c18aa2fe59/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1", size = 421894 }, + { url = "https://files.pythonhosted.org/packages/37/e9/45170894add451783ed839c5c4a495e050aa8baa06d720364d9dff394dac/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1", size = 564409 }, + { url = "https://files.pythonhosted.org/packages/59/d0/31cece9090e76fbdb50c758c165d40da604b03b37c3ba53f010bbfeb130a/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf", size = 592681 }, + { url = "https://files.pythonhosted.org/packages/f1/4c/22ef535efb2beec614ba7be83e62b439eb83b0b0d7b1775e22d35af3f9b5/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992", size = 558744 }, + { url = "https://files.pythonhosted.org/packages/79/ff/f2150efc8daf0581d4dfaf0a2a30b08088b6df900230ee5ae4f7c8cd5163/rpds_py-0.25.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793", size = 231305 }, +] + +[[package]] +name = "scipy" +version = "1.10.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5", size = 42407997 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/ac/b1f1bbf7b01d96495f35be003b881f10f85bf6559efb6e9578da832c2140/scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", size = 35093243 }, + { url = "https://files.pythonhosted.org/packages/ea/e5/452086ebed676ce4000ceb5eeeb0ee4f8c6f67c7e70fb9323a370ff95c1f/scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", size = 28772969 }, + { url = "https://files.pythonhosted.org/packages/04/0b/a1b119c869b79a2ab459b7f9fd7e2dea75a9c7d432e64e915e75586bd00b/scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f", size = 30886961 }, + { url = "https://files.pythonhosted.org/packages/1f/4b/3bacad9a166350cb2e518cea80ab891016933cc1653f15c90279512c5fa9/scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", size = 34422544 }, + { url = "https://files.pythonhosted.org/packages/ec/e3/b06ac3738bf365e89710205a471abe7dceec672a51c244b469bc5d1291c7/scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1", size = 42484848 }, + { url = "https://files.pythonhosted.org/packages/e7/53/053cd3669be0d474deae8fe5f757bff4c4f480b8a410231e0631c068873d/scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd", size = 35003170 }, + { url = "https://files.pythonhosted.org/packages/0d/3e/d05b9de83677195886fb79844fcca19609a538db63b1790fa373155bc3cf/scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5", size = 28717513 }, + { url = "https://files.pythonhosted.org/packages/a5/3d/b69746c50e44893da57a68457da3d7e5bb75f6a37fbace3769b70d017488/scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35", size = 30687257 }, + { url = "https://files.pythonhosted.org/packages/21/cd/fe2d4af234b80dc08c911ce63fdaee5badcdde3e9bcd9a68884580652ef0/scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d", size = 34124096 }, + { url = "https://files.pythonhosted.org/packages/65/76/903324159e4a3566e518c558aeb21571d642f781d842d8dd0fd9c6b0645a/scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f", size = 42238704 }, + { url = "https://files.pythonhosted.org/packages/a0/e3/37508a11dae501349d7c16e4dd18c706a023629eedc650ee094593887a89/scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35", size = 35041063 }, + { url = "https://files.pythonhosted.org/packages/93/4a/50c436de1353cce8b66b26e49a687f10b91fe7465bf34e4565d810153003/scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88", size = 28797694 }, + { url = "https://files.pythonhosted.org/packages/d2/b5/ff61b79ad0ebd15d87ade10e0f4e80114dd89fac34a5efade39e99048c91/scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1", size = 31024657 }, + { url = "https://files.pythonhosted.org/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f", size = 34540352 }, + { url = "https://files.pythonhosted.org/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415", size = 42215036 }, + { url = "https://files.pythonhosted.org/packages/d9/7d/78b8035bc93c869b9f17261c87aae97a9cdb937f65f0d453c2831aa172fc/scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9", size = 35158611 }, + { url = "https://files.pythonhosted.org/packages/e7/f0/55d81813b1a4cb79ce7dc8290eac083bf38bfb36e1ada94ea13b7b1a5f79/scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6", size = 28902591 }, + { url = "https://files.pythonhosted.org/packages/77/d1/722c457b319eed1d642e0a14c9be37eb475f0e6ed1f3401fa480d5d6d36e/scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353", size = 30960654 }, + { url = "https://files.pythonhosted.org/packages/5d/30/b2a2a5bf1a3beefb7609fb871dcc6aef7217c69cef19a4631b7ab5622a8a/scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601", size = 34458863 }, + { url = "https://files.pythonhosted.org/packages/35/20/0ec6246bbb43d18650c9a7cad6602e1a84fd8f9564a9b84cc5faf1e037d0/scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea", size = 42509516 }, +] + +[[package]] +name = "scipy" +version = "1.13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076 }, + { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232 }, + { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202 }, + { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335 }, + { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728 }, + { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588 }, + { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805 }, + { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687 }, + { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638 }, + { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931 }, + { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145 }, + { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227 }, + { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301 }, + { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348 }, + { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062 }, + { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311 }, + { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493 }, + { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955 }, + { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927 }, + { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538 }, + { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190 }, + { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244 }, + { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637 }, + { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440 }, +] + +[[package]] +name = "scipy" +version = "1.15.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214 } +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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184 }, + { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256 }, + { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540 }, + { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115 }, + { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884 }, + { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018 }, + { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716 }, + { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342 }, + { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869 }, + { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851 }, + { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011 }, + { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407 }, + { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030 }, + { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709 }, + { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045 }, + { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062 }, + { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132 }, + { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503 }, + { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097 }, +] + +[[package]] +name = "seaborn" +version = "0.13.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/86/59/a451d7420a77ab0b98f7affa3a1d78a313d2f7281a57afb1a34bae8ab412/seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7", size = 1457696 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", size = 294914 }, +] + +[[package]] +name = "send2trash" +version = "1.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072 }, +] + +[[package]] +name = "setuptools" +version = "75.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/01/771ea46cce201dd42cff043a5eea929d1c030fb3d1c2ee2729d02ca7814c/setuptools-75.3.2.tar.gz", hash = "sha256:3c1383e1038b68556a382c1e8ded8887cd20141b0eb5708a6c8d277de49364f5", size = 1354489 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/65/3f0dba35760d902849d39d38c0a72767794b1963227b69a587f8a336d08c/setuptools-75.3.2-py3-none-any.whl", hash = "sha256:90ab613b6583fc02d5369cbca13ea26ea0e182d1df2d943ee9cbe81d4c61add9", size = 1251198 }, +] + +[[package]] +name = "setuptools" +version = "80.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/8d/d2/ec1acaaff45caed5c2dedb33b67055ba9d4e96b091094df90762e60135fe/setuptools-80.8.0.tar.gz", hash = "sha256:49f7af965996f26d43c8ae34539c8d99c5042fbff34302ea151eaa9c207cd257", size = 1319720 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/29/93c53c098d301132196c3238c312825324740851d77a8500a2462c0fd888/setuptools-80.8.0-py3-none-any.whl", hash = "sha256:95a60484590d24103af13b686121328cc2736bee85de8936383111e421b9edc0", size = 1201470 }, +] + +[[package]] +name = "setuptools-scm" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "packaging" }, + { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "setuptools", version = "80.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/19/7ae64b70b2429c48c3a7a4ed36f50f94687d3bfcd0ae2f152367b6410dff/setuptools_scm-8.3.1.tar.gz", hash = "sha256:3d555e92b75dacd037d32bafdf94f97af51ea29ae8c7b234cf94b7a5bd242a63", size = 78088 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/ac/8f96ba9b4cfe3e4ea201f23f4f97165862395e9331a424ed325ae37024a8/setuptools_scm-8.3.1-py3-none-any.whl", hash = "sha256:332ca0d43791b818b841213e76b1971b7711a960761c5bea5fc5cdb5196fbce3", size = 43935 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, +] + +[[package]] +name = "soupsieve" +version = "2.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677 }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, +] + +[[package]] +name = "sym" +version = "0.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d2/ed/c06685333acaa3ea4ef301daae784ecc5f60c6ccd288cb84e03e1244acc2/sym-0.3.5.tar.gz", hash = "sha256:854ddd18f0a1f94c9590012e50a139b499b407c90e9ebd407c40285627784ab8", size = 31098 } + +[[package]] +name = "sympy" +version = "1.13.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "mpmath", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/11/8a/5a7fd6284fa8caac23a26c9ddf9c30485a48169344b4bd3b0f02fef1890f/sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9", size = 7533196 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/ff/c87e0622b1dadea79d2fb0b25ade9ed98954c9033722eb707053d310d4f3/sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73", size = 6189483 }, +] + +[[package]] +name = "sympy" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "mpmath", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353 }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and os_name == 'nt'" }, + { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and os_name == 'nt'" }, + { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154 }, +] + +[[package]] +name = "thrustrtc" +version = "0.3.20" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/c0/cf04a2f95629a3cb1f84f7ab291486add242acf8447b54e7e01e5c2502e2/ThrustRTC-0.3.20-py3-none-any.whl", hash = "sha256:a610595b7e27d00051ca8a6a62dac0f2282e32238ea4df2dcb7fe402f80e7b27", size = 763012 }, +] + +[[package]] +name = "tinycss2" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "webencodings", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627", size = 65957 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", size = 21824 }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "webencodings", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610 }, +] + +[[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 } +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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, +] + +[[package]] +name = "tornado" +version = "6.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299 }, + { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253 }, + { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602 }, + { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972 }, + { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173 }, + { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892 }, + { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334 }, + { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261 }, + { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463 }, + { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907 }, +] + +[[package]] +name = "tornado" +version = "6.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/51/89/c72771c81d25d53fe33e3dca61c233b665b2780f21820ba6fd2c6793c12b/tornado-6.5.1.tar.gz", hash = "sha256:84ceece391e8eb9b2b95578db65e920d2a61070260594819589609ba9bc6308c", size = 509934 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/89/f4532dee6843c9e0ebc4e28d4be04c67f54f60813e4bf73d595fe7567452/tornado-6.5.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d50065ba7fd11d3bd41bcad0825227cc9a95154bad83239357094c36708001f7", size = 441948 }, + { url = "https://files.pythonhosted.org/packages/15/9a/557406b62cffa395d18772e0cdcf03bed2fff03b374677348eef9f6a3792/tornado-6.5.1-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9e9ca370f717997cb85606d074b0e5b247282cf5e2e1611568b8821afe0342d6", size = 440112 }, + { url = "https://files.pythonhosted.org/packages/55/82/7721b7319013a3cf881f4dffa4f60ceff07b31b394e459984e7a36dc99ec/tornado-6.5.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b77e9dfa7ed69754a54c89d82ef746398be82f749df69c4d3abe75c4d1ff4888", size = 443672 }, + { url = "https://files.pythonhosted.org/packages/7d/42/d11c4376e7d101171b94e03cef0cbce43e823ed6567ceda571f54cf6e3ce/tornado-6.5.1-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:253b76040ee3bab8bcf7ba9feb136436a3787208717a1fb9f2c16b744fba7331", size = 443019 }, + { url = "https://files.pythonhosted.org/packages/7d/f7/0c48ba992d875521ac761e6e04b0a1750f8150ae42ea26df1852d6a98942/tornado-6.5.1-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:308473f4cc5a76227157cdf904de33ac268af770b2c5f05ca6c1161d82fdd95e", size = 443252 }, + { url = "https://files.pythonhosted.org/packages/89/46/d8d7413d11987e316df4ad42e16023cd62666a3c0dfa1518ffa30b8df06c/tornado-6.5.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:caec6314ce8a81cf69bd89909f4b633b9f523834dc1a352021775d45e51d9401", size = 443930 }, + { url = "https://files.pythonhosted.org/packages/78/b2/f8049221c96a06df89bed68260e8ca94beca5ea532ffc63b1175ad31f9cc/tornado-6.5.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:13ce6e3396c24e2808774741331638ee6c2f50b114b97a55c5b442df65fd9692", size = 443351 }, + { url = "https://files.pythonhosted.org/packages/76/ff/6a0079e65b326cc222a54720a748e04a4db246870c4da54ece4577bfa702/tornado-6.5.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5cae6145f4cdf5ab24744526cc0f55a17d76f02c98f4cff9daa08ae9a217448a", size = 443328 }, + { url = "https://files.pythonhosted.org/packages/49/18/e3f902a1d21f14035b5bc6246a8c0f51e0eef562ace3a2cea403c1fb7021/tornado-6.5.1-cp39-abi3-win32.whl", hash = "sha256:e0a36e1bc684dca10b1aa75a31df8bdfed656831489bc1e6a6ebed05dc1ec365", size = 444396 }, + { url = "https://files.pythonhosted.org/packages/7b/09/6526e32bf1049ee7de3bebba81572673b19a2a8541f795d887e92af1a8bc/tornado-6.5.1-cp39-abi3-win_amd64.whl", hash = "sha256:908e7d64567cecd4c2b458075589a775063453aeb1d2a1853eedb806922f568b", size = 444840 }, + { url = "https://files.pythonhosted.org/packages/55/a7/535c44c7bea4578e48281d83c615219f3ab19e6abc67625ef637c73987be/tornado-6.5.1-cp39-abi3-win_arm64.whl", hash = "sha256:02420a0eb7bf617257b9935e2b754d1b63897525d8a289c9d65690d580b4dcf7", size = 443596 }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, +] + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20241206" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384 }, +] + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20250516" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/88/d65ed807393285204ab6e2801e5d11fbbea811adcaa979a2ed3b67a5ef41/types_python_dateutil-2.9.0.20250516.tar.gz", hash = "sha256:13e80d6c9c47df23ad773d54b2826bd52dbbb41be87c3f339381c1700ad21ee5", size = 13943 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/3f/b0e8db149896005adc938a1e7f371d6d7e9eca4053a29b108978ed15e0c2/types_python_dateutil-2.9.0.20250516-py3-none-any.whl", hash = "sha256:2b2b3f57f9c6a61fba26a9c0ffb9ea5681c9b83e69cd897c6b5f668d9c0cab93", size = 14356 }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839 }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140 }, +] + +[[package]] +name = "urllib3" +version = "2.2.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 }, +] + +[[package]] +name = "urllib3" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680 }, +] + +[[package]] +name = "vtk" +version = "9.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/c0/7c8d541081d0181b49b9a43597228cfcf0ce1f1584b36bc97aef4a936b21/vtk-9.4.2-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:97788af1881d115d90d118e6b6db4e673d4250473df074015edaf633e134945f", size = 82503633 }, + { url = "https://files.pythonhosted.org/packages/85/9a/265b6a7aa7d7d5a6e7140f066e506a9b7dd3f9d2f35c4bd31b0769e5a0e3/vtk-9.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c5b2db2ffb52394cf3a72fb9d74ec980d944b9fecd626bdcd223ac896fa8b975", size = 76491428 }, + { url = "https://files.pythonhosted.org/packages/61/b3/8b51d0519e3e10e3b1956de6e68f14ffcad15fda752b0d028afba4b7242f/vtk-9.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20898263a57a2f414d6deaf9fecf0d81f6eb43d8f2002c66b20425d258e2a316", size = 105002344 }, + { url = "https://files.pythonhosted.org/packages/0e/73/1dfb537d61a81a8eae79b0233c344a3212b203ed01affef2f0fc09742eb9/vtk-9.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:918830427783737c38f5e3f4ad81f229904c975665897d09748057fcfacab42b", size = 58399309 }, + { url = "https://files.pythonhosted.org/packages/57/7b/3765e941db50c46ebb8e007cdcd2f436746b8d9b4971198ad7c1a5e439c8/vtk-9.4.2-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:267302d1def1f28c7a4bed1422bccb55f20db6a9b760d25883535bd56111143b", size = 82503735 }, + { url = "https://files.pythonhosted.org/packages/5c/94/e93414d29f443ef8b3c57729c82ded0c910ac1a10b964c7960e6c33003a4/vtk-9.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c378ec0a51fc690268c30484828e6ffe4b525be87bf21229c29a773f910787e1", size = 76491253 }, + { url = "https://files.pythonhosted.org/packages/33/04/a119db060ca1c95c673e5755c3c1c60ab6e97d4cf86bc25664e3aea18fc0/vtk-9.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9db93562c9d6b39dafd65f00eccc5eb9bcc6a7c715db789c064536551368f2", size = 105002260 }, + { url = "https://files.pythonhosted.org/packages/40/4c/0edf3e0ce0cdc0132e97b924ed16e774639c84cc94eb0e594b90aaf5fb0a/vtk-9.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:ee6013aef653aca14f881a2b4b33b13895166fad34eac340691852444848e971", size = 58397786 }, + { url = "https://files.pythonhosted.org/packages/59/df/6c04941922986d2af611e9c7ea289ea1922295455ea08536b8fb9f104664/vtk-9.4.2-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:5482c147e36490a90fadf01333b8b06f2a88659a9cb012523603697e7de37dc7", size = 82686355 }, + { url = "https://files.pythonhosted.org/packages/4c/6b/fce6a0040cc877324e5dc8191407a9ab73b7da65c88403d173f834052f70/vtk-9.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ac03471cada196b9465305336649cd502ce4796ee5006eade2cdaf7f2b5b593b", size = 76541862 }, + { url = "https://files.pythonhosted.org/packages/9f/61/e998f3d118aa4e70d4cc8549dc0b67acfa138936ef9da896cbf87da21f7b/vtk-9.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef81842d151312b52455b2b613871c57ca7323c2f901914e13fc750b74ce3fd2", size = 105054000 }, + { url = "https://files.pythonhosted.org/packages/35/a1/5df9de36c17c42269ae85b4435d346bf38d106b25e9b98c6db6cc2f8ac5f/vtk-9.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:fded22d5bc8cd2193ef27214efb63e1db5318f566fb64f2cf31332b820ece6ac", size = 58482099 }, + { url = "https://files.pythonhosted.org/packages/22/30/5df46c3d90267f5b3efb6c8ac91c1014ef3532df2342aa53bd2ebed196e8/vtk-9.4.2-cp313-cp313-macosx_10_10_x86_64.whl", hash = "sha256:ec8c4258ceb9b3eb9c8101e1db1cca16825f0c0daa891ae4d85cd2ae9ec7681c", size = 82708428 }, + { url = "https://files.pythonhosted.org/packages/2d/a1/34f61fe0ab3735d9f9127b7be186add12b481251601a1fde564fb08294bc/vtk-9.4.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1e291fc1a0c6a8432185abd9265d44fc7822b39325dc8e81d01b798858b68733", size = 76553587 }, + { url = "https://files.pythonhosted.org/packages/8b/b1/f0deed70f4a72a0c42cf9a0120a0a92bbd1eac37090b501144e39c4792ad/vtk-9.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c6d15129443eb950b8faf127b67935a680533aa08ad832b9137889543084ddd", size = 105054339 }, + { url = "https://files.pythonhosted.org/packages/99/52/2f49d4b73ed019b20f4bbbcf1b5f3a371d76af951688f6f70e79ff44fd14/vtk-9.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:5be5096e8c247c1ae151cc68121fbb0b6c5c76217e69d9600e4b8ba0c1c53c9f", size = 58482778 }, + { url = "https://files.pythonhosted.org/packages/69/7d/89bedb5c55a9c902697a209f025a090568d1e72f5ca99f652726a2290f32/vtk-9.4.2-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:7211fd50ba6c75b0ccc9e66a489e484967590a4c1dc8df2f51cfab76b582bb15", size = 82511159 }, + { url = "https://files.pythonhosted.org/packages/70/2c/67af5a33b41bd6f53ba7e9484fb0f154e81208266b87a96fb4f1fac53c08/vtk-9.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c09149df36c3023bfd9a58263491477838651a7ce1c5eddd8ebead84de935068", size = 104998794 }, + { url = "https://files.pythonhosted.org/packages/32/4c/203d30a2bfbf26c40e67685d2053b37a2e4ca8b83f27a408e11d88fb589f/vtk-9.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:747b69bbc1cb7d50d461454da91d4d300b183ca6811dba9f4c8642aa2ada0a10", size = 58669237 }, + { url = "https://files.pythonhosted.org/packages/d1/47/e6d6e0da266b6824c212b862e57d5291d6d37e887208a271d214a3cb000c/vtk-9.4.2-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:8c52ae99ee97dcb973e0a6cf33c0ab849cdf66391be9b4f1ead40d12d33934c0", size = 82502896 }, + { url = "https://files.pythonhosted.org/packages/6e/86/b68fdd6cc4f589eb7e35b7cb19faeac16979a569a834d2edc82fe0b35c6b/vtk-9.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c4a35f32011d5a2a6fc1263292533918fab3f6a3686d4718dce308f5b08555cc", size = 76491828 }, + { url = "https://files.pythonhosted.org/packages/53/ad/1d1dec3ae475b326d99fcffd0a9f71a069018c5fdddc6c1e6199bb5b7a61/vtk-9.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:290017e775d35a79187b8ed84f56c787a5047802c5cddf3068dc2275f548e040", size = 105001771 }, + { url = "https://files.pythonhosted.org/packages/14/fd/cd4351174598f965a537ddb6a5b9090c3fd7486633ccfcb1baead722f6ce/vtk-9.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:86d4ccd4a09c1a7a29919f892106fcb4190ceb9bdf64e391270860b25acc2a0e", size = 58400218 }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166 }, +] + +[[package]] +name = "webcolors" +version = "24.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/f8/53150a5bda7e042840b14f0236e1c0a4819d403658e3d453237983addfac/webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d", size = 42392 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f0/33/12020ba99beaff91682b28dc0bbf0345bbc3244a4afbae7644e4fa348f23/webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a", size = 15027 }, +] + +[[package]] +name = "webcolors" +version = "24.11.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774 }, +] + +[[package]] +name = "websocket-client" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826 }, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/53/2e0253c5efd69c9656b1843892052a31c36d37ad42812b5da45c62191f7e/widgetsnbextension-4.0.14.tar.gz", hash = "sha256:a3629b04e3edb893212df862038c7232f62973373869db5084aed739b437b5af", size = 1097428 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/51/5447876806d1088a0f8f71e16542bf350918128d0a69437df26047c8e46f/widgetsnbextension-4.0.14-py3-none-any.whl", hash = "sha256:4875a9eaf72fbf5079dc372a51a9f268fc38d46f767cbf85c43a36da5cb9b575", size = 2196503 }, +] + +[[package]] +name = "xarray" +version = "2023.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/30/05/c52545c83de39d5ccb3f0b06d9bb3ebde74ea0e775b7da5f2f8e11ab4879/xarray-2023.1.0.tar.gz", hash = "sha256:7bee552751ff1b29dab8b7715726e5ecb56691ac54593cf4881dff41978ce0cd", size = 3065563 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b4/a7/897f484225bd8e179a4f39f8e9a4ca26c14e9f7055b495384b1d56e1382d/xarray-2023.1.0-py3-none-any.whl", hash = "sha256:7e530b1deafdd43e5c2b577d0944e6b528fbe88045fd849e49a8d11871ecd522", size = 973057 }, +] + +[[package]] +name = "xarray" +version = "2024.7.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "packaging", marker = "python_full_version == '3.9.*'" }, + { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/84/e8/8ee12706df0d34ad04b3737621a73432458d47bc8abfbd6f049e51ca89c3/xarray-2024.7.0.tar.gz", hash = "sha256:4cae512d121a8522d41e66d942fb06c526bc1fd32c2c181d5fe62fe65b671638", size = 3728663 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/95/233e1f9c939f5ba314297315df709e6a5e823bf3cade7211991b15aa65d2/xarray-2024.7.0-py3-none-any.whl", hash = "sha256:1b0fd51ec408474aa1f4a355d75c00cc1c02bd425d97b2c2e551fd21810e7f64", size = 1176466 }, +] + +[[package]] +name = "xarray" +version = "2025.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/29/37761364e137db13898cf5a790574dd7883f7355d5dfb42b66ee7a9a6318/xarray-2025.4.0.tar.gz", hash = "sha256:2a89cd6a1dfd589aa90ac45f4e483246f31fc641836db45dd2790bb78bd333dc", size = 2974151 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/1e/96fd96419fec1a37da998a1ca3d558f2cae2f6f3cd5015170371b05a2b6b/xarray-2025.4.0-py3-none-any.whl", hash = "sha256:b27defd082c5cb85d32c695708de6bb05c2838fb7caaf3f952982e602a35b9b8", size = 1290171 }, +] + +[[package]] +name = "zipp" +version = "3.20.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200 }, +] + +[[package]] +name = "zipp" +version = "3.21.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 }, +] From dcdee65f4a9882c3397937a0601d9e7e6f34f5e2 Mon Sep 17 00:00:00 2001 From: lursz Date: Sun, 1 Jun 2025 20:03:40 +0200 Subject: [PATCH 03/28] introduced all equations --- PySDM/physics/drop_growth/__init__.py | 1 + .../drop_growth/rogers_and_yau_1996.py | 41 +++++++ .../oblate_spheroid.py | 107 ++++++++++++++++++ PySDM/physics/terminal_velocity/__init__.py | 1 + .../terminal_velocity/lofus_et_al_2021.py | 29 +++++ PySDM/physics/ventilation/lofus_et_al_2021.py | 37 ++++++ .../Loftus_and_Wordsworth_2021/settings.py | 1 + .../Loftus_and_Wordsworth_2021/simulation.py | 1 - 8 files changed, 217 insertions(+), 1 deletion(-) create mode 100644 PySDM/physics/drop_growth/rogers_and_yau_1996.py create mode 100644 PySDM/physics/particle_shape_and_density/oblate_spheroid.py create mode 100644 PySDM/physics/terminal_velocity/lofus_et_al_2021.py create mode 100644 PySDM/physics/ventilation/lofus_et_al_2021.py diff --git a/PySDM/physics/drop_growth/__init__.py b/PySDM/physics/drop_growth/__init__.py index a3b257be62..56f1fcc6c7 100644 --- a/PySDM/physics/drop_growth/__init__.py +++ b/PySDM/physics/drop_growth/__init__.py @@ -5,3 +5,4 @@ from .fick import Fick from .howell_1949 import Howell1949 from .mason_1971 import Mason1971 +from .rogers_and_yau_1996 import RogersAndYau1996 diff --git a/PySDM/physics/drop_growth/rogers_and_yau_1996.py b/PySDM/physics/drop_growth/rogers_and_yau_1996.py new file mode 100644 index 0000000000..4ac333f90d --- /dev/null +++ b/PySDM/physics/drop_growth/rogers_and_yau_1996.py @@ -0,0 +1,41 @@ +""" +Computes the rate of change of raindrop equivalent radius (dreq/dt) based on the formulation +from Rogers & Yau (1996), Chapter 7. +""" + +from PySDM.physics.saturation_vapour_pressure import Bolton1980 + + +class RogersAndYau1996: + def __init__(self,_): + pass + + @staticmethod + def dreq_dt(const, req, rho_c_l, mu_c, T_air, T_drop, RH, D_c_air, fv_mol): + """ + Calculate the drop growth rate based on the Lofus et al. (2021) model. + + Parameters: + f_v_mol (float): Vapor molar fraction. + D_c_air (float): Diffusion coefficient of water vapor in air. + mu_c (float): Dynamic viscosity of the droplet. + r_eq (float): Equilibrium radius of the droplet. + ro_c_l (float): Density of liquid water. + R (float): Universal gas constant. + RH (float): Relative humidity. + T_air (float): Temperature of the air. + T_drop (float): Temperature of the droplet. + + Returns: + float: The drop growth rate. + """ + p_sat_air = Bolton1980.pvs_water(const, T_air) + p_sat_drop = Bolton1980.pvs_water(const, T_drop) + + numerator = fv_mol * D_c_air * mu_c + denominator = req * rho_c_l * const.R_str + + vapor_gradient = RH * (p_sat_air / T_air) - (p_sat_drop / T_drop) + + return (numerator / denominator) * vapor_gradient + \ No newline at end of file diff --git a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py new file mode 100644 index 0000000000..05249096e7 --- /dev/null +++ b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py @@ -0,0 +1,107 @@ +import numpy as np + +from PySDM.physics.constants import PI_4_3 + + +#For particle_shape and density, we will need to create a new class for liquid oblate spheroids +#under PySDM/particle_shape_and_density +#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... +#look at LiquidSphere class for reference +class OblateSpheroid: + def __init__(self, a, b): + """ + Initializes an oblate spheroid with semi-axes a and b. + 'a' is the semi-major axis (equatorial radius). + 'b' is the semi-minor axis (polar radius). + For an oblate spheroid, a >= b. + """ + if not (isinstance(a, (int, float)) and a > 0): + raise ValueError("Semi-major axis 'a' must be a positive number.") + if not (isinstance(b, (int, float)) and b > 0): + raise ValueError("Semi-minor axis 'b' must be a positive number.") + + if a < b: + raise ValueError("For an oblate spheroid, semi-major axis 'a' must be greater than or equal to semi-minor axis 'b'.") + + self.a = float(a) + self.b = float(b) + + + def equivalent_radius(self, sigma_c_air: float, g: float, rho_c_l: float, rho_air: float) -> float: + """ + Calculates an equivalent radius based on a formula involving surface tension, + gravity, and densities. + + The formula is: + r_eq = sqrt( (sigma_c_air / (g * (rho_c_l - rho_air))) * + (b/a)^(1/6) * sqrt( (b/a)^(-2) - 2 * (b/a)^(1/3) ) + 1 ) + + Args: + sigma_c_air (float): Surface tension between condensed phase and air [N/m]. + g (float): Acceleration due to gravity [m/s^2]. + rho_c_l (float): Density of the condensed phase (liquid/ice) [kg/m^3]. + rho_air (float): Density of air [kg/m^3]. + + Returns: + float: Equivalent radius [m]. + + Raises: + ValueError: If g * (rho_c_l - rho_air) is zero. + self.a is guaranteed to be > 0 by __init__. + """ + ratio_ba = self.b / self.a + + term_in_inner_sqrt = ratio_ba**(-2) - 2 * ratio_ba**(1/3) + inner_sqrt_val = np.sqrt(term_in_inner_sqrt) + + ratio_ba_pow_1_6 = ratio_ba**(1/6) + + denominator_factor1 = g * (rho_c_l - rho_air) + if denominator_factor1 == 0: + raise ValueError("The term g * (rho_c_l - rho_air) cannot be zero for this calculation.") + + factor1 = sigma_c_air / denominator_factor1 + + product_term = factor1 * ratio_ba_pow_1_6 * inner_sqrt_val + + # Term inside the outer square root: product_term + 1 + # If this term is negative, np.sqrt will correctly produce nan. + term_in_outer_sqrt = product_term + 1 + + r_eq = np.sqrt(term_in_outer_sqrt) + + return r_eq + + def volume(self): + """ + Calculates the volume of the oblate spheroid. + V = (4/3) * pi * a^2 * b + where 'a' is the equatorial radius and 'b' is the polar radius. + Returns: + float: Volume of the spheroid. + """ + return PI_4_3 * (self.a**2) * self.b + + def reynolds_number(self, velocity_wrt_air, dynamic_viscosity, air_density): + """ + Calculates the Reynolds number for the oblate spheroid. + Re = (air_density * velocity_wrt_air * L) / dynamic_viscosity + The characteristic length L is taken as 2 * equivalent_radius(). + + Args: + velocity_wrt_air (float): Velocity of the particle relative to air [m/s]. + dynamic_viscosity (float): Dynamic viscosity of air [Pa*s or kg/(m*s)]. + air_density (float): Density of air [kg/m^3]. + + Returns: + float: Reynolds number (dimensionless). + """ + r_eq = self.equivalent_radius() + characteristic_length = 2 * r_eq + + if dynamic_viscosity == 0: # avoid division by zero + # if numerator is also zero, Reynolds number is taken as 0. + # if numerator is non-zero, Reynolds number is infinite. + return np.inf if characteristic_length * velocity_wrt_air * air_density != 0 else 0.0 + + return (air_density * velocity_wrt_air * characteristic_length) / dynamic_viscosity \ No newline at end of file diff --git a/PySDM/physics/terminal_velocity/__init__.py b/PySDM/physics/terminal_velocity/__init__.py index 2e012dc474..3396496aed 100644 --- a/PySDM/physics/terminal_velocity/__init__.py +++ b/PySDM/physics/terminal_velocity/__init__.py @@ -3,3 +3,4 @@ from .rogers_yau import RogersYau from .gunn_kinzer_1949 import GunnKinzer1949 from .power_series import PowerSeries +from .lofus_et_al_2021 import LofusEtAl2021 diff --git a/PySDM/physics/terminal_velocity/lofus_et_al_2021.py b/PySDM/physics/terminal_velocity/lofus_et_al_2021.py new file mode 100644 index 0000000000..3aaf9a13f2 --- /dev/null +++ b/PySDM/physics/terminal_velocity/lofus_et_al_2021.py @@ -0,0 +1,29 @@ +import numpy as np +from PySDM.physics.constants import TWO_THIRDS + +# eq. 8 at https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2020JE006653 +class LofusEtAl2021: + @staticmethod + def terminal_velocity(rho_c_l, rho_air, g, C_D, b_a_ratio, r_eq): + """ + Calculates terminal velocity based on Lofus et al. 2021, eq. 8. + + Parameters: + rho_c_l (float): Density of condensed water (liquid or ice) [kg/m^3] + rho_air (float): Density of air [kg/m^3] + g (float): Acceleration due to gravity [m/s^2] + C_D (float): Drag coefficient (dimensionless) + b_a_ratio (float): Ratio of semi-minor to semi-major axes (b/a) (dimensionless) + r_eq (float): Equivalent radius [m] + + Returns: + float: Terminal velocity [m/s] (negative sign indicates downward motion) + """ + + return -np.sqrt( + (8/3) * + (rho_c_l - rho_air) / rho_air * + g / C_D * + b_a_ratio**TWO_THIRDS * + r_eq + ) diff --git a/PySDM/physics/ventilation/lofus_et_al_2021.py b/PySDM/physics/ventilation/lofus_et_al_2021.py new file mode 100644 index 0000000000..b962f98df6 --- /dev/null +++ b/PySDM/physics/ventilation/lofus_et_al_2021.py @@ -0,0 +1,37 @@ +import numpy as np +from PySDM.physics.constants import PI_4_3, ONE_HALF,THREE,TWO + +# eq. 3 and 4 at https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2020JE006653 +class LofusEtAl2021: + @staticmethod + def gravity_force(r_eq, ro_c_l, ro_air, g): + """ + Calculate the gravity force on a particle. + + Parameters: + r_eq (float): Equivalent radius of the particle. + ro_c_l (float): Density of the particle. + ro_air (float): Density of the air. + g (float): Gravitational acceleration. + + Returns: + float: The calculated gravity force. + """ + return PI_4_3 * r_eq**THREE * (ro_c_l - ro_air) * g + + @staticmethod + def drag_force(C_d, A, ro_air, v): + """ + Calculate the drag force on a particle. + + Parameters: + C_d (float): Coefficient of the raindrop. + A (float): Cros-sectional area of the raindrop. + ro_air (float): Local density of the air. + v (float): Relative velocity of the particle. + + Returns: + float: The calculated drag force. + """ + return ONE_HALF * C_d * A * ro_air * v**TWO + \ No newline at end of file diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index 2d7b59cf40..2e02210d31 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -4,6 +4,7 @@ import numpy as np from pystrict import strict +from types import SimpleNamespace from PySDM import Formulae from PySDM.dynamics import condensation diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py index de1319f7bf..1445505ae3 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py @@ -77,7 +77,6 @@ def save(self, output): output["S"].append(self.particulator.products["RH"].get()[cell_id] / 100 - 1) output["t"].append(self.particulator.products["t"].get()) - def run(self): output = { "r": [], From 60188ce0d878506c98d407397906e4b25729ff63 Mon Sep 17 00:00:00 2001 From: lursz Date: Sun, 1 Jun 2025 20:39:25 +0200 Subject: [PATCH 04/28] oblate spheroid impl --- .../oblate_spheroid.py | 96 ++++++------------- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 36 +++---- 2 files changed, 51 insertions(+), 81 deletions(-) diff --git a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py index 05249096e7..54a0d55156 100644 --- a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py +++ b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py @@ -1,33 +1,9 @@ import numpy as np - from PySDM.physics.constants import PI_4_3 - -#For particle_shape and density, we will need to create a new class for liquid oblate spheroids -#under PySDM/particle_shape_and_density -#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... -#look at LiquidSphere class for reference class OblateSpheroid: - def __init__(self, a, b): - """ - Initializes an oblate spheroid with semi-axes a and b. - 'a' is the semi-major axis (equatorial radius). - 'b' is the semi-minor axis (polar radius). - For an oblate spheroid, a >= b. - """ - if not (isinstance(a, (int, float)) and a > 0): - raise ValueError("Semi-major axis 'a' must be a positive number.") - if not (isinstance(b, (int, float)) and b > 0): - raise ValueError("Semi-minor axis 'b' must be a positive number.") - - if a < b: - raise ValueError("For an oblate spheroid, semi-major axis 'a' must be greater than or equal to semi-minor axis 'b'.") - - self.a = float(a) - self.b = float(b) - - - def equivalent_radius(self, sigma_c_air: float, g: float, rho_c_l: float, rho_air: float) -> float: + @staticmethod + def equivalent_radius(a: float, b: float, sigma_c_air: float, g: float, rho_c_l: float, rho_air: float) -> float: # Removed self, added a, b """ Calculates an equivalent radius based on a formula involving surface tension, gravity, and densities. @@ -37,6 +13,8 @@ def equivalent_radius(self, sigma_c_air: float, g: float, rho_c_l: float, rho_ai (b/a)^(1/6) * sqrt( (b/a)^(-2) - 2 * (b/a)^(1/3) ) + 1 ) Args: + a (float): Semi-major axis (equatorial radius) [m]. Must be > 0. + b (float): Semi-minor axis (polar radius) [m]. Must be > 0 and <= a. sigma_c_air (float): Surface tension between condensed phase and air [N/m]. g (float): Acceleration due to gravity [m/s^2]. rho_c_l (float): Density of the condensed phase (liquid/ice) [kg/m^3]. @@ -44,64 +22,52 @@ def equivalent_radius(self, sigma_c_air: float, g: float, rho_c_l: float, rho_ai Returns: float: Equivalent radius [m]. - - Raises: - ValueError: If g * (rho_c_l - rho_air) is zero. - self.a is guaranteed to be > 0 by __init__. """ - ratio_ba = self.b / self.a - - term_in_inner_sqrt = ratio_ba**(-2) - 2 * ratio_ba**(1/3) - inner_sqrt_val = np.sqrt(term_in_inner_sqrt) - - ratio_ba_pow_1_6 = ratio_ba**(1/6) - - denominator_factor1 = g * (rho_c_l - rho_air) - if denominator_factor1 == 0: - raise ValueError("The term g * (rho_c_l - rho_air) cannot be zero for this calculation.") - - factor1 = sigma_c_air / denominator_factor1 + ratio_b_a = b / a - product_term = factor1 * ratio_ba_pow_1_6 * inner_sqrt_val - - # Term inside the outer square root: product_term + 1 - # If this term is negative, np.sqrt will correctly produce nan. - term_in_outer_sqrt = product_term + 1 - - r_eq = np.sqrt(term_in_outer_sqrt) - - return r_eq - - def volume(self): + return ratio_b_a **(1/6) * np.sqrt((sigma_c_air / g * (rho_c_l - rho_air)) * + (ratio_b_a**(-2) - 2 * ratio_b_a**(1/3)) + 1) + + @staticmethod + def volume(a: float, b: float) -> float: # Removed self, added a, b """ Calculates the volume of the oblate spheroid. V = (4/3) * pi * a^2 * b - where 'a' is the equatorial radius and 'b' is the polar radius. + + Args: + a (float): Semi-major axis (equatorial radius) [m]. + b (float): Semi-minor axis (polar radius) [m]. Returns: - float: Volume of the spheroid. + float: Volume of the spheroid [m^3]. """ - return PI_4_3 * (self.a**2) * self.b + return PI_4_3 * (a**2) * b - def reynolds_number(self, velocity_wrt_air, dynamic_viscosity, air_density): + @staticmethod + def reynolds_number(a: float, b: float, velocity_wrt_air: float, dynamic_viscosity: float, air_density: float, sigma_c_air: float, g: float, rho_c_l: float) -> float: # Removed self, added a, b """ Calculates the Reynolds number for the oblate spheroid. Re = (air_density * velocity_wrt_air * L) / dynamic_viscosity The characteristic length L is taken as 2 * equivalent_radius(). + The equivalent_radius is calculated using the formula involving surface tension, + gravity, and densities. Args: + a (float): Semi-major axis (equatorial radius) [m]. + b (float): Semi-minor axis (polar radius) [m]. velocity_wrt_air (float): Velocity of the particle relative to air [m/s]. - dynamic_viscosity (float): Dynamic viscosity of air [Pa*s or kg/(m*s)]. - air_density (float): Density of air [kg/m^3]. + dynamic_viscosity (float): Dynamic viscosity of air [Pa*s or kg/(m*s)], also denoted eta_air. + air_density (float): Density of air [kg/m^3], also denoted rho_air. + sigma_c_air (float): Surface tension between condensed phase and air [N/m]. + g (float): Acceleration due to gravity [m/s^2]. + rho_c_l (float): Density of the condensed phase (liquid/ice) [kg/m^3]. Returns: float: Reynolds number (dimensionless). """ - r_eq = self.equivalent_radius() - characteristic_length = 2 * r_eq + r_eq = OblateSpheroid.equivalent_radius(a=a, b=b, sigma_c_air=sigma_c_air, g=g, rho_c_l=rho_c_l, rho_air=air_density) + characteristic_length = 2 * r_eq # L in the formula if dynamic_viscosity == 0: # avoid division by zero - # if numerator is also zero, Reynolds number is taken as 0. - # if numerator is non-zero, Reynolds number is infinite. - return np.inf if characteristic_length * velocity_wrt_air * air_density != 0 else 0.0 + return np.inf if air_density * velocity_wrt_air * characteristic_length != 0 else 0.0 - return (air_density * velocity_wrt_air * characteristic_length) / dynamic_viscosity \ No newline at end of file + return (air_density * velocity_wrt_air * characteristic_length) / dynamic_viscosity diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index dab218df58..6289a90089 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -15,6 +15,19 @@ "import matplotlib.pyplot as plt" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "2fb6b5aa", + "metadata": {}, + "outputs": [], + "source": [ + "from PySDM.physics import terminal_velocity\n", + "from PySDM.physics import drop_growth\n", + "from PySDM.physics import ventilation\n", + "from PySDM.physics.particle_shape_and_density import OblateSpheroid" + ] + }, { "cell_type": "code", "execution_count": null, @@ -25,25 +38,16 @@ "#Have to add the following equations that are in the paper to the formulae section:\n", "#Will go under PySDM/physics/ wherever these categories are\n", "formulae= Formulae(\n", - " terminal_velocity=..., #eqn 8\n", - " drop_growth=..., #eqn 10\n", - " ventilation=..., #drag force/ gravitation eqns\n", - " particle_shape_and_density=..., #the following OblateSpheroid class\n", + " terminal_velocity=terminal_velocity.LofusEtAl2021, #eqn 8\n", + " drop_growth=drop_growth.RogersAndYau1996, #eqn 10\n", + " ventilation=ventilation.LofusEtAl2021, #drag force/ gravitation eqns\n", + " particle_shape_and_density=OblateSpheroid, #the following OblateSpheroid class\n", ")\n", "\n", "#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\n", "#under PySDM/particle_shape_and_density.py\n", "#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \n", - "#look at LiquidSphere class for reference\n", - "class OblateSpheroid:\n", - " def __init__(self, a, b):\n", - " self.a = a \n", - " self.b = b\n", - "\n", - " def volume(self):\n", - " return \n", - " \n", - "\n" + "#look at LiquidSphere class for reference" ] }, { @@ -57,7 +61,7 @@ "settings = Settings( \n", " updraft_velocity=0, # varied in the paper, add units\n", " r_dry= 1e-16, #is this in the paper?\n", - " r_wet= initial_radius, #X axis of plot 2\n", + " r_wet= 1e-1, #X axis of plot 2\n", " formulae= formulae,\n", " Planet= EARTH_LIKE_CONSTS,)" ] @@ -73,7 +77,7 @@ "#Simulation is also in this folder\n", "#Need to change/add/edit the Parcel environment PySDM/parcel to take in new dz that uses the \n", "#updraft and the terminal velocity to have the parcel track the superdroplet\n", - "simulation = Simulation(settings,..)\n", + "simulation = Simulation(settings)\n", "output = simulation.run()\n", "\n", "#output currently has height, RH, radius, and time.. need others?\n", From 9e8881d9f7b4f675d92f985615c5535efa16b509 Mon Sep 17 00:00:00 2001 From: lursz Date: Mon, 2 Jun 2025 22:27:59 +0200 Subject: [PATCH 05/28] AlienParcel class extending Parcel --- .../Loftus_and_Wordsworth_2021/parcel.py | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py new file mode 100644 index 0000000000..e57d294b74 --- /dev/null +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py @@ -0,0 +1,65 @@ +from typing import Optional +from PySDM.environments.parcel import Parcel + + +class AlienParcel(Parcel): + def __init__( + self, + dt, + mass_of_dry_air: float, + p0: float, + initial_water_vapour_mixing_ratio: float, + T0: float, + w: [float, callable], + z0: float = 0, + mixed_phase=False, + variables: Optional[list[str]] = None, + ): + super().__init__( + dt=dt, + mass_of_dry_air=mass_of_dry_air, + p0=p0, + initial_water_vapour_mixing_ratio=initial_water_vapour_mixing_ratio, + T0=T0, + w=w, + z0=z0, + mixed_phase=mixed_phase, + variables=variables + ) + + def advance_parcel_vars(self): + """ + Compute new values of displacement, dry-air density and volume, + and write them to self._tmp and self.mesh.dv + """ + dt = self.particulator.dt + formulae = self.particulator.formulae + T = self["T"][0] + p = self["p"][0] + + dz_dt = self.w((self.particulator.n_steps + 1 / 2) * dt) + self["terminal_velocity"][0] + water_vapour_mixing_ratio = ( + self["water_vapour_mixing_ratio"][0] + - self.delta_liquid_water_mixing_ratio / 2 + ) + + # derivative evaluated at p_old, T_old, mixrat_mid, w_mid + drho_dz = formulae.hydrostatics.drho_dz( + p=p, + T=T, + water_vapour_mixing_ratio=water_vapour_mixing_ratio, + lv=formulae.latent_heat_vapourisation.lv(T), + d_liquid_water_mixing_ratio__dz=( + self.delta_liquid_water_mixing_ratio / dz_dt / dt + ), + ) + drhod_dz = drho_dz # TODO #407 + + self.particulator.backend.explicit_euler(self._tmp["z"], dt, dz_dt) + self.particulator.backend.explicit_euler( + self._tmp["rhod"], dt, dz_dt * drhod_dz + ) + + self.mesh.dv = formulae.trivia.volume_of_density_mass( + (self._tmp["rhod"][0] + self["rhod"][0]) / 2, self.mass_of_dry_air + ) \ No newline at end of file From 363c0a882f1eb1f8aa47f183ba0621673f5f007e Mon Sep 17 00:00:00 2001 From: lursz Date: Tue, 3 Jun 2025 00:18:46 +0200 Subject: [PATCH 06/28] PySDM package internal imports fix --- PySDM/physics/ventilation/__init__.py | 1 + .../Loftus_and_Wordsworth_2021/__init__.py | 7 +++ .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 49 +++++++++++++++---- tests/examples_tests/conftest.py | 1 + 4 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 examples/PySDM_examples/Loftus_and_Wordsworth_2021/__init__.py diff --git a/PySDM/physics/ventilation/__init__.py b/PySDM/physics/ventilation/__init__.py index 6390942d0f..32ea8d5337 100644 --- a/PySDM/physics/ventilation/__init__.py +++ b/PySDM/physics/ventilation/__init__.py @@ -5,3 +5,4 @@ from .neglect import Neglect from .pruppacher_rasmussen_1979 import PruppacherAndRasmussen1979 from .froessling_1938 import Froessling1938 +from .lofus_et_al_2021 import LofusEtAl2021 diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/__init__.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/__init__.py new file mode 100644 index 0000000000..9dda071be5 --- /dev/null +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/__init__.py @@ -0,0 +1,7 @@ +""" +The Physics of Falling Raindrops in Diverse Planetary Atmospheres +[Loftus, K., & Wordsworth, R. D. 2021 (Journal of Geophysical Research: Planets, 126)](https://doi.org/10.1029/2020JE006653) + +""" +from .settings import Settings +from .simulation import Simulation \ No newline at end of file diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 6289a90089..8ba0c9ed55 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "d8f644e9", "metadata": {}, "outputs": [], @@ -10,14 +10,16 @@ "import PySDM.products as PySDM_products\n", "from PySDM import Builder\n", "from PySDM import Formulae\n", - "from Loftus_and_Wordsworth_2021.settings import Settings, EARTH_LIKE_CONSTS\n", - "from Loftus_and_Wordsworth_2021.simulation import Simulation\n", + "from PySDM_examples.Lowe_et_al_2019.constants_def import LOWE_CONSTS\n", + "\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021.settings import Settings, EARTH_LIKE_CONSTS\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021.simulation import Simulation\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "2fb6b5aa", "metadata": {}, "outputs": [], @@ -25,19 +27,34 @@ "from PySDM.physics import terminal_velocity\n", "from PySDM.physics import drop_growth\n", "from PySDM.physics import ventilation\n", - "from PySDM.physics.particle_shape_and_density import OblateSpheroid" + "from PySDM.physics.particle_shape_and_density.oblate_spheroid import OblateSpheroid" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "92a3a574", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "TypeError", + "evalue": "LofusEtAl2021() takes no arguments", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[15]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m#Have to add the following equations that are in the paper to the formulae section:\u001b[39;00m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m#Will go under PySDM/physics/ wherever these categories are\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m formulae = \u001b[43mFormulae\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 4\u001b[39m \u001b[43m \u001b[49m\u001b[43mterminal_velocity\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 8\u001b[39;49;00m\n\u001b[32m 5\u001b[39m \u001b[43m \u001b[49m\u001b[43mdrop_growth\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mRogersAndYau1996\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 10\u001b[39;49;00m\n\u001b[32m 6\u001b[39m \u001b[43m \u001b[49m\u001b[43mventilation\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#drag force/ gravitation eqns\u001b[39;49;00m\n\u001b[32m 7\u001b[39m \u001b[43m \u001b[49m\u001b[43mparticle_shape_and_density\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLiquidSpheres\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#the following OblateSpheroid class\u001b[39;49;00m\n\u001b[32m 8\u001b[39m \u001b[43m)\u001b[49m\n\u001b[32m 10\u001b[39m \u001b[38;5;66;03m#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\u001b[39;00m\n\u001b[32m 11\u001b[39m \u001b[38;5;66;03m#under PySDM/particle_shape_and_density.py\u001b[39;00m\n\u001b[32m 12\u001b[39m \u001b[38;5;66;03m#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \u001b[39;00m\n\u001b[32m 13\u001b[39m \u001b[38;5;66;03m#look at LiquidSphere class for reference\u001b[39;00m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:149\u001b[39m, in \u001b[36mFormulae.__init__\u001b[39m\u001b[34m(self, constants, seed, fastmath, diffusion_coordinate, saturation_vapour_pressure, latent_heat_vapourisation, latent_heat_sublimation, hygroscopicity, drop_growth, surface_tension, diffusion_kinetics, diffusion_ice_kinetics, diffusion_ice_capacity, diffusion_thermics, ventilation, state_variable_triplet, particle_advection, hydrostatics, freezing_temperature_spectrum, heterogeneous_ice_nucleation_rate, fragmentation_function, isotope_equilibrium_fractionation_factors, isotope_kinetic_fractionation_factors, isotope_meteoric_water_line, isotope_ratio_evolution, isotope_diffusivity_ratios, isotope_relaxation_timescale, isotope_temperature_inference, optical_albedo, optical_depth, particle_shape_and_density, terminal_velocity, air_dynamic_viscosity, bulk_phase_partitioning, handle_all_breakups)\u001b[39m\n\u001b[32m 144\u001b[39m \u001b[38;5;66;03m# each `component` corresponds to one subdirectory of PySDM/physics\u001b[39;00m\n\u001b[32m 145\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m component \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m._components:\n\u001b[32m 146\u001b[39m \u001b[38;5;28msetattr\u001b[39m(\n\u001b[32m 147\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 148\u001b[39m component,\n\u001b[32m--> \u001b[39m\u001b[32m149\u001b[39m \u001b[43m_magick\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 150\u001b[39m \u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 151\u001b[39m \u001b[43m \u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mphysics\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 152\u001b[39m \u001b[43m \u001b[49m\u001b[43mfastmath\u001b[49m\u001b[43m=\u001b[49m\u001b[43mfastmath\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 153\u001b[39m \u001b[43m \u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m=\u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 154\u001b[39m \u001b[43m \u001b[49m\u001b[43mdimensional_analysis\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdimensional_analysis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 155\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 156\u001b[39m )\n\u001b[32m 158\u001b[39m \u001b[38;5;66;03m# TODO #348\u001b[39;00m\n\u001b[32m 159\u001b[39m \u001b[38;5;28mself\u001b[39m.terminal_velocity_class = {\n\u001b[32m 160\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mGunnKinzer1949\u001b[39m\u001b[33m\"\u001b[39m: GunnKinzer1949,\n\u001b[32m 161\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mRogersYau\u001b[39m\u001b[33m\"\u001b[39m: RogersYau,\n\u001b[32m 162\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mTpDependent\u001b[39m\u001b[33m\"\u001b[39m: TpDependent,\n\u001b[32m 163\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mPowerSeries\u001b[39m\u001b[33m\"\u001b[39m: PowerSeries,\n\u001b[32m 164\u001b[39m }[terminal_velocity]\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:381\u001b[39m, in \u001b[36m_magick\u001b[39m\u001b[34m(value, module, fastmath, constants, dimensional_analysis)\u001b[39m\n\u001b[32m 375\u001b[39m \u001b[38;5;129m@lru_cache\u001b[39m()\n\u001b[32m 376\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_magick\u001b[39m(value, module, fastmath, constants, dimensional_analysis):\n\u001b[32m 377\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 378\u001b[39m \u001b[33;03m boosts (`PySDM.formulae.Formulae._boost`) the selected physics logic\u001b[39;00m\n\u001b[32m 379\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m 380\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m _boost(\n\u001b[32m--> \u001b[39m\u001b[32m381\u001b[39m \u001b[43m_pick\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_choices\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 382\u001b[39m fastmath,\n\u001b[32m 383\u001b[39m constants,\n\u001b[32m 384\u001b[39m dimensional_analysis,\n\u001b[32m 385\u001b[39m )\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:342\u001b[39m, in \u001b[36m_pick\u001b[39m\u001b[34m(value, choices, constants)\u001b[39m\n\u001b[32m 340\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m name, \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01min\u001b[39;00m choices.items():\n\u001b[32m 341\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m name == value:\n\u001b[32m--> \u001b[39m\u001b[32m342\u001b[39m obj = \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 343\u001b[39m \u001b[38;5;28;01mbreak\u001b[39;00m\n\u001b[32m 344\u001b[39m name = value\n", + "\u001b[31mTypeError\u001b[39m: LofusEtAl2021() takes no arguments" + ] + } + ], "source": [ "#Have to add the following equations that are in the paper to the formulae section:\n", "#Will go under PySDM/physics/ wherever these categories are\n", - "formulae= Formulae(\n", + "formulae = Formulae(\n", " terminal_velocity=terminal_velocity.LofusEtAl2021, #eqn 8\n", " drop_growth=drop_growth.RogersAndYau1996, #eqn 10\n", " ventilation=ventilation.LofusEtAl2021, #drag force/ gravitation eqns\n", @@ -86,8 +103,22 @@ } ], "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, "language_info": { - "name": "python" + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.3" } }, "nbformat": 4, diff --git a/tests/examples_tests/conftest.py b/tests/examples_tests/conftest.py index ae6547c688..9dfb072cdd 100644 --- a/tests/examples_tests/conftest.py +++ b/tests/examples_tests/conftest.py @@ -83,6 +83,7 @@ def findfiles(path, regex): "utils", "Zaba_et_al_2025", "Gonfiantini_1986", + "Loftus_and_Wordsworth_2021", ], } From d84133d7bc196d56f6a8ab4505ae58ba5118a79c Mon Sep 17 00:00:00 2001 From: lursz Date: Tue, 3 Jun 2025 13:44:32 +0200 Subject: [PATCH 07/28] Formulae bug fixes --- .../particle_shape_and_density/__init__.py | 1 + .../oblate_spheroid.py | 3 +++ .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 21 ++++++++++--------- .../Loftus_and_Wordsworth_2021/parcel.py | 4 ++-- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/PySDM/physics/particle_shape_and_density/__init__.py b/PySDM/physics/particle_shape_and_density/__init__.py index 2909583961..5b2fc30fa2 100644 --- a/PySDM/physics/particle_shape_and_density/__init__.py +++ b/PySDM/physics/particle_shape_and_density/__init__.py @@ -5,3 +5,4 @@ from .liquid_spheres import LiquidSpheres from .mixed_phase_spheres import MixedPhaseSpheres from .porous_spheroids import PorousSpheroid +from .oblate_spheroid import OblateSpheroid diff --git a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py index 54a0d55156..24a4aa21b9 100644 --- a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py +++ b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py @@ -2,6 +2,9 @@ from PySDM.physics.constants import PI_4_3 class OblateSpheroid: + def __init__(self, *args, **kwargs): + pass + @staticmethod def equivalent_radius(a: float, b: float, sigma_c_air: float, g: float, rho_c_l: float, rho_air: float) -> float: # Removed self, added a, b """ diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 8ba0c9ed55..17fe13078d 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 13, + "execution_count": 34, "id": "d8f644e9", "metadata": {}, "outputs": [], @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 35, "id": "2fb6b5aa", "metadata": {}, "outputs": [], @@ -32,33 +32,34 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 36, "id": "92a3a574", "metadata": {}, "outputs": [ { "ename": "TypeError", - "evalue": "LofusEtAl2021() takes no arguments", + "evalue": "OblateSpheroid() takes no arguments", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[15]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m#Have to add the following equations that are in the paper to the formulae section:\u001b[39;00m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m#Will go under PySDM/physics/ wherever these categories are\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m formulae = \u001b[43mFormulae\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 4\u001b[39m \u001b[43m \u001b[49m\u001b[43mterminal_velocity\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 8\u001b[39;49;00m\n\u001b[32m 5\u001b[39m \u001b[43m \u001b[49m\u001b[43mdrop_growth\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mRogersAndYau1996\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 10\u001b[39;49;00m\n\u001b[32m 6\u001b[39m \u001b[43m \u001b[49m\u001b[43mventilation\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#drag force/ gravitation eqns\u001b[39;49;00m\n\u001b[32m 7\u001b[39m \u001b[43m \u001b[49m\u001b[43mparticle_shape_and_density\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLiquidSpheres\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#the following OblateSpheroid class\u001b[39;49;00m\n\u001b[32m 8\u001b[39m \u001b[43m)\u001b[49m\n\u001b[32m 10\u001b[39m \u001b[38;5;66;03m#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\u001b[39;00m\n\u001b[32m 11\u001b[39m \u001b[38;5;66;03m#under PySDM/particle_shape_and_density.py\u001b[39;00m\n\u001b[32m 12\u001b[39m \u001b[38;5;66;03m#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \u001b[39;00m\n\u001b[32m 13\u001b[39m \u001b[38;5;66;03m#look at LiquidSphere class for reference\u001b[39;00m\n", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[36]\u001b[39m\u001b[32m, line 4\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m#Have to add the following equations that are in the paper to the formulae section:\u001b[39;00m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m#Will go under PySDM/physics/ wherever these categories are\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;66;03m# Note: We need to use string names for Formulae parameters, not class objects directly\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m4\u001b[39m formulae = \u001b[43mFormulae\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 5\u001b[39m \u001b[43m \u001b[49m\u001b[43mterminal_velocity\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 8\u001b[39;49;00m\n\u001b[32m 6\u001b[39m \u001b[43m \u001b[49m\u001b[43mdrop_growth\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mRogersAndYau1996\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 10\u001b[39;49;00m\n\u001b[32m 7\u001b[39m \u001b[43m \u001b[49m\u001b[43mventilation\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#drag force/ gravitation eqns\u001b[39;49;00m\n\u001b[32m 8\u001b[39m \u001b[43m \u001b[49m\u001b[43mparticle_shape_and_density\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mOblateSpheroid\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#the following OblateSpheroid class\u001b[39;49;00m\n\u001b[32m 9\u001b[39m \u001b[43m)\u001b[49m\n\u001b[32m 11\u001b[39m \u001b[38;5;66;03m#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\u001b[39;00m\n\u001b[32m 12\u001b[39m \u001b[38;5;66;03m#under PySDM/particle_shape_and_density.py\u001b[39;00m\n\u001b[32m 13\u001b[39m \u001b[38;5;66;03m#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \u001b[39;00m\n\u001b[32m 14\u001b[39m \u001b[38;5;66;03m#look at LiquidSphere class for reference\u001b[39;00m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:149\u001b[39m, in \u001b[36mFormulae.__init__\u001b[39m\u001b[34m(self, constants, seed, fastmath, diffusion_coordinate, saturation_vapour_pressure, latent_heat_vapourisation, latent_heat_sublimation, hygroscopicity, drop_growth, surface_tension, diffusion_kinetics, diffusion_ice_kinetics, diffusion_ice_capacity, diffusion_thermics, ventilation, state_variable_triplet, particle_advection, hydrostatics, freezing_temperature_spectrum, heterogeneous_ice_nucleation_rate, fragmentation_function, isotope_equilibrium_fractionation_factors, isotope_kinetic_fractionation_factors, isotope_meteoric_water_line, isotope_ratio_evolution, isotope_diffusivity_ratios, isotope_relaxation_timescale, isotope_temperature_inference, optical_albedo, optical_depth, particle_shape_and_density, terminal_velocity, air_dynamic_viscosity, bulk_phase_partitioning, handle_all_breakups)\u001b[39m\n\u001b[32m 144\u001b[39m \u001b[38;5;66;03m# each `component` corresponds to one subdirectory of PySDM/physics\u001b[39;00m\n\u001b[32m 145\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m component \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m._components:\n\u001b[32m 146\u001b[39m \u001b[38;5;28msetattr\u001b[39m(\n\u001b[32m 147\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 148\u001b[39m component,\n\u001b[32m--> \u001b[39m\u001b[32m149\u001b[39m \u001b[43m_magick\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 150\u001b[39m \u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 151\u001b[39m \u001b[43m \u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mphysics\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 152\u001b[39m \u001b[43m \u001b[49m\u001b[43mfastmath\u001b[49m\u001b[43m=\u001b[49m\u001b[43mfastmath\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 153\u001b[39m \u001b[43m \u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m=\u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 154\u001b[39m \u001b[43m \u001b[49m\u001b[43mdimensional_analysis\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdimensional_analysis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 155\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 156\u001b[39m )\n\u001b[32m 158\u001b[39m \u001b[38;5;66;03m# TODO #348\u001b[39;00m\n\u001b[32m 159\u001b[39m \u001b[38;5;28mself\u001b[39m.terminal_velocity_class = {\n\u001b[32m 160\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mGunnKinzer1949\u001b[39m\u001b[33m\"\u001b[39m: GunnKinzer1949,\n\u001b[32m 161\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mRogersYau\u001b[39m\u001b[33m\"\u001b[39m: RogersYau,\n\u001b[32m 162\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mTpDependent\u001b[39m\u001b[33m\"\u001b[39m: TpDependent,\n\u001b[32m 163\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mPowerSeries\u001b[39m\u001b[33m\"\u001b[39m: PowerSeries,\n\u001b[32m 164\u001b[39m }[terminal_velocity]\n", "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:381\u001b[39m, in \u001b[36m_magick\u001b[39m\u001b[34m(value, module, fastmath, constants, dimensional_analysis)\u001b[39m\n\u001b[32m 375\u001b[39m \u001b[38;5;129m@lru_cache\u001b[39m()\n\u001b[32m 376\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_magick\u001b[39m(value, module, fastmath, constants, dimensional_analysis):\n\u001b[32m 377\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 378\u001b[39m \u001b[33;03m boosts (`PySDM.formulae.Formulae._boost`) the selected physics logic\u001b[39;00m\n\u001b[32m 379\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m 380\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m _boost(\n\u001b[32m--> \u001b[39m\u001b[32m381\u001b[39m \u001b[43m_pick\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_choices\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 382\u001b[39m fastmath,\n\u001b[32m 383\u001b[39m constants,\n\u001b[32m 384\u001b[39m dimensional_analysis,\n\u001b[32m 385\u001b[39m )\n", "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:342\u001b[39m, in \u001b[36m_pick\u001b[39m\u001b[34m(value, choices, constants)\u001b[39m\n\u001b[32m 340\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m name, \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01min\u001b[39;00m choices.items():\n\u001b[32m 341\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m name == value:\n\u001b[32m--> \u001b[39m\u001b[32m342\u001b[39m obj = \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 343\u001b[39m \u001b[38;5;28;01mbreak\u001b[39;00m\n\u001b[32m 344\u001b[39m name = value\n", - "\u001b[31mTypeError\u001b[39m: LofusEtAl2021() takes no arguments" + "\u001b[31mTypeError\u001b[39m: OblateSpheroid() takes no arguments" ] } ], "source": [ "#Have to add the following equations that are in the paper to the formulae section:\n", "#Will go under PySDM/physics/ wherever these categories are\n", + "# Note: We need to use string names for Formulae parameters, not class objects directly\n", "formulae = Formulae(\n", - " terminal_velocity=terminal_velocity.LofusEtAl2021, #eqn 8\n", - " drop_growth=drop_growth.RogersAndYau1996, #eqn 10\n", - " ventilation=ventilation.LofusEtAl2021, #drag force/ gravitation eqns\n", - " particle_shape_and_density=OblateSpheroid, #the following OblateSpheroid class\n", + " terminal_velocity=\"LofusEtAl2021\", #eqn 8\n", + " drop_growth=\"RogersAndYau1996\", #eqn 10\n", + " ventilation=\"LofusEtAl2021\", #drag force/ gravitation eqns\n", + " particle_shape_and_density=\"OblateSpheroid\", #the following OblateSpheroid class\n", ")\n", "\n", "#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\n", diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py index e57d294b74..00586a287a 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py @@ -1,4 +1,4 @@ -from typing import Optional +from typing import List, Optional from PySDM.environments.parcel import Parcel @@ -13,7 +13,7 @@ def __init__( w: [float, callable], z0: float = 0, mixed_phase=False, - variables: Optional[list[str]] = None, + variables: Optional[List[str]] = None, ): super().__init__( dt=dt, From fa1043b21b35ab6be708be4c8f63149eef85fc55 Mon Sep 17 00:00:00 2001 From: lursz Date: Tue, 3 Jun 2025 15:26:11 +0200 Subject: [PATCH 08/28] Planet is now dataclass instead of dict --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 14 ++- .../Loftus_and_Wordsworth_2021/planet.py | 118 +++++++++++++++++ .../Loftus_and_Wordsworth_2021/settings.py | 119 +----------------- 3 files changed, 132 insertions(+), 119 deletions(-) create mode 100644 examples/PySDM_examples/Loftus_and_Wordsworth_2021/planet.py diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 17fe13078d..28d758664a 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 34, + "execution_count": 37, "id": "d8f644e9", "metadata": {}, "outputs": [], @@ -12,14 +12,15 @@ "from PySDM import Formulae\n", "from PySDM_examples.Lowe_et_al_2019.constants_def import LOWE_CONSTS\n", "\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021.settings import Settings, EARTH_LIKE_CONSTS\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021.settings import Settings\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import EarthLike, Earth, EarlyMars, Jupiter, Saturn, K2_18B\n", "from PySDM_examples.Loftus_and_Wordsworth_2021.simulation import Simulation\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 38, "id": "2fb6b5aa", "metadata": {}, "outputs": [], @@ -32,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 39, "id": "92a3a574", "metadata": {}, "outputs": [ @@ -43,7 +44,7 @@ "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[36]\u001b[39m\u001b[32m, line 4\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m#Have to add the following equations that are in the paper to the formulae section:\u001b[39;00m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m#Will go under PySDM/physics/ wherever these categories are\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;66;03m# Note: We need to use string names for Formulae parameters, not class objects directly\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m4\u001b[39m formulae = \u001b[43mFormulae\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 5\u001b[39m \u001b[43m \u001b[49m\u001b[43mterminal_velocity\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 8\u001b[39;49;00m\n\u001b[32m 6\u001b[39m \u001b[43m \u001b[49m\u001b[43mdrop_growth\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mRogersAndYau1996\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 10\u001b[39;49;00m\n\u001b[32m 7\u001b[39m \u001b[43m \u001b[49m\u001b[43mventilation\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#drag force/ gravitation eqns\u001b[39;49;00m\n\u001b[32m 8\u001b[39m \u001b[43m \u001b[49m\u001b[43mparticle_shape_and_density\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mOblateSpheroid\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#the following OblateSpheroid class\u001b[39;49;00m\n\u001b[32m 9\u001b[39m \u001b[43m)\u001b[49m\n\u001b[32m 11\u001b[39m \u001b[38;5;66;03m#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\u001b[39;00m\n\u001b[32m 12\u001b[39m \u001b[38;5;66;03m#under PySDM/particle_shape_and_density.py\u001b[39;00m\n\u001b[32m 13\u001b[39m \u001b[38;5;66;03m#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \u001b[39;00m\n\u001b[32m 14\u001b[39m \u001b[38;5;66;03m#look at LiquidSphere class for reference\u001b[39;00m\n", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[39]\u001b[39m\u001b[32m, line 4\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m#Have to add the following equations that are in the paper to the formulae section:\u001b[39;00m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m#Will go under PySDM/physics/ wherever these categories are\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;66;03m# Note: We need to use string names for Formulae parameters, not class objects directly\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m4\u001b[39m formulae = \u001b[43mFormulae\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 5\u001b[39m \u001b[43m \u001b[49m\u001b[43mterminal_velocity\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 8\u001b[39;49;00m\n\u001b[32m 6\u001b[39m \u001b[43m \u001b[49m\u001b[43mdrop_growth\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mRogersAndYau1996\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 10\u001b[39;49;00m\n\u001b[32m 7\u001b[39m \u001b[43m \u001b[49m\u001b[43mventilation\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#drag force/ gravitation eqns\u001b[39;49;00m\n\u001b[32m 8\u001b[39m \u001b[43m \u001b[49m\u001b[43mparticle_shape_and_density\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mOblateSpheroid\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#the following OblateSpheroid class\u001b[39;49;00m\n\u001b[32m 9\u001b[39m \u001b[43m)\u001b[49m\n\u001b[32m 11\u001b[39m \u001b[38;5;66;03m#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\u001b[39;00m\n\u001b[32m 12\u001b[39m \u001b[38;5;66;03m#under PySDM/particle_shape_and_density.py\u001b[39;00m\n\u001b[32m 13\u001b[39m \u001b[38;5;66;03m#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \u001b[39;00m\n\u001b[32m 14\u001b[39m \u001b[38;5;66;03m#look at LiquidSphere class for reference\u001b[39;00m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:149\u001b[39m, in \u001b[36mFormulae.__init__\u001b[39m\u001b[34m(self, constants, seed, fastmath, diffusion_coordinate, saturation_vapour_pressure, latent_heat_vapourisation, latent_heat_sublimation, hygroscopicity, drop_growth, surface_tension, diffusion_kinetics, diffusion_ice_kinetics, diffusion_ice_capacity, diffusion_thermics, ventilation, state_variable_triplet, particle_advection, hydrostatics, freezing_temperature_spectrum, heterogeneous_ice_nucleation_rate, fragmentation_function, isotope_equilibrium_fractionation_factors, isotope_kinetic_fractionation_factors, isotope_meteoric_water_line, isotope_ratio_evolution, isotope_diffusivity_ratios, isotope_relaxation_timescale, isotope_temperature_inference, optical_albedo, optical_depth, particle_shape_and_density, terminal_velocity, air_dynamic_viscosity, bulk_phase_partitioning, handle_all_breakups)\u001b[39m\n\u001b[32m 144\u001b[39m \u001b[38;5;66;03m# each `component` corresponds to one subdirectory of PySDM/physics\u001b[39;00m\n\u001b[32m 145\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m component \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m._components:\n\u001b[32m 146\u001b[39m \u001b[38;5;28msetattr\u001b[39m(\n\u001b[32m 147\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 148\u001b[39m component,\n\u001b[32m--> \u001b[39m\u001b[32m149\u001b[39m \u001b[43m_magick\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 150\u001b[39m \u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 151\u001b[39m \u001b[43m \u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mphysics\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 152\u001b[39m \u001b[43m \u001b[49m\u001b[43mfastmath\u001b[49m\u001b[43m=\u001b[49m\u001b[43mfastmath\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 153\u001b[39m \u001b[43m \u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m=\u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 154\u001b[39m \u001b[43m \u001b[49m\u001b[43mdimensional_analysis\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdimensional_analysis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 155\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 156\u001b[39m )\n\u001b[32m 158\u001b[39m \u001b[38;5;66;03m# TODO #348\u001b[39;00m\n\u001b[32m 159\u001b[39m \u001b[38;5;28mself\u001b[39m.terminal_velocity_class = {\n\u001b[32m 160\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mGunnKinzer1949\u001b[39m\u001b[33m\"\u001b[39m: GunnKinzer1949,\n\u001b[32m 161\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mRogersYau\u001b[39m\u001b[33m\"\u001b[39m: RogersYau,\n\u001b[32m 162\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mTpDependent\u001b[39m\u001b[33m\"\u001b[39m: TpDependent,\n\u001b[32m 163\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mPowerSeries\u001b[39m\u001b[33m\"\u001b[39m: PowerSeries,\n\u001b[32m 164\u001b[39m }[terminal_velocity]\n", "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:381\u001b[39m, in \u001b[36m_magick\u001b[39m\u001b[34m(value, module, fastmath, constants, dimensional_analysis)\u001b[39m\n\u001b[32m 375\u001b[39m \u001b[38;5;129m@lru_cache\u001b[39m()\n\u001b[32m 376\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_magick\u001b[39m(value, module, fastmath, constants, dimensional_analysis):\n\u001b[32m 377\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 378\u001b[39m \u001b[33;03m boosts (`PySDM.formulae.Formulae._boost`) the selected physics logic\u001b[39;00m\n\u001b[32m 379\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m 380\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m _boost(\n\u001b[32m--> \u001b[39m\u001b[32m381\u001b[39m \u001b[43m_pick\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_choices\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 382\u001b[39m fastmath,\n\u001b[32m 383\u001b[39m constants,\n\u001b[32m 384\u001b[39m dimensional_analysis,\n\u001b[32m 385\u001b[39m )\n", "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:342\u001b[39m, in \u001b[36m_pick\u001b[39m\u001b[34m(value, choices, constants)\u001b[39m\n\u001b[32m 340\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m name, \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01min\u001b[39;00m choices.items():\n\u001b[32m 341\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m name == value:\n\u001b[32m--> \u001b[39m\u001b[32m342\u001b[39m obj = \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 343\u001b[39m \u001b[38;5;28;01mbreak\u001b[39;00m\n\u001b[32m 344\u001b[39m name = value\n", @@ -81,7 +82,8 @@ " r_dry= 1e-16, #is this in the paper?\n", " r_wet= 1e-1, #X axis of plot 2\n", " formulae= formulae,\n", - " Planet= EARTH_LIKE_CONSTS,)" + " planet= EarthLike(),\n", + " )" ] }, { diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/planet.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/planet.py new file mode 100644 index 0000000000..46d4448f49 --- /dev/null +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/planet.py @@ -0,0 +1,118 @@ +from PySDM.physics.constants import si +from dataclasses import dataclass +from typing import Optional, Dict, Any + + +@dataclass +class Planet: + g_std: float + T_STP: float + p_STP: float + RH_zref: float + dry_molar_conc_H2: float + dry_molar_conc_He: float + dry_molar_conc_N2: float + dry_molar_conc_O2: float + dry_molar_conc_CO2: float + H_LCL: Optional[float] = None + + def to_dict(self) -> Dict[str, Any]: + return vars(self) + + +@dataclass +class EarthLike(Planet): + g_std: float = 9.82 * si.metre / si.second**2 + T_STP: float = 300 * si.kelvin + p_STP: float = 1.01325 * 10e5 * si.pascal + RH_zref: float = 0.75 + dry_molar_conc_H2: float = 0 + dry_molar_conc_He: float = 0 + dry_molar_conc_N2: float = 1 + dry_molar_conc_O2: float = 0 + dry_molar_conc_CO2: float = 0 + H_LCL: float = 8.97 * si.kilometre + + +@dataclass +class Earth(Planet): + g_std: float = 9.82 * si.metre / si.second**2 + T_STP: float = 290 * si.kelvin + p_STP: float = 1.01325 * 10e5 * si.pascal + RH_zref: float = 0.75 + dry_molar_conc_H2: float = 0 + dry_molar_conc_He: float = 0 + dry_molar_conc_N2: float = 0.8 + dry_molar_conc_O2: float = 0.2 + dry_molar_conc_CO2: float = 0 + H_LCL: float = 8.41 * si.kilometre + + +@dataclass +class EarlyMars(Planet): + g_std: float = 3.71 * si.metre / si.second**2 + T_STP: float = 290 * si.kelvin + p_STP: float = 2 * 10e5 * si.pascal + RH_zref: float = 0.75 + dry_molar_conc_H2: float = 0 + dry_molar_conc_He: float = 0 + dry_molar_conc_N2: float = 0 + dry_molar_conc_O2: float = 0 + dry_molar_conc_CO2: float = 1 + H_LCL: float = 14.5 * si.kilometre + + +@dataclass +class Jupiter(Planet): + g_std: float = 24.84 * si.metre / si.second**2 + T_STP: float = 274 * si.kelvin + p_STP: float = 4.85 * 10e5 * si.pascal + RH_zref: float = 1 + dry_molar_conc_H2: float = 0.864 + dry_molar_conc_He: float = 0.136 + dry_molar_conc_N2: float = 0 + dry_molar_conc_O2: float = 0 + dry_molar_conc_CO2: float = 0 + H_LCL: float = 39.8 * si.kilometre + + +@dataclass +class Saturn(Planet): + g_std: float = 10.47 * si.metre / si.second**2 + T_STP: float = 284 * si.kelvin + p_STP: float = 10.4 * 10e5 * si.pascal + RH_zref: float = 1 + dry_molar_conc_H2: float = 0.88 + dry_molar_conc_He: float = 0.12 + dry_molar_conc_N2: float = 0 + dry_molar_conc_O2: float = 0 + dry_molar_conc_CO2: float = 0 + H_LCL: float = 99.2 * si.kilometre + + +@dataclass +class K2_18B(Planet): + g_std: float = 12.44 * si.metre / si.second**2 + T_STP: float = 275 * si.kelvin + p_STP: float = 0.1 * 10e5 * si.pascal + RH_zref: float = 1 + dry_molar_conc_H2: float = 0.9 + dry_molar_conc_He: float = 0.1 + dry_molar_conc_N2: float = 0 + dry_molar_conc_O2: float = 0 + dry_molar_conc_CO2: float = 0 + H_LCL: float = 56.6 * si.kilometre + + +@dataclass +class CompositeTest(Planet): + g_std: float = 9.82 * si.metre / si.second**2 + T_STP: float = 275 * si.kelvin + p_STP: float = 0.75 * 10e5 * si.pascal + RH_zref: float = 1 + dry_molar_conc_H2: float = 0.1 + dry_molar_conc_He: float = 0.1 + dry_molar_conc_N2: float = 0.1 + dry_molar_conc_O2: float = 0.1 + dry_molar_conc_CO2: float = 0.1 + H_LCL: Optional[float] = None diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index 2e02210d31..e6315dcb2d 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -1,7 +1,6 @@ #Planetary Properties, Loftus and Wordsworth 2021 Table 1 from PySDM.physics import constants_defaults, si - import numpy as np from pystrict import strict from types import SimpleNamespace @@ -9,6 +8,7 @@ from PySDM import Formulae from PySDM.dynamics import condensation from PySDM.physics.constants import si +from PySDM_examples.Loftus_and_Wordsworth_2021.planet import Planet @strict @@ -19,15 +19,15 @@ def __init__( r_dry: float, r_wet: float, formulae: Formulae, - Planet: dict, - + planet: Planet, ): self.formulae = formulae or Formulae() const = self.formulae.constants - self.p0 = Planet["p_STP"] - self.RH0 = Planet["RH_zref"] + self.planet = planet + self.p0 = planet.p_STP + self.RH0 = planet.RH_zref self.kappa = 0.2 - self.T0 = Planet["T_STP"] + self.T0 = planet.T_STP pvs = self.formulae.saturation_vapour_pressure.pvs_water(self.T0) self.initial_water_vapour_mixing_ratio = const.eps / ( @@ -42,110 +42,3 @@ def __init__( self.coord = "volume logarithm" self.dt_cond_range = condensation.DEFAULTS.cond_range self.w = updraft_velocity - - - - - - - - -EARTH_LIKE_CONSTS = { - - "T_STP":300 * si.kelvin, #surf or ref - "p_STP": 1.01325 * 10e5 * si.pascal, - "RH_zref": 0.75, - "dry_molar_conc_H2":0, #mol/mol dry air - "dry_molar_conc_He":0, #mol/mol dry air - "dry_molar_conc_N2":1, #mol/mol dry air - "dry_molar_conc_O2":0, #mol/mol dry air - "dry_molar_conc_CO2":0, #mol/mol dry air - "H_LCL": 8.97 * si.kilometre, -} - -EARTH_CONSTS = { - "g_std": 9.82 * si.metre / si.second**2, - "T_STP":290 * si.kelvin, #surf or ref - "p_STP": 1.01325 * 10e5 * si.pascal, - "RH_zref": 0.75, - "dry_molar_conc_H2":0, #mol/mol dry air - "dry_molar_conc_He":0, #mol/mol dry air - "dry_molar_conc_N2":0.8, #mol/mol dry air - "dry_molar_conc_O2":0.2, #mol/mol dry air - "dry_molar_conc_CO2":0, #mol/mol dry air - "H_LCL": 8.41 * si.kilometre, - -} - - -EARLY_MARS_CONSTS = { - "g_std": 3.71 * si.metre / si.second**2, - "T_STP":290 * si.kelvin, #surf or ref - "p_STP": 2 * 10e5 * si.pascal, - "RH_zref": 0.75, - "dry_molar_conc_H2":0, #mol/mol dry air - "dry_molar_conc_He":0, #mol/mol dry air - "dry_molar_conc_N2":0, #mol/mol dry air - "dry_molar_conc_O2":0, #mol/mol dry air - "dry_molar_conc_CO2":1, #mol/mol dry air - "H_LCL": 14.5 * si.kilometre, -} - -JUPITER_CONSTS = { - "g_std": 24.84 * si.metre / si.second**2, - "T_STP": 274 * si.kelvin, #surf or ref - "p_STP": 4.85 * 10e5 * si.pascal, - "RH_zref": 1, - "dry_molar_conc_H2":0.864, #mol/mol dry air - "dry_molar_conc_He":0.136, #mol/mol dry air - "dry_molar_conc_N2":0, #mol/mol dry air - "dry_molar_conc_O2":0, #mol/mol dry air - "dry_molar_conc_CO2":0, #mol/mol dry air - "H_LCL": 39.8 * si.kilometre, - - -} - -SATURN_CONSTS = { - "g_std": 10.47 * si.metre / si.second**2, - "T_STP": 284 * si.kelvin, #surf or ref - "p_STP": 10.4 * 10e5 * si.pascal, - "RH_zref": 1, - "dry_molar_conc_H2":0.88, #mol/mol dry air - "dry_molar_conc_He":0.12, #mol/mol dry air - "dry_molar_conc_N2":0, #mol/mol dry air - "dry_molar_conc_O2":0, #mol/mol dry air - "dry_molar_conc_CO2":0, #mol/mol dry air - "H_LCL": 99.2 * si.kilometre, - -} - -K2_18B_CONSTS = { - "g_std": 12.44 * si.metre / si.second**2, - "T_STP": 275 * si.kelvin, #surf or ref - "p_STP": 0.1 * 10e5 * si.pascal, - "RH_zref": 1, - "dry_molar_conc_H2":0.9, #mol/mol dry air - "dry_molar_conc_He":0.1, #mol/mol dry air - "dry_molar_conc_N2":0, #mol/mol dry air - "dry_molar_conc_O2":0, #mol/mol dry air - "dry_molar_conc_CO2":0, #mol/mol dry air - "H_LCL": 56.6 * si.kilometre, - -} - -COMPOSITION_CONSTS = { - "g_std": 9.82 * si.metre / si.second**2, - "T_STP": 275 * si.kelvin, # surf or ref - "p_STP": 0.75 * 10e5 * si.pascal, - "RH_zref": 1, - "dry_molar_conc_H2":0.1, #mol/mol dry air - "dry_molar_conc_He":0.1, #mol/mol dry air - "dry_molar_conc_N2":0.1, #mol/mol dry air - "dry_molar_conc_O2":0.1, #mol/mol dry air - "dry_molar_conc_CO2":0.1, #mol/mol dry air -} - - -USER_PLANET_BROAD_CONSTS = { -} \ No newline at end of file From 92af9d9e87cf410a182cd17ff94b98d7ced8286f Mon Sep 17 00:00:00 2001 From: emmacware Date: Thu, 5 Jun 2025 14:20:33 +0200 Subject: [PATCH 09/28] drop falling without pancake shape --- .../terminal_velocity/lofus_et_al_2021.py | 13 +- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 397 +++++++++++++++--- .../Loftus_and_Wordsworth_2021/parcel.py | 22 +- .../Loftus_and_Wordsworth_2021/settings.py | 45 +- .../Loftus_and_Wordsworth_2021/simulation.py | 35 +- 5 files changed, 424 insertions(+), 88 deletions(-) diff --git a/PySDM/physics/terminal_velocity/lofus_et_al_2021.py b/PySDM/physics/terminal_velocity/lofus_et_al_2021.py index 3aaf9a13f2..b809966c5d 100644 --- a/PySDM/physics/terminal_velocity/lofus_et_al_2021.py +++ b/PySDM/physics/terminal_velocity/lofus_et_al_2021.py @@ -23,7 +23,18 @@ def terminal_velocity(rho_c_l, rho_air, g, C_D, b_a_ratio, r_eq): return -np.sqrt( (8/3) * (rho_c_l - rho_air) / rho_air * - g / C_D * + const.g_std / C_D * b_a_ratio**TWO_THIRDS * r_eq ) + + def v_term(const, radius): + return np.where( + radius < const.ROGERS_YAU_TERM_VEL_SMALL_R_LIMIT, + const.ROGERS_YAU_TERM_VEL_SMALL_K * radius**const.TWO, + np.where( + radius < const.ROGERS_YAU_TERM_VEL_MEDIUM_R_LIMIT, + const.ROGERS_YAU_TERM_VEL_MEDIUM_K * radius, + const.ROGERS_YAU_TERM_VEL_LARGE_K * radius**const.ONE_HALF, + ), + ) \ No newline at end of file diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 28d758664a..8902dc5ea1 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 37, + "execution_count": 1, "id": "d8f644e9", "metadata": {}, "outputs": [], @@ -12,15 +12,16 @@ "from PySDM import Formulae\n", "from PySDM_examples.Lowe_et_al_2019.constants_def import LOWE_CONSTS\n", "\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021.settings import Settings\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import EarthLike, Earth, EarlyMars, Jupiter, Saturn, K2_18B\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021.simulation import Simulation\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021 import Settings\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import Planet,EarthLike, Earth, EarlyMars, Jupiter, Saturn, K2_18B\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021.parcel import AlienParcel\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021 import Simulation\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 5, "id": "2fb6b5aa", "metadata": {}, "outputs": [], @@ -28,72 +29,336 @@ "from PySDM.physics import terminal_velocity\n", "from PySDM.physics import drop_growth\n", "from PySDM.physics import ventilation\n", - "from PySDM.physics.particle_shape_and_density.oblate_spheroid import OblateSpheroid" + "from PySDM.physics.particle_shape_and_density.oblate_spheroid import OblateSpheroid\n", + "from PySDM.physics import si\n" ] }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "92a3a574", "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "OblateSpheroid() takes no arguments", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[39]\u001b[39m\u001b[32m, line 4\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m#Have to add the following equations that are in the paper to the formulae section:\u001b[39;00m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m#Will go under PySDM/physics/ wherever these categories are\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;66;03m# Note: We need to use string names for Formulae parameters, not class objects directly\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m4\u001b[39m formulae = \u001b[43mFormulae\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 5\u001b[39m \u001b[43m \u001b[49m\u001b[43mterminal_velocity\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 8\u001b[39;49;00m\n\u001b[32m 6\u001b[39m \u001b[43m \u001b[49m\u001b[43mdrop_growth\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mRogersAndYau1996\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#eqn 10\u001b[39;49;00m\n\u001b[32m 7\u001b[39m \u001b[43m \u001b[49m\u001b[43mventilation\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mLofusEtAl2021\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#drag force/ gravitation eqns\u001b[39;49;00m\n\u001b[32m 8\u001b[39m \u001b[43m \u001b[49m\u001b[43mparticle_shape_and_density\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mOblateSpheroid\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m#the following OblateSpheroid class\u001b[39;49;00m\n\u001b[32m 9\u001b[39m \u001b[43m)\u001b[49m\n\u001b[32m 11\u001b[39m \u001b[38;5;66;03m#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\u001b[39;00m\n\u001b[32m 12\u001b[39m \u001b[38;5;66;03m#under PySDM/particle_shape_and_density.py\u001b[39;00m\n\u001b[32m 13\u001b[39m \u001b[38;5;66;03m#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \u001b[39;00m\n\u001b[32m 14\u001b[39m \u001b[38;5;66;03m#look at LiquidSphere class for reference\u001b[39;00m\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:149\u001b[39m, in \u001b[36mFormulae.__init__\u001b[39m\u001b[34m(self, constants, seed, fastmath, diffusion_coordinate, saturation_vapour_pressure, latent_heat_vapourisation, latent_heat_sublimation, hygroscopicity, drop_growth, surface_tension, diffusion_kinetics, diffusion_ice_kinetics, diffusion_ice_capacity, diffusion_thermics, ventilation, state_variable_triplet, particle_advection, hydrostatics, freezing_temperature_spectrum, heterogeneous_ice_nucleation_rate, fragmentation_function, isotope_equilibrium_fractionation_factors, isotope_kinetic_fractionation_factors, isotope_meteoric_water_line, isotope_ratio_evolution, isotope_diffusivity_ratios, isotope_relaxation_timescale, isotope_temperature_inference, optical_albedo, optical_depth, particle_shape_and_density, terminal_velocity, air_dynamic_viscosity, bulk_phase_partitioning, handle_all_breakups)\u001b[39m\n\u001b[32m 144\u001b[39m \u001b[38;5;66;03m# each `component` corresponds to one subdirectory of PySDM/physics\u001b[39;00m\n\u001b[32m 145\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m component \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m._components:\n\u001b[32m 146\u001b[39m \u001b[38;5;28msetattr\u001b[39m(\n\u001b[32m 147\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 148\u001b[39m component,\n\u001b[32m--> \u001b[39m\u001b[32m149\u001b[39m \u001b[43m_magick\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 150\u001b[39m \u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 151\u001b[39m \u001b[43m \u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mphysics\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 152\u001b[39m \u001b[43m \u001b[49m\u001b[43mfastmath\u001b[49m\u001b[43m=\u001b[49m\u001b[43mfastmath\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 153\u001b[39m \u001b[43m \u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m=\u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 154\u001b[39m \u001b[43m \u001b[49m\u001b[43mdimensional_analysis\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdimensional_analysis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 155\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 156\u001b[39m )\n\u001b[32m 158\u001b[39m \u001b[38;5;66;03m# TODO #348\u001b[39;00m\n\u001b[32m 159\u001b[39m \u001b[38;5;28mself\u001b[39m.terminal_velocity_class = {\n\u001b[32m 160\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mGunnKinzer1949\u001b[39m\u001b[33m\"\u001b[39m: GunnKinzer1949,\n\u001b[32m 161\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mRogersYau\u001b[39m\u001b[33m\"\u001b[39m: RogersYau,\n\u001b[32m 162\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mTpDependent\u001b[39m\u001b[33m\"\u001b[39m: TpDependent,\n\u001b[32m 163\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mPowerSeries\u001b[39m\u001b[33m\"\u001b[39m: PowerSeries,\n\u001b[32m 164\u001b[39m }[terminal_velocity]\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:381\u001b[39m, in \u001b[36m_magick\u001b[39m\u001b[34m(value, module, fastmath, constants, dimensional_analysis)\u001b[39m\n\u001b[32m 375\u001b[39m \u001b[38;5;129m@lru_cache\u001b[39m()\n\u001b[32m 376\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_magick\u001b[39m(value, module, fastmath, constants, dimensional_analysis):\n\u001b[32m 377\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 378\u001b[39m \u001b[33;03m boosts (`PySDM.formulae.Formulae._boost`) the selected physics logic\u001b[39;00m\n\u001b[32m 379\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m 380\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m _boost(\n\u001b[32m--> \u001b[39m\u001b[32m381\u001b[39m \u001b[43m_pick\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_choices\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodule\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[32m 382\u001b[39m fastmath,\n\u001b[32m 383\u001b[39m constants,\n\u001b[32m 384\u001b[39m dimensional_analysis,\n\u001b[32m 385\u001b[39m )\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/agh/PySDM/PySDM/formulae.py:342\u001b[39m, in \u001b[36m_pick\u001b[39m\u001b[34m(value, choices, constants)\u001b[39m\n\u001b[32m 340\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m name, \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01min\u001b[39;00m choices.items():\n\u001b[32m 341\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m name == value:\n\u001b[32m--> \u001b[39m\u001b[32m342\u001b[39m obj = \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mconstants\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 343\u001b[39m \u001b[38;5;28;01mbreak\u001b[39;00m\n\u001b[32m 344\u001b[39m name = value\n", - "\u001b[31mTypeError\u001b[39m: OblateSpheroid() takes no arguments" - ] - } - ], + "outputs": [], "source": [ - "#Have to add the following equations that are in the paper to the formulae section:\n", - "#Will go under PySDM/physics/ wherever these categories are\n", - "# Note: We need to use string names for Formulae parameters, not class objects directly\n", - "formulae = Formulae(\n", - " terminal_velocity=\"LofusEtAl2021\", #eqn 8\n", - " drop_growth=\"RogersAndYau1996\", #eqn 10\n", - " ventilation=\"LofusEtAl2021\", #drag force/ gravitation eqns\n", - " particle_shape_and_density=\"OblateSpheroid\", #the following OblateSpheroid class\n", - ")\n", - "\n", - "#For particle_shape and density, we will need to create a new class for liquid oblate spheroids\n", - "#under PySDM/particle_shape_and_density.py\n", - "#this needs to include eqn 2 about the equivalent radius, Reynolds number eqn (5)... \n", - "#look at LiquidSphere class for reference" + "formulaes= Formulae(\n", + " # terminal_velocity=\"LofusEtAl2021\", #eqn 8\n", + " # drop_growth=\"RogersAndYau1996\", #eqn 10\n", + " # particle_shape_and_density=\"OblateSpheroid\",\n", + " ventilation=\"PruppacherAndRasmussen1979\", #drag force/ gravitation eqns\n", + " saturation_vapour_pressure=\"AugustRocheMagnus\",\n", + " diffusion_coordinate=\"WaterMassLogarithm\", #eqn 1\n", + ")\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "3249b65e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/emmaware/PySDM/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py:53: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n" + ] + } + ], "source": [ - "#settings in this folder, some inputs are from the paper needed for the plot, like initial radius\n", "settings = Settings( \n", - " updraft_velocity=0, # varied in the paper, add units\n", - " r_dry= 1e-16, #is this in the paper?\n", - " r_wet= 1e-1, #X axis of plot 2\n", - " formulae= formulae,\n", " planet= EarthLike(),\n", + " r_wet= 1e-3,\n", + " mass_of_dry_air= 1e5*si.kg,\n", + " coord= \"WaterMassLogarithm\",\n", " )" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "530b1cba", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1550.000935463031\n", + "1543.510935463031\n", + "1537.0207067039723\n", + "1530.5302508456057\n", + "1524.039569534274\n", + "1517.5486644158043\n", + "1511.0575371233374\n", + "1504.5661893138142\n", + "1498.0746226314752\n", + "1491.5828387083907\n", + "1485.0908391993387\n", + "1478.5986257469137\n", + "1472.1061999931483\n", + "1465.6135635795065\n", + "1459.1207181468778\n", + "1452.6276653355708\n", + "1446.1344067748798\n", + "1439.6409441143592\n", + "1433.1472789824397\n", + "1426.6534130271389\n", + "1420.1593478759937\n", + "1413.6650851658544\n", + "1407.1706265423966\n", + "1400.6759736317595\n", + "1394.181128078034\n", + "1387.68609150639\n", + "1381.1908655593154\n", + "1374.6954518609812\n", + "1368.1998520437262\n", + "1361.7040677392208\n", + "1355.2081005866912\n", + "1348.711952208223\n", + "1342.215624241385\n", + "1335.719118307177\n", + "1329.2224360414928\n", + "1322.7255790642175\n", + "1316.228549009553\n", + "1309.731347496242\n", + "1303.233976156777\n", + "1296.7364366156926\n", + "1290.2387304899655\n", + "1283.7408594027986\n", + "1277.2428249766526\n", + "1270.7446288332414\n", + "1264.2462725998307\n", + "1257.7477578964963\n", + "1251.2490863364999\n", + "1244.750259538513\n", + "1238.2512791204335\n", + "1231.7521467050624\n", + "1225.252863908614\n", + "1218.753432346515\n", + "1212.2538536333986\n", + "1205.7541293831007\n", + "1199.254261208654\n", + "1192.754250717303\n", + "1186.25409952544\n", + "1179.7538092389027\n", + "1173.2533814675724\n", + "1166.752817825041\n", + "1160.2521199194202\n", + "1153.751289353659\n", + "1147.2503359292275\n", + "1140.7492530566215\n", + "1134.24804234068\n", + "1127.746705385385\n", + "1121.2452437938566\n", + "1114.7436591683493\n", + "1108.2419607032878\n", + "1101.7401498988463\n", + "1095.2382282543824\n", + "1088.7361972684328\n", + "1082.23405124577\n", + "1075.7317917833623\n", + "1069.2294274704827\n", + "1062.7269529089097\n", + "1056.2243696929083\n", + "1049.721686109875\n", + "1043.2188970580373\n", + "1036.7160041289205\n", + "1030.2130153085304\n", + "1023.7099320869631\n", + "1017.2067497568314\n", + "1010.7034760032556\n", + "1004.2001123137239\n", + "997.6966601748481\n", + "991.1931152726052\n", + "984.6894791910363\n", + "978.1857535132294\n", + "971.6819453240366\n", + "965.1780507017882\n", + "958.6740712266894\n", + "952.170013684225\n", + "945.6658744463066\n", + "939.161655090224\n", + "932.6573571922876\n", + "926.1529823278246\n", + "919.6485320711762\n", + "913.1440126106645\n", + "906.639425420243\n", + "900.134771972936\n", + "893.6300494206394\n", + "887.1252593327122\n", + "880.6204115244105\n", + "874.115499316042\n", + "867.6105242739369\n", + "861.105487963409\n", + "854.6003994125823\n", + "848.0952599891829\n", + "841.5900710600462\n", + "835.0848339911139\n", + "828.5795501474315\n", + "822.074220893145\n", + "815.5688412983573\n", + "809.063412920144\n", + "802.55794321847\n", + "796.0524335538554\n", + "789.5468797706378\n", + "783.0412887428296\n", + "776.5356567010766\n", + "770.0299901294024\n", + "763.5242856442186\n", + "757.0185493400822\n", + "750.5127825710673\n", + "744.0069908491492\n", + "737.5011753333395\n", + "730.9953296363723\n", + "724.4894624611773\n", + "717.9835681902849\n", + "711.4776483648294\n", + "704.9717105286086\n", + "698.465755835805\n", + "691.9597802052643\n", + "685.4537851737718\n", + "678.9477722770193\n", + "672.4417512149101\n", + "665.9357227541824\n", + "659.429687661027\n", + "652.9236467010859\n", + "646.4176006394515\n", + "639.9115502406644\n", + "633.4054962687122\n", + "626.8994394870288\n", + "620.3933806584918\n", + "613.8873205454221\n", + "607.3812599095825\n", + "600.8751997506089\n", + "594.3691415897853\n", + "587.8630869472715\n", + "581.3570373421015\n", + "574.8509942921816\n", + "568.3449593142882\n", + "561.8389387179168\n", + "555.3329236726776\n", + "548.8269275507995\n", + "542.3209526206812\n", + "535.8149855101049\n", + "529.3090355485542\n", + "522.8031042448773\n", + "516.2971931067815\n", + "509.79130364083153\n", + "503.2854373524483\n", + "496.7795957459072\n", + "490.2737803243366\n", + "483.76799258971636\n", + "477.26223404287657\n", + "470.75650618349596\n", + "464.25081051010073\n", + "457.745148520063\n", + "451.23952170959967\n", + "444.7339315737709\n", + "438.2283796064791\n", + "431.72286234282865\n", + "425.21738623199184\n", + "418.71195276438954\n", + "412.2065634292798\n", + "405.701219714757\n", + "399.1959231077505\n", + "392.6906690198956\n", + "386.1854587501514\n", + "379.6802935964502\n", + "373.1751748556968\n", + "366.6701106392678\n", + "360.16510242707807\n", + "353.66014451254205\n", + "347.1552455584551\n", + "340.65040704121265\n", + "334.145622697079\n", + "327.6408938157417\n", + "321.1362297931389\n", + "314.6316238097169\n", + "308.1270856270953\n", + "301.6226167146072\n", + "295.1182185404067\n", + "288.61389257146806\n", + "282.10964027358506\n", + "275.60546311137057\n", + "269.1013625482557\n", + "262.5973400464893\n", + "256.0933970671376\n", + "249.58953507008326\n", + "243.0857555140253\n", + "236.58205985647837\n", + "230.07844955377232\n", + "223.57492606105183\n", + "217.0714908322759\n", + "210.56814532021767\n", + "204.0648909764637\n", + "197.56172925141388\n", + "191.0586615942812\n", + "184.55568945309113\n", + "178.05281427468157\n", + "171.55003750470263\n", + "165.04736058761625\n", + "158.54478496669606\n", + "152.0423120840271\n", + "145.5399433805058\n", + "139.03768029583992\n", + "132.53552426854816\n", + "126.03347673596014\n", + "119.53153913421643\n", + "113.02971289826854\n", + "106.5279994618786\n", + "100.0264002576197\n", + "93.52491671687555\n", + "87.0235502698408\n", + "80.52230234552093\n", + "74.0211743717325\n", + "67.52016777510302\n", + "61.019283981071\n", + "54.51852441388636\n", + "48.017890496610455\n", + "41.51738365111625\n", + "35.017005298088634\n", + "28.516756857024397\n", + "22.016639746232574\n", + "15.516655382834553\n", + "9.016805182764646\n", + "2.5170905607703853\n" + ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "#set up simulation\n", + "from PySDM.dynamics import Condensation\n", + "import numpy as np\n", "#Simulation is also in this folder\n", "#Need to change/add/edit the Parcel environment PySDM/parcel to take in new dz that uses the \n", "#updraft and the terminal velocity to have the parcel track the superdroplet\n", @@ -101,13 +366,47 @@ "output = simulation.run()\n", "\n", "#output currently has height, RH, radius, and time.. need others?\n", - "plt.plot(output['time'], output['radius'])\n" + "plt.plot(output['S'],output['z'])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "369fa24a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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6maeStZVe1fVekd9XxWf2hLt9MQTT+jCtMHBwfp7qusQdQ3jjEtde6jVWOcNSNVVRlHjlkVwFbV6o1ZxFOfvra51zjvvPP2z33zzTX3z4sc//rEkJibqOUz97Lfffvuom52qXs+//vWv5p+pvtfxVqjmzZsnQ4YM0dc86nf/xz/+cVQ86nOqXa1qlRsaGqp3PLzwwgtn+H8cANqmNXP3ky12Se7cuVO38Vbzpsr1VIev48256jpTve+ouVS1BXcWHD/Z3G0VRhP19evXS3Jysn4oKuFW44ceekh/rIrHqfPoqj2bepN66aWX9BuO+p/ipC7w1bl1dad+4sSJ+k7y/Pnzm7+uSugvXrxYP6sE/tprr9Vvzn/6058M/MYAnJxbX9VkrLZEqe4NareLcqqLVEVN3urfckhIiL64Pvbi89hJvTWJwJEjR+Saa67RCb56o+jXr59u+QjgzKh/p+qhLqBU8a4zoW7iq3/vaseM+rc6c+bM5lXoffv26ZuA6ppg8+bNOgFWF38qCW/p73//u75gUyv8v/vd7+Spp57SK/zvvfee3pmnkmU1fzh5e3vr16huMWpHwJdffql3ATm3m6t5RiX96uajevz6179u0++kavD88pe/lB07dujjAGp3kdo1qG5KqBsR6maCWnBYu3atfr1K0NU1zS233NL8M493tlotYFx55ZVy1VVX6d2F6iJU/b7OGwVO6s9z9OjR+s9D3YRQRxSO3dEIAB2ltXN3y3Z16tpRXSOuWbNG31xUbb2PR31ezcnq+k91E1PXl/X19e0yd7t1H3W15U01kj8ZdYdXPU5E3UV59tln9eNE1J3xTz755IxiBVyB+vdUVddg5GcH+tpOe7uluhBduXJl87EW50Xqb37zGz2BqotVdZHap08fvQrnvFhXK0offvihbt/4f//3f5KWlqYLT54udQG7fft2+fTTT3WdDLWTp6qq6rS/H9DRXOXfvKo5o5JDlViqG/ApKSl6BVklkGp1vC3UzpsLL7xQj1XS3K1bN1mwYIFOSNUquLrZ5jy7rW62qQRb/aznnntOXzMoF1xwgdx7773N31Pt5FOvVQsB6ndyzkVOx9a+eOSRR+T222+Xf//733q7udrhp/67k9W+ORn1/VVXm5ZaXjDeddddekegupGg5kD189TPVRepJ/uZaifA5MmT9dymqItUNcf97W9/06vyTjNmzGjerajmXbUIonYqDhgw4LR+HwAdz1Xmf0Utmqqbtccm206tnbud1MKOSu7VQotzDvzzn//c/N5w7Fx68cUX6/Ef//hHvcNIXd+plt5nOne7daIOoH2pCXvwQ58b+dnb/zRVgvx82jxpq7uaaoVNrVip4y2KWkk/2UWq2nL68ssvyxtvvKEvQltesJ8JdbGudvWolSWl5YoaYEWu9G9erZSoiyW1BX716tX6hpjaMad2y6kb963lrEGjREZG6mRSrUQr6oibWo1RK+ItL2ZVJxl1vE4VpFWc/8adVNKqLvDU91KrOmqnnjo656S2VKoLSbXVUrXvUvOWuqFYWVnZLsdrjo1HXcCq7ehqzsvMzNRb89U82dafpf5cVPecls455xy9iqR+htptqLS8WeK8aG1Z2weA9bjS/K+2nquEuyW1Eq52Ordl7nZSO37ULqKWCbZzIedYLec3tQNTUfObStStjkQdgBHOSVttYVerN2rFTV3It+YiVd1FVZ8bO3bsDy7Yz4Ta7qliUCvz6iJdbatSW6MAtA+1KqISYvVQq7w//elP9Qq5St6VlrvsTqeomrqJd9ttt+mzjcdSZ6+d1FnzltQKv7oYVDcPVFKuVufVcZwPPvhAH5tRibuaH9SKjZpr1JZMVSNHzUMnS55V0nvszsHj/V7HxqNWvNX2dpVQO8/Gq5Wmjip8p4p6Hhu3s00uAJwpNYf17dv3qM8dPny4zXP3mc5vzl0ArjK/kagDbkRtRVJ3OU397NOdtF955RV9XlStkquL3464SFUr9qdKBKZPny4HDx7UR2XUtiq1Wq8KT6rzrIAVudK/+eNRBYDUuXV11lxRZwSddWtO1PtWrcY7L9xUXQlVQd652qISbrW1+9gLwtZQx2x+9KMf6cfll1+uV9aLior0OW91UafOcTvnEXUTsSW1Db3lNk4n9Xup38lpz549ehX+VFTLOrUS7lxtUj9f/Z4tu9Wc6Ge2pP5cjm1/pz5WW+Cdq+kAXJOrz/8ttXXuHjBggG6lqFpux8bG6s+puiVt1Zp51CQSdcCNqDuFbdmKZBXq4ledMVcFJa+++upTXqSqs+rqDqnaNnXsBbs6z3Q8rU0E1OtuuOEG/VDVR9VZeBJ1WJWr/JtXBSKvuOIKXXNGbUNU1cVVQVm19V39W1fFG1UF97/+9a+6XaPalqg6tByPKgYbFRWlL85UkSBVT8LZo1edr1bfRxUgUqv16iafuvhTN96cR2tOdJZbbYlUc4Oaj95//329pVJVaFcXjuqm3tNPP60L16n5SZ2zb0kdk1ErQqpdrLrpqFbZ1UOdhVc/V23XVxeDKr5jV6+PR53PVKv5qnZHly5ddHzqgrRloq5+ppoD1Yq/OkakVvqPpc7hq1a3qsq9ugGhqh2reNTZegCuzVXm/9Zo69x94YUX6mtBda2m3kfKysqa3zPacnb+RHO3VVi2jzoAz6Iu4tUKjyoMqS5S1eSsLlLVGUu1HUpdpDqpi1K18q6SaFV9WRWjU2dMnatdx9MyEVDfUxWiOzYRUB0nVHE6VWREVXdW5+iPPRcFoO3Uv1l1VEUdc1EdWoYOHaq3vqvics6LMLWzRp39VoUk1Q4aVbDteNS/YVUhXb0uJydHt21VqyKKugmg/m2rm3bqRpuzk0xCQsJJ41M3DtTFnjorrhJblfyqnTVqTlEXbypRVq3lVNzqDGXL1m2KOiKjisupZFjd7FPfS1Gr8OocpYpF3YRUtTdacxGo5ia1wqQqwKvz++qmgfNmhJP6XmrOVMm7+pnO1rYtqe+hVv/feecdHbv6s1A3OloWkgMA09o6d9tsNr0bSyXZas5Wyb2z6vuxhedO5kRzt1V4NZ6q7Do0VTxGVQZUvfbU9jjANFXISJ2pVKtPbZmUrEBdJKrWaMf2ulQX4OqCWLUIUlvO1R1OdVGrWhOpi1D178/536jJWZ0ZVe0Y1UW2WjlS1eFV1XdnSzZ1p1Rd8DuriKoEXSX4aiVdbZtSE7I6i66qG6uLYZUYvPXWW/oiXSX26s1CJRbqz7it/w/cYc5wh9/Bnbjyv/n2oKr7qtoWaveMWumGGcx7QOfz9Pm/NdRuJ9W5Qy22qNV2d5j3SNRbiYkbVsOkbR4XrOhMnv5vnkTdGpj3gM7n6fP/8ai2nGq3ltqFqZJztdNKHRVSxT7dZd5zj4MNAAAAAACPUFZWps+2qx2XqlaJ6tShjhu5ExJ1AABgeep4CpsAAQDK9ddfrx/ujGJyAAAAAABYCIk6AAAAAAAWQqIOuDi2gprDnz1M4O8dTOLvH2AO//4868+dRB1wUb6+vvq5srLSdCgey/ln7/x/AXQk/s3DCpj3gM7H/O+Z8x7F5DrI9qxSGRAXKjZvL9OhwE3ZbDbdoigvL09/rPqNe3nx962z7qyqSVv92av/B+r/BdDR+DePzlZd1yABvo75jXnv+Oob7JJdUi1JkUGmQ4EbY/43w/S8R6LeQUn6nOdWyLjeUfLkVckSHshdZ3SMuLg4/eycuNG51KTt/H8AdAb+zaOz1NbbJa+sRgJ9vSUy2F+cOQHz3vc2ZhTLT19fL+GBPvLFPeeROKFDMf+bY2reI1HvAIeKKkUdZfhqV75c9sx38sL1o6V/bKjpsOCG1EVBfHy8xMTESF1dnelwPIra/sSKEjob/+bRWatId729QXZkl8q0oXFy39Re+vPMe0frEx0s5TV1UlBeI5sOl8jIpAjTIcGNMf+bYXLeI1HvAOpNbd7Pxstt/0uVA4WVMvvZFfKPK0fItKHxpkODm1ITCBdPgOfg3zw60kebsuSL3Uck0Ncmt54/UAICAkyHZEmhAb4ybUicLNyYJfNSD5Ooo1Mw/3sOisl1kKGJ4fLRXRNkfJ8oqahtkNvfSJO/f75LGuxUawQAANY9l/7YZzv1+LbzektsGEn6ycwd1U0/L9qUJTX1DabDAeBGSNQ7UGSwn/z3pjFy8wTHlrFnvtorP319nZRUsV0FAABYz+srD8jhI1USG+Yvt07sbTocyxvfp6vEhQXoa7svd3B2GED7IVHvYD42b/ndJYPlyR+NFH8f7+Zz67tzy0yHBgAA0KyoolYvKii/vmiABPlxQvJUVHefWcmJejwv7bDpcAC4ERL1TqImcXVuPTEisPnc+mdbs02HBQAAoP3ri91SVl0vg+PDZG6KY0s3Tu3yUY5E/etd+bqwHAC0BxL1TsS5dQAAYEX78svlzTWH9PjBiweJtzetxlqrb0yojOgWLvX2RvlwY5bpcAC4CRJ1C5xbv5lz6wAAwKBHP9mpE83JA2NkfN+upsNx2aJyqvo7ALQHEnULnFtXW6U4tw4AAExYta9QvtiRq89bPzBjkOlwXNLM4Qnia/OS7dmluv88AJwpEnULnVuf9ewK+XQL59YBAEDnsNsb5ZGPt+vx1WO6S9+YENMhuaQuwX4yeWCsHrOqDqA9kKhb6Nx6ZW2D/OzNNPnHkl36jRMAAKAjzd+QKduySiXU30d+NaWf6XDcYvv7wo1ZUt9gNx0OABdHom7Bc+tPf7lXfvZmqlTU1JsODQAAuKmq2gZd1Fa54/y+EhXibzoklzZpQLREBfvpyu/f7ikwHQ4AF0eibrFz63+/YoT42bzl8225Mve5lZJRVGk6NAAA4IZe/Ha/5JRW6yN4Pzmnp+lwXJ6vzVsuHZmgxx/QUx3AGSJRt5jLR3WTd247W7qG+MvOnDK57NkVsja9yHRYAADAjeSVVsvz3+zT499MHygBvjbTIbkFZ//5pdtzpaSSjj4ATh+JugWldO8ii+48R4YmhklRRa1c89JqeWeto7cpAADAmXpi6W5dG2dkUoTMHB5vOhy3MSQhTAbGhUptvV0Wb6GnOoDTR6JuUQkRgfL+bePl4uHxUtfQKL+dv0X+sGgbxUkAAMAZ2ZlTKu+tz9Dj310ySLy8vEyH5DbUn6VzVZ3q7wDOBIm6hQX62eSZHyfLvRf21x+/tvKA3PjqOimurDUdGgAAcFGPfrJTVHOZGcPiZFSPSNPhuJ3LkhN0T/q0Q8WyP7/cdDgAXBSJugvcmb1rcj95/tpREuRnk+/2Fuh+63vzmPgBAEDbrNhbIN/szhdfm5fcP3Wg6XDcUkxogEzs11WP56dlmg4HgIsiUXcR04bGybyfjdeVWQ8UVsrsZ1fIV7vyTIcFAABchN3eKI9+ukOPrxnbQ3p2DTYdktua07T9fcGGTP3nDgBtRaLuQgbFh+kic2N6RkpZTb3c/No6eXH5fmls5A0AAACc3Eebs2RrZqmE+PvIXRf0NR2OW7twcKyEBvhIZnGVrN5faDocAC6IRN3FRIX4yxs/HStXnZWkz5f9+ZMd8uv3N0t1XYPp0AAAgEXV1DfI3z7fpce3n9dbX0+g46h2d5cMp6c6gNNHou6C/Hy85dE5w+QPMwfrYiXz0g7L1S+uloLyGtOhAQAAC/rfqoNy+EiVxIb5y80TepsOxyNcPipRP3+2NUcqaupNhwPAxZCou3CRuRvP6SWv/2SMhAX46Mqiqsjc7twy06EBAAALKamqk2e+2qvHd0/pr7vKoOOldO8ivboG6371n27NMR0OABdDou7iJvTrKgt+fo70iArSd8rn/nulLN+dbzosAABgEc9/s0+KK+ukb0yIXD7KUeQMnbOoMifZsapOT3UAbUWi7gb6RIfIgju+LzL3k9fWyf9WHzQdFgAAMCyruEpe+S5dj387baD42Lj060yzUxyJ+qr9hXL4SKXpcAC4EGZrNxEZ7Cf/++kYmZOSKA32Rvndwq3yp4+26zEAAPBM/1y6W2rq7fpm/uRBMabD8TjdugTJuN5RerxwAz3VAbQeibob8fexyT+uGCG/vqi//viVFely63/XSzkFTAAA8Dg7c0qbK44/MGOg3oqNzje36bjBvLRMWuoCaDUSdTej3oTvvKCfPHN1svj7eMuynXlyxfOr9NY3AADgOR77dKeovHDGsDhJ7t7FdDgea/rQOAnys0l6QYUu/gsArUGi7qZU7853bj1buob4yY7sUl0RfsvhEtNhAQCATrByX4F8tStffLy95L6pA02H49GC/X1k2tA4PVYtdQGgNUjU3Zi6e66KzPWPDZG8shq54j8r5bOt2abDAgAAHchub5S/frpTj68e2123CINZl6c4tr8v3pQl1XUNpsMB4AJI1N1cUmSQzPvZeDmvf7RU19nl9jfSdJsWzkgBAOCePt6SLZsPl0iwn01+Mbmf6XAgImf3jpLEiEApra6XL3bkmg4HgAsgUfcAoQG+8vINo+X6cT30x+ou+2/nbZHaervp0AAAQDtS7+1/+3yXHt92Xh/pGuJvOiSoC25vL5lNT3UAbUCi7iFU39Q/XTZU/jBzsHh7iby7PkNufHWtlFTVmQ4NAAC0kzfXHJRDRZUSHeovPz23l+lwcJye6sv3FEheWbXpcABYHIm6h7nxnF7y0g2j9Xa4lfsK5YrnV0omFeEBAHB5pdV18vSXe/X47in9JcjPx3RIaKFPdIgkd4+QBnujfLghy3Q4ACyORN0DXTAwVt67fZzEhPrL7txymfPvFbIti4rwAAC4sv98s0+KKmqlT3SwXDnaUbwM1jK3qaicqv5OvSAAJ0Oi7qGGJITLgp87KsLnltbIlc+vkm9255sOCwAAnIbc0mp5+bt0Pb5/2kB95A3WM3N4gvj5eMvOnDLZllVqOhwAFsYs7sFU9dH3bx8v43pHSUVtg9z02jp5b12G6bAAAEAbPbVsj+7uMqpHF7locKzpcHAC4UG+cuEgx/8feqoDOBkSdQ8XHugrr980RlciVWem7p+3WZ5YupvtWAAAuIj0ggp5p+lG+2+mDRQvLy/TIeEk5o5yFJVbtDFL6hrowAPg+EjUobdgPXHlCLnz/L7Nd+V//f5m2rcBAOAC1A12dbP9/AHRMqZXpOlwcAoT+0XrtnmFFbXy9S6OHQI4PhJ1aOru+6+nDpC/zB4mNm8vvR1LbYUvq6Z9GwAAVrU1s0Q+2uSoIH7f1IGmw0ErqPoBs0Ym6PF8tr8DOAESdRzl6rHd5aXrR0uQn02+21sgVzy/SrJLaN8GAIAV/X3JLv186YgEGZwQZjoctNLcUY7q78t25ElxZa3pcABYEIk6fuD8gTHy3m3jJDrUX1clnf3sStmRTWVSAACsZPX+Qr112sfbS+65sL/pcNAGg+LDZHB8mNQ22Jt3RABASyTqOK6hieEy/2fjpW9MiOSUVuv2bd/tKTAdFgAAENFFXx//bKceXzUmSXp2DTYdEk5zVf2DtEzToQCwIBJ1nFBSZJDMu328jO0VKWU19XLjq2s5SwUAgAWoLdNph4olwNdbfnFBP9Ph4DRcNjJB74bYlFEse/PKTYcDwGJI1HHKfp//vXmMzByRIPX2RrnnvU3ywvJ9psMCAMBjqQrvf/vccTb9J+f0kpiwANMh4TSoyu+TBkTrMT3VARyLRB2n5O9jk3/9aKT8dEIv/fFfPtkpf/54u9jt9FoHAKCzfbgxU3bllklYgI/cPrGP6XBwBuakOLa/L0jL1DdgAMCJRB2t4u3tJQ9eMlj+b4aj9cuL36bLve9vkroGeq0DANBZauvtum+68rNJffXON7iuyYNiJDzQV9cDWrmPWkAAvkeijja5dWIf+ccVI3Sv9QUbMuXm19dLRU296bAAAPAIb689JIePVElMqL/cOL6n6XDQDrsWZ46I1+N5qWx/B/A9EnWcVpXSl24YLYG+Nlm+O1+ufmmNFFXQAxQAgI6kbow//eUePf7F5H4S6GczHRLawdym7e+fbcuRsuo60+EAsAgSdZyW8wfEyJu3jJWIIF9drfTy51ZKRlGl6bAAAHBbr65Il4LyWukRFSQ/OivJdDhoJyOTIqR3dLBU19nl0y05psMBYBEk6jhtKd27yAe3j5fEiEDZX1Ahc59bKTuyS02HBQCA2zlSUSv/+Wa/Ht970QDxtXEJ5y68vLyaV9U/oPo7gCbM8jgjfWNCZN7PxsuA2FDJK6uRK/+zStbsLzQdFgAAbuW5b/ZJWU29DI4Pk0uGOc40w33MSUkULy+RtelF7FAEoJGo44zFhQfIe7eNk7N6dpGy6nq57pW18tlWtm4BANAeskuq5PWVB/T4vmkDdCcWuJf48EA5p09XPaanOgCFRB3tQrWH+d/NY+XCwbG6dcwdb6bKm2sOmg4LAACX99SyPVJTb5cxvSJlUv9o0+Ggg8wdlaif56dlSmMjPdUBT0eijnYT4GuT565JkR+PSRJ7o8j/W7BVX1zwZgMAwOnZn18u7613rLD+ZtoAfZ4Z7mnqkDgJ9rPJoaJKWX/wiOlwABhGoo525WPzlr/MHia/uKCv/viJpbvlkY93kKwDAHAa/vnFHmmwN8rkgTEyqkek6XDQgYL8fGRGU/0BeqoDIFFHu1N3+++5aID8fuZg/fHL36XL/R9slvoGu+nQAABwGaqTykebsporvcP9zR3lqP7+8eZsqa5rMB0OAINI1NFhfnJOL/n7FSNE1bx5P/Ww3PX2Bqmp500HAIDW+OfS3fr54uHxMjghzHQ46ARjekZKty6BusL/59sozAt4MhJ1dKjLR3WTf1+TIn42b/l0a4789PX1UllbbzosAAAsbfPhYlmyPVff7L57Sj/T4aCTqIr+c5p6qs9LyzQdDgBPTdSXL18uM2fOlISEBL1deuHChSd87e23365f8+STTx71+aKiIrnmmmskLCxMIiIi5Oabb5by8vKjXrN582Y599xzJSAgQJKSkuTxxx/vsN8JPzRtaLy8cuNZEuhrk2/3FMh1L6+Vkqo602EBAGBZ/1jiWE2flZwofWNCTYeDTjQn2VH9/bs9+ZJbWm06HACemKhXVFTIiBEj5Nlnnz3p6xYsWCCrV6/WCf2xVJK+bds2Wbp0qSxevFgn/7feemvz10tLS+Wiiy6SHj16SGpqqvztb3+TP/zhD/LCCy90yO+E45vQr6u88dOxEhbgI6kHj8hVL6yW/LIa02EBAGA56w4UyTe788XH20t+OZnVdE/Ts2uwjO7RRXfQWbCBVXXAUxlN1KdPny6PPPKIzJ49+4SvyczMlLvuukvefPNN8fX1PeprO3bskM8++0xeeuklGTt2rEyYMEGefvppeeeddyQry1F8Rf13tbW18sorr8iQIUPkqquukl/84hfyxBNPdPjvh6ON6tFF3r1tnHQN8dcFcq78zyo5fKTSdFgAAFiG6pLy98936fEVo5OkR1Sw6ZBgsKicqv5O5xzAM1n6jLrdbpfrrrtO7rvvPp1kH2vVqlV6u/vo0aObPzdlyhTx9vaWNWvWNL9m4sSJ4ufn1/yaqVOnyq5du+TIEXpUdrZB8WHy/u3jJDEiUNILKuTK51fJvvyjjyoAAOCpVu4rlDXpRbq2y11NrU7heVQBQX8fb9mTVy5bMktMhwPAAEsn6o899pj4+PjoFfDjycnJkZiYmKM+p14fGRmpv+Z8TWxs7FGvcX7sfM3x1NTU6G3zLR9oH726BssHPxsnfaKDJaukWifrW3kTAoxj3gMssJq+xLGafvXY7pIQEWg6JLdn1XkvLMBXLhoSp8f0VAc8k2UTdXWe/F//+pe89tpruohcZ3v00UclPDy8+aGK0KH9xIcHynu3jZOhiWFSWFErP35htT6TB8Ac5j3ArK925cmGQ8US4Ostd5zfx3Q4HsHK897cFEdRuUWbsqS23m46HACdzLKJ+rfffit5eXnSvXt3vUquHgcPHpR7771XevbsqV8TFxenX9NSfX29rgSvvuZ8TW5u7lGvcX7sfM3xPPDAA1JSUtL8yMjI6IDf0rNFhfjLW7ecrXuGqn6h1728RhfPAWAG8x5gjt3e2Fzp/YZxPSUmNMB0SB7ByvPeuf2iJSbUX45U1smXO4++3gXg/iybqKuz6aqt2saNG5sfquq7Oq/++eef69eMGzdOiouL9eq705dffqnPtqvics7XqErwdXXftwNTFeIHDBggXbp0OeHP9/f31y3fWj7QMVu7Xr9pjJw/IFqq6+xyy+vrZen2o2+sAOgczHuAOZ9vy5FtWaUS7GeT285jNb2zWHnes3l7yeymVm3z0tj+Dngao4m66nfuTMKV9PR0PT506JBERUXJ0KFDj3qoqu9qFVwl2cqgQYNk2rRpcsstt8jatWtlxYoVcuedd+rK7s5WbldffbUuJKf6q6s2bu+++67eUn/PPfeY/NXRQqCfTf5z3WiZPjROahvs8rM3UuWTLdmmwwIAoFM02BvliaWO1fSbJ/SSyODvC+DCszmrv3+1M0+KKmpNhwPAUxL19evXS3Jysn4oKnlW44ceeqjV30O1Xxs4cKBMnjxZZsyYoVu0teyRrs4bLVmyRN8EGDVqlN46r75/y17rMM/Px1ue/nGyXDYyQertjXLnW2mykN6hAAAP8NGmLF3dOyzAR24+t7fpcGAh/WNDZVhiuL42WrSR6yLAk/iY/OGTJk1qU2/IAwcO/OBzqsL7W2+9ddL/bvjw4frMO6zNx+YtT1w5UrekeT/1sNz93kZdPOXKs6xT2AUAgPZU12CXJ79wrKarLe/hgb6mQ4LFqKJyqkXbvLRMufGcXqbDAeDpZ9ThmdR5rMfmDpdrxnYXdQ/n/nmb5Y3VB02HBQBAh5ifdlgOFFbq7e43jncUywVaunRkovjavHSyvju3zHQ4ADoJiTosx9vbSx6ZNVR+co7jguXBhVvl5e/STYcFAEC7qqlvkKeW7dXjOyb1kWB/oxsdYVHqJs75A2L0mJ7qgOcgUYcleXl5yUOXDJbbmyrfPrx4uzz39T7TYQEA0G7eXZchmcVVugXXtWf3MB0OXKCo3IINmVLfQE91wBOQqMPSyfpvpg2QX07upz9+7LOd+hxfW+oaAABgRVW1DfL0l47V9Lsu6CsBvjbTIcHC1Ip6lyBfySurke/2FpgOB0AnIFGH5ZP1uy/sL/dNdbTke/KLPfL457tI1gEALu3NNQclv6xGEiMCKZqKVnXHuXSEo/WwKioHwP2RqMMl/Pz8vvK7SwbrsdoC//DiHSTrAACXXU1//pv9enznBX3F34fVdLR++/uSbTlSWl1nOhwAHYxEHS7j5gm95OFZQ/X4lRXp8rsPt4rdTrIOAHC91fSC8hrp1iVQLm9KvoBTUf3U+8WESE29XT7enG06HAAdjEQdLuW6s3vI43OHi5eXyBurD8lDi7aysg4AcLHV9H3NZ9N9bVyKofXHAZ2r6lR/B9wf7w5wOeos398vH9GcrKuVdZJ1AIAreGO1Wk2vlaTIQJmTwmo62mZ2cqJ4e4msP3hEDhRUmA4HQAciUYdLUneU/9YiWX/ow20k6wAAS6usrZf/LG9aTT+/H6vpaLPYsACZ0C9aj+ensaoOuDPeIeCy1Lk+5zb4/60+KL9fRLIOAHCN1fTZKYmmw4GLmtv0d2f+hkxq9QBujEQdLu2K0UnyWFOy/t9VB+UPJOsAAKuupjdVemc1HWdi6pA4CfX3kcNHqmTtgSLT4QDoILxLwOVdqZL1OY5k/fVVB+WPH20nWQcAWG41vbCiVrpHBrGajjMS4GuTi4fH6zFF5QD3RaIOtykwp5J15bWVB0jWAQCWXE1XfdNZTceZclZ//2RLtv77BcD98E4B90rW5w5rTtb/tJhkHQBg3v9WOVbTe0QFyZxkVtNx5kb36KL/PlXUNsjn23JMhwOgA5Cow6386Kzu8tc5jmT91RUH5OHFO0jWAQCGK703raaf31d8WE1HO/VUn5Ps7KmeaTocAB2Adwu4navGdJdHm5L1V1akyyMfk6wDAMxQhU6LmlbTVQ9soL3Maap1sGJfgWQVV5kOB0A7I1GHW/rxmO7yl9mOZP3l79LlzyTrAIBOVlFTLy80rabfdUE/VtPRrpIig2RMr0hRlzcLNrCqDrgb3jHgtq4e213+PHuoHr/0Xbr8Y8lu0yEBADzI/1Y7VtN7RgXJrJEJpsOBG7o8pWn7e9phFiQAN0OiDrd2zdge8qfLhujxM1/tlWe/2ms6JACAB2A1HZ1h+rA4CfD1lv35FbIxo9h0OADaEe8acHvXj+spD0wfqMd/+3yX3goPAEBnnE3v1TVYLmM1HR0kNMBXpg2Ja15VB+A+SNThEW47r4/8ako/PX548XZ5c81B0yEBANx6NX2fHt91AZXe0Tk91T/alC019Q2mwwHQTnjngMf45eR+ctt5vfX4wYVbZT53ngEAHeD1VQfkSGWdXk2/dASr6ehY4/t0lbiwACmpqpNlO/JMhwOgnZCow6N6jv522kC5YVwPXSH11+9vko83Z5sOCwDgZqvpLzafTWc1HR3P5u0ls5tatc1LZRECcBe8e8DjkvXfzxwiV47uJvZGkV++s0GW7cg1HRYAwE28sfogq+nodHObqr9/vTtfCsprTIcDoB2QqMPjeHt7yaNzhusLqHp7o/zsjTT5bk+B6bAAAC6uqrZBXvzWsZp+x6Q+rKaj0/SNCZERSRHSYG+UDzdmmQ4HQDvgHQQeu03sH1eOkKlDYqW2wS63/He9rE0vMh0WAMCFvb32kBSU10q3LoEyK9mxFRnoLJez/R1wKyTq8Fi+Nm956sfJcl7/aKmqa5CbXltHD1IAwGmprmuQ/zRVer9jUl/9HgN0ppkjEsTP5i3bs0tlR3ap6XAAnCHeReDR/H1s8p/rRsm43lFSXlMv17+8RrZn8eYGAGib91MPS25pjcSHB8jcUaymo/NFBPnJ5EExesyqOuD6SNTh8QJ8bfLSDaMlpXuElFbXy/WvrJUDBRWmwwIAuIjaers8/7VjNf328/rom8CAyaJyCzdmSX2D3XQ4AM4AiTogIsH+PvLqT8bIoPgwXS312pfXSG5ptemwAAAuYMGGw5JZXCXRof7yo7OSTIcDD3begGiJCvbT1zLL9+SbDgfAGSBRB5qEB/rKf28aIz2jguTwkSq5/uW1UlxZazosAICFqVXLZ79yrKbfNrG33qUFmKJqI1w60tEWcF5qpulwAJwBEnWgBbUa8r+bx0pMqL/syi3TBeYqa+tNhwUAsKhFm7LkUFGlRAb7ydVju5sOB2je/r50e66UVNaZDgfAaSJRB46RFBmkk3W1wp52qFhufyNNnz8EAKAl1bP6ma/26vFPz+0lQX4+pkMCZEhCmAyMC9XtZz/aTE91wFWRqAPHMSAuVF658SwJ9LXJ8t35cs97G/UFGQAATp9syZb9+RX6xu7143qaDgfQvLy8mlfV56VR/R1wVSTqwAmM6tFFnr9ulPjavGTx5mz5w6Jt0thIsg4AELGr1fQvHavpN53TS0L8WU2HdVyWnCA2by/ZcKhY9uWXmw4HwGkgUQdO4rz+0fLElSPFy0vkf6sPyj+X7jYdEgDAApZsz9W1TFSCfuN4VtNhLTGhATKxX1c9ns+qOuCSSNSBU5g5IkEevmyoHj/15V555bt00yEBAAxSu6ue/nKPHt8wvoeEB/maDgn4gbmjHNvfF6Rl6h0gAFwLiTrQCtee3UN+fVF/Pf7T4u3cnQYAD/bVrjzZllUqQX42uXlCb9PhAMc1ZVCshAX4SFZJtazeX2g6HABtRKIOtNLPz++rzyEq932wWZbtyDUdEgDAwGr6U8v2Nt/EVW3ZACsK8LXJJSMcPdU/YIEBcDkk6kAbqqg+ePEgmZOcqCvA//ytNEk7dMR0WACATvTd3gLZmFEs/j7euiUbYGXO6u+fbc2Ripp60+EAaAMSdaANvL295LHLh8v5A6Klus4uP319veynmioAeIynm1bTfzymuy7YBVhZSvcI6dU1WCprG+TTrTmmwwHQBiTqQBv52rzlmatTZHi3cCmqqJUbXl0r+WU1psMCAHQwdc537YEi8bN5y+3n9TEdDtDKnuqJejwvle3vgCshUQdOQ7C/j7xy41nSPTJIMoqq5KbX1rGlDADc3LNfOVbTrxjdTeLCWU2Ha5id0k23mV21v1AOH6k0HQ6AViJRB05T1xB/ef2mMbqQ0JbMEn1mva7BbjosAEAH2Hy4WL7dUyA2by9W0+FSEiMCZVzvqOZWbQBcA4k6cAbUua+XbxgtAb7e8vWufPm/+Vt0RWAAgHv591f79POlIxIkKTLIdDhAm8xpKio3f0Mm1ymAiyBRB85Qcvcu8uzVKeLtJfJ+6mH55xd7TIcEAGhHe/PK5PPtjkJcP5vEajpcz/ShcRLkZ5P0ggo61gAugkQdaAeTB8XKI7OG6fFTy/bI22sPmQ4JANBOnvt6v6hFyIsGx0r/2FDT4QCnVVtn2tA4Pf4gle3vgCsgUQfaydVju8svLuirx/9vwRZZtiPXdEgAgDOkim99uNGR2NxxvmOOB1zR5U3b3xdvzpLqugbT4QA4BRJ1oB3dfWF/uWJUN7E3itz51gbZmFFsOiQAwBl4cfl+qbc3yjl9o2RkUoTpcIDTdnbvKF1Yrqy6XpZuZzEBsDoSdaCd+5X+Zc4wOa9/tFTVNei2bQcKKkyHBQA4DfllNfLOugw9vmMSq+lwbd7eXjI7uamneho91QGrI1EH2pmvzVv+fU2KDE0Mk6KKWvnJa+vkSEWt6bAAAG306op0qam3y4ikCBnfx9HeCnBlc1Icifry3fmSV1ptOhwAJ0GiDnRQ0ZZXbjxLbzFTFVZv+1+q1NRzHgwAXEVpdZ38b9VBPf75pD56xxTg6npHh0hK9wh9RO/DjVmmwwFwEiTqQAeJCQ3QyXqov4+sPVAkv51Hj3UAcBUqSS+rqZd+MSEyZVCs6XCAdjN3VLfm7e9clwDWRaIOdKABcaHy72tTxObtJQs2ZMpTy/aaDgkAcApVtQ3yynfpenzH+X302V7AXVwyPEH8fLxlZ06ZbMsqNR0OgBMgUQc62Ln9ouXhy4bq8T+/2C0LN9C/FACs7N11h6Swola6dQmUmcMTTIcDtKvwQF+5cLBjlwhF5QDrIlEHOqnH+m0Te+vx/R9slrXpRaZDAgAcR229XV5Yvl+Pbzuvj/jYuFSC+/ZUX7QxS+oa7KbDAXAcvPsAneQ30wbKtCFxUttgl9v+t562bQBgQR9uzJSskmrpGuIvVzSd5QXczbn9uuq/42rnyNe78k2HA+A4SNSBTqLOOP7zRyNlRLdwOVJZR9s2ALCYBnujPPfNPj2+5dxeEuBrMx0S0CHUTpFZIx3HOualsv0dsCISdaATBfrZ5MUbRje3bbv9jVS9zRIAYN6SbTmyP79CwgJ85Jqze5gOB+iU6u/LduaycABYEIk6YKhtW4i/j6xJL5LfL9pGexQAMEzNw89+7ejMceP4nnqOBtzZoPgwGRwfJnUNjfLRZnqqA1ZDog4Yatv21I9HipeXyNtrD8nrKw+YDgkAPNq3ewpka2apBPra5MZzepkOB+jcnupsfwcsh0QdMOSCgbHywPSBevynxdtl+W6KuQCAKf9uWk3/8ZjuEhnsZzocoFNcNjJBfLy9ZNPhEtmbV2Y6HAAtkKgDBt1ybm+Zm9JN7I0iP38rTfbll5sOCQA8zsaMYlm9v0gnLD89l9V0eA5V+X3SgGg9/iA103Q4AFogUQcM8vLykr/MGSqjenSRsup6ueX19VJSWWc6LADwKC8sd1R6v3RkgiREBJoOB+hUasFAWbDhsO58AMAaSNQBw/x9bPKf60bpSvD7Cyr0ynp9A5XgAaAzqA4cn27N0ePbJvYxHQ7Q6S4YFCPhgb6SW1ojK/YWmA4HQBMSdcAiW89evH60BPnZ5Lu9BfLw4u2mQwIAj/Dit/tFNd64YGCMLvQJeBq1YHDpCEdP9flpFJUDrIJEHbCIwQlh8s8fjdTj11cdlDfXHDQdEgC4tfyyGvmgqdr17eexmg7P5az+/tm2HCmr5ggeYAUk6oCFTB0SJ/dNHaDHf1i0TdYfKDIdEgC4rddWpkttvV2Su0fIWT27mA4HMGZEt3DpEx0s1XV2+XSL4ygIALNI1AGLuWNSH7l4WLzUNTTK7W+kSU5JtemQAMDtlNfUy/9WHWw+m66KewKeSv39d66qf8D2d8ASSNQBC75Z/u2K4TIwLlQKymvktjdSpbquwXRYAOBW3ll7SEqr66V312C5aHCs6XAA42YnJ4q6X7U2vUgyiipNhwN4PBJ1wIKC/HzkhetG6yqsmzKK5aEPt0qjqnYEADhjarv7y9+l6/GtE3uLtzer6UB8eKBM6NtVj+exqg4YR6IOWFT3qCB55upkUdeP760/LP9bTXE5AGgPH23KkuySaokO9ZdZyYmmwwEsY06K49/D/LRMFggAw0jUAQs7t1+0/Hb6QD3+00fbZc3+QtMhAYBLU8nHf5bv0+ObzuklAb420yEBlipqG+xnk0NFlbLuwBHT4QAezWiivnz5cpk5c6YkJCToc7kLFy5s/lpdXZ385je/kWHDhklwcLB+zfXXXy9ZWVlHfY+ioiK55pprJCwsTCIiIuTmm2+W8vLyo16zefNmOffccyUgIECSkpLk8ccf77TfEThTt5zbW/c3rbc3yh1vpklWcZXpkADAZX21K09255ZLiL+PXD22u+lwAMsdvZsxLF6P5zW1LgTggYl6RUWFjBgxQp599tkffK2yslLS0tLkd7/7nX6eP3++7Nq1Sy699NKjXqeS9G3btsnSpUtl8eLFOvm/9dZbm79eWloqF110kfTo0UNSU1Plb3/7m/zhD3+QF154oVN+R+BMqZtYj80dLoPjw6SwolZu+x/F5QDgdD3/zX79rJJ0VQcEwNGc1d8/3pItVbVcbwCm+Bj7ySIyffp0/Tie8PBwnXy39Mwzz8iYMWPk0KFD0r17d9mxY4d89tlnsm7dOhk9erR+zdNPPy0zZsyQv//973oV/s0335Ta2lp55ZVXxM/PT4YMGSIbN26UJ5544qiEHrCyQD+b/Oe6UXLpM9/JlswS+f2H2+Sxy4ebDgsAXEraoSO6orWvzUtvewfwQ2N6Rkq3LoFy+EiVLNmeI5eNpI4DYIJLnVEvKSnRq4tqi7uyatUqPXYm6cqUKVPE29tb1qxZ0/yaiRMn6iTdaerUqXp1/sgRzt7AdSRFBsnTP07RrVPeXZ8h7647ZDokAHAp//nGcTZ91shEiQsPMB0OYEmqC8KclKae6mx/B4xxmUS9urpan1n/8Y9/rM+jKzk5ORITE3PU63x8fCQyMlJ/zfma2Nij+6M6P3a+5nhqamr0tvmWD8C0Cf26yr0X9tfj3324TbYcLjEdEtwI8x7c2b78clmyPVePbzuvt+lwYBHMe8c3t6n6+4q9BZJTUm06HMAjuUSirgrLXXnllbpS63PPPdcpP/PRRx/V2++dD1WEDrCCOyb1lckDY3Qf4J+9mSrFlbWmQ4KbYN6DO3vp2/2iuk1NGRQrfWNCTYcDi2DeO74eUcFyVs8uYm8UWbAh03Q4gEfydpUk/eDBg/rMunM1XYmLi5O8vLyjXl9fX68rwauvOV+Tm+u4g+7k/Nj5muN54IEH9FZ75yMjI6OdfzPg9LekPXHlSOkeGaTPj9397kaxq3dS4Awx78Fd5ZVWy7xUR7JxO6vpaIF578TmNm1/n592mJ7qgAHerpCk79mzR7744guJioo66uvjxo2T4uJiXc3d6csvvxS73S5jx45tfo2qBK++l5NK+AcMGCBdunQ54c/29/fXNwVaPgCrCA/yleeuTRF/H2/5ale+PP3lXtMhwQ0w78FdvbrygNQ22GVUjy4yumek6XBgIcx7JzZjeLy+ztiTV64L2QLwoERd9TtXFdjVQ0lPT9djVdVdJdaXX365rF+/Xldub2ho0GfK1UNVcVcGDRok06ZNk1tuuUXWrl0rK1askDvvvFOuuuoqXfFdufrqq3UhOdVfXbVxe/fdd+Vf//qX3HPPPSZ/deCMDUkIl0dmDdXjJ5ftlm9255sOCQAsp6KmXt5cfVCPb5vIajrQWmEBvjJ1iGP3KT3VAQ9L1FUSnpycrB+KSp7V+KGHHpLMzExZtGiRHD58WEaOHCnx8fHNj5UrVzZ/D5XEDxw4UCZPnqzbsk2YMOGoHunqvNGSJUv0TYBRo0bJvffeq78/rdngDq4YnSQ/HtNdn7v85Tsb5PCRStMhAYClvLc+Q0qr66VX12B9Ph1A23uqL9qUpWvjAPCQPuqTJk066ZmX1pyHURXe33rrrZO+Zvjw4fLtt9+eVoyA1f1+5mDZmlmit6X9/K0N8v5t48TPx9KnWgCgUzTYG+WVFel6fPOEXrrGB4DWm9C3q8SG+UtuaY18uTNPpg09cX0nAO2Lq3nAxQX42vR59fBAX9mUUSyPfbbTdEgAYAmfb8uRjKIq6RLk21wYC0Dr2by9ZFayo1XbvDS2vwOdiUQdcAPdugTJ368Yoccvf5cuS7blmA4JAIx78dv9+vm6s3tIoJ/NdDiAS3Le5PpqZ54UlteYDgfwGCTqgJu4cHCs/HRCLz3+9fubJKOI8+oAPFfqwSLZcKhYHwW6blxP0+EALqt/bKgMSwyXenujPqsOoHOQqANu5P5pA2VkUoQunHTn2xso/ALAY72w3LGaPntkokSH+psOB3Bpc1PY/g50NhJ1wI2olaNnrk6WsAAffV79cc6rA/BABwoqZMn2XD3+6bmOnUYATt+lIxPF1+YlWzNLZVdOmelwAI9Aog648Xn1lzivDsADqUrvqnHM+QOipV9sqOlwAJcXGewn5w+I0WNW1YHOQaIOuKGLhsTpVkQK59UBeJLiylp5f70jkbjl3N6mwwHcrqf6gg2ZUt/A0Tqgo5GoA27qN9MGyoim8+p3vb1B6nhTBeAB3lxzSKrqGmRwfJiM6xNlOhzAbagVddXqML+sRr7dW2A6HMDtkagD7nxe/ceO8+obM4rlH0t2mw4JADpUTX2DvLbygB7fOrG3eHl5mQ4JcKvristGOorKzU/LNB0O4PZI1AE3lhQZJI/NHa7Hz3+zT77dk286JADoMB9uzNKrffHhAXLx8HjT4QBu21Nd1b8pra4zHQ7g1kjUATc3fVi8XDO2ux7f894mKaqoNR0SALS7xsZGefnbdD2+cXxP8bVxiQO0t6GJYdI/NkRq6u3y8eZs0+EAbo13McAD/O6SwdIvJkSvNP3f/C36ghYA3MnyPQWyK7dMgv1sctUYx81JAO1LHSdxrqrPS6X6O9CRSNQBDxDga5N//mik7oH62bYczpYBcDsvLt+vn1WSHh7oazocwG3NTk4Uby+R9QePyIGCCtPhAG6LRB3wEEMTw+VXU/rr8e8XbaNlGwC3sT2rVL7bWyA2by/5yTk9TYcDuLWYsAA5t1+0Hs+npzrQYUjUAQ9y+3l9ZHSPLlJeUy/3vr9JGuxsgQfg+l76zrGaPn1onHTrEmQ6HMBjeqrPS8sUO9cSQIcgUQc8iFpteuLKkfoM59r0InnpW8fFLQC4qtzSavloU5Ye33Jub9PhAB7hosGxEurvI5nFVbImvch0OIBbIlEHPEz3qCD5/cwheqx6q+/ILjUdEgCctv+uOiB1DY0ypmekjEiKMB0O4DG1b5wtEOex/R3oECTqgAe6YnQ3uXBwrNQ22OXudzdKdV2D6ZAAoM2qahvkrTWH9PimCb1MhwN45Pb3T7dkS2VtvelwALdDog54aHuVR+cMk64hfrIzp0yeWLrbdEgA0GYLN2bKkco6SYoM1DcfAXQeVfOmR1SQVNQ2yGdbc0yHA7gdEnXAQ3UN8ZfH5g7X4xe/3S+r9hWaDgkAWq2xsVFe+S5dj28c30vX4ADQuTf95yQ7i8qx/R1obyTqgAebPChWfjymuzQ2itz73kYpra4zHRIAtMq3ewpkT165hPj7yJWjHckCgM41JyVRP6/cVyhZxVWmwwHcCok64OEevHiQ3rqWVVItf/hwm+lwAKBVXlmR3lxzIzTA13Q4gEdKigySsb0i9Q3/BRsyTYcDuBUSdcDDBfv76JZtatfo/A2Z8vHmbNMhAcBJ7c0rl6935YuXl9r23tN0OIBH+76n+mF9JAVA+yBRByCjenSRn5/fV4//b8EWySmpNh0SAJzQaysdq+lTBsVKj6hg0+EAHm3GsHgJ9LXJ/vwK2ZhRbDocwG2QqAPQfjG5nwxLDJeSqjr5zbzN3BUHYEnFlbUyL9Wxxfamc2jJBpim6kRMGxqnxxSVA9oPiToAzdfmLf/80Qjx8/GWb3bny7vrMkyHBAA/8PbaDKmqa5BB8WFydu9I0+EAUNvfUxzb3z/alC019Q2mwwHcAok6gGZ9Y0Ll/qkD9Pjhxdslo6jSdEgA0KyuwS7/XXVAj286p6duDwXAvHF9oiQ+PEDvylu2I890OIBbIFEHcJSfnNNLxvSMlIraBnnow61sgQdgGZ9tzZHskmrpGuInM0ckmA4HQBObt5fMTna0apuXyvZ3oD2QqAP4wZvto3OHiZ/NW77ala8vjAHASi3Zrj27hwT42kyHA6CFOU3b37/enS/5ZTWmwwFcHok6gB/oEx0it5/XW4//8NE2KauuMx0SAA+XduiIbDhUrG8iXjO2h+lwAByjb0yIjEiKkAZ7o3y4kZ7qwJkiUQdwXHec31d6RAVJbmmNPLF0t+lwAHi4V1c4zqZfOjJBokP9TYcD4DguT2na/p5Gog6cKRJ1AMeltpU+MmuoHr++8oBszSwxHRIAD5VVXCWfbMnW45+c09N0OABOQNWOULtedmSXyvasUtPhAC6NRB3ACZ3bL1ouHZEg9kaR/1uwRW9nA4DO9t9VB/X8o9qxDUkINx0OgBOICPKTyYNi9Jie6sCZIVEHcFIPXjJIQgN8ZPPhEvlfU1skAOgslbX18vbaQ3p80zm9TIcDoJU91dU5ddVSEcDpIVEHcFIxoQFy/7SBevz3Jbslt7TadEgAPMj8tEzdm7l7ZJBMHhRrOhwAp3DegGiJCvaTgvJaWb4733Q4gMsiUQdwSteM6S4jkyKkvKZe/vTRdtPhAPAQjY2N8mpTS7Ybx/fU7SMBWJuvzVsuG+ksKsf2d+B0kagDOCVvby/58+yh+iL54y3Z8tWuPNMhAfAA3+0tkH35FRLsZ5MrRju20wKwvrmjHIn6F9vzpKSSFq/A6SBRB9AqqoDTT8Y7qi0/9OFWqa5rMB0SADenOk4ol4/qJqEBvqbDAdCGa4aBcaFS22CXjzZnmQ4HcEkk6gBa7e4L+0t8eIBkFFXJ01/uMR0OADd2qLBSlu107N65vukmIQDXoW6wKWx/B04PiTqAVgv295E/XDpEj19Yvl/25JaZDgmAm/rf6gPS2KjaRHaVPtEhpsMB0EbqnLo6MrfhULHsyy83HQ7gckjUAbTJRYNjZcqgGKlraJT/t3CrLvYEAO3dku3ddRnNReQAuJ7oUH85r3+0Hs9nVR1oMxJ1AG3i5eWlV9UDfW2yNr1IFm7MNB0SADezcEOWlFbXS4+oIDl/QIzpcACcYU/1BWmZYrdzYx9oCxJ1AG3WrUuQ3HlBXz3+88c7pbSaiq4A2ofapfPaSkdLtuvO7qG7TgBwTZMHxUhYgI9klVTLqv2FpsMBXAqJOoDTcsu5vaV3dLAUlNfIP5fuNh0OADehLuZ355brXTtXjE4yHQ6AMxDga5NLRiTo8bxUtr8DbUGiDuC0+Pl4yx+bCsupFkrbs0pNhwTAjVqyzUlJlPBAWrIB7rL9/dOtOVJeU286HMBlkKgDOG3n9ouWi4fFizp2pnqrU1gOwJk4fKRSlm7P1eMbKCIHuIWU7hHSq2uwVNU1yKdbsk2HA7gMEnUAZ+TBSwZJkJ9N1h88IvPSKCwH4PS9sfqQvvF3Tt8o6R8bajocAO1UhHZuSqIe01MdaD0SdQBnJD48UH4xuZ8eP/rJDimporAcgLarrmuQd9Yd0uMbxrGaDriT2SndxMtLZPX+IskoqjQdDuASSNQBnLGbzuklfaKDpbCiVv6xZJfpcAC4oA83ZkpxZZ106xIokwfFmg4HQDtKjAiUcb2j9HjBBnbfAa1Bog6gXQrLPXzZUD1+Y/VB2ZpZYjokAC7Xku1gc0s2Gy3ZALctKjc/7TA1bYBWIFEH0C7G9+0qM0ck6POlDy7cKnY1AIBWWHfgiOzILpUAX2/50Vm0ZAPc0bShcbqmzYHCSkk7dMR0OIDlkagDaDf/b8YgCfazycaMYnk/NcN0OABcrCXb7OREiQjyMx0OgA4Q7O8j04fG6/EHqWx/B06FRB1Au4kLD5BfTemvx3/7fJeUVVNYDsDJZZdUyWfbcvSYlmyAe5s7ylH9ffHmLF1AEsCJkagDaFfqQlv1Sy0or5Vnv9pnOhwAFvfm6kPSYG+Usb0iZWBcmOlwAHSgs3tF6cJyZdX1snR7rulwAEsjUQfQ7oXl/m/GID1+5bt02rAAOKGa+gZ5e62jJduNrKYDbs/b20vm0FMdaBUSdQDtbsqgGBnfJ0pqG+zy1093mg4HgEV9siVbt3WMDw+QCwfTkg3wBHOaqr8v350veaXVpsMBLItEHUC78/Lykt9dMlhUh6WPt2TL2vQi0yEBsKD/rXK0ZLtmbHfxsXFJAngCdTwupXuE7hKzcCNF5YAT4V0RQIcYFB/W3GbpkY+3064NwFG2ZpZI2qFi8bV5yZW0ZAM8ytxRjlX1eamZ9FQHToBEHUCHuefCAbpd2+bDJfLR5izT4QCwkDfXOFbTpw2Nl5jQANPhAOhElwxP0DVtduWWybasUtPhAJZEog6gw0SH+stt5/VpbtemCkcBQElVnSzc4Lh5d93ZPUyHA6CThQf6Ntel+CCVonLA8ZCoA+hQPz23l8SE+svhI1Xy35WOFTQAnm1e6mGpqmuQgXGhclbPLqbDAWDA5U1F5RZtypLaervpcADLIVEH0KGC/Hzk3ov66/HTX+6R4spa0yEBMEidR31jteOm3bVn99DFJwF4nnP7ddU774oqauXrXXmmwwEsh0QdQIe7fFSSDIgNldLqennmy72mwwFg0Iq9hbK/oEJC/H1kVrKjnzIAz6M6PcwamaDH9FQHfohEHUCHs3l7yW9nDNTj/64+KNklVaZDAmDI/1Yf0M9zUxJ1sg7Aczmrv3+5M0+OVLDjDmiJRB1Ap5jUP1rG9IzU59BYVQc8k7pJt3R7bvO2dwCebWBcmAxJCJO6hka6wwDHIFEH0CnUOVTnWfV312VIRlGl6ZAAdLK31xwSe6PI2b0jpV9sqOlwAFjA3KaicqrIJIDvkagD6DRje0fp4jH19kb517I9psMB0InUbpq31mbo8XVn9zQdDgCLuGxkgvh4e8mmwyWyN6/MdDiAZZCoA+hU9140QD/PTzsse/PKTYcDoJN8vi1HCsprdLvGi4Y4+icDQFSIv0waEKPHH6Rmmg4HsAwSdQCdamRShEwZFKu3vz75xW7T4QDoJP9rasn24zHdxdfG5QeA710+ytEBYsGGw9KgLhAAkKgD6HzOs+qLN2fLjuxS0+EA6GC7cspkbXqR7gChEnUAaOn8gTESEeQruaU1smJvgelwAEsgUQfQ6QbFh8klw+P1+ImlrKoDntKSbeqQWIkLDzAdDgCL8fexyczh9FQHWiJRB2DEr6b0F28v0a2aNmYUmw4HQAcpq66TBWmOc6e0ZANwqp7qqp6FmjcAT0eiDsCIvjEhMqepJcs/luwyHQ6ADrJwQ6ZU1DZIn+hgGdc7ynQ4ACxqRLdwPU9U19nlky3ZpsMBjCNRB2DMLyf30y1Zvt1TIGv2F5oOB0A7a2xsbC4id93ZPcTLy8t0SAAsSs0PzlX1eVR/B8wm6suXL5eZM2dKQkKC/se5cOHCH7zBP/TQQxIfHy+BgYEyZcoU2bPn6N7LRUVFcs0110hYWJhERETIzTffLOXlR7d82rx5s5x77rkSEBAgSUlJ8vjjj3fK7wfg5JIig+RHZyXp8T+pAA+4nXUHjsju3HIJ9LXJnKYLcAA4kdnJiaLu5609UCSHCitNhwN4bqJeUVEhI0aMkGefffa4X1cJ9VNPPSXPP/+8rFmzRoKDg2Xq1KlSXV3d/BqVpG/btk2WLl0qixcv1sn/rbfe2vz10tJSueiii6RHjx6Smpoqf/vb3+QPf/iDvPDCC53yOwI4uZ+f31f8bN6yen+RrNrHqjrgTt5c41hNv2xkgoQF+JoOB4DFxYcHyoS+XfWYonLwdEYT9enTp8sjjzwis2fP/sHX1Gr6k08+KQ8++KBcdtllMnz4cPnvf/8rWVlZzSvvO3bskM8++0xeeuklGTt2rEyYMEGefvppeeedd/TrlDfffFNqa2vllVdekSFDhshVV10lv/jFL+SJJ57o9N8XwA8lRAQ2r6r/axmr6oC7KKqolU+35OjxNWMpIgegdeY21a+Zv+Gw2OmpDg9m2TPq6enpkpOTo7e7O4WHh+uEfNWqVfpj9ay2u48ePbr5Ner13t7eegXe+ZqJEyeKn59f82vUqvyuXbvkyJEjnfo7ATi+n03qw6o64GbmpR6W2ga7DEsMl2Hdwk2HA8BFTB0SJyH+PpJRVCXrD3KtDs9l2URdJelKbGzsUZ9XHzu/pp5jYmKO+rqPj49ERkYe9ZrjfY+WP+N4ampq9Lb5lg8AHYNVdWtg3kN7Ubvi3lp7SI+vHtvddDjACTHvWU+gn01mDItrvuEHeCrLJuqmPfroo3oF3/lQRegAdBxW1c1j3kN7Uf+G0wsq9KrYpSMSTIcDnBDznrW3v3+8JVuqahtMhwMYYdlEPS7OcSctNzf3qM+rj51fU895eXlHfb2+vl5Xgm/5muN9j5Y/43geeOABKSkpaX5kZGS0028G4HhYVTePeQ/t5c2m1fRZyQkS7O9jOhzghJj3rOmsnpGSFBko5TX1smT7iXfAAu7Msol6r169dCK9bNmy5s+p7Ujq7Pm4ceP0x+q5uLhYV3N3+vLLL8Vut+uz7M7XqErwdXV1za9RFeIHDBggXbp0OeHP9/f31y3fWj4AdKw7zmdV3STmPbSH/LIa+Xyr48L66jEUkYO1Me9Zk7e3l8xJdqyqf8D2d3goo4m66ne+ceNG/XAWkFPjQ4cO6b7qv/rVr3RV+EWLFsmWLVvk+uuv1z3XZ82apV8/aNAgmTZtmtxyyy2ydu1aWbFihdx55526srt6nXL11VfrQnKqv7pq4/buu+/Kv/71L7nnnntM/uoATtCW5aoxjlX1p5btMR0OgNPwfmqG1NsbJbl7hAxOIOkBcGbb31fsLZCcku9bMwOewmiivn79eklOTtYPRSXPavzQQw/pj++//3656667dF/0s846Syf2qh1bQEBA8/dQ7dcGDhwokydPlhkzZugWbS17pKvzRkuWLNE3AUaNGiX33nuv/v4te60DsI7bz+sjvjYvWbW/UDYcotor4EpUK6V31jq2Dl89hiJyAE5f96ggGdMzUlSHtgUbMk2HA3Q6r0ZVmhWnpLbdq6RfnV9iWxTQse57f5O8n3pYLhwcKy9e/337RVfiDnOGO/wO6FzLd+fL9a+sldAAH1n7f1N09WZ4DneYM9zhd3An76w9JL+dv0X6xoTI0rsn6h23gKfMGZY9ow7Ac90+qY+o9+Kl23NlV06Z6XAAtNKbaw42b1klSQdwpmYMjxd/H2/Zm1cumw+XmA4H6FQk6gAsp090iEwf6ujK8Pw3+0yHA6AVckur5Ysdjk4s19A7HUA7CAvwlalDmnqqp1FUDp6FRB2AJd0xqa9+XrQpSw4VVpoOB8ApvLcuQxrsjXJWzy7SLzbUdDgA3MTcUd2arwdq6umpDs9Bog7AkoYmhsvE/tH6wv+Fb1lVB6xM/Tt9u6l3+tWspgNoRxP6dpXYMH8prqyTr3Y6du0AnoBEHYBl/ey8Pvr5vfWHJa+M1iyAVX2zO0+ySqolIshXpg+NNx0OADdi8/aSWcmJevxBKtXf4TlI1AFY1tm9I3Uv5tp6u7zy3QHT4QA4gbfWOFbTL0/pJgG+FJED0L7U3KJ8vStPCstrTIcDdAoSdQCWpdqwOM+qv7H6oJRU1ZkOCcAxsoqr5Mum7ag/Zts7gA6g6l4M7xYu9fZGfVYd8AQk6gAsbfLAGOkfGyLlNfU6WQdgLe+syxB7o8i43lG6YwMAdATV9lGh+js8BYk6AEvz9vaSn01ynFV/dUU6FV8BC6lvsMu76ygiB6DjXToiQXxtXrI1s1R25ZSZDgfocCTqACzvkuEJEhcWIAXltfLJlmzT4QBoora855bWSFSwX3OvYwDoCF2C/eSCgTF6zKo6PAGJOgDL87V5y7VnO1brXlvJ9nfAKt5sKiJ3xegk8fPhkgJA52x/X7AhU+/oAdwZ76oAXMJVY7qLn81bNmUUy8aMYtPhAB7v8JFKWb4nX49/PCbJdDgAPMCkATESGewn+WU18u3eAtPhAB2KRB2AS+ga4i+XDHf0Z359Ja3aANPeW39YGhtFzukbJT2igk2HA8ADqJ076qy6Mi+V7e9wbyTqAFzGDeN76ufFm7P03XQAZjTYG+X99Rl6/KOzKCIHoPO3vy/ZnkvbVrg1EnUALmNEUoSMTIqQuoZGeXut42wsgM6ntrxnl1RLRJCvTB0SazocAB5kaGKYbttaW2+XjzdTYBbui0QdgEu5sWlV/c01B6WOQjKAEe+udaymz0nuJv4+NtPhAPAgXl5ezavq86n+DjdGog7ApcwYFq/Pq6uWUJ9tzTEdDuBx1LGTL3bk6vGPzqKIHIDONzs5Uby9RNYfPCIHCipMhwN0CBJ1AC5XSObqsY4zsRSVAzqf6l9cb2+U5O4RMiAu1HQ4ADxQTFiAnNsvWo9ZVYe7IlEH4HKuGdtdfLy99J30rZklpsMBPEZjY6O8u86x7f0qVtMBGDR3lGP7+7y0TLHbG02HA7Q7EnUALic2LECmDY3T4/+uYlUd6Cxr04skvaBCgv1scslwR4skADDhosGxEurvI5nFVbImvch0OEC7I1EH4NJF5T7cmCVHKmpNhwN4BOdq+qUjEyTY38d0OAA8WICvTS4eHt98JAdwNyTqAFzSqB5dZEhCmNTU2+WdpuQBQMcpqayTj7c4WiHROx2Alba/f7olWypr602HA7QrEnUALtue5YamVfU3Vh+Uelq1AR3qw02Z+sbYwLhQGdEt3HQ4ACCje3SRHlFBUlHbIJ9voxMM3AuJOgCXdemIBOkS5KvPp32xI890OIBbF5F7u6l3umrJpm6UAYBpai6ak9xUVC4103Q4QLsiUQfg0ufTrhpDqzago23NLJUd2aW6PaLqXwwAVjEnxTEnrdhXIFnFVabDAdoNiToAl3bt2T3E20tk1f5C2ZVTZjocwC29s+6Qfp42JE4igvxMhwMAzZIig2RMr0hpbBRZsIFVdbgPEnUALi0xIlAuGuxo1fY6rdqAdqcKNKnuCspVY+idDsB6Lk9x9lQ/rI/qAO6ARB2Ay7t+fA/9vCAtU0qq6kyHA7iVjzdnS3lNvS7YdHavKNPhAMAPTB8WJwG+3rI/v0I2HS4xHQ7QLkjUAbi8cb2jpG9MiFTVNeikAkD7906/cnSSeKtzJgBgMaEBvvpojjIvlZ7qcA8k6gDcourrFaO+3/YGoH3szSuT9QePiM3bSy5v+jcGAFbuqb5oU5bU1DeYDgc4YyTqANyCqkStFvtSDx6R9IIK0+EAbrWafv6AGIkNCzAdDgCc0Pg+XSUuLEAfgfuSlq1wAyTqANxCTFiATOwfrcdsewPOnFqRmpfmqKB81VkUkQNgbWrnz6ym9pHsroM7IFEH4DbmNlV9Ve1Z7HaqvgJn4ovteVJUUSuxYf4yaYDjJhgAWNnloxyJ+te78qWgvMZ0OMAZIVEH4DYuHBwroQE+kllcJav3F5oOB3Bp7653bHtXZ9N9bFwuALC+vjGhMqJbuNTbG2VRU1tJwFXxzgvAbQT42mTmiAQ9/oDt78Bpyyqukm/35DdXewcAVysqx/Z3uDoSdQBuxVmZ+tOtObr3M4C2m592WBobRcb0ipQeUcGmwwGAVps5PEF8bV6yLatUduaUmg4HOG0k6gDcSnJShPTuGqx7qn+yhZ7qQFs1NjY270hxtj0EAFfRJdhPJg+M1WOKy8KVkagDcLue6s3b3niDBtps3YEjcqCwUoL9bDJjWLzpcACgzeakOIrKLdiQJfUNdtPhAKeFRB2AW75Be3mJrEkvkoyiStPhAC7lvaYichcPj5dgfx/T4QBAm00aECORwX668vu3ewpMhwOcFhJ1AG4nPjxQxveJ0uOPNlP1FWitipr65iMjV1BEDoCL8vPxlkubistSVA6uikQdgNsWk1E+3sw5daC1Pt6SLZW1DdKra7CM7tHFdDgAcMbFZZdsz5WSqjrT4QBtRqIOwC1NHRInNm9H1df0ggrT4QAu4YP1h5svcFW9BwBwVUMSwmRAbKjU1tu5aQ+XRKIOwG2rvp7Tt6seU/0dODV1Q2vtgSLx9hKZm0K1dwDuUFzWUVSO7e9wRSTqANzWJU0Vqz/axDl14FQ+SHUUkTu3X7TEhQeYDgcAztiskYn65mPqwSPsroPLIVEH4LYuGhIrPt5esjOnTPbmlZsOB7CsBnujzEvN1OMrRrOaDsA9xIQF6JuPynxW1eFiSNQBuK2IID85t59j+/tiqr8DJ/Td3gLJKa2W8EBfmTIo1nQ4ANBu5jYVlZuflil2e6PpcIBWI1EH4NYuaar+rra/NzbyBg0cz/tNvdNnjUyQAF+b6XAAoN1cNDhWQgN8JLO4StakF5kOB2g1EnUAbu3CIbG6n+q+/Aq9BR7A0Yora2XJtlw9pnc6AHejbj5eMtxRs4aicnAlJOoA3FpYgK9M6u84n0ZROeCHFm3KktoGuwyMC9XtjADA3Tg7WXy6JVsqa+tNhwO0Cok6ALc3c0TT9vfNbH8HjvV+U+90tZpO73QA7mhUjy7SIypIKmob5LOtOabDAVqFRB2A25s8KEb8fbwlo6hK9lD9HWi2I7tUtmSWiK/NS59PBwB3pG5Czkl2rKqz/R2ugkQdgNsL8vORsb2j9Hj57nzT4QCWW02fPDBWokL8TYcDAB1mTkqifl65r1CyiqtMhwOcEok6AI8wsalN2zck6oBWW2+XhRvpnQ7AMyRFBsnYXpGiTsAt2OCY+wArI1EH4BEmDXAUlFuzv4hCMoCIfLkzT4oqaiU61F/Oayq4CACe0FNdbX+nZg2sjkQdgEfoEx0iiRGBurq1StYBT/dBqqN3+pzkRPGxcTkAwP3NGBYvAb7esj+/QjZmFJsOBzgpH2mjmpoaWbNmjRw8eFAqKyslOjpakpOTpVevXm39VgDQqYVkJvaPlrfXHtLb388fGCPugnkZbZVfViNf7XIcA2HbO1wR8x5OR4i/j0wbEicLN2bpVfXk7l1MhwSceaK+YsUK+de//iUfffSR1NXVSXh4uAQGBkpRUZGeLHv37i233nqr3H777RIaGtrabwsAnea8pkTdXQrKMS/jdH24MVMa7I0yIilC+sbwdwOug3kP7bH9XSXqH23Klt9dMlj8fWymQwKOq1V73S699FL50Y9+JD179pQlS5ZIWVmZFBYWyuHDh/VdzD179siDDz4oy5Ytk/79+8vSpUtb820BoFON7xslNm8v2V9QIYcKK8WVMS/jTMxPcxRSurypCjLgCpj30B7G9+kqcWEBUlJVJ1/uyDMdDnBmK+oXX3yxzJs3T3x9fY/7dXX3Uj1uuOEG2b59u2RnZ7fm2wJApwoL8JVR3bvI2gNFsnxPvlwb1UNcFfMyzqR3+vbsUt07feYIeqfDdTDvoT2oG/azUxLlua/36e3v04fFmw4JOP0V9dtuu+2Ek+KxBg8eLJMnT27VawGgs01oatO2cl+BuDLmZZyu+Wnf906PCPIzHQ7Qasx7aC9zUxy1Ob7elS8F5TWmwwGO64zKvJaXl0tpaelRDwCwsnP6RunnlfsKxW53v9YszMs4mfoG1Ts9S4/nsO0dboJ5D23VNyZE1+iotzfKh01zIuDyiXp6erreehQcHKwLeHTp0kU/IiIi9DMAWNnwbhG66mtxZZ3e/usOmJfRWt/uLdAV3yOD/WTSAPfpfADPw7yHMzW36WblvFTHLiPA5duzXXvttdLY2CivvPKKxMbG6pZHAOAqfG3eMrZXpCzbmSff7S2QoYnh4uqYl9HWInKXjkgQPx96p8N1Me/hTM0cniAPL96ub9qr2h2D4sNMhwScWaK+adMmSU1NlQEDBrT1PwUASzinb1edqK/YWyC3n9dHXB3zMlqjtLpOlmzL0WO2vcPVMe/hTHUJ9tO1Oj7blqNrd/y/iwebDgk4Sptvp5911lmSkZHR1v8MACxXUG7dgSKpqW8QV8e8jNb4ZHO21NTbpV9MiAxzg50k8GzMe2ivnurKgg1ZuoYH4NIr6i+99JLcfvvtkpmZKUOHDv1B9c3hw4e3Z3wA0O5UohId6q/P6qYdLJZxfRwF5lwV8zLasu19Tko3tgnD5THvoT1MGhAtUcF+uvL7t3sK5PyB1O6ACyfq+fn5sm/fPvnJT37S/Dn1hq/OCannhgbXX50C4N7UXHVOnyhd/Vptf3f1RJ15GadyqLBS1h4oEpWfz0qmdzpcH/Me2qtuzaUjE+TVFQfkg7TDJOpw7UT9pptukuTkZHn77bcp3gHAZY3v29WRqO8rkF+La59xZF7Gqczf4KhqPKFvV4kPDzQdDnDGmPfQnj3VVaK+dHuulFTWSXjQ0bszAJdJ1A8ePCiLFi2Svn37dkxEANBJBeWUTRnFushWWIDrvjEzL+Nk1Arj99veKSIH98C8h/YyJCFMBsSGyq7cMlm8JUuuGdvDdEjA6RWTu+CCC3SlTQBwZYkRgdKra7DYG0VW7ysUV8a8jJNJPXhEDhVVSrCfTaYOiTMdDtAumPfQXtRujLmjHDcxnTc1AZdcUZ85c6bcfffdsmXLFhk2bNgPindceuml7RkfAHSYc/pGSXpBhazcVygXuXACw7yMk5mX5tj2Pn1YvAT5tfltH7Ak5j20p1kjE+Wvn+7UNzbVdYG6kQ+Y5tWo9sS1gbf3iRfh3bl4R2lpqYSHh0tJSYmEhYWZDgdAO/hsa7bc/kaa9I0JkS/uOc9l54yOmpeZ91xfdV2DnPXnL6Ssul7eumWsjO/jOPIBdATmPbiyG19dK1/vype7Lugr917k2rVr0Hk6cs5o89Z3u91+woe7JukA3NPZvR3V3vfmlevWLK6KeRkn8sWOXJ2kq6MeZ/dy7e4GQEvMe+iIonLO7e92dS4OMKzNiToAuIuIID/dU13ZcKjYdDhAu5uX6tj2Pjs5Uby9qYoNACdy4eBYCQ3wkcziKlmd7tq1a+BBifo777zT6m+YkZEhK1askPag7oj+7ne/k169eklgYKD06dNHHn74YV3B1kmNH3roIYmPj9evmTJliuzZs+eo71NUVCTXXHON3o4QEREhN998s5SXl7dLjABcW0r3Lvo57dARcSWm5mW4jryyalm+p0CPZ1PtHW6AeQ8dKcDXJpcMj9fjeakUlYOLJOrPPfecDBo0SB5//HHZsWPHD76u9uR/8skncvXVV0tKSooUFrbPXajHHntM/+xnnnlG/1z1sYrh6aefbn6N+vipp56S559/XtasWSPBwcEydepUqa6ubn6NStK3bdsmS5culcWLF8vy5cvl1ltvbZcYAbi2UT0ciboqIONKTM3LcB2LNmZJg71RkrtHSJ9ox84RwJUx76Gztr9/ujVbKmvrTYcDD9eq8q/ffPON7lWpEuQHHnhAJ8OxsbESEBAgR44ckZycHOnatavceOONsnXrVv219rBy5Uq57LLL5OKLL9Yf9+zZU95++21Zu3Zt82r6k08+KQ8++KB+nfLf//5X//yFCxfKVVddpSfyzz77TNatWyejR4/Wr1G/x4wZM+Tvf/+7JCQktEusAFxTSo8I/bz5cLHUNdjF1+YaJ4JMzctwHfOae6c7LjwBV8e8h864ed8zKkgOFFbKZ1tzmD9hVKv7tKg2F+pRUFAg3333nRw8eFCqqqr0hJicnKwfJ6vAeTrGjx8vL7zwguzevVv69++v+2Wqn/3EE0/or6enp+tJWW13d1JV98aOHSurVq3Sibp6VtvdnUm6ol6vYlUr8LNnz27XmAG4lt5dQyQ80FdKqupkR3apDO/mSNxdgYl5Ga5B/V1WDz+bt8xs2soJuAPmPXQk1TFAJedPLN2tW1uSqMOkNjdUVRPhrFmzpDP89re/1SXvBw4cKDabTZ9Z//Of/6y3sisqSVeOvWOqPnZ+TT3HxMQc9XUfHx+JjIxsfs3x1NTU6IeTigOA+1EFttTWYNWSJe3gEZdK1Nt7Xmbecx8LNzhW088fGK2LJgLuhnkPHUUV31SJ+sp9hZJVXCUJEYGmQ4KHsvQtx/fee0/efPNNeeuttyQtLU1ef/11vV1dPXe0Rx99VK/OOx9JSUkd/jMBmC0ol+rhld+Z99yDaiv04cas5gtOACfGvIdjJUUGydhekaJqVy9ouukJmGDpRP2+++7Tq+pqC/uwYcPkuuuuk7vvvltPqkpcXJx+zs3NPeq/Ux87v6ae8/Lyjvp6fX29rgTvfM3xqLNPqiiJ86GqhwJw74JyakXdkzHvuQfVViintFrCAnxk0oCjd5QBOBrzHo5n7qhuzS0uW3abAjqTpRP1ysrKH5wzUlvg7Xa7Hqu2bSrZXrZs2VFbltTZ83HjxumP1XNxcbGkpqY2v+bLL7/U30OdZT8Rf39/3c6t5QOAexqRFCGqxbTqnZpb+n3HCE/DvOcePtzgWE2fMSxetxsCcGLMezgeNX8G+tpkf0GFbMzw7N12MMfSifrMmTP1mfSPP/5YDhw4IAsWLNCF5JwF4FTBh1/96lfyyCOP6CqgW7Zskeuvv15XcneeW1JtPKZNmya33HKLrhavemreeeedepWeiu8AlBB/HxkQ57g48/RVdbi26roG+WRLth7PYts7AJz2dcG0oY6dt6qoHOASifqf/vQnvdJ9LFVxU32tPan2G5dffrnccccdOuH+9a9/Lbfddps8/PDDza+5//775a677tJ90c866ywpLy/X7dhUqw4ndc5dFaSbPHmybss2YcIEXU0eAJxSuke4ZD/1zp6XYW1f7cyTspp6SQgPkDE9I02HA3QY5j10Vk/1jzZlS019g+lw4IG8Gtt48EJtPc/Ozv5BJfXCwkL9OVWZ3R2pLfWqyIg6v8S2KMD9zE87LPe8t0kn7PPvOMel5oyOmpeZ91zPrf9dL0u258rt5/WR304faDoceBjmPbiTBnujTHjsS8kuqZZ/X5Oit8MDnTlntHlFXeX1asv5sVSPc9XyDABcufL71sxSl7tzzrwMpbiyVr7a5SieSrV3uDvmPXQ0m7dX8xEiVVQOsGwf9S5duugJUT369+9/1OSo7lqqLee33357R8UJAB2qR1SQdAnylSOVdbI7p1yGdQsXq2NeRkufbMmRuoZGGRgXKgPiQk2HA3QI5j109vb3577eJ1/vzpf8shqJDvU3HRI8SKsT9SeffFLfvbzpppvkj3/8o17id/Lz85OePXs2V1oHAFejLvYGxYfJyn2FsiO71CUSdeZltLSwqd8vq+lwZ8x76Ex9Y0J0Z5hNGcXy4cZM+em5vU2HBA/S6kT9hhtuaG6JNn78ePH19e3IuACg0w1uStS3Z5eKK2BehtPhI5Wy9kCRqMXFS0fS0QTui3kPne3ylESdqM9PI1GHRRN1p/POO0/3IN+9e7fk5eU19zR3mjhxYnvGBwCdRq2oK66SqDsxL+PDjY7e6Wf3ipL48EDT4QAdjnkPnWXmiAR5ePEOfW2gdtw5rxUAyyXqq1evlquvvloOHjyotx4du3XUXau+A3B/gxMcb747skpPWKjIipiXPZv6f862d3ga5j10loggP5k8KEY+3Zqji8o9eMlg0yHBQ7S56rsq0DF69GjZunWrFBUVyZEjR5of6mMAcFV9okPE1+al+1AfPlIlroJ52bOpVZ49eeXi5+Mt04bFmQ4H6BTMe+hMc5p6qi/cmCX1DUfv3gAss6K+Z88e+eCDD6Rv374dExEAGKISnX4xoTrxUY+kyCBxBczLns25mj5lUIyEBXBeF56BeQ+dadKAaIkK9pOC8hpZvidfLhgYazokeIA2r6iPHTtW9u7d2zHRAIBVzqlnuc45deZlz9Vgb5RFmxzn0y8bybZ3eA7mPXQmX5t3c6HOeamOm6OAJVbUN2/e3Dy+66675N5775WcnBwZNmzYD6ptDh8+vP2jBIBOPKc+L010wRgrY16Gsnp/oeSW1kh4oK9e8QHcGfMeTPdUf3XFAVm6I1dKKuskPIgdTLBAoj5y5EhdmKNlsQ7Vv9LJ+TWKdwBwhxZtrlD5nXkZLbe9Xzw8Xvx9bKbDAToU8x5MGpIQJgPjQmVnTpks3pIl14ztYTokuLlWJerp6ekdHwkAWChRV8XkSqrq9EqlFTEvo7quQVchVmax7R0egHkPJqkbQGpV/c+f7NDV30nUYYlEvUcP/iIC8AxqK1tcWIDklFbL/vxySe7eRayIeRnLduRJeU29JEYEyuge1vx7CrQn5j2YdtnIBHn00x2SdqhYXyP0jg4xHRLcWJurvi9atOiEd5kCAgJ09c1evXq1R2wAYET3qCCdqB8qqrRsot4S87JnWtC07V1dOHp7e5kOB+hUzHswISYsQCb2j5avd+XL/LRM+fXUAaZDghtrc6I+a9asH5wPOvZc0IQJE2ThwoXSpYv1L3AB4FjdI4NkbXqRHCqsFFfAvOx5jlTUyte78vR4djLb3uF5mPdgitr+rhJ1dbP0ngv7c6MU1mnPtnTpUjnrrLP0c0lJiX6osWqTsXjxYlm+fLkUFhbKr3/9646JGAA6WI+m/ukHi1wjUWde9jzqbHq9vVG3E+wXG2o6HKDTMe/BlAsHx0pogI9kFlfJ6vRC0+HAjbV5Rf2Xv/ylvPDCCzJ+/Pjmz02ePFlvM7r11ltl27Zt8uSTTx5VhRMAXG3ru6K2vrsC5mXPs2iTY9v7pSMcfX0BT8O8B1MCfG1yyfAEeXvtId1TfXyfrqZDgptq84r6vn37JCzMURW5JfW5/fv363G/fv2koKCgfSIEAANb3xVX2frOvOxZckqqZU16kR7PHBFvOhzACOY9mHT5KMeRo0+3ZktFTb3pcOCm2pyojxo1Su677z7Jz89v/pwa33///XoLkrJnzx5JSkpq30gBoJMTdVVQTrXAsjrmZc/y8ZZsUcdyR/XoIt26OP6uAp6GeQ8mpXTvIj2jgqSytkE+a2qTCRhP1F9++WXdx7Jbt266oqZ6qPGBAwfkpZde0q8pLy+XBx98sN2DBYDOEBnsJyH+Ps391K2OedmzLNqUpZ/Z9g5PxrwHk1Sxwjkp3fR4Xtph0+HATbX5jPqAAQNk+/btsmTJEtm9e3fz5y688ELx9vZursQJAK78BpwUGSQ7skvlUFGF9I2xdp9U5mXPcbCwQjZlFIsqMjxjGNve4bmY92Ca6rjxxNLdsmp/oS4slxgRaDokeHqirqgJcNq0afoBAO5a+V0n6i5yTp152TN81LSafk7frhId6m86HMAo5j2YpG7on907UlbvL5KFGzLl5+f3NR0SPDFRf+qpp3QFTVVJU41P5he/+EV7xQYAxiu/W7VFG/OyZ297nzmcbe/wPMx7sGJPdZWoz0s9LHdM6qN35AHtxauxUZWkOblevXrJ+vXrJSoqSo9P+M28vJorbbqb0tJSCQ8P1306j1dlFIB7eWP1QXlw4VaZMihGXrrBUZjISnNGZ8zLzHvWsjOnVKY9+a342bxl3YNTJDzQ13RIwFGY9+Bpymvq5axHvpCqugaZf8d4XWQOnqW0A+eMVq2oq2IdxxsDgLtXfj9o0a3vzMueZ9FGx2r6eQOiSdLhkZj3YDWq8Oz0oXEyf0OmXlUnUYfRqu9OtbW1smvXLqmvp3cgADfupV5UKa3YeGQJzMvuS/0d/Ggz1d6BYzHvwTRn9XdVQ8QVWrrCjRP1yspKufnmmyUoKEiGDBkihw4d0p+/66675K9//WtHxAgAnS6xS6CurF1Tb5e8shqxMuZl97cxo1gyiqokyM8mUwbFmg4HMI55D1Yxrk+UxIcHSGl1vSzbkWc6HHhyov7AAw/Ipk2b5Ouvv9bFPJymTJki7777bnvHBwBG+Nq8JaGp1YpaVbcy5mXPKSJ34eBYCfSzmQ4HMI55D1Zh8/bSrdqU+fRUh8lEfeHChfLMM8/IhAkTjqpsqO5m7tu3rz1jAwCjekRZ+5y6E/Oye2uwN8rizdl6TLV3wIF5D1Yyd5Rj+/vXu/Ml3+K78ODGiXp+fr7ExMT84PMVFRW0JADgtufUrYx52b2t2V+oL/xUAbmJ/aNNhwNYAvMerKRPdIiMTIrQN1Y/3JhpOhx4aqI+evRo+fjjj5s/dk6GL730kowbN659owMAg7pHBuvnQ4UVYmXMy56x7V1VFvbzOe0asIBbYd6DVVfV56WRqKMT27O19Je//EWmT58u27dv1xU2//Wvf+nxypUr5ZtvvmmnsADAPFdZUWdedl+19Xb5dGuOHlPtHfge8x6sZubweHn4o+2yI7tUtmeVyuCE9u2pDc/T5lvz6izQxo0b9aQ4bNgwWbJkid56tGrVKhk1alTHRAkABsSFOwoU5ZZa+7wZ87L7+nZPvpRU1Ul0qL+M7R1lOhzAMpj3YDURQX4yeZDjOMY8isrBxIq60qdPH3nxxRfb4+cDgOUT9byyarHbG8Vb9WuzKOZl9972fvGweF1ZGMD3mPdgNXNTuuldUOqc+gPTB4qPjeNK6IREvbS0tFWvCwtjmwcA9xAT6i/q2GNdQ6MUVdZK1xB/sRLmZfdWVdsgS7fn6vGlI9n2DijMe7Cy8wZES1SwnxSU18ryPflywcBY0yHBExL1iIiIk1bRbGxs1F9vaGhor9gAwHgv9ahgfykor5GckmrLJerMy+7tix25UlnbIEmRgZKcFGE6HMASmPdg9euGy0Ymyisr0mVeaiaJOjonUf/qq6+OmgRnzJihK2smJiaeWQQAYGFx4Y5EPbe0WoYmhouVMC97xrZ31TuddlOAA/MerG7uKEeirnZElVTWSXiQr+mQ4O6J+nnnnXfUxzabTc4++2zp3bt3R8QFAJYQFxYgWzNLJae0WqyGedl9lVXXyTe78vV4JtXegWbMe7C6wfFhMjAuVHbmlMlHm7Pk2rN7mA4JLooKBwBwErFhrlH5He5FrcTUNtilT3SwvuADALgGtQNKFZVTqP6OM0GiDgCnWFFXckust6IO9/Xx5mz9fDHb3gHA5VyWnKA7dWw4VCz788tNhwNPTNS5eADgMSvqZa6RqDMvuz7VN11VC1YuGR5vOhzA8pj3YDUxoQEysV9XPZ6flmk6HLj7GfU5c+Yc9XF1dbXcfvvtEhwcfNTn58+f337RAYBh0WGOSu95Ftz6zrzsvtveVUvA/rEh0j+Wbe9AS8x7cBVzR3WTr3bly4INmXLPhf3F25sbSuigRD08/Ohqx9dee20bfxQAuJ7oppZs+eXWS9SZl93T4s2Oau8XD6OIHHAs5j24iimDYiU0wEcyi6tk9f5CGd/XscIOtHui/uqrr7b6mwKAu1BvskpVrfV68jIvu5/iylr5bk+BHl/MtnfgB5j34CoCfG1yyfAEeXvtIfkg7TCJOtqMYnIAcBKBvjb9XFXXoHv2Ah1pybZcqbc36krvfWNCTIcDADgDl49K1M+fbc2Ripp60+HAxZCoA8BJBPg5EvUGe6M+Nwx0pMVbHNXeKSIHAK4vpXsX6dU1WCprG3SyDrQFiToAnESAjyNRd66qAx3lSEWtrNjr2PY+YxiJOgC4Q0eCOcmOVXV6qqOtSNQB4CR8bV66F6pSTaKODvTZthy9c2NwfJj0jmbbOwC4g9kpjkR91f5CXVgOaC0SdQA4xd3w5nPqFiwoB/fx8eambe8jWE0HAHfRrUuQjOsdJarMzQJW1dEGJOoA0IrKrQpb39FRCstrZOW+pmrvbHsHALcyp2lVfV5aJoVp0Wok6gBwCoF+jqmSRB0due3d3igyLDFcekQFmw4HANCOpg+L17vz0gsqJO1Qselw4CJI1AHgFJxb36vZ+o4OsngT1d4BwF2F+PvI9KFxejyf7e9oJRJ1AGhtol5Poo72l1dWLWvSC/WYau8A4J7mjuqmnz/alEVxWrQKiToAnIJ/U6Ku+qAC7e3zrY5t7yOSIiQpMsh0OACADqAKyiWEB0hpdb0s25FnOhy4ABJ1ADgFfx/HVFnXYDcdCtzQYme1d1bTAcBteXt7Nbdqo6c6WoNEHQBOwdfmTNSp1Ir2lVtaLWsPFOnxDM6nA4Bbm5Pi2P7+ze58yS+rMR0OLI5EHQBOwcfbSz+zoo729umWbN1bN6V7hCRGBJoOBwDQgfpEh8jIpAhpsDfKhxszTYcDiyNRB4BT8G3a+l7Pijra2cdbHNveLx6eYDoUAEAnFpVTPdWBkyFRB4BT8GVFHR0gp6Ra1h04osczhjna9gAA3NvM4fHiZ/OWHdmlsj2r1HQ4sDASdQBo5Rn1WhJ1tKNPtzpW00f36CLx4Wx7BwBPEBHkJ1MGx+gxReVwMiTqAHAKbH1HR/h0S45+nk61dwDwKHObisqpc+rs1sOJkKgDwCmw9R3tLa+sWtYddFR7nzaUbe8A4Ekm9o+WqGA/KSivleW7802HA4siUQeAU6A9G9rb59tydbV3Vf2Xau8A4HnXFZeNpKc6To5EHQBOwac5UWdFHe3Xlk2hiBwAeKa5oxyJ+hfb86Skss50OLAgEnUAOAU/G1vf0X4Ky2tk9f5CPZ4+lPPpAOCJhiSEy8C4UF2o9qPNWabDgQWRqAPAKXh5ORJ1u9qrDJyhpdtzxd4oMjQxTJIig0yHAwAw5PLmnupsf8cPkagDwCk05en6TDFwpj7Z2lTtndV0APBol45MEJu3l2w4VCz78stNhwOLIVEHgFPwEkemTp6OM1VcWSsr9xbo8XSqvQOAR4sJDZCJ/brq8XxW1XEMEnUAOIWm7mysqKNdtr3X2xv1ucTe0SGmwwEAGDa3afv7grRMsatzUUATEnUAaPXWd95AcWY+Y9s7AKCFKYNiJSzAR7JKqpsLjQIKiToAtLKYHHk6zkRpdZ18u8ex7Z22bAAAJcDXJpeMSNDjD9j+jhZI1AGglRo5pY4z8OWOPN2Gp090sPSLDTUdDgDAIuamdGvedVVRU286HFgEiToAnAJV39EePtmSrZ9nDGPbOwDgeyndI6RX12CprG2QT5uOSAEk6gBwClR9x5lSKyTf7M7XY86nAwCOPWI3JzlRj+elsv0dLpKoZ2ZmyrXXXitRUVESGBgow4YNk/Xr1zd/XRV3euihhyQ+Pl5/fcqUKbJnz56jvkdRUZFcc801EhYWJhEREXLzzTdLeTm9CgG0DlXfcaa+2pUnNfV26RkVJIPi2fYOADja7BRHor5qf6EcPlJpOhxYgKUT9SNHjsg555wjvr6+8umnn8r27dvlH//4h3Tp0qX5NY8//rg89dRT8vzzz8uaNWskODhYpk6dKtXV1c2vUUn6tm3bZOnSpbJ48WJZvny53HrrrYZ+KwCuhqrvOFOfbnFsZZw2NL65OCEAAE7dugTJuN5RerxwQ6bpcGABPmJhjz32mCQlJcmrr77a/LlevXo1j9VF85NPPikPPvigXHbZZfpz//3vfyU2NlYWLlwoV111lezYsUM+++wzWbdunYwePVq/5umnn5YZM2bI3//+d0lIcFRZBIATUX2vFZtzaR1og6raBvlyZ54eU+0dAHCynupqRX1eWqb8/Py+3Nj1cJZeUV+0aJFOrq+44gqJiYmR5ORkefHFF5u/np6eLjk5OXq7u1N4eLiMHTtWVq1apT9Wz2q7uzNJV9Trvb299Qo8AJxKfYMjUfex8YaJtlNn06vqGiQxIlCGJYabDgcAYFHTh8ZJkJ9N0gsqJO1QselwYJilE/X9+/fLc889J/369ZPPP/9cfvazn8kvfvELef311/XXVZKuqBX0ltTHzq+pZ5Xkt+Tj4yORkZHNrzmempoaKS0tPeoBwDPVN9j1s4+3pafMM8a81zE+3ZrdfAHG6ghgLcx7sJJgfx+ZNtSx82oePdU9nqWvOu12u6SkpMhf/vIXvZquzpXfcsst+jx6R3v00Uf16rzzobbgA/Dsre/uvqLOvNf+qusaZNkOx7b36bRlAyyHeQ9W7am+eFOWfg+B57J0oq4quQ8ePPiozw0aNEgOHTqkx3FxjjtOubm5R71Gfez8mnrOy3NcJDnV19frSvDO1xzPAw88ICUlJc2PjIyMdvu9ALhmou5rs/SUecaY99rfd3sKpLymXuLCAiQ5KcJ0OACOwbwHq1EF5RLCA6S0ul6+2HF0jgPPYumrTlXxfdeuXUd9bvfu3dKjR4/mwnIq2V62bFnz19WWJXX2fNy4cfpj9VxcXCypqanNr/nyyy/1ar06y34i/v7+up1bywcAz1TXvPXdvVfUmffa32fbnNXe48Tbzf/+AK6IeQ9Wo94rnK3a5qdR/d2TWTpRv/vuu2X16tV66/vevXvlrbfekhdeeEF+/vOf66+rs36/+tWv5JFHHtGF57Zs2SLXX3+9ruQ+a9as5hX4adOm6S3za9eulRUrVsidd96pK8JT8R1A24rJWXrKhAVrGzhXQ6YOodo7AKB15jRtf1fFSPPLakyHA0MsfdV51llnyYIFC+Ttt9+WoUOHysMPP6zbsam+6E7333+/3HXXXfr8unp9eXm5bscWEBDQ/Jo333xTBg4cKJMnT9Zt2SZMmKATfgBojXq7Y0XdlxVRtMHa9CIprqyTLkG+clbPLqbDAQC4iD7RIZLcPUIa7I3y4UZW1T2VpfuoK5dccol+nIhaVf/Tn/6kHyeiKryr1XgAOB019Y5E3c/H0vc2YTGfN217v3BwLLsxAABtLiq34VCxfJB6WH56bm/T4cAArhwA4BSqah1VV1VvU6A17PZG+Xwb294BAKfnkuHx4mfzlp05ZbItq8R0ODCARB0ATqGqqT1KgC+JOlpnc2aJ5JRWS7CfTc7p29V0OAAAFxMR5CdTBsfo8bxUtr97IhJ1ADiFyuYVdcufFoLFtr1PGhjDDR4AwBn1VF+0KbO5Aw08B4k6AJxCddOKeqAfUyZOrbGxUT7f6kjU2fYOADhdE/tHS9cQPykor5Xlu/NNh4NOxlUnALRyRT3QlxV1nNrevHLZX1ChzxaePyDadDgAABfla/OWy0Y6eqrPSztsOhx0MhJ1ADiF4spa/RwR5Gs6FLjQtvdz+kZJaAB/ZwAAZ779/Yvtec3XI/AMJOoAcIrq3Ucq6/Q4KtjPdDhwAZ81JepsewcAnKnBCWEyMC5Uahvs8tHmbNPhoBORqAPASZTX1kuDvVGPwwJZHcXJHT5SKVszS8XbS2TK4FjT4QAA3MDloxyr6vNS2f7uSUjUAeAkauocVVa9vET8fZgycXJLmnqnj+4ZKV1D/E2HAwBwA+qcus3bSzZmFMu+/HLT4aCTcNUJACdRU+8oJKeSdC+VrQMnwbZ3AEB7iw71l/P6O4qTzqeonMcgUQeAkyipcpxPD/Gn4jtOrrC8RtYfKNLji9j2DgDogKJyC9Iydf0cuD8SdQA4iZySav0cHx5oOhRY3Bc7ckVdOw1NDJOkyCDT4QAA3MjkQTESFuAjWSXVsmp/oelw0AlI1AHgJLKbEvW48ADTocDiPm86nz51MNveAQDtK8DXJpeMSNBjisp5BhJ1ADiJ7JIq/RxPoo6TKKuuk+/2FOjx1KEk6gCAjtv+/unWHCmvqTcdDjoYiToAnAQr6miNr3fl6x63vbsGS7+YENPhAADcUEr3COnVNViq6hrk0y30VHd3JOoAcBK5pU2JehiJOk7s86Zq7xcNiaM7AACgQ6j3l7kpiXo8Py3TdDjoYCTqAHAS5dWOrWXhgb6mQ4FFVdc1yFc78/R46hCqvQMAOs7slG6i7gergnKHj1SaDgcdiEQdAE6istbRRz3Qz2Y6FFjUyn0FUlHboHddjOgWYTocAIAbS4wIlHG9o5pbtcF9kagDwEk4i7UE+9FHHce3pKna+0VDYsXbm23vAICONaepqNz8DZnS2EhPdXdFog4AJ2C3N0p+WY0ex4T5mw4HFv078sUOx7b3i2jLBgDoBNOHxkmQn03SCyok7dAR0+Ggg5CoA8AJFFbUSr29UZ8Fiw4hUccPbcgoloLyGgn195ExvSJNhwMA8ADB/j4yrakV6AepbH93VyTqAHCKiu9dQ/zFx8Z0iR9aut2x7X3SwBjx8+HvCACgc1zetP198eYsXdQU7oerCgA4RaIey7Z3nMDS7Y62bBcOpto7AKDznN07SheWK6uuly92OG4aw72QqAPACeSWOs6nx4bSQx0/tD+/XPblV4ivzUsmDYg2HQ4AwIOo4qWzkx091eelHjYdDjoAiToAnGpFPZxEHT/kXMFQqxphAb6mwwEAeJjZKY5EffmeAskrc1yzwH2QqAPACTjf9FhRx8nOp08ZxLZ3AEDn6xMdIsndI6TB3igfbsgyHQ7aGYk6AJxATgln1HF8heU1knrQ0RJnCufTAQCGzG0qKjcv7TA91d0MiToAnMDhI1X6OSEi0HQosJhlO/PE3igyJCFMF/MBAMCEmcMTdNeRnTllsj271HQ4aEck6gBwHOqutDNRT4oMMh0OLOaLpm3vVHsHAJgUHuQrFzYdwZpHT3W3QqIOAMdRWFErVXUN4uWlVtQ5o47vqX613+4p0GMSdQCAaXNHOYrKfbgxU+oa7KbDQTshUQeA48goqmwuJOfvYzMdDizkuz0F+iaO2vI+OD7MdDgAAA83sV+0dA3x04sM3+zKNx0O2gmJOgAcR0bztnfOH+NE1d5jxEttuQAAwCAfm7dcNrKpp3oaPdXdBYk6AJxkRT2pC+fT8T27vVGW7XSeT48zHQ4AAEdVf1+2I0+KK2tNh4N2QKIOAMfhLCTXrQsr6vjehoxiKSivldAAHxnbO9J0OAAAaIMTwmRQfJjUNtjlo83ZpsNBOyBRB4DjOHzEsaLejYrvOM629/MHxIivjbdQAIB1zE1p2v6eyvZ3d8BVBgAcR3pBhX7uQaKOFpZuz9HPU6j2DgCwGHVO3ebtJRszimVffrnpcHCGSNQB4DjttzKLHVvfe0eHmA4HFrE/v1z25VeIr81LJg2INh0OAABHiQ71l0n9He9PrKq7PhJ1ADjGgcIKaWwUfQ5ZtTsBlC92OLa9n907SsICfE2HAwDAD8xpKiq3YEOmNNgbTYeDM0CiDgDH2J9f0byaTvstHHs+/UK2vQMALGryoBgJC/CR7JJqWbWv0HQ4OAMk6gBwnC3OSp/oYNOhwCIKy2sk9eARPZ4yiEQdAGBNAb42mTkiQY/n01PdpZGoA8AJVtT7cD4dTZbtzBO1g3BoYpgkRNCyDwBgXXNHOba/f7o1R8pr6k2Hg9NEog4Ax9jXVPG9d1dW1HH0tndW0wEAVpecFKGvYarqGuTTLfRUd1Uk6gDQQmNjY/PWdyq+w9kF4Ns9+XrM+XQAgNWp+jrOVfV5bH93WSTqANBCflmNlFXXi7eXSI8oeqhDZMXeAqmus0tiRKAMjg8zHQ4AAKc0KzlRVD3c1fuLJKOo0nQ4OA0k6gDQwo6cMv3cq2uwLsgCqPPpzkq6dAEAALgCdXN5XO+o5lZtcD0k6gDQwq6cUv08MI6VUziOQny5w5GoXzAwxnQ4AAC02tymnuqq+rt6P4NrIVEHgBZ2ZjtW1AfEhZoOBRawPbtUckqrJcjPJmc3rUwAAOAKpg2N0+9fBworJe2Qo8UoXAeJOgC0sLNp6zuJOpRlTavpE/p25SgEAMClBPv7yPSh8Xr8QSrb310NiToANKlvsMvePEfF90Fsfccx59MBAHA1c0cl6ufFm7N0FxO4DhJ1AGiSXlAhtQ12vU2sW5dA0+HAAh0ANmUU6/H5A0jUAQCu5+xeUbqwnOpos3R7rulw0AYk6gBwzLb3/rGh4q36s8GjfdW0mj68W7jEhAWYDgcAgDZT1zOzkx2r6vRUdy0k6gDQZEe2s+I759Ohtr07Vh6o9g4AcGVzUhyJ+vLd+ZJXVm06HLQSiToANNma5UjUhySGmw4FhtXUN8i3ewr0eMqgWNPhAABw2npHh0hK9wixN4p8uCHLdDhoJRJ1AGjql701s0SPh5Goe7w1+4uksrZBYsP8ZUgChQUBAK5t7qhuzdvf6anuGkjUAUBEskqqpaiiVny8vdj6Dlm24/tt715e1CsAALi2S4YliJ+Pt67Hs61pByGsjUQdAERky2HHanq/2FD6ZXs4tdLgbMt2wUC2vQMAXF94kK9c2HSUi6JyroFEHQDU+fTmbe9sc/Z0e/LK5fCRKvH38ZYJfbuaDgcAgHbtqb5oY5bUNdhNh4NTIFEHALWizvl0NFm2w7GaPr5PlAT6sbsCAOAeJvaLlq4h/lJYUSvf7Mo3HQ5OgUQdgMdTW52bE/VuEabDgVXOp1PtHQDgRnxs3jJrZIIes/3d+kjUAXg8CsnBSf09SDt0RI/pnw4AcNfq72r3WHFlrelwcBIk6gA8HoXk4PTN7jzdZ3ZQfJgkRgSaDgcAgHal3t8Gx4dJbYNdPtpET3UrI1EH4PEoJAenL5rOp09mNR0A4KbmpDiKyn2Qlmk6FJwEiToAj7eZQnIQ0RVwlzcV17lgEIk6AMA9XTYyUWzeXrIpo1j25pWbDgcnQKIOwKM12Btlw0HHmeTk7l1MhwOD1h0okrKaeokK9pMRFBUEALip6FB/mdQ/Wo/nU1TOskjUAXi0XTllOjkL8fehkJyH+7Jp2/v5A2P0SgMAAO5eVG7Bhky9aAHrIVEH4NHWHyzSz8ndI3TbEniuZTs5nw4A8AyTB8VIeKCvZJdUy6p9habDwXFwVQrAo6074Nj2flbPSNOhwKD9+eWSXlAhvjYvmdCvq+lwAADoUP4+Npk5Il6P6aluTSTqADxWY2OjrEt3rKiTqHu2L5tW08f2ipLQAF/T4QAA0OHmpDi2v3+2NUfKa+pNh4NjkKgD8FiHj1RJTmm1+Hh7ycgkiod5MmeifgHb3gEAHiI5KUJ6dw2WqroG+WRLtulwcAwSdQDi6efThyaGS6CfzXQ4MKSsuk5XfHcWkgMAwBN4eXk1F5Wj+rv1kKgD8Fhr053n02nL5slW7C2UuoZG6RkVJL26BpsOBwCATjM7OVG8vERW7y+SjKJK0+GgBRJ1AB5rzX5HlVPOp3u2b3Y7tr1PGsBqOgDAsyREBMr4PlHNrdpgHSTqADxSTkm17C+oENUue2xvxxsUPLOg4Fc78/WYbe8AAE80N+X77e/qfRHWQKIOwCOt2l/QfD5d9RGFZ9qZU6YLCgb4esvYXuysAAB4nqlD4iTIzyYHCisl9aDjWCDMc6lE/a9//asuevCrX/2q+XPV1dXy85//XKKioiQkJETmzp0rubm5R/13hw4dkosvvliCgoIkJiZG7rvvPqmvpwUB4MlW7XNsex/HarpH+2qXY9v7+D5dJcCXgoIAAM8T7O8j04fSU91qXCZRX7dunfznP/+R4cOHH/X5u+++Wz766CN5//335ZtvvpGsrCyZM2dO89cbGhp0kl5bWysrV66U119/XV577TV56KGHDPwWAKxipTNRbzqXBc/09a6mbe8Dok2HAgCAMXNHJernxZuzpbquwXQ4cJVEvby8XK655hp58cUXpUuX76szl5SUyMsvvyxPPPGEXHDBBTJq1Ch59dVXdUK+evVq/ZolS5bI9u3b5Y033pCRI0fK9OnT5eGHH5Znn31WJ+8API+qaqp6qKv+6RSS81wlVXXNW/woJAcA8GRn94qSxIhAKauul6Xbj96dDDNcIlFXW9vVqviUKVOO+nxqaqrU1dUd9fmBAwdK9+7dZdWqVfpj9Txs2DCJjY1tfs3UqVOltLRUtm3b1om/BQCrbXsfkRSht3vBM323p0Aa7I3SNyZEkiKDTIcDAIAx3t5eMifFsarO9ndrsPwV6jvvvCNpaWl66/uxcnJyxM/PTyIiIo76vErK1decr2mZpDu/7vzaidTU1OiHk0rsAbiHVU1t2Tif7tnznvN8+qT+bHsHPJWnzXvAycxJ6SZPf7lXlu/Ol7zSaokJCzAdkkez9Ip6RkaG/PKXv5Q333xTAgI69y/Ko48+KuHh4c2PpKSkTv35ADqGajuycp+j4ruzbyg8b96z2xvlm920ZQM8nSfNe8Cp9OoaLCndI8TeKLJwIz3VTbN0oq62tufl5UlKSor4+PjohyoY99RTT+mxWhlX58yLi4uP+u9U1fe4uDg9Vs/HVoF3fux8zfE88MAD+gy886FuGgBwfekFFZJbWiN+Nm9J6fF9zQt41ry3PbtU8stqJNjPJqN78vcA8FSeNO8BrTF3lKOn+rzUTHqqG2bpRH3y5MmyZcsW2bhxY/Nj9OjRurCcc+zr6yvLli1r/m927dql27GNGzdOf6ye1fdQCb/T0qVLJSwsTAYPHnzCn+3v769f0/IBwH2qvaf0iKAdlwfPe1/tdLwnnNO3q/j78PcA8FSeNO8BrXHJ8ATx8/GWXbllsi2LoyAmWfqMemhoqAwdOvSozwUHB+ue6c7P33zzzXLPPfdIZGSknlzvuusunZyfffbZ+usXXXSRTsivu+46efzxx/W59AcffFAXqFOTMwDPPJ+u+mbDcznPp7PtHQCA74UH+sqFg2Pl483Zuqjc0MRw0yF5LEuvqLfGP//5T7nkkktk7ty5MnHiRL2dff78+c1ft9lssnjxYv2sEvhrr71Wrr/+evnTn/5kNG4AnU9t4VpN/3SPd6SiVjZmOI5MTaJ/OgAAR7k8xbH9fdHGLKlrsJsOx2NZekX9eL7++uujPlZF5lRPdPU4kR49esgnn3zSCdEBsLLdueVSWFErgb42GdHt6G4R8BzL9+TrQjkD40IlPjzQdDgAAFjKuf26StcQfykor5Gvd+XrFXZ0PpdfUQeA1nJWe1fFw9T5K3gmddGhTBrAtncAAI7lY/OWWSMT9HheKj3VTeFKFYDHWNW07Z3z6Z6roWVbNra9AwBw0urvy3bm6iNj6Hwk6gA8JkFb3VRIjvPpnmvz4WIpqqiVUH8f2vMBAHACg+LDZHB8mNQ1NMrizVmmw/FIJOoAPMKO7FIpra7XCdrQBNrvePq293P7dxVfG2+BAACcalX9g7RM06F4JK5SAHjU+fQxvSL12St4pq+b2rJxPh0AgJO7bGSC+Hh7yaaMYtmbV246HI/D1SoAj7B8tyNRZ9u758ovq5FNh0v0eFJ/zqcDAHAyqvK7s42p6qmOzkWiDsDtlVTVNZ9PnzKIFiOeanlTEbmhiWESExZgOhwAACxvTlNP9QVpmbreDzoPiToAj9juXG9vlH4xIdKza7DpcGDI102J+qT+bHsHAKA1Jg+KkfBAX8kprW4+RojOQaIOwO0t3Z6rn6cMZjXdU6lVAOeKunMbHwAAODl/H5vMHBGvx/MpKtepSNQBuLXaert801Tp+0ISdY9uy6aOQIQG+MjIpAjT4QAA4DLmNm1//2xrjpTX1JsOx2OQqANwa+psellNvUSH+svIbiRonuqbptX0c/t1peo/AABtoG5w944Olqq6BvlkS7bpcDwGVysAPGPb+6AY8fb2Mh0ODHFue5/Yj23vAAC0hZeXV/Oq+rxUqr93FhJ1AG6rsbFRvtjhSNTZ9u65SirrZGNGsR5PpC0bAABtNjs5Uby8RNakF0lGUaXpcDwCiToAt7U1s1SyS6olyM8m4/t0NR0ODPlub4GojjKq6n9CRKDpcAAAcDnq/XN8nyg9pqhc5yBRB+C2ljatpqvtzgG+NtPhwPS2d1bTAQA4bc7t7/M3HNa7FtGxSNQBuC3askFdSDgLyZ1Hog4AwGmbNjROgv1scrCwUlIPHjEdjtsjUQfgltT5qR3ZpaLqx10wMMZ0ODBkT1655JRWi7+Pt4zpFWk6HAAAXFaQn49MH+boqT4vjaJyHY1EHYBbchaRG90zUiKD/UyHA0O+2eVYTR/bO4rjDwAAtNP298WbsqW6rsF0OG6NRB2AW297v4ht7x5t+R62vQMA0F7G9oqUxIhAKauplyVN11roGCTqANyyHZdqH6LQls1zVdU2NP89OK8/Vf8BADhT3t5eMiclUY/pqd6xSNQBuJ2vduVJg71R+seGSI+oYNPhwJDV6YVSW2/Xd/77RIeYDgcAALcwp2n7+7d78iW3tNp0OG6LRB2A21myPUc/TxnEaron+74tW1fx8vIyHQ4AAG6hV9dgGdWji9gbRT7cSE/1jkKiDsCtlFbXybIdeXo8faijMik8E23ZAADo2KJy81Iz6aneQUjUAbiVT7dkS029XfrGhMjQxDDT4cBge779+RVi8/aS8X05nw4AQHu6eHi8+Pl4y67cMtmWVWo6HLdEog7ArcxPc2zBmp2cyHZnD+as9p6cFCFhAb6mwwEAwK2EB/o2F+z9gKJyHYJEHYDbOHykUlf5Vvn5rGRHRVJ49vl0tr0DANAxLm/a/r5oU5Yu3or2RaIOwG18uDFLP5/dK0pX+oZnqmuwy8q9hXo8kUQdAIAOcW6/rhId6i9FFbXy9S5HfSC0HxJ1AG5BFTKZl+bYejW7qb8nPNOGQ8VSVlMvkcF+Miwx3HQ4AAC4JR+bt8wamXDU0UO0HxJ1AG5h8+ESXTwswNdbpg+NMx0OLLDtfULfruLtTZ0CAAA6ytxRju3vy3bmypGKWtPhuBUSdQBuYcEGx53ciwbHSSjFwzyasy0b294BAOhYA+PCZEhCmNQ1NMpHmx1HENE+SNQBuMWZZFXIRJnDtnePVlheI1uzSvR4Yj/asgEA0NHmNPdUp/p7eyJRB+DyvtmVrwuZdA3x19ud4bm+21sgjY0ig+LDJCYswHQ4AAC4vctGJoiPt5dsOlwie/PKTIfjNkjUAbjNtnf9RmFjWvP0mzYKbdkAAOgcaqFk0gDH++4HqRSVay9c0QJwaSVVdbJ0R64es+3ds6nK/9/uLdBjtr0DANB55jZtf1+4IVMa7I2mw3ELJOoAXNonW7Kltt4uA2JDZXB8mOlwYNCu3DLJL6vRlf9H9exiOhwAADzGBYNiJDzQV3JKq2XlPsdNc5wZEnUALs1ZuET1TvfyohWXJ/tuj+PCYGyvKPH3sZkOBwAAj6Hedy8d4eipTlG59kGiDsBl7copk/UHj4jN20tmJ7Pt3dN925Son8u2dwAAjPVU/2xbjpRV15kOx+WRqANwWW+tOaifLxocK7FU+PZoNfUNsia9UI8nkKgDANDpRnQLl97RwVJdZ5dPt+SYDsflkagDcEmVtfUyP81RWfSasT1MhwPDUg8c0RcG0aH+ul4BAADoXOoIorOo3AdpbH8/UyTqAFzSR5uypKymXnpGBcn4PlGmw4FhzmrvE/p2pVYBAACGqA486m14bXqRZBRVmg7HpZGoA3BJb645pJ+vHttdvL1JzDyds5CcStQBAIAZ8eGBck4fx3uxc+cjTg+JOgCXs/lwsWw+XCJ+Nm+5fFSS6XBg2JGKWtmaVaLHFJIDAMCsuaMcBX7nbzgsjY30VD9dJOoAXM5bTavpM4bFSWSwn+lwYNiKfQWirgPU2fQYigoCAGDU1CFxEuxnk4OFlbo7D04PiToAl1JaXScfbszS42vOpogcWmx7ZzUdAADjgvx8ZPqweD2mp/rpI1EH4FLeX39YquoapH9siIzu0cV0ODBMbalz9k8nUQcAwBqc1d8/3pwt1XUNpsNxSSTqAFxGg71RXl95QI9vHN+L6t6Q9IIKySyu0vUKxvaKNB0OAAAQ0e/JiRGBukPPku25psNxSSTqAFzGVzvz5FBRpYQH+sqs5ATT4cACvmtqy5bSI0JvtQMAAOapjjxzUxxF5dj+fnpI1AG4jNeaVtOvOiuJpAyac9v7uf2iTYcCAABamNO0/f3bPfmSW1ptOhyXQ6IOwCXsyS3Tq6eqZfq1FJHD/2/vPqCjqvIHjv/SQ0ISCCEEQgm99yaIgIqgoiiwq2tBl/Vvx4qo7FFxbejqWtZ1dde17boK0iyI2EBUuvTeEQgl1CQQUuf9z+8mMzsJSQiQ5L2Z+X7OmZOXzMvMvZnJnft7997fFZH8Apcs2nbYHLMtGwAAzpKSEG3yCbkskU9XsKf6mSJQB+BTo+mXtKsnjeKj7C4OHGDVnmNm7VutqDBp3yDO7uIAAIAyRtWnLWdP9TNFoA7A8dKz8mT68sIrsaPPb2p3ceAQP24unPZ+fvMECdGpFgAAwFGGdqov4aHBsvnAcVmbmmF3cXwKgToAx5v8yy6zJVubpBgye+OURHJsywYAgDNpAuDB7ep5RtVRcQTqABwtr8Al7893b8mWwpZsMDKy82Tl7mPmuF8LAnUAAJxqZPfC6e+fr9orufkuu4vjMwjUATjarDX7ZG96tiTUDJeruxZu8wFoErkClyUpdaLIWQAAgINd0CJB6sZEyJETufLDpjS7i+MzCNQBOJYmHfnnj9vN8c19UiQyLMTuIsFh097Zlg0AAGcLDQmW4UWDLUx/rzgCdQCOtWDbYVm3N0Miw4LZkg3F/Fy0fzrr0wEAcL4R3QoD9Tkb0+ToiVy7i+MTCNQBOJZ7NP2aHo2kdnS43cWBQ+w5miXbD50wmd77NK9jd3EAAMBptEmKlfYNYiWvwDJr1XF6BOoAHGnT/kyZt/mg6K5bt/RjSzacOpreuWGcxEaG2V0cAABQASOL9lSfzvT3CiFQB+Do0fRLOyRJkzrRdhcHDjJ/22HzlWzvAAD4jqu6NJDQ4CBZtSddtqZl2l0cxyNQB+A4+9Oz5fNVqeb41gua2V0cOCzB4MJthSPqfQnUAQDwGXVqRsjA1onmeOqywn4eykagDsBx3pu/w6xh6plSW7o2rm13ceAgmw5kyqHjuSbBYNfGtewuDgAAOAO/6V6YVG7Gij1mm1WUjUAdgKMcy8qVDxf9ao7vGNDc7uLAYeZvLZz23jMlXiJC2a4PAABfcmGbRImrESYHMnJkftFWqygdgToAR3l/wU45kVsgbZJi5KI2hdOjALcFRR/q5zPtHQAAn6MX2Yd1bmCO2VO9fATqABzjeE6+vDd/pzm++8IWEhQUZHeR4CD5BS5ZvOOIOT6/OYE6AAC+aGT3wuzvX6/bL5nZeXYXx7EI1AE4xkeLf5X0k3nSNCFaLu9Y3+7iwGE0S6xezNEpc+0axNpdHAAAcBZ0e9XmdaMlO88lX63Zb3dxHItAHYAjZOcVyNs/7TDHdw5oLiG6gTrgxZ3tvU+zOrw/AADwUTpj0j2qPpXp72UiUAfgCFOW7ZGDmTnSIC5Sru5amBEUKC2R3Pkt6thdFAAAcA6Gd00WXeG4ZMcR2X0ky+7iOBKBOgDb5RW45K0ftpnj2wc0l/BQmiacOuNi2a6j5pj90wEA8G3142p48s2QVK509IYB2O6zlXsl9dhJSagZLtf2bGR3ceBAv+w8Krn5LkmKjZRmCdF2FwcAAJyjkUV7qk9fniqWxZ7qJRGoA7A9k/ff5mwxx7f0ayaRYeyNjVPNL1qf3rd5HXYDAADADwxpnyTR4SGy60iW/PJr4aw5/A+BOgBbzViRKjsPZ0l8dLjc1KeJ3cWBw/dPZ9o7AAD+ISo81LPLz7RlTH8viUAdgL2j6XO3muPb+zeT6IhQu4sEB9It+9akpptjEskBAOA/3Nnfv1y9z+Sjwf8QqAOwzfQVqfLr4SypEx0uoxhNRxkWbT8sLkvM2nRNPgMAAPxDr5R4aVi7hmTm5MvX69hT3RuBOgDbMr2/XrQ2/fYBzcz0J6D8ae+MpgMA4E+Cg4NkRNG2vNOWp9pdHEdxfKA+ceJE6dmzp8TExEhiYqJcffXVsmnTpmLnZGdny9133y116tSRmjVrysiRI+XAgQPFztm1a5cMHTpUoqKizOOMGzdO8vPzq7k2ANxmLE+V3UcKM73feB6j6Sjb/G1F+6cXbeMCAAD8x4huhdPff95yUA5kZNtdHMdwfKA+b948E4QvWrRIvv32W8nLy5PBgwfLiRMnPOc88MAD8sUXX8iUKVPM+Xv37pURI0Z47i8oKDBBem5urixYsEA++OADef/99+WJJ56wqVZAYDOj6XMLR9PvGNCc0XSUST+wt6YdF0303qc5I+oAAPiblIRo6dGktlnm9ukKRtXdHN87nj17drHvNcDWEfFly5ZJ//79JT09Xd555x356KOP5KKLLjLnvPfee9K2bVsT3J933nnyzTffyPr16+W7776TevXqSZcuXeTpp5+WRx55RJ588kkJDw+3qXZAYNLMnoWj6RFyQ29G01G2BUXbsrVvECu1omirAQDw16RyukXbtOV75Lb+zdiK1RdG1EvSwFzFx8ebrxqw6yj7oEGDPOe0adNGGjduLAsXLjTf69eOHTuaIN1tyJAhkpGRIevWrav2OgCBTDN6/vV792h6M6kRzr7pKNv8rUx7BwDA3w3tVF8iQoNl84HjsjY1w+7iOILjR9S9uVwuuf/+++X888+XDh06mJ/t37/fjIjXqlWr2LkalOt97nO8g3T3/e77SpOTk2NubhrUAzh3/128S/amZ0tSbCRr0x3Gae2eZVmysGh9OvunAwiEdg8IVLGRYTK4fZJ8sWqvGVXv2DBOAp1PjajrWvW1a9fKpEmTqiWJXVxcnOfWqFGjKn9OwN8dz8mXN4r2Tb9vUEuJDGM03Umc1u7p1n2px05KWEiQ9EypbWtZAPgnp7V7QCAb0a0w+/tnK1MlN98lgc5nAvUxY8bIzJkzZe7cudKwYWFmQJWUlGSSxB07dqzY+Zr1Xe9zn1MyC7z7e/c5JY0fP95Ms3ffdu/eXQW1AgLLOz/tkCMncqVpQrT8tvv//o/hDE5r9+YXrU/v2rg2CQcBBES7BwSyC1okSN2YCDmalSdzN6VJoHN8oK5THzVInzFjhsyZM0eaNm1a7P7u3btLWFiYfP/9956f6fZtuh1bnz59zPf6dc2aNZKW9r8XXDPIx8bGSrt27Up93oiICHO/9w3A2dMA/e2ftpvjBy9pJaEhjm9+Ao7T2r0FrE8HEGDtHhDItG84vGhP9enL90igC/aF6e4ffvihyeque6nrmnK9nTx50tyv05RuueUWefDBB81ouyaXGz16tAnONeO70u3cNCAfNWqUrFq1Sr7++mt57LHHzGNrAw2g6r01b5uZ+t6ufqwM7Vjf7uLA4VwuSxZud69PZ1s2AAACwciiPdXnbEyToydyJZA5PlB/8803zVSkgQMHSv369T23yZMne8555ZVX5IorrpCRI0eaLdt0Ovv06dM994eEhJhp8/pVA/gbb7xRbrrpJnnqqadsqhUQWPanZ8sHC3aa43FDWktwMFtuoHybDmSaWRg1wkKkc8PiyUIBAIB/ap0UIx2SYyWvwJLPV+2VQBbqC1PfTycyMlLeeOMNcytLkyZNZNasWZVcOgAV8dr3WyQn32USgg1sXdfu4sAHLCoaTe+RUlvCQx1/TRkAAFTiqPra1PUm+/vNfVMkUNH7AVClth08Lp/8Upic5+FL20hQEKPpOD33tmx9mjPtHQCAQDKscwMJDQ6S1XvSZcuBTAlUBOoAqtTzX22UApclg9omSs+UeLuLAx9Zn754xxFz3KcZgToAAIGkTs0IGdg60RxPDeCkcgTqAKrMkh1H5Nv1ByQkOEgevayN3cWBj1i/L0PST+ZJdHiIdEiOs7s4AACgmv2me2H2909XpJoBn0BEoA6gyvJLPDtrgzm+tmcjaZEYY3eR4GPr03s2jZcwtvEDACDgXNgmUWpFhcmBjByZv/WQBCJ6QACqxJdr9smq3cckKjxE7h/U0u7iwAcDdaa9AwAQmCJCQ8xadaVJ5QIRgTqASpeTXyB/nr3JHN/ev7kkxkTaXST4iAKv9ennEagDACCBvqf61+v2S2Z2ngQaAnUAle7DRbtk15EsSYyJkFv7N7W7OPAh6/dmSGZ2vsREhEr7BrF2FwcAANikU8M4aV43WrLzXDJrzT4JNATqACqVJgF7fc4Wc/zgJa0kKjzU7iLBhyzcXrgOrVfTeAllfToAAAErKChIRnYvHFWftixVAg29IACV6o25W+VYVp60qldTftujkd3FgY9h/3QAAOA2vGuyBAWJLNl5RHYdzpJAQqAOoNLsOHRC3pu/wxyPv7yt2ZYNqKj8Apcs3XnUHLM+HQAA1I+rIf1aJJjj6SsCK6kcgTqASvPslxskr8CSga3ryoWtE+0uDnzM2r0ZcjwnX2IjQ6VtfdanAwAA8SSVm7481Wz/GygI1AFUip+2HJTvNhyQ0OAgeWxoO7uLAx+e9t67WR1mYwAAAGNI+ySJDg8xiYrdM+8CAYE6gEqZsvz0zPXmeFSfJtIisabdRYIPWli0fzrT3gEAgFuN8BC5vGN9czxtWeBMfydQB3DOPlqySzYfOC61o8Lk/otb2V0c+KC8Apf8srNw//Q+BOoAAMCLO/v7l2v2ycncAgkEBOoAzsmxrFx5+dvNnu3Y4qLC7C4SfNDqPemSlVsgtaLCpE1SjN3FAQAADtIrJV4a1q5hctl8s36/BAICdQDn5NXvtpjt2FrXi5HrejW2uzjwUYuKpr33bhovwaxPBwAAXrRvMKIoqdy05YGxpzqBOoCztjUtU/6z6Fdz/PgV7SQ0hCYF5xaoM+0dAACUZmS3ZPP15y0H5UBGtvg7etUAzopuj/HEZ+ukwGXJoLb1pF/Lwj0ugTOVm6/r0wuzuPZpzvsIAACcqkmdaOmZUltclsiMFf4/qk6gDuCsaDKPBdsOS3hosDxxBdux4eyt2nNMTuYVSHx0uLSqx44BAACgdJ7p78v2+P2e6gTqAM7YiZx8eWbmBnN818Dm0rhOlN1Fgg9bVLR/+nnN4iUoiPXpAACgdEM71ZeI0GDZknZc1qSmiz8jUAdwxl6fs1X2Z2RLo/gacseA5nYXB36yfzrr0wEAQHliI8NkcPskczzdz5PKEagDOCNb047LOz9vN8cTrmgvkWEhdhcJPiwnv0CW/epen06gDgAAyudOKvfZylST58ZfEagDqDBdC/Tk5+skr8CSi9okyqB29ewuEnzcyl3HJCffJQk1I6R5XdanAwCA8l3Qsq4kxkTI0aw8mbspTfwVgTqACvtq7X75eeshk0BuwpUkkEPlTXtnfToAAKiIkOAgGd412ZNUzl8RqAOokKxcTSC33hzf0b+Z2SIDOFcLixLJMe0dAACcafb3uZvS5MiJXPFHBOoAKuS177bI3vRsSa5VQ+4c2MLu4sAPZOcVyIrdx8zxeSSSAwAAFdQ6KUY6JMea5Zifr/TPpHIE6gBOa8O+DPnXzzvM8VNXtZca4SSQw7lbtfuYSQKj69ObJTBDAwAAVNxI957qfpr9nUAdQLlcLkv+OGONFLgsubR9klzclgRyqByLdxwxX3uzPh0AAJyhYZ0bSGhwkNlPffOBTPE3BOoAyvXx0l2yYtcxiQ4PkQnDSCCHyrPEHag3jbe7KAAAwMfUqRkhF7ZJNMfTlvtfUjkCdQBlSsvMlhe+2miOxw5uLfXjathdJPiJvAKXZ//03k1Znw4AAM5++vunK1LN7E9/QqAOoEzPzNwgGdn50jE5Tm7um2J3ceBHdJraybwCqRUVJi0T2T8dAACcuQvb1DV9iQMZOWYLYX9CoA6gVD9uPiifr9orwUEizw3vaPasBCp72nuvlHgJ5r0FAADOQkRoiFmr7o97qhOoAyh126zHP1trjm/qkyIdG8bZXST4mcXbC/dP78X6dAAAUAnT379et18ysvPEXxCoAzjF63O2yK+Hs6RebISMHdzK7uLAz+gasl92Fq5PZ/90AABwLjo1jJMWiTUlJ98lX63ZJ/6CQB1AMev2pstb87ab4z8N6yAxkWF2Fwl+ZsO+DMnMyZeYiFBpWz/W7uIAAAAfFhQU9L891Zf5z57qBOoAimXifnjqajPiObRjfbm0Q5LdRYIf75/eI6U2uQ8AAMA5G941WYKCRJbsPCK7DmeJPyBQB+Dx9k/bZd3eDImrESZPDmtvd3Hgp5bscK9PZ9o7AAA4d0lxkdKvRYJf7alOoA7A2HbwuLz63RZz/MQV7aRuTITdRYIfcrksT8b33s1IJAcAACrHyKLp79NX7DH9DV9HoA7ANGaPTlstufkuGdCqrozolmx3keCnth48Lkez8qRGWIh0aMBuAgAAoHIMaZ8kNSNCZfeRk7J0Z+GggC8jUAcgHy7+VZbuPCrR4SHy7PAOJikHUJXbsnVrUkvCQ/kIAgAAlaNGeIhc3rEwv9L05b6fVI5eEhDg9hzNkhe+2miOH7msjTSsHWV3kRAAieR6sz4dAABU0fT3L9fsk5O5BeLLCNSBAGZZlvxxxlo5kVsgPVNqy429m9hdJPj5+80dqPdqyvp0AABQuXqmxEuj+BpyPCdfvlm/X3wZgToQwHRa0I+bD5opyM+P7CTBbJWFKrTzcJYczMyR8JBg6dKolt3FAQAAfiY4OEhGdC0cVZ+6zLezvxOoAwFKA6anZq43x/cPainN69a0u0gIkG3ZNEiPDAuxuzgAAMAPjShKijx/6yHZn54tvopAHQjQKciPf7pW0k/mSYfkWLntgmZ2FwkBYPF2tmUDAABVq0mdaLOkU3dom7HCd5PKEagDAejTlakye91+CQsJkhdGdpLQEJoCVD3WpwMAgGrdU335HjNA5YvonQMBZl/6SXnis3Xm+L6LW0p79rJGNe0ukHrspIQGB0n3JrXtLg4AAPBjl3eqLxGhwbIl7bisSU0XX0SgDgQQvaL4yLQ1kpmdL50b1ZI7BjS3u0gIEEuKRtM7JMdJVHio3cUBAAB+LDYyTIa0L9xTfZqPJpUjUAcCyEdLdpks73qF8S+/7cyUd1R7oM76dAAAUB1Gdi+c/v75qr2Sm+8SX0MvHQgQuw5nybNfbjDHD1/aRlokkuUd1b8+vTfr0wEAQDXo1yJBEmMi5GhWnszZmCa+hkAdCAAFLksemrJKsnILTKA0um+K3UVCAEnLyJYdh05IUJBIjxQCdQAAUPVCgoNkeNfCrdqmLfe96e8E6kAAeG/+Dlmy84hEh4fIS7/tLMHBQXYXCQE4mt6ufqxZMwYAAFCd09/nbkyTIydyxZcQqAN+bsuBTPnz15vM8WNXtJNG8VF2FwkBuj6dbdkAAEB1alUvRjomx0m+y5LPV/rWnuoE6oAfyytwydgpq0wCjYGt68rvejayu0gIQEt3sj4dAADYY2Q39/R3AnUADvH3udtk9Z50iasRJi+M7CRBukgYqEbpWXmy6UCmOWZ9OgAAqG7DuiRLaHCQ2U99c1GfxBcQqAN+avWeY/L6nC3m+Kmr2ku92Ei7i4QAtGzXEbEskWYJ0ZJQM8Lu4gAAgAATHx0uF7ZJ9Lk91QnUAT90Iidf7pu00qzHGdqxvgzr3MDuIiFALd151HztkVLb7qIAAIAANbJbYVK5GStSJb/AN/ZUJ1AH/NDTM9eb7bDqx0XKc8M7MuUdtvmlaH16T6a9AwAAm1zUJlFqR4VJWmaOzN92WHwBgTrgZ75as08mLd1t9qx++ZouEhfFdliwR3ZegazanW6OCdQBAIBdwkODPTNMfWX6O4E64Ef2pZ+UR6evMcd3DGgufZrXsbtICGCatCW3wGXWpjepw7aAAADA/j3Vv163XzKy88TpCNQBP+FyWTL2k1WSfjJPOjWMkwcGtbK7SAhw7m3ZeqbUZvkFAACwVcfkOGmZWFNy8l0ya/U+cToCdcBPvP3Tdlmw7bDUCAuRV6/tYqb4AHb6pSiRHNPeAQCA3YKCgmREUVK5acudP/2dnjzgB9ampstL32wyx08OayfN6ta0u0gIcDrDg0RyAADASYZ3TZbgoMJdaX49fEKcjEAd8HFZufly76QVkldgyaXtk+SaHo3sLhIgm9MyJSM7X6LCQ6Rt/Ri7iwMAACBJcZFyfosEczx9eao4GYE64OOenrlBth88IUmxkfL8SLZig7P2T+/WuLaEhvBRAwAAnOE3RUnlpq/YY2YAOhW9J8CHadbKj5fsKtqKrbPUigq3u0iAwbR3AADgRIPbJUnNiFDZfeSkJ/GtExGoA768Fdu01eb4tv7NpG/RNB7ACZbu+F/GdwAAAKeoER4iQzvWd3xSOQJ1wAflF7jk3o9XyNGsPLPVxNhLWttdJMAj9dhJ2ZueLSHBQdKlcS27iwMAAFDMiG7J5uusNfvlZG6BOBGBOuCDXvlus1kDrNN2/nZ9V7ZigyOnvXdoECtR4aF2FwcAAKAYXZrXKL6GHM/JN0tJnYjePeBjftx8UP7+wzZzrMnjmtSJtrtIQDHu9V6sTwcAAE4UHBwkI7o6e091AnXAh6RlZMsDk1eKZYnc0LuxXNGpgd1FAk6xdEdhxvceBOoAAMChRnYrDNTnbz0k+9OzxWkI1AEfUeCy5L5JK+XwiVxpkxQjj1/Rzu4iAadIz8qTTQcyzXEPEskBAACHalwnSnqlxIvu0DZjhfP2VCdQB3zE3+ZslYXbD0tUeIi8cUM3iQwLsbtIwCmW7Sqc9t4sIVoSakbYXRwAAIAyjeye7Jn+bumUVQchUAd8wMJth+W17zeb42eHd5DmdWvaXSSgVEuKpr2zPh0AADjdZR3rS0RosGxNOy6r96SLkwRUoP7GG29ISkqKREZGSu/evWXJkiV2Fwk4rUPHc+S+SSvMtJzfdm8ow4sSXwBOzvjOtHcAAOB0sZFhMqR9kiOTygVMoD558mR58MEHZcKECbJ8+XLp3LmzDBkyRNLS0uwuGlAml8syyePSMnOkZWJN+dNV7e0uElCm7LwCz9VoRtQBAIAvGNm9cBDs81V7JTffJU4RMIH6yy+/LLfeequMHj1a2rVrJ2+99ZZERUXJu+++a3fRgDK99eM2+WnLIYkMCzbr0tmTGk62JjVdcgtcZm16kzpRdhcHAADgtPq1SJB6sRFyLCtP5mx0ziBuQATqubm5smzZMhk0aJDnZ8HBweb7hQsX2lo2oLy9qP/yTeG69D8Nay+t6sXYXSSgXEt2FE5779W0tgQFBdldHAAAgNMKCQ6Sq7v+L6mcUwTE8NyhQ4ekoKBA6tWrV+zn+v3GjRtL/Z2cnBxzc8vIyKjycgLe69LHfLTcbMl2dZcGck2PRnYXCQHgXNs9z/r0Jkx7B+Ab6O8BcO+p/o9522XuxjQ5fDxH6jhg55qAGFE/GxMnTpS4uDjPrVEjAiVU537pK+RARo60SKwpzw7vyOgkHN/uaT6FX34l4zsA30J/D4DSmasdk+Mk32WZtepOEBCBekJCgoSEhMiBAweK/Vy/T0oqzPJX0vjx4yU9Pd1z2717dzWVFoFO90ufv7Vwv/S3buwm0REBMfEFDnAu7d7mtEzJzM6X6PAQaVufZRoAfAP9PQBuI7s5a/p7QATq4eHh0r17d/n+++89P3O5XOb7Pn36lPo7EREREhsbW+wGVIfLOyaZkfSJIzpKi0QCHlSfc2n3XC6RS9snycVt60loSEB8tADwA/T3ALgN65IsjeOjpH/LupJfYH/294AZqtOt2W6++Wbp0aOH9OrVS1599VU5ceKEyQIPOEnLejEy694LJDyUYAe+o12DWHlrVHe7iwEAAHBW4qPDZd64gY5Zchowgfq1114rBw8elCeeeEL2798vXbp0kdmzZ5+SYA5wAoJ0AAAAoHo5JUgPqEBdjRkzxtwAAAAAAHAqhu0AAAAAAHAQAnUAAAAAAByEQB0AAAAAAAchUAcAAAAAwEEI1AEAAAAAcBACdQAAAAAAHIRAHQAAAAAAByFQBwAAAADAQQjUAQAAAABwEAJ1AAAAAAAchEAdAAAAAAAHIVAHAAAAAMBBCNQBAAAAAHAQAnUAAAAAAByEQB0AAAAAAAchUAcAAAAAwEEI1AEAAAAAcBACdQAAAAAAHIRAHQAAAAAAByFQBwAAAADAQQjUAQAAAABwEAJ1AAAAAAAchEAdAAAAAAAHIVAHAAAAAMBBCNQBAAAAAHAQAnUAAAAAAByEQB0AAAAAAAchUAcAAAAAwEFC7S6Ar7Asy3zNyMiwuygAfIC7rXC3Hb6Idg/AmaDdAxBoMqqw3SNQr6DMzEzztVGjRnYXBYCPtR1xcXHii2j3AJwN2j0AgSazCtq9IMuXL3tWI5fLJXv37pWYmBgJCgqq0NUVbeR3794tsbGxEigCsd6BWGdFvcuvtzat2mg3aNBAgoODA6LdOxeB8H6ijv4hEOp4tvUMxHbPn94P1MW5/Kk+/liX9evXS+vWrSu93WNEvYL0D9+wYcMz/j19A/r6m/BsBGK9A7HOinqXzVdHlM613TsXgfB+oo7+IRDqeDb1DNR2z5/eD9TFufypPv5Ul+Tk5Cq5OOmblzsBAAAAAPBTBOoAAAAAADgIgXoViYiIkAkTJpivgSQQ6x2IdVbUO7DqXdUC4e9KHf1DINQxkOp5rvzp70RdnMuf6kNdKo5kcgAAAAAAOAgj6gAAAAAAOAiBOgAAAAAADkKgDgAAAACAgxCol+PHH3+UK6+8Uho0aCBBQUHy6aefFrtfl/c/8cQTUr9+falRo4YMGjRItmzZUuycI0eOyA033GD2CaxVq5bccsstcvz48WLnrF69Wi644AKJjIyURo0ayZ///Gfx93pnZ2fL73//e+nYsaOEhobK1VdfLf5e5x9++EGuuuoq8xjR0dHSpUsX+e9//yv+Xu9NmzbJhRdeKPXq1TPv8WbNmsljjz0meXl54u//225bt26VmJgYcx7O7m/oPv+ee+6R1q1bm9elcePGcu+990p6ero4xRtvvCEpKSnmvd67d29ZsmRJuedPmTJF2rRpY87X9nDWrFnidGdSx7ffftt8vtWuXdvc9H/pdH8TX3wd3SZNmmTaFLs/06qqnseOHZO7777btI2aPKlVq1Y+8Z512vvETk8++aR5j3rftA3y7p/pa1ynTh2pWbOmjBw5Ug4cOCBOUd2f33bWRfvJJV+rSy+91JF1mThxovTs2dP0dRITE00bqP0/bxV5b+3atUuGDh0qUVFR5nHGjRsn+fn5jqvLwIEDT3lt7rjjjkqvC4F6OU6cOCGdO3c2DXFpNKD+61//Km+99ZYsXrzYBF9Dhgwxb0Q3/edZt26dfPvttzJz5kzzT3nbbbd57s/IyJDBgwdLkyZNZNmyZfLiiy+aRvSf//yn+HO9CwoKTAOqnWxtRO1WHXVesGCBdOrUSaZNm2YuzowePVpuuukmc64/1zssLMzU85tvvjEN3auvvmo675ol05/r7aYXJK677joTrKC4iv4N3fbu3WtuL730kqxdu1bef/99mT17tumYOMHkyZPlwQcfNO/t5cuXm/eYvm/S0tJKPV/bBH1vaPlXrFhhOgN607o51ZnWUS9Qah3nzp0rCxcuNBej9TMvNTVV/KWObjt37pSHHnrIZ/7Xz7Seubm5cskll5h6Tp061bTn2pYnJydLIDrb94kTtG/fXvbt2+e5/fzzz577HnjgAfniiy/MRcR58+aZNnfEiBHiFNX5+W13XZQG5t6v1ccff1zsfqfURd8rGoQvWrTIlEX7PtrWax0r+t7S2EADW21r9PPxgw8+MJ/zeuHFaXVRt956a7HXxnugtdLqolnfcXr6p5oxY4bne5fLZSUlJVkvvvii52fHjh2zIiIirI8//th8v379evN7S5cu9Zzz1VdfWUFBQVZqaqr5/u9//7tVu3ZtKycnx3POI488YrVu3dry53p7u/nmm62rrrrKcorqqLPb5Zdfbo0ePdoKtHo/8MADVr9+/axAqPfDDz9s3XjjjdZ7771nxcXFVUudfMHZvndK+uSTT6zw8HArLy/PsluvXr2su+++2/N9QUGB1aBBA2vixImlnn/NNddYQ4cOLfaz3r17W7fffrvlVGdax5Ly8/OtmJgY64MPPrD8qY5ar759+1r/+te/HPeZVln1fPPNN61mzZpZubm51VhKy2//F+wyYcIEq3PnzqXep591YWFh1pQpUzw/27Bhg2mrFy5caDlNdfZbqrsu6nRtiVProtLS0kzZ5s2bV+H31qxZs6zg4GBr//79xdqd2NjYYnGS3XVRAwYMsO67774yf6ey6sKI+lnasWOH7N+/v9hocFxcnJn6pKMGSr/qNJQePXp4ztHzg4ODzVU+9zn9+/eX8PBwzzl65U+vVB89elT8td6+pCrrrFN24+PjJZDqrdPAdRR0wIAB4u/1njNnjrlyXN7V8kBVWe2E/g/plD9dQmMnvWqus6K83zdaF/3e/b4pSX9eckaRtv9lnW+3s6ljSVlZWWZ0wqnt3tnW8amnnjJTG50yu6Mq6vn5559Lnz59zEiTLmXq0KGDPPfcc2bkKNBUxv+CnXQquE631qVoOiKrU3SV1kn/P73rpdPidZmRL9TLH/uoOitJ2xZd8nXnnXfK4cOHPfc5uS7uJWnutr4i7y39qkvAtH3x/kzMyMgwswacUhc3Xb6akJBg2sLx48ebzze3yqqLvT0bH6YNgfJ+Adzfu+/Tr/rP5U07k/pCe5/TtGnTUx7DfZ+u6fPHevuSqqrzJ598IkuXLpV//OMfEgj17tu3r5kemJOTY6ZlacfWn+utH6a6vuzDDz80gSSKq4x24tChQ/L000/bMs2vtLJowFLa+2bjxo2l/o7Ws7z3mdOcTR1LeuSRR0yA4IQlT5VVR502/M4778jKlSvFV5xNPbdv324uPmpgp+vS9aLrXXfdZTrfdi5l8tX/Bbto0KpTcDXw0+m6f/rTn8xyDV1yo22PDhyVzKfi5HbJn/uoOu1dp4ZrnLBt2zb54x//KJdddpkJAkNCQhxbF5fLJffff7+cf/75JohVFXlvlfWZqOyqT2l1Uddff71ZtqyfZ7qcVT/bdJB1+vTplVoXAnXABrpeU9eo6/o+XSsWKOv5MjMzZdWqVSahhq4zfvjhh8Vf6dolbch1xkwgefTRR+WFF14o95wNGzac8/PoVWld/9WuXTuT1wPO9/zzz5tkazpCpMm3/IG2aaNGjTJtuY6s+DPtsGpQoDl0NEjo3r27yTWguXUCLVD3ZRrouWneHA3cNeDQwQPNHQTn+N3vfuc51tFZfb2aN29u2tCLL75YnEpn3eiFH+/cB77q7jLq4j1AoK+NJi/U10QvqOhrVFmY+n6WkpKSzNeS2Qr1e/d9+rVkUhHN9qcZGr3PKe0xvJ/DH+vtSyq7zpqkQrN8vvLKKybJWqDUW5NIaVCliaW0w67BlROnTFZWvXXkSS9G6NVtvemUWJ0+pcfvvvuu+KuxY8eaQLy8m063PJd2QoMjHWnQjKwzZswwCQvtpkGaBi/lvW9KKqv9d2o7eTZ1dNP/Bf2/16SS2tl0qjOto3bKNLmatunu//V///vfZpq4Huv9/vJaakdUs7zr77m1bdvWjA7pVPBAci7/C06jI5z6uuoMCS27vpaa3d8X6+XvfVT97NT3nr5WTq3LmDFjTFI7HZBq2LCh5+cVeW85LSYaU0ZdSqMXvJT3a1MZdSFQP0s6DUX/0N9//32xER5dE6JruJR+1Tekrstw0867XpV2v6B6jmZo9N6qSjMM6pQkp017r8x6+5LKrLNeBdVRQB1xdMJ0Xbtea71f3/P61V/rrVPTdCqs+6ZT/TWw1OPhw4eLv6pbt65Zd1beTae/ne17x71Thj6GBkNOGZnV8ugIo/f7Ruui37vfNyXpz73Pd7f/ZZ3vi3VUmglXlyhobgrvtZT+UEd9P69Zs6bY//qwYcPMlpR6rBco/eW11Kmf2gn1brc3b95sAnjvPDuB4Gz/F5xIt/LSC0r6Omqd9MKnd710Oq+uYfeFevl7H3XPnj1mWZ2+Vk6ri+bD08BWL55rGUou663Ie0u/anvqffHh22+/NcsHdaDHKXUpjXvpk/drUyl1OYckeH4vMzPTWrFihbnpn+rll182x7/++qu5//nnn7dq1aplffbZZ9bq1atNZsamTZtaJ0+e9DzGpZdeanXt2tVavHix9fPPP1stW7a0rrvuOs/9mgWxXr161qhRo6y1a9dakyZNsqKioqx//OMflj/XW61bt8487pVXXmkNHDjQ85z+Wuc5c+aY13b8+PHWvn37PLfDhw9bdqmOen/44YfW5MmTTXbSbdu2mWPNjHvDDTdY/v4e90bW91Od7m+4Z88eswOG3q/S09NNVvSOHTtaW7duLfZ/pFm37abtt2YXfv/99837/bbbbjPvI3fWV23nH330Uc/58+fPt0JDQ62XXnrJZL/VbMyaFXfNmjWWU51pHfV/SbPyT506tdjrpf+D/lLHknwl6/uZ1nPXrl0mY/+YMWOsTZs2WTNnzrQSExOtZ555xgpEp/v7OdXYsWOtH374wdqxY4dpgwYNGmQlJCSYzNbqjjvusBo3bmz6LL/88ovVp08fc3MKOz6/7aiL3vfQQw+ZjOj6Wn333XdWt27dTFmzs7MdV5c777zT9HH0veXd1mdlZXnOOd17Sz/HO3ToYA0ePNhauXKlNXv2bKtu3bqm3+ykumj/46mnnjJ10NdG32u6I0b//v0rvS4E6uWYO3eu+ccpedMPYfc2EI8//rgJtLWxvvjii82HlzcNwvQfpmbNmiYlv27FVbKDsmrVKrNVlT5GcnKyaWQCod5NmjQp9Xn8tc76WKU9h27xYJfqqLd2ZvTDRe+Pjo622rVrZz333HPFPjT99T3ujUD9VKf7G+oHoL4u+nqV97rpTc91gtdff910RDQ41e2bFi1a5LlP/9fd7zHv7eVatWplzm/fvr315ZdfWk53JnUsq53XixJOdqavoy8G6mdTzwULFpiLZdouasf02WefdcRFMif+/Zzq2muvterXr2/KrH1O/V4DDzf9bL7rrrvM1sE6uDB8+HATpDiFHZ/fdtRFg0IN8jS40wu42pbeeuutp1wIckpdyvps1r7Pmby3du7caV122WVWjRo1zAUkvbBU3duvnq4uetFSg/L4+HjzHmvRooU1btw4M5hQ2XUJKioQAAAAAABwANaoAwAAAADgIATqAAAAAAA4CIE6AAAAAAAOQqAOAAAAAICDEKgDAAAAAOAgBOoAAAAAADgIgToAAAAAAA5CoA4AAAAAgIMQqCNgDRw4UO6//37P9ykpKfLqq69W6XMePnxYEhMTZefOnVX6PLm5uaY+v/zyS5U+DwDY7YcffpCgoCA5duyY3UUB4DC///3v5eqrr7bt+UeNGiXPPfdchc793e9+J3/5y1+qvEzwHQTqcHwDqx0wvYWFhUnTpk3l4Ycfluzs7Ep/rqVLl8ptt90mVenZZ5+Vq666ygTRVSk8PFweeugheeSRR6r0eQCU7+DBg3LnnXdK48aNJSIiQpKSkmTIkCEyf/588XXvv/++1KpVy9YLrKpv376yb98+iYuLq9ayALCXu39Y1u3JJ5+U1157zbRVdli1apXMmjVL7r333gqd/9hjj5l+Ynp6epWXDb4h1O4CAKdz6aWXynvvvSd5eXmybNkyufnmm00D/MILL1Tq89StW1eqUlZWlrzzzjvy9ddfS3W44YYbZOzYsbJu3Tpp3759tTwngOJGjhxpZrh88MEH0qxZMzlw4IB8//33ZnaNnbRMekHPKbR914uxZ0ProRdAAAQWvUDnNnnyZHniiSdk06ZNnp/VrFnT3Ozy+uuvy29/+9sKl6FDhw7SvHlz+fDDD+Xuu++u8vLB+RhRh+O5R6EaNWpkpi8NGjRIvv32W8/92uG97rrrJDk5WaKioqRjx47y8ccfF3uMEydOyE033WQay/r165c6tch76rtOTdeLAStXrvTcr9Mq9Wc6zVIdPXrUBMMa4NeoUUNatmxpLiiURa+qal3OO++8ckekPv30U/M8bnpFuEuXLvLuu++aUTmtw1133SUFBQXy5z//2fxtdDq9XoX1Vrt2bTn//PNl0qRJFfo7A6hc2mb89NNP5qLihRdeKE2aNJFevXrJ+PHjZdiwYRVqZ9zTur/88kvp1KmTREZGmjZk7dq1xZ7r559/lgsuuMC0RdpW6giOtnve7dvTTz9t2sHY2Fgze0iD9TFjxpg2UR9Xyzdx4kTP77z88sumPY2OjjaPqe3O8ePHPeUaPXq0GfnxHr1SeqztmDdt59yjWu56a8d6wIAB5rn/+9//nrYt1xlW8+bNMyNk7ufUxypt6vu0adPMBUptc7XuJdt8/ZlOR/3DH/4gMTExpm395z//eY6vOIDqpP0f901n1Gg74P0z7S+VnPqus3LuueceMzNH+0n16tWTt99+27SX2qZpe9CiRQv56quvij2XtrmXXXaZeUz9HZ3SfujQoTLLpn20qVOnypVXXlns53//+99Nf1HbPX2c3/zmN8Xu1/Ppt8GNQB0+RRvKBQsWFBsJ0mnw3bt3Nx1ZvV87oNqALlmyxHPOuHHjTAfvs88+k2+++cZ07JYvX35OZXn88cdl/fr1pjHfsGGDvPnmm5KQkFDm+dph13KejW3btpnnmT17tum46sj80KFDZc+ePaZeGgjolKnFixcX+z0NCvR5AVQ/92iOBq05OTnn9FjahmmwqUt09OKgduZ0FNrdPujMIx29X716tQmANXDXINzbSy+9JJ07d5YVK1aY9uuvf/2rfP755/LJJ5+YUSgNlr2X5QQHB5tzdFaOzgiYM2eOWXrknm6uFzY16NdRLb3pcpsz8eijj8p9991n2k9dDnC6tlwD9D59+sitt97qeU69gFCSzry65pprzHrPNWvWmAsIWt+S01/179mjRw/z99CLELpEwXs0DoB/0vZM+2vatmjQrv/7OvKt7Zr2DQcPHmzaHp0JqfQi4EUXXSRdu3Y1uX+0L6azo7SdKYu2xXohU9sYN/1dvYj61FNPmbZGH6d///6n9Nu0XOf6mQE/YQEOdvPNN1shISFWdHS0FRERYelbNjg42Jo6dWq5vzd06FBr7Nix5jgzM9MKDw+3PvnkE8/9hw8ftmrUqGHdd999np81adLEeuWVV8zxjh07zHOtWLHCc//Ro0fNz+bOnWu+v/LKK63Ro0dXuC5XXXWV9Yc//KHYz9577z0rLi6u2M9mzJhhnsdtwoQJVlRUlJWRkeH52ZAhQ6yUlBSroKDA87PWrVtbEydOLPZYr732mjkPgD20rapdu7YVGRlp9e3b1xo/fry1atWqCrcz+lW/nzRp0int1+TJk833t9xyi3XbbbcVe96ffvrJtJUnT570tG9XX311sXPuuece66KLLrJcLleF6jJlyhSrTp065bZfSsur7Zg3PU/P9673q6++etrn9G7L1YABA4q1295/I/3bqeuvv9665JJLip0zbtw4q127dp7v9e9x4403er7Xv0FiYqL15ptvnrZMAJynrPZI+5Ha//JuQ/r16+f5Pj8/3/QxR40a5fnZvn37TJuycOFC8/3TTz9tDR48uNjj7t6925yzadOmUsujbaD2X73b12nTplmxsbHF+nMl6eeDPu7OnTsrXHf4L0bU4Xg6ZVSnhuposa5P16lJOnLkPb1Ip3TqNMn4+HgzgqXrwHft2uUZbdIpnr179/b8jp7XunXrcyqXXoHV6Uk6LV1HmXSkvzwnT540U53Oho5y6XQsN50u1a5dOzPi5f2ztLS0Yr+n02DdV4QBVD9tq/bu3WtGrnXUW2fzdOvW7YyTG+lIcsn2S0ei3QmL9PHcI/h60xFql8slO3bs8Pye98iO0imh2rbqY+koj8428vbdd9/JxRdfbKaia/ujI0w6Pb2y2pSS5TldW15R+nfRZT/e9PstW7aY53DTpQRu7imzJdtQAP7H+38/JCRE6tSpY9od7/6UcrcH2sbOnTu3WBvbpk0bTx+zrD6fLr3xXsp4ySWXmCVGmq9E21OdxVSyPdV+m6LvBkWgDsfT9ZG6XkinbOo6bQ3Ydeq324svvmimRGqGc21IteOpnVQNzs+WOwAuHBwq5J5m6qZrlX799Vd54IEHTEdcO7TlTf3UaVa6rr3k83g/R2nPo0omWXJnwS/5M+2Yezty5EiVJ8kDUD69QKcdNJ1+rRf0NECeMGFChdqZitB147fffrtp+9w37VhqYKqJibzbUm96wUADeQ2OtVOp0zjd6yV17fcVV1xhOrS63lunk7/xxhvmvtO1rdoWVaRdK1meqmjLy1ORNhSA/zldn8odXLvbA21jdbmRdxurN21jS05d9+7zabDt3X7pBU+dWq9LGDU3iCa/076td34N7bcp+m5QBOrwKdqx/eMf/2jWY2vHUuk2R7rl2Y033mgaPL1SuXnzZs/vaEdVG2Dv9dsaMHufU5K7gfTOKOqd8Mn7PB3l1wydul6zvGREurZJ17SX/P3MzMxiSZ9Ke56zpes89XkBOIfOhtH/+Yq2M2rRokWntF9t27b1BNzatugFzZK302V21zXm1157rUmmpGvbNSjXjqIG5tpJ1XXcmryuVatW5oKkN31s7xFqN62Xd520M1uR0aHTteXlPac3/buU3P5Ov9c66OgZAJwJbWM1V4fObizZxpa84Oimsy1VyX5faGioSYqsyYB1HbteFNX8H979toYNG5ab8wiBg0AdPkcTfmhnyz26o9kzNQu8jlTplEcdWdIkH246RemWW24xyZi0MdRGUEe0vKeNl6RTj7Rz+vzzz5vH1IRtenHAm14J1eR0W7duNQ34zJkzPR3n0ujIkJ7nPaqu0/E1u7FefNDpUx999FGl7vepieQ0KQqA6qfTxDUBkV7I0w6Zjl5PmTLFdNA0IK1IO+OmyYd0Wzd3+6WdOHcmYx2B1vZPk8e5R3m0bSqZTK4kzequIzsbN240AbGWTad/a4Z27YDqKLhuL7R9+3b5z3/+I2+99Vax39dOq440abk0+7E7GNc6/+1vfzNJ2jR50h133FGhrddO15a7n1MvumrnVp+ztBFw3ZZSy6QzBbRemjhKy3Omye4AQOlWaXoBU3el0ISe2l/TZTm6FLOsC4d6wVIDfE3s6ab9RE3Qqe20zsj897//bdow76WY9NvgjUAdPkevRmoHVDu7OiqlHVttDDUQ1m03tKPpvRWHe0qlbl2kU5f0Sma/fv1Om4Fdp9nn5+eb83Qbj2eeeeaUkR3dZkmnhurUJ714UN6WGrr+ScupGZbddB2mduJ16zb3VkTuLY7O1cKFC03G0ZJbfwCoHnqRUC/GvfLKK6aN0D1ydfq7Zi3XwLEi7YybBvOaIV3P279/v3zxxRee0XJtgzTI16BU2zmdRaMXEhs0aFBu+XQaprajula8Z8+eJvjVtkgvYuqItgbyuqOEllvXUnpv3aY0Q7IG4Toir51SfSylo/CajV3Lcv3115sAWS9Ink5F2nJ9LG1rdVaCPmdp69fd7ay2x1p2/VvohQ69wAEAZ0rbUp2Vo0G5BtHaX9P2Wi9qljfo83//93+m7XTT86dPn24uZurAjl781H6fbiWpdOcL3SVEPyMAFaQZ5fhTANVDtx3SkX0dFSuvca8M2nnWzraO1gPwTZp8ThNq6kwc7eQBAHyDLtHU0XJdVuSdELQsus3vjBkzTknsicAVancBgECie5/rtNTU1NRS9/+tLJq8RK/4aqI7AAAAVC9d3qTT23WZTkXoEiFdbgS4MaIOAIBDMaIOAEBgIlAHAAAAAMBBSCYHAAAAAICDEKgDAAAAAOAgBOoAAAAAADgIgToAAAAAAA5CoA4AAAAAgIMQqAMAAAAA4CAE6gAAAAAAOAiBOgAAAAAADkKgDgAAAACAOMf/Ax1gWI8/Sd5rAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig,axs = plt.subplots(1, 3, figsize=(10, 8),sharey=True)\n", + "axs[0].plot(output[\"r\"], output[\"z\"], label=\"Radius\")\n", + "axs[0].set_ylabel(\"Height (m)\")\n", + "axs[0].set_xlabel(\"Radius (um)\")\n", + "axs[0].legend()\n", + "axs[1].plot(output[\"S\"], output[\"z\"], label=\"Supersaturation\")\n", + "axs[1].set_xlabel(\"Supersaturation\")\n", + "axs[1].set_ylabel(\"Height (m)\")\n", + "axs[1].legend()\n", + "axs[2].plot(output[\"t\"], output[\"z\"], label=\"Height\")\n", + "axs[2].set_ylabel(\"Height (m)\")\n", + "axs[2].set_xlabel(\"Time (s)\")\n", + "axs[2].legend()\n", + "plt.tight_layout()" ] } ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "venv", "language": "python", "name": "python3" }, @@ -121,7 +420,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.3" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py index 00586a287a..4c62f9ae3b 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py @@ -7,24 +7,24 @@ def __init__( self, dt, mass_of_dry_air: float, - p0: float, + pcloud: float, initial_water_vapour_mixing_ratio: float, - T0: float, - w: [float, callable], - z0: float = 0, + Tcloud: float, + w: float = 0, + zcloud: float = 0, mixed_phase=False, - variables: Optional[List[str]] = None, + ): super().__init__( dt=dt, mass_of_dry_air=mass_of_dry_air, - p0=p0, + p0=pcloud, initial_water_vapour_mixing_ratio=initial_water_vapour_mixing_ratio, - T0=T0, + T0=Tcloud, w=w, - z0=z0, + z0=zcloud, mixed_phase=mixed_phase, - variables=variables + variables=None ) def advance_parcel_vars(self): @@ -37,7 +37,7 @@ def advance_parcel_vars(self): T = self["T"][0] p = self["p"][0] - dz_dt = self.w((self.particulator.n_steps + 1 / 2) * dt) + self["terminal_velocity"][0] + dz_dt = - self.particulator.attributes["terminal velocity"].to_ndarray()[0]#*dt#formulae.trivia.terminal_velocity(self.particulator.#self.w((self.particulator.n_steps + 1 / 2) * dt) + self["terminal_velocity"][0] water_vapour_mixing_ratio = ( self["water_vapour_mixing_ratio"][0] - self.delta_liquid_water_mixing_ratio / 2 @@ -53,7 +53,7 @@ def advance_parcel_vars(self): self.delta_liquid_water_mixing_ratio / dz_dt / dt ), ) - drhod_dz = drho_dz # TODO #407 + drhod_dz = drho_dz self.particulator.backend.explicit_euler(self._tmp["z"], dt, dz_dt) self.particulator.backend.explicit_euler( diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index e6315dcb2d..e956efce8d 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -9,36 +9,63 @@ from PySDM.dynamics import condensation from PySDM.physics.constants import si from PySDM_examples.Loftus_and_Wordsworth_2021.planet import Planet +from scipy.optimize import fsolve @strict class Settings: def __init__( self, - updraft_velocity: float, - r_dry: float, + # w_avg: float, r_wet: float, - formulae: Formulae, + mass_of_dry_air: float, planet: Planet, + coord: str = "WaterMassLogarithm", + formulae: Formulae = None, ): - self.formulae = formulae or Formulae() + self.formulae = formulae or Formulae( + saturation_vapour_pressure="AugustRocheMagnus", + diffusion_coordinate=coord, + ) const = self.formulae.constants - self.planet = planet self.p0 = planet.p_STP self.RH0 = planet.RH_zref self.kappa = 0.2 self.T0 = planet.T_STP + self.z_half = 150 * si.metres + self.dt = 1 *si.second pvs = self.formulae.saturation_vapour_pressure.pvs_water(self.T0) self.initial_water_vapour_mixing_ratio = const.eps / ( self.p0 / self.RH0 / pvs - 1 ) - self.r_dry = r_dry - self.initial_radius = r_wet + + Rair = (self.formulae.constants.Rv / (1 / self.initial_water_vapour_mixing_ratio + 1) + + self.formulae.constants.Rd / (1 + self.initial_water_vapour_mixing_ratio) + ) + c_p = self.formulae.constants.c_pv / (1 / self.initial_water_vapour_mixing_ratio + 1) + self.formulae.constants.c_pd / ( + 1 + self.initial_water_vapour_mixing_ratio + ) + def f(x): + # return x -273 + return self.initial_water_vapour_mixing_ratio*self.p0*(x/self.T0)**(1/(Rair/c_p)) - self.formulae.saturation_vapour_pressure.pvs_water(x) + + tdews = (fsolve(f, [150,300])) + self.Tcloud = np.max(tdews) + self.Zcloud = (self.T0-self.Tcloud)*c_p/self.formulae.constants.g_std + thstd =self.formulae.trivia.th_std(self.p0, self.T0) + + self.pcloud = self.formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio( + self.p0, thstd, self.initial_water_vapour_mixing_ratio, self.Zcloud) + + # self.w_avg = w_avg + self.r_wet = r_wet + # self.N_STP = N_STP + # self.n_in_dv = N_STP / const.rho_STP * mass_of_dry_air + self.mass_of_dry_air = mass_of_dry_air self.n_output = 500 self.rtol_x = condensation.DEFAULTS.rtol_x self.rtol_thd = condensation.DEFAULTS.rtol_thd self.coord = "volume logarithm" - self.dt_cond_range = condensation.DEFAULTS.cond_range - self.w = updraft_velocity + self.dt_cond_range = condensation.DEFAULTS.cond_range \ No newline at end of file diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py index 1445505ae3..f99e3b8d7d 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py @@ -7,20 +7,15 @@ from PySDM.environments import Parcel from PySDM.initialisation import equilibrate_wet_radii from PySDM.physics import constants as const +from PySDM_examples.Loftus_and_Wordsworth_2021.parcel import AlienParcel ## General simulation from Arabas and Shima 2017, also looking at Graf et al. 2019 #Need to edit Parcel in here to change dz into w +terminalv (should this be a w function? an option?) # Some of this is probably not needed, not sure what yet - class Simulation: def __init__(self, settings, backend=CPU): - dt_output = settings.dt - self.n_substeps = 1 - while dt_output / self.n_substeps >= settings.dt_max: - self.n_substeps += 1 - builder = Builder( backend=backend( formulae=settings.formulae, @@ -31,13 +26,13 @@ def __init__(self, settings, backend=CPU): ), ), n_sd=1, - environment=Parcel( - dt=dt_output / self.n_substeps, + environment=AlienParcel( + dt=settings.dt, #dt_output / self.n_substeps, mass_of_dry_air=settings.mass_of_dry_air, - p0=settings.p0, + pcloud=settings.pcloud, + zcloud= settings.Zcloud, initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio, - T0=settings.T0, - w=settings.w, + Tcloud=settings.Tcloud, ), ) @@ -49,14 +44,17 @@ def __init__(self, settings, backend=CPU): dt_cond_range=settings.dt_cond_range, ) ) + builder.request_attribute("terminal velocity") + attributes = {} - r_dry = np.array([settings.r_dry]) + r_dry = 1e-10 #np.array([settings.r_dry]) attributes["dry volume"] = settings.formulae.trivia.volume(radius=r_dry) attributes["kappa times dry volume"] = attributes["dry volume"] * settings.kappa - attributes["multiplicity"] = np.array([1]) + attributes["multiplicity"] = np.array([1], dtype=np.int64) + # attributes["terminal velocity"] = np.array([0.0]) environment = builder.particulator.environment - attributes["volume"] = settings.formulae.trivia.volume(radius=settings.initial_radius) - + r_wet = settings.r_wet + attributes["volume"] = settings.formulae.trivia.volume(radius=r_wet) products = [ PySDM_products.MeanRadius(name="radius_m1", unit="um"), PySDM_products.ParcelDisplacement(name="z"), @@ -66,13 +64,13 @@ def __init__(self, settings, backend=CPU): self.particulator = builder.build(attributes, products) - self.n_output = settings.n_output def save(self, output): cell_id = 0 output["r"].append( self.particulator.products["radius_m1"].get(unit=const.si.m)[cell_id] ) + output["z"].append(self.particulator.products["z"].get()[cell_id]) output["S"].append(self.particulator.products["RH"].get()[cell_id] / 100 - 1) output["t"].append(self.particulator.products["t"].get()) @@ -86,8 +84,9 @@ def run(self): } self.save(output) - for _ in range(self.n_output): - self.particulator.run(self.n_substeps) + while self.particulator.environment["z"][0] >0 and self.particulator.attributes["volume"][0] > 1e-30: + print(self.particulator.environment["z"][0]) + self.particulator.run(1) self.save(output) return output \ No newline at end of file From 389eee10e7d178e60e9ed28e8152587aff8afc17 Mon Sep 17 00:00:00 2001 From: emmacware Date: Thu, 5 Jun 2025 16:15:01 +0200 Subject: [PATCH 10/28] cloudbase fix --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 496 +++++++++--------- .../Loftus_and_Wordsworth_2021/settings.py | 11 +- .../Loftus_and_Wordsworth_2021/simulation.py | 2 +- 3 files changed, 250 insertions(+), 259 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 8902dc5ea1..7663ea7bea 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -8,6 +8,7 @@ "outputs": [], "source": [ "import PySDM.products as PySDM_products\n", + "import numpy as np\n", "from PySDM import Builder\n", "from PySDM import Formulae\n", "from PySDM_examples.Lowe_et_al_2019.constants_def import LOWE_CONSTS\n", @@ -21,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 2, "id": "2fb6b5aa", "metadata": {}, "outputs": [], @@ -35,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "92a3a574", "metadata": {}, "outputs": [], @@ -50,29 +51,203 @@ ")\n" ] }, + { + "cell_type": "code", + "execution_count": 4, + "id": "41f0ed6d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "300.0" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_Earth = EarthLike()\n", + "new_Earth.T_STP" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "15afecf6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9999680769614427\n" + ] + } + ], + "source": [ + "settings = Settings( \n", + " planet=EarthLike(),\n", + " r_wet= 1e-4*si.m,\n", + " mass_of_dry_air= 1e5*si.kg,\n", + " coord= \"WaterMassLogarithm\",\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "a204f0b1", + "metadata": {}, + "outputs": [], + "source": [ + "# from scipy.optimize import fsolve\n", + "\n", + "# pvs = settings.formulae.saturation_vapour_pressure.pvs_water(settings.T0)\n", + "# initial_water_vapour_mixing_ratio = settings.formulae.constants.eps / (settings.p0 / settings.RH0 / pvs - 1\n", + "# )\n", + "# def mix(dry,vap,ratio):\n", + "# return (dry + ratio * vap)/(1 + ratio)\n", + "\n", + "# const = settings.formulae.constants\n", + "# Rair = mix(const.Rd,const.Rv,initial_water_vapour_mixing_ratio)\n", + "# c_p = mix(const.c_pd,const.c_pv,initial_water_vapour_mixing_ratio)\n", + "\n", + "# def f(x):\n", + "# return initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio+ const.eps)*settings.p0*(x/settings.T0)**(c_p/Rair\n", + "# ) - settings.formulae.saturation_vapour_pressure.pvs_water(x)\n", + " \n", + "# tdews = (fsolve(f, [150,300]))\n", + "# Tcloud = np.max(tdews)\n", + "# Zcloud = (settings.T0-settings.Tcloud)*c_p/settings.formulae.constants.g_std\n", + "# thstd =settings.formulae.trivia.th_std(settings.p0, settings.T0)\n", + "\n", + "# pcloud = settings.formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio(settings.p0, \n", + "# thstd, settings.initial_water_vapour_mixing_ratio, settings.Zcloud)\n", + "# print(Tcloud, Zcloud, pcloud)\n", + "# print(settings.RH0)" + ] + }, { "cell_type": "code", "execution_count": 7, "id": "3249b65e", "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9999444893251528\n" + ] + }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/emmaware/PySDM/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py:53: RuntimeWarning: The iteration is not making good progress, as measured by the \n", " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n" + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "348.74625129556915\n", + "342.25625129556914\n", + "335.7662521076893\n", + "329.2762552973796\n", + "322.7862624287392\n", + "316.2962750645159\n", + "309.8062947661054\n", + "303.3163187806435\n", + "296.8263478874779\n", + "290.33638286527827\n", + "283.84643778982917\n", + "277.35650014067284\n", + "270.8665871001094\n", + "264.37669201735326\n", + "257.8868115658993\n", + "251.39694690765174\n", + "244.90710485484263\n", + "238.41728091601283\n", + "231.927482674259\n", + "225.4377116733831\n", + "218.94796945582993\n", + "212.45825756268695\n", + "205.96857753368383\n", + "199.47893090719225\n", + "192.9893192202256\n", + "186.49974400843877\n", + "180.01020205496297\n", + "173.52069470107952\n", + "167.0312284210905\n", + "160.54179941972401\n", + "154.05240903468206\n", + "147.56306430998802\n", + "141.0737608734989\n", + "134.58450614820222\n", + "128.0952953782234\n", + "121.60613636483201\n", + "115.11703062872523\n", + "108.62797283970369\n", + "102.13896432591729\n", + "95.65000641432096\n", + "89.16110043067467\n", + "82.67225530698794\n", + "76.1834725557977\n", + "69.69474570287817\n", + "63.2060760692111\n", + "56.71747333723371\n", + "50.22893901404632\n", + "43.74047460539127\n", + "37.25208161565321\n", + "30.76376154785937\n", + "24.27551590367993\n", + "17.78734618342835\n", + "11.299253886061756\n", + "4.811240509181237\n" ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAABEuklEQVR4nO3dCVzU1f7/8Te7goDiAqLgviu4lZrWzTRNzatpmWZlXf9api1qVpa3rnaverXFrMzb/XXbzaUyy7IyTa1cU3DN3dzBlUWUdeb/+B6DpLQEge/M8Ho+HhOcmS/D+SbMvDnfcz7Hy+l0OgUAAOBCvO3uAAAAwG8RUAAAgMshoAAAAJdDQAEAAC6HgAIAAFwOAQUAALgcAgoAAHA5BBQAAOByfOWGHA6Hjhw5ouDgYHl5edndHQAAcBms2rCpqamKjIyUt7e35wUUK5xERUXZ3Q0AAFAIBw8eVPXq1T0voFgjJ7knGBISYnd3AADAZUhJSTEDDLnv4x4XUHIv61jhhIACAIB7uZzpGUySBQAALoeAAgAAXA4BBQAAuBwCCgAAcDkEFAAA4HIIKAAAwOUQUAAAgMshoAAAAPcOKK+99ppiYmLyCqS1a9dOixYtynv8+uuvN8VXLrzdf//9+Z7jwIED6tGjhwIDA1WlShWNGTNG2dnZRXdGAADA7RWokqxVN3/y5MmqV6+e2fDn7bffVq9evRQXF6cmTZqYY4YMGaIJEybkfY0VRHLl5OSYcBIREaGVK1fq6NGjuvvuu+Xn56eJEycW5XkBAAA35uW0ksYVCAsL09SpUzV48GAzgtK8eXNNmzbtosdaoy0333yz2ewvPDzc3Ddz5kw9/vjjOn78uPz9/S+7ln9oaKiSk5MpdQ8AgJsoyPt3oeegWKMhs2fPVlpamrnUk+v9999XpUqV1LRpU40dO1Znz57Ne2zVqlVq1qxZXjixdO3a1XR469atl/xeGRkZ5pgLbwAAwHMVeLPAzZs3m0CSnp6ucuXKaf78+WrcuLF57I477lCNGjUUGRmpTZs2mZGRHTt26OOPPzaPJyQk5Asnlty29dilTJo0SePHjy9oVwEAQAEdPHVWT32yRU92b6iGESHuE1AaNGig+Ph4Mzzz4YcfatCgQVq+fLkJKUOHDs07zhopqVq1qjp16qQ9e/aoTp06he6kNRIzatSo323XDAAAioY142POuoN6duE2pWXm6Fxmtubdf43cJqBY80Tq1q1rPm/VqpXWrVunl156Sf/5z39+d2ybNm3Mx927d5uAYk2OXbt2bb5jEhMTzUfrsUsJCAgwNwAAUPQSktP1xMebtGzHcdO+qmYFTb01Vm5dB8XhcJg5IhdjjbRYrJEUi3VpyLpEdOzYsbxjFi9ebCbK5F4mAgAAJTdq8kncYXV5cbkJJ/6+3nqqeyPNHtpONSsFyU6+Bb3U0q1bN0VHRys1NVWzZs3SsmXL9NVXX5nLOFa7e/fuqlixopmDMnLkSF133XWmdoqlS5cuJojcddddmjJlipl3Mm7cOA0fPpwREgAAStCJMxl6av5mfbX1/JWMmOqheqFfrOpWCZYrKFBAsUY+rLolVv0Sa5mQFTyscHLjjTfq4MGD+uabb8wSY2tljzVHpG/fviaA5PLx8dHChQs1bNgwM5oSFBRk5rBcWDcFAAAUry+3HNWT87foVFqmfL299HCnehp2fR35+nh7Th0UO1AHBQCAgks+m6VnPt2iT+KPmHbDiGA93y9WTSJD5Wrv3wWeJAsAANzPtzuO6YmPNikxJUPeXjIjJg91qqcAXx+5IgIKAAAe7ExGtv71+TZ9sPagadeuFGRGTVpEV5ArI6AAAOChVu89qUfnbdSh0+dM+2/ta2lM1wYq6++aoyYXIqAAAOBh0rNyNPWrHfrfD/tkzTStVr6snrstVu3qVJS7IKAAAOBB4g8madTceO09nmba/a+K0lM9Gim4jJ/cCQEFAAAPkJnt0MtLd2nGsj3KcThVJThA/+4bo44Nq8gdEVAAAHBz2xNSNGrORm07mmLaf42N1IReTVQ+0F/uioACAICbynE49fqKvXph8Q5l5ThVIdBP/+zdTD1izm8x484IKAAAuKGfT6Rp9LyNWr//tGl3blRFE/s0U5XgMvIEBBQAANyI0+nUe6v3a+IX23UuK0flAnz1dM/Guq1VdXl5eclTEFAAAHATR5PP6bEPN+m7XSdMu13tipp6W4yqVwiUpyGgAADgBqMm8+MO65lPtyo1PVsBvt56oltDDWpXU95W3XoPREABAMCFnTyToafmb9GXWxNMOzaqvF7oF6s6lcvJkxFQAABwUV9vTdCT8zfrxJlM+fl46eFO9XT/X+rI18dbno6AAgCAi0lJz9KEz7bpw/WHTLtBeLBeuD1WTSJDVVoQUAAAcCEr95zQmHmbdDjpnKxFOUOvq61RN9ZXgK/rb/BXlAgoAAC4yAZ/U748v8GfJTosUM/3i9VVNcNUGhFQAACw2cZfNvjb88sGf3e0idZT3RspKKD0vk2X3jMHAMBmWTkOvbJ0t175dvevG/zdGqOODdxzg7+iREABAMAGu4+lauScjdp8ONm0e8ZG6lk33+CvKBFQAAAoQQ6HU2+t/Fn//nK7MrIdCi3rp2d7NzU7EONXBBQAAEqItTLn0bkbtWrvSdP+S/3KmnJrjMJDPGODv6JEQAEAoARK1X+04bDGW6XqM7JV1s9HT/VopIFtoj1qg7+iREABAKCYS9Vb1WC/2ppo2i2jrVL1zVWzUpDdXXNpBBQAAIrJ4m2JGvvxprxS9Y90rq/7rqtdKkrVXykCCgAARSw1PUvPLtymuT+W3lL1V4qAAgBAEVqz96RGz9uoQ6fPl6ofcm1tje5S+krVXykCCgAARVSq/oXFO/Xf7/bK6ZSqVyir52+LVZvaFe3umlsioAAAcIW2HUnRyDnx2pGYatr9WlfX329urOAyfnZ3zW0RUAAAKCSrPP1/VuzRi4t3KivHqYpB/prUp5m6NImwu2tuj4ACAEAh7D+ZptFzN+rH/adN+8bG4SacVCoXYHfXPAIBBQCAAhZdm73uoFmlczYzR+UCfPVMz8a6tVV1iq4VIQIKAACX6Xhqhp74aJOWbD9m2lfXCjMTYaPCAu3umschoAAAcBm+2pqgsR9v1qm0TPn7eOvRrvU1uENt+XgzalIcCCgAAPxJ0bUJn23TvPXni641jAjWtP7N1TAixO6ueTQCCgAAl1l07b7r6mjkjfUoulYCCCgAAPxGRvb5omuvr/i16Jq1wZ815wQlo0C7Fb322muKiYlRSEiIubVr106LFi3Kezw9PV3Dhw9XxYoVVa5cOfXt21eJied3b8x14MAB9ejRQ4GBgapSpYrGjBmj7OzsojsjAACuwPaEFPV65Qf9Z/n5cGIVXVv08LWEE1ceQalevbomT56sevXqmWVWb7/9tnr16qW4uDg1adJEI0eO1Oeff6558+YpNDRUI0aMUJ8+ffTDDz+Yr8/JyTHhJCIiQitXrtTRo0d19913y8/PTxMnTiyucwQA4E85HE698f0+Tf1qhzJzHAoL8tdkiq7ZxstpJY0rEBYWpqlTp+rWW29V5cqVNWvWLPO5Zfv27WrUqJFWrVqltm3bmtGWm2++WUeOHFF4eLg5ZubMmXr88cd1/Phx+fv7X9b3TElJMQEoOTnZjOQAAHAlDp0+q0fnbdTqvadMu1PDKprcN0aVgym6VpQK8v5doEs8F7JGQ2bPnq20tDRzqWf9+vXKyspS586d845p2LChoqOjTUCxWB+bNWuWF04sXbt2NR3eunXrJb9XRkaGOebCGwAAV8r6G/3jDYfUbdp3JpwE+vuYUZP/G9SacOJuk2Q3b95sAok138SaZzJ//nw1btxY8fHxZgSkfPny+Y63wkhCQoL53Pp4YTjJfTz3sUuZNGmSxo8fX9CuAgBwSafTMjXuky36fPNR024ZXd5MhK1ZKcjurqEwAaVBgwYmjFjDMx9++KEGDRqk5cuXF0/vfjF27FiNGjUqr22NoERFRRXr9wQAeK7lO49rzLyNOpaaIV9vLz3SuZ7u/0sd+foU+sIC7A4o1ihJ3bp1zeetWrXSunXr9NJLL+n2229XZmamkpKS8o2iWKt4rEmxFuvj2rVr8z1f7iqf3GMuJiAgwNwAALgS5zJzNGnRT3pn1X7TrlM5SNNub6Fm1UPt7hp+44qjosPhMHNErLBircZZsmRJ3mM7duwwy4qtS0IW66N1iejYsfN7GFgWL15sJspYl4kAACgumw4lqcfL3+WFk3uuqanPH7qWcOIJIyjWpZZu3bqZia+pqalmxc6yZcv01VdfmVm5gwcPNpdirJU9Vuh48MEHTSixVvBYunTpYoLIXXfdpSlTpph5J+PGjTO1UxghAQAUh+wch15btkcvLdmlbIdT4SEBmnprrK6rX9nurqGoAoo18mHVLbHql1iBxCraZoWTG2+80Tz+4osvytvb2xRos0ZVrBU6M2bMyPt6Hx8fLVy4UMOGDTPBJSgoyMxhmTBhQkG6AQDAZdl/Mk0j58Rrw4Ek0+7RrKr+dUtTlQ+8vLIWcOM6KHagDgoA4I9Yb21z1h3UhIXbdDYzR8EBvprQu4l6N68mL2tTHbj8+zd78QAAPMqJMxka+/FmLd52fhFGm1pher5frKpXCLS7aygAAgoAwGMs3Z6oxz7cpBNnMuXn46VHuzTQ/7u2tny8GTVxNwQUAIDbO5uZrX9+/pNmrTlg2vXDy5nlw40jmQbgrggoAAC3tvFgkh6ZE699J9JMe3CHWhrTtYHK+PnY3TVcAQIKAMBtlw/P+GX5cI7DqYiQMmauSfu6lezuGooAAQUA4P7Lh2Oq6l+9WT7sSQgoAAC3Wj4878dDGv/ZVqWxfNijEVAAAG7hVFqmxn68SV9tPb98+OpaYXqB5cMei4ACAHCL3YcfnbdRx1MzzPLh0V0aaAjLhz0aAQUA4LLSs3I0edF2vbXyZ9OuW8VaPtxcTauxwZ+nI6AAAFzSlsPJZvnw7mNn8nYffqJbQ5YPlxIEFACAS7GWDP/3u716/usdyspxqnKwtftwjK5vUMXurqEEEVAAAC7jcNI5jZ4br9V7T5l2l8bhmtw3RmFBLB8ubQgoAACXsCD+sMZ9skWp6dkK9PfRMz0bq1/rKJYPl1IEFACArZLPZenpBVu0IP6IaTePKm8mwtasFGR312AjAgoAwDar957U6LkbzaUda8nwiI519eANdeXr421312AzAgoAoMRlZjv04jc7NXP5HjmdUnRYoKb1b66W0RXs7hpcBAEFAFCirGXDj8yJ05bDKabdr3V1Pd2zicoF8JaEX/HTAAAosX103ltzQP/6fJvSsxwqH+inyX2a6aamVe3uGlwQAQUAUOysEvWPf7RJS7cfM+0OdSvpudtiFRFaxu6uwUURUAAAxWrp9kQ99uEmnTiTKX9fbz1+U0Pde01NebOPDv4AAQUAUCzOZeZo4hc/6d3V+027QXiwXhrQXA0jQuzuGtwAAQUAUOS2HknWw7N/3Ufnb+1r6bGbGrCPDi4bAQUAUGQcDqf+7/u9mvrVr/voPH9brK6rX9nursHNEFAAAEXiaLK1j85Grdxz0rTZRwdXgoACALhiX2w+qrEfbzZl68v6nd9H5/ar2EcHhUdAAQAU2pmMbI3/dKvmrT9k2jHVQ80+OrUrl7O7a3BzBBQAQKHEHTitR+bEa//Js7IGSoZfX1cPd64nP/bRQREgoAAACiTH4dSMb3dr2pJd5vNq5cvqhX6xalO7ot1dgwchoAAALtvBU2c1am681v182rR7xkbqn72bKrSsn91dg4choAAALsuC+MMaN3+LUjOyzcZ+z/Zuot7NqzERFsWCgAIA+EMp6Vl6+pMt+iT+iGm3qlHBTISNCgu0u2vwYAQUAMAl/fjzKVMR9nDSOVlb5zzUqZ5GdKwrXybCopgRUAAAv5Od49D0pbv1ytJdcjilqLCyZtSkVY0wu7uGUoKAAgDI58DJs3p4TpziDiSZdp8W1TS+VxMFl2EiLEoOAQUAYDidTs2PO6ynF2w1BdiCy/iaFTq9mlezu2sohQgoAABTov7vn2zRpxvPT4S9qmYFvXh7c1WvwERY2KNAs5wmTZqkq666SsHBwapSpYp69+6tHTt25Dvm+uuvN0vOLrzdf//9+Y45cOCAevToocDAQPM8Y8aMUXZ2dtGcEQCgQNb9fErdX/rOhBMfby+NvrG+Zg9tRziB+4ygLF++XMOHDzchxQoUTz75pLp06aJt27YpKCgo77ghQ4ZowoQJeW0riOTKyckx4SQiIkIrV67U0aNHdffdd8vPz08TJ04sqvMCAFzORNglu/TKt7vNRNjosEBN699cLaMr2N01QF5O66JjIR0/ftyMgFjB5brrrssbQWnevLmmTZt20a9ZtGiRbr75Zh05ckTh4eHmvpkzZ+rxxx83z+fv/+fbcqekpCg0NFTJyckKCQkpbPcBoNT67UTYvi2r6x9/bcxEWBSrgrx/X9FCdusbWMLC8i87e//991WpUiU1bdpUY8eO1dmzZ/MeW7VqlZo1a5YXTixdu3Y1nd66detFv09GRoZ5/MIbAKBw5scdUvfp35lwYk2EnT6ghZ7vF0s4gWdMknU4HHrkkUfUvn17E0Ry3XHHHapRo4YiIyO1adMmMzJizVP5+OOPzeMJCQn5woklt209dqm5L+PHjy9sVwEAv1SEtSbCLvilIiwTYeGRAcWai7JlyxZ9//33+e4fOnRo3ufWSEnVqlXVqVMn7dmzR3Xq1CnU97JGYUaNGpXXtkZQoqKiCtt1ACh11u8/XxH20OlzZiLsw53q6YHr61ARFp4VUEaMGKGFCxdqxYoVql69+h8e26ZNG/Nx9+7dJqBYk2PXrl2b75jExETz0XrsYgICAswNAFDwibDWJFhrMuyvFWFbmP10AFdWoOhszae1wsn8+fO1dOlS1apV60+/Jj4+3ny0RlIs7dq10+bNm3Xs2LG8YxYvXmwmyzRu3LjgZwAAuKiDp86q/+urNe2b8+HklhbV9MVD1xJO4HkjKNZlnVmzZmnBggWmFkrunBFrRm7ZsmXNZRzr8e7du6tixYpmDsrIkSPNCp+YmBhzrLUs2Qoid911l6ZMmWKeY9y4cea5GSUBgKJh1TR56uPNSs3IVrmA8xVhe7egIiw8dJmxVXTtYt58803dc889OnjwoO68804zNyUtLc3ME7nllltMALlwOdH+/fs1bNgwLVu2zNRPGTRokCZPnixf38vLSywzBoCLs0rUP7Ngqz7acMi0W0SX10u3t1B0RSbCwn4Fef++ojoodiGgAMDvxR9M0sOz47T/5Fl5e0kjOtbVQ53qMREWbvn+zV48AODmchxO/WfFHr3w9U5lO5yKDC2jaf1b6Opa+WtUAe6EgAIAbiwhOV0j58Rr1d6Tpt2jWVVNvKWZQgMpugb3RkABADf11dYEPf7RJiWdzVKgv4/+8dcmuq1V9UvOFwTcCQEFANzMucwc/fPzbXp/zQHTblYtVC/1b67alcvZ3TWgyBBQAMCN/HQ0RQ99EKddx86Y9n1/qa3RNzaQvy8TYeFZCCgA4AasBZdvr/xZExdtV2a2Q1WCA/RCv+bqUK+S3V0DigUBBQBc3MkzGRrz4SYt3X6+AnenhlU05dYYVSxHcUt4LgIKALiw73Yd16i5G3U8NcNcxnmqeyPd3a4GE2Hh8QgoAOCCrMs4z329Q6+v2Gva9aqU0/QBLdSoKsUpUToQUADAxew7kWYmwm4+nGzad7aN1rgejVXGz8furgElhoACAC40EfbD9Yf0zKdbdTYzR+UD/TSlb4y6NImwu2tAiSOgAIALSEnP0rj5W8wuxJa2tcP04u3NVTW0rN1dA2xBQAEAm204cNps8nfw1Dn5eHtp1I31df9f6pjPgdKKgAIANm7yN3P5Hr2weKf5vHqFsmYibMvoCnZ3DbAdAQUAXGCTv7/GRuqftzRVSBk2+QMsBBQAKGGLtyVqzIcb8zb5m9Crqfq2rEZtE+ACBBQAKCHpWTma+MVPemfVftNuWi1E0/u3YJM/4CIIKABQAnYlpurBD+K0PSHVtP9fh1oac1MDBfhS2wS4GAIKABRzbZMP1h7UhIVblZ7lUKVy/nrutlhd36CK3V0DXBoBBQCKSfLZLD3x8SYt2pJg2tfWq6Tn+8WqSnAZu7sGuDwCCgAUg3U/n9LDH8TpSHK6fL299NhNDfT/OtSWN7VNgMtCQAGAImTVM3ll6W69tGSnHE6pRsVAMxE2Nqq83V0D3AoBBQCKyNHkc3p4drzW7jtl2n1aVNOE3k1VLoCXWqCg+K0BgCLw9dYEPfbRJlPbJMjfR8/2bqo+Lavb3S3AbRFQAOAKa5tM+uInvf1LbZNm1UL18oAWqlkpyO6uAW6NgAIAhbT7WKpGzPq1tsmQa2tpTNeG8vf1trtrgNsjoABAIWqbzP3xoP7x6Tady8pRxSB/PdcvVh2pbQIUGQIKABRASnqWnvx4sxZuOmraHepW0gu3U9sEKGoEFAC4THEHTuuh2XE6eOqcqW0yuksD3XcdtU2A4kBAAYA/4XA49Z8Ve/X81zuU7XAqKqysqW3SIrqC3V0DPBYBBQD+wLHUdI2eu1Hf7Tph2jfHVNXEPs0UUsbP7q4BHo2AAgCXsGLncY2aG68TZzJVxs9b4//aRP1aR8nLi0s6QHEjoADAb2RmO8zlHOuyjqVhRLCpbVIvPNjurgGlBgEFAC5w4ORZPTg7ThsPJpn2XW1r6KkejVTGz8furgGlCgEFAH7x2cYjZglxaka2Qsr4asqtsbqpaYTd3QJKJQIKgFLvXGaOxn+2VbPXHTTt1jUqaFr/5qpeIdDurgGlFgEFQKm2PSHFlKvffeyMrLmvw6+vq0c615OvD+XqATsV6Ddw0qRJuuqqqxQcHKwqVaqod+/e2rFjR75j0tPTNXz4cFWsWFHlypVT3759lZiYmO+YAwcOqEePHgoMDDTPM2bMGGVnZxfNGQHAZZarf3/NfvV65QcTTioHB+j9wW30aNcGhBPABRTot3D58uUmfKxevVqLFy9WVlaWunTporS0tLxjRo4cqc8++0zz5s0zxx85ckR9+vTJezwnJ8eEk8zMTK1cuVJvv/223nrrLT399NNFe2YAcAnJ57I0fNYGPTV/izKyHbq+QWUtevhaXVO3kt1dA/ALL6f1Z0QhHT9+3IyAWEHkuuuuU3JysipXrqxZs2bp1ltvNcds375djRo10qpVq9S2bVstWrRIN998swku4eHh5piZM2fq8ccfN8/n7+//p983JSVFoaGh5vuFhIQUtvsASqENB07rwVlxOpx0vlz94zc11OAOtShXD5SAgrx/X9E4pvUNLGFhYebj+vXrzahK586d845p2LChoqOjTUCxWB+bNWuWF04sXbt2NZ3eunXrRb9PRkaGefzCGwAUtFz9a8v26LaZq0w4iQ4L1EfDrtEQ9tIBPGuSrMPh0COPPKL27duradOm5r6EhAQzAlK+fPl8x1phxHos95gLw0nu47mPXWruy/jx4wvbVQCl3PHUDFMRlnL1QCkIKNZclC1btuj7779XcRs7dqxGjRqV17ZGUKKioor9+wJwf9/vOqFH5ljl6jNMufp/9Gyi26+iXD3gkQFlxIgRWrhwoVasWKHq1avn3R8REWEmvyYlJeUbRbFW8ViP5R6zdu3afM+Xu8on95jfCggIMDcAuFzZOQ69+M1OzVi2R9ZMu/rh5fTKHS1Vn3L1gFso0BwUaz6tFU7mz5+vpUuXqlatWvkeb9Wqlfz8/LRkyZK8+6xlyNay4nbt2pm29XHz5s06duxY3jHWiiBrskzjxo2v/IwAlHrWHJP+r6/Wq9+eDycDro7WguEdCCeAp46gWJd1rBU6CxYsMLVQcueMWDNyy5Ytaz4OHjzYXI6xJs5aoePBBx80ocRawWOxliVbQeSuu+7SlClTzHOMGzfOPDejJACu1FdbE/TYh5vMUuLgAF8z16RnbKTd3QJQnMuML3XN9s0339Q999yTV6ht9OjR+uCDD8zqG2uFzowZM/Jdvtm/f7+GDRumZcuWKSgoSIMGDdLkyZPl63t5eYllxgB+KyM7R5O+2K63Vv5s2rHVQ/XygJaKrki5esBVFOT9+4rqoNiFgALgQvtOpGnErA3aeuR8CYIh19bSmK4N5e9LRVjAXd+/2YsHgFtbEH/Y7ECclpmjCoF+er5frG5omL+UAQD3Q0AB4LY7EP/j062a8+P5HYivrhWm6f1bKCK0jN1dA1AECCgA3M7OxFQNf3+Ddv2yA/GDN9TTQzfUZZM/wIMQUAC4DWvK3Jx1B/WPz7YqPcuhKsEBmta/ua6pwyZ/gKchoABwC6npWXpy/hZ9tvGIaV9Xv7Je6BerSuUoTwB4IgIKAJe35XCyWaXz88mz8vH20piuDTT0Wjb5AzwZAQWAS1/SeXvlz5r4xXZl5jhUrXxZTR/QQq1qVLC7awCKGQEFgEtKPpulxz7aqK+2nt+rq0vjcE29NVahgexADJQGBBQALmfDgdN6cFac2VPH38dbT3ZvqEHX1GQHYqAUIaAAcBkOh1P/9/1eTflyh7IdTtWoGKhXBrRUs+qhdncNQAkjoABwCafSMjV6bry+3XHctG+OqapJfZopuAyXdIDSiIACwHZr9p7UQ7PjlJiSoQBfbz3Ts4kGXB3FJR2gFCOgALBNjsOpGd/u1ovf7JTDKdWpHKRX7mipRlXZBBQo7QgoAGxxPDVDI+fE6/vdJ0y7T8tqerZXUwUF8LIEgIACwAYrd5/Qw3PiTUgp6+ejZ3s31a2tqtvdLQAuhIACoEQv6by0ZJdeXrpLTqdUP7ycXr2jpeqFB9vdNQAuhoACoEQkpqTr4dlxWr33lGn3vyrKTIYt6+9jd9cAuCACCoBit2LncTPf5GRapoL8fTSxTzP1al7N7m4BcGEEFADFJjvHYVbozFi2x1zSsVbnvHpHC9WuXM7urgFwcQQUAMUiITldD30Qp7U/n7+kM7BNtP5+c2OV8eOSDoA/R0ABUOSW7TimUXM3muqw5QJ8NblvM90cE2l3twC4EQIKgCK9pPP84p16bdke024SaV3SaamalYLs7hoAN0NAAVAkjiSdM5d0ftx/2rTvbldDT3ZvxCUdAIVCQAFwxZZuTzSXdJLOZik4wFf/vjVG3ZtVtbtbANwYAQVAoWXlOPTc1zv0n+V7TbtptfOXdGpU5JIOgCtDQAFQ6Es6D34Qp/W/XNIZZF3S6dFIAb5c0gFw5QgoAArs2+3HNHJufN4lnSm3xqgbl3QAFCECCoBCX9JpVi1Ur9zRgks6AIocAQXAZeGSDoCSREABUOBLOqzSAVDcCCgA/vCSzvNf79TM5ecLr7FKB0BJIaAAuOReOg9+sEHrfv618NpTXNIBUEIIKAB+Z/nO4xo5Jz5vL51/941Rjxgu6QAoOQQUAPn20nnxm5169dvzl3QaVw3RjIHspQOg5BFQABiJKelmL501+06Z9p1tozWuR2P20gFgCwIKAH2/64QemROnE2cyFeTvo0l9Y/TX2Ei7uwWgFCOgAKVYjsOp6Ut2afrSXXI6pYYRweaSTu3K5ezuGoBSzrugX7BixQr17NlTkZGR8vLy0ieffJLv8Xvuucfcf+HtpptuynfMqVOnNHDgQIWEhKh8+fIaPHiwzpw5c+VnA+CyHU/N0N3/W6OXlpwPJwOujtYnw9sTTgC45whKWlqaYmNj9be//U19+vS56DFWIHnzzTfz2gEBAfket8LJ0aNHtXjxYmVlZenee+/V0KFDNWvWrMKcA4ACWrXnpB6aHWdCSqC/jybe0ky9W1Szu1sAUPiA0q1bN3P7I1YgiYiIuOhjP/30k7788kutW7dOrVu3Nve9/PLL6t69u5577jkzMgOgeDgcTr22fI+e/3qHHE6pfng5zRjYSnWrMGoCwM0v8VyOZcuWqUqVKmrQoIGGDRumkydP5j22atUqc1knN5xYOnfuLG9vb61Zs+aiz5eRkaGUlJR8NwAFY9U0ufetdZr61flwcmur6lowvAPhBEDpmCRrXd6xLv3UqlVLe/bs0ZNPPmlGXKxg4uPjo4SEBBNe8nXC11dhYWHmsYuZNGmSxo8fX9RdBUqNH38+pRGz4pSQkq4yft6a0Kup+rWOsrtbAFByAaV///55nzdr1kwxMTGqU6eOGVXp1KlToZ5z7NixGjVqVF7bGkGJiuLFFfgzTqdT//1ur/795Q6zYqd25SCzSqdhRIjdXQMAe5cZ165dW5UqVdLu3btNQLHmphw7dizfMdnZ2WZlz6XmrVhzWn470RbAH0s6m6lH523UNz+d/33r1TxS/7qlmSldDwCurthfqQ4dOmTmoFSten4fj3bt2ikpKUnr169Xq1atzH1Lly6Vw+FQmzZtirs7QKmw8WCSHnh/gw4nnZO/r7eevrmxBraJNsv+AcAjA4pVr8QaDcm1b98+xcfHmzkk1s2aK9K3b18zGmLNQXnsscdUt25dde3a1RzfqFEjM09lyJAhmjlzpllmPGLECHNpiBU8wJVf0nln1X798/NtyspxKjos0FzSaVot1O6uAUCBeDmtV7QCsOaSdOzY8Xf3Dxo0SK+99pp69+6tuLg4M0piBY4uXbro2WefVXh4eN6x1uUcK5R89tlnZvWOFWimT5+ucuUubzWBNQclNDRUycnJptgbACk1PUtPfLRZn28+atpdm4Rr6m2xCinjZ3fXAKDA798FDiiugIAC5LftSIqGz9qgfSfS5OvtpbHdG+lv7WtySQeA275/M1sOcGPW3xdzfzyopxdsVUa2Q5GhZfTKwJZqGV3B7q4BwBUhoABu6mxmtsZ9skUfbzhs2tc3qKwX+zVXhSB/u7sGAFeMgAK4od3HzuiB99drZ+IZeXtJo7s00LC/1JG31QAAD0BAAdzMpxuPaOxHm5SWmaNK5QL08oAWalenot3dAoAiRUAB3ERGdo6eXbhN760+YNpta4dp+oAWqhJcxu6uAUCRI6AAbuDgqbNmlc6mQ8mmPbxjHY3sXF++PsWy3ycA2I6AAri4xdsSNXpuvFLSs1U+0E8v3t5cHRvk33ATADwNAQVwUdk5Dk39eof+s3yvaTePKq9XB7ZUtfJl7e4aABQ7AgrgghJT0vXgrDit/fmUad/bvqbGdmtk9tUBgNKAgAK4mJW7T+ih2XE6cSbT7Dw85dYYdW92frNNACgtCCiAi3A4nJqxbLdeWLxTDqfUMCLYbPRXu/Ll7VEFAJ6EgAK4gNNpmRo5N17Ldhw37dtaVdeEXk1V1t/H7q4BgC0IKIDN4g6c1ohZcTqcdE4Bvt56tldT9bsqyu5uAYCtCCiAjRv9vbNqv/75+TZl5ThVs2KgZgxspcaR7NANAAQUwAZnMrI19uPN+mzjEdPu1jRC/741RiFl/OzuGgC4BAIKUMJ2JqZq2Hvrted4mny9vTS2eyP9rX1NeXmx0R8A5CKgACXok7jDZuTkXFaOIkLK6NWBLdSqRpjd3QIAl0NAAUpAetb5jf7eX3N+o78OdStpWv/mZjdiAMDvEVCAEtjo74H3N2jz4WRZV3EevKGeHu5UTz7eXNIBgEshoADFaOn2RI2cs1HJ57LMRn/Tbm+u69noDwD+FAEFKAY5DqdeWLxDr367x7Rjo8qbqrBs9AcAl4eAAhSx46kZenh2nFbuOWnag9rV0FM9GrPRHwAUAAEFKEI//nxKw2dtUGJKhgL9fTS5b4z+Ghtpd7cAwO0QUIAiqgr7xvf7NHnRdmU7nKpbpZxm3tlSdasE2901AHBLBBTgCqWmZ+nxjzbpi80Jpt0zNlKT+zRTUAC/XgBQWLyCAldgR8L5qrB7T6TJz8dL43o01t3talAVFgCuEAEFKKT5cYdMVdj0LIciQ62qsC3VIrqC3d0CAI9AQAEKKCP7fFXY91afrwp7bb1Keql/C4UF+dvdNQDwGAQUoAAOnT6r4e9v0MZDVIUFgOJEQAEu07Idx/TInHglnaUqLAAUNwIK8CccDqemL92ll5bsktMpxVQPNVVhq1cItLtrAOCxCCjAHzidlmlGTZbvPG7aA9tE6+mejRXg62N31wDAoxFQgEvYeDDJ7EJ8OOmcyvh5a+ItzdSnZXW7uwUApQIBBbhIVdhZaw9o/KfblJnjUK1KQXrtzpZqGBFid9cAoNQgoAAXOJeZo6c+2ayPNxw27a5NwjX1tliFlPGzu2sAUKoQUIBf/HwiTfe/t17bE1LNsuHHb2qgIdfWpiosANiAgAJI+nprgkbP3ajUjGxVKhegV+5ooba1K9rdLQAotbwL+gUrVqxQz549FRkZaf6y/OSTT353/f7pp59W1apVVbZsWXXu3Fm7du3Kd8ypU6c0cOBAhYSEqHz58ho8eLDOnDlz5WcDFFB2jsPsQDz03fUmnLSuUUGfP9SBcAIA7hZQ0tLSFBsbq1dfffWij0+ZMkXTp0/XzJkztWbNGgUFBalr165KT0/PO8YKJ1u3btXixYu1cOFCE3qGDh16ZWcCFNCJMxm66421mrl8j2n/rX0tfTC0rcJDytjdNQAo9byc1pBHYb/Yy0vz589X7969Tdt6KmtkZfTo0Xr00UfNfcnJyQoPD9dbb72l/v3766efflLjxo21bt06tW7d2hzz5Zdfqnv37jp06JD5+j+TkpKi0NBQ89zWKAxQUOv3nzYl6xNS0hXo76Mpt8bo5pg//9kDABReQd6/CzyC8kf27dunhIQEc1knl9WRNm3aaNWqVaZtfbQu6+SGE4t1vLe3txlxuZiMjAxzUhfegMKwQvTbK39W/9dXmXBSp3KQPh3RnnACAC6mSAOKFU4s1ojJhax27mPWxypV8u9f4uvrq7CwsLxjfmvSpEkm6OTeoqKiirLbKCXOZmabqrDPfLpVWTlO9WhWVQtGdFDdKsF2dw0AUJwBpbiMHTvWDAfl3g4ePGh3l+Bm9h4/o1teXakF8UfMEuJxPRqZlTrlAljIBgCuqEhfnSMiIszHxMREs4onl9Vu3rx53jHHjh3L93XZ2dlmZU/u1/9WQECAuQGF8eWWBD06b6POZGSrcnCAXr2jpa6uFWZ3twAAJTWCUqtWLRMylixZknefNV/EmlvSrl0707Y+JiUlaf369XnHLF26VA6Hw8xVAYp6CbFVfM0KJ1fXDNPnD3YgnACAJ46gWPVKdu/enW9ibHx8vJlDEh0drUceeUT//Oc/Va9ePRNY/v73v5uVObkrfRo1aqSbbrpJQ4YMMUuRs7KyNGLECLPC53JW8ACXu4T4wVlxWrX3pGkP7lBLT3RrKD8ft7iqCQClXoEDyo8//qiOHTvmtUeNGmU+Dho0yCwlfuyxx0ytFKuuiTVS0qFDB7OMuEyZX2tLvP/++yaUdOrUyaze6du3r6mdAhSFDQdO64H3WEIMAKW2DopdqIOCi7F+lN9bc0ATPju/Sqd25SD9585WqhfOKh0AcLf3b5YwwCN3Ie7WNMKMnASzCzEAuCUCCtze/pNpuu/d87sQe3vJzDVhF2IAcG8EFLi1JT8lmuJrqenWLsT+mj6gha6pU8nubgEArhABBW4px+HUS9/s1PSl51eUtYwurxkDWykilI3+AMATEFDgdpLOZurh2fFavvO4ad/drobG9Wgsf1+WEAOApyCgwK1sOZxsCq8dOn1OZfy8NfGWZurTsrrd3QIAFDECCtzGh+sP6an5m5WR7VB0WKBm3tlKjSNZZg4AnoiAApeXkZ2jCZ9t0/trDpj2DQ2r6MV+zRUayBJiAPBUBBS4tKPJ5zTsvQ2KP5gka9XwI53q68Eb6srbWk8MAPBYBBS4rJV7Tpj9dE6mZSq0rJ+m9W+ujg2q2N0tAEAJIKDAJUvW//e7vWYnYodTalw1xMw3ia4YaHfXAAAlhIACl3ImI1uPf7hJn28+atp9WlbTv3o3U1l/H7u7BgAoQQQUuIw9x8+YkvW7j52Rr7eXnunZWHe2rUHJegAohQgocAlfbU3Q6LkbzQhKleAAvXZnS7WqEWZ3twAANiGgwPaS9c9/vUMzlu0x7atrhumVgS1UJZiS9QBQmhFQYJvTaZl6aHacvtt1wrT/1r6WxnZvKD8fStYDQGlHQIFtJeut+SaHk86prJ+PJvdtpl7Nq9ndLQCAiyCgwNaS9TUqBuo/d7VSwwhK1gMAfkVAQYnJzHbo2YXb9O7q/b+WrL+9uSnCBgDAhQgoKBGJKeka9t56bTiQZNqPdK6nh26oR8l6AMBFEVBQ7NbuO6XhszboeGqGgsv4atrtzdWpUbjd3QIAuDACCoq1ZP3bK3/WPz//SdkOpxqEB5v5JjUrBdndNQCAiyOgoFicy8wxE2E/jjts2j1jI/Xvvs0U6M+PHADgz/FugSJ38NRZs4R429EU+Xh7aWy3hhrcoRYl6wEAl42AgiL13a7jevCDOCWdzVLFIH+9fEcLXVOnkt3dAgC4GQIKimy+yWvL9+i5r3bI4ZRiq4fqtTtbKbJ8Wbu7BgBwQwQUXDFrg78x8zZq0ZYE0769dZTG92qiMn4+dncNAOCmCCi4InuPnzHzTXYdOyM/Hy+N/2tTDbg6ivkmAIArQkBBoX2zLVEj58QrNSNb4SEB5pJOy+gKdncLAOABCCgoMIfDqWlLdmn6kl2mfVXNCnp1YEtVCS5jd9cAAB6CgIICST6XpVFz4rVk+zHTHtSuhp7q0Vj+vt52dw0A4EEIKLhsOxNTzXyTfSfSFODrrYm3NFPfVtXt7hYAwAMRUHBZvth8VI/O26izmTmqVr6sKVnftFqo3d0CAHgoAgr+UI7Dqalf7dDM5XtMu33dinp5QEuFBfnb3TUAgAcjoOCSks5mmqqw3+06YdpDr6utx7o2kK8P800AAMWLgIKL2nYkRfe996MOnjqnsn4+mnJrjNnwDwCAkkBAwe98uvGIHvtwo9KzHIoOCzTzTRpVDbG7WwCAUqTIx+r/8Y9/mCqiF94aNmyY93h6erqGDx+uihUrqly5curbt68SExOLuhsohOwchyZ+8ZMe+iDOhJPr6lfWpyPaE04AAJ4xgtKkSRN98803v34T31+/zciRI/X5559r3rx5Cg0N1YgRI9SnTx/98MMPxdEVXKZTadZ8kw36YfdJ037g+joa3aWBfLwpWQ8A8JCAYgWSiIiI392fnJysN954Q7NmzdINN9xg7nvzzTfVqFEjrV69Wm3bti2O7uBPbDmcbOqbHE46p0B/Hz13W6y6N6tqd7cAAKVYsSzH2LVrlyIjI1W7dm0NHDhQBw4cMPevX79eWVlZ6ty5c96x1uWf6OhorVq16pLPl5GRoZSUlHw3FI0F8Yd168yVJpzUqBio+Q+0J5wAADwvoLRp00ZvvfWWvvzyS7322mvat2+frr32WqWmpiohIUH+/v4qX758vq8JDw83j13KpEmTzOWg3FtUVFRRd7tUzjd5duE2PTw73sw3ub5BZX06vIMaRATb3TUAAIr+Ek+3bt3yPo+JiTGBpUaNGpo7d67Kli1bqOccO3asRo0alde2RlAIKVc232TErA1auef8fJPhHeto1I3MNwEAlKJlxtZoSf369bV7927deOONyszMVFJSUr5RFGsVz8XmrOQKCAgwNxT9fJPnb4tVNy7pAABcTLGXBD1z5oz27NmjqlWrqlWrVvLz89OSJUvyHt+xY4eZo9KuXbvi7kqpd+F8k5oVA/XJ8PaEEwBA6RhBefTRR9WzZ09zWefIkSN65pln5OPjowEDBpj5I4MHDzaXa8LCwhQSEqIHH3zQhBNW8BTvfJNJi7brje/3mXbHBpU1rX8LhZb1s7trAACUTEA5dOiQCSMnT55U5cqV1aFDB7OE2Prc8uKLL8rb29sUaLNW53Tt2lUzZswo6m7gEvNNRnSsq5E31me+CQDApXk5nU6n3Iw1SdYajbHqqlijMLi4rUeSNfSdX+ebvNAvVjc15ZIOAMD137/Zi8eD55s8/tEms4TYmm/y+t2tVT+cJcQAAPdAQPHA+SZTvtqh11fsNe2/1K+s6dZ8k0DmmwAA3AcBxYMknbX204nTd7tOmPaw6+voUfbTAQC4IQKKh/jpaIqGvvujDp46p7J+Ppp6W4xujom0u1sAABQKAcUDfL7pqB6dt1HnsnIUFVZWr9/VWo2qMnkYAOC+CChuLMfh1PNf79CMZXtMu0PdSnp5QAtVCPK3u2sAAFwRAoqbSj6XpYdnx2nZjuOmPfS62nqsawP5+hR7cWAAAIodAcUN7UpM1dB312vfiTQF+Hrr331j1LtFNbu7BQBAkSGguJmvtyZo1NyNOpORrcjQMqa+SdNqoXZ3CwCAIkVAcRMOh1PTl+7StG92mXabWmF6dWBLVSrHLs8AAM9DQHED1mjJqDnx+npbomnfc01NPdWjkfyYbwIA8FAEFBf384k0DXnnR+06dkb+Pt765y1N1a91lN3dAgCgWBFQXNjyncf14KwNSknPVnhIgGbe2UotoivY3S0AAIodAcUFWRtMW3vp/PvL7XI4pZbR5U04qRJSxu6uAQBQIggoLuZcZo7ZhfjTjUdM+/bWUZrQu4kCfH3s7hoAACWGgOJCDied09B3ftTWIyny9fbSMz0b6862NeTlxWZ/AIDShYDiItbsPakH3t+gk2mZCgvy14yBLdW2dkW7uwUAgC0IKC4w3+S9NQc0/tOtynY41SQyRP+5q5WqVwi0u2sAANiGgGKjzGyHnvl0qz5Ye8C0e8ZGakrfGJX1Z74JAKB0I6DY5Hhqhoa9t14/7j8ta4rJ4zc11H3X1Wa+CQAABBR7bDqUpPveXa+jyekKLuOr6f1bqGPDKnZ3CwAAl0FAKWGfxB02y4gzsh2qXTlI/3d3a9WuXM7ubgEA4FIIKCUkx+E0hdesAmyWGxpW0bT+zRVSxs/urgEA4HIIKCUg+WyWHpwdpxU7j5v28I51NOrGBvLxZr4JAAAXQ0ApZruPpWrIO+u170Sayvh5a+qtsWa1DgAAuDQCSjFa8lOiHp4drzMZ2apWvqxev7uVmkSG2t0tAABcHgGlmIqvzVi2R899vUNOp3R1rTC9NrClKpYLsLtrAAC4BQJKETubma3HPtykhZuOmvadbaP1TM8m8vPxtrtrAAC4DQJKEW/2N+TtH7Xt6PnN/sb3aqKBbWrY3S0AANwOAaWIrN13ylSGtTb7qxjkr9fubGUu7QAAgIIjoBSBWWsO6OkFW/I2+3v97tZmUiwAACgcAsoVyMpxaMJn2/Tu6v2mfXNMVbOMmM3+AAC4MgSUQjqVlqkH3l+v1XtPmc3+Hu3SQA9cX4fN/gAAKAIElEL46WiKhrzzow6dPqcgfx+91L+FOjcOt7tbAAB4DAJKAX255ahGzd2os5k5qlExUP+9u7Xqhwfb3S0AADwKAeUyORxOTV+6S9O+2WXaHepW0it3tFD5QH+7uwYAgMchoFyGtIxsPTpvoxZtSTDte9vX1FPdG8mX4msAABQLW99hX331VdWsWVNlypRRmzZttHbtWrmag6fOqu9rK0048fPx0pS+MaYyLOEEAIDiY9u77Jw5czRq1Cg988wz2rBhg2JjY9W1a1cdO3ZMrlR8rderP2h7QqoqlfPXB0Paqt9VUXZ3CwAAj2dbQHnhhRc0ZMgQ3XvvvWrcuLFmzpypwMBA/e9//5Mr+GDtAd3x39VmObFVfG3BiA5qXZPKsAAAeOwclMzMTK1fv15jx47Nu8/b21udO3fWqlWrfnd8RkaGueVKSUkp1uJrzy7cpndWnS++1iOmqp6j+BoAAJ4/gnLixAnl5OQoPDx/7RCrnZBwfiLqhSZNmqTQ0NC8W1RU8VxmOZ2WqbvfWJsXTh7tUl+vDGhBOAEAoIS5xUxPa6QlOTk573bw4MFi+T4vfrNTq/aeNMXXXr+rlUbcUI/KsAAAlJZLPJUqVZKPj48SExPz3W+1IyIifnd8QECAuRW3x25qqCNJ6Xq0a301jAgp9u8HAABcaATF399frVq10pIlS/Luczgcpt2uXTvZpVyAr/5vUGvCCQAApbVQm7XEeNCgQWrdurWuvvpqTZs2TWlpaWZVDwAAKN1sCyi33367jh8/rqefftpMjG3evLm+/PLL302cBQAApY+X0+l0ys1Yy4yt1TzWhNmQEC7HAADgae/fbrGKBwAAlC4EFAAA4HIIKAAAwOUQUAAAgMshoAAAAJdDQAEAAC6HgAIAAFwOAQUAALgcAgoAAHA5BBQAAOBybNuL50rkVue3SuYCAAD3kPu+fTm77LhlQElNTTUfo6Ki7O4KAAAoxPu4tSePx20W6HA4dOTIEQUHB8vLy0ueli6t4HXw4MFSsREi5+vZStP5lqZztXC+ni2lmM7XihxWOImMjJS3t7fnjaBYJ1W9enV5MusHojT8EuTifD1baTrf0nSuFs7Xs4UUw/n+2chJLibJAgAAl0NAAQAALoeA4mICAgL0zDPPmI+lAefr2UrT+Zamc7Vwvp4twAXO1y0nyQIAAM/GCAoAAHA5BBQAAOByCCgAAMDlEFAAAIDLIaDY4NSpUxo4cKApflO+fHkNHjxYZ86c+cOvef3113X99debr7Gq5yYlJV3y2IyMDDVv3twcFx8fL087159//tk8T61atVS2bFnVqVPHzDbPzMyUp/7bFuZ5S0Jh+pWenq7hw4erYsWKKleunPr27avExMR8x6xbt06dOnUyz1mhQgV17dpVGzdulKeer+Wtt95STEyMypQpoypVqpiv8eTztZw8edIU3fyz1zR3PVfrZ3bAgAGmIqv1WtWoUSO99NJLssOrr76qmjVrmp+vNm3aaO3atX94/Lx589SwYUNzfLNmzfTFF1/ke9xaX/P000+ratWq5tw6d+6sXbt2FW2nrVU8KFk33XSTMzY21rl69Wrnd99956xbt65zwIABf/g1L774onPSpEnmZv2znT59+pLHPvTQQ85u3bqZ4+Li4pyedq6LFi1y3nPPPc6vvvrKuWfPHueCBQucVapUcY4ePdrpqf+2hXneklCYft1///3OqKgo55IlS5w//vijs23bts5rrrkm7/HU1FRnWFiY+Tfevn27c8uWLc6+ffs6w8PDnZmZmU5PO1/L888/74yMjHS+//77zt27dzs3btxofq7tVlznm6tXr155r1V/9Jrmruf6xhtvmNfjZcuWmdeqd99911m2bFnnyy+/7CxJs2fPdvr7+zv/97//Obdu3eocMmSIs3z58s7ExMSLHv/DDz84fXx8nFOmTHFu27bNOW7cOKefn59z8+bNecdMnjzZGRoa6vzkk0/Mz+tf//pXZ61atZznzp0rsn4TUEqY9Y9t/TKuW7cu3xuul5eX8/Dhw3/69d9+++0f/jJ/8cUXzoYNG5ofQrsDSnGf64WsXyTrl8NOxXW+V/q8xaUw/UpKSjIvdPPmzcu776effjLPs2rVKtO2ns9qHzhwIO+YTZs2mft27drl9LTzPXXqlHnT+uabb5yupLjON9eMGTOcf/nLX8ybu90BpbjP9UIPPPCAs2PHjs6SdPXVVzuHDx+e187JyTGB2Pqj6GL69evn7NGjR7772rRp47zvvvvM5w6HwxkR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ + "new_Earth = EarthLike()\n", + "new_Earth.RH_zref = 0.85\n", "settings = Settings( \n", - " planet= EarthLike(),\n", - " r_wet= 1e-3,\n", - " mass_of_dry_air= 1e5*si.kg,\n", - " coord= \"WaterMassLogarithm\",\n", - " )" + " planet=new_Earth,\n", + " r_wet= 1e-3*si.m,\n", + " mass_of_dry_air= 1e5*si.kg,\n", + " coord= \"WaterMassLogarithm\",\n", + " )\n", + "simulation = Simulation(settings)\n", + "output = simulation.run()\n", + "\n", + "plt.plot(output['S'],output['z'])" ] }, { @@ -93,251 +268,66 @@ "name": "stdout", "output_type": "stream", "text": [ - "1550.000935463031\n", - "1543.510935463031\n", - "1537.0207067039723\n", - "1530.5302508456057\n", - "1524.039569534274\n", - "1517.5486644158043\n", - "1511.0575371233374\n", - "1504.5661893138142\n", - "1498.0746226314752\n", - "1491.5828387083907\n", - "1485.0908391993387\n", - "1478.5986257469137\n", - "1472.1061999931483\n", - "1465.6135635795065\n", - "1459.1207181468778\n", - "1452.6276653355708\n", - "1446.1344067748798\n", - "1439.6409441143592\n", - "1433.1472789824397\n", - "1426.6534130271389\n", - "1420.1593478759937\n", - "1413.6650851658544\n", - "1407.1706265423966\n", - "1400.6759736317595\n", - "1394.181128078034\n", - "1387.68609150639\n", - "1381.1908655593154\n", - "1374.6954518609812\n", - "1368.1998520437262\n", - "1361.7040677392208\n", - "1355.2081005866912\n", - "1348.711952208223\n", - "1342.215624241385\n", - "1335.719118307177\n", - "1329.2224360414928\n", - "1322.7255790642175\n", - "1316.228549009553\n", - "1309.731347496242\n", - "1303.233976156777\n", - "1296.7364366156926\n", - "1290.2387304899655\n", - "1283.7408594027986\n", - "1277.2428249766526\n", - "1270.7446288332414\n", - "1264.2462725998307\n", - "1257.7477578964963\n", - "1251.2490863364999\n", - "1244.750259538513\n", - "1238.2512791204335\n", - "1231.7521467050624\n", - "1225.252863908614\n", - "1218.753432346515\n", - "1212.2538536333986\n", - "1205.7541293831007\n", - "1199.254261208654\n", - "1192.754250717303\n", - "1186.25409952544\n", - "1179.7538092389027\n", - "1173.2533814675724\n", - "1166.752817825041\n", - "1160.2521199194202\n", - "1153.751289353659\n", - "1147.2503359292275\n", - "1140.7492530566215\n", - "1134.24804234068\n", - "1127.746705385385\n", - "1121.2452437938566\n", - "1114.7436591683493\n", - "1108.2419607032878\n", - "1101.7401498988463\n", - "1095.2382282543824\n", - "1088.7361972684328\n", - "1082.23405124577\n", - "1075.7317917833623\n", - "1069.2294274704827\n", - "1062.7269529089097\n", - "1056.2243696929083\n", - "1049.721686109875\n", - "1043.2188970580373\n", - "1036.7160041289205\n", - "1030.2130153085304\n", - "1023.7099320869631\n", - "1017.2067497568314\n", - "1010.7034760032556\n", - "1004.2001123137239\n", - "997.6966601748481\n", - "991.1931152726052\n", - "984.6894791910363\n", - "978.1857535132294\n", - "971.6819453240366\n", - "965.1780507017882\n", - "958.6740712266894\n", - "952.170013684225\n", - "945.6658744463066\n", - "939.161655090224\n", - "932.6573571922876\n", - "926.1529823278246\n", - "919.6485320711762\n", - "913.1440126106645\n", - "906.639425420243\n", - "900.134771972936\n", - "893.6300494206394\n", - "887.1252593327122\n", - "880.6204115244105\n", - "874.115499316042\n", - "867.6105242739369\n", - "861.105487963409\n", - "854.6003994125823\n", - "848.0952599891829\n", - "841.5900710600462\n", - "835.0848339911139\n", - "828.5795501474315\n", - "822.074220893145\n", - "815.5688412983573\n", - "809.063412920144\n", - "802.55794321847\n", - "796.0524335538554\n", - "789.5468797706378\n", - "783.0412887428296\n", - "776.5356567010766\n", - "770.0299901294024\n", - "763.5242856442186\n", - "757.0185493400822\n", - "750.5127825710673\n", - "744.0069908491492\n", - "737.5011753333395\n", - "730.9953296363723\n", - "724.4894624611773\n", - "717.9835681902849\n", - "711.4776483648294\n", - "704.9717105286086\n", - "698.465755835805\n", - "691.9597802052643\n", - "685.4537851737718\n", - "678.9477722770193\n", - "672.4417512149101\n", - "665.9357227541824\n", - "659.429687661027\n", - "652.9236467010859\n", - "646.4176006394515\n", - "639.9115502406644\n", - "633.4054962687122\n", - "626.8994394870288\n", - "620.3933806584918\n", - "613.8873205454221\n", - "607.3812599095825\n", - "600.8751997506089\n", - "594.3691415897853\n", - "587.8630869472715\n", - "581.3570373421015\n", - "574.8509942921816\n", - "568.3449593142882\n", - "561.8389387179168\n", - "555.3329236726776\n", - "548.8269275507995\n", - "542.3209526206812\n", - "535.8149855101049\n", - "529.3090355485542\n", - "522.8031042448773\n", - "516.2971931067815\n", - "509.79130364083153\n", - "503.2854373524483\n", - "496.7795957459072\n", - "490.2737803243366\n", - "483.76799258971636\n", - "477.26223404287657\n", - "470.75650618349596\n", - "464.25081051010073\n", - "457.745148520063\n", - "451.23952170959967\n", - "444.7339315737709\n", - "438.2283796064791\n", - "431.72286234282865\n", - "425.21738623199184\n", - "418.71195276438954\n", - "412.2065634292798\n", - "405.701219714757\n", - "399.1959231077505\n", - "392.6906690198956\n", - "386.1854587501514\n", - "379.6802935964502\n", - "373.1751748556968\n", - "366.6701106392678\n", - "360.16510242707807\n", - "353.66014451254205\n", - "347.1552455584551\n", - "340.65040704121265\n", - "334.145622697079\n", - "327.6408938157417\n", - "321.1362297931389\n", - "314.6316238097169\n", - "308.1270856270953\n", - "301.6226167146072\n", - "295.1182185404067\n", - "288.61389257146806\n", - "282.10964027358506\n", - "275.60546311137057\n", - "269.1013625482557\n", - "262.5973400464893\n", - "256.0933970671376\n", - "249.58953507008326\n", - "243.0857555140253\n", - "236.58205985647837\n", - "230.07844955377232\n", - "223.57492606105183\n", - "217.0714908322759\n", - "210.56814532021767\n", - "204.0648909764637\n", - "197.56172925141388\n", - "191.0586615942812\n", - "184.55568945309113\n", - "178.05281427468157\n", - "171.55003750470263\n", - "165.04736058761625\n", - "158.54478496669606\n", - "152.0423120840271\n", - "145.5399433805058\n", - "139.03768029583992\n", - "132.53552426854816\n", - "126.03347673596014\n", - "119.53153913421643\n", - "113.02971289826854\n", - "106.5279994618786\n", - "100.0264002576197\n", - "93.52491671687555\n", - "87.0235502698408\n", - "80.52230234552093\n", - "74.0211743717325\n", - "67.52016777510302\n", - "61.019283981071\n", - "54.51852441388636\n", - "48.017890496610455\n", - "41.51738365111625\n", - "35.017005298088634\n", - "28.516756857024397\n", - "22.016639746232574\n", - "15.516655382834553\n", - "9.016805182764646\n", - "2.5170905607703853\n" + "348.74625129556915\n", + "342.25625129556914\n", + "335.7662521076893\n", + "329.2762552973796\n", + "322.7862624287392\n", + "316.2962750645159\n", + "309.8062947661054\n", + "303.3163187806435\n", + "296.8263478874779\n", + "290.33638286527827\n", + "283.84643778982917\n", + "277.35650014067284\n", + "270.8665871001094\n", + "264.37669201735326\n", + "257.8868115658993\n", + "251.39694690765174\n", + "244.90710485484263\n", + "238.41728091601283\n", + "231.927482674259\n", + "225.4377116733831\n", + "218.94796945582993\n", + "212.45825756268695\n", + "205.96857753368383\n", + "199.47893090719225\n", + "192.9893192202256\n", + "186.49974400843877\n", + "180.01020205496297\n", + "173.52069470107952\n", + "167.0312284210905\n", + "160.54179941972401\n", + "154.05240903468206\n", + "147.56306430998802\n", + "141.0737608734989\n", + "134.58450614820222\n", + "128.0952953782234\n", + "121.60613636483201\n", + "115.11703062872523\n", + "108.62797283970369\n", + "102.13896432591729\n", + "95.65000641432096\n", + "89.16110043067467\n", + "82.67225530698794\n", + "76.1834725557977\n", + "69.69474570287817\n", + "63.2060760692111\n", + "56.71747333723371\n", + "50.22893901404632\n", + "43.74047460539127\n", + "37.25208161565321\n", + "30.76376154785937\n", + "24.27551590367993\n", + "17.78734618342835\n", + "11.299253886061756\n", + "4.811240509181237\n" ] }, { "data": { "text/plain": [ - "[]" + "[]" ] }, "execution_count": 8, @@ -346,7 +336,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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MusHojT8EuTifD1baTrf0nSuFs7Xs4UUw/n+2chJLibJAgAAl0NAAQAALoeA4mICAgL0zDPPmI+lAefr2UrT+Zamc7Vwvp4twAXO1y0nyQIAAM/GCAoAAHA5BBQAAOByCCgAAMDlEFAAAIDLIaDY4NSpUxo4cKApflO+fHkNHjxYZ86c+cOvef3113X99debr7Gq5yYlJV3y2IyMDDVv3twcFx8fL087159//tk8T61atVS2bFnVqVPHzDbPzMyUp/7bFuZ5S0Jh+pWenq7hw4erYsWKKleunPr27avExMR8x6xbt06dOnUyz1mhQgV17dpVGzdulKeer+Wtt95STEyMypQpoypVqpiv8eTztZw8edIU3fyz1zR3PVfrZ3bAgAGmIqv1WtWoUSO99NJLssOrr76qmjVrmp+vNm3aaO3atX94/Lx589SwYUNzfLNmzfTFF1/ke9xaX/P000+ratWq5tw6d+6sXbt2FW2nrVU8KFk33XSTMzY21rl69Wrnd99956xbt65zwIABf/g1L774onPSpEnmZv2znT59+pLHPvTQQ85u3bqZ4+Li4pyedq6LFi1y3nPPPc6vvvrKuWfPHueCBQucVapUcY4ePdrpqf+2hXneklCYft1///3OqKgo55IlS5w//vijs23bts5rrrkm7/HU1FRnWFiY+Tfevn27c8uWLc6+ffs6w8PDnZmZmU5PO1/L888/74yMjHS+//77zt27dzs3btxofq7tVlznm6tXr155r1V/9Jrmruf6xhtvmNfjZcuWmdeqd99911m2bFnnyy+/7CxJs2fPdvr7+zv/97//Obdu3eocMmSIs3z58s7ExMSLHv/DDz84fXx8nFOmTHFu27bNOW7cOKefn59z8+bNecdMnjzZGRoa6vzkk0/Mz+tf//pXZ61atZznzp0rsn4TUEqY9Y9t/TKuW7cu3xuul5eX8/Dhw3/69d9+++0f/jJ/8cUXzoYNG5ofQrsDSnGf64WsXyTrl8NOxXW+V/q8xaUw/UpKSjIvdPPmzcu776effjLPs2rVKtO2ns9qHzhwIO+YTZs2mft27drl9LTzPXXqlHnT+uabb5yupLjON9eMGTOcf/nLX8ybu90BpbjP9UIPPPCAs2PHjs6SdPXVVzuHDx+e187JyTGB2Pqj6GL69evn7NGjR7772rRp47zvvvvM5w6HwxkREeGcOnVqvv8fAQEBzg8++KDI+s0lnhK2atUqM3zYunXrvPusoTFrf6E1a9Zc0XNbQ4tDhgzRu+++q8DAQHnyuf5WcnKywsLC5InnW5L/H4u7X+vXr1dWVpY5Lpc1jBwdHW2ez9KgQQMzZP7GG2+Yy3bnzp0zn1vD49YQtaed7+LFi80GqIcPHzbnaF3y6Nevn9mkzU7Fdb6Wbdu2acKECXrnnXf+dMM4dz9Xu1+rMjMzTV8v7Kd1Xlb7Uv207r/weIt1mTX3+H379ikhISHfMdb+Otaloz8694Ky/yejlLH+Ua3ryxfy9fU1P7DWY4VljYbdc889uv/++/P9knniuf7W7t279fLLL+u+++6TJ55vSf1/LIl+Wff7+/ubN4MLhYeH532NtUv5smXL9N5775lr29a1/S+//FKLFi0yz+9p57t3714TUCZOnKhp06bpww8/NPMhbrzxRlvnVRXX+Vpz5Kx5GVOnTjVv5q6guM71t1auXKk5c+Zo6NChKiknTpxQTk6O6dfl9tO6/4+Oz/1YkOcsDAJKEXniiSfMRK8/um3fvr3Yvr/1Bm1tYT127Fh5+rleyPqr86abbtJtt91mRo88/XxLgt3na42YWBMU27dvr9WrV+uHH35Q06ZN1aNHD/OYp52vFU6sv8SnT59u/kpt27atPvjgAzPh8Ntvv/W487Veo6yRojvvvFPFze5zvdCWLVvUq1cvM6G/S5cuJfI93Z19f454mNGjR5sRjD9Su3ZtRURE6NixY/nuz87ONn8xWY8V1tKlS83Q2m/3TbBGU6yZ6W+//bY85VxzHTlyRB07dtQ111xjVsIUF7vPt7j/P5bk+Vr3W6MC1oqNC//ytC5P5n7NrFmzzEot6+c5d/jfus9azbNgwQL1799fnnS+1ioIS+PGjfMer1y5sipVqqQDBw6oqNl9vtZr1ebNm81IkSV3txXrfJ966imNHz9ennKuF17SslalWSMn48aNU0mqVKmSfHx8freS6mL9zGXd/0fH53607sv9+c1tWytIi0yRzWZBgSZjWTO+c1mrUa50IuX+/fvNDOvcm/Wc1nEffvih8+DBg05POlfLoUOHnPXq1XP279/fmZ2d7XQFxXW+V/q8xaUw/cqdWGj9XOayVupcOLFw+vTpZgKeNREvV1ZWljMoKMiscvG0892xY4dpXzhJ9uTJk05vb2/z/J52vtYqpQtfq6yVJdbjK1euvOSqEnc9V4u1Cs1aZThmzBinXa6++mrniBEj8k2SrVat2h9Okr355pvz3deuXbvfTZJ97rnn8h5PTk4u8kmyBBSblrO1aNHCuWbNGuf3339v3mgvXM5mvfk2aNDAPJ7r6NGjZkXOf//7X/MLsGLFCtO2XsguZt++fbav4imuc7W+xloC2KlTJ/O5dXzuzVP/bf/sed3pfK2lmdHR0c6lS5eaNwTrhc+6XbgSwnqhGzZsmHnjsF7g77zzTrOk8ciRI05PO9/c5bZNmjQxyzutN23rzaFx48Yusay6OM63sKv13O1crX/LypUrm5/fC1+njh07VuLLjAMCApxvvfWW+Z0aOnSoWWackJBgHr/rrrucTzzxRN7x1s+hr6+vCSDW7+Mzzzxz0WXG1nNYy+GtVXbWzzDLjD2A9cZj/eCXK1fOGRIS4rz33ntN7YffhgvrFzeX9QNi3ffb25tvvunSAaU4ztX6eLHHXWFAsLj+bf/sed3pfK0XMGupZYUKFZyBgYHOW2655Xfh8uuvv3a2b9/ehBLruBtuuOEPl266+/laf33+7W9/My/4Vg0Y65gLl1l72vm6YkApjnO91O92jRo1Svz8Xn75ZROmrHoo1oiKVe8ll7Xce9CgQfmOnzt3rrN+/frmeCs8f/755/ket0ZR/v73v5v6RFb4sf5gtEYDi5KX9Z+iu2AEAABw5VjFAwAAXA4BBQAAuBwCCgAAcDkEFAAA4HIIKAAAwOUQUAAAgMshoAAAAJdDQAEAAC6HgAIAAFwOAQUAALgcAgoAAHA5BBQAACBX8/8BNYg5lawMHb4AAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -356,12 +346,6 @@ } ], "source": [ - "#set up simulation\n", - "from PySDM.dynamics import Condensation\n", - "import numpy as np\n", - "#Simulation is also in this folder\n", - "#Need to change/add/edit the Parcel environment PySDM/parcel to take in new dz that uses the \n", - "#updraft and the terminal velocity to have the parcel track the superdroplet\n", "simulation = Simulation(settings)\n", "output = simulation.run()\n", "\n", @@ -377,7 +361,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+oAAAMWCAYAAABmznywAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAADTGklEQVR4nOzdB3zV1fn48Se52ZuEbMLeOwFBEBEFZSjKUGvd1Tpqta1abf39rR3aWm1rraNat61bGSIuEAfKJmHvESBkD7J3bv6vc25uDMhIIMn53ns/79frvu5Jck2eIJz7fb7nnOfxamxsbBQAAAAAAGAJ3qYDAAAAAAAA3yNRBwAAAADAQkjUAQAAAACwEBJ1AAAAAAAshEQdAAAAAAALIVEHAAAAAMBCSNQBAAAAALAQEnUAAAAAACzEx3QArsJut0tWVpaEhoaKl5eX6XAAWFxjY6OUlZVJQkKCeHu75j1R5j0AbcG8B8DTNHbgvEei3kpq0k5KSjIdBgAXk5GRId26dRNXxLwH4HQw7wHwNBkdMO+RqLeSurPq/J8QFhZmOhwAFldaWqov9pxzhyti3gPQFsx7ADxNaQfOeyTqreTc/qQmbSZuAK3lylsnmfcAnA7mPQCexqsD5j3XPEAEAAAAAICbIlEHAAAAAMBCSNQBAAAAALAQzqgDbqChoUHq6upMh+FRfH19xWazmQ4DHop/8zCBeQ8wj/nfc+Y9o4n68uXL5W9/+5ukpqZKdna2LFiwQGbNmnXUa3bs2CG/+c1v5JtvvpH6+noZPHiwzJs3T7p3766/Xl1dLffee6+88847UlNTI1OnTpV///vfEhsb2/w9Dh06JD/72c/kq6++kpCQELnhhhvk0UcfFR8f7lPA9Xs35uTkSHFxselQPFJERITExcW5dOEkuBb+zcM05j3ADOZ/z5v3jGaqFRUVMmLECLnppptkzpw5P/j6vn37ZMKECXLzzTfLH//4R119c9u2bRIQEND8mrvvvls+/vhjef/99yU8PFzuvPNO/b1WrFjRfNfp4osv1n+4K1eu1DcErr/+en135C9/+Uun/r5Ae3NO2DExMRIUFMSFUye+WVZWVkpeXp7+OD4+3nRI8BD8m4cpzHuAWcz/njfvGU3Up0+frh8n8v/+3/+TGTNmyOOPP978uT59+jSPS0pK5OWXX5a33npLLrjgAv25V199VQYNGiSrV6+Ws88+W5YsWSLbt2+XL774Qq+yjxw5Uh5++GG9Sv+HP/xB/Pz8Ovi3BDqGugnlnLCjoqJMh+NxAgMD9bOavNX/A7aDoqPxbx6mMe8BZjD/e+a8Z9licna7Xa+U9+/fX29nV38wY8eOlYULFza/Rm2ZV2c0pkyZ0vy5gQMH6m3xq1at0h+r52HDhh21FV59P9WcXq3OA67KeT5J3VWFGc4/e86KoTPwbx5WwLwHdD7mf8+c9yybqKu7FuXl5fLXv/5Vpk2bplfGZ8+erbe1q/Pqzi0gakVcnRtoSSXl6mvO17RM0p1fd37tRNR5d5XMt3wAVsTWJ3Pc7c+eec81uNvfO7gWd/v7x7wHV+Ju//5chZehP3dLr6grl112mT6Hrras//a3v5VLLrlEnn/++Q7/+arYnDrz7nwkJSV1+M8EAJOY9wDX9vXXX+sLSopNtR7zHuAaevbsKU8++WSrX3/gwAE9H27cuFFclWUT9a5du+qq7KrKe0vq/Lmq4q6oAnG1tbU/eEPKzc3VX3O+Rn187NedXzuRBx54QJ+Bdz4yMjLa7XcD0DEmTZokv/rVr057Uvd0zHvoSPn5+boDizqe5u/vr9+D1VE0Z/FXV/baa6/9YHdfZ893yvjx43XRXJVwonWY94COdeONN/6gq9fp3Fhct26d3HrrrS4/d7tFoq62tJ911lmya9euoz6/e/du6dGjhx6PGjVKV29ftmxZ89fV61UiP27cOP2xet6yZUtztT5l6dKluoL8sTcBWlIXEeo1LR8A2m/SVpOzeqh/w7169ZL7779ft1tsTx0xqbsz5j10pLlz58qGDRvk9ddf1+/lixYt0slmYWGh0bjUDX8rOZMzkOraidZpbcO8B7iG6OhojzujbzRRV2fQ1XYE55aE9PR0PXaumN93333y7rvvyosvvih79+6VZ555Rj766CO544479NfVHWPVuu2ee+7RPdJVcbmf/OQnOjlXFd+Viy66SCfk1113nWzatEk+//xzefDBB+XnP/+5npwBmKFqT6iVn/3798s///lP+c9//iO///3v2/VneOKkDliRWjH59ttv5bHHHpPzzz9f33AfM2aMXs289NJLj7tFUf036nNq1aXl6osqNDt8+HDdqlW912/duvWon/Xdd9/Jueeeqyv1qm3Mv/jFL3Q72JY7bVT3F9WqVSVl6maeStZVe1fVekd9XxWf2hLt9MQTT+jCtMHBwfp7qusQdQ3jjEtde6jVWOcNSNVVRlHjlkVwFbV6o1ZxFOfvra51zjvvPP2z33zzTX3z4sc//rEkJibqOUz97Lfffvuom52qXs+//vWv5p+pvtfxVqjmzZsnQ4YM0dc86nf/xz/+cVQ86nOqXa1qlRsaGqp3PLzwwgtn+H8cANqmNXP3ky12Se7cuVO38Vbzpsr1VIev48256jpTve+ouVS1BXcWHD/Z3G0VRhP19evXS3Jysn4oKuFW44ceekh/rIrHqfPoqj2bepN66aWX9BuO+p/ipC7w1bl1dad+4sSJ+k7y/Pnzm7+uSugvXrxYP6sE/tprr9Vvzn/6058M/MYAnJxbX9VkrLZEqe4NareLcqqLVEVN3urfckhIiL64Pvbi89hJvTWJwJEjR+Saa67RCb56o+jXr59u+QjgzKh/p+qhLqBU8a4zoW7iq3/vaseM+rc6c+bM5lXoffv26ZuA6ppg8+bNOgFWF38qCW/p73//u75gUyv8v/vd7+Spp57SK/zvvfee3pmnkmU1fzh5e3vr16huMWpHwJdffql3ATm3m6t5RiX96uajevz6179u0++kavD88pe/lB07dujjAGp3kdo1qG5KqBsR6maCWnBYu3atfr1K0NU1zS233NL8M493tlotYFx55ZVy1VVX6d2F6iJU/b7OGwVO6s9z9OjR+s9D3YRQRxSO3dEIAB2ltXN3y3Z16tpRXSOuWbNG31xUbb2PR31ezcnq+k91E1PXl/X19e0yd7t1H3W15U01kj8ZdYdXPU5E3UV59tln9eNE1J3xTz755IxiBVyB+vdUVddg5GcH+tpOe7uluhBduXJl87EW50Xqb37zGz2BqotVdZHap08fvQrnvFhXK0offvihbt/4f//3f5KWlqYLT54udQG7fft2+fTTT3WdDLWTp6qq6rS/H9DRXOXfvKo5o5JDlViqG/ApKSl6BVklkGp1vC3UzpsLL7xQj1XS3K1bN1mwYIFOSNUquLrZ5jy7rW62qQRb/aznnntOXzMoF1xwgdx7773N31Pt5FOvVQsB6ndyzkVOx9a+eOSRR+T222+Xf//733q7udrhp/67k9W+ORn1/VVXm5ZaXjDeddddekegupGg5kD189TPVRepJ/uZaifA5MmT9dymqItUNcf97W9/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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAMWCAYAAAAH1l7yAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAADH8ElEQVR4nOzdB5zV5ZX4/zO9F6ZXeu9VxIIFFEEEBMbYYpJ1Y9w12bQ1u+7PdROzWbNu/qnruiluTKIGM4CIiAqiYqMOvXeYXpne587/9Tz33gkgIGXufb7f+/28X6/J/cKMcCDMc7/n+5znnKDu7u5uAQAAAAAAPhHsm18WAAAAAAAoJN4AAAAAAPgQiTcAAAAAAD5E4g0AAAAAgA+ReAMAAAAA4EMk3gAAAAAA+BCJNwAAAAAAPkTiDQAAAACAD4X68he3C5fLJSUlJRIXFydBQUGmwwFgU93d3dLQ0CBZWVkSHGz955qsfQCcuPYprH8A/L3+kXiL6IU3NzfXdBgAAkRhYaHk5OSI1bH2AXDi2qew/gHw9/pH4i2in3Z6/8Li4+NNhwPApurr6/WNnHdNsTrWPgBOXPsU1j8A/l7/SLxFekqM1MLL4gvgatmlbJG1D4AT1z6F9Q+Av9c/exzEAQAAAADApki8AQAAAADwIRJvAAAAAAB8iDPegE11dXVJR0eH6TAcJSwsTEJCQkyHAYfjex8mhIeH22ZUGBDIeA+w770fiTdgw3mBZWVlUltbazoUR0pMTJSMjAxbNRFCYOB7HyappHvAgAE6AQfgf7wH2P/ej8QbsBnvopuWlibR0dEkgH58w2tubpaKigr948zMTNMhwWH43ocpLpdLz70uLS2Vvn378m8PMID3APvf+5F4AzYrL/IuusnJyabDcZyoqCj9qhZg9f8BZefwF773YVpqaqpOvjs7O3XpJQD/4T0gMO79OKwD2Ij3TI960gkzvH/3nK+CP/G9D9O8JeYqAQDgX7wHBMa9H4k3YEOUF5nD3z1M4t8fTOHfHmAe34f2/nsn8QYAALCxDz74QN8Y0nQJQKDq37+//PznP7/krz9x4oReF3fs2CFWQeINwNZuvvlm+da3vnXFCzMA36qsrJS/+7u/0025IiIidGfYWbNmySeffCJ29+KLL+putybXPOW6667Tjc8SEhL8GgsAfJ4vf/nLsmDBgqt+YLhlyxZ55JFHbL2G01wNgN8W3j/84Q/6OjQ0VHJyciQvL0+efvppiYyM7LXfRy3MMTExvfbrAbg6ixYtkvb2dv39P3DgQCkvL5d169ZJdXW10bhUTFYajaXODl5p0zL151APNAAgkBs82h073gD85o477tC7MseOHZOf/exn8utf/1r+7d/+rdcXZpqPANagdjI++ugj+c///E+55ZZbpF+/fnLNNdfIE088IfPmzTtvKaD6b9TPqd2QM3dF3nzzTRk7dqx+UHfttdfKnj17zvq9Pv74Y7nxxht1B9rc3Fz5h3/4B2lqajqrGuaHP/yhPPTQQxIfH693TlTy/fWvf12PiFG/rorvmWee6flvfvrTn8qYMWP0wzz1a/793/+9NDY29sT1la98Rerq6nR86uP73/++/py6XrFixVnxqV0VtbuieP/cr776qtx0003693755Zf1w4j77rtPsrOz9Tqmfu8///nPZz3AXL9+vfziF7/o+T3Vr3W+naNly5bJqFGjdJWB+rP/f//f/3dWPOrn/uM//kP+5m/+RuLi4nRFwm9+85ur/H8cAK7Mx5ewhp9Z0XjgwAG54YYb9Po5cuRIeffdd8+79qp7TvX+o9bUcePGyYYNGz53DfcVEm8AfuMtM1ULqio7mjlzpqxdu1Z/7vNuOBW1AKub5tjYWH2jfO6N5LkL86Xc1J8+fVoeeOABnbCrxX7IkCHy+9//3sd/E4AzqO9V9aFuhNra2q7q13r88cf197yqalHfr3fddVdPh9mjR4/qB3tqd33Xrl06oVU3cSqpPtNPfvITfeO1fft2+dd//Vf55S9/KStXrpS//OUvcvDgQZ38qjXEKzg4WH/N3r179Y79e++9J9/73vd6yrvVWqOSePVAUX384z/+42X9mf75n/9ZvvnNb8r+/ft1+X1ra6tMmjRJP2RQDxbUw4EvfvGLsnnzZv31KuGeNm2afPWrX+35PdV6eq6CggK555575N5775Xdu3frm0n15/Um/l7q73Py5Mn670M9VFBHAtTfAwD409FLXMO91HQFdR+p7hc3bdqkHxr+v//3/877tern1dqs7gWHDh2q7zXVWMTeWMMvF6XmgM11d3dLS4eZ8S5RYSFX3OlR3VR++umneodJ8d5w/tM//ZNeBNWNp7rhHDRokN4h8954q92e119/Xc9S/Jd/+RfZtm2bjB8//or/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SpcuHdBYADjPV1c83eXpp5+W8ePHn7YeYLdly5bJjBkz5IEHHijQ/Z988klTZzx06JDtscF5JN5wjW7dupnK1KZNm+S1116Td999V0aPHl3kx6lQoYLp8bTL0aNH5Z///KfceeedEgg33XST/PzzzyR+BfDMM8/IQw89JM2aNTvtfVauXCndu3eXUqVKScWKFU3L9d69e3P+v2fPnnLNNddIvXr1pH79+uYLU+/722+/BehZwM369u0rS5Yskf/93/+VdevWyfTp003yqKNgnKSNTm5y4sSJ82pw1AYNrWQDKF60nui76OhFHXnmf5t2RmijXKAbCX1ef/1108Cv9YKCaNq0qVxwwQXy8ccf2x4bnEfiDdfw9Q5Vr17dDBHq3LmzzJ49O+f/teJ64403StWqVU3irMnTp59+musxjhw5Irfeeqsp8CpXrpzv8B3/oeY6FFwrb0uXLs35fx2+qLfpcEZ14MABk9xqwl6iRAmTcH344YenfR7a0qnPpUOHDmfsKfriiy9yVRy1lbZly5YyYcIE01umz+G+++6TzMxMeemll8y50eHrmuj5K1u2rFx00UUyceLEAp1nnJ6+9tqD3apVK9Ob/e2338ru3btlwIAB+d5fXxs97/q+0yHnKN70/TNv3jz5+9//LldccYXUrFlT2rVrJ48//rj06tWrQOWNbxj1N998Y6Y0REdHm7JEG4T8aWPbJZdcYsokLTO1d0Xfh/7l3HPPPWfKQ62Y6igfTb6HDh1qykZ9XI1vzJgxOX8zduxYU66WLFnSPKaWP4cPH86J6/bbbze9Mv49S0qva3nmT8s7X4+T73l/9tlnctlll5ljf/LJJ2ct03Uk1I8//mh6r3zH1MfKb6j5559/Lk2aNDFlrz73vGW/3qZDP++44w6JjY01Zex77713nq84gEDTupDvogm2lgX+t2ndKe9Qc238HDZsmBk9o3UmbVR///33TZmp5ZqWCXXr1j1l2tjZGuLzqxNMmTLFNND7e+utt0zdUcs+fZx+/frl+n+9P3W44oHEG66khd2vv/5qejZ8dNh5mzZtTIVU/18rkloILly4MOc+jzzyiKmoffnll/Ldd9+ZCtrixYvPK5annnpKVq9ebQrkP/74w8zxjY+PP+39teKtcRbGxo0bzXE04dMKqPac9+jRQ3bs2GGel1bodVjSggULcv2dVu71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", "text/plain": [ "
" ] diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index e956efce8d..90baecc399 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -48,8 +48,8 @@ def __init__( ) def f(x): # return x -273 - return self.initial_water_vapour_mixing_ratio*self.p0*(x/self.T0)**(1/(Rair/c_p)) - self.formulae.saturation_vapour_pressure.pvs_water(x) - + return self.initial_water_vapour_mixing_ratio/(self.initial_water_vapour_mixing_ratio+ const.eps)*self.p0*(x/self.T0)**(c_p/Rair + ) - self.formulae.saturation_vapour_pressure.pvs_water(x) tdews = (fsolve(f, [150,300])) self.Tcloud = np.max(tdews) self.Zcloud = (self.T0-self.Tcloud)*c_p/self.formulae.constants.g_std @@ -58,6 +58,13 @@ def f(x): self.pcloud = self.formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio( self.p0, thstd, self.initial_water_vapour_mixing_ratio, self.Zcloud) + np.testing.assert_approx_equal( + actual=self.pcloud*(self.initial_water_vapour_mixing_ratio/(self.initial_water_vapour_mixing_ratio + const.eps))/ + self.formulae.saturation_vapour_pressure.pvs_water(self.Tcloud), + desired=1, + significant=4 + ) + # self.w_avg = w_avg self.r_wet = r_wet # self.N_STP = N_STP diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py index f99e3b8d7d..093135ba8f 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py @@ -84,7 +84,7 @@ def run(self): } self.save(output) - while self.particulator.environment["z"][0] >0 and self.particulator.attributes["volume"][0] > 1e-30: + while self.particulator.environment["z"][0] >0 and output["r"][-1] > 1e-8: print(self.particulator.environment["z"][0]) self.particulator.run(1) self.save(output) From df9287a10be2cb0b68e056c0807101ecd64a562e Mon Sep 17 00:00:00 2001 From: emmacware Date: Fri, 6 Jun 2025 14:52:37 +0200 Subject: [PATCH 11/28] figure settings --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 4442 ++++++++++++++++- .../Loftus_and_Wordsworth_2021/settings.py | 44 +- .../Loftus_and_Wordsworth_2021/simulation.py | 4 +- 3 files changed, 4205 insertions(+), 285 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 7663ea7bea..c48d4892c3 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 25, "id": "d8f644e9", "metadata": {}, "outputs": [], @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 26, "id": "2fb6b5aa", "metadata": {}, "outputs": [], @@ -31,29 +31,30 @@ "from PySDM.physics import drop_growth\n", "from PySDM.physics import ventilation\n", "from PySDM.physics.particle_shape_and_density.oblate_spheroid import OblateSpheroid\n", - "from PySDM.physics import si\n" + "from PySDM.physics import si\n", + "from scipy.optimize import fsolve\n" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "92a3a574", "metadata": {}, "outputs": [], "source": [ - "formulaes= Formulae(\n", + "formulae= Formulae(\n", " # terminal_velocity=\"LofusEtAl2021\", #eqn 8\n", " # drop_growth=\"RogersAndYau1996\", #eqn 10\n", " # particle_shape_and_density=\"OblateSpheroid\",\n", " ventilation=\"PruppacherAndRasmussen1979\", #drag force/ gravitation eqns\n", " saturation_vapour_pressure=\"AugustRocheMagnus\",\n", - " diffusion_coordinate=\"WaterMassLogarithm\", #eqn 1\n", + " diffusion_coordinate=\"WaterMassLogarithm\",\n", ")\n" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 28, "id": "41f0ed6d", "metadata": {}, "outputs": [ @@ -63,7 +64,7 @@ "300.0" ] }, - "execution_count": 4, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -75,270 +76,4192 @@ }, { "cell_type": "code", - "execution_count": 5, - "id": "15afecf6", + "execution_count": 62, + "id": "3249b65e", "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "0.9999680769614427\n" + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9634134833789\n", + "\t\t p\n", + "\t\t 1012822.9500843065\n", + "\t\t RH\n", + "\t\t 0.9765862871248907\n", + "\t\t a\n", + "\t\t -30.95918841010328\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.578296789640031\n", + "\t\t fb\n", + "\t\t -6168699570125.941\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9634207104974\n", + "\t\t p\n", + "\t\t 1012823.0355222607\n", + "\t\t RH\n", + "\t\t 0.9765859543352727\n", + "\t\t a\n", + "\t\t -30.95918841010328\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5783049178971956\n", + "\t\t fb\n", + "\t\t -6168700281630.32\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.96342793761573\n", + "\t\t p\n", + "\t\t 1012823.1209602171\n", + "\t\t RH\n", + "\t\t 0.9765856215457984\n", + "\t\t a\n", + "\t\t -30.95918841010328\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5783130461532092\n", + "\t\t fb\n", + "\t\t -6168700993134.571\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9507209513936\n", + "\t\t p\n", + "\t\t 1012676.3824214343\n", + "\t\t RH\n", + "\t\t 0.9620369993030186\n", + "\t\t a\n", + "\t\t -29.81642202197012\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8666415026044445\n", + "\t\t fb\n", + "\t\t -12373299220677.494\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.90662277570584\n", + "\t\t p\n", + "\t\t 1012158.79325844\n", + "\t\t RH\n", + "\t\t 0.9488745587023921\n", + "\t\t a\n", + "\t\t -29.845959483572216\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5932155847342155\n", + "\t\t fb\n", + "\t\t -6184810344976.083\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9066333010911\n", + "\t\t p\n", + "\t\t 1012158.917629983\n", + "\t\t RH\n", + "\t\t 0.9488740875640582\n", + "\t\t a\n", + "\t\t -29.845959483572216\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.593221138936329\n", + "\t\t fb\n", + "\t\t -6184811380402.374\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.90664382647594\n", + "\t\t p\n", + "\t\t 1012159.0420015308\n", + "\t\t RH\n", + "\t\t 0.9488736164260189\n", + "\t\t a\n", + "\t\t -29.845959483572216\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5932266931373219\n", + "\t\t fb\n", + "\t\t -6184812415828.394\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.93820260636215\n", + "\t\t p\n", + "\t\t 1012535.7005486615\n", + "\t\t RH\n", + "\t\t 0.9323193298702869\n", + "\t\t a\n", + "\t\t -28.488153087711776\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6349078434077443\n", + "\t\t fb\n", + "\t\t -12411922510608.846\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.8177218723501\n", + "\t\t p\n", + "\t\t 1011116.2068822231\n", + "\t\t RH\n", + "\t\t 0.9224053590916934\n", + "\t\t a\n", + "\t\t -28.86221864419622\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.9313547337171976\n", + "\t\t fb\n", + "\t\t -12389068535747.512\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9943736831119\n", + "\t\t p\n", + "\t\t 1013207.5322592934\n", + "\t\t RH\n", + "\t\t 0.8996476830823505\n", + "\t\t a\n", + "\t\t -28.30139780596837\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8315066664607937\n", + "\t\t fb\n", + "\t\t -12441925103929.836\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.95428420335634\n", + "\t\t p\n", + "\t\t 1012737.6130844497\n", + "\t\t RH\n", + "\t\t 0.8862182861954118\n", + "\t\t a\n", + "\t\t -28.924739899377165\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7133459113657017\n", + "\t\t fb\n", + "\t\t -6216235315697.642\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.94573279103884\n", + "\t\t p\n", + "\t\t 1012640.7213250437\n", + "\t\t RH\n", + "\t\t 0.8714381890397797\n", + "\t\t a\n", + "\t\t -27.74375633713891\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.733942374500773\n", + "\t\t fb\n", + "\t\t -12457266327821.965\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.97248126580394\n", + "\t\t p\n", + "\t\t 1012961.2616366227\n", + "\t\t RH\n", + "\t\t 0.8552212862638529\n", + "\t\t a\n", + "\t\t -27.07506960810236\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5298846067986657\n", + "\t\t fb\n", + "\t\t -12482630173385.459\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.61308346437954\n", + "\t\t p\n", + "\t\t 1008722.881951865\n", + "\t\t RH\n", + "\t\t 0.8544814073629403\n", + "\t\t a\n", + "\t\t -28.985844710864058\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.9431953287465719\n", + "\t\t fb\n", + "\t\t -6191747867651.295\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.6131020964191\n", + "\t\t p\n", + "\t\t 1008723.1015820028\n", + "\t\t RH\n", + "\t\t 0.8544806544604215\n", + "\t\t a\n", + "\t\t -28.985844710864058\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.9432005537054442\n", + "\t\t fb\n", + "\t\t -6191749700880.462\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.67504551555817\n", + "\t\t p\n", + "\t\t 1009458.0559705176\n", + "\t\t RH\n", + "\t\t 0.8366496131787623\n", + "\t\t a\n", + "\t\t -27.2919314232323\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6865617532343624\n", + "\t\t fb\n", + "\t\t -12434693879454.594\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.78113628679904\n", + "\t\t p\n", + "\t\t 1010714.5777850668\n", + "\t\t RH\n", + "\t\t 0.8172109612077316\n", + "\t\t a\n", + "\t\t -27.243427595841084\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7454617422883495\n", + "\t\t fb\n", + "\t\t -12464588720288.66\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.93639568798415\n", + "\t\t p\n", + "\t\t 1012553.4130444452\n", + "\t\t RH\n", + "\t\t 0.7961007213258735\n", + "\t\t a\n", + "\t\t -27.45735064584614\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.9618273611364095\n", + "\t\t fb\n", + "\t\t -12499738720389.633\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.55856038469784\n", + "\t\t p\n", + "\t\t 1008099.5501643746\n", + "\t\t RH\n", + "\t\t 0.7950199449271899\n", + "\t\t a\n", + "\t\t -27.266316298646004\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8450500056239783\n", + "\t\t fb\n", + "\t\t -12435588165975.783\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.76436003945315\n", + "\t\t p\n", + "\t\t 1010531.700768368\n", + "\t\t RH\n", + "\t\t 0.7720553130841131\n", + "\t\t a\n", + "\t\t -26.991953293184714\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7862195513879606\n", + "\t\t fb\n", + "\t\t -12489560841021.805\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.3762280119534\n", + "\t\t p\n", + "\t\t 1005963.3610371638\n", + "\t\t RH\n", + "\t\t 0.7708117070502777\n", + "\t\t a\n", + "\t\t -27.76000864318786\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6533457271261173\n", + "\t\t fb\n", + "\t\t -6198771660676.603\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.3762495295871\n", + "\t\t p\n", + "\t\t 1005963.614188258\n", + "\t\t RH\n", + "\t\t 0.7708109211164261\n", + "\t\t a\n", + "\t\t -27.76000864318786\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6533482503285692\n", + "\t\t fb\n", + "\t\t -6198773776708.654\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.3762710472189\n", + "\t\t p\n", + "\t\t 1005963.8673393718\n", + "\t\t RH\n", + "\t\t 0.7708101351835809\n", + "\t\t a\n", + "\t\t -27.76000864318786\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6533507735300453\n", + "\t\t fb\n", + "\t\t -6198775892739.596\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.6386503663267\n", + "\t\t p\n", + "\t\t 1009059.633989164\n", + "\t\t RH\n", + "\t\t 0.7459376545882029\n", + "\t\t a\n", + "\t\t -28.049697612923204\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.883905407482185\n", + "\t\t fb\n", + "\t\t -6232807549026.076\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.96843012835257\n", + "\t\t p\n", + "\t\t 1012959.05658442\n", + "\t\t RH\n", + "\t\t 0.7192913688709481\n", + "\t\t a\n", + "\t\t -27.79787376067437\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8304781613488469\n", + "\t\t fb\n", + "\t\t -6264034630967.177\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9684526690836\n", + "\t\t p\n", + "\t\t 1012959.3230890674\n", + "\t\t RH\n", + "\t\t 0.7192906044223643\n", + "\t\t a\n", + "\t\t -27.79787376067437\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8304807946281323\n", + "\t\t fb\n", + "\t\t -6264036817252.785\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9684752098124\n", + "\t\t p\n", + "\t\t 1012959.5895937356\n", + "\t\t RH\n", + "\t\t 0.7192898399748074\n", + "\t\t a\n", + "\t\t -27.79787376067437\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8304834279063279\n", + "\t\t fb\n", + "\t\t -6264039003537.17\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.5647883078875\n", + "\t\t p\n", + "\t\t 1008200.6176316094\n", + "\t\t RH\n", + "\t\t 0.7177226772693551\n", + "\t\t a\n", + "\t\t -26.685765015429112\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7917025483244458\n", + "\t\t fb\n", + "\t\t -12495504889727.533\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.96388245266064\n", + "\t\t p\n", + "\t\t 1012917.3203774029\n", + "\t\t RH\n", + "\t\t 0.6891957908215012\n", + "\t\t a\n", + "\t\t -26.03057471454337\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5692294892959228\n", + "\t\t fb\n", + "\t\t -12614584749311.312\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.5487660825412\n", + "\t\t p\n", + "\t\t 1008024.1933415018\n", + "\t\t RH\n", + "\t\t 0.6874180599561547\n", + "\t\t a\n", + "\t\t -26.50013640516871\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7750814690527159\n", + "\t\t fb\n", + "\t\t -12517666561596.486\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.1263073775298\n", + "\t\t p\n", + "\t\t 1003061.9568294361\n", + "\t\t RH\n", + "\t\t 0.685585751321056\n", + "\t\t a\n", + "\t\t -27.374182570649307\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6903408826343748\n", + "\t\t fb\n", + "\t\t -6203646073041.76\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.12633602323774\n", + "\t\t p\n", + "\t\t 1003062.2931498039\n", + "\t\t RH\n", + "\t\t 0.6855848187531304\n", + "\t\t a\n", + "\t\t -27.374182570649307\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6903433318476198\n", + "\t\t fb\n", + "\t\t -6203648891736.9795\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.59719805859504\n", + "\t\t p\n", + "\t\t 1008608.134868544\n", + "\t\t RH\n", + "\t\t 0.6550663572221505\n", + "\t\t a\n", + "\t\t -26.707368570811177\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.982852877883842\n", + "\t\t fb\n", + "\t\t -12539185333289.902\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.1621264200539\n", + "\t\t p\n", + "\t\t 1003496.1233044433\n", + "\t\t RH\n", + "\t\t 0.6530010760114098\n", + "\t\t a\n", + "\t\t -27.086585109608947\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6299263318547909\n", + "\t\t fb\n", + "\t\t -6219531963837.108\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.1621600706134\n", + "\t\t p\n", + "\t\t 1003496.5185089135\n", + "\t\t RH\n", + "\t\t 0.6530000328922426\n", + "\t\t a\n", + "\t\t -27.086585109608947\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6299286558387365\n", + "\t\t fb\n", + "\t\t -6219535268606.5\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.71850671589897\n", + "\t\t p\n", + "\t\t 1010052.8396879905\n", + "\t\t RH\n", + "\t\t 0.6207177830246923\n", + "\t\t a\n", + "\t\t -27.40899182734051\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8620717093032405\n", + "\t\t fb\n", + "\t\t -6268407723961.931\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.718532644886\n", + "\t\t p\n", + "\t\t 1010053.1456281864\n", + "\t\t RH\n", + "\t\t 0.6207170225767731\n", + "\t\t a\n", + "\t\t -27.40899182734051\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8620738852557082\n", + "\t\t fb\n", + "\t\t -6268410236524.556\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.7185585738702\n", + "\t\t p\n", + "\t\t 1010053.4515684105\n", + "\t\t RH\n", + "\t\t 0.6207162621300264\n", + "\t\t a\n", + "\t\t -27.40899182734051\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8620760612071947\n", + "\t\t fb\n", + "\t\t -6268412749085.575\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.2702097258826\n", + "\t\t p\n", + "\t\t 1004780.5862983869\n", + "\t\t RH\n", + "\t\t 0.6184014577006727\n", + "\t\t a\n", + "\t\t -27.494233628209678\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.9096879930408022\n", + "\t\t fb\n", + "\t\t -6227398634951.213\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.2702353319097\n", + "\t\t p\n", + "\t\t 1004780.887301095\n", + "\t\t RH\n", + "\t\t 0.6184007066930584\n", + "\t\t a\n", + "\t\t -27.494233628209678\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.9096902551531747\n", + "\t\t fb\n", + "\t\t -6227401136482.012\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.2702609379339\n", + "\t\t p\n", + "\t\t 1004781.1883038302\n", + "\t\t RH\n", + "\t\t 0.6183999556865956\n", + "\t\t a\n", + "\t\t -27.494233628209678\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.9096925172645424\n", + "\t\t fb\n", + "\t\t -6227403638011.231\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9229274444732\n", + "\t\t p\n", + "\t\t 1012482.0202629202\n", + "\t\t RH\n", + "\t\t 0.5844473315459593\n", + "\t\t a\n", + "\t\t -27.1838014885193\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8177626204242621\n", + "\t\t fb\n", + "\t\t -6307463212086.996\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.9229657042697\n", + "\t\t p\n", + "\t\t 1012482.4724735708\n", + "\t\t RH\n", + "\t\t 0.5844462768441333\n", + "\t\t a\n", + "\t\t -27.1838014885193\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8177653192936476\n", + "\t\t fb\n", + "\t\t -6307466903857.707\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.46069317040946\n", + "\t\t p\n", + "\t\t 1007037.0902348979\n", + "\t\t RH\n", + "\t\t 0.5818656131131787\n", + "\t\t a\n", + "\t\t -26.525770556213537\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5266312994781783\n", + "\t\t fb\n", + "\t\t -6277104428651.627\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.46074004330904\n", + "\t\t p\n", + "\t\t 1007037.642119093\n", + "\t\t RH\n", + "\t\t 0.581864321662108\n", + "\t\t a\n", + "\t\t -26.525770556213537\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5266334236334191\n", + "\t\t fb\n", + "\t\t -6277108996003.316\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.98908194337633\n", + "\t\t p\n", + "\t\t 1001503.3881659433\n", + "\t\t RH\n", + "\t\t 0.579192226038954\n", + "\t\t a\n", + "\t\t -26.067474651387215\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7753490491425593\n", + "\t\t fb\n", + "\t\t -12499129757004.676\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.7452115348817\n", + "\t\t p\n", + "\t\t 1010407.7384859911\n", + "\t\t RH\n", + "\t\t 0.5435233639760522\n", + "\t\t a\n", + "\t\t -26.728020255579516\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6601975995114632\n", + "\t\t fb\n", + "\t\t -6297310107423.109\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.7452444341992\n", + "\t\t p\n", + "\t\t 1010408.1267720256\n", + "\t\t RH\n", + "\t\t 0.5435225192866958\n", + "\t\t a\n", + "\t\t -26.728020255579516\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6601992559348544\n", + "\t\t fb\n", + "\t\t -6297313281927.258\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.74527733351226\n", + "\t\t p\n", + "\t\t 1010408.5150581059\n", + "\t\t RH\n", + "\t\t 0.5435216745989843\n", + "\t\t a\n", + "\t\t -26.728020255579516\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6602009123573385\n", + "\t\t fb\n", + "\t\t -6297316456428.848\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.2583142123211\n", + "\t\t p\n", + "\t\t 1004681.6893377787\n", + "\t\t RH\n", + "\t\t 0.540556675445887\n", + "\t\t a\n", + "\t\t -26.064909127313054\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8502251142462253\n", + "\t\t fb\n", + "\t\t -12573190804047.61\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.76081905752415\n", + "\t\t p\n", + "\t\t 998855.0908611602\n", + "\t\t RH\n", + "\t\t 0.5374783054397425\n", + "\t\t a\n", + "\t\t -27.03939476437234\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8063893469040323\n", + "\t\t fb\n", + "\t\t -6203483915430.949\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.76084784256267\n", + "\t\t p\n", + "\t\t 998855.4278116744\n", + "\t\t RH\n", + "\t\t 0.5374775685070795\n", + "\t\t a\n", + "\t\t -27.03939476437234\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8063911083575289\n", + "\t\t fb\n", + "\t\t -6203486742038.943\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.7608766275977\n", + "\t\t p\n", + "\t\t 998855.7647622237\n", + "\t\t RH\n", + "\t\t 0.5374768315756829\n", + "\t\t a\n", + "\t\t -27.03939476437234\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8063928698102046\n", + "\t\t fb\n", + "\t\t -6203489568644.957\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.6345822748919\n", + "\t\t p\n", + "\t\t 1009130.0847110075\n", + "\t\t RH\n", + "\t\t 0.5002840005025697\n", + "\t\t a\n", + "\t\t -25.613832705415277\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6916978879199097\n", + "\t\t fb\n", + "\t\t -12695442955964.844\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.59374199220275\n", + "\t\t p\n", + "\t\t 996929.8672275824\n", + "\t\t RH\n", + "\t\t 0.4933511605950075\n", + "\t\t a\n", + "\t\t -26.01209163852019\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8936181772524167\n", + "\t\t fb\n", + "\t\t -12480048956456.535\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.59846761895216\n", + "\t\t p\n", + "\t\t 1008734.9601573372\n", + "\t\t RH\n", + "\t\t 0.45497077906450356\n", + "\t\t a\n", + "\t\t -26.55718263514624\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.703820807499301\n", + "\t\t fb\n", + "\t\t -6325862706578.566\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.5985221206016\n", + "\t\t p\n", + "\t\t 1008735.6026492111\n", + "\t\t RH\n", + "\t\t 0.45496960626990074\n", + "\t\t a\n", + "\t\t -26.55718263514624\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7038230928980492\n", + "\t\t fb\n", + "\t\t -6325867969616.5\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.05302540297635\n", + "\t\t p\n", + "\t\t 1002330.6290007515\n", + "\t\t RH\n", + "\t\t 0.4510955224244599\n", + "\t\t a\n", + "\t\t -26.489724792419523\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6720403871552741\n", + "\t\t fb\n", + "\t\t -6293487292384.741\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.4936049040689\n", + "\t\t p\n", + "\t\t 995792.5298544584\n", + "\t\t RH\n", + "\t\t 0.447056467755106\n", + "\t\t a\n", + "\t\t -25.50725569678658\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.69729784035404\n", + "\t\t fb\n", + "\t\t -12520697401323.71\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.6386875398746\n", + "\t\t p\n", + "\t\t 1009243.7380141908\n", + "\t\t RH\n", + "\t\t 0.4080244137828001\n", + "\t\t a\n", + "\t\t -25.808855904570255\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.9335990751525294\n", + "\t\t fb\n", + "\t\t -12741811261076.008\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.0580149333527\n", + "\t\t p\n", + "\t\t 1002424.9751234822\n", + "\t\t RH\n", + "\t\t 0.40362039001371713\n", + "\t\t a\n", + "\t\t -26.400507021227444\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6888223537049074\n", + "\t\t fb\n", + "\t\t -6311273200677.684\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.4612365810754\n", + "\t\t p\n", + "\t\t 995451.6040362052\n", + "\t\t RH\n", + "\t\t 0.3990133803764959\n", + "\t\t a\n", + "\t\t -26.583978364305075\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7744024442858238\n", + "\t\t fb\n", + "\t\t -6252081968152.138\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.75729651343744\n", + "\t\t p\n", + "\t\t 1010682.5201739138\n", + "\t\t RH\n", + "\t\t 0.3599180550573331\n", + "\t\t a\n", + "\t\t -25.40815038618358\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7768808771103395\n", + "\t\t fb\n", + "\t\t -12822045052161.95\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.13591979919784\n", + "\t\t p\n", + "\t\t 1003380.430799292\n", + "\t\t RH\n", + "\t\t 0.35493481307386104\n", + "\t\t a\n", + "\t\t -26.56059175918776\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.828029446606078\n", + "\t\t fb\n", + "\t\t -6311999304582.672\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.1359802303137\n", + "\t\t p\n", + "\t\t 1003381.1405048287\n", + "\t\t RH\n", + "\t\t 0.35493379464028496\n", + "\t\t a\n", + "\t\t -26.56059175918776\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8280317718010065\n", + "\t\t fb\n", + "\t\t -6312005162704.229\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.49550007237843\n", + "\t\t p\n", + "\t\t 995894.279243401\n", + "\t\t RH\n", + "\t\t 0.34970454256139255\n", + "\t\t a\n", + "\t\t -24.946083209684975\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.5673066614242958\n", + "\t\t fb\n", + "\t\t -12633997501643.025\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.95733252026787\n", + "\t\t p\n", + "\t\t 1013091.2848584556\n", + "\t\t RH\n", + "\t\t 0.31113939257485534\n", + "\t\t a\n", + "\t\t -24.928018045147482\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6122417853631499\n", + "\t\t fb\n", + "\t\t -12939045993046.453\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.2883945619583\n", + "\t\t p\n", + "\t\t 1005219.5661128054\n", + "\t\t RH\n", + "\t\t 0.3055196097854639\n", + "\t\t a\n", + "\t\t -25.962943185374478\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6020543149237779\n", + "\t\t fb\n", + "\t\t -6355154960367.686\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.2884671009792\n", + "\t\t p\n", + "\t\t 1005220.419140811\n", + "\t\t RH\n", + "\t\t 0.3055185588520758\n", + "\t\t a\n", + "\t\t -25.962943185374478\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6020561107407586\n", + "\t\t fb\n", + "\t\t -6355161967995.529\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.59683125577067\n", + "\t\t p\n", + "\t\t 997127.9169250539\n", + "\t\t RH\n", + "\t\t 0.2995937000525491\n", + "\t\t a\n", + "\t\t -26.10623029362231\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6560340730579426\n", + "\t\t fb\n", + "\t\t -6266092974909.267\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.59688438804767\n", + "\t\t p\n", + "\t\t 997128.5381438957\n", + "\t\t RH\n", + "\t\t 0.29959294078821314\n", + "\t\t a\n", + "\t\t -26.10623029362231\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6560355031956475\n", + "\t\t fb\n", + "\t\t -6266098154336.182\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 298.5969375203124\n", + "\t\t p\n", + "\t\t 997129.1593628546\n", + "\t\t RH\n", + "\t\t 0.29959218152629075\n", + "\t\t a\n", + "\t\t -26.10623029362231\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.6560369333322771\n", + "\t\t fb\n", + "\t\t -6266103333756.395\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 297.8811713226632\n", + "\t\t p\n", + "\t\t 988803.7391899653\n", + "\t\t RH\n", + "\t\t 0.29332510901658\n", + "\t\t a\n", + "\t\t -26.509685757794315\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.8577808690303017\n", + "\t\t fb\n", + "\t\t -6231300078266.314\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", + " improvement from the last ten iterations.\n", + " tdews = (fsolve(f, [150,300]))\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", + " warnings.warn(\n", + "failed to find interval\n", + "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", + "\tcontext:\n", + "\t\t T\n", + "\t\t 299.51504213715594\n", + "\t\t p\n", + "\t\t 1007943.1840128525\n", + "\t\t RH\n", + "\t\t 0.2558983502422977\n", + "\t\t a\n", + "\t\t -25.174929273112294\n", + "\t\t b\n", + "\t\t -65.34255573852614\n", + "\t\t fa\n", + "\t\t -0.7717154280335414\n", + "\t\t fb\n", + "\t\t -12862931725688.932\n" ] } ], "source": [ - "settings = Settings( \n", - " planet=EarthLike(),\n", - " r_wet= 1e-4*si.m,\n", - " mass_of_dry_air= 1e5*si.kg,\n", - " coord= \"WaterMassLogarithm\",\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a204f0b1", - "metadata": {}, - "outputs": [], - "source": [ - "# from scipy.optimize import fsolve\n", + "radius_array = np.logspace(-4.5, -2.5, 50) * si.m\n", + "RH_array = np.linspace(0.25, .99, 50)\n", + "output_matrix = np.full((len(RH_array), len(radius_array)), np.nan)\n", + "const = formulae.constants\n", "\n", - "# pvs = settings.formulae.saturation_vapour_pressure.pvs_water(settings.T0)\n", - "# initial_water_vapour_mixing_ratio = settings.formulae.constants.eps / (settings.p0 / settings.RH0 / pvs - 1\n", - "# )\n", - "# def mix(dry,vap,ratio):\n", - "# return (dry + ratio * vap)/(1 + ratio)\n", + "def mix(dry,vap,ratio):\n", + " return (dry + ratio * vap)/(1 + ratio)\n", "\n", - "# const = settings.formulae.constants\n", - "# Rair = mix(const.Rd,const.Rv,initial_water_vapour_mixing_ratio)\n", - "# c_p = mix(const.c_pd,const.c_pv,initial_water_vapour_mixing_ratio)\n", + "for i,RH in enumerate(RH_array[::-1]):\n", + " new_Earth.RH_zref = RH\n", "\n", - "# def f(x):\n", - "# return initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio+ const.eps)*settings.p0*(x/settings.T0)**(c_p/Rair\n", - "# ) - settings.formulae.saturation_vapour_pressure.pvs_water(x)\n", - " \n", - "# tdews = (fsolve(f, [150,300]))\n", - "# Tcloud = np.max(tdews)\n", - "# Zcloud = (settings.T0-settings.Tcloud)*c_p/settings.formulae.constants.g_std\n", - "# thstd =settings.formulae.trivia.th_std(settings.p0, settings.T0)\n", + " pvs = formulae.saturation_vapour_pressure.pvs_water(new_Earth.T_STP)\n", + " initial_water_vapour_mixing_ratio = const.eps / (new_Earth.p_STP / new_Earth.RH_zref / pvs - 1\n", + " )\n", "\n", - "# pcloud = settings.formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio(settings.p0, \n", - "# thstd, settings.initial_water_vapour_mixing_ratio, settings.Zcloud)\n", - "# print(Tcloud, Zcloud, pcloud)\n", - "# print(settings.RH0)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "3249b65e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9999444893251528\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/emmaware/PySDM/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py:53: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "348.74625129556915\n", - "342.25625129556914\n", - "335.7662521076893\n", - "329.2762552973796\n", - "322.7862624287392\n", - "316.2962750645159\n", - "309.8062947661054\n", - "303.3163187806435\n", - "296.8263478874779\n", - "290.33638286527827\n", - "283.84643778982917\n", - "277.35650014067284\n", - "270.8665871001094\n", - "264.37669201735326\n", - "257.8868115658993\n", - "251.39694690765174\n", - "244.90710485484263\n", - "238.41728091601283\n", - "231.927482674259\n", - "225.4377116733831\n", - "218.94796945582993\n", - "212.45825756268695\n", - "205.96857753368383\n", - "199.47893090719225\n", - "192.9893192202256\n", - "186.49974400843877\n", - "180.01020205496297\n", - "173.52069470107952\n", - "167.0312284210905\n", - "160.54179941972401\n", - "154.05240903468206\n", - "147.56306430998802\n", - "141.0737608734989\n", - "134.58450614820222\n", - "128.0952953782234\n", - "121.60613636483201\n", - "115.11703062872523\n", - "108.62797283970369\n", - "102.13896432591729\n", - "95.65000641432096\n", - "89.16110043067467\n", - "82.67225530698794\n", - "76.1834725557977\n", - "69.69474570287817\n", - "63.2060760692111\n", - "56.71747333723371\n", - "50.22893901404632\n", - "43.74047460539127\n", - "37.25208161565321\n", - "30.76376154785937\n", - "24.27551590367993\n", - "17.78734618342835\n", - "11.299253886061756\n", - "4.811240509181237\n" - ] - }, - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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MusHojT8EuTifD1baTrf0nSuFs7Xs4UUw/n+2chJLibJAgAAl0NAAQAALoeA4mICAgL0zDPPmI+lAefr2UrT+Zamc7Vwvp4twAXO1y0nyQIAAM/GCAoAAHA5BBQAAOByCCgAAMDlEFAAAIDLIaDY4NSpUxo4cKApflO+fHkNHjxYZ86c+cOvef3113X99debr7Gq5yYlJV3y2IyMDDVv3twcFx8fL087159//tk8T61atVS2bFnVqVPHzDbPzMyUp/7bFuZ5S0Jh+pWenq7hw4erYsWKKleunPr27avExMR8x6xbt06dOnUyz1mhQgV17dpVGzdulKeer+Wtt95STEyMypQpoypVqpiv8eTztZw8edIU3fyz1zR3PVfrZ3bAgAGmIqv1WtWoUSO99NJLssOrr76qmjVrmp+vNm3aaO3atX94/Lx589SwYUNzfLNmzfTFF1/ke9xaX/P000+ratWq5tw6d+6sXbt2FW2nrVU8KFk33XSTMzY21rl69Wrnd99956xbt65zwIABf/g1L774onPSpEnmZv2znT59+pLHPvTQQ85u3bqZ4+Li4pyedq6LFi1y3nPPPc6vvvrKuWfPHueCBQucVapUcY4ePdrpqf+2hXneklCYft1///3OqKgo55IlS5w//vijs23bts5rrrkm7/HU1FRnWFiY+Tfevn27c8uWLc6+ffs6w8PDnZmZmU5PO1/L888/74yMjHS+//77zt27dzs3btxofq7tVlznm6tXr155r1V/9Jrmruf6xhtvmNfjZcuWmdeqd99911m2bFnnyy+/7CxJs2fPdvr7+zv/97//Obdu3eocMmSIs3z58s7ExMSLHv/DDz84fXx8nFOmTHFu27bNOW7cOKefn59z8+bNecdMnjzZGRoa6vzkk0/Mz+tf//pXZ61atZznzp0rsn4TUEqY9Y9t/TKuW7cu3xuul5eX8/Dhw3/69d9+++0f/jJ/8cUXzoYNG5ofQrsDSnGf64WsXyTrl8NOxXW+V/q8xaUw/UpKSjIvdPPmzcu776effjLPs2rVKtO2ns9qHzhwIO+YTZs2mft27drl9LTzPXXqlHnT+uabb5yupLjON9eMGTOcf/nLX8ybu90BpbjP9UIPPPCAs2PHjs6SdPXVVzuHDx+e187JyTGB2Pqj6GL69evn7NGjR7772rRp47zvvvvM5w6HwxkR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "new_Earth = EarthLike()\n", - "new_Earth.RH_zref = 0.85\n", - "settings = Settings( \n", - " planet=new_Earth,\n", - " r_wet= 1e-3*si.m,\n", - " mass_of_dry_air= 1e5*si.kg,\n", - " coord= \"WaterMassLogarithm\",\n", - " )\n", - "simulation = Simulation(settings)\n", - "output = simulation.run()\n", + " Rair = mix(const.Rd,const.Rv,initial_water_vapour_mixing_ratio)\n", + " c_p = mix(const.c_pd,const.c_pv,initial_water_vapour_mixing_ratio)\n", + "\n", + " def f(x):\n", + " return initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio+ const.eps)*new_Earth.p_STP*(x/new_Earth.T_STP)**(c_p/Rair\n", + " ) - formulae.saturation_vapour_pressure.pvs_water(x)\n", + " \n", + " tdews = (fsolve(f, [150,300]))\n", + " Tcloud = np.max(tdews)\n", + " Zcloud = (new_Earth.T_STP-Tcloud)*c_p/new_Earth.g_std\n", + " thstd = formulae.trivia.th_std(new_Earth.p_STP, new_Earth.T_STP)\n", + "\n", + " pcloud = formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio(new_Earth.p_STP, \n", + " thstd, initial_water_vapour_mixing_ratio, Zcloud)\n", + "\n", + "\n", + " np.testing.assert_approx_equal(\n", + " actual=pcloud*(initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio + const.eps))/\n", + " formulae.saturation_vapour_pressure.pvs_water(Tcloud),\n", + " desired=1,\n", + " significant=4\n", + " )\n", "\n", - "plt.plot(output['S'],output['z'])" + " for j,r in enumerate(radius_array[::-1]):\n", + " settings = Settings( \n", + " planet=new_Earth,\n", + " r_wet= r,\n", + " mass_of_dry_air= 1e5*si.kg,\n", + " coord= \"WaterMassLogarithm\",\n", + " initial_water_vapour_mixing_ratio= initial_water_vapour_mixing_ratio,\n", + " pcloud= pcloud,\n", + " Zcloud= Zcloud,\n", + " Tcloud= Tcloud,\n", + " formulae=formulae,\n", + " )\n", + " simulation = Simulation(settings)\n", + " try:\n", + " output = simulation.run()\n", + " if output['z'][-1] > 0:\n", + " output_matrix[i, j] = np.nan\n", + " break\n", + " else:\n", + " output_matrix[i, j] = 1 - (output['r'][-1] /(r*1e6))\n", + " except Exception as e:\n", + " break" ] }, { "cell_type": "code", - "execution_count": 8, - "id": "530b1cba", + "execution_count": 120, + "id": "8e6027d8", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "348.74625129556915\n", - "342.25625129556914\n", - "335.7662521076893\n", - "329.2762552973796\n", - "322.7862624287392\n", - "316.2962750645159\n", - "309.8062947661054\n", - "303.3163187806435\n", - "296.8263478874779\n", - "290.33638286527827\n", - "283.84643778982917\n", - "277.35650014067284\n", - "270.8665871001094\n", - "264.37669201735326\n", - "257.8868115658993\n", - "251.39694690765174\n", - "244.90710485484263\n", - "238.41728091601283\n", - "231.927482674259\n", - "225.4377116733831\n", - "218.94796945582993\n", - "212.45825756268695\n", - "205.96857753368383\n", - "199.47893090719225\n", - "192.9893192202256\n", - "186.49974400843877\n", - "180.01020205496297\n", - "173.52069470107952\n", - "167.0312284210905\n", - "160.54179941972401\n", - "154.05240903468206\n", - "147.56306430998802\n", - "141.0737608734989\n", - "134.58450614820222\n", - "128.0952953782234\n", - "121.60613636483201\n", - "115.11703062872523\n", - "108.62797283970369\n", - "102.13896432591729\n", - "95.65000641432096\n", - "89.16110043067467\n", - "82.67225530698794\n", - "76.1834725557977\n", - "69.69474570287817\n", - "63.2060760692111\n", - "56.71747333723371\n", - "50.22893901404632\n", - "43.74047460539127\n", - "37.25208161565321\n", - "30.76376154785937\n", - "24.27551590367993\n", - "17.78734618342835\n", - "11.299253886061756\n", - "4.811240509181237\n" + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/3000932436.py:7: UserWarning: The following kwargs were not used by contour: 'aspect', 'interpolation'\n", + " h = ax[1].contourf(\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/3000932436.py:24: UserWarning: The following kwargs were not used by contour: 'label'\n", + " ax[1].contour(radius_array,RH_array[::-1],output_matrix[:,::-1], levels=contour_levels, colors=\"red\", linewidths=1.5,label=\"10% mass evaporated\")\n", + "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/3000932436.py:25: UserWarning: No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n", + " ax[1].legend()\n" ] }, { "data": { + "image/png": "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e4xfviun3Gs/5HT6YpXX75Wenp6zefNmsZZkZ2fnpGZc9PnC97XCqVOnxPfL0qVLDdvs3r1btFm3bl2e65YsWSL2ec378+bNy6lbt25OTExMzvjx48UxdeG+duzYkdO6deucYsWK5SQlJeXUr18/Z8GCBbnueeHChZxXX301p0yZMjmxsbE5lSpVyvnyyy8d5zds2JBzxx13iOu5nwcffDDn2LFjhq9Bjo/HLZkzZ4449s8//ziOdevWLadNmzaWrvck/Hzi92zGjBmOY1u2bBH3XLXK+v8uj/2WW24xbTN79uyciIgIw2fhBx98kNOxY0fHPr+/q1evFts9evTIGTJkiMufBwmea8GNy7VK+BcGLwCA8KFZ1ctxYn/tOUXpmZcoIda39e/SL16i6v1/Jl+zeWBLSox1/nXJLjBeZs2aRddff71wTbpD79696aOPPhKWNXaFseWkRYsWtHr1auHmYpfgxo0bhVvw3XffFfebNGmScHWxtYpdaEzXrl1FQm4OI+ESdbt376bjxy9PumD34C233EKPPfYYffLJJ5Seni5cnxxuwjkjrcCWnalTp4ptT1nD7rzzTvrtt98Mz5crV442bdqke47DZthyyO+VpFq1auL94PeB/zbOYEsmW9TYsmnEyZMnhauRswhwPUg9+P1mL9KpU6do165d4v2tXLkyLV++XITyfP75507HAkIb3xWNAwAEPRWLJFHpAgn03+nL5Y5uurqYv4cUUERHR4vau48//jiNGjWK6tatS82bN6cHHniAatasabu/gQMHitRBavwZwwKMY8/kg54Xydtvv03ff/89zZkzR7jjuDoB531csGCBQ5iwsFNzRNapU4fee+89x7Fx48YJocfXciZ3I8qUKSPWqampjvgpFjwqP/zwgxCnKuxmdcaXX34pRIsRRsKH4TRLLAi5Iow2MTmfswILsJSUFOHO1MJCld83rjLDoo5foxHshuTQngYNGlBCQoLoNykpScQR8v/KyJEj6bPPPhOuShZs117rm8oVIHCAEAMAWIZjQptWLkLT/tpPy7cf97kQS4iJEtYpX8P3tQrHE3GsFFtzeLY5xxl9+OGHQlhw8Lod6tev77TN+fPn6c033xTWG45xysrKEgKG48mYv//+W5TEYUGoxz///ENLlizJI5YYLmNnJsT4NXLGd36dLORYfGrhmCoWGyp/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", "text/plain": [ - "[]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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MusHojT8EuTifD1baTrf0nSuFs7Xs4UUw/n+2chJLibJAgAAl0NAAQAALoeA4mICAgL0zDPPmI+lAefr2UrT+Zamc7Vwvp4twAXO1y0nyQIAAM/GCAoAAHA5BBQAAOByCCgAAMDlEFAAAIDLIaDY4NSpUxo4cKApflO+fHkNHjxYZ86c+cOvef3113X99debr7Gq5yYlJV3y2IyMDDVv3twcFx8fL087159//tk8T61atVS2bFnVqVPHzDbPzMyUp/7bFuZ5S0Jh+pWenq7hw4erYsWKKleunPr27avExMR8x6xbt06dOnUyz1mhQgV17dpVGzdulKeer+Wtt95STEyMypQpoypVqpiv8eTztZw8edIU3fyz1zR3PVfrZ3bAgAGmIqv1WtWoUSO99NJLssOrr76qmjVrmp+vNm3aaO3atX94/Lx589SwYUNzfLNmzfTFF1/ke9xaX/P000+ratWq5tw6d+6sXbt2FW2nrVU8KFk33XSTMzY21rl69Wrnd99956xbt65zwIABf/g1L774onPSpEnmZv2znT59+pLHPvTQQ85u3bqZ4+Li4pyedq6LFi1y3nPPPc6vvvrKuWfPHueCBQucVapUcY4ePdrpqf+2hXneklCYft1///3OqKgo55IlS5w//vijs23bts5rrrkm7/HU1FRnWFiY+Tfevn27c8uWLc6+ffs6w8PDnZmZmU5PO1/L888/74yMjHS+//77zt27dzs3btxofq7tVlznm6tXr155r1V/9Jrmruf6xhtvmNfjZcuWmdeqd99911m2bFnnyy+/7CxJs2fPdvr7+zv/97//Obdu3eocMmSIs3z58s7ExMSLHv/DDz84fXx8nFOmTHFu27bNOW7cOKefn59z8+bNecdMnjzZGRoa6vzkk0/Mz+tf//pXZ61atZznzp0rsn4TUEqY9Y9t/TKuW7cu3xuul5eX8/Dhw3/69d9+++0f/jJ/8cUXzoYNG5ofQrsDSnGf64WsXyTrl8NOxXW+V/q8xaUw/UpKSjIvdPPmzcu776effjLPs2rVKtO2ns9qHzhwIO+YTZs2mft27drl9LTzPXXqlHnT+uabb5yupLjON9eMGTOcf/nLX8ybu90BpbjP9UIPPPCAs2PHjs6SdPXVVzuHDx+e187JyTGB2Pqj6GL69evn7NGjR7772rRp47zvvvvM5w6HwxkREeGcOnVqvv8fAQEBzg8++KDI+s0lnhK2atUqM3zYunXrvPusoTFrf6E1a9Zc0XNbQ4tDhgzRu+++q8DAQHnyuf5WcnKywsLC5InnW5L/H4u7X+vXr1dWVpY5Lpc1jBwdHW2ez9KgQQMzZP7GG2+Yy3bnzp0zn1vD49YQtaed7+LFi80GqIcPHzbnaF3y6Nevn9mkzU7Fdb6Wbdu2acKECXrnnXf+dMM4dz9Xu1+rMjMzTV8v7Kd1Xlb7Uv207r/weIt1mTX3+H379ikhISHfMdb+Otaloz8694Ky/yejlLH+Ua3ryxfy9fU1P7DWY4VljYbdc889uv/++/P9knniuf7W7t279fLLL+u+++6TJ55vSf1/LIl+Wff7+/ubN4MLhYeH532NtUv5smXL9N5775lr29a1/S+//FKLFi0yz+9p57t3714TUCZOnKhp06bpww8/NPMhbrzxRlvnVRXX+Vpz5Kx5GVOnTjVv5q6guM71t1auXKk5c+Zo6NChKiknTpxQTk6O6dfl9tO6/4+Oz/1YkOcsDAJKEXniiSfMRK8/um3fvr3Yvr/1Bm1tYT127Fh5+rleyPqr86abbtJtt91mRo88/XxLgt3na42YWBMU27dvr9WrV+uHH35Q06ZN1aNHD/OYp52vFU6sv8SnT59u/kpt27atPvjgAzPh8Ntvv/W487Veo6yRojvvvFPFze5zvdCWLVvUq1cvM6G/S5cuJfI93Z19f454mNGjR5sRjD9Su3ZtRURE6NixY/nuz87ONn8xWY8V1tKlS83Q2m/3TbBGU6yZ6W+//bY85VxzHTlyRB07dtQ111xjVsIUF7vPt7j/P5bk+Vr3W6MC1oqNC//ytC5P5n7NrFmzzEot6+c5d/jfus9azbNgwQL1799fnnS+1ioIS+PGjfMer1y5sipVqqQDBw6oqNl9vtZr1ebNm81IkSV3txXrfJ966imNHz9ennKuF17SslalWSMn48aNU0mqVKmSfHx8freS6mL9zGXd/0fH53607sv9+c1tWytIi0yRzWZBgSZjWTO+c1mrUa50IuX+/fvNDOvcm/Wc1nEffvih8+DBg05POlfLoUOHnPXq1XP279/fmZ2d7XQFxXW+V/q8xaUw/cqdWGj9XOayVupcOLFw+vTpZgKeNREvV1ZWljMoKMiscvG0892xY4dpXzhJ9uTJk05vb2/z/J52vtYqpQtfq6yVJdbjK1euvOSqEnc9V4u1Cs1aZThmzBinXa6++mrniBEj8k2SrVat2h9Okr355pvz3deuXbvfTZJ97rnn8h5PTk4u8kmyBBSblrO1aNHCuWbNGuf3339v3mgvXM5mvfk2aNDAPJ7r6NGjZkXOf//7X/MLsGLFCtO2XsguZt++fbav4imuc7W+xloC2KlTJ/O5dXzuzVP/bf/sed3pfK2lmdHR0c6lS5eaNwTrhc+6XbgSwnqhGzZsmHnjsF7g77zzTrOk8ciRI05PO9/c5bZNmjQxyzutN23rzaFx48Yusay6OM63sKv13O1crX/LypUrm5/fC1+njh07VuLLjAMCApxvvfWW+Z0aOnSoWWackJBgHr/rrrucTzzxRN7x1s+hr6+vCSDW7+Mzzzxz0WXG1nNYy+GtVXbWzzDLjD2A9cZj/eCXK1fOGRIS4rz33ntN7YffhgvrFzeX9QNi3ffb25tvvunSAaU4ztX6eLHHXWFAsLj+bf/sed3pfK0XMGupZYUKFZyBgYHOW2655Xfh8uuvv3a2b9/ehBLruBtuuOEPl266+/laf33+7W9/My/4Vg0Y65gLl1l72vm6YkApjnO91O92jRo1Svz8Xn75ZROmrHoo1oiKVe8ll7Xce9CgQfmOnzt3rrN+/frmeCs8f/755/ket0ZR/v73v5v6RFb4sf5gtEYDi5KX9Z+iu2AEAABw5VjFAwAAXA4BBQAAuBwCCgAAcDkEFAAA4HIIKAAAwOUQUAAAgMshoAAAAJdDQAEAAC6HgAIAAFwOAQUAALgcAgoAAHA5BBQAACBX8/8BNYg5lawMHb4AAAAASUVORK5CYII=", - "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -346,22 +4269,43 @@ } ], "source": [ - "simulation = Simulation(settings)\n", - "output = simulation.run()\n", + "row_data = output_matrix[18, ::-1] # Reverse the row for plotting\n", + "fig,ax = plt.subplots(2, 1, figsize=(6, 6),sharex=True,gridspec_kw={\"height_ratios\": [1, 3]},constrained_layout=True)\n", + "ax[0].plot(radius_array,row_data, label=f\"Surface RH = {RH_array[-18]:.2f} %\")\n", + "ax[0].set_ylabel(\"Mass evaporated (%)\")\n", + "ax[0].legend()\n", + "\n", + "h = ax[1].contourf(\n", + " radius_array,RH_array[::-1],\n", + " output_matrix[:,::-1], \n", + " cmap=\"gray_r\", \n", + " levels =np.linspace(0, 1, 100), \n", + " aspect=\"auto\", \n", + " interpolation=\"bilinear\", \n", + ")\n", + "ax[1].set_xscale(\"log\") \n", + "\n", + "# Add labels\n", + "ax[1].set_xlabel(\"Radius (µm)\")\n", + "ax[1].set_ylabel(\"Surface RH (%)\")\n", "\n", - "#output currently has height, RH, radius, and time.. need others?\n", - "plt.plot(output['S'],output['z'])\n" + "cbar = fig.colorbar(h, ax=ax, shrink=0.4)\n", + "cbar.set_label(\"fraction Mass evaporated\")\n", + "contour_levels = [0.1] # Define the level for the contour\n", + "ax[1].contour(radius_array,RH_array[::-1],output_matrix[:,::-1], levels=contour_levels, colors=\"red\", linewidths=1.5,label=\"10% mass evaporated\")\n", + "ax[1].legend()\n", + "plt.show()" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 31, "id": "369fa24a", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAMWCAYAAAAH1l7yAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAADH8ElEQVR4nOzdB5zV5ZX4/zO9F6ZXeu9VxIIFFEEEBMbYYpJ1Y9w12bQ1u+7PdROzWbNu/qnruiluTKIGM4CIiAqiYqMOvXeYXpne587/9Tz33gkgIGXufb7f+/28X6/J/cKMcCDMc7/n+5znnKDu7u5uAQAAAAAAPhHsm18WAAAAAAAoJN4AAAAAAPgQiTcAAAAAAD5E4g0AAAAAgA+ReAMAAAAA4EMk3gAAAAAA+BCJNwAAAAAAPkTiDQAAAACAD4X68he3C5fLJSUlJRIXFydBQUGmwwFgU93d3dLQ0CBZWVkSHGz955qsfQCcuPYprH8A/L3+kXiL6IU3NzfXdBgAAkRhYaHk5OSI1bH2AXDi2qew/gHw9/pH4i2in3Z6/8Li4+NNhwPApurr6/WNnHdNsTrWPgBOXPsU1j8A/l7/SLxFekqM1MLL4gvgatmlbJG1D4AT1z6F9Q+Av9c/exzEAQAAAADApki8AQAAAADwIRJvAAAAAAB8iDPegE11dXVJR0eH6TAcJSwsTEJCQkyHAYfjex8mhIeH22ZUGBDIeA+w770fiTdgw3mBZWVlUltbazoUR0pMTJSMjAxbNRFCYOB7HyappHvAgAE6AQfgf7wH2P/ej8QbsBnvopuWlibR0dEkgH58w2tubpaKigr948zMTNMhwWH43ocpLpdLz70uLS2Vvn378m8PMID3APvf+5F4AzYrL/IuusnJyabDcZyoqCj9qhZg9f8BZefwF773YVpqaqpOvjs7O3XpJQD/4T0gMO79OKwD2Ij3TI960gkzvH/3nK+CP/G9D9O8JeYqAQDgX7wHBMa9H4k3YEOUF5nD3z1M4t8fTOHfHmAe34f2/nsn8QYAALCxDz74QN8Y0nQJQKDq37+//PznP7/krz9x4oReF3fs2CFWQeINwNZuvvlm+da3vnXFCzMA36qsrJS/+7u/0025IiIidGfYWbNmySeffCJ29+KLL+putybXPOW6667Tjc8SEhL8GgsAfJ4vf/nLsmDBgqt+YLhlyxZ55JFHbL2G01wNgN8W3j/84Q/6OjQ0VHJyciQvL0+efvppiYyM7LXfRy3MMTExvfbrAbg6ixYtkvb2dv39P3DgQCkvL5d169ZJdXW10bhUTFYajaXODl5p0zL151APNAAgkBs82h073gD85o477tC7MseOHZOf/exn8utf/1r+7d/+rdcXZpqPANagdjI++ugj+c///E+55ZZbpF+/fnLNNdfIE088IfPmzTtvKaD6b9TPqd2QM3dF3nzzTRk7dqx+UHfttdfKnj17zvq9Pv74Y7nxxht1B9rc3Fz5h3/4B2lqajqrGuaHP/yhPPTQQxIfH693TlTy/fWvf12PiFG/rorvmWee6flvfvrTn8qYMWP0wzz1a/793/+9NDY29sT1la98Rerq6nR86uP73/++/py6XrFixVnxqV0VtbuieP/cr776qtx0003693755Zf1w4j77rtPsrOz9Tqmfu8///nPZz3AXL9+vfziF7/o+T3Vr3W+naNly5bJqFGjdJWB+rP/f//f/3dWPOrn/uM//kP+5m/+RuLi4nRFwm9+85ur/H8cAK7Mx5ewhp9Z0XjgwAG54YYb9Po5cuRIeffdd8+79qp7TvX+o9bUcePGyYYNGz53DfcVEm8AfuMtM1ULqio7mjlzpqxdu1Z/7vNuOBW1AKub5tjYWH2jfO6N5LkL86Xc1J8+fVoeeOABnbCrxX7IkCHy+9//3sd/E4AzqO9V9aFuhNra2q7q13r88cf197yqalHfr3fddVdPh9mjR4/qB3tqd33Xrl06oVU3cSqpPtNPfvITfeO1fft2+dd//Vf55S9/KStXrpS//OUvcvDgQZ38qjXEKzg4WH/N3r179Y79e++9J9/73vd6yrvVWqOSePVAUX384z/+42X9mf75n/9ZvvnNb8r+/ft1+X1ra6tMmjRJP2RQDxbUw4EvfvGLsnnzZv31KuGeNm2afPWrX+35PdV6eq6CggK555575N5775Xdu3frm0n15/Um/l7q73Py5Mn670M9VFBHAtTfAwD409FLXMO91HQFdR+p7hc3bdqkHxr+v//3/877tern1dqs7gWHDh2q7zXVWMTeWMMvF6XmgM11d3dLS4eZ8S5RYSFX3OlR3VR++umneodJ8d5w/tM//ZNeBNWNp7rhHDRokN4h8954q92e119/Xc9S/Jd/+RfZtm2bjB8//or/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SpcuHdBYADjPV1c83eXpp5+W8ePHn7YeYLdly5bJjBkz5IEHHijQ/Z988klTZzx06JDtscF5JN5wjW7dupnK1KZNm+S1116Td999V0aPHl3kx6lQoYLp8bTL0aNH5Z///KfceeedEgg33XST/PzzzyR+BfDMM8/IQw89JM2aNTvtfVauXCndu3eXUqVKScWKFU3L9d69e3P+v2fPnnLNNddIvXr1pH79+uYLU+/722+/BehZwM369u0rS5Yskf/93/+VdevWyfTp003yqKNgnKSNTm5y4sSJ82pw1AYNrWQDKF60nui76OhFHXnmf5t2RmijXKAbCX1ef/1108Cv9YKCaNq0qVxwwQXy8ccf2x4bnEfiDdfw9Q5Vr17dDBHq3LmzzJ49O+f/teJ64403StWqVU3irMnTp59+musxjhw5Irfeeqsp8CpXrpzv8B3/oeY6FFwrb0uXLs35fx2+qLfpcEZ14MABk9xqwl6iRAmTcH344YenfR7a0qnPpUOHDmfsKfriiy9yVRy1lbZly5YyYcIE01umz+G+++6TzMxMeemll8y50eHrmuj5K1u2rFx00UUyceLEAp1nnJ6+9tqD3apVK9Ob/e2338ru3btlwIAB+d5fXxs97/q+0yHnKN70/TNv3jz5+9//LldccYXUrFlT2rVrJ48//rj06tWrQOWNbxj1N998Y6Y0REdHm7JEG4T8aWPbJZdcYsokLTO1d0Xfh/7l3HPPPWfKQ62Y6igfTb6HDh1qykZ9XI1vzJgxOX8zduxYU66WLFnSPKaWP4cPH86J6/bbbze9Mv49S0qva3nmT8s7X4+T73l/9tlnctlll5ljf/LJJ2ct03Uk1I8//mh6r3zH1MfKb6j5559/Lk2aNDFlrz73vGW/3qZDP++44w6JjY01Zex77713nq84gEDTupDvogm2lgX+t2ndKe9Qc238HDZsmBk9o3UmbVR///33TZmp5ZqWCXXr1j1l2tjZGuLzqxNMmTLFNND7e+utt0zdUcs+fZx+/frl+n+9P3W44oHEG66khd2vv/5qejZ8dNh5mzZtTIVU/18rkloILly4MOc+jzzyiKmoffnll/Ldd9+ZCtrixYvPK5annnpKVq9ebQrkP/74w8zxjY+PP+39teKtcRbGxo0bzXE04dMKqPac9+jRQ3bs2GGel1bodVjSggULcv2dVu71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", + "image/png": "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fbtk93Oj2z/yyCNSpUoVc25Kly4tjz76qERHR4vT3Mzn5sMPPzTxUp+jcfLs2bPiFBMmTJCyZctKzpw5pVGjRrJ69epUt58+fbpUrVrVbF+zZk2ZO3euOFl6z4+vObE+6tS6Wnapy7zyyivms/jYY485rmzpphOpIWPmzp1r/etf/7Jmzpypk9JZs2bNSvT7V155xQoPD7dmz55tbdy40br77rutcuXKWRcvXnRv0759e6t27drWr7/+ai1btsyqWLGi1aNHD8vuZevdu7c59iNHjrhvp0+fTrSNXcvWrl07a/LkydaWLVusDRs2WH/729+s0qVLW+fOnXNvM2jQIKtUqVLWggULrLVr11qNGze2mjZt6v791atXrRo1alht2rSx1q9fb85XRESENWrUKMvuZWvRooXVv3//RO9ddHS07cv27bffWnPmzLF27txp7dixw3r66aetHDlymLL683uG9LmZuPLBBx9YS5Yssfbu3WutW7fO6tSpk/ms6GciO5+bzZs3W/fee6/529q9e7f526lUqZLVtWtXy2lu5nMzduxYa8yYMeam34NnzpyxnGDKlClWSEiI9cknn1hbt2413wf58+e3jh07luz2K1assIKCgqzXXnvN+v33361nnnnGxF79/DhRes+PHTixPurUulp2qMusXr3aKlu2rFWrVi1r2LBh7sedULabQdKdyZIGuYSEBKto0aLW66+/7n7s7NmzVmhoqPXVV1+Z+/rlpc9bs2aNe5sffvjBCggIsA4dOmTZRUpJd+fOnVN8jr+UTR0/ftwcq1bKXe+TBsDp06e7t9m2bZvZZuXKlea+BoLAwEDr6NGj7m0mTpxo5cuXz7p06ZJl17K5km7PIJiUv5RNFShQwProo48c9Z7B8npc0Uqnvo4mmk6RWedm2rRpJuG4cuWK5RQZPTeLFi1yVNLdsGFDa8iQIe778fHxVvHixc3FheR069bN6tixY6LHGjVqZA0cONByovSeH7txan3UyXU1J9VlYmNjzcXbefPmJapvnnVA2W4W3cu9bO/evXL06FHThcclPDzcdFNauXKlua//axeeBg0auLfR7QMDA2XVqlVid4sXLzZdP7Rr4uDBg+XUqVPu3/lT2VxdKQsWLGj+X7dunVy5ciXRe6fd6rTrped7p13sIiMj3du0a9dOYmJiZOvWrWLXsrl88cUX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LLUypbccOXJIuXLl5Mknn5S4uLhM39eaNWtkwIAB4k0vvfSSdO7c2STE3hQSEiJPPPGEPPXUU17dD4DUnThxQgYPHiylS5eW0NBQKVq0qLRr105WrFgh/u7TTz+V/Pnz+/RiqWratKkcOXJEwsPDs/RYAPiWq36Y0u3555+Xt99+28QqX9i4caPMnTtXHn300TRt/8wzz5h6YnR0tNePDb4X7OsDAJJq3769TJ48Wa5cuSLr1q2T3r17m2D66quvZup+ChcuLN504cIF+fjjj+Wnn36SrPDAAw/I8OHDZevWrVK9evUs2SeAxLp27Wp6nvz3v/+V8uXLy7Fjx2TBggWm14sv6THpxTm70PiuF1ZvhpZDL2YAyF70YpvL1KlT5bnnnpMdO3a4H8uTJ4+5+cq7774rf//739N8DDVq1JAKFSrI559/LkOGDPH68cG3aOmG7bhah0qVKmW6CLVp00bmzZvn/r1WXnv06CElSpSQXLlySc2aNeWrr75K9Brnz5+XBx980AS+YsWKJdt9x7N7uXb/1sR+w4YN7t9r10V9TLsyqjNnzpjEVpP1sLAwqVSpkrk4kBK92qllady4caotRbNnzzb7cdErtXXq1JFPPvnEtJZpGR5++GGJj4+X1157zZwb7bKuV0c9FShQQG677TaZMmVKms4zgMylMWPZsmXmAmHLli2lTJky0rBhQxk1apTcfffdaYozrq7Tc+bMkVq1aknOnDlNDNmyZUuifS1fvlxuv/12E4s0VmrLisY9z/j24osvmjiYL18+06tHE++hQ4eamKivq8c3ZswY93PeeustE09z585tXlPjzrlz59zH1adPH9Mi49mqpPRnjWOeNM65Wptc5dZKcosWLcy+v/jiixvGcu35tGTJEtNy5dqnvlZy3cu//vprc7FRY66WPWnM18e0y2ffvn0lb968JrZ++OGHGXzHAWQlrf+4btrTReOA52NaX0ravVx7yzzyyCOmx4zWkyIjI2XSpEkmXmpM03hQsWJF+eGHHxLtS2Nuhw4dzGvqc7Tb+MmTJ1M8Nq2jzZgxQzp16pTo8ffee8/UFzXu6evcd999iX6v21Nvyx5IumFrGvR++eWXRC002tW8fv36plKqv9fKpAbD1atXu7cZMWKEqax988038vPPP5tK2m+//ZahY3n22Wfl999/N4F527ZtMnHiRImI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", "text/plain": [ "
" ] diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index 90baecc399..725e1ab516 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -20,6 +20,10 @@ def __init__( r_wet: float, mass_of_dry_air: float, planet: Planet, + initial_water_vapour_mixing_ratio: float, + pcloud: float, + Zcloud: float, + Tcloud: float, coord: str = "WaterMassLogarithm", formulae: Formulae = None, ): @@ -28,51 +32,23 @@ def __init__( diffusion_coordinate=coord, ) const = self.formulae.constants + + self.initial_water_vapour_mixing_ratio = initial_water_vapour_mixing_ratio self.p0 = planet.p_STP self.RH0 = planet.RH_zref self.kappa = 0.2 self.T0 = planet.T_STP self.z_half = 150 * si.metres self.dt = 1 *si.second + self.pcloud = pcloud + self.Zcloud = Zcloud + self.Tcloud = Tcloud - pvs = self.formulae.saturation_vapour_pressure.pvs_water(self.T0) - self.initial_water_vapour_mixing_ratio = const.eps / ( - self.p0 / self.RH0 / pvs - 1 - ) - - Rair = (self.formulae.constants.Rv / (1 / self.initial_water_vapour_mixing_ratio + 1) - + self.formulae.constants.Rd / (1 + self.initial_water_vapour_mixing_ratio) - ) - c_p = self.formulae.constants.c_pv / (1 / self.initial_water_vapour_mixing_ratio + 1) + self.formulae.constants.c_pd / ( - 1 + self.initial_water_vapour_mixing_ratio - ) - def f(x): - # return x -273 - return self.initial_water_vapour_mixing_ratio/(self.initial_water_vapour_mixing_ratio+ const.eps)*self.p0*(x/self.T0)**(c_p/Rair - ) - self.formulae.saturation_vapour_pressure.pvs_water(x) - tdews = (fsolve(f, [150,300])) - self.Tcloud = np.max(tdews) - self.Zcloud = (self.T0-self.Tcloud)*c_p/self.formulae.constants.g_std - thstd =self.formulae.trivia.th_std(self.p0, self.T0) - - self.pcloud = self.formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio( - self.p0, thstd, self.initial_water_vapour_mixing_ratio, self.Zcloud) - - np.testing.assert_approx_equal( - actual=self.pcloud*(self.initial_water_vapour_mixing_ratio/(self.initial_water_vapour_mixing_ratio + const.eps))/ - self.formulae.saturation_vapour_pressure.pvs_water(self.Tcloud), - desired=1, - significant=4 - ) - - # self.w_avg = w_avg self.r_wet = r_wet - # self.N_STP = N_STP - # self.n_in_dv = N_STP / const.rho_STP * mass_of_dry_air self.mass_of_dry_air = mass_of_dry_air self.n_output = 500 - self.rtol_x = condensation.DEFAULTS.rtol_x + self.rtol_x = 0.5*(condensation.DEFAULTS.rtol_x) self.rtol_thd = condensation.DEFAULTS.rtol_thd self.coord = "volume logarithm" self.dt_cond_range = condensation.DEFAULTS.cond_range \ No newline at end of file diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py index 093135ba8f..4c7d516519 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py @@ -84,8 +84,8 @@ def run(self): } self.save(output) - while self.particulator.environment["z"][0] >0 and output["r"][-1] > 1e-8: - print(self.particulator.environment["z"][0]) + while self.particulator.environment["z"][0] >0 and output["r"][-1] > 1e-6: + # print(self.particulator.environment["z"][0]) self.particulator.run(1) self.save(output) From ce24cb6c962bab3899ff290510c762de36e24b36 Mon Sep 17 00:00:00 2001 From: Rafal Lukosz <93160829+lursz@users.noreply.github.com> Date: Sat, 7 Jun 2025 19:34:24 +0200 Subject: [PATCH 12/28] multicore support for simulation (#2) * parallel v1 * thread count fix * parallel * small parallel fixes * working multithread solution * Multi-thread + vector plots * black, black used everywhere --------- Co-authored-by: Piotr Kubala --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 18728 ++++++++++++---- .../Loftus_and_Wordsworth_2021/parcel.py | 12 +- .../Loftus_and_Wordsworth_2021/settings.py | 15 +- .../Loftus_and_Wordsworth_2021/simulation.py | 16 +- uv.lock | 46 +- 5 files changed, 14613 insertions(+), 4204 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index c48d4892c3..20c4d7495d 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -2,59 +2,57 @@ "cells": [ { "cell_type": "code", - "execution_count": 25, - "id": "d8f644e9", + "execution_count": null, + "id": "1e8d983b", "metadata": {}, "outputs": [], "source": [ - "import PySDM.products as PySDM_products\n", - "import numpy as np\n", - "from PySDM import Builder\n", - "from PySDM import Formulae\n", - "from PySDM_examples.Lowe_et_al_2019.constants_def import LOWE_CONSTS\n", - "\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021 import Settings\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import Planet,EarthLike, Earth, EarlyMars, Jupiter, Saturn, K2_18B\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021.parcel import AlienParcel\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021 import Simulation\n", - "import matplotlib.pyplot as plt" + "# !pip install joblib" ] }, { "cell_type": "code", - "execution_count": 26, - "id": "2fb6b5aa", + "execution_count": 10, + "id": "d8f644e9", "metadata": {}, "outputs": [], "source": [ - "from PySDM.physics import terminal_velocity\n", - "from PySDM.physics import drop_growth\n", - "from PySDM.physics import ventilation\n", + "import os\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from numba import njit\n", + "from open_atmos_jupyter_utils import show_plot\n", + "from joblib import Parallel, delayed\n", + "from PySDM import Formulae\n", + "from PySDM_examples.Lowe_et_al_2019.constants_def import LOWE_CONSTS\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021 import Settings\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import (Planet, EarthLike, Earth, EarlyMars, Jupiter, Saturn, K2_18B)\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021 import Simulation\n", "from PySDM.physics.particle_shape_and_density.oblate_spheroid import OblateSpheroid\n", "from PySDM.physics import si\n", - "from scipy.optimize import fsolve\n" + "from scipy.optimize import fsolve" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "92a3a574", "metadata": {}, "outputs": [], "source": [ - "formulae= Formulae(\n", - " # terminal_velocity=\"LofusEtAl2021\", #eqn 8\n", - " # drop_growth=\"RogersAndYau1996\", #eqn 10\n", - " # particle_shape_and_density=\"OblateSpheroid\",\n", - " ventilation=\"PruppacherAndRasmussen1979\", #drag force/ gravitation eqns\n", + "formulae = Formulae(\n", + " # terminal_velocity = \"LofusEtAl2021\", #eqn 8\n", + " # drop_growth = \"RogersAndYau1996\", #eqn 10\n", + " # particle_shape_and_density = \"OblateSpheroid\",\n", + " ventilation=\"PruppacherAndRasmussen1979\", # drag force/ gravitation eqns\n", " saturation_vapour_pressure=\"AugustRocheMagnus\",\n", " diffusion_coordinate=\"WaterMassLogarithm\",\n", - ")\n" + ")" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 12, "id": "41f0ed6d", "metadata": {}, "outputs": [ @@ -64,7 +62,7 @@ "300.0" ] }, - "execution_count": 28, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -76,4172 +74,114 @@ }, { "cell_type": "code", - "execution_count": 62, - "id": "3249b65e", + "execution_count": 13, + "id": "d3a8f4b9", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9634134833789\n", - "\t\t p\n", - "\t\t 1012822.9500843065\n", - "\t\t RH\n", - "\t\t 0.9765862871248907\n", - "\t\t a\n", - "\t\t -30.95918841010328\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.578296789640031\n", - "\t\t fb\n", - "\t\t -6168699570125.941\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9634207104974\n", - "\t\t p\n", - "\t\t 1012823.0355222607\n", - "\t\t RH\n", - "\t\t 0.9765859543352727\n", - "\t\t a\n", - "\t\t -30.95918841010328\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5783049178971956\n", - "\t\t fb\n", - "\t\t -6168700281630.32\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.96342793761573\n", - "\t\t p\n", - "\t\t 1012823.1209602171\n", - "\t\t RH\n", - "\t\t 0.9765856215457984\n", - "\t\t a\n", - "\t\t -30.95918841010328\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5783130461532092\n", - "\t\t fb\n", - "\t\t -6168700993134.571\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9507209513936\n", - "\t\t p\n", - "\t\t 1012676.3824214343\n", - "\t\t RH\n", - "\t\t 0.9620369993030186\n", - "\t\t a\n", - "\t\t -29.81642202197012\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8666415026044445\n", - "\t\t fb\n", - "\t\t -12373299220677.494\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.90662277570584\n", - "\t\t p\n", - "\t\t 1012158.79325844\n", - "\t\t RH\n", - "\t\t 0.9488745587023921\n", - "\t\t a\n", - "\t\t -29.845959483572216\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5932155847342155\n", - "\t\t fb\n", - "\t\t -6184810344976.083\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9066333010911\n", - "\t\t p\n", - "\t\t 1012158.917629983\n", - "\t\t RH\n", - "\t\t 0.9488740875640582\n", - "\t\t a\n", - "\t\t -29.845959483572216\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.593221138936329\n", - "\t\t fb\n", - "\t\t -6184811380402.374\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.90664382647594\n", - "\t\t p\n", - "\t\t 1012159.0420015308\n", - "\t\t RH\n", - "\t\t 0.9488736164260189\n", - "\t\t a\n", - "\t\t -29.845959483572216\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5932266931373219\n", - "\t\t fb\n", - "\t\t -6184812415828.394\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.93820260636215\n", - "\t\t p\n", - "\t\t 1012535.7005486615\n", - "\t\t RH\n", - "\t\t 0.9323193298702869\n", - "\t\t a\n", - "\t\t -28.488153087711776\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6349078434077443\n", - "\t\t fb\n", - "\t\t -12411922510608.846\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.8177218723501\n", - "\t\t p\n", - "\t\t 1011116.2068822231\n", - "\t\t RH\n", - "\t\t 0.9224053590916934\n", - "\t\t a\n", - "\t\t -28.86221864419622\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.9313547337171976\n", - "\t\t fb\n", - "\t\t -12389068535747.512\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9943736831119\n", - "\t\t p\n", - "\t\t 1013207.5322592934\n", - "\t\t RH\n", - "\t\t 0.8996476830823505\n", - "\t\t a\n", - "\t\t -28.30139780596837\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8315066664607937\n", - "\t\t fb\n", - "\t\t -12441925103929.836\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.95428420335634\n", - "\t\t p\n", - "\t\t 1012737.6130844497\n", - "\t\t RH\n", - "\t\t 0.8862182861954118\n", - "\t\t a\n", - "\t\t -28.924739899377165\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7133459113657017\n", - "\t\t fb\n", - "\t\t -6216235315697.642\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.94573279103884\n", - "\t\t p\n", - "\t\t 1012640.7213250437\n", - "\t\t RH\n", - "\t\t 0.8714381890397797\n", - "\t\t a\n", - "\t\t -27.74375633713891\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.733942374500773\n", - "\t\t fb\n", - "\t\t -12457266327821.965\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.97248126580394\n", - "\t\t p\n", - "\t\t 1012961.2616366227\n", - "\t\t RH\n", - "\t\t 0.8552212862638529\n", - "\t\t a\n", - "\t\t -27.07506960810236\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5298846067986657\n", - "\t\t fb\n", - "\t\t -12482630173385.459\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.61308346437954\n", - "\t\t p\n", - "\t\t 1008722.881951865\n", - "\t\t RH\n", - "\t\t 0.8544814073629403\n", - "\t\t a\n", - "\t\t -28.985844710864058\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.9431953287465719\n", - "\t\t fb\n", - "\t\t -6191747867651.295\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.6131020964191\n", - "\t\t p\n", - "\t\t 1008723.1015820028\n", - "\t\t RH\n", - "\t\t 0.8544806544604215\n", - "\t\t a\n", - "\t\t -28.985844710864058\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.9432005537054442\n", - "\t\t fb\n", - "\t\t -6191749700880.462\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.67504551555817\n", - "\t\t p\n", - "\t\t 1009458.0559705176\n", - "\t\t RH\n", - "\t\t 0.8366496131787623\n", - "\t\t a\n", - "\t\t -27.2919314232323\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6865617532343624\n", - "\t\t fb\n", - "\t\t -12434693879454.594\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.78113628679904\n", - "\t\t p\n", - "\t\t 1010714.5777850668\n", - "\t\t RH\n", - "\t\t 0.8172109612077316\n", - "\t\t a\n", - "\t\t -27.243427595841084\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7454617422883495\n", - "\t\t fb\n", - "\t\t -12464588720288.66\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.93639568798415\n", - "\t\t p\n", - "\t\t 1012553.4130444452\n", - "\t\t RH\n", - "\t\t 0.7961007213258735\n", - "\t\t a\n", - "\t\t -27.45735064584614\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.9618273611364095\n", - "\t\t fb\n", - "\t\t -12499738720389.633\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.55856038469784\n", - "\t\t p\n", - "\t\t 1008099.5501643746\n", - "\t\t RH\n", - "\t\t 0.7950199449271899\n", - "\t\t a\n", - "\t\t -27.266316298646004\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8450500056239783\n", - "\t\t fb\n", - "\t\t -12435588165975.783\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.76436003945315\n", - "\t\t p\n", - "\t\t 1010531.700768368\n", - "\t\t RH\n", - "\t\t 0.7720553130841131\n", - "\t\t a\n", - "\t\t -26.991953293184714\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7862195513879606\n", - "\t\t fb\n", - "\t\t -12489560841021.805\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.3762280119534\n", - "\t\t p\n", - "\t\t 1005963.3610371638\n", - "\t\t RH\n", - "\t\t 0.7708117070502777\n", - "\t\t a\n", - "\t\t -27.76000864318786\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6533457271261173\n", - "\t\t fb\n", - "\t\t -6198771660676.603\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.3762495295871\n", - "\t\t p\n", - "\t\t 1005963.614188258\n", - "\t\t RH\n", - "\t\t 0.7708109211164261\n", - "\t\t a\n", - "\t\t -27.76000864318786\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6533482503285692\n", - "\t\t fb\n", - "\t\t -6198773776708.654\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.3762710472189\n", - "\t\t p\n", - "\t\t 1005963.8673393718\n", - "\t\t RH\n", - "\t\t 0.7708101351835809\n", - "\t\t a\n", - "\t\t -27.76000864318786\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6533507735300453\n", - "\t\t fb\n", - "\t\t -6198775892739.596\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.6386503663267\n", - "\t\t p\n", - "\t\t 1009059.633989164\n", - "\t\t RH\n", - "\t\t 0.7459376545882029\n", - "\t\t a\n", - "\t\t -28.049697612923204\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.883905407482185\n", - "\t\t fb\n", - "\t\t -6232807549026.076\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.96843012835257\n", - "\t\t p\n", - "\t\t 1012959.05658442\n", - "\t\t RH\n", - "\t\t 0.7192913688709481\n", - "\t\t a\n", - "\t\t -27.79787376067437\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8304781613488469\n", - "\t\t fb\n", - "\t\t -6264034630967.177\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9684526690836\n", - "\t\t p\n", - "\t\t 1012959.3230890674\n", - "\t\t RH\n", - "\t\t 0.7192906044223643\n", - "\t\t a\n", - "\t\t -27.79787376067437\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8304807946281323\n", - "\t\t fb\n", - "\t\t -6264036817252.785\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9684752098124\n", - "\t\t p\n", - "\t\t 1012959.5895937356\n", - "\t\t RH\n", - "\t\t 0.7192898399748074\n", - "\t\t a\n", - "\t\t -27.79787376067437\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8304834279063279\n", - "\t\t fb\n", - "\t\t -6264039003537.17\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.5647883078875\n", - "\t\t p\n", - "\t\t 1008200.6176316094\n", - "\t\t RH\n", - "\t\t 0.7177226772693551\n", - "\t\t a\n", - "\t\t -26.685765015429112\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7917025483244458\n", - "\t\t fb\n", - "\t\t -12495504889727.533\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.96388245266064\n", - "\t\t p\n", - "\t\t 1012917.3203774029\n", - "\t\t RH\n", - "\t\t 0.6891957908215012\n", - "\t\t a\n", - "\t\t -26.03057471454337\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5692294892959228\n", - "\t\t fb\n", - "\t\t -12614584749311.312\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.5487660825412\n", - "\t\t p\n", - "\t\t 1008024.1933415018\n", - "\t\t RH\n", - "\t\t 0.6874180599561547\n", - "\t\t a\n", - "\t\t -26.50013640516871\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7750814690527159\n", - "\t\t fb\n", - "\t\t -12517666561596.486\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.1263073775298\n", - "\t\t p\n", - "\t\t 1003061.9568294361\n", - "\t\t RH\n", - "\t\t 0.685585751321056\n", - "\t\t a\n", - "\t\t -27.374182570649307\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6903408826343748\n", - "\t\t fb\n", - "\t\t -6203646073041.76\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.12633602323774\n", - "\t\t p\n", - "\t\t 1003062.2931498039\n", - "\t\t RH\n", - "\t\t 0.6855848187531304\n", - "\t\t a\n", - "\t\t -27.374182570649307\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6903433318476198\n", - "\t\t fb\n", - "\t\t -6203648891736.9795\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.59719805859504\n", - "\t\t p\n", - "\t\t 1008608.134868544\n", - "\t\t RH\n", - "\t\t 0.6550663572221505\n", - "\t\t a\n", - "\t\t -26.707368570811177\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.982852877883842\n", - "\t\t fb\n", - "\t\t -12539185333289.902\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.1621264200539\n", - "\t\t p\n", - "\t\t 1003496.1233044433\n", - "\t\t RH\n", - "\t\t 0.6530010760114098\n", - "\t\t a\n", - "\t\t -27.086585109608947\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6299263318547909\n", - "\t\t fb\n", - "\t\t -6219531963837.108\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.1621600706134\n", - "\t\t p\n", - "\t\t 1003496.5185089135\n", - "\t\t RH\n", - "\t\t 0.6530000328922426\n", - "\t\t a\n", - "\t\t -27.086585109608947\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6299286558387365\n", - "\t\t fb\n", - "\t\t -6219535268606.5\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.71850671589897\n", - "\t\t p\n", - "\t\t 1010052.8396879905\n", - "\t\t RH\n", - "\t\t 0.6207177830246923\n", - "\t\t a\n", - "\t\t -27.40899182734051\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8620717093032405\n", - "\t\t fb\n", - "\t\t -6268407723961.931\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.718532644886\n", - "\t\t p\n", - "\t\t 1010053.1456281864\n", - "\t\t RH\n", - "\t\t 0.6207170225767731\n", - "\t\t a\n", - "\t\t -27.40899182734051\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8620738852557082\n", - "\t\t fb\n", - "\t\t -6268410236524.556\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.7185585738702\n", - "\t\t p\n", - "\t\t 1010053.4515684105\n", - "\t\t RH\n", - "\t\t 0.6207162621300264\n", - "\t\t a\n", - "\t\t -27.40899182734051\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8620760612071947\n", - "\t\t fb\n", - "\t\t -6268412749085.575\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.2702097258826\n", - "\t\t p\n", - "\t\t 1004780.5862983869\n", - "\t\t RH\n", - "\t\t 0.6184014577006727\n", - "\t\t a\n", - "\t\t -27.494233628209678\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.9096879930408022\n", - "\t\t fb\n", - "\t\t -6227398634951.213\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.2702353319097\n", - "\t\t p\n", - "\t\t 1004780.887301095\n", - "\t\t RH\n", - "\t\t 0.6184007066930584\n", - "\t\t a\n", - "\t\t -27.494233628209678\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.9096902551531747\n", - "\t\t fb\n", - "\t\t -6227401136482.012\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.2702609379339\n", - "\t\t p\n", - "\t\t 1004781.1883038302\n", - "\t\t RH\n", - "\t\t 0.6183999556865956\n", - "\t\t a\n", - "\t\t -27.494233628209678\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.9096925172645424\n", - "\t\t fb\n", - "\t\t -6227403638011.231\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9229274444732\n", - "\t\t p\n", - "\t\t 1012482.0202629202\n", - "\t\t RH\n", - "\t\t 0.5844473315459593\n", - "\t\t a\n", - "\t\t -27.1838014885193\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8177626204242621\n", - "\t\t fb\n", - "\t\t -6307463212086.996\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.9229657042697\n", - "\t\t p\n", - "\t\t 1012482.4724735708\n", - "\t\t RH\n", - "\t\t 0.5844462768441333\n", - "\t\t a\n", - "\t\t -27.1838014885193\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8177653192936476\n", - "\t\t fb\n", - "\t\t -6307466903857.707\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.46069317040946\n", - "\t\t p\n", - "\t\t 1007037.0902348979\n", - "\t\t RH\n", - "\t\t 0.5818656131131787\n", - "\t\t a\n", - "\t\t -26.525770556213537\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5266312994781783\n", - "\t\t fb\n", - "\t\t -6277104428651.627\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.46074004330904\n", - "\t\t p\n", - "\t\t 1007037.642119093\n", - "\t\t RH\n", - "\t\t 0.581864321662108\n", - "\t\t a\n", - "\t\t -26.525770556213537\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5266334236334191\n", - "\t\t fb\n", - "\t\t -6277108996003.316\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.98908194337633\n", - "\t\t p\n", - "\t\t 1001503.3881659433\n", - "\t\t RH\n", - "\t\t 0.579192226038954\n", - "\t\t a\n", - "\t\t -26.067474651387215\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7753490491425593\n", - "\t\t fb\n", - "\t\t -12499129757004.676\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.7452115348817\n", - "\t\t p\n", - "\t\t 1010407.7384859911\n", - "\t\t RH\n", - "\t\t 0.5435233639760522\n", - "\t\t a\n", - "\t\t -26.728020255579516\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6601975995114632\n", - "\t\t fb\n", - "\t\t -6297310107423.109\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.7452444341992\n", - "\t\t p\n", - "\t\t 1010408.1267720256\n", - "\t\t RH\n", - "\t\t 0.5435225192866958\n", - "\t\t a\n", - "\t\t -26.728020255579516\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6601992559348544\n", - "\t\t fb\n", - "\t\t -6297313281927.258\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.74527733351226\n", - "\t\t p\n", - "\t\t 1010408.5150581059\n", - "\t\t RH\n", - "\t\t 0.5435216745989843\n", - "\t\t a\n", - "\t\t -26.728020255579516\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6602009123573385\n", - "\t\t fb\n", - "\t\t -6297316456428.848\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.2583142123211\n", - "\t\t p\n", - "\t\t 1004681.6893377787\n", - "\t\t RH\n", - "\t\t 0.540556675445887\n", - "\t\t a\n", - "\t\t -26.064909127313054\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8502251142462253\n", - "\t\t fb\n", - "\t\t -12573190804047.61\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.76081905752415\n", - "\t\t p\n", - "\t\t 998855.0908611602\n", - "\t\t RH\n", - "\t\t 0.5374783054397425\n", - "\t\t a\n", - "\t\t -27.03939476437234\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8063893469040323\n", - "\t\t fb\n", - "\t\t -6203483915430.949\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.76084784256267\n", - "\t\t p\n", - "\t\t 998855.4278116744\n", - "\t\t RH\n", - "\t\t 0.5374775685070795\n", - "\t\t a\n", - "\t\t -27.03939476437234\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8063911083575289\n", - "\t\t fb\n", - "\t\t -6203486742038.943\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.7608766275977\n", - "\t\t p\n", - "\t\t 998855.7647622237\n", - "\t\t RH\n", - "\t\t 0.5374768315756829\n", - "\t\t a\n", - "\t\t -27.03939476437234\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8063928698102046\n", - "\t\t fb\n", - "\t\t -6203489568644.957\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.6345822748919\n", - "\t\t p\n", - "\t\t 1009130.0847110075\n", - "\t\t RH\n", - "\t\t 0.5002840005025697\n", - "\t\t a\n", - "\t\t -25.613832705415277\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6916978879199097\n", - "\t\t fb\n", - "\t\t -12695442955964.844\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.59374199220275\n", - "\t\t p\n", - "\t\t 996929.8672275824\n", - "\t\t RH\n", - "\t\t 0.4933511605950075\n", - "\t\t a\n", - "\t\t -26.01209163852019\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8936181772524167\n", - "\t\t fb\n", - "\t\t -12480048956456.535\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.59846761895216\n", - "\t\t p\n", - "\t\t 1008734.9601573372\n", - "\t\t RH\n", - "\t\t 0.45497077906450356\n", - "\t\t a\n", - "\t\t -26.55718263514624\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.703820807499301\n", - "\t\t fb\n", - "\t\t -6325862706578.566\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.5985221206016\n", - "\t\t p\n", - "\t\t 1008735.6026492111\n", - "\t\t RH\n", - "\t\t 0.45496960626990074\n", - "\t\t a\n", - "\t\t -26.55718263514624\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7038230928980492\n", - "\t\t fb\n", - "\t\t -6325867969616.5\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.05302540297635\n", - "\t\t p\n", - "\t\t 1002330.6290007515\n", - "\t\t RH\n", - "\t\t 0.4510955224244599\n", - "\t\t a\n", - "\t\t -26.489724792419523\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6720403871552741\n", - "\t\t fb\n", - "\t\t -6293487292384.741\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.4936049040689\n", - "\t\t p\n", - "\t\t 995792.5298544584\n", - "\t\t RH\n", - "\t\t 0.447056467755106\n", - "\t\t a\n", - "\t\t -25.50725569678658\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.69729784035404\n", - "\t\t fb\n", - "\t\t -12520697401323.71\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.6386875398746\n", - "\t\t p\n", - "\t\t 1009243.7380141908\n", - "\t\t RH\n", - "\t\t 0.4080244137828001\n", - "\t\t a\n", - "\t\t -25.808855904570255\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.9335990751525294\n", - "\t\t fb\n", - "\t\t -12741811261076.008\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.0580149333527\n", - "\t\t p\n", - "\t\t 1002424.9751234822\n", - "\t\t RH\n", - "\t\t 0.40362039001371713\n", - "\t\t a\n", - "\t\t -26.400507021227444\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6888223537049074\n", - "\t\t fb\n", - "\t\t -6311273200677.684\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.4612365810754\n", - "\t\t p\n", - "\t\t 995451.6040362052\n", - "\t\t RH\n", - "\t\t 0.3990133803764959\n", - "\t\t a\n", - "\t\t -26.583978364305075\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7744024442858238\n", - "\t\t fb\n", - "\t\t -6252081968152.138\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.75729651343744\n", - "\t\t p\n", - "\t\t 1010682.5201739138\n", - "\t\t RH\n", - "\t\t 0.3599180550573331\n", - "\t\t a\n", - "\t\t -25.40815038618358\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7768808771103395\n", - "\t\t fb\n", - "\t\t -12822045052161.95\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.13591979919784\n", - "\t\t p\n", - "\t\t 1003380.430799292\n", - "\t\t RH\n", - "\t\t 0.35493481307386104\n", - "\t\t a\n", - "\t\t -26.56059175918776\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.828029446606078\n", - "\t\t fb\n", - "\t\t -6311999304582.672\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.1359802303137\n", - "\t\t p\n", - "\t\t 1003381.1405048287\n", - "\t\t RH\n", - "\t\t 0.35493379464028496\n", - "\t\t a\n", - "\t\t -26.56059175918776\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8280317718010065\n", - "\t\t fb\n", - "\t\t -6312005162704.229\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.49550007237843\n", - "\t\t p\n", - "\t\t 995894.279243401\n", - "\t\t RH\n", - "\t\t 0.34970454256139255\n", - "\t\t a\n", - "\t\t -24.946083209684975\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.5673066614242958\n", - "\t\t fb\n", - "\t\t -12633997501643.025\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.95733252026787\n", - "\t\t p\n", - "\t\t 1013091.2848584556\n", - "\t\t RH\n", - "\t\t 0.31113939257485534\n", - "\t\t a\n", - "\t\t -24.928018045147482\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6122417853631499\n", - "\t\t fb\n", - "\t\t -12939045993046.453\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.2883945619583\n", - "\t\t p\n", - "\t\t 1005219.5661128054\n", - "\t\t RH\n", - "\t\t 0.3055196097854639\n", - "\t\t a\n", - "\t\t -25.962943185374478\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6020543149237779\n", - "\t\t fb\n", - "\t\t -6355154960367.686\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.2884671009792\n", - "\t\t p\n", - "\t\t 1005220.419140811\n", - "\t\t RH\n", - "\t\t 0.3055185588520758\n", - "\t\t a\n", - "\t\t -25.962943185374478\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6020561107407586\n", - "\t\t fb\n", - "\t\t -6355161967995.529\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.59683125577067\n", - "\t\t p\n", - "\t\t 997127.9169250539\n", - "\t\t RH\n", - "\t\t 0.2995937000525491\n", - "\t\t a\n", - "\t\t -26.10623029362231\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6560340730579426\n", - "\t\t fb\n", - "\t\t -6266092974909.267\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.59688438804767\n", - "\t\t p\n", - "\t\t 997128.5381438957\n", - "\t\t RH\n", - "\t\t 0.29959294078821314\n", - "\t\t a\n", - "\t\t -26.10623029362231\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6560355031956475\n", - "\t\t fb\n", - "\t\t -6266098154336.182\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 298.5969375203124\n", - "\t\t p\n", - "\t\t 997129.1593628546\n", - "\t\t RH\n", - "\t\t 0.29959218152629075\n", - "\t\t a\n", - "\t\t -26.10623029362231\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.6560369333322771\n", - "\t\t fb\n", - "\t\t -6266103333756.395\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 297.8811713226632\n", - "\t\t p\n", - "\t\t 988803.7391899653\n", - "\t\t RH\n", - "\t\t 0.29332510901658\n", - "\t\t a\n", - "\t\t -26.509685757794315\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.8577808690303017\n", - "\t\t fb\n", - "\t\t -6231300078266.314\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/4046310924.py:23: RuntimeWarning: The iteration is not making good progress, as measured by the \n", - " improvement from the last ten iterations.\n", - " tdews = (fsolve(f, [150,300]))\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "/Users/emmaware/PySDM/PySDM/backends/numba.py:48: UserWarning: Disabling Numba threading due to ARM64 CPU (atomics do not work yet)\n", - " warnings.warn(\n", - "failed to find interval\n", - "\tfile: /Users/emmaware/PySDM/PySDM/backends/impl_numba/methods/condensation_methods.py\n", - "\tcontext:\n", - "\t\t T\n", - "\t\t 299.51504213715594\n", - "\t\t p\n", - "\t\t 1007943.1840128525\n", - "\t\t RH\n", - "\t\t 0.2558983502422977\n", - "\t\t a\n", - "\t\t -25.174929273112294\n", - "\t\t b\n", - "\t\t -65.34255573852614\n", - "\t\t fa\n", - "\t\t -0.7717154280335414\n", - "\t\t fb\n", - "\t\t -12862931725688.932\n" - ] - } - ], + "outputs": [], "source": [ "radius_array = np.logspace(-4.5, -2.5, 50) * si.m\n", - "RH_array = np.linspace(0.25, .99, 50)\n", + "RH_array = np.linspace(0.25, 0.99, 50)\n", "output_matrix = np.full((len(RH_array), len(radius_array)), np.nan)\n", "const = formulae.constants\n", "\n", - "def mix(dry,vap,ratio):\n", - " return (dry + ratio * vap)/(1 + ratio)\n", "\n", - "for i,RH in enumerate(RH_array[::-1]):\n", + "@njit()\n", + "def mix(dry, vap, ratio):\n", + " return (dry + ratio * vap) / (1 + ratio)\n", + "\n", + "\n", + "def compute_one_RH(i, RH):\n", + " \"\"\"\n", + " Compute one row of the output_matrix for a given RH.\n", + " Returns a 1D numpy array of length len(radius_array).\n", + " \"\"\"\n", " new_Earth.RH_zref = RH\n", "\n", " pvs = formulae.saturation_vapour_pressure.pvs_water(new_Earth.T_STP)\n", - " initial_water_vapour_mixing_ratio = const.eps / (new_Earth.p_STP / new_Earth.RH_zref / pvs - 1\n", - " )\n", + " initial_water_vapour_mixing_ratio = const.eps / (\n", + " new_Earth.p_STP / new_Earth.RH_zref / pvs - 1\n", + " )\n", "\n", - " Rair = mix(const.Rd,const.Rv,initial_water_vapour_mixing_ratio)\n", - " c_p = mix(const.c_pd,const.c_pv,initial_water_vapour_mixing_ratio)\n", + " Rair = mix(const.Rd, const.Rv, initial_water_vapour_mixing_ratio)\n", + " c_p = mix(const.c_pd, const.c_pv, initial_water_vapour_mixing_ratio)\n", "\n", " def f(x):\n", - " return initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio+ const.eps)*new_Earth.p_STP*(x/new_Earth.T_STP)**(c_p/Rair\n", - " ) - formulae.saturation_vapour_pressure.pvs_water(x)\n", - " \n", - " tdews = (fsolve(f, [150,300]))\n", + " return initial_water_vapour_mixing_ratio / (\n", + " initial_water_vapour_mixing_ratio + const.eps\n", + " ) * new_Earth.p_STP * (x / new_Earth.T_STP) ** (\n", + " c_p / Rair\n", + " ) - formulae.saturation_vapour_pressure.pvs_water(\n", + " x\n", + " )\n", + "\n", + " tdews = fsolve(f, [150, 300])\n", " Tcloud = np.max(tdews)\n", - " Zcloud = (new_Earth.T_STP-Tcloud)*c_p/new_Earth.g_std\n", + " Zcloud = (new_Earth.T_STP - Tcloud) * c_p / new_Earth.g_std\n", " thstd = formulae.trivia.th_std(new_Earth.p_STP, new_Earth.T_STP)\n", "\n", - " pcloud = formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio(new_Earth.p_STP, \n", - " thstd, initial_water_vapour_mixing_ratio, Zcloud)\n", - "\n", + " pcloud = formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio(\n", + " new_Earth.p_STP, thstd, initial_water_vapour_mixing_ratio, Zcloud\n", + " )\n", "\n", " np.testing.assert_approx_equal(\n", - " actual=pcloud*(initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio + const.eps))/\n", - " formulae.saturation_vapour_pressure.pvs_water(Tcloud),\n", - " desired=1,\n", - " significant=4\n", + " actual=pcloud\n", + " * (\n", + " initial_water_vapour_mixing_ratio\n", + " / (initial_water_vapour_mixing_ratio + const.eps)\n", " )\n", + " / formulae.saturation_vapour_pressure.pvs_water(Tcloud),\n", + " desired=1,\n", + " significant=4,\n", + " )\n", "\n", - " for j,r in enumerate(radius_array[::-1]):\n", - " settings = Settings( \n", - " planet=new_Earth,\n", - " r_wet= r,\n", - " mass_of_dry_air= 1e5*si.kg,\n", - " coord= \"WaterMassLogarithm\",\n", - " initial_water_vapour_mixing_ratio= initial_water_vapour_mixing_ratio,\n", - " pcloud= pcloud,\n", - " Zcloud= Zcloud,\n", - " Tcloud= Tcloud,\n", - " formulae=formulae,\n", - " )\n", + " output = None\n", + " row_data = np.full(len(radius_array), np.nan)\n", + " for j, r in enumerate(radius_array[::-1]):\n", + " settings = Settings(\n", + " planet=new_Earth,\n", + " r_wet=r,\n", + " mass_of_dry_air=1e5 * si.kg,\n", + " coord=\"WaterMassLogarithm\",\n", + " initial_water_vapour_mixing_ratio=initial_water_vapour_mixing_ratio,\n", + " pcloud=pcloud,\n", + " Zcloud=Zcloud,\n", + " Tcloud=Tcloud,\n", + " formulae=formulae,\n", + " )\n", " simulation = Simulation(settings)\n", " try:\n", " output = simulation.run()\n", - " if output['z'][-1] > 0:\n", - " output_matrix[i, j] = np.nan\n", + " if output[\"z\"][-1] > 0:\n", + " row_data[j] = np.nan\n", " break\n", " else:\n", - " output_matrix[i, j] = 1 - (output['r'][-1] /(r*1e6))\n", - " except Exception as e:\n", - " break" + " row_data[j] = 1 - (output[\"r\"][-1] / (r * 1e6))\n", + " except Exception as _:\n", + " break\n", + "\n", + " return i, row_data, output" ] }, { "cell_type": "code", - "execution_count": 120, + "execution_count": null, + "id": "4352de81", + "metadata": {}, + "outputs": [], + "source": [ + "all_rows = Parallel(n_jobs=os.cpu_count())(\n", + " delayed(compute_one_RH)(i, RH) for i, RH in enumerate(RH_array[::-1])\n", + ")\n", + "\n", + "last_output = None\n", + "for i, row_data, output in all_rows:\n", + " output_matrix[i] = row_data\n", + " last_output = output" + ] + }, + { + "cell_type": "code", + "execution_count": 15, "id": "8e6027d8", "metadata": {}, "outputs": [ @@ -4249,23 +189,13036 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/3000932436.py:7: UserWarning: The following kwargs were not used by contour: 'aspect', 'interpolation'\n", + "/var/folders/8p/ctsxm4l530g0pklqbwhg1fg00000gn/T/ipykernel_3283/370885032.py:7: UserWarning: The following kwargs were not used by contour: 'aspect', 'interpolation'\n", " h = ax[1].contourf(\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/3000932436.py:24: UserWarning: The following kwargs were not used by contour: 'label'\n", + "/var/folders/8p/ctsxm4l530g0pklqbwhg1fg00000gn/T/ipykernel_3283/370885032.py:24: UserWarning: The following kwargs were not used by contour: 'label'\n", " ax[1].contour(radius_array,RH_array[::-1],output_matrix[:,::-1], levels=contour_levels, colors=\"red\", linewidths=1.5,label=\"10% mass evaporated\")\n", - "/var/folders/yz/7pzr048d36q2lbzgc7xyqqf80000gn/T/ipykernel_54096/3000932436.py:25: UserWarning: No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n", + "/var/folders/8p/ctsxm4l530g0pklqbwhg1fg00000gn/T/ipykernel_3283/370885032.py:25: UserWarning: No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n", " ax[1].legend()\n" ] }, { "data": { - "image/png": "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e4xfviun3Gs/5HT6YpXX75Wenp6zefNmsZZkZ2fnpGZc9PnC97XCqVOnxPfL0qVLDdvs3r1btFm3bl2e65YsWSL2ec378+bNy6lbt25OTExMzvjx48UxdeG+duzYkdO6deucYsWK5SQlJeXUr18/Z8GCBbnueeHChZxXX301p0yZMjmxsbE5lSpVyvnyyy8d5zds2JBzxx13iOu5nwcffDDn2LFjhq9Bjo/HLZkzZ4449s8//ziOdevWLadNmzaWrvck/Hzi92zGjBmOY1u2bBH3XLXK+v8uj/2WW24xbTN79uyciIgIw2fhBx98kNOxY0fHPr+/q1evFts9evTIGTJkiMufBwmea8GNy7VK+BcGLwCA8KFZ1ctxYn/tOUXpmZcoIda39e/SL16i6v1/Jl+zeWBLSox1/nXJLjBeZs2aRddff71wTbpD79696aOPPhKWNXaFseWkRYsWtHr1auHmYpfgxo0bhVvw3XffFfebNGmScHWxtYpdaEzXrl1FQm4OI+ESdbt376bjxy9PumD34C233EKPPfYYffLJJ5Seni5cnxxuwjkjrcCWnalTp4ptT1nD7rzzTvrtt98Mz5crV442bdqke47DZthyyO+VpFq1auL94PeB/zbOYEsmW9TYsmnEyZMnhauRswhwPUg9+P1mL9KpU6do165d4v2tXLkyLV++XITyfP75507HAkIb3xWNAwAEPRWLJFHpAgn03+nL5Y5uurqYv4cUUERHR4vau48//jiNGjWK6tatS82bN6cHHniAatasabu/gQMHitRBavwZwwKMY8/kg54Xydtvv03ff/89zZkzR7jjuDoB531csGCBQ5iwsFNzRNapU4fee+89x7Fx48YJocfXciZ3I8qUKSPWqampjvgpFjwqP/zwgxCnKuxmdcaXX34pRIsRRsKH4TRLLAi5Iow2MTmfswILsJSUFOHO1MJCld83rjLDoo5foxHshuTQngYNGlBCQoLoNykpScQR8v/KyJEj6bPPPhOuShZs117rm8oVIHCAEAMAWIZjQptWLkLT/tpPy7cf97kQS4iJEtYpX8P3tQrHE3GsFFtzeLY5xxl9+OGHQlhw8Lod6tev77TN+fPn6c033xTWG45xysrKEgKG48mYv//+W5TEYUGoxz///ENLlizJI5YYLmNnJsT4NXLGd36dLORYfGrhmCoWGyp/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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2025-06-07T19:15:09.867615\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.3, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "189bd0f8d20a4c518288628245227170", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(HTML(value=\"./tmp86p2qn16.pdf
\"), HTML(value…" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -4294,47 +13247,1466 @@ "contour_levels = [0.1] # Define the level for the contour\n", "ax[1].contour(radius_array,RH_array[::-1],output_matrix[:,::-1], levels=contour_levels, colors=\"red\", linewidths=1.5,label=\"10% mass evaporated\")\n", "ax[1].legend()\n", - "plt.show()" + "show_plot()" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 16, "id": "369fa24a", "metadata": {}, "outputs": [ { "data": { - "image/png": "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fbtk93Oj2z/yyCNSpUoVc25Kly4tjz76qERHR4vT3Mzn5sMPPzTxUp+jcfLs2bPiFBMmTJCyZctKzpw5pVGjRrJ69epUt58+fbpUrVrVbF+zZk2ZO3euOFl6z4+vObE+6tS6Wnapy7zyyivms/jYY485rmzpphOpIWPmzp1r/etf/7Jmzpypk9JZs2bNSvT7V155xQoPD7dmz55tbdy40br77rutcuXKWRcvXnRv0759e6t27drWr7/+ai1btsyqWLGi1aNHD8vuZevdu7c59iNHjrhvp0+fTrSNXcvWrl07a/LkydaWLVusDRs2WH/729+s0qVLW+fOnXNvM2jQIKtUqVLWggULrLVr11qNGze2mjZt6v791atXrRo1alht2rSx1q9fb85XRESENWrUKMvuZWvRooXVv3//RO9ddHS07cv27bffWnPmzLF27txp7dixw3r66aetHDlymLL683uG9LmZuPLBBx9YS5Yssfbu3WutW7fO6tSpk/ms6GciO5+bzZs3W/fee6/529q9e7f526lUqZLVtWtXy2lu5nMzduxYa8yYMeam34NnzpyxnGDKlClWSEiI9cknn1hbt2413wf58+e3jh07luz2K1assIKCgqzXXnvN+v33361nnnnGxF79/DhRes+PHTixPurUulp2qMusXr3aKlu2rFWrVi1r2LBh7sedULabQdKdyZIGuYSEBKto0aLW66+/7n7s7NmzVmhoqPXVV1+Z+/rlpc9bs2aNe5sffvjBCggIsA4dOmTZRUpJd+fOnVN8jr+UTR0/ftwcq1bKXe+TBsDp06e7t9m2bZvZZuXKlea+BoLAwEDr6NGj7m0mTpxo5cuXz7p06ZJl17K5km7PIJiUv5RNFShQwProo48c9Z7B8npc0Uqnvo4mmk6RWedm2rRpJuG4cuWK5RQZPTeLFi1yVNLdsGFDa8iQIe778fHxVvHixc3FheR069bN6tixY6LHGjVqZA0cONByovSeH7txan3UyXU1J9VlYmNjzcXbefPmJapvnnVA2W4W3cu9bO/evXL06FHThcclPDzcdFNauXKlua//axeeBg0auLfR7QMDA2XVqlVid4sXLzZdP7Rr4uDBg+XUqVPu3/lT2VxdKQsWLGj+X7dunVy5ciXRe6fd6rTrped7p13sIiMj3du0a9dOYmJiZOvWrWLXsrl88cUX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LLUypbccOXJIuXLl5Mknn5S4uLhM39eaNWtkwIAB4k0vvfSSdO7c2STE3hQSEiJPPPGEPPXUU17dD4DUnThxQgYPHiylS5eW0NBQKVq0qLRr105WrFgh/u7TTz+V/Pnz+/RiqWratKkcOXJEwsPDs/RYAPiWq36Y0u3555+Xt99+28QqX9i4caPMnTtXHn300TRt/8wzz5h6YnR0tNePDb4X7OsDAJJq3769TJ48Wa5cuSLr1q2T3r17m2D66quvZup+ChcuLN504cIF+fjjj+Wnn36SrPDAAw/I8OHDZevWrVK9evUs2SeAxLp27Wp6nvz3v/+V8uXLy7Fjx2TBggWm14sv6THpxTm70PiuF1ZvhpZDL2YAyF70YpvL1KlT5bnnnpMdO3a4H8uTJ4+5+cq7774rf//739N8DDVq1JAKFSrI559/LkOGDPH68cG3aOmG7bhah0qVKmW6CLVp00bmzZvn/r1WXnv06CElSpSQXLlySc2aNeWrr75K9Brnz5+XBx980AS+YsWKJdt9x7N7uXb/1sR+w4YN7t9r10V9TLsyqjNnzpjEVpP1sLAwqVSpkrk4kBK92qllady4caotRbNnzzb7cdErtXXq1JFPPvnEtJZpGR5++GGJj4+X1157zZwb7bKuV0c9FShQQG677TaZMmVKms4zgMylMWPZsmXmAmHLli2lTJky0rBhQxk1apTcfffdaYozrq7Tc+bMkVq1aknOnDlNDNmyZUuifS1fvlxuv/12E4s0VmrLisY9z/j24osvmjiYL18+06tHE++hQ4eamKivq8c3ZswY93PeeustE09z585tXlPjzrlz59zH1adPH9Mi49mqpPRnjWOeNM65Wptc5dZKcosWLcy+v/jiixvGcu35tGTJEtNy5dqnvlZy3cu//vprc7FRY66WPWnM18e0y2ffvn0lb968JrZ++OGHGXzHAWQlrf+4btrTReOA52NaX0ravVx7yzzyyCOmx4zWkyIjI2XSpEkmXmpM03hQsWJF+eGHHxLtS2Nuhw4dzGvqc7Tb+MmTJ1M8Nq2jzZgxQzp16pTo8ffee8/UFzXu6evcd999iX6v21Nvyx5IumFrGvR++eWXRC002tW8fv36plKqv9fKpAbD1atXu7cZMWKEqax988038vPPP5tK2m+//ZahY3n22Wfl999/N4F527ZtMnHiRImI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", + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2025-06-07T19:15:10.110805\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.10.3, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0cd6dfabceef436ba83bcc19173dd645", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HBox(children=(HTML(value=\"./tmpk9skbzp_.pdf
\"), HTML(value…" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "fig,axs = plt.subplots(1, 3, figsize=(10, 8),sharey=True)\n", - "axs[0].plot(output[\"r\"], output[\"z\"], label=\"Radius\")\n", + "axs[0].plot(last_output[\"r\"], last_output[\"z\"], label=\"Radius\")\n", "axs[0].set_ylabel(\"Height (m)\")\n", "axs[0].set_xlabel(\"Radius (um)\")\n", "axs[0].legend()\n", - "axs[1].plot(output[\"S\"], output[\"z\"], label=\"Supersaturation\")\n", + "axs[1].plot(last_output[\"S\"], last_output[\"z\"], label=\"Supersaturation\")\n", "axs[1].set_xlabel(\"Supersaturation\")\n", "axs[1].set_ylabel(\"Height (m)\")\n", "axs[1].legend()\n", - "axs[2].plot(output[\"t\"], output[\"z\"], label=\"Height\")\n", + "axs[2].plot(last_output[\"t\"], last_output[\"z\"], label=\"Height\")\n", "axs[2].set_ylabel(\"Height (m)\")\n", "axs[2].set_xlabel(\"Time (s)\")\n", "axs[2].legend()\n", - "plt.tight_layout()" + "show_plot()" ] } ], "metadata": { "kernelspec": { - "display_name": "venv", + "display_name": ".venv", "language": "python", "name": "python3" }, @@ -4348,7 +14720,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.12" + "version": "3.13.2" } }, "nbformat": 4, diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py index 4c62f9ae3b..a7da9826bf 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py @@ -1,4 +1,3 @@ -from typing import List, Optional from PySDM.environments.parcel import Parcel @@ -13,7 +12,6 @@ def __init__( w: float = 0, zcloud: float = 0, mixed_phase=False, - ): super().__init__( dt=dt, @@ -24,7 +22,7 @@ def __init__( w=w, z0=zcloud, mixed_phase=mixed_phase, - variables=None + variables=None, ) def advance_parcel_vars(self): @@ -37,7 +35,9 @@ def advance_parcel_vars(self): T = self["T"][0] p = self["p"][0] - dz_dt = - self.particulator.attributes["terminal velocity"].to_ndarray()[0]#*dt#formulae.trivia.terminal_velocity(self.particulator.#self.w((self.particulator.n_steps + 1 / 2) * dt) + self["terminal_velocity"][0] + dz_dt = -self.particulator.attributes["terminal velocity"].to_ndarray()[ + 0 + ] # *dt#formulae.trivia.terminal_velocity(self.particulator.#self.w((self.particulator.n_steps + 1 / 2) * dt) + self["terminal_velocity"][0] water_vapour_mixing_ratio = ( self["water_vapour_mixing_ratio"][0] - self.delta_liquid_water_mixing_ratio / 2 @@ -53,7 +53,7 @@ def advance_parcel_vars(self): self.delta_liquid_water_mixing_ratio / dz_dt / dt ), ) - drhod_dz = drho_dz + drhod_dz = drho_dz self.particulator.backend.explicit_euler(self._tmp["z"], dt, dz_dt) self.particulator.backend.explicit_euler( @@ -62,4 +62,4 @@ def advance_parcel_vars(self): self.mesh.dv = formulae.trivia.volume_of_density_mass( (self._tmp["rhod"][0] + self["rhod"][0]) / 2, self.mass_of_dry_air - ) \ No newline at end of file + ) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index 725e1ab516..e13b6473f3 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -1,15 +1,12 @@ -#Planetary Properties, Loftus and Wordsworth 2021 Table 1 -from PySDM.physics import constants_defaults, si +# Planetary Properties, Loftus and Wordsworth 2021 Table 1 +from PySDM.physics import si -import numpy as np from pystrict import strict -from types import SimpleNamespace from PySDM import Formulae from PySDM.dynamics import condensation from PySDM.physics.constants import si from PySDM_examples.Loftus_and_Wordsworth_2021.planet import Planet -from scipy.optimize import fsolve @strict @@ -33,13 +30,13 @@ def __init__( ) const = self.formulae.constants - self.initial_water_vapour_mixing_ratio = initial_water_vapour_mixing_ratio + self.initial_water_vapour_mixing_ratio = initial_water_vapour_mixing_ratio self.p0 = planet.p_STP self.RH0 = planet.RH_zref self.kappa = 0.2 self.T0 = planet.T_STP self.z_half = 150 * si.metres - self.dt = 1 *si.second + self.dt = 1 * si.second self.pcloud = pcloud self.Zcloud = Zcloud self.Tcloud = Tcloud @@ -48,7 +45,7 @@ def __init__( self.mass_of_dry_air = mass_of_dry_air self.n_output = 500 - self.rtol_x = 0.5*(condensation.DEFAULTS.rtol_x) + self.rtol_x = 0.5 * (condensation.DEFAULTS.rtol_x) self.rtol_thd = condensation.DEFAULTS.rtol_thd self.coord = "volume logarithm" - self.dt_cond_range = condensation.DEFAULTS.cond_range \ No newline at end of file + self.dt_cond_range = condensation.DEFAULTS.cond_range diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py index 4c7d516519..2d922caef8 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py @@ -4,18 +4,15 @@ from PySDM.backends import CPU from PySDM.builder import Builder from PySDM.dynamics import AmbientThermodynamics, Condensation -from PySDM.environments import Parcel -from PySDM.initialisation import equilibrate_wet_radii from PySDM.physics import constants as const from PySDM_examples.Loftus_and_Wordsworth_2021.parcel import AlienParcel ## General simulation from Arabas and Shima 2017, also looking at Graf et al. 2019 -#Need to edit Parcel in here to change dz into w +terminalv (should this be a w function? an option?) +# Need to edit Parcel in here to change dz into w +terminalv (should this be a w function? an option?) # Some of this is probably not needed, not sure what yet class Simulation: def __init__(self, settings, backend=CPU): - builder = Builder( backend=backend( formulae=settings.formulae, @@ -27,10 +24,10 @@ def __init__(self, settings, backend=CPU): ), n_sd=1, environment=AlienParcel( - dt=settings.dt, #dt_output / self.n_substeps, + dt=settings.dt, # dt_output / self.n_substeps, mass_of_dry_air=settings.mass_of_dry_air, pcloud=settings.pcloud, - zcloud= settings.Zcloud, + zcloud=settings.Zcloud, initial_water_vapour_mixing_ratio=settings.initial_water_vapour_mixing_ratio, Tcloud=settings.Tcloud, ), @@ -47,7 +44,7 @@ def __init__(self, settings, backend=CPU): builder.request_attribute("terminal velocity") attributes = {} - r_dry = 1e-10 #np.array([settings.r_dry]) + r_dry = 1e-10 # np.array([settings.r_dry]) attributes["dry volume"] = settings.formulae.trivia.volume(radius=r_dry) attributes["kappa times dry volume"] = attributes["dry volume"] * settings.kappa attributes["multiplicity"] = np.array([1], dtype=np.int64) @@ -64,7 +61,6 @@ def __init__(self, settings, backend=CPU): self.particulator = builder.build(attributes, products) - def save(self, output): cell_id = 0 output["r"].append( @@ -84,9 +80,9 @@ def run(self): } self.save(output) - while self.particulator.environment["z"][0] >0 and output["r"][-1] > 1e-6: + while self.particulator.environment["z"][0] > 0 and output["r"][-1] > 1e-6: # print(self.particulator.environment["z"][0]) self.particulator.run(1) self.save(output) - return output \ No newline at end of file + return output diff --git a/uv.lock b/uv.lock index b568b01593..981da4936a 100644 --- a/uv.lock +++ b/uv.lock @@ -764,7 +764,7 @@ name = "exceptiongroup" version = "1.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.13'" }, + { 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 } wheels = [ @@ -3425,6 +3425,48 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120 }, ] +[[package]] +name = "pypartmc" +version = "1.7.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/39/20a33ff1df3dd1ba487f4f130dd26795fc196f46308731dc0a3798a1381f/pypartmc-1.7.2-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:103695020c8af3885f369c43e5719672a4b9d52f028a4b5655b955e0d4b79ff0", size = 4623130 }, + { url = "https://files.pythonhosted.org/packages/72/0c/a752751cb8c7a8f721fec1e9a9e371d013ec663f709ee492dbb681503c19/pypartmc-1.7.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:af93195b514b8b16737a18a2ed4dbc1f317a554b4bcc277d9b80db43e77d7a5a", size = 3528412 }, + { url = "https://files.pythonhosted.org/packages/21/dc/fef92f78fcf54cf7231e8f4b99adfe5fabff50015e74a57021c8ed9555ec/pypartmc-1.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6efea6b2814e0917c292cf409bf219756eeaec433f0ce8885141f9ca2cb15683", size = 3608226 }, + { url = "https://files.pythonhosted.org/packages/93/02/1f38d79156e801bfbaf60fc2119dfd4c05bc29a53cb4607f058c6e2995d9/pypartmc-1.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5301d6b8ea4e3696cb6c7d31926ed065fad9667d07e0c8c1317aaee8ac452aee", size = 4358536 }, + { url = "https://files.pythonhosted.org/packages/48/d1/bf27b959aa5f1991274e56d3698efa33b3019ddd9cab65c66053f7d7f238/pypartmc-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0386f4be1546310f1896ed338e1cd0924a8940347088e1e0d07095a740e4c89", size = 3604643 }, + { url = "https://files.pythonhosted.org/packages/cc/24/55b3c4f6f48aee34fa03f3dfab51f5fe3e1895e89533a605db2b9d9ee0ec/pypartmc-1.7.2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:0fc23c28965992667b32e726f2d396a6a340ef06de33520c95582035485ac107", size = 4622934 }, + { url = "https://files.pythonhosted.org/packages/a0/b7/cd2bf7681a2e4163ef7ac6dfa7b025d39c41fbebc0858c0af1321a6a8c80/pypartmc-1.7.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:e3367f02bc8721eaace57ec1c2bbab86539148bc1ba5d0ed7285df33edd8dcd7", size = 3528155 }, + { url = "https://files.pythonhosted.org/packages/a5/d2/a7e03ac7d8539784759acfaa17d0beabcec7874d22829f07b8bc23a98a53/pypartmc-1.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3830a367b5b5c64e02e8a5cd6e87f7afdf115ab47eea0bb9821240355aa13a", size = 3608216 }, + { url = "https://files.pythonhosted.org/packages/c7/4c/11cda8854a03f999ee7680644c0ff6a450b35a7a058764c85955530d04e0/pypartmc-1.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c8a168f10f4317d3cfd501b579e46bf0ad99a1887795e9952926b546e3c565a", size = 4358541 }, + { url = "https://files.pythonhosted.org/packages/95/6e/ef38b261aad6946785cd83b22a7f0af50dc31c2f0f250874e0817bbd4b1d/pypartmc-1.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:1fad683aa7ddaab213945b5e96a086a5c29e779c5e432eaefdb49c99f7a6922a", size = 3604652 }, + { url = "https://files.pythonhosted.org/packages/96/70/29504de9d5c0ff4a47f76f91c630bfad97600a894f9b89a5feb7d27ac2ee/pypartmc-1.7.2-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:2f4b5da6dc78a36ba186df238f3f19140f841a7453d7b2e1ad22e5e997c92a57", size = 4624969 }, + { url = "https://files.pythonhosted.org/packages/cf/7d/92aa8df2fa717ef2f8b053c6389781a79ba0ce9b38351e9946f4bf56d2d8/pypartmc-1.7.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:68557afd1e051c5411f7747648a8cd32bf073f2d2acfc87e52a40836aa9fd0f4", size = 3531051 }, + { url = "https://files.pythonhosted.org/packages/ea/cd/4ee48b211c61d021d149bec17062e5e8e7c5b3acffdedbdd6cee2dc603b3/pypartmc-1.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:459fd3b48002ef3e5d6d124fda91d0ca89070065737fc3618c19245d69be599f", size = 3608928 }, + { url = "https://files.pythonhosted.org/packages/4e/f7/838086216bb3abb8264e31c7699095972483592eb6f57a8ab0b6a4423cc6/pypartmc-1.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7ef4d3cf4a3363d05fa2b66309354aaf26ff6c8c68cbb4257e8d247ba754aa1", size = 4359765 }, + { url = "https://files.pythonhosted.org/packages/ab/20/7d3c195dc6957837de419b777da5a114e54afeca7aa7a80f2307c448cd86/pypartmc-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:33f3a3586999ca5b15e4d4d8f5c88b0fc70fb516686bfae3c3e17e779430e30c", size = 3604349 }, + { url = "https://files.pythonhosted.org/packages/84/bc/4fa64ae3d975a6de09fb6d212b6f69a0bb66584538d757e0ecaa82091337/pypartmc-1.7.2-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:63287f902717680ed08c5c1d1af9e8fdd6a41122b61195e92383b061cdcb2891", size = 4625910 }, + { url = "https://files.pythonhosted.org/packages/11/8b/0a76ec461f3d7d31608d980e9d412e32007552b6f004424d60b76e40763f/pypartmc-1.7.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:2cde00a9c34c6c6445d7529ca9775fc0a66905b3314a01a3f40a2404aceaea64", size = 3530735 }, + { url = "https://files.pythonhosted.org/packages/51/1a/ff6ec6300e4a542d25f9afa7c82866ee65fbce1c1d0262244f6dc5a244ae/pypartmc-1.7.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84e73e3b9bcacad724edc5acd85e8dbb7254399fa4c9f9c869bcfc3bf5ad30fa", size = 3609049 }, + { url = "https://files.pythonhosted.org/packages/87/17/b11c9e7541aac388876ceb74cbb305e2a14e4db7676d17e6a9aa21ffcf9d/pypartmc-1.7.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a24bad19cf96c9a8edb9405a5680256c7ac7ccae569a3eb3cc8477b7b0ef22e0", size = 4360081 }, + { url = "https://files.pythonhosted.org/packages/98/50/d4b8e96f6a9ec3d9e059dc4e98a2a6b548fb4f461b4d0b8d2b2c4f1e49d2/pypartmc-1.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:66f385d0aa4a673995eba1af3c6f8be9f17aececdc969359770ad1561bbc3549", size = 3604311 }, + { url = "https://files.pythonhosted.org/packages/a2/2c/389b3943f79c1fd263ccd6e04eb6fae2766d62a19102cca764e365f74a42/pypartmc-1.7.2-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:b26af5056a5f24d9872b797357ca92910c5f34c37d22ed02b8c71c4351afc4dd", size = 4622572 }, + { url = "https://files.pythonhosted.org/packages/9e/da/36c3a2c66c0fb5acbdef20266ca60aa2cc212ddb8acf1c7bcc021f0fd6f0/pypartmc-1.7.2-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:e20eb6b7cb1abee3bdc14f08e7b9b73e2efcf32f206f79ad6b2f848c30b69288", size = 3527974 }, + { url = "https://files.pythonhosted.org/packages/ba/de/0943a3f6fbf6197b0c123435129898712d37c5209fef0f1bdc8eff84e728/pypartmc-1.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6473602f6bb3f4c2b6d24c4f22a70d3c87e9f630a4397e945e9007fd2bbf8cf", size = 3607920 }, + { url = "https://files.pythonhosted.org/packages/5b/ab/efe6156f3789d9b9a65fd54291cb19fc24e186432b5c6b08b55354b26608/pypartmc-1.7.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dddf1420acd9ace120242558babead7b3cf15d797f41cb09856117171f0ec60", size = 4358286 }, + { url = "https://files.pythonhosted.org/packages/d8/a5/a2baccecc3c59200de23ec9f4f6cedcc075f5243e51096774931b72e5700/pypartmc-1.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:f5e7f32d48bf5a7f4807e1537103806c5f7eb4c46e8b07c542d017e69094c1d1", size = 3604533 }, + { url = "https://files.pythonhosted.org/packages/c2/ac/7a66aa027b2eb93ce65f1ba2d72764f3ce0c303842048468ef2df3bddc98/pypartmc-1.7.2-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:3bc156b6bc7fd17398cb39f54d5ef3a975a0aecb2995f6d08a99e3404655382e", size = 4623126 }, + { url = "https://files.pythonhosted.org/packages/f1/ae/25930411fb9e6237070932906b8c45c2a078a3e8231d642608e71a0df4b0/pypartmc-1.7.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:347467790dcbdd67f2c8963d0e72470fecd5f8314ebb19478bfc1ff677386717", size = 3528742 }, + { url = "https://files.pythonhosted.org/packages/f1/b9/112a321992b89984f90a7457bf8671fd592d14b645f486d707af60202d58/pypartmc-1.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:615354a25ed2cd7d7b368d496736edb724b3050c3f0b136b73c1dd23f39acfe5", size = 3608533 }, + { url = "https://files.pythonhosted.org/packages/07/2b/852a50c05942c20876d330b89f81f0d21266cc756a65d618d7cf13c82399/pypartmc-1.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc8f28d2fa08599a394231a01551b3583c97e06d524c31ea6de64b4e8a9a2fb9", size = 4358977 }, + { url = "https://files.pythonhosted.org/packages/25/66/2c1992ea67debdde64bece85fc67d0652d1efdd5ec705e571533de2eb842/pypartmc-1.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:0649f9581c293d1bc6ed2ffaf84685020e898be292d22f6d220292ce68eedfa4", size = 3603938 }, +] + [[package]] name = "pyrcel" version = "1.3.2" @@ -3483,6 +3525,7 @@ tests = [ { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "open-atmos-jupyter-utils" }, + { name = "pypartmc" }, { name = "pyrcel" }, { name = "pysdm-examples" }, { name = "pytest" }, @@ -3501,6 +3544,7 @@ requires-dist = [ { name = "open-atmos-jupyter-utils", marker = "extra == 'tests'", specifier = ">=1.2.0" }, { name = "pint" }, { name = "pyevtk" }, + { name = "pypartmc", marker = "extra == 'tests'" }, { name = "pyrcel", marker = "extra == 'tests'" }, { name = "pysdm-examples", marker = "extra == 'tests'" }, { name = "pytest", marker = "extra == 'tests'" }, From 083ecbd063d11ef015734eaad72e71e2fcd0d2d2 Mon Sep 17 00:00:00 2001 From: lursz Date: Mon, 9 Jun 2025 21:22:26 +0200 Subject: [PATCH 13/28] pip install joblib --- .../PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 20c4d7495d..8bcf7a46ea 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -7,7 +7,7 @@ "metadata": {}, "outputs": [], "source": [ - "# !pip install joblib" + "%pip install joblib" ] }, { From 2125acafb140dbb206a1dc7dc43ef0cc7aa57b2b Mon Sep 17 00:00:00 2001 From: Rafal Lukosz <93160829+lursz@users.noreply.github.com> Date: Mon, 9 Jun 2025 23:19:29 +0200 Subject: [PATCH 14/28] Tests (#1) * tests I guess * uv fix * planet impl * ground truth * gen plot function * unit tests, monoticity tests, sanity tests * tests are now in tests * added ground truth files * removed leftovers * npy files * tests tidyup * tests adapted for current structure but still useless * renamed test to comply with pytest convention * fix ground_truth generation script * refactor unittests * added accuracy tests * Added saturation test for cloud base in unit tests * Refactored imports and clean up unused code in simulation and parcel modules * Enhanced accuracy tests by adding assertions for output completeness and consistency in unit tests * Refactored calculation of simulated mass fraction evaporation point to initialize variable and improved error handling --------- Co-authored-by: Hevagog Co-authored-by: Mateusz Mazur --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 34 +- .../Loftus_and_Wordsworth_2021/parcel.py | 5 +- .../Loftus_and_Wordsworth_2021/settings.py | 5 +- .../Loftus_and_Wordsworth_2021/simulation.py | 13 +- .../Loftus_and_Wordsworth_2021/__init__.py | 0 .../accuracy_test.py | 202 + .../ground_truth/RHgrid.npy | Bin 0 -> 72128 bytes .../ground_truth/RHs.npy | Bin 0 -> 608 bytes .../ground_truth/gen_figure.py | 64 + .../ground_truth/m_frac_evap.npy | Bin 0 -> 72128 bytes .../ground_truth/r0grid.npy | Bin 0 -> 72128 bytes .../ground_truth/r_mins.npy | Bin 0 -> 608 bytes .../Loftus_and_Wordsworth_2021/unit_test.py | 210 + uv.lock | 4927 ----------------- 14 files changed, 504 insertions(+), 4956 deletions(-) create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/__init__.py create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/RHgrid.npy create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/RHs.npy create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/m_frac_evap.npy create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/r0grid.npy create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/r_mins.npy create mode 100644 tests/examples_tests/Loftus_and_Wordsworth_2021/unit_test.py delete mode 100644 uv.lock diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 8bcf7a46ea..124d679a15 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -17,17 +17,30 @@ "metadata": {}, "outputs": [], "source": [ - "import os\n", - "import matplotlib.pyplot as plt\n", "import numpy as np\n", - "from numba import njit\n", - "from open_atmos_jupyter_utils import show_plot\n", - "from joblib import Parallel, delayed\n", "from PySDM import Formulae\n", - "from PySDM_examples.Lowe_et_al_2019.constants_def import LOWE_CONSTS\n", + "\n", "from PySDM_examples.Loftus_and_Wordsworth_2021 import Settings\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import (Planet, EarthLike, Earth, EarlyMars, Jupiter, Saturn, K2_18B)\n", + "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import (\n", + " Planet,\n", + " EarthLike, \n", + " Earth, \n", + " EarlyMars, \n", + " Jupiter, \n", + " Saturn, \n", + " K2_18B\n", + ")\n", "from PySDM_examples.Loftus_and_Wordsworth_2021 import Simulation\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2fb6b5aa", + "metadata": {}, + "outputs": [], + "source": [ "from PySDM.physics.particle_shape_and_density.oblate_spheroid import OblateSpheroid\n", "from PySDM.physics import si\n", "from scipy.optimize import fsolve" @@ -40,11 +53,8 @@ "metadata": {}, "outputs": [], "source": [ - "formulae = Formulae(\n", - " # terminal_velocity = \"LofusEtAl2021\", #eqn 8\n", - " # drop_growth = \"RogersAndYau1996\", #eqn 10\n", - " # particle_shape_and_density = \"OblateSpheroid\",\n", - " ventilation=\"PruppacherAndRasmussen1979\", # drag force/ gravitation eqns\n", + "formulae= Formulae(\n", + " ventilation=\"PruppacherAndRasmussen1979\",\n", " saturation_vapour_pressure=\"AugustRocheMagnus\",\n", " diffusion_coordinate=\"WaterMassLogarithm\",\n", ")" diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py index a7da9826bf..36192ca39d 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py @@ -35,15 +35,12 @@ def advance_parcel_vars(self): T = self["T"][0] p = self["p"][0] - dz_dt = -self.particulator.attributes["terminal velocity"].to_ndarray()[ - 0 - ] # *dt#formulae.trivia.terminal_velocity(self.particulator.#self.w((self.particulator.n_steps + 1 / 2) * dt) + self["terminal_velocity"][0] + dz_dt = - self.particulator.attributes["terminal velocity"].to_ndarray()[0] water_vapour_mixing_ratio = ( self["water_vapour_mixing_ratio"][0] - self.delta_liquid_water_mixing_ratio / 2 ) - # derivative evaluated at p_old, T_old, mixrat_mid, w_mid drho_dz = formulae.hydrostatics.drho_dz( p=p, T=T, diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index e13b6473f3..79518636f2 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -1,5 +1,4 @@ -# Planetary Properties, Loftus and Wordsworth 2021 Table 1 -from PySDM.physics import si +#Planetary Properties, Loftus and Wordsworth 2021 Table 1 from pystrict import strict @@ -13,7 +12,6 @@ class Settings: def __init__( self, - # w_avg: float, r_wet: float, mass_of_dry_air: float, planet: Planet, @@ -28,7 +26,6 @@ def __init__( saturation_vapour_pressure="AugustRocheMagnus", diffusion_coordinate=coord, ) - const = self.formulae.constants self.initial_water_vapour_mixing_ratio = initial_water_vapour_mixing_ratio self.p0 = planet.p_STP diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py index 2d922caef8..3c3435d9e7 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py @@ -8,9 +8,6 @@ from PySDM_examples.Loftus_and_Wordsworth_2021.parcel import AlienParcel -## General simulation from Arabas and Shima 2017, also looking at Graf et al. 2019 -# Need to edit Parcel in here to change dz into w +terminalv (should this be a w function? an option?) -# Some of this is probably not needed, not sure what yet class Simulation: def __init__(self, settings, backend=CPU): builder = Builder( @@ -24,7 +21,7 @@ def __init__(self, settings, backend=CPU): ), n_sd=1, environment=AlienParcel( - dt=settings.dt, # dt_output / self.n_substeps, + dt=settings.dt, mass_of_dry_air=settings.mass_of_dry_air, pcloud=settings.pcloud, zcloud=settings.Zcloud, @@ -44,12 +41,10 @@ def __init__(self, settings, backend=CPU): builder.request_attribute("terminal velocity") attributes = {} - r_dry = 1e-10 # np.array([settings.r_dry]) + r_dry = 1e-10 attributes["dry volume"] = settings.formulae.trivia.volume(radius=r_dry) attributes["kappa times dry volume"] = attributes["dry volume"] * settings.kappa attributes["multiplicity"] = np.array([1], dtype=np.int64) - # attributes["terminal velocity"] = np.array([0.0]) - environment = builder.particulator.environment r_wet = settings.r_wet attributes["volume"] = settings.formulae.trivia.volume(radius=r_wet) products = [ @@ -80,9 +75,9 @@ def run(self): } self.save(output) - while self.particulator.environment["z"][0] > 0 and output["r"][-1] > 1e-6: - # print(self.particulator.environment["z"][0]) + while self.particulator.environment["z"][0] >0 and output["r"][-1] > 1e-6: self.particulator.run(1) self.save(output) return output + diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/__init__.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py new file mode 100644 index 0000000000..6524e8bb5d --- /dev/null +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py @@ -0,0 +1,202 @@ +import pytest +import os +import numpy as np +from scipy.optimize import fsolve + +from PySDM import Formulae +from PySDM.physics import si +from PySDM_examples.Loftus_and_Wordsworth_2021 import Settings, Simulation +from PySDM_examples.Loftus_and_Wordsworth_2021.planet import EarthLike + + +class GroundTruthLoader: + def __init__( + self, + groundtruth_dir_path, + n_samples=2, + random_seed=2137 + ): + self.dir_path = groundtruth_dir_path + self.RHs = None + self.r0grid = None + self.m_frac_evap = None + self.n_samples = n_samples # Number of random samples to test + np.random.seed(random_seed) # reproducible random samples during debugging + + def __enter__(self): + try: + self.RHs = np.load(os.path.join(self.dir_path, 'RHs.npy')) + self.r0grid = np.load(os.path.join(self.dir_path, 'r0grid.npy')) + self.m_frac_evap = np.load(os.path.join(self.dir_path, 'm_frac_evap.npy')) + return self + except FileNotFoundError as e: + print(f"Error loading ground truth files: {e}") + raise + except Exception as e: + print(f"An unexpected error occurred while loading ground truth data: {e}") + raise + + def __exit__(self, exc_type, exc_val, exc_tb): + pass + + +class TestNPYComparison: + @staticmethod + def _mix(dry_prop, vap_prop, ratio): + return (dry_prop + ratio * vap_prop) / (1 + ratio) + + def _calculate_cloud_properties(self, planet: EarthLike, surface_RH: float, formulae_instance: Formulae): + const = formulae_instance.constants + + planet.RH_zref = surface_RH + + pvs_stp = formulae_instance.saturation_vapour_pressure.pvs_water(planet.T_STP) + + initial_water_vapour_mixing_ratio = const.eps / ( + planet.p_STP / planet.RH_zref / pvs_stp - 1 + ) + + R_air_mix = self._mix(const.Rd, const.Rv, initial_water_vapour_mixing_ratio) + cp_mix = self._mix(const.c_pd, const.c_pv, initial_water_vapour_mixing_ratio) + + def solve_Tcloud(T_candidate): + pv_ad = initial_water_vapour_mixing_ratio / (initial_water_vapour_mixing_ratio + const.eps)*planet.p_STP*(T_candidate/planet.T_STP)**(cp_mix/R_air_mix) + pvs_tc = formulae_instance.saturation_vapour_pressure.pvs_water(T_candidate) + return pv_ad - pvs_tc + + + Tcloud_solutions = fsolve(solve_Tcloud, [150.0,300.0]) + Tcloud = np.max(Tcloud_solutions) + + Zcloud = (planet.T_STP - Tcloud) * cp_mix / planet.g_std + + th_std = formulae_instance.trivia.th_std(planet.p_STP, planet.T_STP) + + pcloud = formulae_instance.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio( + planet.p_STP, th_std, initial_water_vapour_mixing_ratio, Zcloud + ) + return initial_water_vapour_mixing_ratio, Tcloud, Zcloud, pcloud + + + def test_figure_2_replication_accuracy(self): + current_dir = os.path.dirname(os.path.abspath(__file__)) + groundtruth_dir = os.path.abspath(os.path.join(current_dir, "ground_truth")) + if not os.path.isdir(groundtruth_dir): + pytest.fail(f"Groundtruth directory not found at {groundtruth_dir}") + + formulae = Formulae( + ventilation="PruppacherAndRasmussen1979", + saturation_vapour_pressure="AugustRocheMagnus", + diffusion_coordinate="WaterMassLogarithm", + ) + + with GroundTruthLoader(groundtruth_dir) as gt: + if gt.RHs is None or gt.r0grid is None or gt.m_frac_evap is None: + pytest.fail("Ground truth data (.npy files) not loaded properly.") + + n_rh_values = len(gt.RHs) + n_radius_values = gt.r0grid.shape[1] + + total_points = n_rh_values * n_radius_values + n_samples = min(gt.n_samples, total_points) + + if n_samples == 0: + pytest.skip("No data points available to sample.") + + all_indices = np.array([(i, j) for i in range(n_rh_values) for j in range(n_radius_values)]) + + sampled_indices_flat = np.random.choice(len(all_indices), n_samples, replace=False) + sampled_ij_pairs = all_indices[sampled_indices_flat] + + for i_rh, j_r in sampled_ij_pairs: + current_planet_state = EarthLike() + + current_rh = gt.RHs[i_rh] + current_r_m = gt.r0grid[0, j_r] + expected_m_frac_evap = gt.m_frac_evap[i_rh, j_r] + + try: + iwvmr, Tcloud, Zcloud, pcloud = self._calculate_cloud_properties( + current_planet_state, current_rh, formulae + ) + simulated_m_frac_evap_point = self.calc_simulated_m_frac_evap_point( + current_planet_state, formulae, i_rh, j_r, current_rh, + current_r_m, expected_m_frac_evap, + iwvmr, Tcloud, Zcloud, pcloud + ) + except Exception as e: + print(f"Warning: Error in _calculate_cloud_properties for RH={current_rh} (sample idx {i_rh},{j_r}): {e}.") + + + error_context = (f"Sample (RH_idx={i_rh}, R_idx={j_r}), " + f"RH={current_rh:.4f}, R_m={current_r_m:.3e}. " + f"Expected: {expected_m_frac_evap}, Got: {simulated_m_frac_evap_point}") + + if np.isnan(expected_m_frac_evap): + assert np.isnan(simulated_m_frac_evap_point), \ + f"NaN Mismatch. {error_context} (Expected NaN, got non-NaN)" + else: + assert not np.isnan(simulated_m_frac_evap_point), \ + f"NaN Mismatch. {error_context} (Expected non-NaN, got NaN)" + np.testing.assert_allclose( + simulated_m_frac_evap_point, + expected_m_frac_evap, + rtol=1e-1, # Relative tolerance + atol=1e-1, # Absolute tolerance + err_msg=f"Value Mismatch. {error_context}" + ) + + + def calc_simulated_m_frac_evap_point( + self, + current_planet_state, formulae, i_rh, j_r, current_rh, + current_r_m, expected_m_frac_evap, + iwvmr, Tcloud, Zcloud, pcloud + ): + + simulated_m_frac_evap_point = np.nan + + if np.isnan(current_r_m) or current_r_m <= 0: + print(f"Warning: Invalid radius current_r_m={current_r_m} for sample idx {i_rh},{j_r}.") + else: + settings = Settings( + planet=current_planet_state, + r_wet=current_r_m, + mass_of_dry_air= 1e5 * si.kg, + coord="WaterMassLogarithm", + initial_water_vapour_mixing_ratio=iwvmr, + pcloud=pcloud, + Zcloud=Zcloud, + Tcloud=Tcloud, + formulae=formulae, + ) + simulation = Simulation(settings) + + try: + output = simulation.run() + if output and 'r' in output and len(output['r']) > 0 and 'z' in output and len(output['z']) > 0: + final_radius_um = output['r'][-1] + if np.isnan(final_radius_um) or final_radius_um < 0: + final_radius_m = final_radius_um * 1e-6 + if final_radius_m < 0: # Non-physical radius + simulated_m_frac_evap_point = 1.0 # 1.0 means fully evaporated + else: + simulated_m_frac_evap_point = np.nan + else: + final_radius_m = final_radius_um * 1e-6 + if current_r_m == 0: + frac_evap = 1.0 + else: + frac_evap = 1.0 - (final_radius_m / current_r_m)**3 + frac_evap = np.clip(frac_evap, 0.0, 1.0) + simulated_m_frac_evap_point = frac_evap + else: + simulated_m_frac_evap_point = np.nan + except Exception as e: + print(f"Warning: Simulation run failed for RH={current_rh}, r={current_r_m} (sample idx {i_rh},{j_r}): {e}.") + if np.isclose(expected_m_frac_evap, 1.0, atol=1e-6): + simulated_m_frac_evap_point = 1.0 + else: + simulated_m_frac_evap_point = np.nan + + return simulated_m_frac_evap_point diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/RHgrid.npy b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/RHgrid.npy new file mode 100644 index 0000000000000000000000000000000000000000..e02761b427cb379b6be665a7fbf61a190db2633e GIT binary patch literal 72128 zcmeI5OG}ht7={(3B8m>U2#uOh8k1S1q#e+n2vLzrE2LaxOgWOGS))j3QP6=xjIa_4 zGIUWAAwq~sMPLw-7?qle<{=$Vqa)#>La4rXW`04dXK~HuCYKl2eK*d$@8{h^*$1<7 zLPN?!D(!i$($jAH9-BQWf0x~1v*(w%%iPYhCrjLUF7xwLXHluk`g!RY=Q)@4@0i5x z4qIHp_H7Q^CENeKR)+XrpM*37;D85spt%R_PuJB}Mtl|$4tPKhwC_M^W|ZUSjxR#O z0T1Yb_8qXss>7YxEhHT9fF5Yyfyuhmn`r^g#O#JT^7G)+;0&@PHm@-vQH7 zPu*7`;eZG9K>H4?x4s>8w)Y7M2Rxt$+IOHcxw?6%yI)8+-~m0*z5~`TgVrZl146<9 z59opR9oTE$R;(Bl5)ODk547)q|M*qZkdW3fG&taaIfjP^YCSOTDms(D2?+;0pa#&gKgFHCk0Ul`Xfw?u;;T{nZ4tPKhwC{lbxM=FAkmijh9Pj`SH1{BI-eNR( z{)&W$`N9|v@Ia>rjpngW&M_h3fCuzI`wj%ohm8f#i<0m#=VtK$4|ICq^gmGWyO8EV zt8l;rJkZ>Oz=ogVlfC)4Q>(p>z810LXk z<{kv@w@wD{JCpD*_kHmI4|ICq|MNJWNg>V6IXK_}9%$}C;6CrH?O3m_J+?02?so&2ikWa6;M}4tPKhwC_Mg)s{!C8)k)s10K)=?K_b8u|K{!XI4l!-~m0* zz5|PE@4Rn(I4dL^@PHm@-+|_%X}R@-vqHiF59opR9Vn{(v-n`6S4cSE0X@*Z12F?F zw`xv!g@gkh&;#u|;E62WTvg{45)ODk547(?+UA6W z10K)=?K==TQ8QZRoD&ibct8)d??B(yjPl}!IU(VI2lPPu4%{mUU6nsRCnOy3fF5Yy zfvo3k^|{gWLc#$L=z;bfSiMlP^O$R1NI2jDJV{IWgP>k|?Vct8)d??6I_J2T3$AS4{{fF5YyfgfS9)*~bqgoFbg&;#u| U(3Cb-5#F>QBpmR79%$czf9(F>CIA2c literal 0 HcmV?d00001 diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/RHs.npy b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/RHs.npy new file mode 100644 index 0000000000000000000000000000000000000000..73132c62032c60981b5d5716004d69315df29ade GIT binary patch literal 608 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$d20EHL3bhL411<(IxM06?x!|;Fsf+f-{>nPvO)l93i9<#Hm+ha;bBlPF zdBuJ{h-$fN4?S?0#)3!w*zrGZrg*kE8npP@lM;` zwa)@8xMvSC{ZP?;d$2KX51{%V*slOtpZE}J&O`e|u!9~!&3kMQv<&FN$53;h*k1vf z+PmQi)cmLRU~5l5h1&DX9_-ww&!F}_w}<%ig?-Qtxz^W#FYNh$UzK_?=>^pO7xow#|jdroFV^>ygF2|N2Y&s&2)(+a+Gvo1MF1v?219{bzv* zCsxdQWxpZVJ#OLcSN1v6{(YV)^V(kH=GM+hv9Il)O6SUV&wFjZC{AT-^ZnQMKt*0P z3UBPCpGn% z*1oOeUXsW2xAsokr~YuzcxV6rr%#_{<~#d6HY_SetKQjH)bHM@_4=K?DKNH_b>7>5 TWYGdz{oa0^`@<@cb?@x~9yk!q literal 0 HcmV?d00001 diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py new file mode 100644 index 0000000000..936da4ee3b --- /dev/null +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py @@ -0,0 +1,64 @@ +################################################################ +# make LoWo21 Figure 2 +# r_min, fraction raindrop mass evaporated as functions of RH +################################################################ +import numpy as np +import matplotlib.pyplot as plt +import os + +# load results +dir = os.path.dirname(os.path.abspath(__file__)) +RHs = np.load(os.path.join(dir, 'RHs.npy')) +r0grid = np.load(os.path.join(dir, 'r0grid.npy')) +RHgrid = np.load(os.path.join(dir, 'RHgrid.npy')) +m_frac_evap = np.load(os.path.join(dir, 'm_frac_evap.npy')) +r_mins = np.load(os.path.join(dir, 'r_mins.npy')) + +i_RH75 = 29 # index for RH=0.75 + +# make figure 2 +# only put colorbar on lower panel, still line up x-axes +f, axs = plt.subplots(2,2,sharex='col',figsize=(6,7),gridspec_kw={'height_ratios': [1, 3],'width_ratios':[20,1]}) +plt.subplots_adjust(hspace=0.05) +axs[0,0].set_xscale('log') +axs[1,0].set_xlabel(r'$r_0$ [mm]') +axs[1,0].set_ylabel('surface RH [ ]') +axs[0,0].tick_params(right=True,which='both') +axs[1,0].tick_params(right=True,which='both') +axs[1,0].tick_params(top=True,which='both') +axs[0,0].tick_params(top=True,which='both') +axs[0,0].set_ylabel('fraction mass \n evaporated [ ]') +axs[0,0].set_xlim(r0grid[0,0]*1e3,r0grid[0,-1]*1e3) +axs[0,0].set_ylim(-0.04,1.04) +levels_smooth = np.linspace(0,1,250) +cmesh = axs[1,0].contourf(r0grid*1e3, RHgrid,m_frac_evap,cmap=plt.cm.binary,vmin=0,vmax=1,levels=levels_smooth) + + +cb = f.colorbar(cmesh,cax=axs[1,1]) +cb.solids.set_edgecolor('face') +axs[0,1].axis('off') +cb.solids.set_edgecolor('face') +cb.solids.set_linewidth(1e-5) +cb.set_label('fraction mass evaporated [ ]') +cb.set_ticks([0,0.1,0.25,0.5,0.75,1]) +axs[1,0].axhline(0.75,lw=0.5,ls='--',c='plum') +axs[1,0].plot(r_mins*1e3,RHs,lw=3,c='darkviolet',zorder=10) +c_10 = axs[1,0].contour(r0grid*1e3, RHgrid,m_frac_evap,colors='indigo',linewidths=1,linestyles='--',levels=[0.1]) +cb.add_lines(c_10) +axs[1,0].clabel(c_10, c_10.levels, fmt={0.1:'10% mass evaporated'},fontsize='smaller') +axs[1,0].fill_betweenx(RHs,1e-2,(r_mins-1e-6)*1e3,edgecolor='k',facecolor='w',hatch='//') +axs[1,0].annotate(text='TOTAL \\n EVAPORATION',xy=(0.04,0.55),c='k',backgroundcolor='w') +axs[1,0].annotate(text=r'$r_\mathrm{min}$',xy=(0.35,0.27),c='darkviolet',backgroundcolor='w',size=8) + +axs[0,0].scatter(r_mins[i_RH75]*1e3,0.99,color='darkviolet',zorder=10) +axs[0,0].axvline(r_mins[i_RH75]*1e3,lw=0.5,c='darkviolet',ls='--') +axs[0,0].plot(r0grid[0,:]*1e3,m_frac_evap[i_RH75,:],lw=2.05,c='k') +axs[0,0].axhline(1,c='w',lw=3) +axs[0,0].plot([1e-2,r_mins[i_RH75]*1e3],[1,1],c='k',lw=2.05,ls='--') +axs[0,0].annotate(text='surface RH = 0.75',xy=(0.8,0.85),c='plum',size=8) +axs[0,0].annotate(text=r'$r_\mathrm{min}$',xy=(0.13,0.05),c='darkviolet',size=8) + +figs_path = os.path.join(dir,'figs') +os.mkdir(figs_path) if not os.path.exists(figs_path) else None +plt.savefig(os.path.join(figs_path,'fig02.pdf'),transparent=True,bbox_inches='tight',pad_inches=0.5) +plt.close() diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/m_frac_evap.npy b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/m_frac_evap.npy new file mode 100644 index 0000000000000000000000000000000000000000..657765da4b1600296772f69df82fe9e09157c51c GIT binary patch literal 72128 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�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 z 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 ZA8sQ2aWSG1bV`dp#sWKy4sB>){s(E&21)<` literal 0 HcmV?d00001 diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/r0grid.npy b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/r0grid.npy new file mode 100644 index 0000000000000000000000000000000000000000..5f4e75e31d867f6c5ca2998a9315b8516510993c GIT binary patch literal 72128 zcmeI*`&*287zS`fbRvyHIv5pGrWn&fWtv+ll}bhFAd(J*RZX!DrLfkjq*!(-5^}ys zOCz;*9gA(TwpD63nVdyMN)Bu7zp&S}zuoiOynn#=`o7P5Kc9Qs^br5RaJ4?m`>Ynl z#-+q4L@q*+EZ#|EBNW9aDpD2EOQRAMv2p)CpBlX+CGPX{l!ehrai9NNIZAAV6C5Pg zHo|n_fBR{Nd)k^?S$4~l>$4x0zUr1|{i&Mxb4`zYLyDbW;la1^nX14Cn{#^QQPouo zTUNc3H#9}7sgmEzjba^6wkCg&8=a|+cV7Kbp0uG>?2`Mpe7ybv+sVg1$s--VR0JpV zfn%i6&PD2K=x=`eyg{)Vx->M~zV=kd+!JdC^|Y&F*Mj~!yZ82m&#qfH%R>7h&^2*E zs-XsI(l_V|8#PcZkjT4B`eXkK@gL4B2cXpPqLCz66J=L38-)|K@Fef*`dQ}Ms5v8c zG8?Lcb(4R6S}o9pwDGIdgTn_xU)Qig&uS3v^v~nbmi6Z4|9j0Cvbhxi6I8K=X^cs%?$(8*4t$0;JP(Hx}-^dDrkxLh*D+VmqqO$}z~IsReA&bK2m-Sq6;gnS{MPceA>Mm!3^CDXQ9 z)Q-aG%KA8w!W=n8j<+V7SzwE@5}R*X;Pz`n$^1>0a6XtOf9*XQquujdGxWyb!Nx8h zufN7XyZPw7+%ge58tgg>wpd}iG^4jX)f!f3PnnA6kA!?#RVkW|O zhv~sIS0_}QODx$r(iykQHSWCDa)Eu=8bQMc7wGoPQQz@)5^k2++Gl>0VS9M4Q=5() zwoP8=rIx@;*OT?37L(C*s6ceTVlqrRpB;Y`;)dJ%&9)ZwxZz5{r)K*ickCXnp7qpk z3dCA|S+Dwdz<6cMv#d%FjCIRyYESb-*37zV^E{`*+xc12NJB5|-CEq4*ye>{#{-^x z|BE-IX|L9|miZvKShA;J-!!a%bDds+FH9b0@69jtLtb0yvSo+-vB>24T|w1!xEDTO zf4MOLHNShyy4D7w{oXx;4&xxCxmx*tQyB!o>0J(;^JXA0^`RhIcP6UL%8dt~pNU83 zthYNY4@Th8C#^#rLeSRKRrK^-2m;Sbj&xSf!s6p4GDTr1_TR|UKD8nYYmT}4cSnZf zr$=X6a(p6S{n~%_Mfq$9FAo(xmPI0=URF5WV-8Np=9mP8%*EFHyW`xGq7Y^_BH-e* zdFY%1-%8ayoSBxaa?OlJ#3k#hbc^}unW~H~t(_0;zO?}Z(_+x7U8;FwLM$5MOhw~f z#-c^5HhJ->IBXQ3ZojfR9+evhe$4P+fT}D(bn}>nc(6P-)=D!07dl*@9_mcMk^-%D zM_LzQn9@8at$8ude$?_wQ7yp&uT8zG_AjvK#^GLz0g31;s(a~ekc92p{cAjrCPAhX zakj!U8Ra9sJy-uI89c9eUh%x*dByXJ_bcA7c)#NPiuWtN5AuDG?}L0FCpddT#U z=^@iYrr%D#oqjw0cKYq?n_%Ar`zF{o!G0X}qUvVV~M zgX|w<{~-HP*_X<`RQ9E^FO~hy?006rGy9#{N6$Wb_R+JCo_+KN#cJr%px;ivoqjw0 zcKYq~+v&H{Z>Qf*zny+N{dW58^xNsT({HEWPQRUgJN9^Bwr{7M$oqjw0cKYq~+v&H{Z>Qf*zny+N{dW58^xNsT({HEWPQRUgJN9^Bwr{7M$oqjw0cKYq~+v&H{Z>Qf*zny+N{dW58 z^xNsT({HEWPQRUgJN9^Bwr{7M$oqjw0cKYq~+v&H{ zZ>Qf*zny+N{dW58^xNsT({HEWPQRUgJN9^Bw J|G)kAe*hZO^Fsgt literal 0 HcmV?d00001 diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/r_mins.npy b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/r_mins.npy new file mode 100644 index 0000000000000000000000000000000000000000..dba178b0df375d983ec6a4987c4693411186ffba GIT binary patch literal 608 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$d20EHL3bhL41Fk9o-GG@}TSF)&j{oXUhn?-6 zGC~$as5{#qFgQ11Uzd};N8#T$b3ZxS-}xuJ^;?{yee*i!mnY6U*n5WV>lATyu746TiZXdUijB5(8~S_$Cfp_ z!Yu7&(waiFVl3<%OQf&&WSQH?-g{*7sL{;+&8}D7<}*$0_i!5D>DgdnpKxlo>Z9Yv z_Q_UO-dZn=?A>~;vx+#3?B^WX-?U4^(Eh=p`{iE)4eYaZyUr$j)3eX6zCZ7phpzpa zX*;xx)@s`y|LW7UaFdq(^+W&U553j2clwsobizv0UZnbu)XP#0`+K{)SIw=|x5RFGW`t9pzE9cThX}{B)#(z0uJNhi+)f+uyzU-0A6IS^EonUuvsa z$=Ej>Tg9KgLCXHvXRUY3)g 0 + assert planet.T_STP > 0 + assert planet.p_STP > 0 + assert planet.RH_zref >= 0 + assert planet.RH_zref <= 1 + + # atmospheric composition sums to 1 or less + total_conc = (planet.dry_molar_conc_H2 + planet.dry_molar_conc_He + + planet.dry_molar_conc_N2 + planet.dry_molar_conc_O2 + + planet.dry_molar_conc_CO2) + assert total_conc <= 1.01, f"Total molar concentration {total_conc} exceeds 1.01 for {planet.__class__.__name__}" + + + def test_water_vapour_mixing_ratio_calculation(self): + """Test water vapour mixing ratio calculation.""" + with self._get_test_resources() as (formulae, earth_like): + const = formulae.constants + planet = earth_like + + pvs = formulae.saturation_vapour_pressure.pvs_water(planet.T_STP) + initial_water_vapour_mixing_ratio = const.eps / ( + planet.p_STP / planet.RH_zref / pvs - 1 + ) + + assert initial_water_vapour_mixing_ratio > 0 + assert initial_water_vapour_mixing_ratio < 0.1 # Should be less than 10% + + + def test_alien_parcel_initialization(self): + """Test AlienParcel class initialization.""" + parcel = AlienParcel( + dt=1.0 * si.second, + mass_of_dry_air=1e5 * si.kg, + pcloud=90000 * si.pascal, + initial_water_vapour_mixing_ratio=0.01, + Tcloud=280 * si.kelvin, + w=0, + zcloud=1000 * si.m, + ) + assert parcel is not None + + @pytest.mark.parametrize( + "r_wet_val, mass_of_dry_air_val, iwvmr_val, pcloud_val, Zcloud_val, Tcloud_val", + [ + (1e-4, 1e5, 0.01, 90000, 1000, 280), + (1e-5, 1e4, 0.005, 80000, 500, 270), + (2e-4, 2e5, 0.02, 95000, 1500, 290), + ] + ) + def test_simulation_class( + self, r_wet_val, mass_of_dry_air_val, iwvmr_val, pcloud_val, Zcloud_val, Tcloud_val + ): + """Test Simulation class initialization and basic functionality with parametrized settings.""" + with self._get_test_resources() as (formulae, earth_like): + planet = earth_like + + settings = Settings( + planet=planet, + r_wet=r_wet_val * si.m, + mass_of_dry_air=mass_of_dry_air_val * si.kg, + initial_water_vapour_mixing_ratio=iwvmr_val, + pcloud=pcloud_val * si.pascal, + Zcloud=Zcloud_val * si.m, + Tcloud=Tcloud_val * si.kelvin, + formulae=formulae, + ) + + simulation = Simulation(settings) + + assert hasattr(simulation, 'particulator') + assert hasattr(simulation, 'run') + assert hasattr(simulation, 'save') + + products = simulation.particulator.products + required_products = ["radius_m1", "z", "RH", "t"] + for product in required_products: + assert product in products + + + + @pytest.mark.parametrize( + "r_wet_val, mass_of_dry_air_val, iwvmr_val, pcloud_val, Zcloud_val, Tcloud_val", + [ + (1e-5, 1e5, 0.01, 90000, 100, 280), + (1e-5, 1e4, 0.005, 80000, 500, 270), + (2e-4, 2e5, 0.02, 95000, 1500, 290), + ] + ) + def test_simulation_run_basic(self, r_wet_val, mass_of_dry_air_val, iwvmr_val, pcloud_val, Zcloud_val, Tcloud_val): + """Test basic simulation run functionality.""" + with self._get_test_resources() as (formulae, earth_like): + planet = earth_like + + settings = Settings( + planet=planet, + r_wet=r_wet_val * si.m, + mass_of_dry_air=mass_of_dry_air_val * si.kg, + initial_water_vapour_mixing_ratio=iwvmr_val, + pcloud=pcloud_val * si.pascal, + Zcloud=Zcloud_val * si.m, + Tcloud=Tcloud_val * si.kelvin, + formulae=formulae, + ) + + simulation = Simulation(settings) + output = simulation.run() + + assert 'r' in output + assert 'S' in output + assert 'z' in output + assert 't' in output + + assert output['r'] is not None + assert output['S'] is not None + assert output['z'] is not None + assert output['t'] is not None + + assert len(output['r']) > 0, "Output array 'r' is empty" + assert len(output['S']) > 0, "Output array 'S' is empty" + assert len(output['z']) > 0, "Output array 'z' is empty" + assert len(output['t']) > 0, "Output array 't' is empty" + + lengths = [len(output[key]) for key in output.keys()] + assert all(l == lengths[0] for l in lengths), "Not all output arrays have the same length" + + def test_saturation_at_cloud_base(self): + formulae= Formulae( + ventilation="PruppacherAndRasmussen1979", + saturation_vapour_pressure="AugustRocheMagnus", + diffusion_coordinate="WaterMassLogarithm", + ) + + new_Earth = EarthLike() + new_Earth.T_STP + + RH_array = np.linspace(0.25, .99, 50) + const = formulae.constants + + def mix(dry,vap,ratio): + return (dry + ratio * vap)/(1 + ratio) + + for i,RH in enumerate(RH_array[::-1]): + new_Earth.RH_zref = RH + + pvs = formulae.saturation_vapour_pressure.pvs_water(new_Earth.T_STP) + initial_water_vapour_mixing_ratio = const.eps / (new_Earth.p_STP / new_Earth.RH_zref / pvs - 1 + ) + + Rair = mix(const.Rd,const.Rv,initial_water_vapour_mixing_ratio) + c_p = mix(const.c_pd,const.c_pv,initial_water_vapour_mixing_ratio) + + def f(x): + return initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio+ const.eps)*new_Earth.p_STP*(x/new_Earth.T_STP)**(c_p/Rair + ) - formulae.saturation_vapour_pressure.pvs_water(x) + + tdews = (fsolve(f, [150,300])) + Tcloud = np.max(tdews) + Zcloud = (new_Earth.T_STP-Tcloud)*c_p/new_Earth.g_std + thstd = formulae.trivia.th_std(new_Earth.p_STP, new_Earth.T_STP) + + pcloud = formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio(new_Earth.p_STP, + thstd, initial_water_vapour_mixing_ratio, Zcloud) + + np.testing.assert_approx_equal( + actual=pcloud*(initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio + const.eps))/ + formulae.saturation_vapour_pressure.pvs_water(Tcloud), + desired=1, + significant=4 + ) + \ No newline at end of file diff --git a/uv.lock b/uv.lock deleted file mode 100644 index 981da4936a..0000000000 --- a/uv.lock +++ /dev/null @@ -1,4927 +0,0 @@ -version = 1 -revision = 1 -requires-python = ">=3.8" -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", - "python_full_version < '3.9'", -] - -[[package]] -name = "anyio" -version = "4.5.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, - { name = "idna", marker = "python_full_version < '3.9'" }, - { name = "sniffio", marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766 }, -] - -[[package]] -name = "anyio" -version = "4.9.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "idna", marker = "python_full_version >= '3.9'" }, - { name = "sniffio", marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916 }, -] - -[[package]] -name = "appnope" -version = "0.1.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321 }, -] - -[[package]] -name = "argon2-cffi" -version = "23.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "argon2-cffi-bindings" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/31/fa/57ec2c6d16ecd2ba0cf15f3c7d1c3c2e7b5fcb83555ff56d7ab10888ec8f/argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08", size = 42798 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea", size = 15124 }, -] - -[[package]] -name = "argon2-cffi-bindings" -version = "21.2.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658 }, - { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583 }, - { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168 }, - { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709 }, - { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613 }, - { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583 }, - { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475 }, - { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698 }, - { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817 }, - { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104 }, - { url = "https://files.pythonhosted.org/packages/34/da/d105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", size = 23689 }, - { url = "https://files.pythonhosted.org/packages/43/f3/20bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", size = 28122 }, - { url = "https://files.pythonhosted.org/packages/2e/f1/48888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", size = 27882 }, - { url = "https://files.pythonhosted.org/packages/ee/0f/a2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", size = 30745 }, - { url = "https://files.pythonhosted.org/packages/ed/55/f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c/argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", size = 28587 }, -] - -[[package]] -name = "arrow" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "python-dateutil" }, - { name = "types-python-dateutil", version = "2.9.0.20241206", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "types-python-dateutil", version = "2.9.0.20250516", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173/arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85", size = 131960 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/ed/e97229a566617f2ae958a6b13e7cc0f585470eac730a73e9e82c32a3cdd2/arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80", size = 66419 }, -] - -[[package]] -name = "asttokens" -version = "3.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918 }, -] - -[[package]] -name = "async-lru" -version = "2.0.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd/async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627", size = 10019 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/9f/3c3503693386c4b0f245eaf5ca6198e3b28879ca0a40bde6b0e319793453/async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224", size = 6111 }, -] - -[[package]] -name = "async-lru" -version = "2.0.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b2/4d/71ec4d3939dc755264f680f6c2b4906423a304c3d18e96853f0a595dfe97/async_lru-2.0.5.tar.gz", hash = "sha256:481d52ccdd27275f42c43a928b4a50c3bfb2d67af4e78b170e3e0bb39c66e5bb", size = 10380 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/03/49/d10027df9fce941cb8184e78a02857af36360d33e1721df81c5ed2179a1a/async_lru-2.0.5-py3-none-any.whl", hash = "sha256:ab95404d8d2605310d345932697371a5f40def0487c03d6d0ad9138de52c9943", size = 6069 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 }, -] - -[[package]] -name = "babel" -version = "2.17.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pytz", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, -] - -[[package]] -name = "backcall" -version = "0.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93/backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", size = 18041 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255", size = 11157 }, -] - -[[package]] -name = "beautifulsoup4" -version = "4.13.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "soupsieve" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285 }, -] - -[[package]] -name = "bleach" -version = "6.1.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "six", marker = "python_full_version < '3.9'" }, - { name = "webencodings", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/6d/10/77f32b088738f40d4f5be801daa5f327879eadd4562f36a2b5ab975ae571/bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe", size = 202119 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ea/63/da7237f805089ecc28a3f36bca6a21c31fcbc2eb380f3b8f1be3312abd14/bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6", size = 162750 }, -] - -[package.optional-dependencies] -css = [ - { name = "tinycss2", version = "1.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] - -[[package]] -name = "bleach" -version = "6.2.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "webencodings", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406 }, -] - -[package.optional-dependencies] -css = [ - { name = "tinycss2", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618 }, -] - -[[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 } -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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, - { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, - { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, - { url = "https://files.pythonhosted.org/packages/48/08/15bf6b43ae9bd06f6b00ad8a91f5a8fe1069d4c9fab550a866755402724e/cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b", size = 182457 }, - { url = "https://files.pythonhosted.org/packages/c2/5b/f1523dd545f92f7df468e5f653ffa4df30ac222f3c884e51e139878f1cb5/cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964", size = 425932 }, - { url = "https://files.pythonhosted.org/packages/53/93/7e547ab4105969cc8c93b38a667b82a835dd2cc78f3a7dad6130cfd41e1d/cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9", size = 448585 }, - { url = "https://files.pythonhosted.org/packages/56/c4/a308f2c332006206bb511de219efeff090e9d63529ba0a77aae72e82248b/cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc", size = 456268 }, - { url = "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", size = 436592 }, - { url = "https://files.pythonhosted.org/packages/bb/19/b51af9f4a4faa4a8ac5a0e5d5c2522dcd9703d07fac69da34a36c4d960d3/cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1", size = 446512 }, - { url = "https://files.pythonhosted.org/packages/e2/63/2bed8323890cb613bbecda807688a31ed11a7fe7afe31f8faaae0206a9a3/cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8", size = 171576 }, - { url = "https://files.pythonhosted.org/packages/2f/70/80c33b044ebc79527447fd4fbc5455d514c3bb840dede4455de97da39b4d/cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1", size = 181229 }, - { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220 }, - { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605 }, - { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910 }, - { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200 }, - { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565 }, - { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635 }, - { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218 }, - { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486 }, - { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911 }, - { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632 }, - { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820 }, - { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290 }, -] - -[[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 } -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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445 }, - { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106 }, - { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357 }, - { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776 }, - { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622 }, - { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435 }, - { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653 }, - { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231 }, - { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243 }, - { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442 }, - { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147 }, - { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057 }, - { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454 }, - { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174 }, - { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166 }, - { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064 }, - { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641 }, - { url = "https://files.pythonhosted.org/packages/4c/fd/f700cfd4ad876def96d2c769d8a32d808b12d1010b6003dc6639157f99ee/charset_normalizer-3.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb", size = 198257 }, - { url = "https://files.pythonhosted.org/packages/3a/95/6eec4cbbbd119e6a402e3bfd16246785cc52ce64cf21af2ecdf7b3a08e91/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a", size = 143453 }, - { url = "https://files.pythonhosted.org/packages/b6/b3/d4f913660383b3d93dbe6f687a312ea9f7e89879ae883c4e8942048174d4/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45", size = 153130 }, - { url = "https://files.pythonhosted.org/packages/e5/69/7540141529eabc55bf19cc05cd9b61c2078bebfcdbd3e799af99b777fc28/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5", size = 145688 }, - { url = "https://files.pythonhosted.org/packages/2e/bb/d76d3d6e340fb0967c43c564101e28a78c9a363ea62f736a68af59ee3683/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1", size = 147418 }, - { url = "https://files.pythonhosted.org/packages/3e/ef/b7c1f39c0dc3808160c8b72e0209c2479393966313bfebc833533cfff9cc/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027", size = 150066 }, - { url = "https://files.pythonhosted.org/packages/20/26/4e47cc23d2a4a5eb6ed7d6f0f8cda87d753e2f8abc936d5cf5ad2aae8518/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b", size = 144499 }, - { url = "https://files.pythonhosted.org/packages/d7/9c/efdf59dd46593cecad0548d36a702683a0bdc056793398a9cd1e1546ad21/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455", size = 152954 }, - { url = "https://files.pythonhosted.org/packages/59/b3/4e8b73f7299d9aaabd7cd26db4a765f741b8e57df97b034bb8de15609002/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01", size = 155876 }, - { url = "https://files.pythonhosted.org/packages/53/cb/6fa0ccf941a069adce3edb8a1e430bc80e4929f4d43b5140fdf8628bdf7d/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58", size = 153186 }, - { url = "https://files.pythonhosted.org/packages/ac/c6/80b93fabc626b75b1665ffe405e28c3cef0aae9237c5c05f15955af4edd8/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681", size = 148007 }, - { url = "https://files.pythonhosted.org/packages/41/eb/c7367ac326a2628e4f05b5c737c86fe4a8eb3ecc597a4243fc65720b3eeb/charset_normalizer-3.4.2-cp38-cp38-win32.whl", hash = "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7", size = 97923 }, - { url = "https://files.pythonhosted.org/packages/7c/02/1c82646582ccf2c757fa6af69b1a3ea88744b8d2b4ab93b7686b2533e023/charset_normalizer-3.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a", size = 105020 }, - { url = "https://files.pythonhosted.org/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671 }, - { url = "https://files.pythonhosted.org/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744 }, - { url = "https://files.pythonhosted.org/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993 }, - { url = "https://files.pythonhosted.org/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", size = 147382 }, - { url = "https://files.pythonhosted.org/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", size = 149536 }, - { url = "https://files.pythonhosted.org/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", size = 151349 }, - { url = "https://files.pythonhosted.org/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", size = 146365 }, - { url = "https://files.pythonhosted.org/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", size = 154499 }, - { url = "https://files.pythonhosted.org/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", size = 157735 }, - { url = "https://files.pythonhosted.org/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", size = 154786 }, - { url = "https://files.pythonhosted.org/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", size = 150203 }, - { url = "https://files.pythonhosted.org/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", size = 98436 }, - { url = "https://files.pythonhosted.org/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", size = 105772 }, - { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626 }, -] - -[[package]] -name = "chempy" -version = "0.9.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "dot2tex" }, - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pulp" }, - { name = "pyneqsys" }, - { name = "pyodesys" }, - { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "quantities", version = "0.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "quantities", version = "0.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "sym" }, - { name = "sympy", version = "1.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0a/29/641d538639c99042da07b33fef7c8cb4412e239f1d5da02c6c072b669538/chempy-0.9.0.tar.gz", hash = "sha256:3ba07d597fef672f3dea4c3ce81e64683f90afd263a7962a6d0db2ab8d9a0204", size = 184714 } - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, -] - -[[package]] -name = "comm" -version = "0.2.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "traitlets" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180 }, -] - -[[package]] -name = "contourpy" -version = "1.1.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/7d/087ee4295e7580d3f7eb8a8a4e0ec8c7847e60f34135248ccf831cf5bbfc/contourpy-1.1.1.tar.gz", hash = "sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab", size = 13433167 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/7f/c44a51a83a093bf5c84e07dd1e3cfe9f68c47b6499bd05a9de0c6dbdc2bc/contourpy-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b", size = 247207 }, - { url = "https://files.pythonhosted.org/packages/a9/65/544d66da0716b20084874297ff7596704e435cf011512f8e576638e83db2/contourpy-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d", size = 232428 }, - { url = "https://files.pythonhosted.org/packages/5b/e6/697085cc34a294bd399548fd99562537a75408f113e3a815807e206246f0/contourpy-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae", size = 285304 }, - { url = "https://files.pythonhosted.org/packages/69/4b/52d0d2e85c59f00f6ddbd6fea819f267008c58ee7708da96d112a293e91c/contourpy-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916", size = 322655 }, - { url = "https://files.pythonhosted.org/packages/82/fc/3decc656a547a6d5d5b4249f81c72668a1f3259a62b2def2504120d38746/contourpy-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0", size = 296430 }, - { url = "https://files.pythonhosted.org/packages/f1/6b/e4b0f8708f22dd7c321f87eadbb98708975e115ac6582eb46d1f32197ce6/contourpy-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1", size = 301672 }, - { url = "https://files.pythonhosted.org/packages/c3/87/201410522a756e605069078833d806147cad8532fdc164a96689d05c5afc/contourpy-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d", size = 820145 }, - { url = "https://files.pythonhosted.org/packages/b4/d9/42680a17d43edda04ab2b3f11125cf97b61bce5d3b52721a42960bf748bd/contourpy-1.1.1-cp310-cp310-win32.whl", hash = "sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431", size = 399542 }, - { url = "https://files.pythonhosted.org/packages/55/14/0dc1884e3c04f9b073a47283f5d424926644250891db392a07c56f05e5c5/contourpy-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb", size = 477974 }, - { url = "https://files.pythonhosted.org/packages/8b/4f/be28a39cd5e988b8d3c2cc642c2c7ffeeb28fe80a86df71b6d1e473c5038/contourpy-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2", size = 248613 }, - { url = "https://files.pythonhosted.org/packages/2c/8e/656f8e7cd316aa68d9824744773e90dbd71f847429d10c82001e927480a2/contourpy-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b", size = 233603 }, - { url = "https://files.pythonhosted.org/packages/60/2a/4d4bd4541212ab98f3411f21bf58b0b246f333ae996e9f57e1acf12bcc45/contourpy-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b", size = 287037 }, - { url = "https://files.pythonhosted.org/packages/24/67/8abf919443381585a4eee74069e311c736350549dae02d3d014fef93d50a/contourpy-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532", size = 323274 }, - { url = "https://files.pythonhosted.org/packages/2a/e5/6da11329dd35a2f2e404a95e5374b5702de6ac52e776e8b87dd6ea4b29d0/contourpy-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e", size = 297801 }, - { url = "https://files.pythonhosted.org/packages/b7/f6/78f60fa0b6ae64971178e2542e8b3ad3ba5f4f379b918ab7b18038a3f897/contourpy-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5", size = 302821 }, - { url = "https://files.pythonhosted.org/packages/da/25/6062395a1c6a06f46a577da821318886b8b939453a098b9cd61671bb497b/contourpy-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62", size = 820121 }, - { url = "https://files.pythonhosted.org/packages/41/5e/64e78b1e8682cbab10c13fc1a2c070d30acedb805ab2f42afbd3d88f7225/contourpy-1.1.1-cp311-cp311-win32.whl", hash = "sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33", size = 401590 }, - { url = "https://files.pythonhosted.org/packages/e5/76/94bc17eb868f8c7397f8fdfdeae7661c1b9a35f3a7219da308596e8c252a/contourpy-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45", size = 480534 }, - { url = "https://files.pythonhosted.org/packages/94/0f/07a5e26fec7176658f6aecffc615900ff1d303baa2b67bc37fd98ce67c87/contourpy-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a", size = 249799 }, - { url = "https://files.pythonhosted.org/packages/32/0b/d7baca3f60d3b3a77c9ba1307c7792befd3c1c775a26c649dca1bfa9b6ba/contourpy-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e", size = 232739 }, - { url = "https://files.pythonhosted.org/packages/6d/62/a385b4d4b5718e3a933de5791528f45f1f5b364d3c79172ad0309c832041/contourpy-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442", size = 282171 }, - { url = "https://files.pythonhosted.org/packages/91/21/8c6819747fea53557f3963ca936035b3e8bed87d591f5278ad62516a059d/contourpy-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8", size = 321182 }, - { url = "https://files.pythonhosted.org/packages/22/29/d75da9002f9df09c755b12cf0357eb91b081c858e604f4e92b4b8bfc3c15/contourpy-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7", size = 295869 }, - { url = "https://files.pythonhosted.org/packages/a7/47/4e7e66159f881c131e3b97d1cc5c0ea72be62bdd292c7f63fd13937d07f4/contourpy-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf", size = 298756 }, - { url = "https://files.pythonhosted.org/packages/d3/bb/bffc99bc3172942b5eda8027ca0cb80ddd336fcdd634d68adce957d37231/contourpy-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d", size = 818441 }, - { url = "https://files.pythonhosted.org/packages/da/1b/904baf0aaaf6c6e2247801dcd1ff0d7bf84352839927d356b28ae804cbb0/contourpy-1.1.1-cp312-cp312-win32.whl", hash = "sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6", size = 410294 }, - { url = "https://files.pythonhosted.org/packages/75/d4/c3b7a9a0d1f99b528e5a46266b0b9f13aad5a0dd1156d071418df314c427/contourpy-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970", size = 486678 }, - { url = "https://files.pythonhosted.org/packages/02/7e/ffaba1bf3719088be3ad6983a5e85e1fc9edccd7b406b98e433436ecef74/contourpy-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d", size = 247023 }, - { url = "https://files.pythonhosted.org/packages/a6/82/29f5ff4ae074c3230e266bc9efef449ebde43721a727b989dd8ef8f97d73/contourpy-1.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9", size = 232380 }, - { url = "https://files.pythonhosted.org/packages/9b/cb/08f884c4c2efd433a38876b1b8069bfecef3f2d21ff0ce635d455962f70f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217", size = 285830 }, - { url = "https://files.pythonhosted.org/packages/8e/57/cd4d4c99d999a25e9d518f628b4793e64b1ecb8ad3147f8469d8d4a80678/contourpy-1.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684", size = 322038 }, - { url = "https://files.pythonhosted.org/packages/32/b6/c57ed305a6f86731107fc183e97c7e6a6005d145f5c5228a44718082ad12/contourpy-1.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce", size = 295797 }, - { url = "https://files.pythonhosted.org/packages/8e/71/7f20855592cc929bc206810432b991ec4c702dc26b0567b132e52c85536f/contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8", size = 301124 }, - { url = "https://files.pythonhosted.org/packages/86/6d/52c2fc80f433e7cdc8624d82e1422ad83ad461463cf16a1953bbc7d10eb1/contourpy-1.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251", size = 819787 }, - { url = "https://files.pythonhosted.org/packages/d0/b0/f8d4548e89f929d6c5ca329df9afad6190af60079ec77d8c31eb48cf6f82/contourpy-1.1.1-cp38-cp38-win32.whl", hash = "sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7", size = 400031 }, - { url = "https://files.pythonhosted.org/packages/96/1b/b05cd42c8d21767a0488b883b38658fb9a45f86c293b7b42521a8113dc5d/contourpy-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9", size = 477949 }, - { url = "https://files.pythonhosted.org/packages/16/d9/8a15ff67fc27c65939e454512955e1b240ec75cd201d82e115b3b63ef76d/contourpy-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba", size = 247396 }, - { url = "https://files.pythonhosted.org/packages/09/fe/086e6847ee53da10ddf0b6c5e5f877ab43e68e355d2f4c85f67561ee8a57/contourpy-1.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34", size = 232598 }, - { url = "https://files.pythonhosted.org/packages/a3/9c/662925239e1185c6cf1da8c334e4c61bddcfa8e528f4b51083b613003170/contourpy-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887", size = 286436 }, - { url = "https://files.pythonhosted.org/packages/d3/7e/417cdf65da7140981079eda6a81ecd593ae0239bf8c738f2e2b3f6df8920/contourpy-1.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718", size = 322629 }, - { url = "https://files.pythonhosted.org/packages/a8/22/ffd88aef74cc045698c5e5c400e8b7cd62311199c109245ac7827290df2c/contourpy-1.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f", size = 297117 }, - { url = "https://files.pythonhosted.org/packages/2b/c0/24c34c41a180f875419b536125799c61e2330b997d77a5a818a3bc3e08cd/contourpy-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85", size = 301855 }, - { url = "https://files.pythonhosted.org/packages/bf/ec/f9877f6378a580cd683bd76c8a781dcd972e82965e0da951a739d3364677/contourpy-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e", size = 820597 }, - { url = "https://files.pythonhosted.org/packages/e1/3a/c41f4bc7122d3a06388acae1bed6f50a665c1031863ca42bd701094dcb1f/contourpy-1.1.1-cp39-cp39-win32.whl", hash = "sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0", size = 400031 }, - { url = "https://files.pythonhosted.org/packages/87/2b/9b49451f7412cc1a79198e94a771a4e52d65c479aae610b1161c0290ef2c/contourpy-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887", size = 435965 }, - { url = "https://files.pythonhosted.org/packages/e6/3c/fc36884b6793e2066a6ff25c86e21b8bd62553456b07e964c260bcf22711/contourpy-1.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e", size = 246493 }, - { url = "https://files.pythonhosted.org/packages/3d/85/f4c5b09ce79828ed4553a8ae2ebdf937794f57b45848b1f5c95d9744ecc2/contourpy-1.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3", size = 289240 }, - { url = "https://files.pythonhosted.org/packages/18/d3/9d7c0a372baf5130c1417a4b8275079d5379c11355436cb9fc78af7d7559/contourpy-1.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23", size = 476043 }, - { url = "https://files.pythonhosted.org/packages/e7/12/643242c3d9b031ca19f9a440f63e568dd883a04711056ca5d607f9bda888/contourpy-1.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb", size = 246247 }, - { url = "https://files.pythonhosted.org/packages/e1/37/95716fe235bf441422059e4afcd4b9b7c5821851c2aee992a06d1e9f831a/contourpy-1.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163", size = 289029 }, - { url = "https://files.pythonhosted.org/packages/e5/fd/14852c4a688031e0d8a20d9a1b60078d45507186ef17042093835be2f01a/contourpy-1.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c", size = 476043 }, -] - -[[package]] -name = "contourpy" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366 }, - { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226 }, - { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460 }, - { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623 }, - { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761 }, - { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015 }, - { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672 }, - { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688 }, - { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145 }, - { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019 }, - { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356 }, - { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915 }, - { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443 }, - { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548 }, - { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118 }, - { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162 }, - { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396 }, - { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297 }, - { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808 }, - { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181 }, - { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838 }, - { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549 }, - { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177 }, - { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735 }, - { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679 }, - { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549 }, - { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068 }, - { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833 }, - { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681 }, - { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283 }, - { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879 }, - { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573 }, - { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184 }, - { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262 }, - { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806 }, - { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710 }, - { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107 }, - { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458 }, - { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643 }, - { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301 }, - { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972 }, - { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375 }, - { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188 }, - { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644 }, - { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141 }, - { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469 }, - { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894 }, - { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829 }, - { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518 }, - { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350 }, - { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167 }, - { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279 }, - { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519 }, - { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922 }, - { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017 }, - { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773 }, - { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353 }, - { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817 }, - { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886 }, - { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008 }, - { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690 }, - { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894 }, - { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099 }, - { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838 }, -] - -[[package]] -name = "contourpy" -version = "1.3.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551 }, - { url = "https://files.pythonhosted.org/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399 }, - { url = "https://files.pythonhosted.org/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061 }, - { url = "https://files.pythonhosted.org/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956 }, - { url = "https://files.pythonhosted.org/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872 }, - { url = "https://files.pythonhosted.org/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027 }, - { url = "https://files.pythonhosted.org/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641 }, - { url = "https://files.pythonhosted.org/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075 }, - { url = "https://files.pythonhosted.org/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534 }, - { url = "https://files.pythonhosted.org/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188 }, - { url = "https://files.pythonhosted.org/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636 }, - { url = "https://files.pythonhosted.org/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636 }, - { url = "https://files.pythonhosted.org/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053 }, - { url = "https://files.pythonhosted.org/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985 }, - { url = "https://files.pythonhosted.org/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750 }, - { url = "https://files.pythonhosted.org/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246 }, - { url = "https://files.pythonhosted.org/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728 }, - { url = "https://files.pythonhosted.org/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762 }, - { url = "https://files.pythonhosted.org/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196 }, - { url = "https://files.pythonhosted.org/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017 }, - { url = "https://files.pythonhosted.org/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580 }, - { url = "https://files.pythonhosted.org/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530 }, - { url = "https://files.pythonhosted.org/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688 }, - { url = "https://files.pythonhosted.org/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331 }, - { url = "https://files.pythonhosted.org/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963 }, - { url = "https://files.pythonhosted.org/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681 }, - { url = "https://files.pythonhosted.org/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674 }, - { url = "https://files.pythonhosted.org/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480 }, - { url = "https://files.pythonhosted.org/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489 }, - { url = "https://files.pythonhosted.org/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042 }, - { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630 }, - { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670 }, - { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694 }, - { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986 }, - { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060 }, - { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747 }, - { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895 }, - { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098 }, - { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535 }, - { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096 }, - { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090 }, - { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643 }, - { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443 }, - { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865 }, - { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162 }, - { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355 }, - { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935 }, - { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168 }, - { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550 }, - { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214 }, - { url = "https://files.pythonhosted.org/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681 }, - { url = "https://files.pythonhosted.org/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101 }, - { url = "https://files.pythonhosted.org/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599 }, - { url = "https://files.pythonhosted.org/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807 }, - { url = "https://files.pythonhosted.org/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729 }, - { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791 }, -] - -[[package]] -name = "curandrtc" -version = "0.1.7" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "thrustrtc" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/b4/4ff819758295877ae96d47ddc4e659a67d31e1864288143791d9fc8c489c/CURandRTC-0.1.7-py3-none-any.whl", hash = "sha256:bd1d92867da794a6ed913df18867c8a4a370639370cb028a532c05fd4ea35ac2", size = 75824 }, -] - -[[package]] -name = "cycler" -version = "0.12.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, -] - -[[package]] -name = "debugpy" -version = "1.8.14" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bd/75/087fe07d40f490a78782ff3b0a30e3968936854105487decdb33446d4b0e/debugpy-1.8.14.tar.gz", hash = "sha256:7cd287184318416850aa8b60ac90105837bb1e59531898c07569d197d2ed5322", size = 1641444 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/df/156df75a41aaebd97cee9d3870fe68f8001b6c1c4ca023e221cfce69bece/debugpy-1.8.14-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:93fee753097e85623cab1c0e6a68c76308cd9f13ffdf44127e6fab4fbf024339", size = 2076510 }, - { url = "https://files.pythonhosted.org/packages/69/cd/4fc391607bca0996db5f3658762106e3d2427beaef9bfd363fd370a3c054/debugpy-1.8.14-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d937d93ae4fa51cdc94d3e865f535f185d5f9748efb41d0d49e33bf3365bd79", size = 3559614 }, - { url = "https://files.pythonhosted.org/packages/1a/42/4e6d2b9d63e002db79edfd0cb5656f1c403958915e0e73ab3e9220012eec/debugpy-1.8.14-cp310-cp310-win32.whl", hash = "sha256:c442f20577b38cc7a9aafecffe1094f78f07fb8423c3dddb384e6b8f49fd2987", size = 5208588 }, - { url = "https://files.pythonhosted.org/packages/97/b1/cc9e4e5faadc9d00df1a64a3c2d5c5f4b9df28196c39ada06361c5141f89/debugpy-1.8.14-cp310-cp310-win_amd64.whl", hash = "sha256:f117dedda6d969c5c9483e23f573b38f4e39412845c7bc487b6f2648df30fe84", size = 5241043 }, - { url = "https://files.pythonhosted.org/packages/67/e8/57fe0c86915671fd6a3d2d8746e40485fd55e8d9e682388fbb3a3d42b86f/debugpy-1.8.14-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:1b2ac8c13b2645e0b1eaf30e816404990fbdb168e193322be8f545e8c01644a9", size = 2175064 }, - { url = "https://files.pythonhosted.org/packages/3b/97/2b2fd1b1c9569c6764ccdb650a6f752e4ac31be465049563c9eb127a8487/debugpy-1.8.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf431c343a99384ac7eab2f763980724834f933a271e90496944195318c619e2", size = 3132359 }, - { url = "https://files.pythonhosted.org/packages/c0/ee/b825c87ed06256ee2a7ed8bab8fb3bb5851293bf9465409fdffc6261c426/debugpy-1.8.14-cp311-cp311-win32.whl", hash = "sha256:c99295c76161ad8d507b413cd33422d7c542889fbb73035889420ac1fad354f2", size = 5133269 }, - { url = "https://files.pythonhosted.org/packages/d5/a6/6c70cd15afa43d37839d60f324213843174c1d1e6bb616bd89f7c1341bac/debugpy-1.8.14-cp311-cp311-win_amd64.whl", hash = "sha256:7816acea4a46d7e4e50ad8d09d963a680ecc814ae31cdef3622eb05ccacf7b01", size = 5158156 }, - { url = "https://files.pythonhosted.org/packages/d9/2a/ac2df0eda4898f29c46eb6713a5148e6f8b2b389c8ec9e425a4a1d67bf07/debugpy-1.8.14-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:8899c17920d089cfa23e6005ad9f22582fd86f144b23acb9feeda59e84405b84", size = 2501268 }, - { url = "https://files.pythonhosted.org/packages/10/53/0a0cb5d79dd9f7039169f8bf94a144ad3efa52cc519940b3b7dde23bcb89/debugpy-1.8.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6bb5c0dcf80ad5dbc7b7d6eac484e2af34bdacdf81df09b6a3e62792b722826", size = 4221077 }, - { url = "https://files.pythonhosted.org/packages/f8/d5/84e01821f362327bf4828728aa31e907a2eca7c78cd7c6ec062780d249f8/debugpy-1.8.14-cp312-cp312-win32.whl", hash = "sha256:281d44d248a0e1791ad0eafdbbd2912ff0de9eec48022a5bfbc332957487ed3f", size = 5255127 }, - { url = "https://files.pythonhosted.org/packages/33/16/1ed929d812c758295cac7f9cf3dab5c73439c83d9091f2d91871e648093e/debugpy-1.8.14-cp312-cp312-win_amd64.whl", hash = "sha256:5aa56ef8538893e4502a7d79047fe39b1dae08d9ae257074c6464a7b290b806f", size = 5297249 }, - { url = "https://files.pythonhosted.org/packages/4d/e4/395c792b243f2367d84202dc33689aa3d910fb9826a7491ba20fc9e261f5/debugpy-1.8.14-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:329a15d0660ee09fec6786acdb6e0443d595f64f5d096fc3e3ccf09a4259033f", size = 2485676 }, - { url = "https://files.pythonhosted.org/packages/ba/f1/6f2ee3f991327ad9e4c2f8b82611a467052a0fb0e247390192580e89f7ff/debugpy-1.8.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f920c7f9af409d90f5fd26e313e119d908b0dd2952c2393cd3247a462331f15", size = 4217514 }, - { url = "https://files.pythonhosted.org/packages/79/28/b9d146f8f2dc535c236ee09ad3e5ac899adb39d7a19b49f03ac95d216beb/debugpy-1.8.14-cp313-cp313-win32.whl", hash = "sha256:3784ec6e8600c66cbdd4ca2726c72d8ca781e94bce2f396cc606d458146f8f4e", size = 5254756 }, - { url = "https://files.pythonhosted.org/packages/e0/62/a7b4a57013eac4ccaef6977966e6bec5c63906dd25a86e35f155952e29a1/debugpy-1.8.14-cp313-cp313-win_amd64.whl", hash = "sha256:684eaf43c95a3ec39a96f1f5195a7ff3d4144e4a18d69bb66beeb1a6de605d6e", size = 5297119 }, - { url = "https://files.pythonhosted.org/packages/c8/8e/08924875dc5f0ae5c15684376256b0ff0507ef920d61a33bd1222619b159/debugpy-1.8.14-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:d5582bcbe42917bc6bbe5c12db1bffdf21f6bfc28d4554b738bf08d50dc0c8c3", size = 2077185 }, - { url = "https://files.pythonhosted.org/packages/49/dc/6d7f8e0cce44309d3b5a701bca15a9076d0d02a99df8e629580205e008fb/debugpy-1.8.14-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5349b7c3735b766a281873fbe32ca9cca343d4cc11ba4a743f84cb854339ff35", size = 3631418 }, - { url = "https://files.pythonhosted.org/packages/99/a1/39c036ab61c6d87b9e6fba21a851b7fb10d8bbaa60f5558c979496d17037/debugpy-1.8.14-cp38-cp38-win32.whl", hash = "sha256:7118d462fe9724c887d355eef395fae68bc764fd862cdca94e70dcb9ade8a23d", size = 5212840 }, - { url = "https://files.pythonhosted.org/packages/f1/8b/675a183a51ebc6ae729b288cc65aa1f686a91a4e9e760bed244f8caa07fd/debugpy-1.8.14-cp38-cp38-win_amd64.whl", hash = "sha256:d235e4fa78af2de4e5609073972700523e372cf5601742449970110d565ca28c", size = 5246434 }, - { url = "https://files.pythonhosted.org/packages/85/6f/96ba96545f55b6a675afa08c96b42810de9b18c7ad17446bbec82762127a/debugpy-1.8.14-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:413512d35ff52c2fb0fd2d65e69f373ffd24f0ecb1fac514c04a668599c5ce7f", size = 2077696 }, - { url = "https://files.pythonhosted.org/packages/fa/84/f378a2dd837d94de3c85bca14f1db79f8fcad7e20b108b40d59da56a6d22/debugpy-1.8.14-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c9156f7524a0d70b7a7e22b2e311d8ba76a15496fb00730e46dcdeedb9e1eea", size = 3554846 }, - { url = "https://files.pythonhosted.org/packages/db/52/88824fe5d6893f59933f664c6e12783749ab537a2101baf5c713164d8aa2/debugpy-1.8.14-cp39-cp39-win32.whl", hash = "sha256:b44985f97cc3dd9d52c42eb59ee9d7ee0c4e7ecd62bca704891f997de4cef23d", size = 5209350 }, - { url = "https://files.pythonhosted.org/packages/41/35/72e9399be24a04cb72cfe1284572c9fcd1d742c7fa23786925c18fa54ad8/debugpy-1.8.14-cp39-cp39-win_amd64.whl", hash = "sha256:b1528cfee6c1b1c698eb10b6b096c598738a8238822d218173d21c3086de8123", size = 5241852 }, - { url = "https://files.pythonhosted.org/packages/97/1a/481f33c37ee3ac8040d3d51fc4c4e4e7e61cb08b8bc8971d6032acc2279f/debugpy-1.8.14-py2.py3-none-any.whl", hash = "sha256:5cd9a579d553b6cb9759a7908a41988ee6280b961f24f63336835d9418216a20", size = 5256230 }, -] - -[[package]] -name = "decorator" -version = "5.2.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190 }, -] - -[[package]] -name = "defusedxml" -version = "0.7.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604 }, -] - -[[package]] -name = "dot2tex" -version = "2.11.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/49/03/a0ce345bb4b816fffb9107dcbad2f9bd1dd2db314b9fdb782cd398c95c96/dot2tex-2.11.3.tar.gz", hash = "sha256:299a2af05aee5bbe0257a562a506a93e279293d5c38f28d08ab8acb3233fe7ce", size = 660914 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ca/9e/26e11dfd9762eda401181b4cf388de5421d4ccfdddef0ddc1a8c9256e072/dot2tex-2.11.3-py2.py3-none-any.whl", hash = "sha256:6a1f451823b27d331edca733c7f486a1849e97e77b4bafd562443f5c6e6583e2", size = 36472 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674 }, -] - -[[package]] -name = "executing" -version = "2.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702 }, -] - -[[package]] -name = "fastjsonschema" -version = "2.21.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924 }, -] - -[[package]] -name = "flexcache" -version = "0.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/55/b0/8a21e330561c65653d010ef112bf38f60890051d244ede197ddaa08e50c1/flexcache-0.3.tar.gz", hash = "sha256:18743bd5a0621bfe2cf8d519e4c3bfdf57a269c15d1ced3fb4b64e0ff4600656", size = 15816 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/27/cd/c883e1a7c447479d6e13985565080e3fea88ab5a107c21684c813dba1875/flexcache-0.3-py3-none-any.whl", hash = "sha256:d43c9fea82336af6e0115e308d9d33a185390b8346a017564611f1466dcd2e32", size = 13263 }, -] - -[[package]] -name = "flexparser" -version = "0.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/82/99/b4de7e39e8eaf8207ba1a8fa2241dd98b2ba72ae6e16960d8351736d8702/flexparser-0.4.tar.gz", hash = "sha256:266d98905595be2ccc5da964fe0a2c3526fbbffdc45b65b3146d75db992ef6b2", size = 31799 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fe/5e/3be305568fe5f34448807976dc82fc151d76c3e0e03958f34770286278c1/flexparser-0.4-py3-none-any.whl", hash = "sha256:3738b456192dcb3e15620f324c447721023c0293f6af9955b481e91d00179846", size = 27625 }, -] - -[[package]] -name = "fonttools" -version = "4.57.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/03/2d/a9a0b6e3a0cf6bd502e64fc16d894269011930cabfc89aee20d1635b1441/fonttools-4.57.0.tar.gz", hash = "sha256:727ece10e065be2f9dd239d15dd5d60a66e17eac11aea47d447f9f03fdbc42de", size = 3492448 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/db/17/3ddfd1881878b3f856065130bb603f5922e81ae8a4eb53bce0ea78f765a8/fonttools-4.57.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:babe8d1eb059a53e560e7bf29f8e8f4accc8b6cfb9b5fd10e485bde77e71ef41", size = 2756260 }, - { url = "https://files.pythonhosted.org/packages/26/2b/6957890c52c030b0bf9e0add53e5badab4682c6ff024fac9a332bb2ae063/fonttools-4.57.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:81aa97669cd726349eb7bd43ca540cf418b279ee3caba5e2e295fb4e8f841c02", size = 2284691 }, - { url = "https://files.pythonhosted.org/packages/cc/8e/c043b4081774e5eb06a834cedfdb7d432b4935bc8c4acf27207bdc34dfc4/fonttools-4.57.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0e9618630edd1910ad4f07f60d77c184b2f572c8ee43305ea3265675cbbfe7e", size = 4566077 }, - { url = "https://files.pythonhosted.org/packages/59/bc/e16ae5d9eee6c70830ce11d1e0b23d6018ddfeb28025fda092cae7889c8b/fonttools-4.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34687a5d21f1d688d7d8d416cb4c5b9c87fca8a1797ec0d74b9fdebfa55c09ab", size = 4608729 }, - { url = "https://files.pythonhosted.org/packages/25/13/e557bf10bb38e4e4c436d3a9627aadf691bc7392ae460910447fda5fad2b/fonttools-4.57.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:69ab81b66ebaa8d430ba56c7a5f9abe0183afefd3a2d6e483060343398b13fb1", size = 4759646 }, - { url = "https://files.pythonhosted.org/packages/bc/c9/5e2952214d4a8e31026bf80beb18187199b7001e60e99a6ce19773249124/fonttools-4.57.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d639397de852f2ccfb3134b152c741406752640a266d9c1365b0f23d7b88077f", size = 4941652 }, - { url = "https://files.pythonhosted.org/packages/df/04/e80242b3d9ec91a1f785d949edc277a13ecfdcfae744de4b170df9ed77d8/fonttools-4.57.0-cp310-cp310-win32.whl", hash = "sha256:cc066cb98b912f525ae901a24cd381a656f024f76203bc85f78fcc9e66ae5aec", size = 2159432 }, - { url = "https://files.pythonhosted.org/packages/33/ba/e858cdca275daf16e03c0362aa43734ea71104c3b356b2100b98543dba1b/fonttools-4.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:7a64edd3ff6a7f711a15bd70b4458611fb240176ec11ad8845ccbab4fe6745db", size = 2203869 }, - { url = "https://files.pythonhosted.org/packages/81/1f/e67c99aa3c6d3d2f93d956627e62a57ae0d35dc42f26611ea2a91053f6d6/fonttools-4.57.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3871349303bdec958360eedb619169a779956503ffb4543bb3e6211e09b647c4", size = 2757392 }, - { url = "https://files.pythonhosted.org/packages/aa/f1/f75770d0ddc67db504850898d96d75adde238c35313409bfcd8db4e4a5fe/fonttools-4.57.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c59375e85126b15a90fcba3443eaac58f3073ba091f02410eaa286da9ad80ed8", size = 2285609 }, - { url = "https://files.pythonhosted.org/packages/f5/d3/bc34e4953cb204bae0c50b527307dce559b810e624a733351a654cfc318e/fonttools-4.57.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967b65232e104f4b0f6370a62eb33089e00024f2ce143aecbf9755649421c683", size = 4873292 }, - { url = "https://files.pythonhosted.org/packages/41/b8/d5933559303a4ab18c799105f4c91ee0318cc95db4a2a09e300116625e7a/fonttools-4.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39acf68abdfc74e19de7485f8f7396fa4d2418efea239b7061d6ed6a2510c746", size = 4902503 }, - { url = "https://files.pythonhosted.org/packages/32/13/acb36bfaa316f481153ce78de1fa3926a8bad42162caa3b049e1afe2408b/fonttools-4.57.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9d077f909f2343daf4495ba22bb0e23b62886e8ec7c109ee8234bdbd678cf344", size = 5077351 }, - { url = "https://files.pythonhosted.org/packages/b5/23/6d383a2ca83b7516d73975d8cca9d81a01acdcaa5e4db8579e4f3de78518/fonttools-4.57.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:46370ac47a1e91895d40e9ad48effbe8e9d9db1a4b80888095bc00e7beaa042f", size = 5275067 }, - { url = "https://files.pythonhosted.org/packages/bc/ca/31b8919c6da0198d5d522f1d26c980201378c087bdd733a359a1e7485769/fonttools-4.57.0-cp311-cp311-win32.whl", hash = "sha256:ca2aed95855506b7ae94e8f1f6217b7673c929e4f4f1217bcaa236253055cb36", size = 2158263 }, - { url = "https://files.pythonhosted.org/packages/13/4c/de2612ea2216eb45cfc8eb91a8501615dd87716feaf5f8fb65cbca576289/fonttools-4.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:17168a4670bbe3775f3f3f72d23ee786bd965395381dfbb70111e25e81505b9d", size = 2204968 }, - { url = "https://files.pythonhosted.org/packages/cb/98/d4bc42d43392982eecaaca117d79845734d675219680cd43070bb001bc1f/fonttools-4.57.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:889e45e976c74abc7256d3064aa7c1295aa283c6bb19810b9f8b604dfe5c7f31", size = 2751824 }, - { url = "https://files.pythonhosted.org/packages/1a/62/7168030eeca3742fecf45f31e63b5ef48969fa230a672216b805f1d61548/fonttools-4.57.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0425c2e052a5f1516c94e5855dbda706ae5a768631e9fcc34e57d074d1b65b92", size = 2283072 }, - { url = "https://files.pythonhosted.org/packages/5d/82/121a26d9646f0986ddb35fbbaf58ef791c25b59ecb63ffea2aab0099044f/fonttools-4.57.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44c26a311be2ac130f40a96769264809d3b0cb297518669db437d1cc82974888", size = 4788020 }, - { url = "https://files.pythonhosted.org/packages/5b/26/e0f2fb662e022d565bbe280a3cfe6dafdaabf58889ff86fdef2d31ff1dde/fonttools-4.57.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c41ba992df5b8d680b89fd84c6a1f2aca2b9f1ae8a67400c8930cd4ea115f6", size = 4859096 }, - { url = "https://files.pythonhosted.org/packages/9e/44/9075e323347b1891cdece4b3f10a3b84a8f4c42a7684077429d9ce842056/fonttools-4.57.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ea1e9e43ca56b0c12440a7c689b1350066595bebcaa83baad05b8b2675129d98", size = 4964356 }, - { url = "https://files.pythonhosted.org/packages/48/28/caa8df32743462fb966be6de6a79d7f30393859636d7732e82efa09fbbb4/fonttools-4.57.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84fd56c78d431606332a0627c16e2a63d243d0d8b05521257d77c6529abe14d8", size = 5226546 }, - { url = "https://files.pythonhosted.org/packages/f6/46/95ab0f0d2e33c5b1a4fc1c0efe5e286ba9359602c0a9907adb1faca44175/fonttools-4.57.0-cp312-cp312-win32.whl", hash = "sha256:f4376819c1c778d59e0a31db5dc6ede854e9edf28bbfa5b756604727f7f800ac", size = 2146776 }, - { url = "https://files.pythonhosted.org/packages/06/5d/1be5424bb305880e1113631f49a55ea7c7da3a5fe02608ca7c16a03a21da/fonttools-4.57.0-cp312-cp312-win_amd64.whl", hash = "sha256:57e30241524879ea10cdf79c737037221f77cc126a8cdc8ff2c94d4a522504b9", size = 2193956 }, - { url = "https://files.pythonhosted.org/packages/e9/2f/11439f3af51e4bb75ac9598c29f8601aa501902dcedf034bdc41f47dd799/fonttools-4.57.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:408ce299696012d503b714778d89aa476f032414ae57e57b42e4b92363e0b8ef", size = 2739175 }, - { url = "https://files.pythonhosted.org/packages/25/52/677b55a4c0972dc3820c8dba20a29c358197a78229daa2ea219fdb19e5d5/fonttools-4.57.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bbceffc80aa02d9e8b99f2a7491ed8c4a783b2fc4020119dc405ca14fb5c758c", size = 2276583 }, - { url = "https://files.pythonhosted.org/packages/64/79/184555f8fa77b827b9460a4acdbbc0b5952bb6915332b84c615c3a236826/fonttools-4.57.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f022601f3ee9e1f6658ed6d184ce27fa5216cee5b82d279e0f0bde5deebece72", size = 4766437 }, - { url = "https://files.pythonhosted.org/packages/f8/ad/c25116352f456c0d1287545a7aa24e98987b6d99c5b0456c4bd14321f20f/fonttools-4.57.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dea5893b58d4637ffa925536462ba626f8a1b9ffbe2f5c272cdf2c6ebadb817", size = 4838431 }, - { url = "https://files.pythonhosted.org/packages/53/ae/398b2a833897297797a44f519c9af911c2136eb7aa27d3f1352c6d1129fa/fonttools-4.57.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dff02c5c8423a657c550b48231d0a48d7e2b2e131088e55983cfe74ccc2c7cc9", size = 4951011 }, - { url = "https://files.pythonhosted.org/packages/b7/5d/7cb31c4bc9ffb9a2bbe8b08f8f53bad94aeb158efad75da645b40b62cb73/fonttools-4.57.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:767604f244dc17c68d3e2dbf98e038d11a18abc078f2d0f84b6c24571d9c0b13", size = 5205679 }, - { url = "https://files.pythonhosted.org/packages/4c/e4/6934513ec2c4d3d69ca1bc3bd34d5c69dafcbf68c15388dd3bb062daf345/fonttools-4.57.0-cp313-cp313-win32.whl", hash = "sha256:8e2e12d0d862f43d51e5afb8b9751c77e6bec7d2dc00aad80641364e9df5b199", size = 2144833 }, - { url = "https://files.pythonhosted.org/packages/c4/0d/2177b7fdd23d017bcfb702fd41e47d4573766b9114da2fddbac20dcc4957/fonttools-4.57.0-cp313-cp313-win_amd64.whl", hash = "sha256:f1d6bc9c23356908db712d282acb3eebd4ae5ec6d8b696aa40342b1d84f8e9e3", size = 2190799 }, - { url = "https://files.pythonhosted.org/packages/8a/3f/c16dbbec7221783f37dcc2022d5a55f0d704ffc9feef67930f6eb517e8ce/fonttools-4.57.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9d57b4e23ebbe985125d3f0cabbf286efa191ab60bbadb9326091050d88e8213", size = 2753756 }, - { url = "https://files.pythonhosted.org/packages/48/9f/5b4a3d6aed5430b159dd3494bb992d4e45102affa3725f208e4f0aedc6a3/fonttools-4.57.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:579ba873d7f2a96f78b2e11028f7472146ae181cae0e4d814a37a09e93d5c5cc", size = 2283179 }, - { url = "https://files.pythonhosted.org/packages/17/b2/4e887b674938b4c3848029a4134ac90dd8653ea80b4f464fa1edeae37f25/fonttools-4.57.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e3e1ec10c29bae0ea826b61f265ec5c858c5ba2ce2e69a71a62f285cf8e4595", size = 4647139 }, - { url = "https://files.pythonhosted.org/packages/a5/0e/b6314a09a4d561aaa7e09de43fa700917be91e701f07df6178865962666c/fonttools-4.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1968f2a2003c97c4ce6308dc2498d5fd4364ad309900930aa5a503c9851aec8", size = 4691211 }, - { url = "https://files.pythonhosted.org/packages/bf/1d/b9f4b70d165c25f5c9aee61eb6ae90b0e9b5787b2c0a45e4f3e50a839274/fonttools-4.57.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:aff40f8ac6763d05c2c8f6d240c6dac4bb92640a86d9b0c3f3fff4404f34095c", size = 4873755 }, - { url = "https://files.pythonhosted.org/packages/3b/fa/a731c8f42ae2c6761d1c22bd3c90241d5b2b13cabb70598abc74a828b51f/fonttools-4.57.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d07f1b64008e39fceae7aa99e38df8385d7d24a474a8c9872645c4397b674481", size = 5070072 }, - { url = "https://files.pythonhosted.org/packages/1f/1e/6a988230109a2ba472e5de0a4c3936d49718cfc4b700b6bad53eca414bcf/fonttools-4.57.0-cp38-cp38-win32.whl", hash = "sha256:51d8482e96b28fb28aa8e50b5706f3cee06de85cbe2dce80dbd1917ae22ec5a6", size = 1484098 }, - { url = "https://files.pythonhosted.org/packages/dc/7a/2b3666e8c13d035adf656a8ae391380656144760353c97f74747c64fd3e5/fonttools-4.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:03290e818782e7edb159474144fca11e36a8ed6663d1fcbd5268eb550594fd8e", size = 1529536 }, - { url = "https://files.pythonhosted.org/packages/d2/c7/3bddafbb95447f6fbabdd0b399bf468649321fd4029e356b4f6bd70fbc1b/fonttools-4.57.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7339e6a3283e4b0ade99cade51e97cde3d54cd6d1c3744459e886b66d630c8b3", size = 2758942 }, - { url = "https://files.pythonhosted.org/packages/d4/a2/8dd7771022e365c90e428b1607174c3297d5c0a2cc2cf4cdccb2221945b7/fonttools-4.57.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:05efceb2cb5f6ec92a4180fcb7a64aa8d3385fd49cfbbe459350229d1974f0b1", size = 2285959 }, - { url = "https://files.pythonhosted.org/packages/58/5a/2fd29c5e38b14afe1fae7d472373e66688e7c7a98554252f3cf44371e033/fonttools-4.57.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a97bb05eb24637714a04dee85bdf0ad1941df64fe3b802ee4ac1c284a5f97b7c", size = 4571677 }, - { url = "https://files.pythonhosted.org/packages/bf/30/b77cf81923f1a67ff35d6765a9db4718c0688eb8466c464c96a23a2e28d4/fonttools-4.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:541cb48191a19ceb1a2a4b90c1fcebd22a1ff7491010d3cf840dd3a68aebd654", size = 4616644 }, - { url = "https://files.pythonhosted.org/packages/06/33/376605898d8d553134144dff167506a49694cb0e0cf684c14920fbc1e99f/fonttools-4.57.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:cdef9a056c222d0479a1fdb721430f9efd68268014c54e8166133d2643cb05d9", size = 4761314 }, - { url = "https://files.pythonhosted.org/packages/48/e4/e0e48f5bae04bc1a1c6b4fcd7d1ca12b29f1fe74221534b7ff83ed0db8fe/fonttools-4.57.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3cf97236b192a50a4bf200dc5ba405aa78d4f537a2c6e4c624bb60466d5b03bd", size = 4945563 }, - { url = "https://files.pythonhosted.org/packages/61/98/2dacfc6d70f2d93bde1bbf814286be343cb17f53057130ad3b843144dd00/fonttools-4.57.0-cp39-cp39-win32.whl", hash = "sha256:e952c684274a7714b3160f57ec1d78309f955c6335c04433f07d36c5eb27b1f9", size = 2159997 }, - { url = "https://files.pythonhosted.org/packages/93/fa/e61cc236f40d504532d2becf90c297bfed8e40abc0c8b08375fbb83eff29/fonttools-4.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2a722c0e4bfd9966a11ff55c895c817158fcce1b2b6700205a376403b546ad9", size = 2204508 }, - { url = "https://files.pythonhosted.org/packages/90/27/45f8957c3132917f91aaa56b700bcfc2396be1253f685bd5c68529b6f610/fonttools-4.57.0-py3-none-any.whl", hash = "sha256:3122c604a675513c68bd24c6a8f9091f1c2376d18e8f5fe5a101746c81b3e98f", size = 1093605 }, -] - -[[package]] -name = "fonttools" -version = "4.58.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/9a/cf/4d037663e2a1fe30fddb655d755d76e18624be44ad467c07412c2319ab97/fonttools-4.58.0.tar.gz", hash = "sha256:27423d0606a2c7b336913254bf0b1193ebd471d5f725d665e875c5e88a011a43", size = 3514522 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/07/06d01b7239d6632a0984ef29ab496928531862b827cd3aa78309b205850d/fonttools-4.58.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0bcaa65cddbc7d32c77bd0af0b41fdd6448bad0e84365ca79cf8923c27b21e46", size = 2731632 }, - { url = "https://files.pythonhosted.org/packages/1d/c7/47d26d48d779b1b084ebc0d9ec07035167992578768237ef553a3eecc8db/fonttools-4.58.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:25590272f89e94ab5a292d518c549f3a88e6a34fa1193797b7047dfea111b048", size = 2303941 }, - { url = "https://files.pythonhosted.org/packages/79/2e/ac80c0fea501f1aa93e2b22d72c97a8c0d14239582b7e8c722185a0540a7/fonttools-4.58.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:614435e9a87abe18bd7bc7ceeb8029e8f181c571317161e89fa3e6e0a4f20f5d", size = 4712776 }, - { url = "https://files.pythonhosted.org/packages/f2/5c/b41f9c940dc397ecb41765654efc76e06782bfe0783c3e2affc534be181c/fonttools-4.58.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0154bd86d9a9e880f6e937e4d99c2139a624428dd9852072e12d7a85c79d611e", size = 4743251 }, - { url = "https://files.pythonhosted.org/packages/3d/c4/0d3807d922a788b603a3fff622af53e732464b88baf0049a181a90f9b1c6/fonttools-4.58.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5b3660df0b02c9cebbf7baf66952c2fd055e43e658aceb92cc95ba19e0a5c8b6", size = 4795635 }, - { url = "https://files.pythonhosted.org/packages/46/74/627bed8e2c7e641c9c572f09970b0980e5513fd29e57b394d4aee2261e30/fonttools-4.58.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c43b7f1d0b818427bb1cd20903d1168271abdcde10eb6247b1995c4e1ed63907", size = 4904720 }, - { url = "https://files.pythonhosted.org/packages/f9/f2/7e5d082a98eb61fc0c3055e8a0e061a1eb9fc2d93f0661854bf6cb63c519/fonttools-4.58.0-cp310-cp310-win32.whl", hash = "sha256:5450f40c385cdfa21133245f57b9cf8ce45018a04630a98de61eed8da14b8325", size = 2188180 }, - { url = "https://files.pythonhosted.org/packages/00/33/ffd914e3c3a585003d770457188c8eaf7266b7a1cceb6d234ab543a9f958/fonttools-4.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0553431696eacafee9aefe94dc3c2bf5d658fbdc7fdba5b341c588f935471c6", size = 2233120 }, - { url = "https://files.pythonhosted.org/packages/76/2e/9b9bd943872a50cb182382f8f4a99af92d76e800603d5f73e4343fdce61a/fonttools-4.58.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9345b1bb994476d6034996b31891c0c728c1059c05daa59f9ab57d2a4dce0f84", size = 2751920 }, - { url = "https://files.pythonhosted.org/packages/9b/8c/e8d6375da893125f610826c2e30e6d2597dfb8dad256f8ff5a54f3089fda/fonttools-4.58.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1d93119ace1e2d39ff1340deb71097932f72b21c054bd3da727a3859825e24e5", size = 2313957 }, - { url = "https://files.pythonhosted.org/packages/4f/1b/a29cb00c8c20164b24f88780e298fafd0bbfb25cf8bc7b10c4b69331ad5d/fonttools-4.58.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79c9e4f01bb04f19df272ae35314eb6349fdb2e9497a163cd22a21be999694bd", size = 4913808 }, - { url = "https://files.pythonhosted.org/packages/d1/ab/9b9507b65b15190cbfe1ccd3c08067d79268d8312ef20948b16d9f5aa905/fonttools-4.58.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62ecda1465d38248aaf9bee1c17a21cf0b16aef7d121d7d303dbb320a6fd49c2", size = 4935876 }, - { url = "https://files.pythonhosted.org/packages/15/e4/1395853bc775b0ab06a1c61cf261779afda7baff3f65cf1197bbd21aa149/fonttools-4.58.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:29d0499bff12a26733c05c1bfd07e68465158201624b2fba4a40b23d96c43f94", size = 4974798 }, - { url = "https://files.pythonhosted.org/packages/3c/b9/0358368ef5462f4653a198207b29885bee8d5e23c870f6125450ed88e693/fonttools-4.58.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1871abdb0af582e2d96cc12d88889e3bfa796928f491ec14d34a2e58ca298c7e", size = 5093560 }, - { url = "https://files.pythonhosted.org/packages/11/00/f64bc3659980c41eccf2c371e62eb15b40858f02a41a0e9c6258ef094388/fonttools-4.58.0-cp311-cp311-win32.whl", hash = "sha256:e292485d70402093eb94f6ab7669221743838b8bd4c1f45c84ca76b63338e7bf", size = 2186330 }, - { url = "https://files.pythonhosted.org/packages/c8/a0/0287be13a1ec7733abf292ffbd76417cea78752d4ce10fecf92d8b1252d6/fonttools-4.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:6df3755fcf9ad70a74ad3134bd5c9738f73c9bb701a304b1c809877b11fe701c", size = 2234687 }, - { url = "https://files.pythonhosted.org/packages/6a/4e/1c6b35ec7c04d739df4cf5aace4b7ec284d6af2533a65de21972e2f237d9/fonttools-4.58.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:aa8316798f982c751d71f0025b372151ea36405733b62d0d94d5e7b8dd674fa6", size = 2737502 }, - { url = "https://files.pythonhosted.org/packages/fc/72/c6fcafa3c9ed2b69991ae25a1ba7a3fec8bf74928a96e8229c37faa8eda2/fonttools-4.58.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c6db489511e867633b859b11aefe1b7c0d90281c5bdb903413edbb2ba77b97f1", size = 2307214 }, - { url = "https://files.pythonhosted.org/packages/52/11/1015cedc9878da6d8d1758049749eef857b693e5828d477287a959c8650f/fonttools-4.58.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:107bdb2dacb1f627db3c4b77fb16d065a10fe88978d02b4fc327b9ecf8a62060", size = 4811136 }, - { url = "https://files.pythonhosted.org/packages/32/b9/6a1bc1af6ec17eead5d32e87075e22d0dab001eace0b5a1542d38c6a9483/fonttools-4.58.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba7212068ab20f1128a0475f169068ba8e5b6e35a39ba1980b9f53f6ac9720ac", size = 4876598 }, - { url = "https://files.pythonhosted.org/packages/d8/46/b14584c7ea65ad1609fb9632251016cda8a2cd66b15606753b9f888d3677/fonttools-4.58.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f95ea3b6a3b9962da3c82db73f46d6a6845a6c3f3f968f5293b3ac1864e771c2", size = 4872256 }, - { url = "https://files.pythonhosted.org/packages/05/78/b2105a7812ca4ef9bf180cd741c82f4522316c652ce2a56f788e2eb54b62/fonttools-4.58.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:874f1225cc4ccfeac32009887f722d7f8b107ca5e867dcee067597eef9d4c80b", size = 5028710 }, - { url = "https://files.pythonhosted.org/packages/8c/a9/a38c85ffd30d1f2c7a5460c8abfd1aa66e00c198df3ff0b08117f5c6fcd9/fonttools-4.58.0-cp312-cp312-win32.whl", hash = "sha256:5f3cde64ec99c43260e2e6c4fa70dfb0a5e2c1c1d27a4f4fe4618c16f6c9ff71", size = 2173593 }, - { url = "https://files.pythonhosted.org/packages/66/48/29752962a74b7ed95da976b5a968bba1fe611a4a7e50b9fefa345e6e7025/fonttools-4.58.0-cp312-cp312-win_amd64.whl", hash = "sha256:2aee08e2818de45067109a207cbd1b3072939f77751ef05904d506111df5d824", size = 2223230 }, - { url = "https://files.pythonhosted.org/packages/0c/d7/d77cae11c445916d767cace93ba8283b3f360197d95d7470b90a9e984e10/fonttools-4.58.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4809790f2371d8a08e59e1ce2b734c954cf09742e75642d7f4c46cfdac488fdd", size = 2728320 }, - { url = "https://files.pythonhosted.org/packages/77/48/7d8b3c519ef4b48081d40310262224a38785e39a8610ccb92a229a6f085d/fonttools-4.58.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b00f240280f204ce4546b05ff3515bf8ff47a9cae914c718490025ea2bb9b324", size = 2302570 }, - { url = "https://files.pythonhosted.org/packages/2c/48/156b83eb8fb7261056e448bfda1b495b90e761b28ec23cee10e3e19f1967/fonttools-4.58.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a62015ad463e1925544e9159dd6eefe33ebfb80938d5ab15d8b1c4b354ff47b", size = 4790066 }, - { url = "https://files.pythonhosted.org/packages/60/49/aaecb1b3cea2b9b9c7cea6240d6bc8090feb5489a6fbf93cb68003be979b/fonttools-4.58.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6f6ab58061a811967e3e32e630747fcb823dcc33a9a2c80e2d0d17cb292", size = 4861076 }, - { url = "https://files.pythonhosted.org/packages/dc/c8/97cbb41bee81ea9daf6109e0f3f70a274a3c69418e5ac6b0193f5dacf506/fonttools-4.58.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7be21ac52370b515cdbdd0f400803fd29432a4fa4ddb4244ac8b322e54f36c0", size = 4858394 }, - { url = "https://files.pythonhosted.org/packages/4d/23/c2c231457361f869a7d7374a557208e303b469d48a4a697c0fb249733ea1/fonttools-4.58.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:85836be4c3c4aacf6fcb7a6f263896d0e9ce431da9fa6fe9213d70f221f131c9", size = 5002160 }, - { url = "https://files.pythonhosted.org/packages/a9/e0/c2262f941a43b810c5c192db94b5d1ce8eda91bec2757f7e2416398f4072/fonttools-4.58.0-cp313-cp313-win32.whl", hash = "sha256:2b32b7130277bd742cb8c4379a6a303963597d22adea77a940343f3eadbcaa4c", size = 2171919 }, - { url = "https://files.pythonhosted.org/packages/8f/ee/e4aa7bb4ce510ad57a808d321df1bbed1eeb6e1dfb20aaee1a5d9c076849/fonttools-4.58.0-cp313-cp313-win_amd64.whl", hash = "sha256:75e68ee2ec9aaa173cf5e33f243da1d51d653d5e25090f2722bc644a78db0f1a", size = 2222972 }, - { url = "https://files.pythonhosted.org/packages/33/86/e77cfccfded6e106daedf705eedc6d81a708c9ec59f59208a02a878a11cd/fonttools-4.58.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d3e6f49f24ce313fe674213314a5ff7d2839d7d143d9e2f8a6140bf93de59797", size = 2737552 }, - { url = "https://files.pythonhosted.org/packages/cf/ac/020f47dc1498894cd4437f9822c562c2c6b2f41d445cc8c3868ccc5f7b63/fonttools-4.58.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d76bf18647d3aa2a4a539d947a9974e5fb3cd6300ed8d8166b63ab201830d9ed", size = 2306833 }, - { url = "https://files.pythonhosted.org/packages/ea/92/58625bb30840fe8c0364f82836216793a8bb4b38ee317ce667e26e2d17fe/fonttools-4.58.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47ed13683b02be5c5db296dc80fd42cc65e1a694c32b2e482714d50c05f8a00", size = 4696309 }, - { url = "https://files.pythonhosted.org/packages/aa/de/9d0200eeb5dc186691871e5429ccef5fea52d612ffba96f5f4a1bd400498/fonttools-4.58.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d63b51485b2da4e74ca5ad8bec084400300a8e7a30799df14d915fd9441e2824", size = 4726096 }, - { url = "https://files.pythonhosted.org/packages/af/37/3930476d05b39e26509376878447aace1ca84e68a3bdf0e96943df0cd736/fonttools-4.58.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:187db44b7e1d4e042c23265d7cf7599d280af2e8de091e46e89e7ec4c0729ccf", size = 4778868 }, - { url = "https://files.pythonhosted.org/packages/99/5a/eb318d20c77a2ec3fcd52cc54b0fa422bcb00c4d2a08be341bf170c6a367/fonttools-4.58.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fde9b32f5964e2a3a2a58e5269673705eb636f604e3cdde24afb1838bf0a501a", size = 4889938 }, - { url = "https://files.pythonhosted.org/packages/8f/83/cff77c089e695372d3c77133eeb523af7ef37c12647a45e52502bc291dc1/fonttools-4.58.0-cp39-cp39-win32.whl", hash = "sha256:ac2037a74b55d6fb2917460d0d6e1d88d35e26a62c70584271d3388f9ea179e1", size = 1466943 }, - { url = "https://files.pythonhosted.org/packages/28/73/195b62a675594eb106b096f115e4115503153591deafd49a63bef6254730/fonttools-4.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:72b42acf0e5d3d61423ee22a1483647acdaf18378bb13970bf583142a2f4dcb8", size = 1511848 }, - { url = "https://files.pythonhosted.org/packages/9b/1f/4417c26e26a1feab85a27e927f7a73d8aabc84544be8ba108ce4aa90eb1e/fonttools-4.58.0-py3-none-any.whl", hash = "sha256:c96c36880be2268be409df7b08c5b5dacac1827083461a6bc2cb07b8cbcec1d7", size = 1111440 }, -] - -[[package]] -name = "fqdn" -version = "1.5.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784 }, -] - -[[package]] -name = "httpx" -version = "0.28.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "anyio", version = "4.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { 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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, -] - -[[package]] -name = "imageio" -version = "2.35.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pillow", version = "10.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/82/bf/d0ddda79819405428f40e4bc9245c2b936a3a2b23d83b6e42d83822ef822/imageio-2.35.1.tar.gz", hash = "sha256:4952dfeef3c3947957f6d5dedb1f4ca31c6e509a476891062396834048aeed2a", size = 389686 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/b7/02adac4e42a691008b5cfb31db98c190e1fc348d1521b9be4429f9454ed1/imageio-2.35.1-py3-none-any.whl", hash = "sha256:6eb2e5244e7a16b85c10b5c2fe0f7bf961b40fcb9f1a9fd1bd1d2c2f8fb3cd65", size = 315378 }, -] - -[[package]] -name = "imageio" -version = "2.37.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pillow", version = "11.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0c/47/57e897fb7094afb2d26e8b2e4af9a45c7cf1a405acdeeca001fdf2c98501/imageio-2.37.0.tar.gz", hash = "sha256:71b57b3669666272c818497aebba2b4c5f20d5b37c81720e5e1a56d59c492996", size = 389963 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/bd/b394387b598ed84d8d0fa90611a90bee0adc2021820ad5729f7ced74a8e2/imageio-2.37.0-py3-none-any.whl", hash = "sha256:11efa15b87bc7871b61590326b2d635439acc321cf7f8ce996f812543ce10eed", size = 315796 }, -] - -[[package]] -name = "importlib-metadata" -version = "8.5.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 }, -] - -[[package]] -name = "importlib-metadata" -version = "8.7.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656 }, -] - -[[package]] -name = "importlib-resources" -version = "6.4.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/98/be/f3e8c6081b684f176b761e6a2fef02a0be939740ed6f54109a2951d806f3/importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065", size = 43372 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717", size = 36115 }, -] - -[[package]] -name = "importlib-resources" -version = "6.5.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "zipp", version = "3.21.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, -] - -[[package]] -name = "ipykernel" -version = "6.29.5" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "appnope", marker = "sys_platform == 'darwin'" }, - { name = "comm" }, - { name = "debugpy" }, - { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "ipython", version = "8.36.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "ipython", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "jupyter-client" }, - { name = "jupyter-core" }, - { name = "matplotlib-inline" }, - { name = "nest-asyncio" }, - { name = "packaging" }, - { name = "psutil" }, - { name = "pyzmq" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "traitlets" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173 }, -] - -[[package]] -name = "ipython" -version = "8.12.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "appnope", marker = "python_full_version < '3.9' and sys_platform == 'darwin'" }, - { name = "backcall", marker = "python_full_version < '3.9'" }, - { name = "colorama", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version < '3.9'" }, - { name = "jedi", marker = "python_full_version < '3.9'" }, - { name = "matplotlib-inline", marker = "python_full_version < '3.9'" }, - { name = "pexpect", marker = "python_full_version < '3.9' and sys_platform != 'win32'" }, - { name = "pickleshare", marker = "python_full_version < '3.9'" }, - { name = "prompt-toolkit", marker = "python_full_version < '3.9'" }, - { name = "pygments", marker = "python_full_version < '3.9'" }, - { name = "stack-data", marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9e/6a/44ef299b1762f5a73841e87fae8a73a8cc8aee538d6dc8c77a5afe1fd2ce/ipython-8.12.3.tar.gz", hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363", size = 5470171 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/97/8fe103906cd81bc42d3b0175b5534a9f67dccae47d6451131cf8d0d70bb2/ipython-8.12.3-py3-none-any.whl", hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c", size = 798307 }, -] - -[[package]] -name = "ipython" -version = "8.18.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "colorama", marker = "python_full_version == '3.9.*' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version == '3.9.*'" }, - { name = "exceptiongroup", marker = "python_full_version == '3.9.*'" }, - { name = "jedi", marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib-inline", marker = "python_full_version == '3.9.*'" }, - { name = "pexpect", marker = "python_full_version == '3.9.*' and sys_platform != 'win32'" }, - { name = "prompt-toolkit", marker = "python_full_version == '3.9.*'" }, - { name = "pygments", marker = "python_full_version == '3.9.*'" }, - { name = "stack-data", marker = "python_full_version == '3.9.*'" }, - { name = "traitlets", marker = "python_full_version == '3.9.*'" }, - { name = "typing-extensions", marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161 }, -] - -[[package]] -name = "ipython" -version = "8.36.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version == '3.10.*'" }, - { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, - { name = "jedi", marker = "python_full_version == '3.10.*'" }, - { name = "matplotlib-inline", marker = "python_full_version == '3.10.*'" }, - { name = "pexpect", marker = "python_full_version == '3.10.*' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "prompt-toolkit", marker = "python_full_version == '3.10.*'" }, - { name = "pygments", marker = "python_full_version == '3.10.*'" }, - { name = "stack-data", marker = "python_full_version == '3.10.*'" }, - { name = "traitlets", marker = "python_full_version == '3.10.*'" }, - { name = "typing-extensions", marker = "python_full_version == '3.10.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a2/9f/d9a73710df947b7804bd9d93509463fb3a89e0ddc99c9fcc67279cddbeb6/ipython-8.36.0.tar.gz", hash = "sha256:24658e9fe5c5c819455043235ba59cfffded4a35936eefceceab6b192f7092ff", size = 5604997 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d6/d7/c1c9f371790b3a181e343c4815a361e5a0cc7d90ef6642d64ba5d05de289/ipython-8.36.0-py3-none-any.whl", hash = "sha256:12b913914d010dcffa2711505ec8be4bf0180742d97f1e5175e51f22086428c1", size = 831074 }, -] - -[[package]] -name = "ipython" -version = "9.2.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", -] -dependencies = [ - { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, - { name = "decorator", marker = "python_full_version >= '3.11'" }, - { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" }, - { name = "jedi", marker = "python_full_version >= '3.11'" }, - { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" }, - { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" }, - { name = "pygments", marker = "python_full_version >= '3.11'" }, - { name = "stack-data", marker = "python_full_version >= '3.11'" }, - { name = "traitlets", marker = "python_full_version >= '3.11'" }, - { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9d/02/63a84444a7409b3c0acd1de9ffe524660e0e5d82ee473e78b45e5bfb64a4/ipython-9.2.0.tar.gz", hash = "sha256:62a9373dbc12f28f9feaf4700d052195bf89806279fc8ca11f3f54017d04751b", size = 4424394 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/78/ce/5e897ee51b7d26ab4e47e5105e7368d40ce6cfae2367acdf3165396d50be/ipython-9.2.0-py3-none-any.whl", hash = "sha256:fef5e33c4a1ae0759e0bba5917c9db4eb8c53fee917b6a526bd973e1ca5159f6", size = 604277 }, -] - -[[package]] -name = "ipython-pygments-lexers" -version = "1.1.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pygments", marker = "python_full_version >= '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074 }, -] - -[[package]] -name = "ipywidgets" -version = "8.1.7" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "comm" }, - { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "ipython", version = "8.36.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "ipython", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "jupyterlab-widgets" }, - { name = "traitlets" }, - { name = "widgetsnbextension" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/3e/48/d3dbac45c2814cb73812f98dd6b38bbcc957a4e7bb31d6ea9c03bf94ed87/ipywidgets-8.1.7.tar.gz", hash = "sha256:15f1ac050b9ccbefd45dccfbb2ef6bed0029d8278682d569d71b8dd96bee0376", size = 116721 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/58/6a/9166369a2f092bd286d24e6307de555d63616e8ddb373ebad2b5635ca4cd/ipywidgets-8.1.7-py3-none-any.whl", hash = "sha256:764f2602d25471c213919b8a1997df04bef869251db4ca8efba1b76b1bd9f7bb", size = 139806 }, -] - -[[package]] -name = "isoduration" -version = "20.11.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "arrow" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321 }, -] - -[[package]] -name = "jedi" -version = "0.19.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "parso" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278 }, -] - -[[package]] -name = "jinja2" -version = "3.1.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 }, -] - -[[package]] -name = "joblib" -version = "1.4.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/64/33/60135848598c076ce4b231e1b1895170f45fbcaeaa2c9d5e38b04db70c35/joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e", size = 2116621 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6", size = 301817 }, -] - -[[package]] -name = "joblib" -version = "1.5.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/dc/fe/0f5a938c54105553436dbff7a61dc4fed4b1b2c98852f8833beaf4d5968f/joblib-1.5.1.tar.gz", hash = "sha256:f4f86e351f39fe3d0d32a9f2c3d8af1ee4cec285aafcb27003dda5205576b444", size = 330475 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746 }, -] - -[[package]] -name = "json5" -version = "0.12.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/12/be/c6c745ec4c4539b25a278b70e29793f10382947df0d9efba2fa09120895d/json5-0.12.0.tar.gz", hash = "sha256:0b4b6ff56801a1c7dc817b0241bca4ce474a0e6a163bfef3fc594d3fd263ff3a", size = 51907 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/41/9f/3500910d5a98549e3098807493851eeef2b89cdd3032227558a104dfe926/json5-0.12.0-py3-none-any.whl", hash = "sha256:6d37aa6c08b0609f16e1ec5ff94697e2cbbfbad5ac112afa05794da9ab7810db", size = 36079 }, -] - -[[package]] -name = "jsonpointer" -version = "3.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595 }, -] - -[[package]] -name = "jsonschema" -version = "4.23.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "attrs" }, - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jsonschema-specifications", version = "2023.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jsonschema-specifications", version = "2025.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pkgutil-resolve-name", marker = "python_full_version < '3.9'" }, - { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "rpds-py", version = "0.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 }, -] - -[package.optional-dependencies] -format-nongpl = [ - { name = "fqdn" }, - { name = "idna" }, - { name = "isoduration" }, - { name = "jsonpointer" }, - { name = "rfc3339-validator" }, - { name = "rfc3986-validator" }, - { name = "uri-template" }, - { name = "webcolors", version = "24.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "webcolors", version = "24.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] - -[[package]] -name = "jsonschema-specifications" -version = "2023.12.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b/jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc", size = 13983 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ee/07/44bd408781594c4d0a027666ef27fab1e441b109dc3b76b4f836f8fd04fe/jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c", size = 18482 }, -] - -[[package]] -name = "jsonschema-specifications" -version = "2025.4.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437 }, -] - -[[package]] -name = "jupyter-client" -version = "8.6.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "jupyter-core" }, - { name = "python-dateutil" }, - { name = "pyzmq" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "traitlets" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105 }, -] - -[[package]] -name = "jupyter-core" -version = "4.12.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, - { name = "traitlets" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/8b/d9/0d18cbe8d0d2eb165dd0b42266f0e5e31b1f80c3a48031fbef1077c34521/jupyter_core-4.12.0.tar.gz", hash = "sha256:87f39d7642412ae8a52291cc68e71ac01dfa2c735df2701f8108251d51b4f460", size = 74760 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/02/8f/0e0ad6804c0a021a27410ec997626a7a955c20916454d0205f16eb83de4b/jupyter_core-4.12.0-py3-none-any.whl", hash = "sha256:a54672c539333258495579f6964144924e0aa7b07f7069947bef76d7ea5cb4c1", size = 89940 }, -] - -[[package]] -name = "jupyter-events" -version = "0.10.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "jsonschema", extra = ["format-nongpl"], marker = "python_full_version < '3.9'" }, - { name = "python-json-logger", marker = "python_full_version < '3.9'" }, - { name = "pyyaml", marker = "python_full_version < '3.9'" }, - { name = "referencing", version = "0.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "rfc3339-validator", marker = "python_full_version < '3.9'" }, - { name = "rfc3986-validator", marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/8d/53/7537a1aa558229bb0b1b178d814c9d68a9c697d3aecb808a1cb2646acf1f/jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22", size = 61516 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/94/059180ea70a9a326e1815176b2370da56376da347a796f8c4f0b830208ef/jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960", size = 18777 }, -] - -[[package]] -name = "jupyter-events" -version = "0.12.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "jsonschema", extra = ["format-nongpl"], marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "python-json-logger", marker = "python_full_version >= '3.9'" }, - { name = "pyyaml", marker = "python_full_version >= '3.9'" }, - { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "rfc3339-validator", marker = "python_full_version >= '3.9'" }, - { name = "rfc3986-validator", marker = "python_full_version >= '3.9'" }, - { name = "traitlets", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430 }, -] - -[[package]] -name = "jupyter-lsp" -version = "2.2.5" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/85/b4/3200b0b09c12bc3b72d943d923323c398eff382d1dcc7c0dbc8b74630e40/jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001", size = 48741 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/07/e0/7bd7cff65594fd9936e2f9385701e44574fc7d721331ff676ce440b14100/jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da", size = 69146 }, -] - -[[package]] -name = "jupyter-server" -version = "2.14.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "argon2-cffi", marker = "python_full_version < '3.9'" }, - { name = "jinja2", marker = "python_full_version < '3.9'" }, - { name = "jupyter-client", marker = "python_full_version < '3.9'" }, - { name = "jupyter-core", marker = "python_full_version < '3.9'" }, - { name = "jupyter-events", version = "0.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyter-server-terminals", marker = "python_full_version < '3.9'" }, - { name = "nbconvert", marker = "python_full_version < '3.9'" }, - { name = "nbformat", marker = "python_full_version < '3.9'" }, - { name = "overrides", marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "prometheus-client", version = "0.21.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and os_name == 'nt'" }, - { name = "pyzmq", marker = "python_full_version < '3.9'" }, - { name = "send2trash", marker = "python_full_version < '3.9'" }, - { name = "terminado", marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, - { name = "websocket-client", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556 }, -] - -[[package]] -name = "jupyter-server" -version = "2.16.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "anyio", version = "4.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "argon2-cffi", marker = "python_full_version >= '3.9'" }, - { name = "jinja2", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-events", version = "0.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyter-server-terminals", marker = "python_full_version >= '3.9'" }, - { name = "nbconvert", marker = "python_full_version >= '3.9'" }, - { name = "nbformat", marker = "python_full_version >= '3.9'" }, - { name = "overrides", marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "prometheus-client", version = "0.22.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and os_name == 'nt'" }, - { name = "pyzmq", marker = "python_full_version >= '3.9'" }, - { name = "send2trash", marker = "python_full_version >= '3.9'" }, - { name = "terminado", marker = "python_full_version >= '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "traitlets", marker = "python_full_version >= '3.9'" }, - { name = "websocket-client", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/41/c8/ba2bbcd758c47f1124c4ca14061e8ce60d9c6fd537faee9534a95f83521a/jupyter_server-2.16.0.tar.gz", hash = "sha256:65d4b44fdf2dcbbdfe0aa1ace4a842d4aaf746a2b7b168134d5aaed35621b7f6", size = 728177 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/1f/5ebbced977171d09a7b0c08a285ff9a20aafb9c51bde07e52349ff1ddd71/jupyter_server-2.16.0-py3-none-any.whl", hash = "sha256:3d8db5be3bc64403b1c65b400a1d7f4647a5ce743f3b20dbdefe8ddb7b55af9e", size = 386904 }, -] - -[[package]] -name = "jupyter-server-terminals" -version = "0.5.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and os_name == 'nt'" }, - { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and os_name == 'nt'" }, - { name = "terminado" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656 }, -] - -[[package]] -name = "jupyterlab" -version = "4.3.7" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "async-lru", version = "2.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "httpx", marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "ipykernel", marker = "python_full_version < '3.9'" }, - { name = "jinja2", marker = "python_full_version < '3.9'" }, - { name = "jupyter-core", marker = "python_full_version < '3.9'" }, - { name = "jupyter-lsp", marker = "python_full_version < '3.9'" }, - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyterlab-server", marker = "python_full_version < '3.9'" }, - { name = "notebook-shim", marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9b/bc/3f31ee6568cbf56da0538092ea5b726d6b9d0c08237f4314f2ebfe2157dd/jupyterlab-4.3.7.tar.gz", hash = "sha256:2c7da5778b425f6599ea6b8453cde68faa67c12352f8b62e6690cd4cc54ae843", size = 21827544 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/f5/13ec322810a7d69dd613dff6d5b52cecc98f33bf4d34d5bfe88d4f9f52b0/jupyterlab-4.3.7-py3-none-any.whl", hash = "sha256:17a74ec810cb5546ab26474b6d7223b04b53ec8d63de489e9313b26d5212d805", size = 11681991 }, -] - -[[package]] -name = "jupyterlab" -version = "4.4.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "async-lru", version = "2.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "httpx", marker = "python_full_version >= '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "ipykernel", marker = "python_full_version >= '3.9'" }, - { name = "jinja2", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-lsp", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyterlab-server", marker = "python_full_version >= '3.9'" }, - { name = "notebook-shim", marker = "python_full_version >= '3.9'" }, - { name = "packaging", marker = "python_full_version >= '3.9'" }, - { name = "setuptools", version = "80.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "traitlets", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f4/3c/12a8b27ff2c3b4005bbb5e11c7747246965776d2b821193e53ffd61f1332/jupyterlab-4.4.2.tar.gz", hash = "sha256:afa9caf28c0cb966488be18e5e8daba9f018a1c4273a406b7d5006344cbc6d16", size = 23030818 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/ae/fbb93f4990b7648849b19112d8b3e7427bbfc9c5cc8fdc6bf14c0e86d104/jupyterlab-4.4.2-py3-none-any.whl", hash = "sha256:857111a50bed68542bf55dca784522fe728f9f88b4fe69e8c585db5c50900419", size = 12294799 }, -] - -[[package]] -name = "jupyterlab-pygments" -version = "0.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884 }, -] - -[[package]] -name = "jupyterlab-server" -version = "2.27.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "babel" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "jinja2" }, - { name = "json5" }, - { name = "jsonschema" }, - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "packaging" }, - { name = "requests" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700 }, -] - -[[package]] -name = "jupyterlab-widgets" -version = "3.0.15" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b9/7d/160595ca88ee87ac6ba95d82177d29ec60aaa63821d3077babb22ce031a5/jupyterlab_widgets-3.0.15.tar.gz", hash = "sha256:2920888a0c2922351a9202817957a68c07d99673504d6cd37345299e971bb08b", size = 213149 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/43/6a/ca128561b22b60bd5a0c4ea26649e68c8556b82bc70a0c396eebc977fe86/jupyterlab_widgets-3.0.15-py3-none-any.whl", hash = "sha256:d59023d7d7ef71400d51e6fee9a88867f6e65e10a4201605d2d7f3e8f012a31c", size = 216571 }, -] - -[[package]] -name = "kiwisolver" -version = "1.4.7" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440 }, - { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758 }, - { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311 }, - { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109 }, - { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814 }, - { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881 }, - { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972 }, - { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787 }, - { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212 }, - { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399 }, - { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688 }, - { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493 }, - { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191 }, - { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644 }, - { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877 }, - { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347 }, - { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442 }, - { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762 }, - { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319 }, - { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260 }, - { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589 }, - { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080 }, - { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049 }, - { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376 }, - { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231 }, - { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634 }, - { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024 }, - { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484 }, - { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078 }, - { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645 }, - { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022 }, - { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536 }, - { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808 }, - { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531 }, - { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894 }, - { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296 }, - { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450 }, - { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168 }, - { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308 }, - { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186 }, - { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877 }, - { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204 }, - { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461 }, - { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358 }, - { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119 }, - { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367 }, - { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884 }, - { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528 }, - { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913 }, - { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627 }, - { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888 }, - { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145 }, - { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448 }, - { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750 }, - { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175 }, - { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963 }, - { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220 }, - { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463 }, - { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842 }, - { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635 }, - { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556 }, - { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364 }, - { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887 }, - { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530 }, - { url = "https://files.pythonhosted.org/packages/57/d6/620247574d9e26fe24384087879e8399e309f0051782f95238090afa6ccc/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a", size = 122325 }, - { url = "https://files.pythonhosted.org/packages/bd/c6/572ad7d73dbd898cffa9050ffd7ff7e78a055a1d9b7accd6b4d1f50ec858/kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade", size = 65679 }, - { url = "https://files.pythonhosted.org/packages/14/a7/bb8ab10e12cc8764f4da0245d72dee4731cc720bdec0f085d5e9c6005b98/kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c", size = 64267 }, - { url = "https://files.pythonhosted.org/packages/54/a4/3b5a2542429e182a4df0528214e76803f79d016110f5e67c414a0357cd7d/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95", size = 1387236 }, - { url = "https://files.pythonhosted.org/packages/a6/d7/bc3005e906c1673953a3e31ee4f828157d5e07a62778d835dd937d624ea0/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b", size = 1500555 }, - { url = "https://files.pythonhosted.org/packages/09/a7/87cb30741f13b7af08446795dca6003491755805edc9c321fe996c1320b8/kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3", size = 1431684 }, - { url = "https://files.pythonhosted.org/packages/37/a4/1e4e2d8cdaa42c73d523413498445247e615334e39401ae49dae74885429/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503", size = 1125811 }, - { url = "https://files.pythonhosted.org/packages/76/36/ae40d7a3171e06f55ac77fe5536079e7be1d8be2a8210e08975c7f9b4d54/kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf", size = 1179987 }, - { url = "https://files.pythonhosted.org/packages/d8/5d/6e4894b9fdf836d8bd095729dff123bbbe6ad0346289287b45c800fae656/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933", size = 2186817 }, - { url = "https://files.pythonhosted.org/packages/f0/2d/603079b2c2fd62890be0b0ebfc8bb6dda8a5253ca0758885596565b0dfc1/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e", size = 2332538 }, - { url = "https://files.pythonhosted.org/packages/bb/2a/9a28279c865c38a27960db38b07179143aafc94877945c209bfc553d9dd3/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89", size = 2293890 }, - { url = "https://files.pythonhosted.org/packages/1a/4d/4da8967f3bf13c764984b8fbae330683ee5fbd555b4a5624ad2b9decc0ab/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d", size = 2434677 }, - { url = "https://files.pythonhosted.org/packages/08/e9/a97a2b6b74dd850fa5974309367e025c06093a143befe9b962d0baebb4f0/kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5", size = 2250339 }, - { url = "https://files.pythonhosted.org/packages/8a/e7/55507a387ba1766e69f5e13a79e1aefabdafe0532bee5d1972dfc42b3d16/kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a", size = 46932 }, - { url = "https://files.pythonhosted.org/packages/52/77/7e04cca2ff1dc6ee6b7654cebe233de72b7a3ec5616501b6f3144fb70740/kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09", size = 55836 }, - { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449 }, - { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757 }, - { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312 }, - { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966 }, - { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044 }, - { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879 }, - { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751 }, - { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990 }, - { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122 }, - { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126 }, - { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313 }, - { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784 }, - { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988 }, - { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980 }, - { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847 }, - { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494 }, - { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491 }, - { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648 }, - { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257 }, - { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906 }, - { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951 }, - { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715 }, - { url = "https://files.pythonhosted.org/packages/64/f3/2403d90821fffe496df16f6996cb328b90b0d80c06d2938a930a7732b4f1/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00", size = 59662 }, - { url = "https://files.pythonhosted.org/packages/fa/7d/8f409736a4a6ac04354fa530ebf46682ddb1539b0bae15f4731ff2c575bc/kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935", size = 57753 }, - { url = "https://files.pythonhosted.org/packages/4c/a5/3937c9abe8eedb1356071739ad437a0b486cbad27d54f4ec4733d24882ac/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b", size = 103564 }, - { url = "https://files.pythonhosted.org/packages/b2/18/a5ae23888f010b90d5eb8d196fed30e268056b2ded54d25b38a193bb70e9/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d", size = 95264 }, - { url = "https://files.pythonhosted.org/packages/f9/d0/c4240ae86306d4395e9701f1d7e6ddcc6d60c28cb0127139176cfcfc9ebe/kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d", size = 78197 }, - { url = "https://files.pythonhosted.org/packages/62/db/62423f0ab66813376a35c1e7da488ebdb4e808fcb54b7cec33959717bda1/kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2", size = 56080 }, - { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666 }, - { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088 }, - { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321 }, - { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776 }, - { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984 }, - { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811 }, -] - -[[package]] -name = "kiwisolver" -version = "1.4.8" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623 }, - { url = "https://files.pythonhosted.org/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720 }, - { url = "https://files.pythonhosted.org/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413 }, - { url = "https://files.pythonhosted.org/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826 }, - { url = "https://files.pythonhosted.org/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231 }, - { url = "https://files.pythonhosted.org/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938 }, - { url = "https://files.pythonhosted.org/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799 }, - { url = "https://files.pythonhosted.org/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362 }, - { url = "https://files.pythonhosted.org/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695 }, - { url = "https://files.pythonhosted.org/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802 }, - { url = "https://files.pythonhosted.org/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646 }, - { url = "https://files.pythonhosted.org/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260 }, - { url = "https://files.pythonhosted.org/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633 }, - { url = "https://files.pythonhosted.org/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885 }, - { url = "https://files.pythonhosted.org/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175 }, - { url = "https://files.pythonhosted.org/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635 }, - { url = "https://files.pythonhosted.org/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717 }, - { url = "https://files.pythonhosted.org/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413 }, - { url = "https://files.pythonhosted.org/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994 }, - { url = "https://files.pythonhosted.org/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804 }, - { url = "https://files.pythonhosted.org/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690 }, - { url = "https://files.pythonhosted.org/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839 }, - { url = "https://files.pythonhosted.org/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109 }, - { url = "https://files.pythonhosted.org/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269 }, - { url = "https://files.pythonhosted.org/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468 }, - { url = "https://files.pythonhosted.org/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394 }, - { url = "https://files.pythonhosted.org/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901 }, - { url = "https://files.pythonhosted.org/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306 }, - { url = "https://files.pythonhosted.org/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966 }, - { url = "https://files.pythonhosted.org/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311 }, - { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152 }, - { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555 }, - { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067 }, - { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443 }, - { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728 }, - { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388 }, - { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849 }, - { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533 }, - { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898 }, - { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605 }, - { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801 }, - { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077 }, - { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410 }, - { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853 }, - { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424 }, - { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156 }, - { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555 }, - { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071 }, - { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053 }, - { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278 }, - { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139 }, - { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517 }, - { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952 }, - { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132 }, - { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997 }, - { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060 }, - { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471 }, - { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793 }, - { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855 }, - { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430 }, - { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294 }, - { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736 }, - { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194 }, - { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942 }, - { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341 }, - { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455 }, - { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138 }, - { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857 }, - { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129 }, - { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538 }, - { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661 }, - { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710 }, - { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213 }, - { url = "https://files.pythonhosted.org/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403 }, - { url = "https://files.pythonhosted.org/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657 }, - { url = "https://files.pythonhosted.org/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948 }, - { url = "https://files.pythonhosted.org/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186 }, - { url = "https://files.pythonhosted.org/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279 }, - { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762 }, -] - -[[package]] -name = "llvmlite" -version = "0.41.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/01/c6/bc6634da9f58edf91a1a002280c6380f404715245a49a46234b1d9d9585a/llvmlite-0.41.1.tar.gz", hash = "sha256:f19f767a018e6ec89608e1f6b13348fa2fcde657151137cb64e56d48598a92db", size = 146564 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/10/e2/931d2d35350d3c375d6c43a04982fb5d8f90c15002de024a814d919a1e67/llvmlite-0.41.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c1e1029d47ee66d3a0c4d6088641882f75b93db82bd0e6178f7bd744ebce42b9", size = 31032708 }, - { url = "https://files.pythonhosted.org/packages/47/d5/2d6261a47dd6b1005d60a6e37a3de007ddc15a297f146ee905605e3cbc3e/llvmlite-0.41.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:150d0bc275a8ac664a705135e639178883293cf08c1a38de3bbaa2f693a0a867", size = 28753858 }, - { url = "https://files.pythonhosted.org/packages/da/5e/afce5c757df730be7706ae671f5fce2cacdf4e46eed2b1a916e595453388/llvmlite-0.41.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eee5cf17ec2b4198b509272cf300ee6577229d237c98cc6e63861b08463ddc6", size = 42623412 }, - { url = "https://files.pythonhosted.org/packages/57/7d/ef28d5812f852b93bd2a583d00cdcde56833d31b645ae0eaa7e71eecfb4e/llvmlite-0.41.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd0338da625346538f1173a17cabf21d1e315cf387ca21b294ff209d176e244", size = 43623334 }, - { url = "https://files.pythonhosted.org/packages/48/39/7db84e829b874f90316e9f6d7497f761b9a645abe61f8c9588b292876314/llvmlite-0.41.1-cp310-cp310-win32.whl", hash = "sha256:fa1469901a2e100c17eb8fe2678e34bd4255a3576d1a543421356e9c14d6e2ae", size = 23414330 }, - { url = "https://files.pythonhosted.org/packages/1f/05/cfc9c51aff9adbb6f7df93df3fb20100ee5d9c3d0445ade3df8057e50b0a/llvmlite-0.41.1-cp310-cp310-win_amd64.whl", hash = "sha256:2b76acee82ea0e9304be6be9d4b3840208d050ea0dcad75b1635fa06e949a0ae", size = 28108282 }, - { url = "https://files.pythonhosted.org/packages/96/e0/54b0a58969b208b3a66ed30f560e127f52c3add6027b8e67d0a00ea0b178/llvmlite-0.41.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:210e458723436b2469d61b54b453474e09e12a94453c97ea3fbb0742ba5a83d8", size = 31032706 }, - { url = "https://files.pythonhosted.org/packages/12/f4/9bc78ef5d52cbe595a849d332c872583a6294afff6f5317de6dce4abbe55/llvmlite-0.41.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:855f280e781d49e0640aef4c4af586831ade8f1a6c4df483fb901cbe1a48d127", size = 28753841 }, - { url = "https://files.pythonhosted.org/packages/b5/b0/48caac8ea81d6a11a1917dd98258ea67c9b8a78a31fa45b89ae6aa94e678/llvmlite-0.41.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b67340c62c93a11fae482910dc29163a50dff3dfa88bc874872d28ee604a83be", size = 42623411 }, - { url = "https://files.pythonhosted.org/packages/0a/dd/e10658cb0e4ad8364b37ae2a6187ebb6b3b35e08b36ef9e98790b9f2f437/llvmlite-0.41.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2181bb63ef3c607e6403813421b46982c3ac6bfc1f11fa16a13eaafb46f578e6", size = 43623334 }, - { url = "https://files.pythonhosted.org/packages/14/fe/d3a9c921a2adad2e9f24693754983f290e0dac9410666e802b9dba4d0218/llvmlite-0.41.1-cp311-cp311-win_amd64.whl", hash = "sha256:9564c19b31a0434f01d2025b06b44c7ed422f51e719ab5d24ff03b7560066c9a", size = 28092676 }, - { url = "https://files.pythonhosted.org/packages/04/ad/f5d3f8accf618e136a205de92db49516d1e9a868415164dab407107cece5/llvmlite-0.41.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5940bc901fb0325970415dbede82c0b7f3e35c2d5fd1d5e0047134c2c46b3281", size = 31032702 }, - { url = "https://files.pythonhosted.org/packages/a7/07/c5c053cebc0d16fbbe5329fd10b9d141681fba7a805796e8517a1217d4e8/llvmlite-0.41.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8b0a9a47c28f67a269bb62f6256e63cef28d3c5f13cbae4fab587c3ad506778b", size = 28753852 }, - { url = "https://files.pythonhosted.org/packages/37/c0/2fcbb511e4af6f4bbd053b1ce16ae216ff088f3255add6b516c34175bfbc/llvmlite-0.41.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8afdfa6da33f0b4226af8e64cfc2b28986e005528fbf944d0a24a72acfc9432", size = 42623411 }, - { url = "https://files.pythonhosted.org/packages/46/a5/de824aba87a62e0da43f9b590ac91709d460a61e03f1b430b83ca64b76dc/llvmlite-0.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8454c1133ef701e8c050a59edd85d238ee18bb9a0eb95faf2fca8b909ee3c89a", size = 43623331 }, - { url = "https://files.pythonhosted.org/packages/7e/f0/066eb0d43d276da3fc39cf61ad956293a2d3c97f4e976fcc58d3519862e8/llvmlite-0.41.1-cp38-cp38-win32.whl", hash = "sha256:2d92c51e6e9394d503033ffe3292f5bef1566ab73029ec853861f60ad5c925d0", size = 23414330 }, - { url = "https://files.pythonhosted.org/packages/1b/57/6da776f73951956ece7d8fda605c69d512a6724bb7b255adf9d48ef7941d/llvmlite-0.41.1-cp38-cp38-win_amd64.whl", hash = "sha256:df75594e5a4702b032684d5481db3af990b69c249ccb1d32687b8501f0689432", size = 28108279 }, - { url = "https://files.pythonhosted.org/packages/fc/7a/c6741000d767fed4b339fcd4fa65afbc5fe776473d5f9e9c41eceab0a7c6/llvmlite-0.41.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:04725975e5b2af416d685ea0769f4ecc33f97be541e301054c9f741003085802", size = 31032700 }, - { url = "https://files.pythonhosted.org/packages/8b/66/b3edcd1b2631af2daaf7a09520c5ff863e459eb17dd28f7d4cac63f3532c/llvmlite-0.41.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bf14aa0eb22b58c231243dccf7e7f42f7beec48970f2549b3a6acc737d1a4ba4", size = 28753838 }, - { url = "https://files.pythonhosted.org/packages/d3/5b/5af7cc0d2097ada6372b8b90986b45267b7d137a4fda58d7534d867572b2/llvmlite-0.41.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92c32356f669e036eb01016e883b22add883c60739bc1ebee3a1cc0249a50828", size = 42623409 }, - { url = "https://files.pythonhosted.org/packages/be/a6/55020df7f04666bceb3ccc5dc0cb0812d68d5fdec883ff015a9110928829/llvmlite-0.41.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24091a6b31242bcdd56ae2dbea40007f462260bc9bdf947953acc39dffd54f8f", size = 43623330 }, - { url = "https://files.pythonhosted.org/packages/07/73/0aef09cf017a4f8b9c0eb371d273e7bb3e514992c4f1d8ed09e8f81f4602/llvmlite-0.41.1-cp39-cp39-win32.whl", hash = "sha256:880cb57ca49e862e1cd077104375b9d1dfdc0622596dfa22105f470d7bacb309", size = 23414330 }, - { url = "https://files.pythonhosted.org/packages/88/99/aa829162a871f0f91dba9a0344726449cafbff4e9e55d7a714051cbb6215/llvmlite-0.41.1-cp39-cp39-win_amd64.whl", hash = "sha256:92f093986ab92e71c9ffe334c002f96defc7986efda18397d0f08534f3ebdc4d", size = 28092675 }, -] - -[[package]] -name = "llvmlite" -version = "0.43.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/9f/3d/f513755f285db51ab363a53e898b85562e950f79a2e6767a364530c2f645/llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5", size = 157069 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/23/ff/6ca7e98998b573b4bd6566f15c35e5c8bea829663a6df0c7aa55ab559da9/llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761", size = 31064408 }, - { url = "https://files.pythonhosted.org/packages/ca/5c/a27f9257f86f0cda3f764ff21d9f4217b9f6a0d45e7a39ecfa7905f524ce/llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc", size = 28793153 }, - { url = "https://files.pythonhosted.org/packages/7e/3c/4410f670ad0a911227ea2ecfcba9f672a77cf1924df5280c4562032ec32d/llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead", size = 42857276 }, - { url = "https://files.pythonhosted.org/packages/c6/21/2ffbab5714e72f2483207b4a1de79b2eecd9debbf666ff4e7067bcc5c134/llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a", size = 43871781 }, - { url = "https://files.pythonhosted.org/packages/f2/26/b5478037c453554a61625ef1125f7e12bb1429ae11c6376f47beba9b0179/llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed", size = 28123487 }, - { url = "https://files.pythonhosted.org/packages/95/8c/de3276d773ab6ce3ad676df5fab5aac19696b2956319d65d7dd88fb10f19/llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98", size = 31064409 }, - { url = "https://files.pythonhosted.org/packages/ee/e1/38deed89ced4cf378c61e232265cfe933ccde56ae83c901aa68b477d14b1/llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57", size = 28793149 }, - { url = "https://files.pythonhosted.org/packages/2f/b2/4429433eb2dc8379e2cb582502dca074c23837f8fd009907f78a24de4c25/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2", size = 42857277 }, - { url = "https://files.pythonhosted.org/packages/6b/99/5d00a7d671b1ba1751fc9f19d3b36f3300774c6eebe2bcdb5f6191763eb4/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749", size = 43871781 }, - { url = "https://files.pythonhosted.org/packages/20/ab/ed5ed3688c6ba4f0b8d789da19fd8e30a9cf7fc5852effe311bc5aefe73e/llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91", size = 28107433 }, - { url = "https://files.pythonhosted.org/packages/0b/67/9443509e5d2b6d8587bae3ede5598fa8bd586b1c7701696663ea8af15b5b/llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7", size = 31064409 }, - { url = "https://files.pythonhosted.org/packages/a2/9c/24139d3712d2d352e300c39c0e00d167472c08b3bd350c3c33d72c88ff8d/llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7", size = 28793145 }, - { url = "https://files.pythonhosted.org/packages/bf/f1/4c205a48488e574ee9f6505d50e84370a978c90f08dab41a42d8f2c576b6/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f", size = 42857276 }, - { url = "https://files.pythonhosted.org/packages/00/5f/323c4d56e8401c50185fd0e875fcf06b71bf825a863699be1eb10aa2a9cb/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844", size = 43871781 }, - { url = "https://files.pythonhosted.org/packages/c6/94/dea10e263655ce78d777e78d904903faae39d1fc440762be4a9dc46bed49/llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9", size = 28107442 }, - { url = "https://files.pythonhosted.org/packages/2a/73/12925b1bbb3c2beb6d96f892ef5b4d742c34f00ddb9f4a125e9e87b22f52/llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c", size = 31064410 }, - { url = "https://files.pythonhosted.org/packages/cc/61/58c70aa0808a8cba825a7d98cc65bef4801b99328fba80837bfcb5fc767f/llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8", size = 28793145 }, - { url = "https://files.pythonhosted.org/packages/c8/c6/9324eb5de2ba9d99cbed853d85ba7a318652a48e077797bec27cf40f911d/llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a", size = 42857276 }, - { url = "https://files.pythonhosted.org/packages/e0/d0/889e9705107db7b1ec0767b03f15d7b95b4c4f9fdf91928ab1c7e9ffacf6/llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867", size = 43871777 }, - { url = "https://files.pythonhosted.org/packages/df/41/73cc26a2634b538cfe813f618c91e7e9960b8c163f8f0c94a2b0f008b9da/llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4", size = 28123489 }, -] - -[[package]] -name = "llvmlite" -version = "0.44.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/89/6a/95a3d3610d5c75293d5dbbb2a76480d5d4eeba641557b69fe90af6c5b84e/llvmlite-0.44.0.tar.gz", hash = "sha256:07667d66a5d150abed9157ab6c0b9393c9356f229784a4385c02f99e94fc94d4", size = 171880 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/41/75/d4863ddfd8ab5f6e70f4504cf8cc37f4e986ec6910f4ef8502bb7d3c1c71/llvmlite-0.44.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:9fbadbfba8422123bab5535b293da1cf72f9f478a65645ecd73e781f962ca614", size = 28132306 }, - { url = "https://files.pythonhosted.org/packages/37/d9/6e8943e1515d2f1003e8278819ec03e4e653e2eeb71e4d00de6cfe59424e/llvmlite-0.44.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cccf8eb28f24840f2689fb1a45f9c0f7e582dd24e088dcf96e424834af11f791", size = 26201096 }, - { url = "https://files.pythonhosted.org/packages/aa/46/8ffbc114def88cc698906bf5acab54ca9fdf9214fe04aed0e71731fb3688/llvmlite-0.44.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7202b678cdf904823c764ee0fe2dfe38a76981f4c1e51715b4cb5abb6cf1d9e8", size = 42361859 }, - { url = "https://files.pythonhosted.org/packages/30/1c/9366b29ab050a726af13ebaae8d0dff00c3c58562261c79c635ad4f5eb71/llvmlite-0.44.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40526fb5e313d7b96bda4cbb2c85cd5374e04d80732dd36a282d72a560bb6408", size = 41184199 }, - { url = "https://files.pythonhosted.org/packages/69/07/35e7c594b021ecb1938540f5bce543ddd8713cff97f71d81f021221edc1b/llvmlite-0.44.0-cp310-cp310-win_amd64.whl", hash = "sha256:41e3839150db4330e1b2716c0be3b5c4672525b4c9005e17c7597f835f351ce2", size = 30332381 }, - { url = "https://files.pythonhosted.org/packages/b5/e2/86b245397052386595ad726f9742e5223d7aea999b18c518a50e96c3aca4/llvmlite-0.44.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:eed7d5f29136bda63b6d7804c279e2b72e08c952b7c5df61f45db408e0ee52f3", size = 28132305 }, - { url = "https://files.pythonhosted.org/packages/ff/ec/506902dc6870249fbe2466d9cf66d531265d0f3a1157213c8f986250c033/llvmlite-0.44.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ace564d9fa44bb91eb6e6d8e7754977783c68e90a471ea7ce913bff30bd62427", size = 26201090 }, - { url = "https://files.pythonhosted.org/packages/99/fe/d030f1849ebb1f394bb3f7adad5e729b634fb100515594aca25c354ffc62/llvmlite-0.44.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5d22c3bfc842668168a786af4205ec8e3ad29fb1bc03fd11fd48460d0df64c1", size = 42361858 }, - { url = "https://files.pythonhosted.org/packages/d7/7a/ce6174664b9077fc673d172e4c888cb0b128e707e306bc33fff8c2035f0d/llvmlite-0.44.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f01a394e9c9b7b1d4e63c327b096d10f6f0ed149ef53d38a09b3749dcf8c9610", size = 41184200 }, - { url = "https://files.pythonhosted.org/packages/5f/c6/258801143975a6d09a373f2641237992496e15567b907a4d401839d671b8/llvmlite-0.44.0-cp311-cp311-win_amd64.whl", hash = "sha256:d8489634d43c20cd0ad71330dde1d5bc7b9966937a263ff1ec1cebb90dc50955", size = 30331193 }, - { url = "https://files.pythonhosted.org/packages/15/86/e3c3195b92e6e492458f16d233e58a1a812aa2bfbef9bdd0fbafcec85c60/llvmlite-0.44.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:1d671a56acf725bf1b531d5ef76b86660a5ab8ef19bb6a46064a705c6ca80aad", size = 28132297 }, - { url = "https://files.pythonhosted.org/packages/d6/53/373b6b8be67b9221d12b24125fd0ec56b1078b660eeae266ec388a6ac9a0/llvmlite-0.44.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f79a728e0435493611c9f405168682bb75ffd1fbe6fc360733b850c80a026db", size = 26201105 }, - { url = "https://files.pythonhosted.org/packages/cb/da/8341fd3056419441286c8e26bf436923021005ece0bff5f41906476ae514/llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0143a5ef336da14deaa8ec26c5449ad5b6a2b564df82fcef4be040b9cacfea9", size = 42361901 }, - { url = "https://files.pythonhosted.org/packages/53/ad/d79349dc07b8a395a99153d7ce8b01d6fcdc9f8231355a5df55ded649b61/llvmlite-0.44.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d752f89e31b66db6f8da06df8b39f9b91e78c5feea1bf9e8c1fba1d1c24c065d", size = 41184247 }, - { url = "https://files.pythonhosted.org/packages/e2/3b/a9a17366af80127bd09decbe2a54d8974b6d8b274b39bf47fbaedeec6307/llvmlite-0.44.0-cp312-cp312-win_amd64.whl", hash = "sha256:eae7e2d4ca8f88f89d315b48c6b741dcb925d6a1042da694aa16ab3dd4cbd3a1", size = 30332380 }, - { url = "https://files.pythonhosted.org/packages/89/24/4c0ca705a717514c2092b18476e7a12c74d34d875e05e4d742618ebbf449/llvmlite-0.44.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:319bddd44e5f71ae2689859b7203080716448a3cd1128fb144fe5c055219d516", size = 28132306 }, - { url = "https://files.pythonhosted.org/packages/01/cf/1dd5a60ba6aee7122ab9243fd614abcf22f36b0437cbbe1ccf1e3391461c/llvmlite-0.44.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c58867118bad04a0bb22a2e0068c693719658105e40009ffe95c7000fcde88e", size = 26201090 }, - { url = "https://files.pythonhosted.org/packages/d2/1b/656f5a357de7135a3777bd735cc7c9b8f23b4d37465505bd0eaf4be9befe/llvmlite-0.44.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46224058b13c96af1365290bdfebe9a6264ae62fb79b2b55693deed11657a8bf", size = 42361904 }, - { url = "https://files.pythonhosted.org/packages/d8/e1/12c5f20cb9168fb3464a34310411d5ad86e4163c8ff2d14a2b57e5cc6bac/llvmlite-0.44.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa0097052c32bf721a4efc03bd109d335dfa57d9bffb3d4c24cc680711b8b4fc", size = 41184245 }, - { url = "https://files.pythonhosted.org/packages/d0/81/e66fc86539293282fd9cb7c9417438e897f369e79ffb62e1ae5e5154d4dd/llvmlite-0.44.0-cp313-cp313-win_amd64.whl", hash = "sha256:2fb7c4f2fb86cbae6dca3db9ab203eeea0e22d73b99bc2341cdf9de93612e930", size = 30331193 }, -] - -[[package]] -name = "markupsafe" -version = "2.1.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206 }, - { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079 }, - { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620 }, - { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818 }, - { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493 }, - { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630 }, - { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745 }, - { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021 }, - { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659 }, - { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213 }, - { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219 }, - { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098 }, - { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014 }, - { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220 }, - { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756 }, - { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988 }, - { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718 }, - { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317 }, - { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670 }, - { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224 }, - { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215 }, - { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069 }, - { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452 }, - { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462 }, - { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869 }, - { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906 }, - { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296 }, - { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038 }, - { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572 }, - { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127 }, - { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192 }, - { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072 }, - { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928 }, - { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106 }, - { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781 }, - { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518 }, - { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669 }, - { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933 }, - { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656 }, - { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206 }, - { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193 }, - { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073 }, - { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486 }, - { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685 }, - { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338 }, - { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439 }, - { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531 }, - { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823 }, - { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658 }, - { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211 }, -] - -[[package]] -name = "markupsafe" -version = "3.0.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } -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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, - { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, - { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, - { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, - { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, - { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, - { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, - { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, - { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, - { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, - { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, - { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, - { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, -] - -[[package]] -name = "matplotlib" -version = "3.7.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "contourpy", version = "1.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "cycler", marker = "python_full_version < '3.9'" }, - { name = "fonttools", version = "4.57.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-resources", version = "6.4.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "pillow", version = "10.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pyparsing", version = "3.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "python-dateutil", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz", hash = "sha256:1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a", size = 38098611 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f5/b0/3808e86c41e5d97822d77e89d7f3cb0890725845c050d87ec53732a8b150/matplotlib-3.7.5-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:4a87b69cb1cb20943010f63feb0b2901c17a3b435f75349fd9865713bfa63925", size = 8322924 }, - { url = "https://files.pythonhosted.org/packages/5b/05/726623be56391ba1740331ad9f1cd30e1adec61c179ddac134957a6dc2e7/matplotlib-3.7.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d3ce45010fefb028359accebb852ca0c21bd77ec0f281952831d235228f15810", size = 7438436 }, - { url = "https://files.pythonhosted.org/packages/15/83/89cdef49ef1e320060ec951ba33c132df211561d866c3ed144c81fd110b2/matplotlib-3.7.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbea1e762b28400393d71be1a02144aa16692a3c4c676ba0178ce83fc2928fdd", size = 7341849 }, - { url = "https://files.pythonhosted.org/packages/94/29/39fc4acdc296dd86e09cecb65c14966e1cf18e0f091b9cbd9bd3f0c19ee4/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec0e1adc0ad70ba8227e957551e25a9d2995e319c29f94a97575bb90fa1d4469", size = 11354141 }, - { url = "https://files.pythonhosted.org/packages/54/36/44c5eeb0d83ae1e3ed34d264d7adee947c4fd56c4a9464ce822de094995a/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6738c89a635ced486c8a20e20111d33f6398a9cbebce1ced59c211e12cd61455", size = 11457668 }, - { url = "https://files.pythonhosted.org/packages/b7/e2/f68aeaedf0ef57cbb793637ee82e62e64ea26cee908db0fe4f8e24d502c0/matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1210b7919b4ed94b5573870f316bca26de3e3b07ffdb563e79327dc0e6bba515", size = 11580088 }, - { url = "https://files.pythonhosted.org/packages/d9/f7/7c88d34afc38943aa5e4e04d27fc9da5289a48c264c0d794f60c9cda0949/matplotlib-3.7.5-cp310-cp310-win32.whl", hash = "sha256:068ebcc59c072781d9dcdb82f0d3f1458271c2de7ca9c78f5bd672141091e9e1", size = 7339332 }, - { url = "https://files.pythonhosted.org/packages/91/99/e5f6f7c9438279581c4a2308d264fe24dc98bb80e3b2719f797227e54ddc/matplotlib-3.7.5-cp310-cp310-win_amd64.whl", hash = "sha256:f098ffbaab9df1e3ef04e5a5586a1e6b1791380698e84938d8640961c79b1fc0", size = 7506405 }, - { url = "https://files.pythonhosted.org/packages/5e/c6/45d0485e59d70b7a6a81eade5d0aed548b42cc65658c0ce0f813b9249165/matplotlib-3.7.5-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:f65342c147572673f02a4abec2d5a23ad9c3898167df9b47c149f32ce61ca078", size = 8325506 }, - { url = "https://files.pythonhosted.org/packages/0e/0a/83bd8589f3597745f624fbcc7da1140088b2f4160ca51c71553c561d0df5/matplotlib-3.7.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4ddf7fc0e0dc553891a117aa083039088d8a07686d4c93fb8a810adca68810af", size = 7439905 }, - { url = "https://files.pythonhosted.org/packages/84/c1/a7705b24f8f9b4d7ceea0002c13bae50cf9423f299f56d8c47a5cd2627d2/matplotlib-3.7.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ccb830fc29442360d91be48527809f23a5dcaee8da5f4d9b2d5b867c1b087b8", size = 7342895 }, - { url = "https://files.pythonhosted.org/packages/94/6e/55d7d8310c96a7459c883aa4be3f5a9338a108278484cbd5c95d480d1cef/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efc6bb28178e844d1f408dd4d6341ee8a2e906fc9e0fa3dae497da4e0cab775d", size = 11358830 }, - { url = "https://files.pythonhosted.org/packages/55/57/3b36afe104216db1cf2f3889c394b403ea87eda77c4815227c9524462ba8/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b15c4c2d374f249f324f46e883340d494c01768dd5287f8bc00b65b625ab56c", size = 11462575 }, - { url = "https://files.pythonhosted.org/packages/f3/0b/fabcf5f66b12fab5c4110d06a6c0fed875c7e63bc446403f58f9dadc9999/matplotlib-3.7.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d028555421912307845e59e3de328260b26d055c5dac9b182cc9783854e98fb", size = 11584280 }, - { url = "https://files.pythonhosted.org/packages/47/a9/1ad7df27a9da70b62109584632f83fe6ef45774701199c44d5777107c240/matplotlib-3.7.5-cp311-cp311-win32.whl", hash = "sha256:fe184b4625b4052fa88ef350b815559dd90cc6cc8e97b62f966e1ca84074aafa", size = 7340429 }, - { url = "https://files.pythonhosted.org/packages/e3/b1/1b6c34b89173d6c206dc5a4028e8518b4dfee3569c13bdc0c88d0486cae7/matplotlib-3.7.5-cp311-cp311-win_amd64.whl", hash = "sha256:084f1f0f2f1010868c6f1f50b4e1c6f2fb201c58475494f1e5b66fed66093647", size = 7507112 }, - { url = "https://files.pythonhosted.org/packages/75/dc/4e341a3ef36f3e7321aec0741317f12c7a23264be708a97972bf018c34af/matplotlib-3.7.5-cp312-cp312-macosx_10_12_universal2.whl", hash = "sha256:34bceb9d8ddb142055ff27cd7135f539f2f01be2ce0bafbace4117abe58f8fe4", size = 8323797 }, - { url = "https://files.pythonhosted.org/packages/af/83/bbb482d678362ceb68cc59ec4fc705dde636025969361dac77be868541ef/matplotlib-3.7.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:c5a2134162273eb8cdfd320ae907bf84d171de948e62180fa372a3ca7cf0f433", size = 7439549 }, - { url = "https://files.pythonhosted.org/packages/1a/ee/e49a92d9e369b2b9e4373894171cb4e641771cd7f81bde1d8b6fb8c60842/matplotlib-3.7.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:039ad54683a814002ff37bf7981aa1faa40b91f4ff84149beb53d1eb64617980", size = 7341788 }, - { url = "https://files.pythonhosted.org/packages/48/79/89cb2fc5ddcfc3d440a739df04dbe6e4e72b1153d1ebd32b45d42eb71d27/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d742ccd1b09e863b4ca58291728db645b51dab343eebb08d5d4b31b308296ce", size = 11356329 }, - { url = "https://files.pythonhosted.org/packages/ff/25/84f181cdae5c9eba6fd1c2c35642aec47233425fe3b0d6fccdb323fb36e0/matplotlib-3.7.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:743b1c488ca6a2bc7f56079d282e44d236bf375968bfd1b7ba701fd4d0fa32d6", size = 11577813 }, - { url = "https://files.pythonhosted.org/packages/9f/24/b2db065d40e58033b3350222fb8bbb0ffcb834029df9c1f9349dd9c7dd45/matplotlib-3.7.5-cp312-cp312-win_amd64.whl", hash = "sha256:fbf730fca3e1f23713bc1fae0a57db386e39dc81ea57dc305c67f628c1d7a342", size = 7507667 }, - { url = "https://files.pythonhosted.org/packages/e3/72/50a38c8fd5dc845b06f8e71c9da802db44b81baabf4af8be78bb8a5622ea/matplotlib-3.7.5-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:cfff9b838531698ee40e40ea1a8a9dc2c01edb400b27d38de6ba44c1f9a8e3d2", size = 8322659 }, - { url = "https://files.pythonhosted.org/packages/b1/ea/129163dcd21db6da5d559a8160c4a74c1dc5f96ac246a3d4248b43c7648d/matplotlib-3.7.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:1dbcca4508bca7847fe2d64a05b237a3dcaec1f959aedb756d5b1c67b770c5ee", size = 7438408 }, - { url = "https://files.pythonhosted.org/packages/aa/59/4d13e5b6298b1ca5525eea8c68d3806ae93ab6d0bb17ca9846aa3156b92b/matplotlib-3.7.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cdf4ef46c2a1609a50411b66940b31778db1e4b73d4ecc2eaa40bd588979b13", size = 7341782 }, - { url = "https://files.pythonhosted.org/packages/9e/c4/f562df04b08487731743511ff274ae5d31dce2ff3e5621f8b070d20ab54a/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:167200ccfefd1674b60e957186dfd9baf58b324562ad1a28e5d0a6b3bea77905", size = 9196487 }, - { url = "https://files.pythonhosted.org/packages/30/33/cc27211d2ffeee4fd7402dca137b6e8a83f6dcae3d4be8d0ad5068555561/matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:53e64522934df6e1818b25fd48cf3b645b11740d78e6ef765fbb5fa5ce080d02", size = 9213051 }, - { url = "https://files.pythonhosted.org/packages/9b/9d/8bd37c86b79312c9dbcfa379dec32303f9b38e8456e0829d7e666a0e0a05/matplotlib-3.7.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e3bc79b2d7d615067bd010caff9243ead1fc95cf735c16e4b2583173f717eb", size = 11370807 }, - { url = "https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl", hash = "sha256:6b641b48c6819726ed47c55835cdd330e53747d4efff574109fd79b2d8a13748", size = 7340461 }, - { url = "https://files.pythonhosted.org/packages/16/51/58b0b9de42fe1e665736d9286f88b5f1556a0e22bed8a71f468231761083/matplotlib-3.7.5-cp38-cp38-win_amd64.whl", hash = "sha256:f0b60993ed3488b4532ec6b697059897891927cbfc2b8d458a891b60ec03d9d7", size = 7507471 }, - { url = "https://files.pythonhosted.org/packages/0d/00/17487e9e8949ca623af87f6c8767408efe7530b7e1f4d6897fa7fa940834/matplotlib-3.7.5-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:090964d0afaff9c90e4d8de7836757e72ecfb252fb02884016d809239f715651", size = 8323175 }, - { url = "https://files.pythonhosted.org/packages/6a/84/be0acd521fa9d6697657cf35878153f8009a42b4b75237aebc302559a8a9/matplotlib-3.7.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9fc6fcfbc55cd719bc0bfa60bde248eb68cf43876d4c22864603bdd23962ba25", size = 7438737 }, - { url = "https://files.pythonhosted.org/packages/17/39/175f36a6d68d0cf47a4fecbae9728048355df23c9feca8688f1476b198e6/matplotlib-3.7.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7cc3078b019bb863752b8b60e8b269423000f1603cb2299608231996bd9d54", size = 7341916 }, - { url = "https://files.pythonhosted.org/packages/36/c0/9a1c2a79f85c15d41b60877cbc333694ed80605e5c97a33880c4ecfd5bf1/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e4e9a868e8163abaaa8259842d85f949a919e1ead17644fb77a60427c90473c", size = 11352264 }, - { url = "https://files.pythonhosted.org/packages/a6/39/b0204e0e7a899b0676733366a55ccafa723799b719bc7f2e85e5ecde26a0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa7ebc995a7d747dacf0a717d0eb3aa0f0c6a0e9ea88b0194d3a3cd241a1500f", size = 11454722 }, - { url = "https://files.pythonhosted.org/packages/d8/39/64dd1d36c79e72e614977db338d180cf204cf658927c05a8ef2d47feb4c0/matplotlib-3.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3785bfd83b05fc0e0c2ae4c4a90034fe693ef96c679634756c50fe6efcc09856", size = 11576343 }, - { url = "https://files.pythonhosted.org/packages/31/b4/e77bc11394d858bdf15e356980fceb4ac9604b0fa8212ef3ca4f1dc166b8/matplotlib-3.7.5-cp39-cp39-win32.whl", hash = "sha256:29b058738c104d0ca8806395f1c9089dfe4d4f0f78ea765c6c704469f3fffc81", size = 7340455 }, - { url = "https://files.pythonhosted.org/packages/4a/84/081820c596b9555ecffc6819ee71f847f2fbb0d7c70a42c1eeaa54edf3e0/matplotlib-3.7.5-cp39-cp39-win_amd64.whl", hash = "sha256:fd4028d570fa4b31b7b165d4a685942ae9cdc669f33741e388c01857d9723eab", size = 7507711 }, - { url = "https://files.pythonhosted.org/packages/27/6c/1bb10f3d6f337b9faa2e96a251bd87ba5fed85a608df95eb4d69acc109f0/matplotlib-3.7.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2a9a3f4d6a7f88a62a6a18c7e6a84aedcaf4faf0708b4ca46d87b19f1b526f88", size = 7397285 }, - { url = "https://files.pythonhosted.org/packages/b2/36/66cfea213e9ba91cda9e257542c249ed235d49021af71c2e8007107d7d4c/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9b3fd853d4a7f008a938df909b96db0b454225f935d3917520305b90680579c", size = 7552612 }, - { url = "https://files.pythonhosted.org/packages/77/df/16655199bf984c37c6a816b854bc032b56aef521aadc04f27928422f3c91/matplotlib-3.7.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ad550da9f160737d7890217c5eeed4337d07e83ca1b2ca6535078f354e7675", size = 7515564 }, - { url = "https://files.pythonhosted.org/packages/5b/c8/3534c3705a677b71abb6be33609ba129fdeae2ea4e76b2fd3ab62c86fab3/matplotlib-3.7.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:20da7924a08306a861b3f2d1da0d1aa9a6678e480cf8eacffe18b565af2813e7", size = 7521336 }, - { url = "https://files.pythonhosted.org/packages/20/a0/c5c0d410798b387ed3a177a5a7eba21055dd9c41d4b15bd0861241a5a60e/matplotlib-3.7.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b45c9798ea6bb920cb77eb7306409756a7fab9db9b463e462618e0559aecb30e", size = 7397931 }, - { url = "https://files.pythonhosted.org/packages/c3/2f/9e9509727d4c7d1b8e2c88e9330a97d54a1dd20bd316a0c8d2f8b38c4513/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a99866267da1e561c7776fe12bf4442174b79aac1a47bd7e627c7e4d077ebd83", size = 7553224 }, - { url = "https://files.pythonhosted.org/packages/89/0c/5f3e403dcf5c23799c92b0139dd00e41caf23983e9281f5bfeba3065e7d2/matplotlib-3.7.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6aa62adb6c268fc87d80f963aca39c64615c31830b02697743c95590ce3fbb", size = 7513250 }, - { url = "https://files.pythonhosted.org/packages/87/e0/03eba0a8c3775ef910dbb3a287114a64c47abbcaeab2543c59957f155a86/matplotlib-3.7.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e530ab6a0afd082d2e9c17eb1eb064a63c5b09bb607b2b74fa41adbe3e162286", size = 7521729 }, -] - -[[package]] -name = "matplotlib" -version = "3.9.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "cycler", marker = "python_full_version == '3.9.*'" }, - { name = "fonttools", version = "4.58.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "importlib-resources", version = "6.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "packaging", marker = "python_full_version == '3.9.*'" }, - { name = "pillow", version = "11.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "python-dateutil", marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089 }, - { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600 }, - { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138 }, - { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711 }, - { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622 }, - { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211 }, - { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430 }, - { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045 }, - { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906 }, - { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873 }, - { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566 }, - { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065 }, - { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131 }, - { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365 }, - { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707 }, - { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761 }, - { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284 }, - { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160 }, - { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499 }, - { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802 }, - { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802 }, - { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880 }, - { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637 }, - { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311 }, - { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989 }, - { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417 }, - { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258 }, - { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849 }, - { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152 }, - { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987 }, - { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919 }, - { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486 }, - { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838 }, - { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492 }, - { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500 }, - { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962 }, - { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995 }, - { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300 }, - { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423 }, - { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624 }, -] - -[[package]] -name = "matplotlib" -version = "3.10.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "cycler", marker = "python_full_version >= '3.10'" }, - { name = "fonttools", version = "4.58.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "kiwisolver", version = "1.4.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "packaging", marker = "python_full_version >= '3.10'" }, - { name = "pillow", version = "11.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pyparsing", version = "3.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0", size = 34799811 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/ea/2bba25d289d389c7451f331ecd593944b3705f06ddf593fa7be75037d308/matplotlib-3.10.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:213fadd6348d106ca7db99e113f1bea1e65e383c3ba76e8556ba4a3054b65ae7", size = 8167862 }, - { url = "https://files.pythonhosted.org/packages/41/81/cc70b5138c926604e8c9ed810ed4c79e8116ba72e02230852f5c12c87ba2/matplotlib-3.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3bec61cb8221f0ca6313889308326e7bb303d0d302c5cc9e523b2f2e6c73deb", size = 8042149 }, - { url = "https://files.pythonhosted.org/packages/4a/9a/0ff45b6bfa42bb16de597e6058edf2361c298ad5ef93b327728145161bbf/matplotlib-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c21ae75651c0231b3ba014b6d5e08fb969c40cdb5a011e33e99ed0c9ea86ecb", size = 8453719 }, - { url = "https://files.pythonhosted.org/packages/85/c7/1866e972fed6d71ef136efbc980d4d1854ab7ef1ea8152bbd995ca231c81/matplotlib-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e39755580b08e30e3620efc659330eac5d6534ab7eae50fa5e31f53ee4e30", size = 8590801 }, - { url = "https://files.pythonhosted.org/packages/5d/b9/748f6626d534ab7e255bdc39dc22634d337cf3ce200f261b5d65742044a1/matplotlib-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf4636203e1190871d3a73664dea03d26fb019b66692cbfd642faafdad6208e8", size = 9402111 }, - { url = "https://files.pythonhosted.org/packages/1f/78/8bf07bd8fb67ea5665a6af188e70b57fcb2ab67057daa06b85a08e59160a/matplotlib-3.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:fd5641a9bb9d55f4dd2afe897a53b537c834b9012684c8444cc105895c8c16fd", size = 8057213 }, - { url = "https://files.pythonhosted.org/packages/f5/bd/af9f655456f60fe1d575f54fb14704ee299b16e999704817a7645dfce6b0/matplotlib-3.10.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0ef061f74cd488586f552d0c336b2f078d43bc00dc473d2c3e7bfee2272f3fa8", size = 8178873 }, - { url = "https://files.pythonhosted.org/packages/c2/86/e1c86690610661cd716eda5f9d0b35eaf606ae6c9b6736687cfc8f2d0cd8/matplotlib-3.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96985d14dc5f4a736bbea4b9de9afaa735f8a0fc2ca75be2fa9e96b2097369d", size = 8052205 }, - { url = "https://files.pythonhosted.org/packages/54/51/a9f8e49af3883dacddb2da1af5fca1f7468677f1188936452dd9aaaeb9ed/matplotlib-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5f0283da91e9522bdba4d6583ed9d5521566f63729ffb68334f86d0bb98049", size = 8465823 }, - { url = "https://files.pythonhosted.org/packages/e7/e3/c82963a3b86d6e6d5874cbeaa390166458a7f1961bab9feb14d3d1a10f02/matplotlib-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdfa07c0ec58035242bc8b2c8aae37037c9a886370eef6850703d7583e19964b", size = 8606464 }, - { url = "https://files.pythonhosted.org/packages/0e/34/24da1027e7fcdd9e82da3194c470143c551852757a4b473a09a012f5b945/matplotlib-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c0b9849a17bce080a16ebcb80a7b714b5677d0ec32161a2cc0a8e5a6030ae220", size = 9413103 }, - { url = "https://files.pythonhosted.org/packages/a6/da/948a017c3ea13fd4a97afad5fdebe2f5bbc4d28c0654510ce6fd6b06b7bd/matplotlib-3.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:eef6ed6c03717083bc6d69c2d7ee8624205c29a8e6ea5a31cd3492ecdbaee1e1", size = 8065492 }, - { url = "https://files.pythonhosted.org/packages/eb/43/6b80eb47d1071f234ef0c96ca370c2ca621f91c12045f1401b5c9b28a639/matplotlib-3.10.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ab1affc11d1f495ab9e6362b8174a25afc19c081ba5b0775ef00533a4236eea", size = 8179689 }, - { url = "https://files.pythonhosted.org/packages/0f/70/d61a591958325c357204870b5e7b164f93f2a8cca1dc6ce940f563909a13/matplotlib-3.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a818d8bdcafa7ed2eed74487fdb071c09c1ae24152d403952adad11fa3c65b4", size = 8050466 }, - { url = "https://files.pythonhosted.org/packages/e7/75/70c9d2306203148cc7902a961240c5927dd8728afedf35e6a77e105a2985/matplotlib-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748ebc3470c253e770b17d8b0557f0aa85cf8c63fd52f1a61af5b27ec0b7ffee", size = 8456252 }, - { url = "https://files.pythonhosted.org/packages/c4/91/ba0ae1ff4b3f30972ad01cd4a8029e70a0ec3b8ea5be04764b128b66f763/matplotlib-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed70453fd99733293ace1aec568255bc51c6361cb0da94fa5ebf0649fdb2150a", size = 8601321 }, - { url = "https://files.pythonhosted.org/packages/d2/88/d636041eb54a84b889e11872d91f7cbf036b3b0e194a70fa064eb8b04f7a/matplotlib-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dbed9917b44070e55640bd13419de83b4c918e52d97561544814ba463811cbc7", size = 9406972 }, - { url = "https://files.pythonhosted.org/packages/b1/79/0d1c165eac44405a86478082e225fce87874f7198300bbebc55faaf6d28d/matplotlib-3.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:cf37d8c6ef1a48829443e8ba5227b44236d7fcaf7647caa3178a4ff9f7a5be05", size = 8067954 }, - { url = "https://files.pythonhosted.org/packages/3b/c1/23cfb566a74c696a3b338d8955c549900d18fe2b898b6e94d682ca21e7c2/matplotlib-3.10.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f2efccc8dcf2b86fc4ee849eea5dcaecedd0773b30f47980dc0cbeabf26ec84", size = 8180318 }, - { url = "https://files.pythonhosted.org/packages/6c/0c/02f1c3b66b30da9ee343c343acbb6251bef5b01d34fad732446eaadcd108/matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ddbba06a6c126e3301c3d272a99dcbe7f6c24c14024e80307ff03791a5f294e", size = 8051132 }, - { url = "https://files.pythonhosted.org/packages/b4/ab/8db1a5ac9b3a7352fb914133001dae889f9fcecb3146541be46bed41339c/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748302b33ae9326995b238f606e9ed840bf5886ebafcb233775d946aa8107a15", size = 8457633 }, - { url = "https://files.pythonhosted.org/packages/f5/64/41c4367bcaecbc03ef0d2a3ecee58a7065d0a36ae1aa817fe573a2da66d4/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80fcccbef63302c0efd78042ea3c2436104c5b1a4d3ae20f864593696364ac7", size = 8601031 }, - { url = "https://files.pythonhosted.org/packages/12/6f/6cc79e9e5ab89d13ed64da28898e40fe5b105a9ab9c98f83abd24e46d7d7/matplotlib-3.10.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55e46cbfe1f8586adb34f7587c3e4f7dedc59d5226719faf6cb54fc24f2fd52d", size = 9406988 }, - { url = "https://files.pythonhosted.org/packages/b1/0f/eed564407bd4d935ffabf561ed31099ed609e19287409a27b6d336848653/matplotlib-3.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:151d89cb8d33cb23345cd12490c76fd5d18a56581a16d950b48c6ff19bb2ab93", size = 8068034 }, - { url = "https://files.pythonhosted.org/packages/3e/e5/2f14791ff69b12b09e9975e1d116d9578ac684460860ce542c2588cb7a1c/matplotlib-3.10.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c26dd9834e74d164d06433dc7be5d75a1e9890b926b3e57e74fa446e1a62c3e2", size = 8218223 }, - { url = "https://files.pythonhosted.org/packages/5c/08/30a94afd828b6e02d0a52cae4a29d6e9ccfcf4c8b56cc28b021d3588873e/matplotlib-3.10.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:24853dad5b8c84c8c2390fc31ce4858b6df504156893292ce8092d190ef8151d", size = 8094985 }, - { url = "https://files.pythonhosted.org/packages/89/44/f3bc6b53066c889d7a1a3ea8094c13af6a667c5ca6220ec60ecceec2dabe/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68f7878214d369d7d4215e2a9075fef743be38fa401d32e6020bab2dfabaa566", size = 8483109 }, - { url = "https://files.pythonhosted.org/packages/ba/c7/473bc559beec08ebee9f86ca77a844b65747e1a6c2691e8c92e40b9f42a8/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6929fc618cb6db9cb75086f73b3219bbb25920cb24cee2ea7a12b04971a4158", size = 8618082 }, - { url = "https://files.pythonhosted.org/packages/d8/e9/6ce8edd264c8819e37bbed8172e0ccdc7107fe86999b76ab5752276357a4/matplotlib-3.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c7818292a5cc372a2dc4c795e5c356942eb8350b98ef913f7fda51fe175ac5d", size = 9413699 }, - { url = "https://files.pythonhosted.org/packages/1b/92/9a45c91089c3cf690b5badd4be81e392ff086ccca8a1d4e3a08463d8a966/matplotlib-3.10.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4f23ffe95c5667ef8a2b56eea9b53db7f43910fa4a2d5472ae0f72b64deab4d5", size = 8139044 }, - { url = "https://files.pythonhosted.org/packages/3d/d1/f54d43e95384b312ffa4a74a4326c722f3b8187aaaa12e9a84cdf3037131/matplotlib-3.10.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:86ab63d66bbc83fdb6733471d3bff40897c1e9921cba112accd748eee4bce5e4", size = 8162896 }, - { url = "https://files.pythonhosted.org/packages/24/a4/fbfc00c2346177c95b353dcf9b5a004106abe8730a62cb6f27e79df0a698/matplotlib-3.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a48f9c08bf7444b5d2391a83e75edb464ccda3c380384b36532a0962593a1751", size = 8039702 }, - { url = "https://files.pythonhosted.org/packages/6a/b9/59e120d24a2ec5fc2d30646adb2efb4621aab3c6d83d66fb2a7a182db032/matplotlib-3.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb73d8aa75a237457988f9765e4dfe1c0d2453c5ca4eabc897d4309672c8e014", size = 8594298 }, -] - -[[package]] -name = "matplotlib-inline" -version = "0.1.7" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "traitlets" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899 }, -] - -[[package]] -name = "mistune" -version = "3.1.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c4/79/bda47f7dd7c3c55770478d6d02c9960c430b0cf1773b72366ff89126ea31/mistune-3.1.3.tar.gz", hash = "sha256:a7035c21782b2becb6be62f8f25d3df81ccb4d6fa477a6525b15af06539f02a0", size = 94347 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/01/4d/23c4e4f09da849e127e9f123241946c23c1e30f45a88366879e064211815/mistune-3.1.3-py3-none-any.whl", hash = "sha256:1a32314113cff28aa6432e99e522677c8587fd83e3d51c29b82a52409c842bd9", size = 53410 }, -] - -[[package]] -name = "mpmath" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 }, -] - -[[package]] -name = "nbclient" -version = "0.10.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "jupyter-client", marker = "python_full_version < '3.9'" }, - { name = "jupyter-core", marker = "python_full_version < '3.9'" }, - { name = "nbformat", marker = "python_full_version < '3.9'" }, - { name = "traitlets", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/06/db/25929926860ba8a3f6123d2d0a235e558e0e4be7b46e9db063a7dfefa0a2/nbclient-0.10.1.tar.gz", hash = "sha256:3e93e348ab27e712acd46fccd809139e356eb9a31aab641d1a7991a6eb4e6f68", size = 62273 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/1a/ed6d1299b1a00c1af4a033fdee565f533926d819e084caf0d2832f6f87c6/nbclient-0.10.1-py3-none-any.whl", hash = "sha256:949019b9240d66897e442888cfb618f69ef23dc71c01cb5fced8499c2cfc084d", size = 25344 }, -] - -[[package]] -name = "nbclient" -version = "0.10.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "jupyter-client", marker = "python_full_version >= '3.9'" }, - { name = "jupyter-core", marker = "python_full_version >= '3.9'" }, - { name = "nbformat", marker = "python_full_version >= '3.9'" }, - { name = "traitlets", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434 }, -] - -[[package]] -name = "nbconvert" -version = "7.16.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "beautifulsoup4" }, - { name = "bleach", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version < '3.9'" }, - { name = "bleach", version = "6.2.0", source = { registry = "https://pypi.org/simple" }, extra = ["css"], marker = "python_full_version >= '3.9'" }, - { name = "defusedxml" }, - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "jinja2" }, - { name = "jupyter-core" }, - { name = "jupyterlab-pygments" }, - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "mistune" }, - { name = "nbclient", version = "0.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "nbclient", version = "0.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "nbformat" }, - { name = "packaging" }, - { name = "pandocfilters" }, - { name = "pygments" }, - { name = "traitlets" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525 }, -] - -[[package]] -name = "nbformat" -version = "5.10.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "fastjsonschema" }, - { name = "jsonschema" }, - { name = "jupyter-core" }, - { name = "traitlets" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454 }, -] - -[[package]] -name = "nest-asyncio" -version = "1.6.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195 }, -] - -[[package]] -name = "notebook" -version = "7.3.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyterlab", version = "4.3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyterlab-server", marker = "python_full_version < '3.9'" }, - { name = "notebook-shim", marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/71/0f/7781fed05f79d1047c039dfd17fbd6e6670bcf5ad330baa997bcc62525b5/notebook-7.3.3.tar.gz", hash = "sha256:707a313fb882d35f921989eb3d204de942ed5132a44e4aa1fe0e8f24bb9dc25d", size = 12758099 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/bf/5e5fcf79c559600b738d7577c8360bfd4cfa705400af06f23b3a049e44b6/notebook-7.3.3-py3-none-any.whl", hash = "sha256:b193df0878956562d5171c8e25c9252b8e86c9fcc16163b8ee3fe6c5e3f422f7", size = 13142886 }, -] - -[[package]] -name = "notebook" -version = "7.4.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyterlab", version = "4.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "jupyterlab-server", marker = "python_full_version >= '3.9'" }, - { name = "notebook-shim", marker = "python_full_version >= '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ba/55/0a1b8fdf48b6de67b52b23b9670c20b81e649420d6b973c70be14cff99cd/notebook-7.4.2.tar.gz", hash = "sha256:e739defd28c3f615a6bfb0a2564bd75018a9cc6613aa00bbd9c15e68eed2de1b", size = 13881273 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/16/d3c36a0b1f6dfcf218add8eaf803bf0473ff50681ac4d51acb7ba02bce34/notebook-7.4.2-py3-none-any.whl", hash = "sha256:9ccef602721aaa5530852e3064710b8ae5415c4e2ce26f8896d0433222755259", size = 14285747 }, -] - -[[package]] -name = "notebook-shim" -version = "0.2.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "jupyter-server", version = "2.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "jupyter-server", version = "2.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307 }, -] - -[[package]] -name = "numba" -version = "0.58.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "llvmlite", version = "0.41.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/13/2b/0f750d451fd961fd91d6bc86c512781fa46f9ef64813007e501482522ff9/numba-0.58.1.tar.gz", hash = "sha256:487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa", size = 2623830 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/e6/7e2c73fcdf3c98dcc0d3035ecafab214ed9f1978ca18a149bad6416bd308/numba-0.58.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:07f2fa7e7144aa6f275f27260e73ce0d808d3c62b30cff8906ad1dec12d87bbe", size = 2588424 }, - { url = "https://files.pythonhosted.org/packages/39/44/e5540c376f6b99d906f46bdf98ce4d91511a0ee89ce60a62e2498dacd6fe/numba-0.58.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7bf1ddd4f7b9c2306de0384bf3854cac3edd7b4d8dffae2ec1b925e4c436233f", size = 2591283 }, - { url = "https://files.pythonhosted.org/packages/93/fa/40cf7aff6f5836412d8f5f751a92be3efd249ed322a01a5c9c1fe4c4a7a9/numba-0.58.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bc2d904d0319d7a5857bd65062340bed627f5bfe9ae4a495aef342f072880d50", size = 3349802 }, - { url = "https://files.pythonhosted.org/packages/ed/13/b66627125b35f2987bd9872cf028b5e1e1ffcbc8d1e182ac4e84eed3998f/numba-0.58.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4e79b6cc0d2bf064a955934a2e02bf676bc7995ab2db929dbbc62e4c16551be6", size = 3641467 }, - { url = "https://files.pythonhosted.org/packages/3b/77/fdf609595d4f8f7f7e6e0fcaf11f7223d636cae4cb5c0805f46778c08a57/numba-0.58.1-cp310-cp310-win_amd64.whl", hash = "sha256:81fe5b51532478149b5081311b0fd4206959174e660c372b94ed5364cfb37c82", size = 2606344 }, - { url = "https://files.pythonhosted.org/packages/9a/ce/a1e69316135646e83bc77b9eb662e3dc9414a6fea9eef2db4fd4c9fcf5e3/numba-0.58.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bcecd3fb9df36554b342140a4d77d938a549be635d64caf8bd9ef6c47a47f8aa", size = 2588116 }, - { url = "https://files.pythonhosted.org/packages/88/60/aa67255e6e166ef6541d007f22470fc459b8c7b66fb6790fd735d0bcd951/numba-0.58.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1eaa744f518bbd60e1f7ccddfb8002b3d06bd865b94a5d7eac25028efe0e0ff", size = 2590990 }, - { url = "https://files.pythonhosted.org/packages/ca/f8/18f24441783f345a805a08bdcfa7cfb9c987a6154da412c734ed04489f07/numba-0.58.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bf68df9c307fb0aa81cacd33faccd6e419496fdc621e83f1efce35cdc5e79cac", size = 3355149 }, - { url = "https://files.pythonhosted.org/packages/65/85/72649823bcbfd01820e1c60fa54eb77adb2dba8be921fe6fabdbeb011a88/numba-0.58.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:55a01e1881120e86d54efdff1be08381886fe9f04fc3006af309c602a72bc44d", size = 3647131 }, - { url = "https://files.pythonhosted.org/packages/cd/59/5dd8a3059997ec1daf6f9f7c9b1aef7f0a9e23e1334a5774eae65cae6fd0/numba-0.58.1-cp311-cp311-win_amd64.whl", hash = "sha256:811305d5dc40ae43c3ace5b192c670c358a89a4d2ae4f86d1665003798ea7a1a", size = 2606316 }, - { url = "https://files.pythonhosted.org/packages/76/ff/9e6726d73effefc14557c869c980898f123749c16fae4c527285169f1d9c/numba-0.58.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ea5bfcf7d641d351c6a80e8e1826eb4a145d619870016eeaf20bbd71ef5caa22", size = 2584254 }, - { url = "https://files.pythonhosted.org/packages/fa/01/b8b3d3c4623f3f267d7f52f30f2f994cc00793e67a6242d0b7323099060e/numba-0.58.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e63d6aacaae1ba4ef3695f1c2122b30fa3d8ba039c8f517784668075856d79e2", size = 2589312 }, - { url = "https://files.pythonhosted.org/packages/c6/97/dad816d9313041aa967e13f3b21fdff040433c7efe9eff3112bcf3b40bc1/numba-0.58.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6fe7a9d8e3bd996fbe5eac0683227ccef26cba98dae6e5cee2c1894d4b9f16c1", size = 3359774 }, - { url = "https://files.pythonhosted.org/packages/6e/03/c658004b4b4d52dca7a74582e9fc3e20f94c17cb4b797eb3601876759540/numba-0.58.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:898af055b03f09d33a587e9425500e5be84fc90cd2f80b3fb71c6a4a17a7e354", size = 3651491 }, - { url = "https://files.pythonhosted.org/packages/ce/76/9266f7bd78f134f6ae09886d87675a8ac34e8dd0a30f6007794da41d8a80/numba-0.58.1-cp38-cp38-win_amd64.whl", hash = "sha256:d3e2fe81fe9a59fcd99cc572002101119059d64d31eb6324995ee8b0f144a306", size = 2626200 }, - { url = "https://files.pythonhosted.org/packages/b5/de/e2ef933a99c502d2ec5dda1a43a74ab98b1b606c0ff17422d42c62a6f00f/numba-0.58.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c765aef472a9406a97ea9782116335ad4f9ef5c9f93fc05fd44aab0db486954", size = 2587997 }, - { url = "https://files.pythonhosted.org/packages/eb/61/db566ad7cd3f7e9191ec744f25cf6455e8d91732ad70be8fcdd203a48dab/numba-0.58.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9356e943617f5e35a74bf56ff6e7cc83e6b1865d5e13cee535d79bf2cae954", size = 2590940 }, - { url = "https://files.pythonhosted.org/packages/3d/db/75bd7bb82e0f05ad066a0f4b1f8913de771dcdec37b063caa4c9282e6b1b/numba-0.58.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:240e7a1ae80eb6b14061dc91263b99dc8d6af9ea45d310751b780888097c1aaa", size = 3345620 }, - { url = "https://files.pythonhosted.org/packages/8b/4b/58bdecd06266c5395157727d7191d83c82d190665bdf3d65fdd67a6dbaa5/numba-0.58.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:45698b995914003f890ad839cfc909eeb9c74921849c712a05405d1a79c50f68", size = 3636967 }, - { url = "https://files.pythonhosted.org/packages/f8/14/546925a397d7638858a890a01d82cc6de147fca294eccf93ee11b524ca3c/numba-0.58.1-cp39-cp39-win_amd64.whl", hash = "sha256:bd3dda77955be03ff366eebbfdb39919ce7c2620d86c906203bed92124989032", size = 2626240 }, -] - -[[package]] -name = "numba" -version = "0.60.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "llvmlite", version = "0.43.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/3c/93/2849300a9184775ba274aba6f82f303343669b0592b7bb0849ea713dabb0/numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16", size = 2702171 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/cf/baa13a7e3556d73d9e38021e6d6aa4aeb30d8b94545aa8b70d0f24a1ccc4/numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651", size = 2647627 }, - { url = "https://files.pythonhosted.org/packages/ac/ba/4b57fa498564457c3cc9fc9e570a6b08e6086c74220f24baaf04e54b995f/numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b", size = 2650322 }, - { url = "https://files.pythonhosted.org/packages/28/98/7ea97ee75870a54f938a8c70f7e0be4495ba5349c5f9db09d467c4a5d5b7/numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781", size = 3407390 }, - { url = "https://files.pythonhosted.org/packages/79/58/cb4ac5b8f7ec64200460aef1fed88258fb872ceef504ab1f989d2ff0f684/numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e", size = 3699694 }, - { url = "https://files.pythonhosted.org/packages/1c/b0/c61a93ca947d12233ff45de506ddbf52af3f752066a0b8be4d27426e16da/numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198", size = 2687030 }, - { url = "https://files.pythonhosted.org/packages/98/ad/df18d492a8f00d29a30db307904b9b296e37507034eedb523876f3a2e13e/numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8", size = 2647254 }, - { url = "https://files.pythonhosted.org/packages/9a/51/a4dc2c01ce7a850b8e56ff6d5381d047a5daea83d12bad08aa071d34b2ee/numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b", size = 2649970 }, - { url = "https://files.pythonhosted.org/packages/f9/4c/8889ac94c0b33dca80bed11564b8c6d9ea14d7f094e674c58e5c5b05859b/numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703", size = 3412492 }, - { url = "https://files.pythonhosted.org/packages/57/03/2b4245b05b71c0cee667e6a0b51606dfa7f4157c9093d71c6b208385a611/numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8", size = 3705018 }, - { url = "https://files.pythonhosted.org/packages/79/89/2d924ca60dbf949f18a6fec223a2445f5f428d9a5f97a6b29c2122319015/numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2", size = 2686920 }, - { url = "https://files.pythonhosted.org/packages/eb/5c/b5ec752c475e78a6c3676b67c514220dbde2725896bbb0b6ec6ea54b2738/numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404", size = 2647866 }, - { url = "https://files.pythonhosted.org/packages/65/42/39559664b2e7c15689a638c2a38b3b74c6e69a04e2b3019b9f7742479188/numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c", size = 2650208 }, - { url = "https://files.pythonhosted.org/packages/67/88/c4459ccc05674ef02119abf2888ccd3e2fed12a323f52255f4982fc95876/numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e", size = 3466946 }, - { url = "https://files.pythonhosted.org/packages/8b/41/ac11cf33524def12aa5bd698226ae196a1185831c05ed29dc0c56eaa308b/numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d", size = 3761463 }, - { url = "https://files.pythonhosted.org/packages/ca/bd/0fe29fcd1b6a8de479a4ed25c6e56470e467e3611c079d55869ceef2b6d1/numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347", size = 2707588 }, - { url = "https://files.pythonhosted.org/packages/68/1a/87c53f836cdf557083248c3f47212271f220280ff766538795e77c8c6bbf/numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74", size = 2647186 }, - { url = "https://files.pythonhosted.org/packages/28/14/a5baa1f2edea7b49afa4dc1bb1b126645198cf1075186853b5b497be826e/numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449", size = 2650038 }, - { url = "https://files.pythonhosted.org/packages/3b/bd/f1985719ff34e37e07bb18f9d3acd17e5a21da255f550c8eae031e2ddf5f/numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b", size = 3403010 }, - { url = "https://files.pythonhosted.org/packages/54/9b/cd73d3f6617ddc8398a63ef97d8dc9139a9879b9ca8a7ca4b8789056ea46/numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25", size = 3695086 }, - { url = "https://files.pythonhosted.org/packages/01/01/8b7b670c77c5ea0e47e283d82332969bf672ab6410d0b2610cac5b7a3ded/numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab", size = 2686978 }, -] - -[[package]] -name = "numba" -version = "0.61.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "llvmlite", version = "0.44.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/1c/a0/e21f57604304aa03ebb8e098429222722ad99176a4f979d34af1d1ee80da/numba-0.61.2.tar.gz", hash = "sha256:8750ee147940a6637b80ecf7f95062185ad8726c8c28a2295b8ec1160a196f7d", size = 2820615 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/ca/f470be59552ccbf9531d2d383b67ae0b9b524d435fb4a0d229fef135116e/numba-0.61.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:cf9f9fc00d6eca0c23fc840817ce9f439b9f03c8f03d6246c0e7f0cb15b7162a", size = 2775663 }, - { url = "https://files.pythonhosted.org/packages/f5/13/3bdf52609c80d460a3b4acfb9fdb3817e392875c0d6270cf3fd9546f138b/numba-0.61.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ea0247617edcb5dd61f6106a56255baab031acc4257bddaeddb3a1003b4ca3fd", size = 2778344 }, - { url = "https://files.pythonhosted.org/packages/e2/7d/bfb2805bcfbd479f04f835241ecf28519f6e3609912e3a985aed45e21370/numba-0.61.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ae8c7a522c26215d5f62ebec436e3d341f7f590079245a2f1008dfd498cc1642", size = 3824054 }, - { url = "https://files.pythonhosted.org/packages/e3/27/797b2004745c92955470c73c82f0e300cf033c791f45bdecb4b33b12bdea/numba-0.61.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bd1e74609855aa43661edffca37346e4e8462f6903889917e9f41db40907daa2", size = 3518531 }, - { url = "https://files.pythonhosted.org/packages/b1/c6/c2fb11e50482cb310afae87a997707f6c7d8a48967b9696271347441f650/numba-0.61.2-cp310-cp310-win_amd64.whl", hash = "sha256:ae45830b129c6137294093b269ef0a22998ccc27bf7cf096ab8dcf7bca8946f9", size = 2831612 }, - { url = "https://files.pythonhosted.org/packages/3f/97/c99d1056aed767503c228f7099dc11c402906b42a4757fec2819329abb98/numba-0.61.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:efd3db391df53aaa5cfbee189b6c910a5b471488749fd6606c3f33fc984c2ae2", size = 2775825 }, - { url = "https://files.pythonhosted.org/packages/95/9e/63c549f37136e892f006260c3e2613d09d5120672378191f2dc387ba65a2/numba-0.61.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:49c980e4171948ffebf6b9a2520ea81feed113c1f4890747ba7f59e74be84b1b", size = 2778695 }, - { url = "https://files.pythonhosted.org/packages/97/c8/8740616c8436c86c1b9a62e72cb891177d2c34c2d24ddcde4c390371bf4c/numba-0.61.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3945615cd73c2c7eba2a85ccc9c1730c21cd3958bfcf5a44302abae0fb07bb60", size = 3829227 }, - { url = "https://files.pythonhosted.org/packages/fc/06/66e99ae06507c31d15ff3ecd1f108f2f59e18b6e08662cd5f8a5853fbd18/numba-0.61.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbfdf4eca202cebade0b7d43896978e146f39398909a42941c9303f82f403a18", size = 3523422 }, - { url = "https://files.pythonhosted.org/packages/0f/a4/2b309a6a9f6d4d8cfba583401c7c2f9ff887adb5d54d8e2e130274c0973f/numba-0.61.2-cp311-cp311-win_amd64.whl", hash = "sha256:76bcec9f46259cedf888041b9886e257ae101c6268261b19fda8cfbc52bec9d1", size = 2831505 }, - { url = "https://files.pythonhosted.org/packages/b4/a0/c6b7b9c615cfa3b98c4c63f4316e3f6b3bbe2387740277006551784218cd/numba-0.61.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:34fba9406078bac7ab052efbf0d13939426c753ad72946baaa5bf9ae0ebb8dd2", size = 2776626 }, - { url = "https://files.pythonhosted.org/packages/92/4a/fe4e3c2ecad72d88f5f8cd04e7f7cff49e718398a2fac02d2947480a00ca/numba-0.61.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4ddce10009bc097b080fc96876d14c051cc0c7679e99de3e0af59014dab7dfe8", size = 2779287 }, - { url = "https://files.pythonhosted.org/packages/9a/2d/e518df036feab381c23a624dac47f8445ac55686ec7f11083655eb707da3/numba-0.61.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b1bb509d01f23d70325d3a5a0e237cbc9544dd50e50588bc581ba860c213546", size = 3885928 }, - { url = "https://files.pythonhosted.org/packages/10/0f/23cced68ead67b75d77cfcca3df4991d1855c897ee0ff3fe25a56ed82108/numba-0.61.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48a53a3de8f8793526cbe330f2a39fe9a6638efcbf11bd63f3d2f9757ae345cd", size = 3577115 }, - { url = "https://files.pythonhosted.org/packages/68/1d/ddb3e704c5a8fb90142bf9dc195c27db02a08a99f037395503bfbc1d14b3/numba-0.61.2-cp312-cp312-win_amd64.whl", hash = "sha256:97cf4f12c728cf77c9c1d7c23707e4d8fb4632b46275f8f3397de33e5877af18", size = 2831929 }, - { url = "https://files.pythonhosted.org/packages/0b/f3/0fe4c1b1f2569e8a18ad90c159298d862f96c3964392a20d74fc628aee44/numba-0.61.2-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:3a10a8fc9afac40b1eac55717cece1b8b1ac0b946f5065c89e00bde646b5b154", size = 2771785 }, - { url = "https://files.pythonhosted.org/packages/e9/71/91b277d712e46bd5059f8a5866862ed1116091a7cb03bd2704ba8ebe015f/numba-0.61.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7d3bcada3c9afba3bed413fba45845f2fb9cd0d2b27dd58a1be90257e293d140", size = 2773289 }, - { url = "https://files.pythonhosted.org/packages/0d/e0/5ea04e7ad2c39288c0f0f9e8d47638ad70f28e275d092733b5817cf243c9/numba-0.61.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bdbca73ad81fa196bd53dc12e3aaf1564ae036e0c125f237c7644fe64a4928ab", size = 3893918 }, - { url = "https://files.pythonhosted.org/packages/17/58/064f4dcb7d7e9412f16ecf80ed753f92297e39f399c905389688cf950b81/numba-0.61.2-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:5f154aaea625fb32cfbe3b80c5456d514d416fcdf79733dd69c0df3a11348e9e", size = 3584056 }, - { url = "https://files.pythonhosted.org/packages/af/a4/6d3a0f2d3989e62a18749e1e9913d5fa4910bbb3e3311a035baea6caf26d/numba-0.61.2-cp313-cp313-win_amd64.whl", hash = "sha256:59321215e2e0ac5fa928a8020ab00b8e57cda8a97384963ac0dfa4d4e6aa54e7", size = 2831846 }, -] - -[[package]] -name = "numdifftools" -version = "0.9.41" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a7/3c/32bcbc96f465d5b34986d75d4eb3531f3f3e5b36099970bfbce8e9bc1712/numdifftools-0.9.41.tar.gz", hash = "sha256:4ef705cd3c06211b3a4e9fd05ad622be916dcfda40732f0128805a2c4be389b4", size = 6735932 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/5c/37cd5db8c465db2664b2219410b8bc7743da6edb1b616b5d13008bd7cac2/numdifftools-0.9.41-py2.py3-none-any.whl", hash = "sha256:a8b162e06889ea73643a47b84935a63d8214d4b4b0805d36a3c28c56379b3e51", size = 100223 }, -] - -[[package]] -name = "numpy" -version = "1.24.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140 }, - { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297 }, - { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611 }, - { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357 }, - { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222 }, - { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514 }, - { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508 }, - { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033 }, - { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951 }, - { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923 }, - { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446 }, - { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466 }, - { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722 }, - { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102 }, - { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616 }, - { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263 }, - { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660 }, - { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112 }, - { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549 }, - { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950 }, - { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228 }, - { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170 }, - { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918 }, - { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441 }, - { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590 }, - { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744 }, - { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290 }, -] - -[[package]] -name = "numpy" -version = "2.0.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245 }, - { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540 }, - { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623 }, - { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774 }, - { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081 }, - { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451 }, - { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572 }, - { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722 }, - { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170 }, - { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558 }, - { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137 }, - { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552 }, - { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957 }, - { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573 }, - { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330 }, - { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895 }, - { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253 }, - { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074 }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640 }, - { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230 }, - { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803 }, - { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835 }, - { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499 }, - { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497 }, - { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158 }, - { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173 }, - { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174 }, - { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701 }, - { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313 }, - { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 }, - { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942 }, - { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512 }, - { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976 }, - { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494 }, - { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596 }, - { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099 }, - { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823 }, - { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424 }, - { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809 }, - { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314 }, - { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288 }, - { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793 }, - { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885 }, - { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784 }, -] - -[[package]] -name = "numpy" -version = "2.2.6" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440 } -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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149 }, - { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866 }, - { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506 }, - { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190 }, - { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828 }, - { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006 }, - { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765 }, - { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736 }, - { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719 }, - { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072 }, - { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213 }, - { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632 }, - { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532 }, - { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885 }, - { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467 }, - { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144 }, - { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217 }, - { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014 }, - { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935 }, - { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122 }, - { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143 }, - { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260 }, - { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225 }, - { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666 }, -] - -[[package]] -name = "open-atmos-jupyter-utils" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "imageio", version = "2.35.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "imageio", version = "2.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "ipython", version = "8.12.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "ipython", version = "8.36.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "ipython", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "ipywidgets" }, - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "nbformat" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/98/4a/14ac4f72f553eee8387b914f4eb1294cedd21c29d48aba94cd1cbbbcac28/open-atmos-jupyter-utils-1.3.0.tar.gz", hash = "sha256:3d1d4150e9476476021a9798085f2eede023848a7db0aec6e403c57467436fc3", size = 243604 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/c9/561c52c985fbc2f786b75291cd7331d229ef6a56dc24d96cbf79ed0b4e9a/open_atmos_jupyter_utils-1.3.0-py3-none-any.whl", hash = "sha256:e3a0ff9aaadb4e540f31aebf633a24e641cfe39587f5270f053fac24c40a8b37", size = 19555 }, -] - -[[package]] -name = "overrides" -version = "7.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469 }, -] - -[[package]] -name = "pandas" -version = "2.0.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "python-dateutil", marker = "python_full_version < '3.9'" }, - { name = "pytz", marker = "python_full_version < '3.9'" }, - { name = "tzdata", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/a7/824332581e258b5aa4f3763ecb2a797e5f9a54269044ba2e50ac19936b32/pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", size = 5284455 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/b2/0d4a5729ce1ce11630c4fc5d5522a33b967b3ca146c210f58efde7c40e99/pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", size = 11760908 }, - { url = "https://files.pythonhosted.org/packages/4a/f6/f620ca62365d83e663a255a41b08d2fc2eaf304e0b8b21bb6d62a7390fe3/pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", size = 10823486 }, - { url = "https://files.pythonhosted.org/packages/c2/59/cb4234bc9b968c57e81861b306b10cd8170272c57b098b724d3de5eda124/pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", size = 11571897 }, - { url = "https://files.pythonhosted.org/packages/e3/59/35a2892bf09ded9c1bf3804461efe772836a5261ef5dfb4e264ce813ff99/pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", size = 12306421 }, - { url = "https://files.pythonhosted.org/packages/94/71/3a0c25433c54bb29b48e3155b959ac78f4c4f2f06f94d8318aac612cb80f/pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", size = 9540792 }, - { url = "https://files.pythonhosted.org/packages/ed/30/b97456e7063edac0e5a405128065f0cd2033adfe3716fb2256c186bd41d0/pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", size = 10664333 }, - { url = "https://files.pythonhosted.org/packages/b3/92/a5e5133421b49e901a12e02a6a7ef3a0130e10d13db8cb657fdd0cba3b90/pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", size = 11645672 }, - { url = "https://files.pythonhosted.org/packages/8f/bb/aea1fbeed5b474cb8634364718abe9030d7cc7a30bf51f40bd494bbc89a2/pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", size = 10693229 }, - { url = "https://files.pythonhosted.org/packages/d6/90/e7d387f1a416b14e59290baa7a454a90d719baebbf77433ff1bdcc727800/pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", size = 11581591 }, - { url = "https://files.pythonhosted.org/packages/d0/28/88b81881c056376254618fad622a5e94b5126db8c61157ea1910cd1c040a/pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", size = 12219370 }, - { url = "https://files.pythonhosted.org/packages/e4/a5/212b9039e25bf8ebb97e417a96660e3dc925dacd3f8653d531b8f7fd9be4/pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", size = 9482935 }, - { url = "https://files.pythonhosted.org/packages/9e/71/756a1be6bee0209d8c0d8c5e3b9fc72c00373f384a4017095ec404aec3ad/pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", size = 10607692 }, - { url = "https://files.pythonhosted.org/packages/78/a8/07dd10f90ca915ed914853cd57f79bfc22e1ef4384ab56cb4336d2fc1f2a/pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", size = 11653303 }, - { url = "https://files.pythonhosted.org/packages/53/c3/f8e87361f7fdf42012def602bfa2a593423c729f5cb7c97aed7f51be66ac/pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", size = 10710932 }, - { url = "https://files.pythonhosted.org/packages/a7/87/828d50c81ce0f434163bf70b925a0eec6076808e0bca312a79322b141f66/pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", size = 11684018 }, - { url = "https://files.pythonhosted.org/packages/f8/7f/5b047effafbdd34e52c9e2d7e44f729a0655efafb22198c45cf692cdc157/pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", size = 12353723 }, - { url = "https://files.pythonhosted.org/packages/ea/ae/26a2eda7fa581347d69e51f93892493b2074ef3352ac71033c9f32c52389/pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02", size = 9646403 }, - { url = "https://files.pythonhosted.org/packages/c3/6c/ea362eef61f05553aaf1a24b3e96b2d0603f5dc71a3bd35688a24ed88843/pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", size = 10777638 }, - { url = "https://files.pythonhosted.org/packages/f8/c7/cfef920b7b457dff6928e824896cb82367650ea127d048ee0b820026db4f/pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", size = 11834160 }, - { url = "https://files.pythonhosted.org/packages/6c/1c/689c9d99bc4e5d366a5fd871f0bcdee98a6581e240f96b78d2d08f103774/pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", size = 10862752 }, - { url = "https://files.pythonhosted.org/packages/cc/b8/4d082f41c27c95bf90485d1447b647cc7e5680fea75e315669dc6e4cb398/pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", size = 11715852 }, - { url = "https://files.pythonhosted.org/packages/9e/0d/91a9fd2c202f2b1d97a38ab591890f86480ecbb596cbc56d035f6f23fdcc/pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", size = 12398496 }, - { url = "https://files.pythonhosted.org/packages/26/7d/d8aa0a2c4f3f5f8ea59fb946c8eafe8f508090ca73e2b08a9af853c1103e/pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", size = 9630766 }, - { url = "https://files.pythonhosted.org/packages/9a/f2/0ad053856debbe90c83de1b4f05915f85fd2146f20faf9daa3b320d36df3/pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", size = 10755902 }, -] - -[[package]] -name = "pandas" -version = "2.2.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "python-dateutil", marker = "python_full_version >= '3.9'" }, - { name = "pytz", marker = "python_full_version >= '3.9'" }, - { name = "tzdata", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827 }, - { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897 }, - { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908 }, - { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210 }, - { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292 }, - { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379 }, - { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471 }, - { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222 }, - { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274 }, - { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836 }, - { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505 }, - { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420 }, - { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457 }, - { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166 }, - { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 }, - { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 }, - { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 }, - { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 }, - { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 }, - { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 }, - { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 }, - { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 }, - { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 }, - { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 }, - { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 }, - { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 }, - { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 }, - { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 }, - { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 }, - { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 }, - { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 }, - { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 }, - { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 }, - { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 }, - { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535 }, - { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822 }, - { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439 }, - { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928 }, - { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266 }, - { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871 }, - { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011 }, -] - -[[package]] -name = "pandocfilters" -version = "1.5.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663 }, -] - -[[package]] -name = "parso" -version = "0.8.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650 }, -] - -[[package]] -name = "pexpect" -version = "4.9.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "ptyprocess" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 }, -] - -[[package]] -name = "pickleshare" -version = "0.7.5" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", size = 6161 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56", size = 6877 }, -] - -[[package]] -name = "pillow" -version = "10.4.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271 }, - { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658 }, - { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075 }, - { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808 }, - { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290 }, - { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163 }, - { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100 }, - { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880 }, - { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218 }, - { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487 }, - { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219 }, - { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265 }, - { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655 }, - { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304 }, - { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804 }, - { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126 }, - { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541 }, - { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616 }, - { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802 }, - { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213 }, - { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498 }, - { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219 }, - { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350 }, - { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980 }, - { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799 }, - { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973 }, - { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054 }, - { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484 }, - { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375 }, - { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773 }, - { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690 }, - { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951 }, - { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427 }, - { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685 }, - { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883 }, - { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837 }, - { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562 }, - { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761 }, - { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767 }, - { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989 }, - { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255 }, - { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603 }, - { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972 }, - { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375 }, - { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213 }, - { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883 }, - { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810 }, - { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341 }, - { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005 }, - { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201 }, - { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635 }, - { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283 }, - { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185 }, - { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594 }, - { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283 }, - { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691 }, - { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295 }, - { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810 }, - { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283 }, - { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800 }, - { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177 }, - { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079 }, - { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247 }, - { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479 }, - { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226 }, - { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889 }, - { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160 }, - { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020 }, - { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539 }, - { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125 }, - { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373 }, - { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 }, - { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850 }, - { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118 }, - { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958 }, - { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340 }, - { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048 }, - { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366 }, - { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652 }, -] - -[[package]] -name = "pillow" -version = "11.2.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/8b/b158ad57ed44d3cc54db8d68ad7c0a58b8fc0e4c7a3f995f9d62d5b464a1/pillow-11.2.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:d57a75d53922fc20c165016a20d9c44f73305e67c351bbc60d1adaf662e74047", size = 3198442 }, - { url = "https://files.pythonhosted.org/packages/b1/f8/bb5d956142f86c2d6cc36704943fa761f2d2e4c48b7436fd0a85c20f1713/pillow-11.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:127bf6ac4a5b58b3d32fc8289656f77f80567d65660bc46f72c0d77e6600cc95", size = 3030553 }, - { url = "https://files.pythonhosted.org/packages/22/7f/0e413bb3e2aa797b9ca2c5c38cb2e2e45d88654e5b12da91ad446964cfae/pillow-11.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4ba4be812c7a40280629e55ae0b14a0aafa150dd6451297562e1764808bbe61", size = 4405503 }, - { url = "https://files.pythonhosted.org/packages/f3/b4/cc647f4d13f3eb837d3065824aa58b9bcf10821f029dc79955ee43f793bd/pillow-11.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8bd62331e5032bc396a93609982a9ab6b411c05078a52f5fe3cc59234a3abd1", size = 4490648 }, - { url = "https://files.pythonhosted.org/packages/c2/6f/240b772a3b35cdd7384166461567aa6713799b4e78d180c555bd284844ea/pillow-11.2.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:562d11134c97a62fe3af29581f083033179f7ff435f78392565a1ad2d1c2c45c", size = 4508937 }, - { url = "https://files.pythonhosted.org/packages/f3/5e/7ca9c815ade5fdca18853db86d812f2f188212792780208bdb37a0a6aef4/pillow-11.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:c97209e85b5be259994eb5b69ff50c5d20cca0f458ef9abd835e262d9d88b39d", size = 4599802 }, - { url = "https://files.pythonhosted.org/packages/02/81/c3d9d38ce0c4878a77245d4cf2c46d45a4ad0f93000227910a46caff52f3/pillow-11.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0c3e6d0f59171dfa2e25d7116217543310908dfa2770aa64b8f87605f8cacc97", size = 4576717 }, - { url = "https://files.pythonhosted.org/packages/42/49/52b719b89ac7da3185b8d29c94d0e6aec8140059e3d8adcaa46da3751180/pillow-11.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc1c3bc53befb6096b84165956e886b1729634a799e9d6329a0c512ab651e579", size = 4654874 }, - { url = "https://files.pythonhosted.org/packages/5b/0b/ede75063ba6023798267023dc0d0401f13695d228194d2242d5a7ba2f964/pillow-11.2.1-cp310-cp310-win32.whl", hash = "sha256:312c77b7f07ab2139924d2639860e084ec2a13e72af54d4f08ac843a5fc9c79d", size = 2331717 }, - { url = "https://files.pythonhosted.org/packages/ed/3c/9831da3edea527c2ed9a09f31a2c04e77cd705847f13b69ca60269eec370/pillow-11.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9bc7ae48b8057a611e5fe9f853baa88093b9a76303937449397899385da06fad", size = 2676204 }, - { url = "https://files.pythonhosted.org/packages/01/97/1f66ff8a1503d8cbfc5bae4dc99d54c6ec1e22ad2b946241365320caabc2/pillow-11.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:2728567e249cdd939f6cc3d1f049595c66e4187f3c34078cbc0a7d21c47482d2", size = 2414767 }, - { url = "https://files.pythonhosted.org/packages/68/08/3fbf4b98924c73037a8e8b4c2c774784805e0fb4ebca6c5bb60795c40125/pillow-11.2.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35ca289f712ccfc699508c4658a1d14652e8033e9b69839edf83cbdd0ba39e70", size = 3198450 }, - { url = "https://files.pythonhosted.org/packages/84/92/6505b1af3d2849d5e714fc75ba9e69b7255c05ee42383a35a4d58f576b16/pillow-11.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0409af9f829f87a2dfb7e259f78f317a5351f2045158be321fd135973fff7bf", size = 3030550 }, - { url = "https://files.pythonhosted.org/packages/3c/8c/ac2f99d2a70ff966bc7eb13dacacfaab57c0549b2ffb351b6537c7840b12/pillow-11.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4e5c5edee874dce4f653dbe59db7c73a600119fbea8d31f53423586ee2aafd7", size = 4415018 }, - { url = "https://files.pythonhosted.org/packages/1f/e3/0a58b5d838687f40891fff9cbaf8669f90c96b64dc8f91f87894413856c6/pillow-11.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b93a07e76d13bff9444f1a029e0af2964e654bfc2e2c2d46bfd080df5ad5f3d8", size = 4498006 }, - { url = "https://files.pythonhosted.org/packages/21/f5/6ba14718135f08fbfa33308efe027dd02b781d3f1d5c471444a395933aac/pillow-11.2.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:e6def7eed9e7fa90fde255afaf08060dc4b343bbe524a8f69bdd2a2f0018f600", size = 4517773 }, - { url = "https://files.pythonhosted.org/packages/20/f2/805ad600fc59ebe4f1ba6129cd3a75fb0da126975c8579b8f57abeb61e80/pillow-11.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8f4f3724c068be008c08257207210c138d5f3731af6c155a81c2b09a9eb3a788", size = 4607069 }, - { url = "https://files.pythonhosted.org/packages/71/6b/4ef8a288b4bb2e0180cba13ca0a519fa27aa982875882392b65131401099/pillow-11.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a0a6709b47019dff32e678bc12c63008311b82b9327613f534e496dacaefb71e", size = 4583460 }, - { url = "https://files.pythonhosted.org/packages/62/ae/f29c705a09cbc9e2a456590816e5c234382ae5d32584f451c3eb41a62062/pillow-11.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f6b0c664ccb879109ee3ca702a9272d877f4fcd21e5eb63c26422fd6e415365e", size = 4661304 }, - { url = "https://files.pythonhosted.org/packages/6e/1a/c8217b6f2f73794a5e219fbad087701f412337ae6dbb956db37d69a9bc43/pillow-11.2.1-cp311-cp311-win32.whl", hash = "sha256:cc5d875d56e49f112b6def6813c4e3d3036d269c008bf8aef72cd08d20ca6df6", size = 2331809 }, - { url = "https://files.pythonhosted.org/packages/e2/72/25a8f40170dc262e86e90f37cb72cb3de5e307f75bf4b02535a61afcd519/pillow-11.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:0f5c7eda47bf8e3c8a283762cab94e496ba977a420868cb819159980b6709193", size = 2676338 }, - { url = "https://files.pythonhosted.org/packages/06/9e/76825e39efee61efea258b479391ca77d64dbd9e5804e4ad0fa453b4ba55/pillow-11.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:4d375eb838755f2528ac8cbc926c3e31cc49ca4ad0cf79cff48b20e30634a4a7", size = 2414918 }, - { url = "https://files.pythonhosted.org/packages/c7/40/052610b15a1b8961f52537cc8326ca6a881408bc2bdad0d852edeb6ed33b/pillow-11.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f", size = 3190185 }, - { url = "https://files.pythonhosted.org/packages/e5/7e/b86dbd35a5f938632093dc40d1682874c33dcfe832558fc80ca56bfcb774/pillow-11.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b", size = 3030306 }, - { url = "https://files.pythonhosted.org/packages/a4/5c/467a161f9ed53e5eab51a42923c33051bf8d1a2af4626ac04f5166e58e0c/pillow-11.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d", size = 4416121 }, - { url = "https://files.pythonhosted.org/packages/62/73/972b7742e38ae0e2ac76ab137ca6005dcf877480da0d9d61d93b613065b4/pillow-11.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4", size = 4501707 }, - { url = "https://files.pythonhosted.org/packages/e4/3a/427e4cb0b9e177efbc1a84798ed20498c4f233abde003c06d2650a6d60cb/pillow-11.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d", size = 4522921 }, - { url = "https://files.pythonhosted.org/packages/fe/7c/d8b1330458e4d2f3f45d9508796d7caf0c0d3764c00c823d10f6f1a3b76d/pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4", size = 4612523 }, - { url = "https://files.pythonhosted.org/packages/b3/2f/65738384e0b1acf451de5a573d8153fe84103772d139e1e0bdf1596be2ea/pillow-11.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443", size = 4587836 }, - { url = "https://files.pythonhosted.org/packages/6a/c5/e795c9f2ddf3debb2dedd0df889f2fe4b053308bb59a3cc02a0cd144d641/pillow-11.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c", size = 4669390 }, - { url = "https://files.pythonhosted.org/packages/96/ae/ca0099a3995976a9fce2f423166f7bff9b12244afdc7520f6ed38911539a/pillow-11.2.1-cp312-cp312-win32.whl", hash = "sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3", size = 2332309 }, - { url = "https://files.pythonhosted.org/packages/7c/18/24bff2ad716257fc03da964c5e8f05d9790a779a8895d6566e493ccf0189/pillow-11.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941", size = 2676768 }, - { url = "https://files.pythonhosted.org/packages/da/bb/e8d656c9543276517ee40184aaa39dcb41e683bca121022f9323ae11b39d/pillow-11.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb", size = 2415087 }, - { url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098 }, - { url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166 }, - { url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674 }, - { url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005 }, - { url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707 }, - { url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008 }, - { url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420 }, - { url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655 }, - { url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329 }, - { url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388 }, - { url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950 }, - { url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759 }, - { url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284 }, - { url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826 }, - { url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329 }, - { url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049 }, - { url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408 }, - { url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863 }, - { url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938 }, - { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774 }, - { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895 }, - { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234 }, - { url = "https://files.pythonhosted.org/packages/21/3a/c1835d1c7cf83559e95b4f4ed07ab0bb7acc689712adfce406b3f456e9fd/pillow-11.2.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7491cf8a79b8eb867d419648fff2f83cb0b3891c8b36da92cc7f1931d46108c8", size = 3198391 }, - { url = "https://files.pythonhosted.org/packages/b6/4d/dcb7a9af3fc1e8653267c38ed622605d9d1793349274b3ef7af06457e257/pillow-11.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b02d8f9cb83c52578a0b4beadba92e37d83a4ef11570a8688bbf43f4ca50909", size = 3030573 }, - { url = "https://files.pythonhosted.org/packages/9d/29/530ca098c1a1eb31d4e163d317d0e24e6d2ead907991c69ca5b663de1bc5/pillow-11.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:014ca0050c85003620526b0ac1ac53f56fc93af128f7546623cc8e31875ab928", size = 4398677 }, - { url = "https://files.pythonhosted.org/packages/8b/ee/0e5e51db34de1690264e5f30dcd25328c540aa11d50a3bc0b540e2a445b6/pillow-11.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3692b68c87096ac6308296d96354eddd25f98740c9d2ab54e1549d6c8aea9d79", size = 4484986 }, - { url = "https://files.pythonhosted.org/packages/93/7d/bc723b41ce3d2c28532c47678ec988974f731b5c6fadd5b3a4fba9015e4f/pillow-11.2.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:f781dcb0bc9929adc77bad571b8621ecb1e4cdef86e940fe2e5b5ee24fd33b35", size = 4501897 }, - { url = "https://files.pythonhosted.org/packages/be/0b/532e31abc7389617ddff12551af625a9b03cd61d2989fa595e43c470ec67/pillow-11.2.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:2b490402c96f907a166615e9a5afacf2519e28295f157ec3a2bb9bd57de638cb", size = 4592618 }, - { url = "https://files.pythonhosted.org/packages/4c/f0/21ed6499a6216fef753e2e2254a19d08bff3747108ba042422383f3e9faa/pillow-11.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dd6b20b93b3ccc9c1b597999209e4bc5cf2853f9ee66e3fc9a400a78733ffc9a", size = 4570493 }, - { url = "https://files.pythonhosted.org/packages/68/de/17004ddb8ab855573fe1127ab0168d11378cdfe4a7ee2a792a70ff2e9ba7/pillow-11.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4b835d89c08a6c2ee7781b8dd0a30209a8012b5f09c0a665b65b0eb3560b6f36", size = 4647748 }, - { url = "https://files.pythonhosted.org/packages/c7/23/82ecb486384bb3578115c509d4a00bb52f463ee700a5ca1be53da3c88c19/pillow-11.2.1-cp39-cp39-win32.whl", hash = "sha256:b10428b3416d4f9c61f94b494681280be7686bda15898a3a9e08eb66a6d92d67", size = 2331731 }, - { url = "https://files.pythonhosted.org/packages/58/bb/87efd58b3689537a623d44dbb2550ef0bb5ff6a62769707a0fe8b1a7bdeb/pillow-11.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:6ebce70c3f486acf7591a3d73431fa504a4e18a9b97ff27f5f47b7368e4b9dd1", size = 2676346 }, - { url = "https://files.pythonhosted.org/packages/80/08/dc268475b22887b816e5dcfae31bce897f524b4646bab130c2142c9b2400/pillow-11.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:c27476257b2fdcd7872d54cfd119b3a9ce4610fb85c8e32b70b42e3680a29a1e", size = 2414623 }, - { url = "https://files.pythonhosted.org/packages/33/49/c8c21e4255b4f4a2c0c68ac18125d7f5460b109acc6dfdef1a24f9b960ef/pillow-11.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9b7b0d4fd2635f54ad82785d56bc0d94f147096493a79985d0ab57aedd563156", size = 3181727 }, - { url = "https://files.pythonhosted.org/packages/6d/f1/f7255c0838f8c1ef6d55b625cfb286835c17e8136ce4351c5577d02c443b/pillow-11.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:aa442755e31c64037aa7c1cb186e0b369f8416c567381852c63444dd666fb772", size = 2999833 }, - { url = "https://files.pythonhosted.org/packages/e2/57/9968114457bd131063da98d87790d080366218f64fa2943b65ac6739abb3/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0d3348c95b766f54b76116d53d4cb171b52992a1027e7ca50c81b43b9d9e363", size = 3437472 }, - { url = "https://files.pythonhosted.org/packages/b2/1b/e35d8a158e21372ecc48aac9c453518cfe23907bb82f950d6e1c72811eb0/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85d27ea4c889342f7e35f6d56e7e1cb345632ad592e8c51b693d7b7556043ce0", size = 3459976 }, - { url = "https://files.pythonhosted.org/packages/26/da/2c11d03b765efff0ccc473f1c4186dc2770110464f2177efaed9cf6fae01/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:bf2c33d6791c598142f00c9c4c7d47f6476731c31081331664eb26d6ab583e01", size = 3527133 }, - { url = "https://files.pythonhosted.org/packages/79/1a/4e85bd7cadf78412c2a3069249a09c32ef3323650fd3005c97cca7aa21df/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e616e7154c37669fc1dfc14584f11e284e05d1c650e1c0f972f281c4ccc53193", size = 3571555 }, - { url = "https://files.pythonhosted.org/packages/69/03/239939915216de1e95e0ce2334bf17a7870ae185eb390fab6d706aadbfc0/pillow-11.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:39ad2e0f424394e3aebc40168845fee52df1394a4673a6ee512d840d14ab3013", size = 2674713 }, - { url = "https://files.pythonhosted.org/packages/a4/ad/2613c04633c7257d9481ab21d6b5364b59fc5d75faafd7cb8693523945a3/pillow-11.2.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:80f1df8dbe9572b4b7abdfa17eb5d78dd620b1d55d9e25f834efdbee872d3aed", size = 3181734 }, - { url = "https://files.pythonhosted.org/packages/a4/fd/dcdda4471ed667de57bb5405bb42d751e6cfdd4011a12c248b455c778e03/pillow-11.2.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ea926cfbc3957090becbcbbb65ad177161a2ff2ad578b5a6ec9bb1e1cd78753c", size = 2999841 }, - { url = "https://files.pythonhosted.org/packages/ac/89/8a2536e95e77432833f0db6fd72a8d310c8e4272a04461fb833eb021bf94/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:738db0e0941ca0376804d4de6a782c005245264edaa253ffce24e5a15cbdc7bd", size = 3437470 }, - { url = "https://files.pythonhosted.org/packages/9d/8f/abd47b73c60712f88e9eda32baced7bfc3e9bd6a7619bb64b93acff28c3e/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db98ab6565c69082ec9b0d4e40dd9f6181dab0dd236d26f7a50b8b9bfbd5076", size = 3460013 }, - { url = "https://files.pythonhosted.org/packages/f6/20/5c0a0aa83b213b7a07ec01e71a3d6ea2cf4ad1d2c686cc0168173b6089e7/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:036e53f4170e270ddb8797d4c590e6dd14d28e15c7da375c18978045f7e6c37b", size = 3527165 }, - { url = "https://files.pythonhosted.org/packages/58/0e/2abab98a72202d91146abc839e10c14f7cf36166f12838ea0c4db3ca6ecb/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14f73f7c291279bd65fda51ee87affd7c1e097709f7fdd0188957a16c264601f", size = 3571586 }, - { url = "https://files.pythonhosted.org/packages/21/2c/5e05f58658cf49b6667762cca03d6e7d85cededde2caf2ab37b81f80e574/pillow-11.2.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:208653868d5c9ecc2b327f9b9ef34e0e42a4cdd172c2988fd81d62d2bc9bc044", size = 2674751 }, -] - -[[package]] -name = "pint" -version = "0.21.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/70/f4/9e7cb8e65e36c0a5e832bf04e57ca2cb1f96ea1ae289f10b82e2e98a49c7/Pint-0.21.1.tar.gz", hash = "sha256:5d5b6b518d0c5a7ab03a776175db500f1ed1523ee75fb7fafe38af8149431c8d", size = 336147 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/49/bc/7ef2a654754cc3179af8df837485931f0874d96e111005a6246c1ed695f2/Pint-0.21.1-py3-none-any.whl", hash = "sha256:230ebccc312693117ee925c6492b3631c772ae9f7851a4e86080a15e7be692d8", size = 290846 }, -] - -[[package]] -name = "pint" -version = "0.24.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "flexcache", marker = "python_full_version >= '3.9'" }, - { name = "flexparser", marker = "python_full_version >= '3.9'" }, - { name = "platformdirs", marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/20/bb/52b15ddf7b7706ed591134a895dbf6e41c8348171fb635e655e0a4bbb0ea/pint-0.24.4.tar.gz", hash = "sha256:35275439b574837a6cd3020a5a4a73645eb125ce4152a73a2f126bf164b91b80", size = 342225 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/16/bd2f5904557265882108dc2e04f18abc05ab0c2b7082ae9430091daf1d5c/Pint-0.24.4-py3-none-any.whl", hash = "sha256:aa54926c8772159fcf65f82cc0d34de6768c151b32ad1deb0331291c38fe7659", size = 302029 }, -] - -[[package]] -name = "pkgutil-resolve-name" -version = "1.3.10" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/f2/f2891a9dc37398696ddd945012b90ef8d0a034f0012e3f83c3f7a70b0f79/pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174", size = 5054 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/5c/3d4882ba113fd55bdba9326c1e4c62a15e674a2501de4869e6bd6301f87e/pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e", size = 4734 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567 }, -] - -[[package]] -name = "pluggy" -version = "1.5.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, -] - -[[package]] -name = "pluggy" -version = "1.6.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538 }, -] - -[[package]] -name = "prometheus-client" -version = "0.21.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/62/14/7d0f567991f3a9af8d1cd4f619040c93b68f09a02b6d0b6ab1b2d1ded5fe/prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", size = 78551 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/c2/ab7d37426c179ceb9aeb109a85cda8948bb269b7561a0be870cc656eefe4/prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301", size = 54682 }, -] - -[[package]] -name = "prometheus-client" -version = "0.22.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/5b/5a/3fa1fa7e91a203759aaf316be394f70f2ef598d589b9785a8611b6094c00/prometheus_client-0.22.0.tar.gz", hash = "sha256:18da1d2241ac2d10c8d2110f13eedcd5c7c0c8af18c926e8731f04fc10cd575c", size = 74443 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/50/c7/cee159ba3d7192e84a4c166ec1752f44a5fa859ac0eeda2d73a1da65ab47/prometheus_client-0.22.0-py3-none-any.whl", hash = "sha256:c8951bbe64e62b96cd8e8f5d917279d1b9b91ab766793f33d4dce6c228558713", size = 62658 }, -] - -[[package]] -name = "prompt-toolkit" -version = "3.0.51" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "wcwidth" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810 }, -] - -[[package]] -name = "psutil" -version = "7.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051 }, - { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535 }, - { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004 }, - { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986 }, - { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544 }, - { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053 }, - { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885 }, -] - -[[package]] -name = "ptyprocess" -version = "0.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 }, -] - -[[package]] -name = "pulp" -version = "3.1.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fb/92/bf4b947ec8aac629b835b588e70664c1d0150a8369f798b6c5adb32e39ba/pulp-3.1.1.tar.gz", hash = "sha256:300a330e917c9ca9ac7fda6f5849bbf30d489c368117f197a3e3fd0bc1966d95", size = 16294046 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f5/78/54928786de173be3210963d198e4a7d037f9bf5dd327430090bf6c52e152/pulp-3.1.1-py3-none-any.whl", hash = "sha256:ad9d46afaf78a708270a2fa9b38e56536584c048dfbd7a6dbc719abee1051261", size = 16375371 }, -] - -[[package]] -name = "pure-eval" -version = "0.2.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, -] - -[[package]] -name = "pyevtk" -version = "1.6.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/44/dd/d20c1a0c0105611b831536d2c6d9132bb83d70ed80f4b6d328c04acfeb0d/pyevtk-1.6.0.tar.gz", hash = "sha256:1f6be7876a3a005c8258861551da4fe7e44ff1a2e7ff2a93d6dc51deedfda5f4", size = 38980 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/06/da/d57b07c565cc5f8705da436cfcc44754343416c1187d83f04d5443d5cc1a/pyevtk-1.6.0-py3-none-any.whl", hash = "sha256:057415512ab902785c72251df8f8450e4bbc9eab16677f091a4b8ee53b9cc775", size = 20521 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, -] - -[[package]] -name = "pympdata" -version = "1.4.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numba", version = "0.58.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numba", version = "0.60.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numba", version = "0.61.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pystrict" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ca/d3/9f5d4a22154c382526dc1ac7428b077b9beb25349829d6f7a67d61c1ec87/pympdata-1.4.1.tar.gz", hash = "sha256:b1dbe54e5457fe8706f3bb6f593f0a02a0186dfd2896ba27090ad442dcf5c658", size = 2187835 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/ab/8d65d565b658f9e32d01511906ba26d38ecaf08ae8069d71ffa04020f9f7/pympdata-1.4.1-py3-none-any.whl", hash = "sha256:4f9cb6fcfb98365a9cb4283f6c963cf3278fe85f87a79b2f97d9b9aa62738837", size = 53753 }, -] - -[[package]] -name = "pyneqsys" -version = "0.5.7" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "sym" }, - { name = "sympy", version = "1.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/32/2e/e462e8565f1472cc46bebf7a0bca7dc8a452a29dc73c341e4b3f70eaea86/pyneqsys-0.5.7.tar.gz", hash = "sha256:a4ef31b66895171ecab9677d2f36c757debafad450169a2ba0d4e23a7eff283a", size = 29470 } - -[[package]] -name = "pyodesys" -version = "0.14.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "notebook", version = "7.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "notebook", version = "7.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "sym" }, - { name = "sympy", version = "1.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f8/67/8a393329576ed920bdef9733c352f4057891e6ccbd1caa5233e384188940/pyodesys-0.14.4.tar.gz", hash = "sha256:584e3b8e6c5c633d964d8c6c9c865d348497bf71048de69dd601b65b8d6b882e", size = 107851 } - -[[package]] -name = "pyparsing" -version = "3.1.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/83/08/13f3bce01b2061f2bbd582c9df82723de943784cf719a35ac886c652043a/pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032", size = 900231 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/0c/0e3c05b1c87bb6a1c76d281b0f35e78d2d80ac91b5f8f524cebf77f51049/pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c", size = 104100 }, -] - -[[package]] -name = "pyparsing" -version = "3.2.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be", size = 1088608 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120 }, -] - -[[package]] -name = "pypartmc" -version = "1.7.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/7a/39/20a33ff1df3dd1ba487f4f130dd26795fc196f46308731dc0a3798a1381f/pypartmc-1.7.2-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:103695020c8af3885f369c43e5719672a4b9d52f028a4b5655b955e0d4b79ff0", size = 4623130 }, - { url = "https://files.pythonhosted.org/packages/72/0c/a752751cb8c7a8f721fec1e9a9e371d013ec663f709ee492dbb681503c19/pypartmc-1.7.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:af93195b514b8b16737a18a2ed4dbc1f317a554b4bcc277d9b80db43e77d7a5a", size = 3528412 }, - { url = "https://files.pythonhosted.org/packages/21/dc/fef92f78fcf54cf7231e8f4b99adfe5fabff50015e74a57021c8ed9555ec/pypartmc-1.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6efea6b2814e0917c292cf409bf219756eeaec433f0ce8885141f9ca2cb15683", size = 3608226 }, - { url = "https://files.pythonhosted.org/packages/93/02/1f38d79156e801bfbaf60fc2119dfd4c05bc29a53cb4607f058c6e2995d9/pypartmc-1.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5301d6b8ea4e3696cb6c7d31926ed065fad9667d07e0c8c1317aaee8ac452aee", size = 4358536 }, - { url = "https://files.pythonhosted.org/packages/48/d1/bf27b959aa5f1991274e56d3698efa33b3019ddd9cab65c66053f7d7f238/pypartmc-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0386f4be1546310f1896ed338e1cd0924a8940347088e1e0d07095a740e4c89", size = 3604643 }, - { url = "https://files.pythonhosted.org/packages/cc/24/55b3c4f6f48aee34fa03f3dfab51f5fe3e1895e89533a605db2b9d9ee0ec/pypartmc-1.7.2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:0fc23c28965992667b32e726f2d396a6a340ef06de33520c95582035485ac107", size = 4622934 }, - { url = "https://files.pythonhosted.org/packages/a0/b7/cd2bf7681a2e4163ef7ac6dfa7b025d39c41fbebc0858c0af1321a6a8c80/pypartmc-1.7.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:e3367f02bc8721eaace57ec1c2bbab86539148bc1ba5d0ed7285df33edd8dcd7", size = 3528155 }, - { url = "https://files.pythonhosted.org/packages/a5/d2/a7e03ac7d8539784759acfaa17d0beabcec7874d22829f07b8bc23a98a53/pypartmc-1.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3830a367b5b5c64e02e8a5cd6e87f7afdf115ab47eea0bb9821240355aa13a", size = 3608216 }, - { url = "https://files.pythonhosted.org/packages/c7/4c/11cda8854a03f999ee7680644c0ff6a450b35a7a058764c85955530d04e0/pypartmc-1.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c8a168f10f4317d3cfd501b579e46bf0ad99a1887795e9952926b546e3c565a", size = 4358541 }, - { url = "https://files.pythonhosted.org/packages/95/6e/ef38b261aad6946785cd83b22a7f0af50dc31c2f0f250874e0817bbd4b1d/pypartmc-1.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:1fad683aa7ddaab213945b5e96a086a5c29e779c5e432eaefdb49c99f7a6922a", size = 3604652 }, - { url = "https://files.pythonhosted.org/packages/96/70/29504de9d5c0ff4a47f76f91c630bfad97600a894f9b89a5feb7d27ac2ee/pypartmc-1.7.2-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:2f4b5da6dc78a36ba186df238f3f19140f841a7453d7b2e1ad22e5e997c92a57", size = 4624969 }, - { url = "https://files.pythonhosted.org/packages/cf/7d/92aa8df2fa717ef2f8b053c6389781a79ba0ce9b38351e9946f4bf56d2d8/pypartmc-1.7.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:68557afd1e051c5411f7747648a8cd32bf073f2d2acfc87e52a40836aa9fd0f4", size = 3531051 }, - { url = "https://files.pythonhosted.org/packages/ea/cd/4ee48b211c61d021d149bec17062e5e8e7c5b3acffdedbdd6cee2dc603b3/pypartmc-1.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:459fd3b48002ef3e5d6d124fda91d0ca89070065737fc3618c19245d69be599f", size = 3608928 }, - { url = "https://files.pythonhosted.org/packages/4e/f7/838086216bb3abb8264e31c7699095972483592eb6f57a8ab0b6a4423cc6/pypartmc-1.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7ef4d3cf4a3363d05fa2b66309354aaf26ff6c8c68cbb4257e8d247ba754aa1", size = 4359765 }, - { url = "https://files.pythonhosted.org/packages/ab/20/7d3c195dc6957837de419b777da5a114e54afeca7aa7a80f2307c448cd86/pypartmc-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:33f3a3586999ca5b15e4d4d8f5c88b0fc70fb516686bfae3c3e17e779430e30c", size = 3604349 }, - { url = "https://files.pythonhosted.org/packages/84/bc/4fa64ae3d975a6de09fb6d212b6f69a0bb66584538d757e0ecaa82091337/pypartmc-1.7.2-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:63287f902717680ed08c5c1d1af9e8fdd6a41122b61195e92383b061cdcb2891", size = 4625910 }, - { url = "https://files.pythonhosted.org/packages/11/8b/0a76ec461f3d7d31608d980e9d412e32007552b6f004424d60b76e40763f/pypartmc-1.7.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:2cde00a9c34c6c6445d7529ca9775fc0a66905b3314a01a3f40a2404aceaea64", size = 3530735 }, - { url = "https://files.pythonhosted.org/packages/51/1a/ff6ec6300e4a542d25f9afa7c82866ee65fbce1c1d0262244f6dc5a244ae/pypartmc-1.7.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84e73e3b9bcacad724edc5acd85e8dbb7254399fa4c9f9c869bcfc3bf5ad30fa", size = 3609049 }, - { url = "https://files.pythonhosted.org/packages/87/17/b11c9e7541aac388876ceb74cbb305e2a14e4db7676d17e6a9aa21ffcf9d/pypartmc-1.7.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a24bad19cf96c9a8edb9405a5680256c7ac7ccae569a3eb3cc8477b7b0ef22e0", size = 4360081 }, - { url = "https://files.pythonhosted.org/packages/98/50/d4b8e96f6a9ec3d9e059dc4e98a2a6b548fb4f461b4d0b8d2b2c4f1e49d2/pypartmc-1.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:66f385d0aa4a673995eba1af3c6f8be9f17aececdc969359770ad1561bbc3549", size = 3604311 }, - { url = "https://files.pythonhosted.org/packages/a2/2c/389b3943f79c1fd263ccd6e04eb6fae2766d62a19102cca764e365f74a42/pypartmc-1.7.2-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:b26af5056a5f24d9872b797357ca92910c5f34c37d22ed02b8c71c4351afc4dd", size = 4622572 }, - { url = "https://files.pythonhosted.org/packages/9e/da/36c3a2c66c0fb5acbdef20266ca60aa2cc212ddb8acf1c7bcc021f0fd6f0/pypartmc-1.7.2-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:e20eb6b7cb1abee3bdc14f08e7b9b73e2efcf32f206f79ad6b2f848c30b69288", size = 3527974 }, - { url = "https://files.pythonhosted.org/packages/ba/de/0943a3f6fbf6197b0c123435129898712d37c5209fef0f1bdc8eff84e728/pypartmc-1.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6473602f6bb3f4c2b6d24c4f22a70d3c87e9f630a4397e945e9007fd2bbf8cf", size = 3607920 }, - { url = "https://files.pythonhosted.org/packages/5b/ab/efe6156f3789d9b9a65fd54291cb19fc24e186432b5c6b08b55354b26608/pypartmc-1.7.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dddf1420acd9ace120242558babead7b3cf15d797f41cb09856117171f0ec60", size = 4358286 }, - { url = "https://files.pythonhosted.org/packages/d8/a5/a2baccecc3c59200de23ec9f4f6cedcc075f5243e51096774931b72e5700/pypartmc-1.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:f5e7f32d48bf5a7f4807e1537103806c5f7eb4c46e8b07c542d017e69094c1d1", size = 3604533 }, - { url = "https://files.pythonhosted.org/packages/c2/ac/7a66aa027b2eb93ce65f1ba2d72764f3ce0c303842048468ef2df3bddc98/pypartmc-1.7.2-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:3bc156b6bc7fd17398cb39f54d5ef3a975a0aecb2995f6d08a99e3404655382e", size = 4623126 }, - { url = "https://files.pythonhosted.org/packages/f1/ae/25930411fb9e6237070932906b8c45c2a078a3e8231d642608e71a0df4b0/pypartmc-1.7.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:347467790dcbdd67f2c8963d0e72470fecd5f8314ebb19478bfc1ff677386717", size = 3528742 }, - { url = "https://files.pythonhosted.org/packages/f1/b9/112a321992b89984f90a7457bf8671fd592d14b645f486d707af60202d58/pypartmc-1.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:615354a25ed2cd7d7b368d496736edb724b3050c3f0b136b73c1dd23f39acfe5", size = 3608533 }, - { url = "https://files.pythonhosted.org/packages/07/2b/852a50c05942c20876d330b89f81f0d21266cc756a65d618d7cf13c82399/pypartmc-1.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc8f28d2fa08599a394231a01551b3583c97e06d524c31ea6de64b4e8a9a2fb9", size = 4358977 }, - { url = "https://files.pythonhosted.org/packages/25/66/2c1992ea67debdde64bece85fc67d0652d1efdd5ec705e571533de2eb842/pypartmc-1.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:0649f9581c293d1bc6ed2ffaf84685020e898be292d22f6d220292ce68eedfa4", size = 3603938 }, -] - -[[package]] -name = "pyrcel" -version = "1.3.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numba", version = "0.58.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numba", version = "0.60.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numba", version = "0.61.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pyyaml" }, - { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "setuptools", version = "80.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "setuptools-scm" }, - { name = "xarray", version = "2023.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "xarray", version = "2024.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "xarray", version = "2025.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fa/43/403f9aff3a12512404c9a90d4ac1a4917eb47ce0438ce6727b9f50225e45/pyrcel-1.3.2.tar.gz", hash = "sha256:0fcf7c5d3c90595a6607bc2e2d865097e5a54de683d4654fbd438d855402da8d", size = 610554 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/4c/191b9d9c5a8f8a59392b4440e7e18817d4d7125dc0857678475e9a32c209/pyrcel-1.3.2-py3-none-any.whl", hash = "sha256:53615980e2bd9bfc5b9cc1fddd0c04999595cab22f510ff78f92b3807ec73934", size = 140648 }, -] - -[[package]] -name = "pysdm" -source = { editable = "." } -dependencies = [ - { name = "chempy" }, - { name = "curandrtc" }, - { name = "numba", version = "0.58.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numba", version = "0.60.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numba", version = "0.61.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pint", version = "0.21.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pint", version = "0.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pyevtk" }, - { name = "scipy", version = "1.10.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "thrustrtc" }, -] - -[package.optional-dependencies] -tests = [ - { name = "ipywidgets" }, - { name = "jupyter-core" }, - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "open-atmos-jupyter-utils" }, - { name = "pypartmc" }, - { name = "pyrcel" }, - { name = "pysdm-examples" }, - { name = "pytest" }, - { name = "pytest-timeout" }, -] - -[package.metadata] -requires-dist = [ - { name = "chempy" }, - { name = "curandrtc", specifier = ">=0.1.2" }, - { name = "ipywidgets", marker = "extra == 'tests'", specifier = "!=8.0.3" }, - { name = "jupyter-core", marker = "extra == 'tests'", specifier = "<5.0.0" }, - { name = "matplotlib", marker = "extra == 'tests'" }, - { name = "numba", specifier = ">=0.51.2" }, - { name = "numpy" }, - { name = "open-atmos-jupyter-utils", marker = "extra == 'tests'", specifier = ">=1.2.0" }, - { name = "pint" }, - { name = "pyevtk" }, - { name = "pypartmc", marker = "extra == 'tests'" }, - { name = "pyrcel", marker = "extra == 'tests'" }, - { name = "pysdm-examples", marker = "extra == 'tests'" }, - { name = "pytest", marker = "extra == 'tests'" }, - { name = "pytest-timeout", marker = "extra == 'tests'" }, - { name = "scipy" }, - { name = "thrustrtc", specifier = "==0.3.20" }, -] -provides-extras = ["tests"] - -[[package]] -name = "pysdm-examples" -version = "2.121" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "ipywidgets" }, - { name = "joblib", version = "1.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "joblib", version = "1.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numdifftools" }, - { name = "open-atmos-jupyter-utils" }, - { name = "pympdata" }, - { name = "pysdm" }, - { name = "pystrict" }, - { name = "seaborn" }, - { name = "vtk" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/59/fe/104099e5279433d1f3383729a7ef808837fe69b865c29b4972071f5406a3/pysdm_examples-2.121.tar.gz", hash = "sha256:e476461f43b4989f300d61705cb2129c7ef523468c6390d35604a3208ca8e156", size = 123283 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4a/a2/04d52d588e8947ef6b9cb5e1adc6f0f7da74b311fd06dd6cb404e701de29/pysdm_examples-2.121-py3-none-any.whl", hash = "sha256:4cf74dd7620537f992a6bc51d95c835b4600fb1e48add74666ec70c16746ee0a", size = 168581 }, -] - -[[package]] -name = "pystrict" -version = "1.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/14/30/405f438e8438192bd25660d1869b08af22faa260a8aeadab37be6c1e7d45/pystrict-1.3.tar.gz", hash = "sha256:09d1c236850667510684e259416445309ae68bbf7ac99570efa80fcef750481a", size = 9532 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/c6/09a4294888d43cbe76e115cd0992fe9f84298c76b146e7864e0ff002b20c/pystrict-1.3-py3-none-any.whl", hash = "sha256:548c6fb417753f15933f628633fc808f01795ca8048623aae064f5c7eaa0ac42", size = 3095 }, -] - -[[package]] -name = "pytest" -version = "8.3.5" -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", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634 }, -] - -[[package]] -name = "pytest-timeout" -version = "2.4.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pytest" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ac/82/4c9ecabab13363e72d880f2fb504c5f750433b2b6f16e99f4ec21ada284c/pytest_timeout-2.4.0.tar.gz", hash = "sha256:7e68e90b01f9eff71332b25001f85c75495fc4e3a836701876183c4bcfd0540a", size = 17973 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/b6/3127540ecdf1464a00e5a01ee60a1b09175f6913f0644ac748494d9c4b21/pytest_timeout-2.4.0-py3-none-any.whl", hash = "sha256:c42667e5cdadb151aeb5b26d114aff6bdf5a907f176a007a30b940d3d865b5c2", size = 14382 }, -] - -[[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 } -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 }, -] - -[[package]] -name = "python-json-logger" -version = "3.3.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9e/de/d3144a0bceede957f961e975f3752760fbe390d57fbe194baf709d8f1f7b/python_json_logger-3.3.0.tar.gz", hash = "sha256:12b7e74b17775e7d565129296105bbe3910842d9d0eb083fc83a6a617aa8df84", size = 16642 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/08/20/0f2523b9e50a8052bc6a8b732dfc8568abbdc42010aef03a2d750bdab3b2/python_json_logger-3.3.0-py3-none-any.whl", hash = "sha256:dd980fae8cffb24c13caf6e158d3d61c0d6d22342f932cb6e9deedab3d35eec7", size = 15163 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225 }, -] - -[[package]] -name = "pywin32" -version = "310" -source = { registry = "https://pypi.org/simple" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/da/a5f38fffbba2fb99aa4aa905480ac4b8e83ca486659ac8c95bce47fb5276/pywin32-310-cp310-cp310-win32.whl", hash = "sha256:6dd97011efc8bf51d6793a82292419eba2c71cf8e7250cfac03bba284454abc1", size = 8848240 }, - { url = "https://files.pythonhosted.org/packages/aa/fe/d873a773324fa565619ba555a82c9dabd677301720f3660a731a5d07e49a/pywin32-310-cp310-cp310-win_amd64.whl", hash = "sha256:c3e78706e4229b915a0821941a84e7ef420bf2b77e08c9dae3c76fd03fd2ae3d", size = 9601854 }, - { url = "https://files.pythonhosted.org/packages/3c/84/1a8e3d7a15490d28a5d816efa229ecb4999cdc51a7c30dd8914f669093b8/pywin32-310-cp310-cp310-win_arm64.whl", hash = "sha256:33babed0cf0c92a6f94cc6cc13546ab24ee13e3e800e61ed87609ab91e4c8213", size = 8522963 }, - { url = "https://files.pythonhosted.org/packages/f7/b1/68aa2986129fb1011dabbe95f0136f44509afaf072b12b8f815905a39f33/pywin32-310-cp311-cp311-win32.whl", hash = "sha256:1e765f9564e83011a63321bb9d27ec456a0ed90d3732c4b2e312b855365ed8bd", size = 8784284 }, - { url = "https://files.pythonhosted.org/packages/b3/bd/d1592635992dd8db5bb8ace0551bc3a769de1ac8850200cfa517e72739fb/pywin32-310-cp311-cp311-win_amd64.whl", hash = "sha256:126298077a9d7c95c53823934f000599f66ec9296b09167810eb24875f32689c", size = 9520748 }, - { url = "https://files.pythonhosted.org/packages/90/b1/ac8b1ffce6603849eb45a91cf126c0fa5431f186c2e768bf56889c46f51c/pywin32-310-cp311-cp311-win_arm64.whl", hash = "sha256:19ec5fc9b1d51c4350be7bb00760ffce46e6c95eaf2f0b2f1150657b1a43c582", size = 8455941 }, - { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239 }, - { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839 }, - { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470 }, - { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384 }, - { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039 }, - { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152 }, - { url = "https://files.pythonhosted.org/packages/46/65/9c5b79424e344b976394f2b1bb4bedfa4cd013143b72b301a66e4b8943fe/pywin32-310-cp38-cp38-win32.whl", hash = "sha256:0867beb8addefa2e3979d4084352e4ac6e991ca45373390775f7084cc0209b9c", size = 8853889 }, - { url = "https://files.pythonhosted.org/packages/0c/3b/05f848971b3a44b35cd48ea0c6c648745be8bc5a3fc9f4df6f135c7f1e07/pywin32-310-cp38-cp38-win_amd64.whl", hash = "sha256:30f0a9b3138fb5e07eb4973b7077e1883f558e40c578c6925acc7a94c34eaa36", size = 9609017 }, - { url = "https://files.pythonhosted.org/packages/a2/cd/d09d434630edb6a0c44ad5079611279a67530296cfe0451e003de7f449ff/pywin32-310-cp39-cp39-win32.whl", hash = "sha256:851c8d927af0d879221e616ae1f66145253537bbdd321a77e8ef701b443a9a1a", size = 8848099 }, - { url = "https://files.pythonhosted.org/packages/93/ff/2a8c10315ffbdee7b3883ac0d1667e267ca8b3f6f640d81d43b87a82c0c7/pywin32-310-cp39-cp39-win_amd64.whl", hash = "sha256:96867217335559ac619f00ad70e513c0fcf84b8a3af9fc2bba3b59b97da70475", size = 9602031 }, -] - -[[package]] -name = "pywinpty" -version = "2.0.14" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/07/09/56376af256eab8cc5f8982a3b138d387136eca27fa1a8a68660e8ed59e4b/pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f", size = 1397115 }, - { url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223 }, - { url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207 }, - { url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698 }, - { url = "https://files.pythonhosted.org/packages/d8/ef/85e1b0ef7864fa2c579b1c1efce92c5f6fa238c8e73cf9f53deee08f8605/pywinpty-2.0.14-cp39-none-win_amd64.whl", hash = "sha256:5725fd56f73c0531ec218663bd8c8ff5acc43c78962fab28564871b5fce053fd", size = 1397396 }, -] - -[[package]] -name = "pywinpty" -version = "2.0.15" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/2d/7c/917f9c4681bb8d34bfbe0b79d36bbcd902651aeab48790df3d30ba0202fb/pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2", size = 29017 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/b7/855db919ae526d2628f3f2e6c281c4cdff7a9a8af51bb84659a9f07b1861/pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e", size = 1405161 }, - { url = "https://files.pythonhosted.org/packages/5e/ac/6884dcb7108af66ad53f73ef4dad096e768c9203a6e6ce5e6b0c4a46e238/pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca", size = 1405249 }, - { url = "https://files.pythonhosted.org/packages/88/e5/9714def18c3a411809771a3fbcec70bffa764b9675afb00048a620fca604/pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc", size = 1405243 }, - { url = "https://files.pythonhosted.org/packages/fb/16/2ab7b3b7f55f3c6929e5f629e1a68362981e4e5fed592a2ed1cb4b4914a5/pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408", size = 1405020 }, - { url = "https://files.pythonhosted.org/packages/7c/16/edef3515dd2030db2795dbfbe392232c7a0f3dc41b98e92b38b42ba497c7/pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901", size = 1404151 }, - { url = "https://files.pythonhosted.org/packages/47/96/90fa02f19b1eff7469ad7bf0ef8efca248025de9f1d0a0b25682d2aacf68/pywinpty-2.0.15-cp39-cp39-win_amd64.whl", hash = "sha256:d261cd88fcd358cfb48a7ca0700db3e1c088c9c10403c9ebc0d8a8b57aa6a117", size = 1405302 }, -] - -[[package]] -name = "pyyaml" -version = "6.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, - { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, - { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, - { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, - { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, - { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, - { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, - { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, - { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, - { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, - { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, - { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, - { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, - { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, - { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, - { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, - { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, - { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, - { url = "https://files.pythonhosted.org/packages/74/d9/323a59d506f12f498c2097488d80d16f4cf965cee1791eab58b56b19f47a/PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", size = 183218 }, - { url = "https://files.pythonhosted.org/packages/74/cc/20c34d00f04d785f2028737e2e2a8254e1425102e730fee1d6396f832577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", size = 728067 }, - { url = "https://files.pythonhosted.org/packages/20/52/551c69ca1501d21c0de51ddafa8c23a0191ef296ff098e98358f69080577/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", size = 757812 }, - { url = "https://files.pythonhosted.org/packages/fd/7f/2c3697bba5d4aa5cc2afe81826d73dfae5f049458e44732c7a0938baa673/PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", size = 746531 }, - { url = "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", size = 800820 }, - { url = "https://files.pythonhosted.org/packages/a0/99/a9eb0f3e710c06c5d922026f6736e920d431812ace24aae38228d0d64b04/PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", size = 145514 }, - { url = "https://files.pythonhosted.org/packages/75/8a/ee831ad5fafa4431099aa4e078d4c8efd43cd5e48fbc774641d233b683a9/PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", size = 162702 }, - { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, - { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, - { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, - { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, - { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, - { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, - { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, - { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, - { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, -] - -[[package]] -name = "pyzmq" -version = "26.4.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi", marker = "implementation_name == 'pypy'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/11/b9213d25230ac18a71b39b3723494e57adebe36e066397b961657b3b41c1/pyzmq-26.4.0.tar.gz", hash = "sha256:4bd13f85f80962f91a651a7356fe0472791a5f7a92f227822b5acf44795c626d", size = 278293 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/38/b8/af1d814ffc3ff9730f9a970cbf216b6f078e5d251a25ef5201d7bc32a37c/pyzmq-26.4.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:0329bdf83e170ac133f44a233fc651f6ed66ef8e66693b5af7d54f45d1ef5918", size = 1339238 }, - { url = "https://files.pythonhosted.org/packages/ee/e4/5aafed4886c264f2ea6064601ad39c5fc4e9b6539c6ebe598a859832eeee/pyzmq-26.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:398a825d2dea96227cf6460ce0a174cf7657d6f6827807d4d1ae9d0f9ae64315", size = 672848 }, - { url = "https://files.pythonhosted.org/packages/79/39/026bf49c721cb42f1ef3ae0ee3d348212a7621d2adb739ba97599b6e4d50/pyzmq-26.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d52d62edc96787f5c1dfa6c6ccff9b581cfae5a70d94ec4c8da157656c73b5b", size = 911299 }, - { url = "https://files.pythonhosted.org/packages/03/23/b41f936a9403b8f92325c823c0f264c6102a0687a99c820f1aaeb99c1def/pyzmq-26.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1410c3a3705db68d11eb2424d75894d41cff2f64d948ffe245dd97a9debfebf4", size = 867920 }, - { url = "https://files.pythonhosted.org/packages/c1/3e/2de5928cdadc2105e7c8f890cc5f404136b41ce5b6eae5902167f1d5641c/pyzmq-26.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:7dacb06a9c83b007cc01e8e5277f94c95c453c5851aac5e83efe93e72226353f", size = 862514 }, - { url = "https://files.pythonhosted.org/packages/ce/57/109569514dd32e05a61d4382bc88980c95bfd2f02e58fea47ec0ccd96de1/pyzmq-26.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6bab961c8c9b3a4dc94d26e9b2cdf84de9918931d01d6ff38c721a83ab3c0ef5", size = 1204494 }, - { url = "https://files.pythonhosted.org/packages/aa/02/dc51068ff2ca70350d1151833643a598625feac7b632372d229ceb4de3e1/pyzmq-26.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a5c09413b924d96af2aa8b57e76b9b0058284d60e2fc3730ce0f979031d162a", size = 1514525 }, - { url = "https://files.pythonhosted.org/packages/48/2a/a7d81873fff0645eb60afaec2b7c78a85a377af8f1d911aff045d8955bc7/pyzmq-26.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7d489ac234d38e57f458fdbd12a996bfe990ac028feaf6f3c1e81ff766513d3b", size = 1414659 }, - { url = "https://files.pythonhosted.org/packages/ef/ea/813af9c42ae21845c1ccfe495bd29c067622a621e85d7cda6bc437de8101/pyzmq-26.4.0-cp310-cp310-win32.whl", hash = "sha256:dea1c8db78fb1b4b7dc9f8e213d0af3fc8ecd2c51a1d5a3ca1cde1bda034a980", size = 580348 }, - { url = "https://files.pythonhosted.org/packages/20/68/318666a89a565252c81d3fed7f3b4c54bd80fd55c6095988dfa2cd04a62b/pyzmq-26.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:fa59e1f5a224b5e04dc6c101d7186058efa68288c2d714aa12d27603ae93318b", size = 643838 }, - { url = "https://files.pythonhosted.org/packages/91/f8/fb1a15b5f4ecd3e588bfde40c17d32ed84b735195b5c7d1d7ce88301a16f/pyzmq-26.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:a651fe2f447672f4a815e22e74630b6b1ec3a1ab670c95e5e5e28dcd4e69bbb5", size = 559565 }, - { url = "https://files.pythonhosted.org/packages/32/6d/234e3b0aa82fd0290b1896e9992f56bdddf1f97266110be54d0177a9d2d9/pyzmq-26.4.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:bfcf82644c9b45ddd7cd2a041f3ff8dce4a0904429b74d73a439e8cab1bd9e54", size = 1339723 }, - { url = "https://files.pythonhosted.org/packages/4f/11/6d561efe29ad83f7149a7cd48e498e539ed09019c6cd7ecc73f4cc725028/pyzmq-26.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9bcae3979b2654d5289d3490742378b2f3ce804b0b5fd42036074e2bf35b030", size = 672645 }, - { url = "https://files.pythonhosted.org/packages/19/fd/81bfe3e23f418644660bad1a90f0d22f0b3eebe33dd65a79385530bceb3d/pyzmq-26.4.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccdff8ac4246b6fb60dcf3982dfaeeff5dd04f36051fe0632748fc0aa0679c01", size = 910133 }, - { url = "https://files.pythonhosted.org/packages/97/68/321b9c775595ea3df832a9516252b653fe32818db66fdc8fa31c9b9fce37/pyzmq-26.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4550af385b442dc2d55ab7717837812799d3674cb12f9a3aa897611839c18e9e", size = 867428 }, - { url = "https://files.pythonhosted.org/packages/4e/6e/159cbf2055ef36aa2aa297e01b24523176e5b48ead283c23a94179fb2ba2/pyzmq-26.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f9f7ffe9db1187a253fca95191854b3fda24696f086e8789d1d449308a34b88", size = 862409 }, - { url = "https://files.pythonhosted.org/packages/05/1c/45fb8db7be5a7d0cadea1070a9cbded5199a2d578de2208197e592f219bd/pyzmq-26.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3709c9ff7ba61589b7372923fd82b99a81932b592a5c7f1a24147c91da9a68d6", size = 1205007 }, - { url = "https://files.pythonhosted.org/packages/f8/fa/658c7f583af6498b463f2fa600f34e298e1b330886f82f1feba0dc2dd6c3/pyzmq-26.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f8f3c30fb2d26ae5ce36b59768ba60fb72507ea9efc72f8f69fa088450cff1df", size = 1514599 }, - { url = "https://files.pythonhosted.org/packages/4d/d7/44d641522353ce0a2bbd150379cb5ec32f7120944e6bfba4846586945658/pyzmq-26.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:382a4a48c8080e273427fc692037e3f7d2851959ffe40864f2db32646eeb3cef", size = 1414546 }, - { url = "https://files.pythonhosted.org/packages/72/76/c8ed7263218b3d1e9bce07b9058502024188bd52cc0b0a267a9513b431fc/pyzmq-26.4.0-cp311-cp311-win32.whl", hash = "sha256:d56aad0517d4c09e3b4f15adebba8f6372c5102c27742a5bdbfc74a7dceb8fca", size = 579247 }, - { url = "https://files.pythonhosted.org/packages/c3/d0/2d9abfa2571a0b1a67c0ada79a8aa1ba1cce57992d80f771abcdf99bb32c/pyzmq-26.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:963977ac8baed7058c1e126014f3fe58b3773f45c78cce7af5c26c09b6823896", size = 644727 }, - { url = "https://files.pythonhosted.org/packages/0d/d1/c8ad82393be6ccedfc3c9f3adb07f8f3976e3c4802640fe3f71441941e70/pyzmq-26.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0c8e8cadc81e44cc5088fcd53b9b3b4ce9344815f6c4a03aec653509296fae3", size = 559942 }, - { url = "https://files.pythonhosted.org/packages/10/44/a778555ebfdf6c7fc00816aad12d185d10a74d975800341b1bc36bad1187/pyzmq-26.4.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:5227cb8da4b6f68acfd48d20c588197fd67745c278827d5238c707daf579227b", size = 1341586 }, - { url = "https://files.pythonhosted.org/packages/9c/4f/f3a58dc69ac757e5103be3bd41fb78721a5e17da7cc617ddb56d973a365c/pyzmq-26.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1c07a7fa7f7ba86554a2b1bef198c9fed570c08ee062fd2fd6a4dcacd45f905", size = 665880 }, - { url = "https://files.pythonhosted.org/packages/fe/45/50230bcfb3ae5cb98bee683b6edeba1919f2565d7cc1851d3c38e2260795/pyzmq-26.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae775fa83f52f52de73183f7ef5395186f7105d5ed65b1ae65ba27cb1260de2b", size = 902216 }, - { url = "https://files.pythonhosted.org/packages/41/59/56bbdc5689be5e13727491ad2ba5efd7cd564365750514f9bc8f212eef82/pyzmq-26.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66c760d0226ebd52f1e6b644a9e839b5db1e107a23f2fcd46ec0569a4fdd4e63", size = 859814 }, - { url = "https://files.pythonhosted.org/packages/81/b1/57db58cfc8af592ce94f40649bd1804369c05b2190e4cbc0a2dad572baeb/pyzmq-26.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ef8c6ecc1d520debc147173eaa3765d53f06cd8dbe7bd377064cdbc53ab456f5", size = 855889 }, - { url = "https://files.pythonhosted.org/packages/e8/92/47542e629cbac8f221c230a6d0f38dd3d9cff9f6f589ed45fdf572ffd726/pyzmq-26.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3150ef4084e163dec29ae667b10d96aad309b668fac6810c9e8c27cf543d6e0b", size = 1197153 }, - { url = "https://files.pythonhosted.org/packages/07/e5/b10a979d1d565d54410afc87499b16c96b4a181af46e7645ab4831b1088c/pyzmq-26.4.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4448c9e55bf8329fa1dcedd32f661bf611214fa70c8e02fee4347bc589d39a84", size = 1507352 }, - { url = "https://files.pythonhosted.org/packages/ab/58/5a23db84507ab9c01c04b1232a7a763be66e992aa2e66498521bbbc72a71/pyzmq-26.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e07dde3647afb084d985310d067a3efa6efad0621ee10826f2cb2f9a31b89d2f", size = 1406834 }, - { url = "https://files.pythonhosted.org/packages/22/74/aaa837b331580c13b79ac39396601fb361454ee184ca85e8861914769b99/pyzmq-26.4.0-cp312-cp312-win32.whl", hash = "sha256:ba034a32ecf9af72adfa5ee383ad0fd4f4e38cdb62b13624278ef768fe5b5b44", size = 577992 }, - { url = "https://files.pythonhosted.org/packages/30/0f/55f8c02c182856743b82dde46b2dc3e314edda7f1098c12a8227eeda0833/pyzmq-26.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:056a97aab4064f526ecb32f4343917a4022a5d9efb6b9df990ff72e1879e40be", size = 640466 }, - { url = "https://files.pythonhosted.org/packages/e4/29/073779afc3ef6f830b8de95026ef20b2d1ec22d0324d767748d806e57379/pyzmq-26.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:2f23c750e485ce1eb639dbd576d27d168595908aa2d60b149e2d9e34c9df40e0", size = 556342 }, - { url = "https://files.pythonhosted.org/packages/d7/20/fb2c92542488db70f833b92893769a569458311a76474bda89dc4264bd18/pyzmq-26.4.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:c43fac689880f5174d6fc864857d1247fe5cfa22b09ed058a344ca92bf5301e3", size = 1339484 }, - { url = "https://files.pythonhosted.org/packages/58/29/2f06b9cabda3a6ea2c10f43e67ded3e47fc25c54822e2506dfb8325155d4/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:902aca7eba477657c5fb81c808318460328758e8367ecdd1964b6330c73cae43", size = 666106 }, - { url = "https://files.pythonhosted.org/packages/77/e4/dcf62bd29e5e190bd21bfccaa4f3386e01bf40d948c239239c2f1e726729/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5e48a830bfd152fe17fbdeaf99ac5271aa4122521bf0d275b6b24e52ef35eb6", size = 902056 }, - { url = "https://files.pythonhosted.org/packages/1a/cf/b36b3d7aea236087d20189bec1a87eeb2b66009731d7055e5c65f845cdba/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31be2b6de98c824c06f5574331f805707c667dc8f60cb18580b7de078479891e", size = 860148 }, - { url = "https://files.pythonhosted.org/packages/18/a6/f048826bc87528c208e90604c3bf573801e54bd91e390cbd2dfa860e82dc/pyzmq-26.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6332452034be001bbf3206ac59c0d2a7713de5f25bb38b06519fc6967b7cf771", size = 855983 }, - { url = "https://files.pythonhosted.org/packages/0a/27/454d34ab6a1d9772a36add22f17f6b85baf7c16e14325fa29e7202ca8ee8/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:da8c0f5dd352136853e6a09b1b986ee5278dfddfebd30515e16eae425c872b30", size = 1197274 }, - { url = "https://files.pythonhosted.org/packages/f4/3d/7abfeab6b83ad38aa34cbd57c6fc29752c391e3954fd12848bd8d2ec0df6/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f4ccc1a0a2c9806dda2a2dd118a3b7b681e448f3bb354056cad44a65169f6d86", size = 1507120 }, - { url = "https://files.pythonhosted.org/packages/13/ff/bc8d21dbb9bc8705126e875438a1969c4f77e03fc8565d6901c7933a3d01/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:1c0b5fceadbab461578daf8d1dcc918ebe7ddd2952f748cf30c7cf2de5d51101", size = 1406738 }, - { url = "https://files.pythonhosted.org/packages/f5/5d/d4cd85b24de71d84d81229e3bbb13392b2698432cf8fdcea5afda253d587/pyzmq-26.4.0-cp313-cp313-win32.whl", hash = "sha256:28e2b0ff5ba4b3dd11062d905682bad33385cfa3cc03e81abd7f0822263e6637", size = 577826 }, - { url = "https://files.pythonhosted.org/packages/c6/6c/f289c1789d7bb6e5a3b3bef7b2a55089b8561d17132be7d960d3ff33b14e/pyzmq-26.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:23ecc9d241004c10e8b4f49d12ac064cd7000e1643343944a10df98e57bc544b", size = 640406 }, - { url = "https://files.pythonhosted.org/packages/b3/99/676b8851cb955eb5236a0c1e9ec679ea5ede092bf8bf2c8a68d7e965cac3/pyzmq-26.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:1edb0385c7f025045d6e0f759d4d3afe43c17a3d898914ec6582e6f464203c08", size = 556216 }, - { url = "https://files.pythonhosted.org/packages/65/c2/1fac340de9d7df71efc59d9c50fc7a635a77b103392d1842898dd023afcb/pyzmq-26.4.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:93a29e882b2ba1db86ba5dd5e88e18e0ac6b627026c5cfbec9983422011b82d4", size = 1333769 }, - { url = "https://files.pythonhosted.org/packages/5c/c7/6c03637e8d742c3b00bec4f5e4cd9d1c01b2f3694c6f140742e93ca637ed/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb45684f276f57110bb89e4300c00f1233ca631f08f5f42528a5c408a79efc4a", size = 658826 }, - { url = "https://files.pythonhosted.org/packages/a5/97/a8dca65913c0f78e0545af2bb5078aebfc142ca7d91cdaffa1fbc73e5dbd/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f72073e75260cb301aad4258ad6150fa7f57c719b3f498cb91e31df16784d89b", size = 891650 }, - { url = "https://files.pythonhosted.org/packages/7d/7e/f63af1031eb060bf02d033732b910fe48548dcfdbe9c785e9f74a6cc6ae4/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be37e24b13026cfedd233bcbbccd8c0bcd2fdd186216094d095f60076201538d", size = 849776 }, - { url = "https://files.pythonhosted.org/packages/f6/fa/1a009ce582802a895c0d5fe9413f029c940a0a8ee828657a3bb0acffd88b/pyzmq-26.4.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:237b283044934d26f1eeff4075f751b05d2f3ed42a257fc44386d00df6a270cf", size = 842516 }, - { url = "https://files.pythonhosted.org/packages/6e/bc/f88b0bad0f7a7f500547d71e99f10336f2314e525d4ebf576a1ea4a1d903/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:b30f862f6768b17040929a68432c8a8be77780317f45a353cb17e423127d250c", size = 1189183 }, - { url = "https://files.pythonhosted.org/packages/d9/8c/db446a3dd9cf894406dec2e61eeffaa3c07c3abb783deaebb9812c4af6a5/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:c80fcd3504232f13617c6ab501124d373e4895424e65de8b72042333316f64a8", size = 1495501 }, - { url = "https://files.pythonhosted.org/packages/05/4c/bf3cad0d64c3214ac881299c4562b815f05d503bccc513e3fd4fdc6f67e4/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:26a2a7451606b87f67cdeca2c2789d86f605da08b4bd616b1a9981605ca3a364", size = 1395540 }, - { url = "https://files.pythonhosted.org/packages/3d/d9/93773ae405b52dbc926c5edc49bce3542bac80a5098c7e709fa966976c7c/pyzmq-26.4.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:831cc53bf6068d46d942af52fa8b0b9d128fb39bcf1f80d468dc9a3ae1da5bfb", size = 1339905 }, - { url = "https://files.pythonhosted.org/packages/31/7d/85d2c99a248b55bcfcb3ec0c7a3175a5ddfb42032a7cd2b36025d8fe055f/pyzmq-26.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:51d18be6193c25bd229524cfac21e39887c8d5e0217b1857998dfbef57c070a4", size = 908123 }, - { url = "https://files.pythonhosted.org/packages/c6/68/6f901c9e8b5712957a8c8dbf17a53fc8580aa7d47c6337db465afd780abc/pyzmq-26.4.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:445c97854204119ae2232503585ebb4fa7517142f71092cb129e5ee547957a1f", size = 863367 }, - { url = "https://files.pythonhosted.org/packages/e3/e0/accaa00da527fa5ea3094419e8293cafd28ce7361ad4b95dd2e817c6e75c/pyzmq-26.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:807b8f4ad3e6084412c0f3df0613269f552110fa6fb91743e3e306223dbf11a6", size = 673295 }, - { url = "https://files.pythonhosted.org/packages/8d/11/41af9c4e6d256fb1ef7fef3b9f5f5f46c2875fa0aac22740f1a002fa6af3/pyzmq-26.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c01d109dd675ac47fa15c0a79d256878d898f90bc10589f808b62d021d2e653c", size = 1205674 }, - { url = "https://files.pythonhosted.org/packages/31/8d/fa70402a39664ee4d44be88c01bfd15169ef46b869726e701c3aa1090151/pyzmq-26.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0a294026e28679a8dd64c922e59411cb586dad307661b4d8a5c49e7bbca37621", size = 1515757 }, - { url = "https://files.pythonhosted.org/packages/0f/82/cb353a1da80dc5c780536a71a4aa57aa15d736dad3400869812fabca2fee/pyzmq-26.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:22c8dd677274af8dfb1efd05006d6f68fb2f054b17066e308ae20cb3f61028cf", size = 1415781 }, - { url = "https://files.pythonhosted.org/packages/c6/bc/9e2a98c4835f56c9b222b5cb5a9c6029fb277ed970c532d339a1f36b740c/pyzmq-26.4.0-cp38-cp38-win32.whl", hash = "sha256:14fc678b696bc42c14e2d7f86ac4e97889d5e6b94d366ebcb637a768d2ad01af", size = 580519 }, - { url = "https://files.pythonhosted.org/packages/0b/db/ae2cb0338c77ec1a01d18ce727272fe770ec6c8e834ddb95b12a4674474f/pyzmq-26.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:d1ef0a536662bbbdc8525f7e2ef19e74123ec9c4578e0582ecd41aedc414a169", size = 644696 }, - { url = "https://files.pythonhosted.org/packages/06/91/21d3af57bc77e86e9d1e5384f256fd25cdb4c8eed4c45c8119da8120915f/pyzmq-26.4.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a88643de8abd000ce99ca72056a1a2ae15881ee365ecb24dd1d9111e43d57842", size = 1340634 }, - { url = "https://files.pythonhosted.org/packages/54/e6/58cd825023e998a0e49db7322b3211e6cf93f0796710b77d1496304c10d1/pyzmq-26.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a744ce209ecb557406fb928f3c8c55ce79b16c3eeb682da38ef5059a9af0848", size = 907880 }, - { url = "https://files.pythonhosted.org/packages/72/83/619e44a766ef738cb7e8ed8e5a54565627801bdb027ca6dfb70762385617/pyzmq-26.4.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9434540f333332224ecb02ee6278b6c6f11ea1266b48526e73c903119b2f420f", size = 863003 }, - { url = "https://files.pythonhosted.org/packages/b6/6a/a59af31320598bdc63d2c5a3181d14a89673c2c794540678285482e8a342/pyzmq-26.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6c6f0a23e55cd38d27d4c89add963294ea091ebcb104d7fdab0f093bc5abb1c", size = 673432 }, - { url = "https://files.pythonhosted.org/packages/29/ae/64dd6c18b08ce2cb009c60f11cf01c87f323acd80344d8b059c0304a7370/pyzmq-26.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6145df55dc2309f6ef72d70576dcd5aabb0fd373311613fe85a5e547c722b780", size = 1205221 }, - { url = "https://files.pythonhosted.org/packages/d0/0b/c583ab750957b025244a66948831bc9ca486d11c820da4626caf6480ee1a/pyzmq-26.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2ea81823840ef8c56e5d2f9918e4d571236294fea4d1842b302aebffb9e40997", size = 1515299 }, - { url = "https://files.pythonhosted.org/packages/22/ba/95ba76292c49dd9c6dff1f127b4867033020b708d101cba6e4fc5a3d166d/pyzmq-26.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cc2abc385dc37835445abe206524fbc0c9e3fce87631dfaa90918a1ba8f425eb", size = 1415366 }, - { url = "https://files.pythonhosted.org/packages/6e/65/51abe36169effda26ac7400ffac96f463e09dff40d344cdc2629d9a59162/pyzmq-26.4.0-cp39-cp39-win32.whl", hash = "sha256:41a2508fe7bed4c76b4cf55aacfb8733926f59d440d9ae2b81ee8220633b4d12", size = 580773 }, - { url = "https://files.pythonhosted.org/packages/89/68/d9ac94086c63a0ed8d73e9e8aec54b39f481696698a5a939a7207629fb30/pyzmq-26.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:d4000e8255d6cbce38982e5622ebb90823f3409b7ffe8aeae4337ef7d6d2612a", size = 644340 }, - { url = "https://files.pythonhosted.org/packages/dc/8f/66c261d657c1b0791ee5b372c90b1646b453adb581fcdc1dc5c94e5b03e3/pyzmq-26.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f6919d9c120488246bdc2a2f96662fa80d67b35bd6d66218f457e722b3ff64", size = 560075 }, - { url = "https://files.pythonhosted.org/packages/47/03/96004704a84095f493be8d2b476641f5c967b269390173f85488a53c1c13/pyzmq-26.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:98d948288ce893a2edc5ec3c438fe8de2daa5bbbd6e2e865ec5f966e237084ba", size = 834408 }, - { url = "https://files.pythonhosted.org/packages/e4/7f/68d8f3034a20505db7551cb2260248be28ca66d537a1ac9a257913d778e4/pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9f34f5c9e0203ece706a1003f1492a56c06c0632d86cb77bcfe77b56aacf27b", size = 569580 }, - { url = "https://files.pythonhosted.org/packages/9b/a6/2b0d6801ec33f2b2a19dd8d02e0a1e8701000fec72926e6787363567d30c/pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80c9b48aef586ff8b698359ce22f9508937c799cc1d2c9c2f7c95996f2300c94", size = 798250 }, - { url = "https://files.pythonhosted.org/packages/96/2a/0322b3437de977dcac8a755d6d7ce6ec5238de78e2e2d9353730b297cf12/pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3f2a5b74009fd50b53b26f65daff23e9853e79aa86e0aa08a53a7628d92d44a", size = 756758 }, - { url = "https://files.pythonhosted.org/packages/c2/33/43704f066369416d65549ccee366cc19153911bec0154da7c6b41fca7e78/pyzmq-26.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:61c5f93d7622d84cb3092d7f6398ffc77654c346545313a3737e266fc11a3beb", size = 555371 }, - { url = "https://files.pythonhosted.org/packages/04/52/a70fcd5592715702248306d8e1729c10742c2eac44529984413b05c68658/pyzmq-26.4.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4478b14cb54a805088299c25a79f27eaf530564a7a4f72bf432a040042b554eb", size = 834405 }, - { url = "https://files.pythonhosted.org/packages/25/f9/1a03f1accff16b3af1a6fa22cbf7ced074776abbf688b2e9cb4629700c62/pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a28ac29c60e4ba84b5f58605ace8ad495414a724fe7aceb7cf06cd0598d04e1", size = 569578 }, - { url = "https://files.pythonhosted.org/packages/76/0c/3a633acd762aa6655fcb71fa841907eae0ab1e8582ff494b137266de341d/pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43b03c1ceea27c6520124f4fb2ba9c647409b9abdf9a62388117148a90419494", size = 798248 }, - { url = "https://files.pythonhosted.org/packages/cd/cc/6c99c84aa60ac1cc56747bed6be8ce6305b9b861d7475772e7a25ce019d3/pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7731abd23a782851426d4e37deb2057bf9410848a4459b5ede4fe89342e687a9", size = 756757 }, - { url = "https://files.pythonhosted.org/packages/13/9c/d8073bd898eb896e94c679abe82e47506e2b750eb261cf6010ced869797c/pyzmq-26.4.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a222ad02fbe80166b0526c038776e8042cd4e5f0dec1489a006a1df47e9040e0", size = 555371 }, - { url = "https://files.pythonhosted.org/packages/e0/b2/07dc7f522f7b91984dd1f7657335c53a87b02a91b4346ac817a01d7eccf2/pyzmq-26.4.0-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:91c3ffaea475ec8bb1a32d77ebc441dcdd13cd3c4c284a6672b92a0f5ade1917", size = 834386 }, - { url = "https://files.pythonhosted.org/packages/fa/84/2a14c4e541eab15d850b283f715351bb2eef85880f0de138e0556ca4db2b/pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d9a78a52668bf5c9e7b0da36aa5760a9fc3680144e1445d68e98df78a25082ed", size = 806046 }, - { url = "https://files.pythonhosted.org/packages/76/d3/afc76763f19b14e8ee652e7258d5707982b96c3a49b77916db0bdc6a8b00/pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b70cab356ff8c860118b89dc86cd910c73ce2127eb986dada4fbac399ef644cf", size = 760820 }, - { url = "https://files.pythonhosted.org/packages/8e/f3/f78b81769cdceb3d5ef606641d574d81aea76ec1e09de561aca6c453f8dc/pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acae207d4387780838192326b32d373bb286da0b299e733860e96f80728eb0af", size = 569570 }, - { url = "https://files.pythonhosted.org/packages/1f/ac/cbffbc88c3c2e921607187340e86910e696740838c2c379c236e16d9102f/pyzmq-26.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f928eafd15794aa4be75463d537348b35503c1e014c5b663f206504ec1a90fe4", size = 555368 }, - { url = "https://files.pythonhosted.org/packages/af/b2/71a644b629e1a93ccae9e22a45aec9d23065dfcc24c399cb837f81cd08c2/pyzmq-26.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:552b0d2e39987733e1e9e948a0ced6ff75e0ea39ab1a1db2fc36eb60fd8760db", size = 834397 }, - { url = "https://files.pythonhosted.org/packages/a9/dd/052a25651eaaff8f5fd652fb40a3abb400e71207db2d605cf6faf0eac598/pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd670a8aa843f2ee637039bbd412e0d7294a5e588e1ecc9ad98b0cdc050259a4", size = 569571 }, - { url = "https://files.pythonhosted.org/packages/a5/5d/201ca10b5d12ab187a418352c06d70c3e2087310af038b11056aba1359be/pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d367b7b775a0e1e54a59a2ba3ed4d5e0a31566af97cc9154e34262777dab95ed", size = 798243 }, - { url = "https://files.pythonhosted.org/packages/bd/d4/2c64e54749536ad1633400f28d71e71e19375d00ce1fe9bb1123364dc927/pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112af16c406e4a93df2caef49f884f4c2bb2b558b0b5577ef0b2465d15c1abc", size = 756751 }, - { url = "https://files.pythonhosted.org/packages/08/e6/34d119af43d06a8dcd88bf7a62dac69597eaba52b49ecce76ff06b40f1fd/pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c76c298683f82669cab0b6da59071f55238c039738297c69f187a542c6d40099", size = 745400 }, - { url = "https://files.pythonhosted.org/packages/f8/49/b5e471d74a63318e51f30d329b17d2550bdededaab55baed2e2499de7ce4/pyzmq-26.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:49b6ca2e625b46f499fb081aaf7819a177f41eeb555acb05758aa97f4f95d147", size = 555367 }, -] - -[[package]] -name = "quantities" -version = "0.16.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/72/c0/558372afa9b0bb485e56d15eacee7a099cac7fb744c0b2ac17734b4d5468/quantities-0.16.0.tar.gz", hash = "sha256:211cce2d268da7e202abab5c2533ce3200ff619dd8ac2a3cd98f861b8a57c6eb", size = 100698 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/80/39/d28abebdaac6f455109bae1cd6a40caca1f7ff8e877cbbe69ddad8ae0af2/quantities-0.16.0-py3-none-any.whl", hash = "sha256:189e573953e7864d8c303a3472f6ad39fbe0698c3d75c17059b70bc457c7c66d", size = 102143 }, -] - -[[package]] -name = "quantities" -version = "0.16.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/40/b4/a14dbeebf8ab08600152f157344fd88db961a3afdfd0eddc25958c5182a1/quantities-0.16.2.tar.gz", hash = "sha256:1f7c24f10d9ff57ddf751a358ea2fdfa9914516722f06a788ef4a2924c77d21c", size = 101862 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/17/0c/b4ee3f929bbe564101f110080dcdd33d1181a6f8a041cc9e21d992509b52/quantities-0.16.2-py3-none-any.whl", hash = "sha256:bd5b1ed422770b7cd8952ccfccaf67a89024ae0ecb31b1eacbc7ff966899ab34", size = 103021 }, -] - -[[package]] -name = "referencing" -version = "0.35.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "attrs", marker = "python_full_version < '3.9'" }, - { name = "rpds-py", version = "0.20.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684 }, -] - -[[package]] -name = "referencing" -version = "0.36.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "attrs", marker = "python_full_version >= '3.9'" }, - { name = "rpds-py", version = "0.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, -] - -[[package]] -name = "requests" -version = "2.32.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "certifi" }, - { name = "charset-normalizer" }, - { name = "idna" }, - { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, -] - -[[package]] -name = "rfc3339-validator" -version = "0.1.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "six" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490 }, -] - -[[package]] -name = "rfc3986-validator" -version = "0.1.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242 }, -] - -[[package]] -name = "rpds-py" -version = "0.20.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/25/cb/8e919951f55d109d658f81c9b49d0cc3b48637c50792c5d2e77032b8c5da/rpds_py-0.20.1.tar.gz", hash = "sha256:e1791c4aabd117653530dccd24108fa03cc6baf21f58b950d0a73c3b3b29a350", size = 25931 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/0e/d7e7e9280988a7bc56fd326042baca27f4f55fad27dc8aa64e5e0e894e5d/rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad", size = 327335 }, - { url = "https://files.pythonhosted.org/packages/4c/72/027185f213d53ae66765c575229829b202fbacf3d55fe2bd9ff4e29bb157/rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f", size = 318250 }, - { url = "https://files.pythonhosted.org/packages/2b/e7/b4eb3e6ff541c83d3b46f45f855547e412ab60c45bef64520fafb00b9b42/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14511a539afee6f9ab492b543060c7491c99924314977a55c98bfa2ee29ce78c", size = 361206 }, - { url = "https://files.pythonhosted.org/packages/e7/80/cb9a4b4cad31bcaa37f38dae7a8be861f767eb2ca4f07a146b5ffcfbee09/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ccb8ac2d3c71cda472b75af42818981bdacf48d2e21c36331b50b4f16930163", size = 369921 }, - { url = "https://files.pythonhosted.org/packages/95/1b/463b11e7039e18f9e778568dbf7338c29bbc1f8996381115201c668eb8c8/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c142b88039b92e7e0cb2552e8967077e3179b22359e945574f5e2764c3953dcf", size = 403673 }, - { url = "https://files.pythonhosted.org/packages/86/98/1ef4028e9d5b76470bf7f8f2459be07ac5c9621270a2a5e093f8d8a8cc2c/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f19169781dddae7478a32301b499b2858bc52fc45a112955e798ee307e294977", size = 430267 }, - { url = "https://files.pythonhosted.org/packages/25/8e/41d7e3e6d3a4a6c94375020477705a3fbb6515717901ab8f94821cf0a0d9/rpds_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13c56de6518e14b9bf6edde23c4c39dac5b48dcf04160ea7bce8fca8397cdf86", size = 360569 }, - { url = "https://files.pythonhosted.org/packages/4f/6a/8839340464d4e1bbfaf0482e9d9165a2309c2c17427e4dcb72ce3e5cc5d6/rpds_py-0.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:925d176a549f4832c6f69fa6026071294ab5910e82a0fe6c6228fce17b0706bd", size = 382584 }, - { url = "https://files.pythonhosted.org/packages/64/96/7a7f938d3796a6a3ec08ed0e8a5ecd436fbd516a3684ab1fa22d46d6f6cc/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78f0b6877bfce7a3d1ff150391354a410c55d3cdce386f862926a4958ad5ab7e", size = 546560 }, - { url = "https://files.pythonhosted.org/packages/15/c7/19fb4f1247a3c90a99eca62909bf76ee988f9b663e47878a673d9854ec5c/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dd645e2b0dcb0fd05bf58e2e54c13875847687d0b71941ad2e757e5d89d4356", size = 549359 }, - { url = "https://files.pythonhosted.org/packages/d2/4c/445eb597a39a883368ea2f341dd6e48a9d9681b12ebf32f38a827b30529b/rpds_py-0.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4f676e21db2f8c72ff0936f895271e7a700aa1f8d31b40e4e43442ba94973899", size = 527567 }, - { url = "https://files.pythonhosted.org/packages/4f/71/4c44643bffbcb37311fc7fe221bcf139c8d660bc78f746dd3a05741372c8/rpds_py-0.20.1-cp310-none-win32.whl", hash = "sha256:648386ddd1e19b4a6abab69139b002bc49ebf065b596119f8f37c38e9ecee8ff", size = 200412 }, - { url = "https://files.pythonhosted.org/packages/f4/33/9d0529d74099e090ec9ab15eb0a049c56cca599eaaca71bfedbdbca656a9/rpds_py-0.20.1-cp310-none-win_amd64.whl", hash = "sha256:d9ecb51120de61e4604650666d1f2b68444d46ae18fd492245a08f53ad2b7711", size = 218563 }, - { url = "https://files.pythonhosted.org/packages/a0/2e/a6ded84019a05b8f23e0fe6a632f62ae438a8c5e5932d3dfc90c73418414/rpds_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:762703bdd2b30983c1d9e62b4c88664df4a8a4d5ec0e9253b0231171f18f6d75", size = 327194 }, - { url = "https://files.pythonhosted.org/packages/68/11/d3f84c69de2b2086be3d6bd5e9d172825c096b13842ab7e5f8f39f06035b/rpds_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b581f47257a9fce535c4567782a8976002d6b8afa2c39ff616edf87cbeff712", size = 318126 }, - { url = "https://files.pythonhosted.org/packages/18/c0/13f1bce9c901511e5e4c0b77a99dbb946bb9a177ca88c6b480e9cb53e304/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:842c19a6ce894493563c3bd00d81d5100e8e57d70209e84d5491940fdb8b9e3a", size = 361119 }, - { url = "https://files.pythonhosted.org/packages/06/31/3bd721575671f22a37476c2d7b9e34bfa5185bdcee09f7fedde3b29f3adb/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42cbde7789f5c0bcd6816cb29808e36c01b960fb5d29f11e052215aa85497c93", size = 369532 }, - { url = "https://files.pythonhosted.org/packages/20/22/3eeb0385f33251b4fd0f728e6a3801dc8acc05e714eb7867cefe635bf4ab/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c8e9340ce5a52f95fa7d3b552b35c7e8f3874d74a03a8a69279fd5fca5dc751", size = 403703 }, - { url = "https://files.pythonhosted.org/packages/10/e1/8dde6174e7ac5b9acd3269afca2e17719bc7e5088c68f44874d2ad9e4560/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ba6f89cac95c0900d932c9efb7f0fb6ca47f6687feec41abcb1bd5e2bd45535", size = 429868 }, - { url = "https://files.pythonhosted.org/packages/19/51/a3cc1a5238acfc2582033e8934d034301f9d4931b9bf7c7ccfabc4ca0880/rpds_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a916087371afd9648e1962e67403c53f9c49ca47b9680adbeef79da3a7811b0", size = 360539 }, - { url = "https://files.pythonhosted.org/packages/cd/8c/3c87471a44bd4114e2b0aec90f298f6caaac4e8db6af904d5dd2279f5c61/rpds_py-0.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:200a23239781f46149e6a415f1e870c5ef1e712939fe8fa63035cd053ac2638e", size = 382467 }, - { url = "https://files.pythonhosted.org/packages/d0/9b/95073fe3e0f130e6d561e106818b6568ef1f2df3352e7f162ab912da837c/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58b1d5dd591973d426cbb2da5e27ba0339209832b2f3315928c9790e13f159e8", size = 546669 }, - { url = "https://files.pythonhosted.org/packages/de/4c/7ab3669e02bb06fedebcfd64d361b7168ba39dfdf385e4109440f2e7927b/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b73c67850ca7cae0f6c56f71e356d7e9fa25958d3e18a64927c2d930859b8e4", size = 549304 }, - { url = "https://files.pythonhosted.org/packages/f1/e8/ad5da336cd42adbdafe0ecd40dcecdae01fd3d703c621c7637615a008d3a/rpds_py-0.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d8761c3c891cc51e90bc9926d6d2f59b27beaf86c74622c8979380a29cc23ac3", size = 527637 }, - { url = "https://files.pythonhosted.org/packages/02/f1/1b47b9e5b941c2659c9b7e4ef41b6f07385a6500c638fa10c066e4616ecb/rpds_py-0.20.1-cp311-none-win32.whl", hash = "sha256:cd945871335a639275eee904caef90041568ce3b42f402c6959b460d25ae8732", size = 200488 }, - { url = "https://files.pythonhosted.org/packages/85/f6/c751c1adfa31610055acfa1cc667cf2c2d7011a73070679c448cf5856905/rpds_py-0.20.1-cp311-none-win_amd64.whl", hash = "sha256:7e21b7031e17c6b0e445f42ccc77f79a97e2687023c5746bfb7a9e45e0921b84", size = 218475 }, - { url = "https://files.pythonhosted.org/packages/e7/10/4e8dcc08b58a548098dbcee67a4888751a25be7a6dde0a83d4300df48bfa/rpds_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:36785be22066966a27348444b40389f8444671630063edfb1a2eb04318721e17", size = 329749 }, - { url = "https://files.pythonhosted.org/packages/d2/e4/61144f3790e12fd89e6153d77f7915ad26779735fef8ee9c099cba6dfb4a/rpds_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:142c0a5124d9bd0e2976089484af5c74f47bd3298f2ed651ef54ea728d2ea42c", size = 321032 }, - { url = "https://files.pythonhosted.org/packages/fa/e0/99205aabbf3be29ef6c58ef9b08feed51ba6532fdd47461245cb58dd9897/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbddc10776ca7ebf2a299c41a4dde8ea0d8e3547bfd731cb87af2e8f5bf8962d", size = 363931 }, - { url = "https://files.pythonhosted.org/packages/ac/bd/bce2dddb518b13a7e77eed4be234c9af0c9c6d403d01c5e6ae8eb447ab62/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15a842bb369e00295392e7ce192de9dcbf136954614124a667f9f9f17d6a216f", size = 373343 }, - { url = "https://files.pythonhosted.org/packages/43/15/112b7c553066cb91264691ba7fb119579c440a0ae889da222fa6fc0d411a/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be5ef2f1fc586a7372bfc355986226484e06d1dc4f9402539872c8bb99e34b01", size = 406304 }, - { url = "https://files.pythonhosted.org/packages/af/8d/2da52aef8ae5494a382b0c0025ba5b68f2952db0f2a4c7534580e8ca83cc/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbcf360c9e3399b056a238523146ea77eeb2a596ce263b8814c900263e46031a", size = 423022 }, - { url = "https://files.pythonhosted.org/packages/c8/1b/f23015cb293927c93bdb4b94a48bfe77ad9d57359c75db51f0ff0cf482ff/rpds_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd27a66740ffd621d20b9a2f2b5ee4129a56e27bfb9458a3bcc2e45794c96cb", size = 364937 }, - { url = "https://files.pythonhosted.org/packages/7b/8b/6da8636b2ea2e2f709e56656e663b6a71ecd9a9f9d9dc21488aade122026/rpds_py-0.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0b937b2a1988f184a3e9e577adaa8aede21ec0b38320d6009e02bd026db04fa", size = 386301 }, - { url = "https://files.pythonhosted.org/packages/20/af/2ae192797bffd0d6d558145b5a36e7245346ff3e44f6ddcb82f0eb8512d4/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6889469bfdc1eddf489729b471303739bf04555bb151fe8875931f8564309afc", size = 549452 }, - { url = "https://files.pythonhosted.org/packages/07/dd/9f6520712a5108cd7d407c9db44a3d59011b385c58e320d58ebf67757a9e/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19b73643c802f4eaf13d97f7855d0fb527fbc92ab7013c4ad0e13a6ae0ed23bd", size = 554370 }, - { url = "https://files.pythonhosted.org/packages/5e/0e/b1bdc7ea0db0946d640ab8965146099093391bb5d265832994c47461e3c5/rpds_py-0.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3c6afcf2338e7f374e8edc765c79fbcb4061d02b15dd5f8f314a4af2bdc7feb5", size = 530940 }, - { url = "https://files.pythonhosted.org/packages/ae/d3/ffe907084299484fab60a7955f7c0e8a295c04249090218c59437010f9f4/rpds_py-0.20.1-cp312-none-win32.whl", hash = "sha256:dc73505153798c6f74854aba69cc75953888cf9866465196889c7cdd351e720c", size = 203164 }, - { url = "https://files.pythonhosted.org/packages/1f/ba/9cbb57423c4bfbd81c473913bebaed151ad4158ee2590a4e4b3e70238b48/rpds_py-0.20.1-cp312-none-win_amd64.whl", hash = "sha256:8bbe951244a838a51289ee53a6bae3a07f26d4e179b96fc7ddd3301caf0518eb", size = 220750 }, - { url = "https://files.pythonhosted.org/packages/b5/01/fee2e1d1274c92fff04aa47d805a28d62c2aa971d1f49f5baea1c6e670d9/rpds_py-0.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6ca91093a4a8da4afae7fe6a222c3b53ee4eef433ebfee4d54978a103435159e", size = 329359 }, - { url = "https://files.pythonhosted.org/packages/b0/cf/4aeffb02b7090029d7aeecbffb9a10e1c80f6f56d7e9a30e15481dc4099c/rpds_py-0.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9c2fe36d1f758b28121bef29ed1dee9b7a2453e997528e7d1ac99b94892527c", size = 320543 }, - { url = "https://files.pythonhosted.org/packages/17/69/85cf3429e9ccda684ba63ff36b5866d5f9451e921cc99819341e19880334/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f009c69bc8c53db5dfab72ac760895dc1f2bc1b62ab7408b253c8d1ec52459fc", size = 363107 }, - { url = "https://files.pythonhosted.org/packages/ef/de/7df88dea9c3eeb832196d23b41f0f6fc5f9a2ee9b2080bbb1db8731ead9c/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6740a3e8d43a32629bb9b009017ea5b9e713b7210ba48ac8d4cb6d99d86c8ee8", size = 372027 }, - { url = "https://files.pythonhosted.org/packages/d1/b8/88675399d2038580743c570a809c43a900e7090edc6553f8ffb66b23c965/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32b922e13d4c0080d03e7b62991ad7f5007d9cd74e239c4b16bc85ae8b70252d", size = 405031 }, - { url = "https://files.pythonhosted.org/packages/e1/aa/cca639f6d17caf00bab51bdc70fcc0bdda3063e5662665c4fdf60443c474/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe00a9057d100e69b4ae4a094203a708d65b0f345ed546fdef86498bf5390982", size = 422271 }, - { url = "https://files.pythonhosted.org/packages/c4/07/bf8a949d2ec4626c285579c9d6b356c692325f1a4126e947736b416e1fc4/rpds_py-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49fe9b04b6fa685bd39237d45fad89ba19e9163a1ccaa16611a812e682913496", size = 363625 }, - { url = "https://files.pythonhosted.org/packages/11/f0/06675c6a58d6ce34547879138810eb9aab0c10e5607ea6c2e4dc56b703c8/rpds_py-0.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa7ac11e294304e615b43f8c441fee5d40094275ed7311f3420d805fde9b07b4", size = 385906 }, - { url = "https://files.pythonhosted.org/packages/bf/ac/2d1f50374eb8e41030fad4e87f81751e1c39e3b5d4bee8c5618830d8a6ac/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aa97af1558a9bef4025f8f5d8c60d712e0a3b13a2fe875511defc6ee77a1ab7", size = 549021 }, - { url = "https://files.pythonhosted.org/packages/f7/d4/a7d70a7cc71df772eeadf4bce05e32e780a9fe44a511a5b091c7a85cb767/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:483b29f6f7ffa6af845107d4efe2e3fa8fb2693de8657bc1849f674296ff6a5a", size = 553800 }, - { url = "https://files.pythonhosted.org/packages/87/81/dc30bc449ccba63ad23a0f6633486d4e0e6955f45f3715a130dacabd6ad0/rpds_py-0.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37fe0f12aebb6a0e3e17bb4cd356b1286d2d18d2e93b2d39fe647138458b4bcb", size = 531076 }, - { url = "https://files.pythonhosted.org/packages/50/80/fb62ab48f3b5cfe704ead6ad372da1922ddaa76397055e02eb507054c979/rpds_py-0.20.1-cp313-none-win32.whl", hash = "sha256:a624cc00ef2158e04188df5e3016385b9353638139a06fb77057b3498f794782", size = 202804 }, - { url = "https://files.pythonhosted.org/packages/d9/30/a3391e76d0b3313f33bdedd394a519decae3a953d2943e3dabf80ae32447/rpds_py-0.20.1-cp313-none-win_amd64.whl", hash = "sha256:b71b8666eeea69d6363248822078c075bac6ed135faa9216aa85f295ff009b1e", size = 220502 }, - { url = "https://files.pythonhosted.org/packages/53/ef/b1883734ea0cd9996de793cdc38c32a28143b04911d1e570090acd8a9162/rpds_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5b48e790e0355865197ad0aca8cde3d8ede347831e1959e158369eb3493d2191", size = 327757 }, - { url = "https://files.pythonhosted.org/packages/54/63/47d34dc4ddb3da73e78e10c9009dcf8edc42d355a221351c05c822c2a50b/rpds_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e310838a5801795207c66c73ea903deda321e6146d6f282e85fa7e3e4854804", size = 318785 }, - { url = "https://files.pythonhosted.org/packages/f7/e1/d6323be4afbe3013f28725553b7bfa80b3f013f91678af258f579f8ea8f9/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249280b870e6a42c0d972339e9cc22ee98730a99cd7f2f727549af80dd5a963", size = 361511 }, - { url = "https://files.pythonhosted.org/packages/ab/d3/c40e4d9ecd571f0f50fe69bc53fe608d7b2c49b30738b480044990260838/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e79059d67bea28b53d255c1437b25391653263f0e69cd7dec170d778fdbca95e", size = 370201 }, - { url = "https://files.pythonhosted.org/packages/f1/b6/96a4a9977a8a06c2c49d90aa571346aff1642abf15066a39a0b4817bf049/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b431c777c9653e569986ecf69ff4a5dba281cded16043d348bf9ba505486f36", size = 403866 }, - { url = "https://files.pythonhosted.org/packages/cd/8f/702b52287949314b498a311f92b5ee0ba30c702a27e0e6b560e2da43b8d5/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da584ff96ec95e97925174eb8237e32f626e7a1a97888cdd27ee2f1f24dd0ad8", size = 430163 }, - { url = "https://files.pythonhosted.org/packages/c4/ce/af016c81fda833bf125b20d1677d816f230cad2ab189f46bcbfea3c7a375/rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a0629ec053fc013808a85178524e3cb63a61dbc35b22499870194a63578fb9", size = 360776 }, - { url = "https://files.pythonhosted.org/packages/08/a7/988e179c9bef55821abe41762228d65077e0570ca75c9efbcd1bc6e263b4/rpds_py-0.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fbf15aff64a163db29a91ed0868af181d6f68ec1a3a7d5afcfe4501252840bad", size = 383008 }, - { url = "https://files.pythonhosted.org/packages/96/b0/e4077f7f1b9622112ae83254aedfb691490278793299bc06dcf54ec8c8e4/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:07924c1b938798797d60c6308fa8ad3b3f0201802f82e4a2c41bb3fafb44cc28", size = 546371 }, - { url = "https://files.pythonhosted.org/packages/e4/5e/1d4dd08ec0352cfe516ea93ea1993c2f656f893c87dafcd9312bd07f65f7/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4a5a844f68776a7715ecb30843b453f07ac89bad393431efbf7accca3ef599c1", size = 549809 }, - { url = "https://files.pythonhosted.org/packages/57/ac/a716b4729ff23ec034b7d2ff76a86e6f0753c4098401bdfdf55b2efe90e6/rpds_py-0.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:518d2ca43c358929bf08f9079b617f1c2ca6e8848f83c1225c88caeac46e6cbc", size = 528492 }, - { url = "https://files.pythonhosted.org/packages/e0/ed/a0b58a9ecef79918169eacdabd14eb4c5c86ce71184ed56b80c6eb425828/rpds_py-0.20.1-cp38-none-win32.whl", hash = "sha256:3aea7eed3e55119635a74bbeb80b35e776bafccb70d97e8ff838816c124539f1", size = 200512 }, - { url = "https://files.pythonhosted.org/packages/5f/c3/222e25124283afc76c473fcd2c547e82ec57683fa31cb4d6c6eb44e5d57a/rpds_py-0.20.1-cp38-none-win_amd64.whl", hash = "sha256:7dca7081e9a0c3b6490a145593f6fe3173a94197f2cb9891183ef75e9d64c425", size = 218627 }, - { url = "https://files.pythonhosted.org/packages/d6/87/e7e0fcbfdc0d0e261534bcc885f6ae6253095b972e32f8b8b1278c78a2a9/rpds_py-0.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b41b6321805c472f66990c2849e152aff7bc359eb92f781e3f606609eac877ad", size = 327867 }, - { url = "https://files.pythonhosted.org/packages/93/a0/17836b7961fc82586e9b818abdee2a27e2e605a602bb8c0d43f02092f8c2/rpds_py-0.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a90c373ea2975519b58dece25853dbcb9779b05cc46b4819cb1917e3b3215b6", size = 318893 }, - { url = "https://files.pythonhosted.org/packages/dc/03/deb81d8ea3a8b974e7b03cfe8c8c26616ef8f4980dd430d8dd0a2f1b4d8e/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d4477bcb9fbbd7b5b0e4a5d9b493e42026c0bf1f06f723a9353f5153e75d30", size = 361664 }, - { url = "https://files.pythonhosted.org/packages/16/49/d9938603731745c7b6babff97ca61ff3eb4619e7128b5ab0111ad4e91d6d/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b8382a90539910b53a6307f7c35697bc7e6ffb25d9c1d4e998a13e842a5e83", size = 369796 }, - { url = "https://files.pythonhosted.org/packages/87/d2/480b36c69cdc373853401b6aab6a281cf60f6d72b1545d82c0d23d9dd77c/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4888e117dd41b9d34194d9e31631af70d3d526efc363085e3089ab1a62c32ed1", size = 403860 }, - { url = "https://files.pythonhosted.org/packages/31/7c/f6d909cb57761293308dbef14f1663d84376f2e231892a10aafc57b42037/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5265505b3d61a0f56618c9b941dc54dc334dc6e660f1592d112cd103d914a6db", size = 430793 }, - { url = "https://files.pythonhosted.org/packages/d4/62/c9bd294c4b5f84d9cc2c387b548ae53096ad7e71ac5b02b6310e9dc85aa4/rpds_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e75ba609dba23f2c95b776efb9dd3f0b78a76a151e96f96cc5b6b1b0004de66f", size = 360927 }, - { url = "https://files.pythonhosted.org/packages/c1/a7/15d927d83a44da8307a432b1cac06284b6657706d099a98cc99fec34ad51/rpds_py-0.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1791ff70bc975b098fe6ecf04356a10e9e2bd7dc21fa7351c1742fdeb9b4966f", size = 382660 }, - { url = "https://files.pythonhosted.org/packages/4c/28/0630719c18456238bb07d59c4302fed50a13aa8035ec23dbfa80d116f9bc/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d126b52e4a473d40232ec2052a8b232270ed1f8c9571aaf33f73a14cc298c24f", size = 546888 }, - { url = "https://files.pythonhosted.org/packages/b9/75/3c9bda11b9c15d680b315f898af23825159314d4b56568f24b53ace8afcd/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c14937af98c4cc362a1d4374806204dd51b1e12dded1ae30645c298e5a5c4cb1", size = 550088 }, - { url = "https://files.pythonhosted.org/packages/70/f1/8fe7d04c194218171220a412057429defa9e2da785de0777c4d39309337e/rpds_py-0.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3d089d0b88996df627693639d123c8158cff41c0651f646cd8fd292c7da90eaf", size = 528270 }, - { url = "https://files.pythonhosted.org/packages/d6/62/41b0020f4b00af042b008e679dbe25a2f5bce655139a81f8b812f9068e52/rpds_py-0.20.1-cp39-none-win32.whl", hash = "sha256:653647b8838cf83b2e7e6a0364f49af96deec64d2a6578324db58380cff82aca", size = 200658 }, - { url = "https://files.pythonhosted.org/packages/05/01/e64bb8889f2dcc951e53de33d8b8070456397ae4e10edc35e6cb9908f5c8/rpds_py-0.20.1-cp39-none-win_amd64.whl", hash = "sha256:fa41a64ac5b08b292906e248549ab48b69c5428f3987b09689ab2441f267d04d", size = 218883 }, - { url = "https://files.pythonhosted.org/packages/b6/fa/7959429e69569d0f6e7d27f80451402da0409349dd2b07f6bcbdd5fad2d3/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a07ced2b22f0cf0b55a6a510078174c31b6d8544f3bc00c2bcee52b3d613f74", size = 328209 }, - { url = "https://files.pythonhosted.org/packages/25/97/5dfdb091c30267ff404d2fd9e70c7a6d6ffc65ca77fffe9456e13b719066/rpds_py-0.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:68cb0a499f2c4a088fd2f521453e22ed3527154136a855c62e148b7883b99f9a", size = 319499 }, - { url = "https://files.pythonhosted.org/packages/7c/98/cf2608722400f5f9bb4c82aa5ac09026f3ac2ebea9d4059d3533589ed0b6/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa3060d885657abc549b2a0f8e1b79699290e5d83845141717c6c90c2df38311", size = 361795 }, - { url = "https://files.pythonhosted.org/packages/89/de/0e13dd43c785c60e63933e96fbddda0b019df6862f4d3019bb49c3861131/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:95f3b65d2392e1c5cec27cff08fdc0080270d5a1a4b2ea1d51d5f4a2620ff08d", size = 370604 }, - { url = "https://files.pythonhosted.org/packages/8a/fc/fe3c83c77f82b8059eeec4e998064913d66212b69b3653df48f58ad33d3d/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2cc3712a4b0b76a1d45a9302dd2f53ff339614b1c29603a911318f2357b04dd2", size = 404177 }, - { url = "https://files.pythonhosted.org/packages/94/30/5189518bfb80a41f664daf32b46645c7fbdcc89028a0f1bfa82e806e0fbb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d4eea0761e37485c9b81400437adb11c40e13ef513375bbd6973e34100aeb06", size = 430108 }, - { url = "https://files.pythonhosted.org/packages/67/0e/6f069feaff5c298375cd8c55e00ecd9bd79c792ce0893d39448dc0097857/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f5179583d7a6cdb981151dd349786cbc318bab54963a192692d945dd3f6435d", size = 361184 }, - { url = "https://files.pythonhosted.org/packages/27/9f/ce3e2ae36f392c3ef1988c06e9e0b4c74f64267dad7c223003c34da11adb/rpds_py-0.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fbb0ffc754490aff6dabbf28064be47f0f9ca0b9755976f945214965b3ace7e", size = 384140 }, - { url = "https://files.pythonhosted.org/packages/5f/d5/89d44504d0bc7a1135062cb520a17903ff002f458371b8d9160af3b71e52/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a94e52537a0e0a85429eda9e49f272ada715506d3b2431f64b8a3e34eb5f3e75", size = 546589 }, - { url = "https://files.pythonhosted.org/packages/8f/8f/e1c2db4fcca3947d9a28ec9553700b4dc8038f0eff575f579e75885b0661/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:92b68b79c0da2a980b1c4197e56ac3dd0c8a149b4603747c4378914a68706979", size = 550059 }, - { url = "https://files.pythonhosted.org/packages/67/29/00a9e986df36721b5def82fff60995c1ee8827a7d909a6ec8929fb4cc668/rpds_py-0.20.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:93da1d3db08a827eda74356f9f58884adb254e59b6664f64cc04cdff2cc19b0d", size = 529131 }, - { url = "https://files.pythonhosted.org/packages/a3/32/95364440560ec476b19c6a2704259e710c223bf767632ebaa72cc2a1760f/rpds_py-0.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:754bbed1a4ca48479e9d4182a561d001bbf81543876cdded6f695ec3d465846b", size = 219677 }, - { url = "https://files.pythonhosted.org/packages/ed/bf/ad8492e972c90a3d48a38e2b5095c51a8399d5b57e83f2d5d1649490f72b/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ca449520e7484534a2a44faf629362cae62b660601432d04c482283c47eaebab", size = 328046 }, - { url = "https://files.pythonhosted.org/packages/75/fd/84f42386165d6d555acb76c6d39c90b10c9dcf25116daf4f48a0a9d6867a/rpds_py-0.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:9c4cb04a16b0f199a8c9bf807269b2f63b7b5b11425e4a6bd44bd6961d28282c", size = 319306 }, - { url = "https://files.pythonhosted.org/packages/6c/8a/abcd5119a0573f9588ad71a3fde3c07ddd1d1393cfee15a6ba7495c256f1/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63804105143c7e24cee7db89e37cb3f3941f8e80c4379a0b355c52a52b6780", size = 362558 }, - { url = "https://files.pythonhosted.org/packages/9d/65/1c2bb10afd4bd32800227a658ae9097bc1d08a4e5048a57a9bd2efdf6306/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:55cd1fa4ecfa6d9f14fbd97ac24803e6f73e897c738f771a9fe038f2f11ff07c", size = 370811 }, - { url = "https://files.pythonhosted.org/packages/6c/ee/f4bab2b9e51ced30351cfd210647885391463ae682028c79760e7db28e4e/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f8f741b6292c86059ed175d80eefa80997125b7c478fb8769fd9ac8943a16c0", size = 404660 }, - { url = "https://files.pythonhosted.org/packages/48/0f/9d04d0939682f0c97be827fc51ff986555ffb573e6781bd5132441f0ce25/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fc212779bf8411667234b3cdd34d53de6c2b8b8b958e1e12cb473a5f367c338", size = 430490 }, - { url = "https://files.pythonhosted.org/packages/0d/f2/e9b90fd8416d59941b6a12f2c2e1d898b63fd092f5a7a6f98236cb865764/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ad56edabcdb428c2e33bbf24f255fe2b43253b7d13a2cdbf05de955217313e6", size = 361448 }, - { url = "https://files.pythonhosted.org/packages/0b/83/1cc776dce7bedb17d6f4ea62eafccee8a57a4678f4fac414ab69fb9b6b0b/rpds_py-0.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a3a1e9ee9728b2c1734f65d6a1d376c6f2f6fdcc13bb007a08cc4b1ff576dc5", size = 383681 }, - { url = "https://files.pythonhosted.org/packages/17/5c/e0cdd6b0a8373fdef3667af2778dd9ff3abf1bbb9c7bd92c603c91440eb0/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e13de156137b7095442b288e72f33503a469aa1980ed856b43c353ac86390519", size = 546203 }, - { url = "https://files.pythonhosted.org/packages/1b/a8/81fc9cbc01e7ef6d10652aedc1de4e8473934773e2808ba49094e03575df/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:07f59760ef99f31422c49038964b31c4dfcfeb5d2384ebfc71058a7c9adae2d2", size = 549855 }, - { url = "https://files.pythonhosted.org/packages/b3/87/99648693d3c1bbce088119bc61ecaab62e5f9c713894edc604ffeca5ae88/rpds_py-0.20.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:59240685e7da61fb78f65a9f07f8108e36a83317c53f7b276b4175dc44151684", size = 528625 }, - { url = "https://files.pythonhosted.org/packages/05/c3/10c68a08849f1fa45d205e54141fa75d316013e3d701ef01770ee1220bb8/rpds_py-0.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:83cba698cfb3c2c5a7c3c6bac12fe6c6a51aae69513726be6411076185a8b24a", size = 219991 }, -] - -[[package]] -name = "rpds-py" -version = "0.25.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/8c/a6/60184b7fc00dd3ca80ac635dd5b8577d444c57e8e8742cecabfacb829921/rpds_py-0.25.1.tar.gz", hash = "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", size = 27304 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/09/e1158988e50905b7f8306487a576b52d32aa9a87f79f7ab24ee8db8b6c05/rpds_py-0.25.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9", size = 373140 }, - { url = "https://files.pythonhosted.org/packages/e0/4b/a284321fb3c45c02fc74187171504702b2934bfe16abab89713eedfe672e/rpds_py-0.25.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40", size = 358860 }, - { url = "https://files.pythonhosted.org/packages/4e/46/8ac9811150c75edeae9fc6fa0e70376c19bc80f8e1f7716981433905912b/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f", size = 386179 }, - { url = "https://files.pythonhosted.org/packages/f3/ec/87eb42d83e859bce91dcf763eb9f2ab117142a49c9c3d17285440edb5b69/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b", size = 400282 }, - { url = "https://files.pythonhosted.org/packages/68/c8/2a38e0707d7919c8c78e1d582ab15cf1255b380bcb086ca265b73ed6db23/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa", size = 521824 }, - { url = "https://files.pythonhosted.org/packages/5e/2c/6a92790243569784dde84d144bfd12bd45102f4a1c897d76375076d730ab/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e", size = 411644 }, - { url = "https://files.pythonhosted.org/packages/eb/76/66b523ffc84cf47db56efe13ae7cf368dee2bacdec9d89b9baca5e2e6301/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da", size = 386955 }, - { url = "https://files.pythonhosted.org/packages/b6/b9/a362d7522feaa24dc2b79847c6175daa1c642817f4a19dcd5c91d3e2c316/rpds_py-0.25.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380", size = 421039 }, - { url = "https://files.pythonhosted.org/packages/0f/c4/b5b6f70b4d719b6584716889fd3413102acf9729540ee76708d56a76fa97/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9", size = 563290 }, - { url = "https://files.pythonhosted.org/packages/87/a3/2e6e816615c12a8f8662c9d8583a12eb54c52557521ef218cbe3095a8afa/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54", size = 592089 }, - { url = "https://files.pythonhosted.org/packages/c0/08/9b8e1050e36ce266135994e2c7ec06e1841f1c64da739daeb8afe9cb77a4/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2", size = 558400 }, - { url = "https://files.pythonhosted.org/packages/f2/df/b40b8215560b8584baccd839ff5c1056f3c57120d79ac41bd26df196da7e/rpds_py-0.25.1-cp310-cp310-win32.whl", hash = "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24", size = 219741 }, - { url = "https://files.pythonhosted.org/packages/10/99/e4c58be18cf5d8b40b8acb4122bc895486230b08f978831b16a3916bd24d/rpds_py-0.25.1-cp310-cp310-win_amd64.whl", hash = "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a", size = 231553 }, - { url = "https://files.pythonhosted.org/packages/95/e1/df13fe3ddbbea43567e07437f097863b20c99318ae1f58a0fe389f763738/rpds_py-0.25.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d", size = 373341 }, - { url = "https://files.pythonhosted.org/packages/7a/58/deef4d30fcbcbfef3b6d82d17c64490d5c94585a2310544ce8e2d3024f83/rpds_py-0.25.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255", size = 359111 }, - { url = "https://files.pythonhosted.org/packages/bb/7e/39f1f4431b03e96ebaf159e29a0f82a77259d8f38b2dd474721eb3a8ac9b/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2", size = 386112 }, - { url = "https://files.pythonhosted.org/packages/db/e7/847068a48d63aec2ae695a1646089620b3b03f8ccf9f02c122ebaf778f3c/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0", size = 400362 }, - { url = "https://files.pythonhosted.org/packages/3b/3d/9441d5db4343d0cee759a7ab4d67420a476cebb032081763de934719727b/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f", size = 522214 }, - { url = "https://files.pythonhosted.org/packages/a2/ec/2cc5b30d95f9f1a432c79c7a2f65d85e52812a8f6cbf8768724571710786/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7", size = 411491 }, - { url = "https://files.pythonhosted.org/packages/dc/6c/44695c1f035077a017dd472b6a3253553780837af2fac9b6ac25f6a5cb4d/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd", size = 386978 }, - { url = "https://files.pythonhosted.org/packages/b1/74/b4357090bb1096db5392157b4e7ed8bb2417dc7799200fcbaee633a032c9/rpds_py-0.25.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65", size = 420662 }, - { url = "https://files.pythonhosted.org/packages/26/dd/8cadbebf47b96e59dfe8b35868e5c38a42272699324e95ed522da09d3a40/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f", size = 563385 }, - { url = "https://files.pythonhosted.org/packages/c3/ea/92960bb7f0e7a57a5ab233662f12152085c7dc0d5468534c65991a3d48c9/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d", size = 592047 }, - { url = "https://files.pythonhosted.org/packages/61/ad/71aabc93df0d05dabcb4b0c749277881f8e74548582d96aa1bf24379493a/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042", size = 557863 }, - { url = "https://files.pythonhosted.org/packages/93/0f/89df0067c41f122b90b76f3660028a466eb287cbe38efec3ea70e637ca78/rpds_py-0.25.1-cp311-cp311-win32.whl", hash = "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc", size = 219627 }, - { url = "https://files.pythonhosted.org/packages/7c/8d/93b1a4c1baa903d0229374d9e7aa3466d751f1d65e268c52e6039c6e338e/rpds_py-0.25.1-cp311-cp311-win_amd64.whl", hash = "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4", size = 231603 }, - { url = "https://files.pythonhosted.org/packages/cb/11/392605e5247bead2f23e6888e77229fbd714ac241ebbebb39a1e822c8815/rpds_py-0.25.1-cp311-cp311-win_arm64.whl", hash = "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4", size = 223967 }, - { url = "https://files.pythonhosted.org/packages/7f/81/28ab0408391b1dc57393653b6a0cf2014cc282cc2909e4615e63e58262be/rpds_py-0.25.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", size = 364647 }, - { url = "https://files.pythonhosted.org/packages/2c/9a/7797f04cad0d5e56310e1238434f71fc6939d0bc517192a18bb99a72a95f/rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", size = 350454 }, - { url = "https://files.pythonhosted.org/packages/69/3c/93d2ef941b04898011e5d6eaa56a1acf46a3b4c9f4b3ad1bbcbafa0bee1f/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", size = 389665 }, - { url = "https://files.pythonhosted.org/packages/c1/57/ad0e31e928751dde8903a11102559628d24173428a0f85e25e187defb2c1/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", size = 403873 }, - { url = "https://files.pythonhosted.org/packages/16/ad/c0c652fa9bba778b4f54980a02962748479dc09632e1fd34e5282cf2556c/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", size = 525866 }, - { url = "https://files.pythonhosted.org/packages/2a/39/3e1839bc527e6fcf48d5fec4770070f872cdee6c6fbc9b259932f4e88a38/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", size = 416886 }, - { url = "https://files.pythonhosted.org/packages/7a/95/dd6b91cd4560da41df9d7030a038298a67d24f8ca38e150562644c829c48/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", size = 390666 }, - { url = "https://files.pythonhosted.org/packages/64/48/1be88a820e7494ce0a15c2d390ccb7c52212370badabf128e6a7bb4cb802/rpds_py-0.25.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", size = 425109 }, - { url = "https://files.pythonhosted.org/packages/cf/07/3e2a17927ef6d7720b9949ec1b37d1e963b829ad0387f7af18d923d5cfa5/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", size = 567244 }, - { url = "https://files.pythonhosted.org/packages/d2/e5/76cf010998deccc4f95305d827847e2eae9c568099c06b405cf96384762b/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", size = 596023 }, - { url = "https://files.pythonhosted.org/packages/52/9a/df55efd84403736ba37a5a6377b70aad0fd1cb469a9109ee8a1e21299a1c/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", size = 561634 }, - { url = "https://files.pythonhosted.org/packages/ab/aa/dc3620dd8db84454aaf9374bd318f1aa02578bba5e567f5bf6b79492aca4/rpds_py-0.25.1-cp312-cp312-win32.whl", hash = "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", size = 222713 }, - { url = "https://files.pythonhosted.org/packages/a3/7f/7cef485269a50ed5b4e9bae145f512d2a111ca638ae70cc101f661b4defd/rpds_py-0.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", size = 235280 }, - { url = "https://files.pythonhosted.org/packages/99/f2/c2d64f6564f32af913bf5f3f7ae41c7c263c5ae4c4e8f1a17af8af66cd46/rpds_py-0.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", size = 225399 }, - { url = "https://files.pythonhosted.org/packages/2b/da/323848a2b62abe6a0fec16ebe199dc6889c5d0a332458da8985b2980dffe/rpds_py-0.25.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559", size = 364498 }, - { url = "https://files.pythonhosted.org/packages/1f/b4/4d3820f731c80fd0cd823b3e95b9963fec681ae45ba35b5281a42382c67d/rpds_py-0.25.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1", size = 350083 }, - { url = "https://files.pythonhosted.org/packages/d5/b1/3a8ee1c9d480e8493619a437dec685d005f706b69253286f50f498cbdbcf/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c", size = 389023 }, - { url = "https://files.pythonhosted.org/packages/3b/31/17293edcfc934dc62c3bf74a0cb449ecd549531f956b72287203e6880b87/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb", size = 403283 }, - { url = "https://files.pythonhosted.org/packages/d1/ca/e0f0bc1a75a8925024f343258c8ecbd8828f8997ea2ac71e02f67b6f5299/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40", size = 524634 }, - { url = "https://files.pythonhosted.org/packages/3e/03/5d0be919037178fff33a6672ffc0afa04ea1cfcb61afd4119d1b5280ff0f/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79", size = 416233 }, - { url = "https://files.pythonhosted.org/packages/05/7c/8abb70f9017a231c6c961a8941403ed6557664c0913e1bf413cbdc039e75/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325", size = 390375 }, - { url = "https://files.pythonhosted.org/packages/7a/ac/a87f339f0e066b9535074a9f403b9313fd3892d4a164d5d5f5875ac9f29f/rpds_py-0.25.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295", size = 424537 }, - { url = "https://files.pythonhosted.org/packages/1f/8f/8d5c1567eaf8c8afe98a838dd24de5013ce6e8f53a01bd47fe8bb06b5533/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b", size = 566425 }, - { url = "https://files.pythonhosted.org/packages/95/33/03016a6be5663b389c8ab0bbbcca68d9e96af14faeff0a04affcb587e776/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98", size = 595197 }, - { url = "https://files.pythonhosted.org/packages/33/8d/da9f4d3e208c82fda311bff0cf0a19579afceb77cf456e46c559a1c075ba/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd", size = 561244 }, - { url = "https://files.pythonhosted.org/packages/e2/b3/39d5dcf7c5f742ecd6dbc88f6f84ae54184b92f5f387a4053be2107b17f1/rpds_py-0.25.1-cp313-cp313-win32.whl", hash = "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31", size = 222254 }, - { url = "https://files.pythonhosted.org/packages/5f/19/2d6772c8eeb8302c5f834e6d0dfd83935a884e7c5ce16340c7eaf89ce925/rpds_py-0.25.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500", size = 234741 }, - { url = "https://files.pythonhosted.org/packages/5b/5a/145ada26cfaf86018d0eb304fe55eafdd4f0b6b84530246bb4a7c4fb5c4b/rpds_py-0.25.1-cp313-cp313-win_arm64.whl", hash = "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5", size = 224830 }, - { url = "https://files.pythonhosted.org/packages/4b/ca/d435844829c384fd2c22754ff65889c5c556a675d2ed9eb0e148435c6690/rpds_py-0.25.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129", size = 359668 }, - { url = "https://files.pythonhosted.org/packages/1f/01/b056f21db3a09f89410d493d2f6614d87bb162499f98b649d1dbd2a81988/rpds_py-0.25.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d", size = 345649 }, - { url = "https://files.pythonhosted.org/packages/e0/0f/e0d00dc991e3d40e03ca36383b44995126c36b3eafa0ccbbd19664709c88/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72", size = 384776 }, - { url = "https://files.pythonhosted.org/packages/9f/a2/59374837f105f2ca79bde3c3cd1065b2f8c01678900924949f6392eab66d/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34", size = 395131 }, - { url = "https://files.pythonhosted.org/packages/9c/dc/48e8d84887627a0fe0bac53f0b4631e90976fd5d35fff8be66b8e4f3916b/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9", size = 520942 }, - { url = "https://files.pythonhosted.org/packages/7c/f5/ee056966aeae401913d37befeeab57a4a43a4f00099e0a20297f17b8f00c/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5", size = 411330 }, - { url = "https://files.pythonhosted.org/packages/ab/74/b2cffb46a097cefe5d17f94ede7a174184b9d158a0aeb195f39f2c0361e8/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194", size = 387339 }, - { url = "https://files.pythonhosted.org/packages/7f/9a/0ff0b375dcb5161c2b7054e7d0b7575f1680127505945f5cabaac890bc07/rpds_py-0.25.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6", size = 418077 }, - { url = "https://files.pythonhosted.org/packages/0d/a1/fda629bf20d6b698ae84c7c840cfb0e9e4200f664fc96e1f456f00e4ad6e/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78", size = 562441 }, - { url = "https://files.pythonhosted.org/packages/20/15/ce4b5257f654132f326f4acd87268e1006cc071e2c59794c5bdf4bebbb51/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72", size = 590750 }, - { url = "https://files.pythonhosted.org/packages/fb/ab/e04bf58a8d375aeedb5268edcc835c6a660ebf79d4384d8e0889439448b0/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", size = 558891 }, - { url = "https://files.pythonhosted.org/packages/90/82/cb8c6028a6ef6cd2b7991e2e4ced01c854b6236ecf51e81b64b569c43d73/rpds_py-0.25.1-cp313-cp313t-win32.whl", hash = "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", size = 218718 }, - { url = "https://files.pythonhosted.org/packages/b6/97/5a4b59697111c89477d20ba8a44df9ca16b41e737fa569d5ae8bff99e650/rpds_py-0.25.1-cp313-cp313t-win_amd64.whl", hash = "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", size = 232218 }, - { url = "https://files.pythonhosted.org/packages/89/74/716d42058ef501e2c08f27aa3ff455f6fc1bbbd19a6ab8dea07e6322d217/rpds_py-0.25.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd", size = 373475 }, - { url = "https://files.pythonhosted.org/packages/e1/21/3faa9c523e2496a2505d7440b6f24c9166f37cb7ac027cac6cfbda9b4b5f/rpds_py-0.25.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634", size = 359349 }, - { url = "https://files.pythonhosted.org/packages/6a/1c/c747fe568d21b1d679079b52b926ebc4d1497457510a1773dc5fd4b7b4e2/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be", size = 386526 }, - { url = "https://files.pythonhosted.org/packages/0b/cc/4a41703de4fb291f13660fa3d882cbd39db5d60497c6e7fa7f5142e5e69f/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0", size = 400526 }, - { url = "https://files.pythonhosted.org/packages/f1/78/60c980bedcad8418b614f0b4d6d420ecf11225b579cec0cb4e84d168b4da/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908", size = 525726 }, - { url = "https://files.pythonhosted.org/packages/3f/37/f2f36b7f1314b3c3200d663decf2f8e29480492a39ab22447112aead4693/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a", size = 412045 }, - { url = "https://files.pythonhosted.org/packages/df/96/e03783e87a775b1242477ccbc35895f8e9b2bbdb60e199034a6da03c2687/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9", size = 386953 }, - { url = "https://files.pythonhosted.org/packages/7c/7d/1418f4b69bfb4b40481a3d84782113ad7d4cca0b38ae70b982dd5b20102a/rpds_py-0.25.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80", size = 421144 }, - { url = "https://files.pythonhosted.org/packages/b3/0e/61469912c6493ee3808012e60f4930344b974fcb6b35c4348e70b6be7bc7/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a", size = 563730 }, - { url = "https://files.pythonhosted.org/packages/f6/86/6d0a5cc56481ac61977b7c839677ed5c63d38cf0fcb3e2280843a8a6f476/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451", size = 592321 }, - { url = "https://files.pythonhosted.org/packages/5d/87/d1e2453fe336f71e6aa296452a8c85c2118b587b1d25ce98014f75838a60/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f", size = 558162 }, - { url = "https://files.pythonhosted.org/packages/ad/92/349f04b1644c5cef3e2e6c53b7168a28531945f9e6fca7425f6d20ddbc3c/rpds_py-0.25.1-cp39-cp39-win32.whl", hash = "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449", size = 219920 }, - { url = "https://files.pythonhosted.org/packages/f2/84/3969bef883a3f37ff2213795257cb7b7e93a115829670befb8de0e003031/rpds_py-0.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890", size = 231452 }, - { url = "https://files.pythonhosted.org/packages/78/ff/566ce53529b12b4f10c0a348d316bd766970b7060b4fd50f888be3b3b281/rpds_py-0.25.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28", size = 373931 }, - { url = "https://files.pythonhosted.org/packages/83/5d/deba18503f7c7878e26aa696e97f051175788e19d5336b3b0e76d3ef9256/rpds_py-0.25.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f", size = 359074 }, - { url = "https://files.pythonhosted.org/packages/0d/74/313415c5627644eb114df49c56a27edba4d40cfd7c92bd90212b3604ca84/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13", size = 387255 }, - { url = "https://files.pythonhosted.org/packages/8c/c8/c723298ed6338963d94e05c0f12793acc9b91d04ed7c4ba7508e534b7385/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d", size = 400714 }, - { url = "https://files.pythonhosted.org/packages/33/8a/51f1f6aa653c2e110ed482ef2ae94140d56c910378752a1b483af11019ee/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000", size = 523105 }, - { url = "https://files.pythonhosted.org/packages/c7/a4/7873d15c088ad3bff36910b29ceb0f178e4b3232c2adbe9198de68a41e63/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540", size = 411499 }, - { url = "https://files.pythonhosted.org/packages/90/f3/0ce1437befe1410766d11d08239333ac1b2d940f8a64234ce48a7714669c/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b", size = 387918 }, - { url = "https://files.pythonhosted.org/packages/94/d4/5551247988b2a3566afb8a9dba3f1d4a3eea47793fd83000276c1a6c726e/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e", size = 421705 }, - { url = "https://files.pythonhosted.org/packages/b0/25/5960f28f847bf736cc7ee3c545a7e1d2f3b5edaf82c96fb616c2f5ed52d0/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8", size = 564489 }, - { url = "https://files.pythonhosted.org/packages/02/66/1c99884a0d44e8c2904d3c4ec302f995292d5dde892c3bf7685ac1930146/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8", size = 592557 }, - { url = "https://files.pythonhosted.org/packages/55/ae/4aeac84ebeffeac14abb05b3bb1d2f728d00adb55d3fb7b51c9fa772e760/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11", size = 558691 }, - { url = "https://files.pythonhosted.org/packages/41/b3/728a08ff6f5e06fe3bb9af2e770e9d5fd20141af45cff8dfc62da4b2d0b3/rpds_py-0.25.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a", size = 231651 }, - { url = "https://files.pythonhosted.org/packages/49/74/48f3df0715a585cbf5d34919c9c757a4c92c1a9eba059f2d334e72471f70/rpds_py-0.25.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954", size = 374208 }, - { url = "https://files.pythonhosted.org/packages/55/b0/9b01bb11ce01ec03d05e627249cc2c06039d6aa24ea5a22a39c312167c10/rpds_py-0.25.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba", size = 359262 }, - { url = "https://files.pythonhosted.org/packages/a9/eb/5395621618f723ebd5116c53282052943a726dba111b49cd2071f785b665/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b", size = 387366 }, - { url = "https://files.pythonhosted.org/packages/68/73/3d51442bdb246db619d75039a50ea1cf8b5b4ee250c3e5cd5c3af5981cd4/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038", size = 400759 }, - { url = "https://files.pythonhosted.org/packages/b7/4c/3a32d5955d7e6cb117314597bc0f2224efc798428318b13073efe306512a/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9", size = 523128 }, - { url = "https://files.pythonhosted.org/packages/be/95/1ffccd3b0bb901ae60b1dd4b1be2ab98bb4eb834cd9b15199888f5702f7b/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1", size = 411597 }, - { url = "https://files.pythonhosted.org/packages/ef/6d/6e6cd310180689db8b0d2de7f7d1eabf3fb013f239e156ae0d5a1a85c27f/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762", size = 388053 }, - { url = "https://files.pythonhosted.org/packages/4a/87/ec4186b1fe6365ced6fa470960e68fc7804bafbe7c0cf5a36237aa240efa/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e", size = 421821 }, - { url = "https://files.pythonhosted.org/packages/7a/60/84f821f6bf4e0e710acc5039d91f8f594fae0d93fc368704920d8971680d/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692", size = 564534 }, - { url = "https://files.pythonhosted.org/packages/41/3a/bc654eb15d3b38f9330fe0f545016ba154d89cdabc6177b0295910cd0ebe/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf", size = 592674 }, - { url = "https://files.pythonhosted.org/packages/2e/ba/31239736f29e4dfc7a58a45955c5db852864c306131fd6320aea214d5437/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe", size = 558781 }, - { url = "https://files.pythonhosted.org/packages/78/b2/198266f070c6760e0e8cd00f9f2b9c86133ceebbe7c6d114bdcfea200180/rpds_py-0.25.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b", size = 373973 }, - { url = "https://files.pythonhosted.org/packages/13/79/1265eae618f88aa5d5e7122bd32dd41700bafe5a8bcea404e998848cd844/rpds_py-0.25.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23", size = 359326 }, - { url = "https://files.pythonhosted.org/packages/30/ab/6913b96f3ac072e87e76e45fe938263b0ab0d78b6b2cef3f2e56067befc0/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e", size = 387544 }, - { url = "https://files.pythonhosted.org/packages/b0/23/129ed12d25229acc6deb8cbe90baadd8762e563c267c9594eb2fcc15be0c/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7", size = 400240 }, - { url = "https://files.pythonhosted.org/packages/b5/e0/6811a38a5efa46b7ee6ed2103c95cb9abb16991544c3b69007aa679b6944/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83", size = 525599 }, - { url = "https://files.pythonhosted.org/packages/6c/10/2dc88bcaa0d86bdb59e017a330b1972ffeeb7f5061bb5a180c9a2bb73bbf/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b", size = 411154 }, - { url = "https://files.pythonhosted.org/packages/cf/d1/a72d522eb7d934fb33e9c501e6ecae00e2035af924d4ff37d964e9a3959b/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf", size = 388297 }, - { url = "https://files.pythonhosted.org/packages/55/90/0dd7169ec74f042405b6b73512200d637a3088c156f64e1c07c18aa2fe59/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1", size = 421894 }, - { url = "https://files.pythonhosted.org/packages/37/e9/45170894add451783ed839c5c4a495e050aa8baa06d720364d9dff394dac/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1", size = 564409 }, - { url = "https://files.pythonhosted.org/packages/59/d0/31cece9090e76fbdb50c758c165d40da604b03b37c3ba53f010bbfeb130a/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf", size = 592681 }, - { url = "https://files.pythonhosted.org/packages/f1/4c/22ef535efb2beec614ba7be83e62b439eb83b0b0d7b1775e22d35af3f9b5/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992", size = 558744 }, - { url = "https://files.pythonhosted.org/packages/79/ff/f2150efc8daf0581d4dfaf0a2a30b08088b6df900230ee5ae4f7c8cd5163/rpds_py-0.25.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793", size = 231305 }, -] - -[[package]] -name = "scipy" -version = "1.10.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/84/a9/2bf119f3f9cff1f376f924e39cfae18dec92a1514784046d185731301281/scipy-1.10.1.tar.gz", hash = "sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5", size = 42407997 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/ac/b1f1bbf7b01d96495f35be003b881f10f85bf6559efb6e9578da832c2140/scipy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019", size = 35093243 }, - { url = "https://files.pythonhosted.org/packages/ea/e5/452086ebed676ce4000ceb5eeeb0ee4f8c6f67c7e70fb9323a370ff95c1f/scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e", size = 28772969 }, - { url = "https://files.pythonhosted.org/packages/04/0b/a1b119c869b79a2ab459b7f9fd7e2dea75a9c7d432e64e915e75586bd00b/scipy-1.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f", size = 30886961 }, - { url = "https://files.pythonhosted.org/packages/1f/4b/3bacad9a166350cb2e518cea80ab891016933cc1653f15c90279512c5fa9/scipy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2", size = 34422544 }, - { url = "https://files.pythonhosted.org/packages/ec/e3/b06ac3738bf365e89710205a471abe7dceec672a51c244b469bc5d1291c7/scipy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1", size = 42484848 }, - { url = "https://files.pythonhosted.org/packages/e7/53/053cd3669be0d474deae8fe5f757bff4c4f480b8a410231e0631c068873d/scipy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd", size = 35003170 }, - { url = "https://files.pythonhosted.org/packages/0d/3e/d05b9de83677195886fb79844fcca19609a538db63b1790fa373155bc3cf/scipy-1.10.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5", size = 28717513 }, - { url = "https://files.pythonhosted.org/packages/a5/3d/b69746c50e44893da57a68457da3d7e5bb75f6a37fbace3769b70d017488/scipy-1.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35", size = 30687257 }, - { url = "https://files.pythonhosted.org/packages/21/cd/fe2d4af234b80dc08c911ce63fdaee5badcdde3e9bcd9a68884580652ef0/scipy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d", size = 34124096 }, - { url = "https://files.pythonhosted.org/packages/65/76/903324159e4a3566e518c558aeb21571d642f781d842d8dd0fd9c6b0645a/scipy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f", size = 42238704 }, - { url = "https://files.pythonhosted.org/packages/a0/e3/37508a11dae501349d7c16e4dd18c706a023629eedc650ee094593887a89/scipy-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35", size = 35041063 }, - { url = "https://files.pythonhosted.org/packages/93/4a/50c436de1353cce8b66b26e49a687f10b91fe7465bf34e4565d810153003/scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88", size = 28797694 }, - { url = "https://files.pythonhosted.org/packages/d2/b5/ff61b79ad0ebd15d87ade10e0f4e80114dd89fac34a5efade39e99048c91/scipy-1.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1", size = 31024657 }, - { url = "https://files.pythonhosted.org/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f", size = 34540352 }, - { url = "https://files.pythonhosted.org/packages/32/8e/7f403535ddf826348c9b8417791e28712019962f7e90ff845896d6325d09/scipy-1.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415", size = 42215036 }, - { url = "https://files.pythonhosted.org/packages/d9/7d/78b8035bc93c869b9f17261c87aae97a9cdb937f65f0d453c2831aa172fc/scipy-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9", size = 35158611 }, - { url = "https://files.pythonhosted.org/packages/e7/f0/55d81813b1a4cb79ce7dc8290eac083bf38bfb36e1ada94ea13b7b1a5f79/scipy-1.10.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6", size = 28902591 }, - { url = "https://files.pythonhosted.org/packages/77/d1/722c457b319eed1d642e0a14c9be37eb475f0e6ed1f3401fa480d5d6d36e/scipy-1.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353", size = 30960654 }, - { url = "https://files.pythonhosted.org/packages/5d/30/b2a2a5bf1a3beefb7609fb871dcc6aef7217c69cef19a4631b7ab5622a8a/scipy-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601", size = 34458863 }, - { url = "https://files.pythonhosted.org/packages/35/20/0ec6246bbb43d18650c9a7cad6602e1a84fd8f9564a9b84cc5faf1e037d0/scipy-1.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea", size = 42509516 }, -] - -[[package]] -name = "scipy" -version = "1.13.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076 }, - { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232 }, - { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202 }, - { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335 }, - { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728 }, - { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588 }, - { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805 }, - { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687 }, - { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638 }, - { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931 }, - { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145 }, - { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227 }, - { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301 }, - { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348 }, - { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062 }, - { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311 }, - { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493 }, - { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955 }, - { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927 }, - { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538 }, - { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190 }, - { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244 }, - { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637 }, - { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440 }, -] - -[[package]] -name = "scipy" -version = "1.15.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214 } -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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184 }, - { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256 }, - { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540 }, - { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115 }, - { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884 }, - { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018 }, - { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716 }, - { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342 }, - { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869 }, - { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851 }, - { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011 }, - { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407 }, - { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030 }, - { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709 }, - { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045 }, - { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062 }, - { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132 }, - { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503 }, - { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097 }, -] - -[[package]] -name = "seaborn" -version = "0.13.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/86/59/a451d7420a77ab0b98f7affa3a1d78a313d2f7281a57afb1a34bae8ab412/seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7", size = 1457696 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", size = 294914 }, -] - -[[package]] -name = "send2trash" -version = "1.8.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072 }, -] - -[[package]] -name = "setuptools" -version = "75.3.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/5c/01/771ea46cce201dd42cff043a5eea929d1c030fb3d1c2ee2729d02ca7814c/setuptools-75.3.2.tar.gz", hash = "sha256:3c1383e1038b68556a382c1e8ded8887cd20141b0eb5708a6c8d277de49364f5", size = 1354489 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/15/65/3f0dba35760d902849d39d38c0a72767794b1963227b69a587f8a336d08c/setuptools-75.3.2-py3-none-any.whl", hash = "sha256:90ab613b6583fc02d5369cbca13ea26ea0e182d1df2d943ee9cbe81d4c61add9", size = 1251198 }, -] - -[[package]] -name = "setuptools" -version = "80.8.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/8d/d2/ec1acaaff45caed5c2dedb33b67055ba9d4e96b091094df90762e60135fe/setuptools-80.8.0.tar.gz", hash = "sha256:49f7af965996f26d43c8ae34539c8d99c5042fbff34302ea151eaa9c207cd257", size = 1319720 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/58/29/93c53c098d301132196c3238c312825324740851d77a8500a2462c0fd888/setuptools-80.8.0-py3-none-any.whl", hash = "sha256:95a60484590d24103af13b686121328cc2736bee85de8936383111e421b9edc0", size = 1201470 }, -] - -[[package]] -name = "setuptools-scm" -version = "8.3.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "packaging" }, - { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "setuptools", version = "80.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b9/19/7ae64b70b2429c48c3a7a4ed36f50f94687d3bfcd0ae2f152367b6410dff/setuptools_scm-8.3.1.tar.gz", hash = "sha256:3d555e92b75dacd037d32bafdf94f97af51ea29ae8c7b234cf94b7a5bd242a63", size = 78088 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ab/ac/8f96ba9b4cfe3e4ea201f23f4f97165862395e9331a424ed325ae37024a8/setuptools_scm-8.3.1-py3-none-any.whl", hash = "sha256:332ca0d43791b818b841213e76b1971b7711a960761c5bea5fc5cdb5196fbce3", size = 43935 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, -] - -[[package]] -name = "soupsieve" -version = "2.7" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677 }, -] - -[[package]] -name = "stack-data" -version = "0.6.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "asttokens" }, - { name = "executing" }, - { name = "pure-eval" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, -] - -[[package]] -name = "sym" -version = "0.3.5" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d2/ed/c06685333acaa3ea4ef301daae784ecc5f60c6ccd288cb84e03e1244acc2/sym-0.3.5.tar.gz", hash = "sha256:854ddd18f0a1f94c9590012e50a139b499b407c90e9ebd407c40285627784ab8", size = 31098 } - -[[package]] -name = "sympy" -version = "1.13.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "mpmath", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/11/8a/5a7fd6284fa8caac23a26c9ddf9c30485a48169344b4bd3b0f02fef1890f/sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9", size = 7533196 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/99/ff/c87e0622b1dadea79d2fb0b25ade9ed98954c9033722eb707053d310d4f3/sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73", size = 6189483 }, -] - -[[package]] -name = "sympy" -version = "1.14.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "mpmath", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353 }, -] - -[[package]] -name = "terminado" -version = "0.18.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "ptyprocess", marker = "os_name != 'nt'" }, - { name = "pywinpty", version = "2.0.14", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and os_name == 'nt'" }, - { name = "pywinpty", version = "2.0.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and os_name == 'nt'" }, - { name = "tornado", version = "6.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tornado", version = "6.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154 }, -] - -[[package]] -name = "thrustrtc" -version = "0.3.20" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/c0/cf04a2f95629a3cb1f84f7ab291486add242acf8447b54e7e01e5c2502e2/ThrustRTC-0.3.20-py3-none-any.whl", hash = "sha256:a610595b7e27d00051ca8a6a62dac0f2282e32238ea4df2dcb7fe402f80e7b27", size = 763012 }, -] - -[[package]] -name = "tinycss2" -version = "1.2.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "webencodings", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/75/be/24179dfaa1d742c9365cbd0e3f0edc5d3aa3abad415a2327c5a6ff8ca077/tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627", size = 65957 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", size = 21824 }, -] - -[[package]] -name = "tinycss2" -version = "1.4.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "webencodings", marker = "python_full_version >= '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610 }, -] - -[[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 } -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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, - { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { 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 }, - { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, - { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, - { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, - { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, - { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, - { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, - { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, - { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, - { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, - { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, - { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, - { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, - { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, -] - -[[package]] -name = "tornado" -version = "6.4.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299 }, - { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253 }, - { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602 }, - { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972 }, - { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173 }, - { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892 }, - { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334 }, - { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261 }, - { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463 }, - { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907 }, -] - -[[package]] -name = "tornado" -version = "6.5.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/51/89/c72771c81d25d53fe33e3dca61c233b665b2780f21820ba6fd2c6793c12b/tornado-6.5.1.tar.gz", hash = "sha256:84ceece391e8eb9b2b95578db65e920d2a61070260594819589609ba9bc6308c", size = 509934 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/77/89/f4532dee6843c9e0ebc4e28d4be04c67f54f60813e4bf73d595fe7567452/tornado-6.5.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d50065ba7fd11d3bd41bcad0825227cc9a95154bad83239357094c36708001f7", size = 441948 }, - { url = "https://files.pythonhosted.org/packages/15/9a/557406b62cffa395d18772e0cdcf03bed2fff03b374677348eef9f6a3792/tornado-6.5.1-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9e9ca370f717997cb85606d074b0e5b247282cf5e2e1611568b8821afe0342d6", size = 440112 }, - { url = "https://files.pythonhosted.org/packages/55/82/7721b7319013a3cf881f4dffa4f60ceff07b31b394e459984e7a36dc99ec/tornado-6.5.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b77e9dfa7ed69754a54c89d82ef746398be82f749df69c4d3abe75c4d1ff4888", size = 443672 }, - { url = "https://files.pythonhosted.org/packages/7d/42/d11c4376e7d101171b94e03cef0cbce43e823ed6567ceda571f54cf6e3ce/tornado-6.5.1-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:253b76040ee3bab8bcf7ba9feb136436a3787208717a1fb9f2c16b744fba7331", size = 443019 }, - { url = "https://files.pythonhosted.org/packages/7d/f7/0c48ba992d875521ac761e6e04b0a1750f8150ae42ea26df1852d6a98942/tornado-6.5.1-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:308473f4cc5a76227157cdf904de33ac268af770b2c5f05ca6c1161d82fdd95e", size = 443252 }, - { url = "https://files.pythonhosted.org/packages/89/46/d8d7413d11987e316df4ad42e16023cd62666a3c0dfa1518ffa30b8df06c/tornado-6.5.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:caec6314ce8a81cf69bd89909f4b633b9f523834dc1a352021775d45e51d9401", size = 443930 }, - { url = "https://files.pythonhosted.org/packages/78/b2/f8049221c96a06df89bed68260e8ca94beca5ea532ffc63b1175ad31f9cc/tornado-6.5.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:13ce6e3396c24e2808774741331638ee6c2f50b114b97a55c5b442df65fd9692", size = 443351 }, - { url = "https://files.pythonhosted.org/packages/76/ff/6a0079e65b326cc222a54720a748e04a4db246870c4da54ece4577bfa702/tornado-6.5.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5cae6145f4cdf5ab24744526cc0f55a17d76f02c98f4cff9daa08ae9a217448a", size = 443328 }, - { url = "https://files.pythonhosted.org/packages/49/18/e3f902a1d21f14035b5bc6246a8c0f51e0eef562ace3a2cea403c1fb7021/tornado-6.5.1-cp39-abi3-win32.whl", hash = "sha256:e0a36e1bc684dca10b1aa75a31df8bdfed656831489bc1e6a6ebed05dc1ec365", size = 444396 }, - { url = "https://files.pythonhosted.org/packages/7b/09/6526e32bf1049ee7de3bebba81572673b19a2a8541f795d887e92af1a8bc/tornado-6.5.1-cp39-abi3-win_amd64.whl", hash = "sha256:908e7d64567cecd4c2b458075589a775063453aeb1d2a1853eedb806922f568b", size = 444840 }, - { url = "https://files.pythonhosted.org/packages/55/a7/535c44c7bea4578e48281d83c615219f3ab19e6abc67625ef637c73987be/tornado-6.5.1-cp39-abi3-win_arm64.whl", hash = "sha256:02420a0eb7bf617257b9935e2b754d1b63897525d8a289c9d65690d580b4dcf7", size = 443596 }, -] - -[[package]] -name = "traitlets" -version = "5.14.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, -] - -[[package]] -name = "types-python-dateutil" -version = "2.9.0.20241206" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/a9/60/47d92293d9bc521cd2301e423a358abfac0ad409b3a1606d8fbae1321961/types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb", size = 13802 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/b3/ca41df24db5eb99b00d97f89d7674a90cb6b3134c52fb8121b6d8d30f15c/types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53", size = 14384 }, -] - -[[package]] -name = "types-python-dateutil" -version = "2.9.0.20250516" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/ef/88/d65ed807393285204ab6e2801e5d11fbbea811adcaa979a2ed3b67a5ef41/types_python_dateutil-2.9.0.20250516.tar.gz", hash = "sha256:13e80d6c9c47df23ad773d54b2826bd52dbbb41be87c3f339381c1700ad21ee5", size = 13943 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/3f/b0e8db149896005adc938a1e7f371d6d7e9eca4053a29b108978ed15e0c2/types_python_dateutil-2.9.0.20250516-py3-none-any.whl", hash = "sha256:2b2b3f57f9c6a61fba26a9c0ffb9ea5681c9b83e69cd897c6b5f668d9c0cab93", size = 14356 }, -] - -[[package]] -name = "typing-extensions" -version = "4.13.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839 }, -] - -[[package]] -name = "uri-template" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140 }, -] - -[[package]] -name = "urllib3" -version = "2.2.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 }, -] - -[[package]] -name = "urllib3" -version = "2.4.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680 }, -] - -[[package]] -name = "vtk" -version = "9.4.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "matplotlib", version = "3.7.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/09/c0/7c8d541081d0181b49b9a43597228cfcf0ce1f1584b36bc97aef4a936b21/vtk-9.4.2-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:97788af1881d115d90d118e6b6db4e673d4250473df074015edaf633e134945f", size = 82503633 }, - { url = "https://files.pythonhosted.org/packages/85/9a/265b6a7aa7d7d5a6e7140f066e506a9b7dd3f9d2f35c4bd31b0769e5a0e3/vtk-9.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c5b2db2ffb52394cf3a72fb9d74ec980d944b9fecd626bdcd223ac896fa8b975", size = 76491428 }, - { url = "https://files.pythonhosted.org/packages/61/b3/8b51d0519e3e10e3b1956de6e68f14ffcad15fda752b0d028afba4b7242f/vtk-9.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20898263a57a2f414d6deaf9fecf0d81f6eb43d8f2002c66b20425d258e2a316", size = 105002344 }, - { url = "https://files.pythonhosted.org/packages/0e/73/1dfb537d61a81a8eae79b0233c344a3212b203ed01affef2f0fc09742eb9/vtk-9.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:918830427783737c38f5e3f4ad81f229904c975665897d09748057fcfacab42b", size = 58399309 }, - { url = "https://files.pythonhosted.org/packages/57/7b/3765e941db50c46ebb8e007cdcd2f436746b8d9b4971198ad7c1a5e439c8/vtk-9.4.2-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:267302d1def1f28c7a4bed1422bccb55f20db6a9b760d25883535bd56111143b", size = 82503735 }, - { url = "https://files.pythonhosted.org/packages/5c/94/e93414d29f443ef8b3c57729c82ded0c910ac1a10b964c7960e6c33003a4/vtk-9.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c378ec0a51fc690268c30484828e6ffe4b525be87bf21229c29a773f910787e1", size = 76491253 }, - { url = "https://files.pythonhosted.org/packages/33/04/a119db060ca1c95c673e5755c3c1c60ab6e97d4cf86bc25664e3aea18fc0/vtk-9.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9db93562c9d6b39dafd65f00eccc5eb9bcc6a7c715db789c064536551368f2", size = 105002260 }, - { url = "https://files.pythonhosted.org/packages/40/4c/0edf3e0ce0cdc0132e97b924ed16e774639c84cc94eb0e594b90aaf5fb0a/vtk-9.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:ee6013aef653aca14f881a2b4b33b13895166fad34eac340691852444848e971", size = 58397786 }, - { url = "https://files.pythonhosted.org/packages/59/df/6c04941922986d2af611e9c7ea289ea1922295455ea08536b8fb9f104664/vtk-9.4.2-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:5482c147e36490a90fadf01333b8b06f2a88659a9cb012523603697e7de37dc7", size = 82686355 }, - { url = "https://files.pythonhosted.org/packages/4c/6b/fce6a0040cc877324e5dc8191407a9ab73b7da65c88403d173f834052f70/vtk-9.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ac03471cada196b9465305336649cd502ce4796ee5006eade2cdaf7f2b5b593b", size = 76541862 }, - { url = "https://files.pythonhosted.org/packages/9f/61/e998f3d118aa4e70d4cc8549dc0b67acfa138936ef9da896cbf87da21f7b/vtk-9.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef81842d151312b52455b2b613871c57ca7323c2f901914e13fc750b74ce3fd2", size = 105054000 }, - { url = "https://files.pythonhosted.org/packages/35/a1/5df9de36c17c42269ae85b4435d346bf38d106b25e9b98c6db6cc2f8ac5f/vtk-9.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:fded22d5bc8cd2193ef27214efb63e1db5318f566fb64f2cf31332b820ece6ac", size = 58482099 }, - { url = "https://files.pythonhosted.org/packages/22/30/5df46c3d90267f5b3efb6c8ac91c1014ef3532df2342aa53bd2ebed196e8/vtk-9.4.2-cp313-cp313-macosx_10_10_x86_64.whl", hash = "sha256:ec8c4258ceb9b3eb9c8101e1db1cca16825f0c0daa891ae4d85cd2ae9ec7681c", size = 82708428 }, - { url = "https://files.pythonhosted.org/packages/2d/a1/34f61fe0ab3735d9f9127b7be186add12b481251601a1fde564fb08294bc/vtk-9.4.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1e291fc1a0c6a8432185abd9265d44fc7822b39325dc8e81d01b798858b68733", size = 76553587 }, - { url = "https://files.pythonhosted.org/packages/8b/b1/f0deed70f4a72a0c42cf9a0120a0a92bbd1eac37090b501144e39c4792ad/vtk-9.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c6d15129443eb950b8faf127b67935a680533aa08ad832b9137889543084ddd", size = 105054339 }, - { url = "https://files.pythonhosted.org/packages/99/52/2f49d4b73ed019b20f4bbbcf1b5f3a371d76af951688f6f70e79ff44fd14/vtk-9.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:5be5096e8c247c1ae151cc68121fbb0b6c5c76217e69d9600e4b8ba0c1c53c9f", size = 58482778 }, - { url = "https://files.pythonhosted.org/packages/69/7d/89bedb5c55a9c902697a209f025a090568d1e72f5ca99f652726a2290f32/vtk-9.4.2-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:7211fd50ba6c75b0ccc9e66a489e484967590a4c1dc8df2f51cfab76b582bb15", size = 82511159 }, - { url = "https://files.pythonhosted.org/packages/70/2c/67af5a33b41bd6f53ba7e9484fb0f154e81208266b87a96fb4f1fac53c08/vtk-9.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c09149df36c3023bfd9a58263491477838651a7ce1c5eddd8ebead84de935068", size = 104998794 }, - { url = "https://files.pythonhosted.org/packages/32/4c/203d30a2bfbf26c40e67685d2053b37a2e4ca8b83f27a408e11d88fb589f/vtk-9.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:747b69bbc1cb7d50d461454da91d4d300b183ca6811dba9f4c8642aa2ada0a10", size = 58669237 }, - { url = "https://files.pythonhosted.org/packages/d1/47/e6d6e0da266b6824c212b862e57d5291d6d37e887208a271d214a3cb000c/vtk-9.4.2-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:8c52ae99ee97dcb973e0a6cf33c0ab849cdf66391be9b4f1ead40d12d33934c0", size = 82502896 }, - { url = "https://files.pythonhosted.org/packages/6e/86/b68fdd6cc4f589eb7e35b7cb19faeac16979a569a834d2edc82fe0b35c6b/vtk-9.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c4a35f32011d5a2a6fc1263292533918fab3f6a3686d4718dce308f5b08555cc", size = 76491828 }, - { url = "https://files.pythonhosted.org/packages/53/ad/1d1dec3ae475b326d99fcffd0a9f71a069018c5fdddc6c1e6199bb5b7a61/vtk-9.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:290017e775d35a79187b8ed84f56c787a5047802c5cddf3068dc2275f548e040", size = 105001771 }, - { url = "https://files.pythonhosted.org/packages/14/fd/cd4351174598f965a537ddb6a5b9090c3fd7486633ccfcb1baead722f6ce/vtk-9.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:86d4ccd4a09c1a7a29919f892106fcb4190ceb9bdf64e391270860b25acc2a0e", size = 58400218 }, -] - -[[package]] -name = "wcwidth" -version = "0.2.13" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166 }, -] - -[[package]] -name = "webcolors" -version = "24.8.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/fe/f8/53150a5bda7e042840b14f0236e1c0a4819d403658e3d453237983addfac/webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d", size = 42392 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f0/33/12020ba99beaff91682b28dc0bbf0345bbc3244a4afbae7644e4fa348f23/webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a", size = 15027 }, -] - -[[package]] -name = "webcolors" -version = "24.11.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934 }, -] - -[[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 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774 }, -] - -[[package]] -name = "websocket-client" -version = "1.8.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826 }, -] - -[[package]] -name = "widgetsnbextension" -version = "4.0.14" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/41/53/2e0253c5efd69c9656b1843892052a31c36d37ad42812b5da45c62191f7e/widgetsnbextension-4.0.14.tar.gz", hash = "sha256:a3629b04e3edb893212df862038c7232f62973373869db5084aed739b437b5af", size = 1097428 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ca/51/5447876806d1088a0f8f71e16542bf350918128d0a69437df26047c8e46f/widgetsnbextension-4.0.14-py3-none-any.whl", hash = "sha256:4875a9eaf72fbf5079dc372a51a9f268fc38d46f767cbf85c43a36da5cb9b575", size = 2196503 }, -] - -[[package]] -name = "xarray" -version = "2023.1.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "pandas", version = "2.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/30/05/c52545c83de39d5ccb3f0b06d9bb3ebde74ea0e775b7da5f2f8e11ab4879/xarray-2023.1.0.tar.gz", hash = "sha256:7bee552751ff1b29dab8b7715726e5ecb56691ac54593cf4881dff41978ce0cd", size = 3065563 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b4/a7/897f484225bd8e179a4f39f8e9a4ca26c14e9f7055b495384b1d56e1382d/xarray-2023.1.0-py3-none-any.whl", hash = "sha256:7e530b1deafdd43e5c2b577d0944e6b528fbe88045fd849e49a8d11871ecd522", size = 973057 }, -] - -[[package]] -name = "xarray" -version = "2024.7.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "packaging", marker = "python_full_version == '3.9.*'" }, - { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/84/e8/8ee12706df0d34ad04b3737621a73432458d47bc8abfbd6f049e51ca89c3/xarray-2024.7.0.tar.gz", hash = "sha256:4cae512d121a8522d41e66d942fb06c526bc1fd32c2c181d5fe62fe65b671638", size = 3728663 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/45/95/233e1f9c939f5ba314297315df709e6a5e823bf3cade7211991b15aa65d2/xarray-2024.7.0-py3-none-any.whl", hash = "sha256:1b0fd51ec408474aa1f4a355d75c00cc1c02bd425d97b2c2e551fd21810e7f64", size = 1176466 }, -] - -[[package]] -name = "xarray" -version = "2025.4.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "packaging", marker = "python_full_version >= '3.10'" }, - { name = "pandas", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9b/29/37761364e137db13898cf5a790574dd7883f7355d5dfb42b66ee7a9a6318/xarray-2025.4.0.tar.gz", hash = "sha256:2a89cd6a1dfd589aa90ac45f4e483246f31fc641836db45dd2790bb78bd333dc", size = 2974151 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/1e/96fd96419fec1a37da998a1ca3d558f2cae2f6f3cd5015170371b05a2b6b/xarray-2025.4.0-py3-none-any.whl", hash = "sha256:b27defd082c5cb85d32c695708de6bb05c2838fb7caaf3f952982e602a35b9b8", size = 1290171 }, -] - -[[package]] -name = "zipp" -version = "3.20.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200 }, -] - -[[package]] -name = "zipp" -version = "3.21.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 }, -] From 635dfd19bb7c5f3c916f66fcac221077331402a0 Mon Sep 17 00:00:00 2001 From: lursz Date: Mon, 9 Jun 2025 23:32:58 +0200 Subject: [PATCH 15/28] Notebook not running fix - added back necessary imports m8 u removed too much --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 124d679a15..5b6731091a 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -12,14 +12,18 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "d8f644e9", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from open_atmos_jupyter_utils import show_plot\n", "from PySDM import Formulae\n", "\n", + "from PySDM.physics import si\n", + "from scipy.optimize import fsolve\n", "from PySDM_examples.Loftus_and_Wordsworth_2021 import Settings\n", "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import (\n", " Planet,\n", @@ -30,20 +34,7 @@ " Saturn, \n", " K2_18B\n", ")\n", - "from PySDM_examples.Loftus_and_Wordsworth_2021 import Simulation\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2fb6b5aa", - "metadata": {}, - "outputs": [], - "source": [ - "from PySDM.physics.particle_shape_and_density.oblate_spheroid import OblateSpheroid\n", - "from PySDM.physics import si\n", - "from scipy.optimize import fsolve" + "from PySDM_examples.Loftus_and_Wordsworth_2021 import Simulation" ] }, { From ff78f35e34c1d1e64f41fbbb07aeb3a307671842 Mon Sep 17 00:00:00 2001 From: lursz Date: Mon, 9 Jun 2025 23:39:22 +0200 Subject: [PATCH 16/28] black formatter --- .../Loftus_and_Wordsworth_2021/__init__.py | 3 +- .../Loftus_and_Wordsworth_2021/parcel.py | 2 +- .../Loftus_and_Wordsworth_2021/settings.py | 2 +- .../Loftus_and_Wordsworth_2021/simulation.py | 3 +- .../accuracy_test.py | 160 +++++++++------ .../ground_truth/gen_figure.py | 123 ++++++++---- .../Loftus_and_Wordsworth_2021/unit_test.py | 190 ++++++++++-------- 7 files changed, 293 insertions(+), 190 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/__init__.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/__init__.py index 9dda071be5..2d0f59fb30 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/__init__.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/__init__.py @@ -3,5 +3,6 @@ [Loftus, K., & Wordsworth, R. D. 2021 (Journal of Geophysical Research: Planets, 126)](https://doi.org/10.1029/2020JE006653) """ + from .settings import Settings -from .simulation import Simulation \ No newline at end of file +from .simulation import Simulation diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py index 36192ca39d..7ac5eb0dac 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/parcel.py @@ -35,7 +35,7 @@ def advance_parcel_vars(self): T = self["T"][0] p = self["p"][0] - dz_dt = - self.particulator.attributes["terminal velocity"].to_ndarray()[0] + dz_dt = -self.particulator.attributes["terminal velocity"].to_ndarray()[0] water_vapour_mixing_ratio = ( self["water_vapour_mixing_ratio"][0] - self.delta_liquid_water_mixing_ratio / 2 diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index 79518636f2..d047f81b61 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -1,4 +1,4 @@ -#Planetary Properties, Loftus and Wordsworth 2021 Table 1 +# Planetary Properties, Loftus and Wordsworth 2021 Table 1 from pystrict import strict diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py index 3c3435d9e7..071dde8bf2 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/simulation.py @@ -75,9 +75,8 @@ def run(self): } self.save(output) - while self.particulator.environment["z"][0] >0 and output["r"][-1] > 1e-6: + while self.particulator.environment["z"][0] > 0 and output["r"][-1] > 1e-6: self.particulator.run(1) self.save(output) return output - diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py index 6524e8bb5d..1c90726640 100644 --- a/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py @@ -10,24 +10,19 @@ class GroundTruthLoader: - def __init__( - self, - groundtruth_dir_path, - n_samples=2, - random_seed=2137 - ): + def __init__(self, groundtruth_dir_path, n_samples=2, random_seed=2137): self.dir_path = groundtruth_dir_path self.RHs = None self.r0grid = None self.m_frac_evap = None self.n_samples = n_samples # Number of random samples to test - np.random.seed(random_seed) # reproducible random samples during debugging + np.random.seed(random_seed) # reproducible random samples during debugging def __enter__(self): try: - self.RHs = np.load(os.path.join(self.dir_path, 'RHs.npy')) - self.r0grid = np.load(os.path.join(self.dir_path, 'r0grid.npy')) - self.m_frac_evap = np.load(os.path.join(self.dir_path, 'm_frac_evap.npy')) + self.RHs = np.load(os.path.join(self.dir_path, "RHs.npy")) + self.r0grid = np.load(os.path.join(self.dir_path, "r0grid.npy")) + self.m_frac_evap = np.load(os.path.join(self.dir_path, "m_frac_evap.npy")) return self except FileNotFoundError as e: print(f"Error loading ground truth files: {e}") @@ -45,13 +40,15 @@ class TestNPYComparison: def _mix(dry_prop, vap_prop, ratio): return (dry_prop + ratio * vap_prop) / (1 + ratio) - def _calculate_cloud_properties(self, planet: EarthLike, surface_RH: float, formulae_instance: Formulae): + def _calculate_cloud_properties( + self, planet: EarthLike, surface_RH: float, formulae_instance: Formulae + ): const = formulae_instance.constants - + planet.RH_zref = surface_RH pvs_stp = formulae_instance.saturation_vapour_pressure.pvs_water(planet.T_STP) - + initial_water_vapour_mixing_ratio = const.eps / ( planet.p_STP / planet.RH_zref / pvs_stp - 1 ) @@ -60,16 +57,20 @@ def _calculate_cloud_properties(self, planet: EarthLike, surface_RH: float, form cp_mix = self._mix(const.c_pd, const.c_pv, initial_water_vapour_mixing_ratio) def solve_Tcloud(T_candidate): - pv_ad = initial_water_vapour_mixing_ratio / (initial_water_vapour_mixing_ratio + const.eps)*planet.p_STP*(T_candidate/planet.T_STP)**(cp_mix/R_air_mix) + pv_ad = ( + initial_water_vapour_mixing_ratio + / (initial_water_vapour_mixing_ratio + const.eps) + * planet.p_STP + * (T_candidate / planet.T_STP) ** (cp_mix / R_air_mix) + ) pvs_tc = formulae_instance.saturation_vapour_pressure.pvs_water(T_candidate) return pv_ad - pvs_tc - - Tcloud_solutions = fsolve(solve_Tcloud, [150.0,300.0]) - Tcloud = np.max(Tcloud_solutions) + Tcloud_solutions = fsolve(solve_Tcloud, [150.0, 300.0]) + Tcloud = np.max(Tcloud_solutions) Zcloud = (planet.T_STP - Tcloud) * cp_mix / planet.g_std - + th_std = formulae_instance.trivia.th_std(planet.p_STP, planet.T_STP) pcloud = formulae_instance.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio( @@ -77,42 +78,45 @@ def solve_Tcloud(T_candidate): ) return initial_water_vapour_mixing_ratio, Tcloud, Zcloud, pcloud - def test_figure_2_replication_accuracy(self): current_dir = os.path.dirname(os.path.abspath(__file__)) groundtruth_dir = os.path.abspath(os.path.join(current_dir, "ground_truth")) if not os.path.isdir(groundtruth_dir): pytest.fail(f"Groundtruth directory not found at {groundtruth_dir}") - + formulae = Formulae( ventilation="PruppacherAndRasmussen1979", saturation_vapour_pressure="AugustRocheMagnus", diffusion_coordinate="WaterMassLogarithm", ) - + with GroundTruthLoader(groundtruth_dir) as gt: if gt.RHs is None or gt.r0grid is None or gt.m_frac_evap is None: pytest.fail("Ground truth data (.npy files) not loaded properly.") n_rh_values = len(gt.RHs) - n_radius_values = gt.r0grid.shape[1] - + n_radius_values = gt.r0grid.shape[1] + total_points = n_rh_values * n_radius_values n_samples = min(gt.n_samples, total_points) if n_samples == 0: pytest.skip("No data points available to sample.") - all_indices = np.array([(i, j) for i in range(n_rh_values) for j in range(n_radius_values)]) + all_indices = np.array( + [(i, j) for i in range(n_rh_values) for j in range(n_radius_values)] + ) - sampled_indices_flat = np.random.choice(len(all_indices), n_samples, replace=False) + sampled_indices_flat = np.random.choice( + len(all_indices), n_samples, replace=False + ) sampled_ij_pairs = all_indices[sampled_indices_flat] - + for i_rh, j_r in sampled_ij_pairs: current_planet_state = EarthLike() current_rh = gt.RHs[i_rh] - current_r_m = gt.r0grid[0, j_r] + current_r_m = gt.r0grid[0, j_r] expected_m_frac_evap = gt.m_frac_evap[i_rh, j_r] try: @@ -120,50 +124,72 @@ def test_figure_2_replication_accuracy(self): current_planet_state, current_rh, formulae ) simulated_m_frac_evap_point = self.calc_simulated_m_frac_evap_point( - current_planet_state, formulae, i_rh, j_r, current_rh, - current_r_m, expected_m_frac_evap, - iwvmr, Tcloud, Zcloud, pcloud + current_planet_state, + formulae, + i_rh, + j_r, + current_rh, + current_r_m, + expected_m_frac_evap, + iwvmr, + Tcloud, + Zcloud, + pcloud, + ) + except Exception as e: + print( + f"Warning: Error in _calculate_cloud_properties for RH={current_rh} (sample idx {i_rh},{j_r}): {e}." ) - except Exception as e: - print(f"Warning: Error in _calculate_cloud_properties for RH={current_rh} (sample idx {i_rh},{j_r}): {e}.") - - error_context = (f"Sample (RH_idx={i_rh}, R_idx={j_r}), " - f"RH={current_rh:.4f}, R_m={current_r_m:.3e}. " - f"Expected: {expected_m_frac_evap}, Got: {simulated_m_frac_evap_point}") + error_context = ( + f"Sample (RH_idx={i_rh}, R_idx={j_r}), " + f"RH={current_rh:.4f}, R_m={current_r_m:.3e}. " + f"Expected: {expected_m_frac_evap}, Got: {simulated_m_frac_evap_point}" + ) if np.isnan(expected_m_frac_evap): - assert np.isnan(simulated_m_frac_evap_point), \ - f"NaN Mismatch. {error_context} (Expected NaN, got non-NaN)" + assert np.isnan( + simulated_m_frac_evap_point + ), f"NaN Mismatch. {error_context} (Expected NaN, got non-NaN)" else: - assert not np.isnan(simulated_m_frac_evap_point), \ - f"NaN Mismatch. {error_context} (Expected non-NaN, got NaN)" + assert not np.isnan( + simulated_m_frac_evap_point + ), f"NaN Mismatch. {error_context} (Expected non-NaN, got NaN)" np.testing.assert_allclose( - simulated_m_frac_evap_point, - expected_m_frac_evap, - rtol=1e-1, # Relative tolerance - atol=1e-1, # Absolute tolerance - err_msg=f"Value Mismatch. {error_context}" + simulated_m_frac_evap_point, + expected_m_frac_evap, + rtol=1e-1, # Relative tolerance + atol=1e-1, # Absolute tolerance + err_msg=f"Value Mismatch. {error_context}", ) - def calc_simulated_m_frac_evap_point( - self, - current_planet_state, formulae, i_rh, j_r, current_rh, - current_r_m, expected_m_frac_evap, - iwvmr, Tcloud, Zcloud, pcloud + self, + current_planet_state, + formulae, + i_rh, + j_r, + current_rh, + current_r_m, + expected_m_frac_evap, + iwvmr, + Tcloud, + Zcloud, + pcloud, ): simulated_m_frac_evap_point = np.nan - + if np.isnan(current_r_m) or current_r_m <= 0: - print(f"Warning: Invalid radius current_r_m={current_r_m} for sample idx {i_rh},{j_r}.") + print( + f"Warning: Invalid radius current_r_m={current_r_m} for sample idx {i_rh},{j_r}." + ) else: settings = Settings( planet=current_planet_state, r_wet=current_r_m, - mass_of_dry_air= 1e5 * si.kg, - coord="WaterMassLogarithm", + mass_of_dry_air=1e5 * si.kg, + coord="WaterMassLogarithm", initial_water_vapour_mixing_ratio=iwvmr, pcloud=pcloud, Zcloud=Zcloud, @@ -171,29 +197,39 @@ def calc_simulated_m_frac_evap_point( formulae=formulae, ) simulation = Simulation(settings) - + try: output = simulation.run() - if output and 'r' in output and len(output['r']) > 0 and 'z' in output and len(output['z']) > 0: - final_radius_um = output['r'][-1] + if ( + output + and "r" in output + and len(output["r"]) > 0 + and "z" in output + and len(output["z"]) > 0 + ): + final_radius_um = output["r"][-1] if np.isnan(final_radius_um) or final_radius_um < 0: final_radius_m = final_radius_um * 1e-6 - if final_radius_m < 0: # Non-physical radius - simulated_m_frac_evap_point = 1.0 # 1.0 means fully evaporated + if final_radius_m < 0: # Non-physical radius + simulated_m_frac_evap_point = ( + 1.0 # 1.0 means fully evaporated + ) else: simulated_m_frac_evap_point = np.nan else: final_radius_m = final_radius_um * 1e-6 if current_r_m == 0: - frac_evap = 1.0 + frac_evap = 1.0 else: - frac_evap = 1.0 - (final_radius_m / current_r_m)**3 + frac_evap = 1.0 - (final_radius_m / current_r_m) ** 3 frac_evap = np.clip(frac_evap, 0.0, 1.0) simulated_m_frac_evap_point = frac_evap else: simulated_m_frac_evap_point = np.nan except Exception as e: - print(f"Warning: Simulation run failed for RH={current_rh}, r={current_r_m} (sample idx {i_rh},{j_r}): {e}.") + print( + f"Warning: Simulation run failed for RH={current_rh}, r={current_r_m} (sample idx {i_rh},{j_r}): {e}." + ) if np.isclose(expected_m_frac_evap, 1.0, atol=1e-6): simulated_m_frac_evap_point = 1.0 else: diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py index 936da4ee3b..a9851e1f66 100644 --- a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py @@ -4,61 +4,100 @@ ################################################################ import numpy as np import matplotlib.pyplot as plt -import os +import os # load results dir = os.path.dirname(os.path.abspath(__file__)) -RHs = np.load(os.path.join(dir, 'RHs.npy')) -r0grid = np.load(os.path.join(dir, 'r0grid.npy')) -RHgrid = np.load(os.path.join(dir, 'RHgrid.npy')) -m_frac_evap = np.load(os.path.join(dir, 'm_frac_evap.npy')) -r_mins = np.load(os.path.join(dir, 'r_mins.npy')) +RHs = np.load(os.path.join(dir, "RHs.npy")) +r0grid = np.load(os.path.join(dir, "r0grid.npy")) +RHgrid = np.load(os.path.join(dir, "RHgrid.npy")) +m_frac_evap = np.load(os.path.join(dir, "m_frac_evap.npy")) +r_mins = np.load(os.path.join(dir, "r_mins.npy")) -i_RH75 = 29 # index for RH=0.75 +i_RH75 = 29 # index for RH=0.75 # make figure 2 # only put colorbar on lower panel, still line up x-axes -f, axs = plt.subplots(2,2,sharex='col',figsize=(6,7),gridspec_kw={'height_ratios': [1, 3],'width_ratios':[20,1]}) +f, axs = plt.subplots( + 2, + 2, + sharex="col", + figsize=(6, 7), + gridspec_kw={"height_ratios": [1, 3], "width_ratios": [20, 1]}, +) plt.subplots_adjust(hspace=0.05) -axs[0,0].set_xscale('log') -axs[1,0].set_xlabel(r'$r_0$ [mm]') -axs[1,0].set_ylabel('surface RH [ ]') -axs[0,0].tick_params(right=True,which='both') -axs[1,0].tick_params(right=True,which='both') -axs[1,0].tick_params(top=True,which='both') -axs[0,0].tick_params(top=True,which='both') -axs[0,0].set_ylabel('fraction mass \n evaporated [ ]') -axs[0,0].set_xlim(r0grid[0,0]*1e3,r0grid[0,-1]*1e3) -axs[0,0].set_ylim(-0.04,1.04) -levels_smooth = np.linspace(0,1,250) -cmesh = axs[1,0].contourf(r0grid*1e3, RHgrid,m_frac_evap,cmap=plt.cm.binary,vmin=0,vmax=1,levels=levels_smooth) +axs[0, 0].set_xscale("log") +axs[1, 0].set_xlabel(r"$r_0$ [mm]") +axs[1, 0].set_ylabel("surface RH [ ]") +axs[0, 0].tick_params(right=True, which="both") +axs[1, 0].tick_params(right=True, which="both") +axs[1, 0].tick_params(top=True, which="both") +axs[0, 0].tick_params(top=True, which="both") +axs[0, 0].set_ylabel("fraction mass \n evaporated [ ]") +axs[0, 0].set_xlim(r0grid[0, 0] * 1e3, r0grid[0, -1] * 1e3) +axs[0, 0].set_ylim(-0.04, 1.04) +levels_smooth = np.linspace(0, 1, 250) +cmesh = axs[1, 0].contourf( + r0grid * 1e3, + RHgrid, + m_frac_evap, + cmap=plt.cm.binary, + vmin=0, + vmax=1, + levels=levels_smooth, +) -cb = f.colorbar(cmesh,cax=axs[1,1]) -cb.solids.set_edgecolor('face') -axs[0,1].axis('off') -cb.solids.set_edgecolor('face') +cb = f.colorbar(cmesh, cax=axs[1, 1]) +cb.solids.set_edgecolor("face") +axs[0, 1].axis("off") +cb.solids.set_edgecolor("face") cb.solids.set_linewidth(1e-5) -cb.set_label('fraction mass evaporated [ ]') -cb.set_ticks([0,0.1,0.25,0.5,0.75,1]) -axs[1,0].axhline(0.75,lw=0.5,ls='--',c='plum') -axs[1,0].plot(r_mins*1e3,RHs,lw=3,c='darkviolet',zorder=10) -c_10 = axs[1,0].contour(r0grid*1e3, RHgrid,m_frac_evap,colors='indigo',linewidths=1,linestyles='--',levels=[0.1]) +cb.set_label("fraction mass evaporated [ ]") +cb.set_ticks([0, 0.1, 0.25, 0.5, 0.75, 1]) +axs[1, 0].axhline(0.75, lw=0.5, ls="--", c="plum") +axs[1, 0].plot(r_mins * 1e3, RHs, lw=3, c="darkviolet", zorder=10) +c_10 = axs[1, 0].contour( + r0grid * 1e3, + RHgrid, + m_frac_evap, + colors="indigo", + linewidths=1, + linestyles="--", + levels=[0.1], +) cb.add_lines(c_10) -axs[1,0].clabel(c_10, c_10.levels, fmt={0.1:'10% mass evaporated'},fontsize='smaller') -axs[1,0].fill_betweenx(RHs,1e-2,(r_mins-1e-6)*1e3,edgecolor='k',facecolor='w',hatch='//') -axs[1,0].annotate(text='TOTAL \\n EVAPORATION',xy=(0.04,0.55),c='k',backgroundcolor='w') -axs[1,0].annotate(text=r'$r_\mathrm{min}$',xy=(0.35,0.27),c='darkviolet',backgroundcolor='w',size=8) +axs[1, 0].clabel( + c_10, c_10.levels, fmt={0.1: "10% mass evaporated"}, fontsize="smaller" +) +axs[1, 0].fill_betweenx( + RHs, 1e-2, (r_mins - 1e-6) * 1e3, edgecolor="k", facecolor="w", hatch="//" +) +axs[1, 0].annotate( + text="TOTAL \\n EVAPORATION", xy=(0.04, 0.55), c="k", backgroundcolor="w" +) +axs[1, 0].annotate( + text=r"$r_\mathrm{min}$", + xy=(0.35, 0.27), + c="darkviolet", + backgroundcolor="w", + size=8, +) -axs[0,0].scatter(r_mins[i_RH75]*1e3,0.99,color='darkviolet',zorder=10) -axs[0,0].axvline(r_mins[i_RH75]*1e3,lw=0.5,c='darkviolet',ls='--') -axs[0,0].plot(r0grid[0,:]*1e3,m_frac_evap[i_RH75,:],lw=2.05,c='k') -axs[0,0].axhline(1,c='w',lw=3) -axs[0,0].plot([1e-2,r_mins[i_RH75]*1e3],[1,1],c='k',lw=2.05,ls='--') -axs[0,0].annotate(text='surface RH = 0.75',xy=(0.8,0.85),c='plum',size=8) -axs[0,0].annotate(text=r'$r_\mathrm{min}$',xy=(0.13,0.05),c='darkviolet',size=8) +axs[0, 0].scatter(r_mins[i_RH75] * 1e3, 0.99, color="darkviolet", zorder=10) +axs[0, 0].axvline(r_mins[i_RH75] * 1e3, lw=0.5, c="darkviolet", ls="--") +axs[0, 0].plot(r0grid[0, :] * 1e3, m_frac_evap[i_RH75, :], lw=2.05, c="k") +axs[0, 0].axhline(1, c="w", lw=3) +axs[0, 0].plot([1e-2, r_mins[i_RH75] * 1e3], [1, 1], c="k", lw=2.05, ls="--") +axs[0, 0].annotate(text="surface RH = 0.75", xy=(0.8, 0.85), c="plum", size=8) +axs[0, 0].annotate(text=r"$r_\mathrm{min}$", xy=(0.13, 0.05), c="darkviolet", size=8) -figs_path = os.path.join(dir,'figs') +figs_path = os.path.join(dir, "figs") os.mkdir(figs_path) if not os.path.exists(figs_path) else None -plt.savefig(os.path.join(figs_path,'fig02.pdf'),transparent=True,bbox_inches='tight',pad_inches=0.5) +plt.savefig( + os.path.join(figs_path, "fig02.pdf"), + transparent=True, + bbox_inches="tight", + pad_inches=0.5, +) plt.close() diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/unit_test.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/unit_test.py index 5442c740c5..d5b6425e39 100644 --- a/tests/examples_tests/Loftus_and_Wordsworth_2021/unit_test.py +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/unit_test.py @@ -5,7 +5,14 @@ import numpy as np from scipy.optimize import fsolve -from PySDM_examples.Loftus_and_Wordsworth_2021.planet import EarthLike, Earth, EarlyMars, Jupiter, Saturn, K2_18B +from PySDM_examples.Loftus_and_Wordsworth_2021.planet import ( + EarthLike, + Earth, + EarlyMars, + Jupiter, + Saturn, + K2_18B, +) from PySDM_examples.Loftus_and_Wordsworth_2021.simulation import Simulation from PySDM_examples.Loftus_and_Wordsworth_2021.parcel import AlienParcel from PySDM_examples.Loftus_and_Wordsworth_2021 import Settings @@ -28,34 +35,32 @@ def _get_test_resources(self): def test_planet_classes(self): """Test planet class instantiation and basic properties.""" - planets = [ - EarthLike(), - Earth(), - EarlyMars(), - Jupiter(), - Saturn(), - K2_18B() - ] - + planets = [EarthLike(), Earth(), EarlyMars(), Jupiter(), Saturn(), K2_18B()] + for planet in planets: assert planet.g_std > 0 assert planet.T_STP > 0 assert planet.p_STP > 0 assert planet.RH_zref >= 0 assert planet.RH_zref <= 1 - + # atmospheric composition sums to 1 or less - total_conc = (planet.dry_molar_conc_H2 + planet.dry_molar_conc_He + - planet.dry_molar_conc_N2 + planet.dry_molar_conc_O2 + - planet.dry_molar_conc_CO2) - assert total_conc <= 1.01, f"Total molar concentration {total_conc} exceeds 1.01 for {planet.__class__.__name__}" - - + total_conc = ( + planet.dry_molar_conc_H2 + + planet.dry_molar_conc_He + + planet.dry_molar_conc_N2 + + planet.dry_molar_conc_O2 + + planet.dry_molar_conc_CO2 + ) + assert ( + total_conc <= 1.01 + ), f"Total molar concentration {total_conc} exceeds 1.01 for {planet.__class__.__name__}" + def test_water_vapour_mixing_ratio_calculation(self): """Test water vapour mixing ratio calculation.""" with self._get_test_resources() as (formulae, earth_like): const = formulae.constants - planet = earth_like + planet = earth_like pvs = formulae.saturation_vapour_pressure.pvs_water(planet.T_STP) initial_water_vapour_mixing_ratio = const.eps / ( @@ -65,7 +70,6 @@ def test_water_vapour_mixing_ratio_calculation(self): assert initial_water_vapour_mixing_ratio > 0 assert initial_water_vapour_mixing_ratio < 0.1 # Should be less than 10% - def test_alien_parcel_initialization(self): """Test AlienParcel class initialization.""" parcel = AlienParcel( @@ -82,13 +86,19 @@ def test_alien_parcel_initialization(self): @pytest.mark.parametrize( "r_wet_val, mass_of_dry_air_val, iwvmr_val, pcloud_val, Zcloud_val, Tcloud_val", [ - (1e-4, 1e5, 0.01, 90000, 1000, 280), - (1e-5, 1e4, 0.005, 80000, 500, 270), - (2e-4, 2e5, 0.02, 95000, 1500, 290), - ] + (1e-4, 1e5, 0.01, 90000, 1000, 280), + (1e-5, 1e4, 0.005, 80000, 500, 270), + (2e-4, 2e5, 0.02, 95000, 1500, 290), + ], ) def test_simulation_class( - self, r_wet_val, mass_of_dry_air_val, iwvmr_val, pcloud_val, Zcloud_val, Tcloud_val + self, + r_wet_val, + mass_of_dry_air_val, + iwvmr_val, + pcloud_val, + Zcloud_val, + Tcloud_val, ): """Test Simulation class initialization and basic functionality with parametrized settings.""" with self._get_test_resources() as (formulae, earth_like): @@ -106,65 +116,73 @@ def test_simulation_class( ) simulation = Simulation(settings) - - assert hasattr(simulation, 'particulator') - assert hasattr(simulation, 'run') - assert hasattr(simulation, 'save') - + + assert hasattr(simulation, "particulator") + assert hasattr(simulation, "run") + assert hasattr(simulation, "save") + products = simulation.particulator.products required_products = ["radius_m1", "z", "RH", "t"] for product in required_products: assert product in products - - @pytest.mark.parametrize( "r_wet_val, mass_of_dry_air_val, iwvmr_val, pcloud_val, Zcloud_val, Tcloud_val", [ (1e-5, 1e5, 0.01, 90000, 100, 280), (1e-5, 1e4, 0.005, 80000, 500, 270), (2e-4, 2e5, 0.02, 95000, 1500, 290), - ] - ) - def test_simulation_run_basic(self, r_wet_val, mass_of_dry_air_val, iwvmr_val, pcloud_val, Zcloud_val, Tcloud_val): + ], + ) + def test_simulation_run_basic( + self, + r_wet_val, + mass_of_dry_air_val, + iwvmr_val, + pcloud_val, + Zcloud_val, + Tcloud_val, + ): """Test basic simulation run functionality.""" with self._get_test_resources() as (formulae, earth_like): - planet = earth_like + planet = earth_like settings = Settings( - planet=planet, - r_wet=r_wet_val * si.m, - mass_of_dry_air=mass_of_dry_air_val * si.kg, - initial_water_vapour_mixing_ratio=iwvmr_val, - pcloud=pcloud_val * si.pascal, - Zcloud=Zcloud_val * si.m, - Tcloud=Tcloud_val * si.kelvin, - formulae=formulae, - ) + planet=planet, + r_wet=r_wet_val * si.m, + mass_of_dry_air=mass_of_dry_air_val * si.kg, + initial_water_vapour_mixing_ratio=iwvmr_val, + pcloud=pcloud_val * si.pascal, + Zcloud=Zcloud_val * si.m, + Tcloud=Tcloud_val * si.kelvin, + formulae=formulae, + ) simulation = Simulation(settings) output = simulation.run() - - assert 'r' in output - assert 'S' in output - assert 'z' in output - assert 't' in output - - assert output['r'] is not None - assert output['S'] is not None - assert output['z'] is not None - assert output['t'] is not None - - assert len(output['r']) > 0, "Output array 'r' is empty" - assert len(output['S']) > 0, "Output array 'S' is empty" - assert len(output['z']) > 0, "Output array 'z' is empty" - assert len(output['t']) > 0, "Output array 't' is empty" - + + assert "r" in output + assert "S" in output + assert "z" in output + assert "t" in output + + assert output["r"] is not None + assert output["S"] is not None + assert output["z"] is not None + assert output["t"] is not None + + assert len(output["r"]) > 0, "Output array 'r' is empty" + assert len(output["S"]) > 0, "Output array 'S' is empty" + assert len(output["z"]) > 0, "Output array 'z' is empty" + assert len(output["t"]) > 0, "Output array 't' is empty" + lengths = [len(output[key]) for key in output.keys()] - assert all(l == lengths[0] for l in lengths), "Not all output arrays have the same length" + assert all( + l == lengths[0] for l in lengths + ), "Not all output arrays have the same length" def test_saturation_at_cloud_base(self): - formulae= Formulae( + formulae = Formulae( ventilation="PruppacherAndRasmussen1979", saturation_vapour_pressure="AugustRocheMagnus", diffusion_coordinate="WaterMassLogarithm", @@ -173,38 +191,48 @@ def test_saturation_at_cloud_base(self): new_Earth = EarthLike() new_Earth.T_STP - RH_array = np.linspace(0.25, .99, 50) + RH_array = np.linspace(0.25, 0.99, 50) const = formulae.constants - def mix(dry,vap,ratio): - return (dry + ratio * vap)/(1 + ratio) + def mix(dry, vap, ratio): + return (dry + ratio * vap) / (1 + ratio) - for i,RH in enumerate(RH_array[::-1]): + for i, RH in enumerate(RH_array[::-1]): new_Earth.RH_zref = RH pvs = formulae.saturation_vapour_pressure.pvs_water(new_Earth.T_STP) - initial_water_vapour_mixing_ratio = const.eps / (new_Earth.p_STP / new_Earth.RH_zref / pvs - 1 - ) + initial_water_vapour_mixing_ratio = const.eps / ( + new_Earth.p_STP / new_Earth.RH_zref / pvs - 1 + ) - Rair = mix(const.Rd,const.Rv,initial_water_vapour_mixing_ratio) - c_p = mix(const.c_pd,const.c_pv,initial_water_vapour_mixing_ratio) + Rair = mix(const.Rd, const.Rv, initial_water_vapour_mixing_ratio) + c_p = mix(const.c_pd, const.c_pv, initial_water_vapour_mixing_ratio) def f(x): - return initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio+ const.eps)*new_Earth.p_STP*(x/new_Earth.T_STP)**(c_p/Rair - ) - formulae.saturation_vapour_pressure.pvs_water(x) - - tdews = (fsolve(f, [150,300])) + return initial_water_vapour_mixing_ratio / ( + initial_water_vapour_mixing_ratio + const.eps + ) * new_Earth.p_STP * (x / new_Earth.T_STP) ** ( + c_p / Rair + ) - formulae.saturation_vapour_pressure.pvs_water( + x + ) + + tdews = fsolve(f, [150, 300]) Tcloud = np.max(tdews) - Zcloud = (new_Earth.T_STP-Tcloud)*c_p/new_Earth.g_std + Zcloud = (new_Earth.T_STP - Tcloud) * c_p / new_Earth.g_std thstd = formulae.trivia.th_std(new_Earth.p_STP, new_Earth.T_STP) - pcloud = formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio(new_Earth.p_STP, - thstd, initial_water_vapour_mixing_ratio, Zcloud) + pcloud = formulae.hydrostatics.p_of_z_assuming_const_th_and_initial_water_vapour_mixing_ratio( + new_Earth.p_STP, thstd, initial_water_vapour_mixing_ratio, Zcloud + ) np.testing.assert_approx_equal( - actual=pcloud*(initial_water_vapour_mixing_ratio/(initial_water_vapour_mixing_ratio + const.eps))/ - formulae.saturation_vapour_pressure.pvs_water(Tcloud), + actual=pcloud + * ( + initial_water_vapour_mixing_ratio + / (initial_water_vapour_mixing_ratio + const.eps) + ) + / formulae.saturation_vapour_pressure.pvs_water(Tcloud), desired=1, - significant=4 + significant=4, ) - \ No newline at end of file From 9043d3c03349ad9d5a875ddfa484ac6bbf0c2564 Mon Sep 17 00:00:00 2001 From: lursz Date: Mon, 9 Jun 2025 23:44:46 +0200 Subject: [PATCH 17/28] black for ipynb --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 63 ++++++++++++------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 5b6731091a..ab0582b8bf 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -17,34 +17,37 @@ "metadata": {}, "outputs": [], "source": [ + "import os\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", + "from numba import njit\n", + "from joblib import Parallel, delayed\n", "from open_atmos_jupyter_utils import show_plot\n", - "from PySDM import Formulae\n", "\n", + "from PySDM import Formulae\n", "from PySDM.physics import si\n", "from scipy.optimize import fsolve\n", "from PySDM_examples.Loftus_and_Wordsworth_2021 import Settings\n", "from PySDM_examples.Loftus_and_Wordsworth_2021.planet import (\n", " Planet,\n", - " EarthLike, \n", - " Earth, \n", - " EarlyMars, \n", - " Jupiter, \n", - " Saturn, \n", - " K2_18B\n", + " EarthLike,\n", + " Earth,\n", + " EarlyMars,\n", + " Jupiter,\n", + " Saturn,\n", + " K2_18B,\n", ")\n", "from PySDM_examples.Loftus_and_Wordsworth_2021 import Simulation" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "92a3a574", "metadata": {}, "outputs": [], "source": [ - "formulae= Formulae(\n", + "formulae = Formulae(\n", " ventilation=\"PruppacherAndRasmussen1979\",\n", " saturation_vapour_pressure=\"AugustRocheMagnus\",\n", " diffusion_coordinate=\"WaterMassLogarithm\",\n", @@ -182,7 +185,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "8e6027d8", "metadata": {}, "outputs": [ @@ -13224,20 +13227,28 @@ ], "source": [ "row_data = output_matrix[18, ::-1] # Reverse the row for plotting\n", - "fig,ax = plt.subplots(2, 1, figsize=(6, 6),sharex=True,gridspec_kw={\"height_ratios\": [1, 3]},constrained_layout=True)\n", - "ax[0].plot(radius_array,row_data, label=f\"Surface RH = {RH_array[-18]:.2f} %\")\n", + "fig, ax = plt.subplots(\n", + " 2,\n", + " 1,\n", + " figsize=(6, 6),\n", + " sharex=True,\n", + " gridspec_kw={\"height_ratios\": [1, 3]},\n", + " constrained_layout=True,\n", + ")\n", + "ax[0].plot(radius_array, row_data, label=f\"Surface RH = {RH_array[-18]:.2f} %\")\n", "ax[0].set_ylabel(\"Mass evaporated (%)\")\n", "ax[0].legend()\n", "\n", "h = ax[1].contourf(\n", - " radius_array,RH_array[::-1],\n", - " output_matrix[:,::-1], \n", - " cmap=\"gray_r\", \n", - " levels =np.linspace(0, 1, 100), \n", - " aspect=\"auto\", \n", - " interpolation=\"bilinear\", \n", + " radius_array,\n", + " RH_array[::-1],\n", + " output_matrix[:, ::-1],\n", + " cmap=\"gray_r\",\n", + " levels=np.linspace(0, 1, 100),\n", + " aspect=\"auto\",\n", + " interpolation=\"bilinear\",\n", ")\n", - "ax[1].set_xscale(\"log\") \n", + "ax[1].set_xscale(\"log\")\n", "\n", "# Add labels\n", "ax[1].set_xlabel(\"Radius (µm)\")\n", @@ -13246,14 +13257,22 @@ "cbar = fig.colorbar(h, ax=ax, shrink=0.4)\n", "cbar.set_label(\"fraction Mass evaporated\")\n", "contour_levels = [0.1] # Define the level for the contour\n", - "ax[1].contour(radius_array,RH_array[::-1],output_matrix[:,::-1], levels=contour_levels, colors=\"red\", linewidths=1.5,label=\"10% mass evaporated\")\n", + "ax[1].contour(\n", + " radius_array,\n", + " RH_array[::-1],\n", + " output_matrix[:, ::-1],\n", + " levels=contour_levels,\n", + " colors=\"red\",\n", + " linewidths=1.5,\n", + " label=\"10% mass evaporated\",\n", + ")\n", "ax[1].legend()\n", "show_plot()" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "369fa24a", "metadata": {}, "outputs": [ @@ -14688,7 +14707,7 @@ } ], "source": [ - "fig,axs = plt.subplots(1, 3, figsize=(10, 8),sharey=True)\n", + "fig, axs = plt.subplots(1, 3, figsize=(10, 8), sharey=True)\n", "axs[0].plot(last_output[\"r\"], last_output[\"z\"], label=\"Radius\")\n", "axs[0].set_ylabel(\"Height (m)\")\n", "axs[0].set_xlabel(\"Radius (um)\")\n", From 147e3f779a5909de53cb0535a802b800e97838ab Mon Sep 17 00:00:00 2001 From: Tomasz Kawiak Date: Mon, 9 Jun 2025 23:53:12 +0200 Subject: [PATCH 18/28] Update PySDM/physics/particle_shape_and_density/oblate_spheroid.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- PySDM/physics/particle_shape_and_density/oblate_spheroid.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py index 24a4aa21b9..6cf0a44a83 100644 --- a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py +++ b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py @@ -6,7 +6,7 @@ def __init__(self, *args, **kwargs): pass @staticmethod - def equivalent_radius(a: float, b: float, sigma_c_air: float, g: float, rho_c_l: float, rho_air: float) -> float: # Removed self, added a, b + def equivalent_radius(a: float, b: float, sigma_c_air: float, g: float, rho_c_l: float, rho_air: float) -> float: """ Calculates an equivalent radius based on a formula involving surface tension, gravity, and densities. From e060147f2160bea9359fd000da49a61eac320f54 Mon Sep 17 00:00:00 2001 From: Mateusz Mazur <92544198+mzsuetam@users.noreply.github.com> Date: Tue, 10 Jun 2025 13:18:30 +0200 Subject: [PATCH 19/28] Updated tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py Using dir shadowed the built-in dir() function. Renamed this variable (e.g., root_dir) to avoid confusion. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../ground_truth/gen_figure.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py index a9851e1f66..67626bb2e9 100644 --- a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py @@ -7,12 +7,12 @@ import os # load results -dir = os.path.dirname(os.path.abspath(__file__)) -RHs = np.load(os.path.join(dir, "RHs.npy")) -r0grid = np.load(os.path.join(dir, "r0grid.npy")) -RHgrid = np.load(os.path.join(dir, "RHgrid.npy")) -m_frac_evap = np.load(os.path.join(dir, "m_frac_evap.npy")) -r_mins = np.load(os.path.join(dir, "r_mins.npy")) +root_dir = os.path.dirname(os.path.abspath(__file__)) +RHs = np.load(os.path.join(root_dir, "RHs.npy")) +r0grid = np.load(os.path.join(root_dir, "r0grid.npy")) +RHgrid = np.load(os.path.join(root_dir, "RHgrid.npy")) +m_frac_evap = np.load(os.path.join(root_dir, "m_frac_evap.npy")) +r_mins = np.load(os.path.join(root_dir, "r_mins.npy")) i_RH75 = 29 # index for RH=0.75 From 6ea0e62844479b2b01d2bdfbc151c304a193ee28 Mon Sep 17 00:00:00 2001 From: Mateusz Mazur Date: Tue, 10 Jun 2025 13:21:52 +0200 Subject: [PATCH 20/28] Fixed pressure values in Planet subclasses to use correct scientific notation --- .../Loftus_and_Wordsworth_2021/planet.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/planet.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/planet.py index 46d4448f49..0e4211b397 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/planet.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/planet.py @@ -24,7 +24,7 @@ def to_dict(self) -> Dict[str, Any]: class EarthLike(Planet): g_std: float = 9.82 * si.metre / si.second**2 T_STP: float = 300 * si.kelvin - p_STP: float = 1.01325 * 10e5 * si.pascal + p_STP: float = 1.01325 * 1e6 * si.pascal RH_zref: float = 0.75 dry_molar_conc_H2: float = 0 dry_molar_conc_He: float = 0 @@ -38,7 +38,7 @@ class EarthLike(Planet): class Earth(Planet): g_std: float = 9.82 * si.metre / si.second**2 T_STP: float = 290 * si.kelvin - p_STP: float = 1.01325 * 10e5 * si.pascal + p_STP: float = 1.01325 * 1e6 * si.pascal RH_zref: float = 0.75 dry_molar_conc_H2: float = 0 dry_molar_conc_He: float = 0 @@ -52,7 +52,7 @@ class Earth(Planet): class EarlyMars(Planet): g_std: float = 3.71 * si.metre / si.second**2 T_STP: float = 290 * si.kelvin - p_STP: float = 2 * 10e5 * si.pascal + p_STP: float = 2 * 1e6 * si.pascal RH_zref: float = 0.75 dry_molar_conc_H2: float = 0 dry_molar_conc_He: float = 0 @@ -66,7 +66,7 @@ class EarlyMars(Planet): class Jupiter(Planet): g_std: float = 24.84 * si.metre / si.second**2 T_STP: float = 274 * si.kelvin - p_STP: float = 4.85 * 10e5 * si.pascal + p_STP: float = 4.85 * 1e6 * si.pascal RH_zref: float = 1 dry_molar_conc_H2: float = 0.864 dry_molar_conc_He: float = 0.136 @@ -80,7 +80,7 @@ class Jupiter(Planet): class Saturn(Planet): g_std: float = 10.47 * si.metre / si.second**2 T_STP: float = 284 * si.kelvin - p_STP: float = 10.4 * 10e5 * si.pascal + p_STP: float = 10.4 * 1e6 * si.pascal RH_zref: float = 1 dry_molar_conc_H2: float = 0.88 dry_molar_conc_He: float = 0.12 @@ -94,7 +94,7 @@ class Saturn(Planet): class K2_18B(Planet): g_std: float = 12.44 * si.metre / si.second**2 T_STP: float = 275 * si.kelvin - p_STP: float = 0.1 * 10e5 * si.pascal + p_STP: float = 0.1 * 1e6 * si.pascal RH_zref: float = 1 dry_molar_conc_H2: float = 0.9 dry_molar_conc_He: float = 0.1 @@ -108,7 +108,7 @@ class K2_18B(Planet): class CompositeTest(Planet): g_std: float = 9.82 * si.metre / si.second**2 T_STP: float = 275 * si.kelvin - p_STP: float = 0.75 * 10e5 * si.pascal + p_STP: float = 0.75 * 1e6 * si.pascal RH_zref: float = 1 dry_molar_conc_H2: float = 0.1 dry_molar_conc_He: float = 0.1 From 51558ab1d1c733c70c7e9333aa23e2a28a282716 Mon Sep 17 00:00:00 2001 From: Mateusz Mazur <92544198+mzsuetam@users.noreply.github.com> Date: Tue, 10 Jun 2025 13:23:17 +0200 Subject: [PATCH 21/28] Updated method signature for proper binding. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- PySDM/physics/terminal_velocity/lofus_et_al_2021.py | 1 + 1 file changed, 1 insertion(+) diff --git a/PySDM/physics/terminal_velocity/lofus_et_al_2021.py b/PySDM/physics/terminal_velocity/lofus_et_al_2021.py index b809966c5d..fcc3068dbd 100644 --- a/PySDM/physics/terminal_velocity/lofus_et_al_2021.py +++ b/PySDM/physics/terminal_velocity/lofus_et_al_2021.py @@ -28,6 +28,7 @@ def terminal_velocity(rho_c_l, rho_air, g, C_D, b_a_ratio, r_eq): r_eq ) + @staticmethod def v_term(const, radius): return np.where( radius < const.ROGERS_YAU_TERM_VEL_SMALL_R_LIMIT, From 7b75eba741782db3315b0f1ec2af42008453e93f Mon Sep 17 00:00:00 2001 From: Mateusz Mazur Date: Tue, 10 Jun 2025 13:40:51 +0200 Subject: [PATCH 22/28] Refactored Settings class to remove unused 'coord' parameter and updated diffusion_coordinate assignment --- .../PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb | 3 +-- .../PySDM_examples/Loftus_and_Wordsworth_2021/settings.py | 4 +--- .../Loftus_and_Wordsworth_2021/accuracy_test.py | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index ab0582b8bf..14b19ff055 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -78,7 +78,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "d3a8f4b9", "metadata": {}, "outputs": [], @@ -145,7 +145,6 @@ " planet=new_Earth,\n", " r_wet=r,\n", " mass_of_dry_air=1e5 * si.kg,\n", - " coord=\"WaterMassLogarithm\",\n", " initial_water_vapour_mixing_ratio=initial_water_vapour_mixing_ratio,\n", " pcloud=pcloud,\n", " Zcloud=Zcloud,\n", diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py index d047f81b61..b0a81752a7 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/settings.py @@ -19,12 +19,11 @@ def __init__( pcloud: float, Zcloud: float, Tcloud: float, - coord: str = "WaterMassLogarithm", formulae: Formulae = None, ): self.formulae = formulae or Formulae( saturation_vapour_pressure="AugustRocheMagnus", - diffusion_coordinate=coord, + diffusion_coordinate="WaterMassLogarithm", ) self.initial_water_vapour_mixing_ratio = initial_water_vapour_mixing_ratio @@ -44,5 +43,4 @@ def __init__( self.rtol_x = 0.5 * (condensation.DEFAULTS.rtol_x) self.rtol_thd = condensation.DEFAULTS.rtol_thd - self.coord = "volume logarithm" self.dt_cond_range = condensation.DEFAULTS.cond_range diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py index 1c90726640..6b63ef12bb 100644 --- a/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py @@ -189,7 +189,6 @@ def calc_simulated_m_frac_evap_point( planet=current_planet_state, r_wet=current_r_m, mass_of_dry_air=1e5 * si.kg, - coord="WaterMassLogarithm", initial_water_vapour_mixing_ratio=iwvmr, pcloud=pcloud, Zcloud=Zcloud, From bf2988fa81b73f04fe7192a40d6d45f609a33f32 Mon Sep 17 00:00:00 2001 From: Mateusz Mazur Date: Tue, 10 Jun 2025 14:22:27 +0200 Subject: [PATCH 23/28] Removed unused Lofus et al. 2021 implementations from particle shape and density, terminal velocity, and ventilation modules --- .../particle_shape_and_density/__init__.py | 1 - .../oblate_spheroid.py | 76 ------------------- PySDM/physics/terminal_velocity/__init__.py | 3 +- .../terminal_velocity/lofus_et_al_2021.py | 41 ---------- PySDM/physics/ventilation/__init__.py | 1 - PySDM/physics/ventilation/lofus_et_al_2021.py | 37 --------- 6 files changed, 1 insertion(+), 158 deletions(-) delete mode 100644 PySDM/physics/particle_shape_and_density/oblate_spheroid.py delete mode 100644 PySDM/physics/terminal_velocity/lofus_et_al_2021.py delete mode 100644 PySDM/physics/ventilation/lofus_et_al_2021.py diff --git a/PySDM/physics/particle_shape_and_density/__init__.py b/PySDM/physics/particle_shape_and_density/__init__.py index 5b2fc30fa2..2909583961 100644 --- a/PySDM/physics/particle_shape_and_density/__init__.py +++ b/PySDM/physics/particle_shape_and_density/__init__.py @@ -5,4 +5,3 @@ from .liquid_spheres import LiquidSpheres from .mixed_phase_spheres import MixedPhaseSpheres from .porous_spheroids import PorousSpheroid -from .oblate_spheroid import OblateSpheroid diff --git a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py b/PySDM/physics/particle_shape_and_density/oblate_spheroid.py deleted file mode 100644 index 6cf0a44a83..0000000000 --- a/PySDM/physics/particle_shape_and_density/oblate_spheroid.py +++ /dev/null @@ -1,76 +0,0 @@ -import numpy as np -from PySDM.physics.constants import PI_4_3 - -class OblateSpheroid: - def __init__(self, *args, **kwargs): - pass - - @staticmethod - def equivalent_radius(a: float, b: float, sigma_c_air: float, g: float, rho_c_l: float, rho_air: float) -> float: - """ - Calculates an equivalent radius based on a formula involving surface tension, - gravity, and densities. - - The formula is: - r_eq = sqrt( (sigma_c_air / (g * (rho_c_l - rho_air))) * - (b/a)^(1/6) * sqrt( (b/a)^(-2) - 2 * (b/a)^(1/3) ) + 1 ) - - Args: - a (float): Semi-major axis (equatorial radius) [m]. Must be > 0. - b (float): Semi-minor axis (polar radius) [m]. Must be > 0 and <= a. - sigma_c_air (float): Surface tension between condensed phase and air [N/m]. - g (float): Acceleration due to gravity [m/s^2]. - rho_c_l (float): Density of the condensed phase (liquid/ice) [kg/m^3]. - rho_air (float): Density of air [kg/m^3]. - - Returns: - float: Equivalent radius [m]. - """ - ratio_b_a = b / a - - return ratio_b_a **(1/6) * np.sqrt((sigma_c_air / g * (rho_c_l - rho_air)) * - (ratio_b_a**(-2) - 2 * ratio_b_a**(1/3)) + 1) - - @staticmethod - def volume(a: float, b: float) -> float: # Removed self, added a, b - """ - Calculates the volume of the oblate spheroid. - V = (4/3) * pi * a^2 * b - - Args: - a (float): Semi-major axis (equatorial radius) [m]. - b (float): Semi-minor axis (polar radius) [m]. - Returns: - float: Volume of the spheroid [m^3]. - """ - return PI_4_3 * (a**2) * b - - @staticmethod - def reynolds_number(a: float, b: float, velocity_wrt_air: float, dynamic_viscosity: float, air_density: float, sigma_c_air: float, g: float, rho_c_l: float) -> float: # Removed self, added a, b - """ - Calculates the Reynolds number for the oblate spheroid. - Re = (air_density * velocity_wrt_air * L) / dynamic_viscosity - The characteristic length L is taken as 2 * equivalent_radius(). - The equivalent_radius is calculated using the formula involving surface tension, - gravity, and densities. - - Args: - a (float): Semi-major axis (equatorial radius) [m]. - b (float): Semi-minor axis (polar radius) [m]. - velocity_wrt_air (float): Velocity of the particle relative to air [m/s]. - dynamic_viscosity (float): Dynamic viscosity of air [Pa*s or kg/(m*s)], also denoted eta_air. - air_density (float): Density of air [kg/m^3], also denoted rho_air. - sigma_c_air (float): Surface tension between condensed phase and air [N/m]. - g (float): Acceleration due to gravity [m/s^2]. - rho_c_l (float): Density of the condensed phase (liquid/ice) [kg/m^3]. - - Returns: - float: Reynolds number (dimensionless). - """ - r_eq = OblateSpheroid.equivalent_radius(a=a, b=b, sigma_c_air=sigma_c_air, g=g, rho_c_l=rho_c_l, rho_air=air_density) - characteristic_length = 2 * r_eq # L in the formula - - if dynamic_viscosity == 0: # avoid division by zero - return np.inf if air_density * velocity_wrt_air * characteristic_length != 0 else 0.0 - - return (air_density * velocity_wrt_air * characteristic_length) / dynamic_viscosity diff --git a/PySDM/physics/terminal_velocity/__init__.py b/PySDM/physics/terminal_velocity/__init__.py index 3396496aed..bb7d655a0f 100644 --- a/PySDM/physics/terminal_velocity/__init__.py +++ b/PySDM/physics/terminal_velocity/__init__.py @@ -2,5 +2,4 @@ from .rogers_yau import RogersYau from .gunn_kinzer_1949 import GunnKinzer1949 -from .power_series import PowerSeries -from .lofus_et_al_2021 import LofusEtAl2021 +from .power_series import PowerSeries \ No newline at end of file diff --git a/PySDM/physics/terminal_velocity/lofus_et_al_2021.py b/PySDM/physics/terminal_velocity/lofus_et_al_2021.py deleted file mode 100644 index fcc3068dbd..0000000000 --- a/PySDM/physics/terminal_velocity/lofus_et_al_2021.py +++ /dev/null @@ -1,41 +0,0 @@ -import numpy as np -from PySDM.physics.constants import TWO_THIRDS - -# eq. 8 at https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2020JE006653 -class LofusEtAl2021: - @staticmethod - def terminal_velocity(rho_c_l, rho_air, g, C_D, b_a_ratio, r_eq): - """ - Calculates terminal velocity based on Lofus et al. 2021, eq. 8. - - Parameters: - rho_c_l (float): Density of condensed water (liquid or ice) [kg/m^3] - rho_air (float): Density of air [kg/m^3] - g (float): Acceleration due to gravity [m/s^2] - C_D (float): Drag coefficient (dimensionless) - b_a_ratio (float): Ratio of semi-minor to semi-major axes (b/a) (dimensionless) - r_eq (float): Equivalent radius [m] - - Returns: - float: Terminal velocity [m/s] (negative sign indicates downward motion) - """ - - return -np.sqrt( - (8/3) * - (rho_c_l - rho_air) / rho_air * - const.g_std / C_D * - b_a_ratio**TWO_THIRDS * - r_eq - ) - - @staticmethod - def v_term(const, radius): - return np.where( - radius < const.ROGERS_YAU_TERM_VEL_SMALL_R_LIMIT, - const.ROGERS_YAU_TERM_VEL_SMALL_K * radius**const.TWO, - np.where( - radius < const.ROGERS_YAU_TERM_VEL_MEDIUM_R_LIMIT, - const.ROGERS_YAU_TERM_VEL_MEDIUM_K * radius, - const.ROGERS_YAU_TERM_VEL_LARGE_K * radius**const.ONE_HALF, - ), - ) \ No newline at end of file diff --git a/PySDM/physics/ventilation/__init__.py b/PySDM/physics/ventilation/__init__.py index 32ea8d5337..6390942d0f 100644 --- a/PySDM/physics/ventilation/__init__.py +++ b/PySDM/physics/ventilation/__init__.py @@ -5,4 +5,3 @@ from .neglect import Neglect from .pruppacher_rasmussen_1979 import PruppacherAndRasmussen1979 from .froessling_1938 import Froessling1938 -from .lofus_et_al_2021 import LofusEtAl2021 diff --git a/PySDM/physics/ventilation/lofus_et_al_2021.py b/PySDM/physics/ventilation/lofus_et_al_2021.py deleted file mode 100644 index b962f98df6..0000000000 --- a/PySDM/physics/ventilation/lofus_et_al_2021.py +++ /dev/null @@ -1,37 +0,0 @@ -import numpy as np -from PySDM.physics.constants import PI_4_3, ONE_HALF,THREE,TWO - -# eq. 3 and 4 at https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2020JE006653 -class LofusEtAl2021: - @staticmethod - def gravity_force(r_eq, ro_c_l, ro_air, g): - """ - Calculate the gravity force on a particle. - - Parameters: - r_eq (float): Equivalent radius of the particle. - ro_c_l (float): Density of the particle. - ro_air (float): Density of the air. - g (float): Gravitational acceleration. - - Returns: - float: The calculated gravity force. - """ - return PI_4_3 * r_eq**THREE * (ro_c_l - ro_air) * g - - @staticmethod - def drag_force(C_d, A, ro_air, v): - """ - Calculate the drag force on a particle. - - Parameters: - C_d (float): Coefficient of the raindrop. - A (float): Cros-sectional area of the raindrop. - ro_air (float): Local density of the air. - v (float): Relative velocity of the particle. - - Returns: - float: The calculated drag force. - """ - return ONE_HALF * C_d * A * ro_air * v**TWO - \ No newline at end of file From cb77758985bc17a617afee8c867bbd5e74b61e90 Mon Sep 17 00:00:00 2001 From: Piotr Kubala Date: Tue, 10 Jun 2025 14:26:35 +0200 Subject: [PATCH 24/28] plots warnings fixes --- .../PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 14b19ff055..0495de392c 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -13244,8 +13244,6 @@ " output_matrix[:, ::-1],\n", " cmap=\"gray_r\",\n", " levels=np.linspace(0, 1, 100),\n", - " aspect=\"auto\",\n", - " interpolation=\"bilinear\",\n", ")\n", "ax[1].set_xscale(\"log\")\n", "\n", @@ -13263,9 +13261,7 @@ " levels=contour_levels,\n", " colors=\"red\",\n", " linewidths=1.5,\n", - " label=\"10% mass evaporated\",\n", ")\n", - "ax[1].legend()\n", "show_plot()" ] }, From 85cbb2c623fe4cca751a3dd1df325a615ea87b6d Mon Sep 17 00:00:00 2001 From: Piotr Kubala Date: Tue, 10 Jun 2025 14:47:59 +0200 Subject: [PATCH 25/28] removed files rogers and yau --- PySDM/physics/drop_growth/__init__.py | 1 - .../drop_growth/rogers_and_yau_1996.py | 41 ------------------- PySDM/physics/terminal_velocity/__init__.py | 6 ++- 3 files changed, 4 insertions(+), 44 deletions(-) delete mode 100644 PySDM/physics/drop_growth/rogers_and_yau_1996.py diff --git a/PySDM/physics/drop_growth/__init__.py b/PySDM/physics/drop_growth/__init__.py index 56f1fcc6c7..a3b257be62 100644 --- a/PySDM/physics/drop_growth/__init__.py +++ b/PySDM/physics/drop_growth/__init__.py @@ -5,4 +5,3 @@ from .fick import Fick from .howell_1949 import Howell1949 from .mason_1971 import Mason1971 -from .rogers_and_yau_1996 import RogersAndYau1996 diff --git a/PySDM/physics/drop_growth/rogers_and_yau_1996.py b/PySDM/physics/drop_growth/rogers_and_yau_1996.py deleted file mode 100644 index 4ac333f90d..0000000000 --- a/PySDM/physics/drop_growth/rogers_and_yau_1996.py +++ /dev/null @@ -1,41 +0,0 @@ -""" -Computes the rate of change of raindrop equivalent radius (dreq/dt) based on the formulation -from Rogers & Yau (1996), Chapter 7. -""" - -from PySDM.physics.saturation_vapour_pressure import Bolton1980 - - -class RogersAndYau1996: - def __init__(self,_): - pass - - @staticmethod - def dreq_dt(const, req, rho_c_l, mu_c, T_air, T_drop, RH, D_c_air, fv_mol): - """ - Calculate the drop growth rate based on the Lofus et al. (2021) model. - - Parameters: - f_v_mol (float): Vapor molar fraction. - D_c_air (float): Diffusion coefficient of water vapor in air. - mu_c (float): Dynamic viscosity of the droplet. - r_eq (float): Equilibrium radius of the droplet. - ro_c_l (float): Density of liquid water. - R (float): Universal gas constant. - RH (float): Relative humidity. - T_air (float): Temperature of the air. - T_drop (float): Temperature of the droplet. - - Returns: - float: The drop growth rate. - """ - p_sat_air = Bolton1980.pvs_water(const, T_air) - p_sat_drop = Bolton1980.pvs_water(const, T_drop) - - numerator = fv_mol * D_c_air * mu_c - denominator = req * rho_c_l * const.R_str - - vapor_gradient = RH * (p_sat_air / T_air) - (p_sat_drop / T_drop) - - return (numerator / denominator) * vapor_gradient - \ No newline at end of file diff --git a/PySDM/physics/terminal_velocity/__init__.py b/PySDM/physics/terminal_velocity/__init__.py index bb7d655a0f..3434f7ad3a 100644 --- a/PySDM/physics/terminal_velocity/__init__.py +++ b/PySDM/physics/terminal_velocity/__init__.py @@ -1,5 +1,7 @@ -"""terminal velocity formulae""" +""" +terminal velocity formulae +""" from .rogers_yau import RogersYau from .gunn_kinzer_1949 import GunnKinzer1949 -from .power_series import PowerSeries \ No newline at end of file +from .power_series import PowerSeries From 62ab74ece6fa0aa661672a4238c18a4c013ace79 Mon Sep 17 00:00:00 2001 From: Piotr Kubala Date: Tue, 10 Jun 2025 15:11:05 +0200 Subject: [PATCH 26/28] notebook rerun --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 17401 ++++++++-------- 1 file changed, 8698 insertions(+), 8703 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 0495de392c..250449a3f9 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -2,17 +2,32 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "1e8d983b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: you may need to restart the kernel to use updated packages.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\piotr\\Desktop\\PySDM\\.venv\\Scripts\\python.exe: No module named pip\n" + ] + } + ], "source": [ "%pip install joblib" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "d8f644e9", "metadata": {}, "outputs": [], @@ -42,7 +57,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "92a3a574", "metadata": {}, "outputs": [], @@ -56,7 +71,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "id": "41f0ed6d", "metadata": {}, "outputs": [ @@ -66,7 +81,7 @@ "300.0" ] }, - "execution_count": 12, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -78,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "d3a8f4b9", "metadata": {}, "outputs": [], @@ -167,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "4352de81", "metadata": {}, "outputs": [], @@ -184,22 +199,10 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "8e6027d8", "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/8p/ctsxm4l530g0pklqbwhg1fg00000gn/T/ipykernel_3283/370885032.py:7: UserWarning: The following kwargs were not used by contour: 'aspect', 'interpolation'\n", - " h = ax[1].contourf(\n", - "/var/folders/8p/ctsxm4l530g0pklqbwhg1fg00000gn/T/ipykernel_3283/370885032.py:24: UserWarning: The following kwargs were not used by contour: 'label'\n", - " ax[1].contour(radius_array,RH_array[::-1],output_matrix[:,::-1], levels=contour_levels, colors=\"red\", linewidths=1.5,label=\"10% mass evaporated\")\n", - "/var/folders/8p/ctsxm4l530g0pklqbwhg1fg00000gn/T/ipykernel_3283/370885032.py:25: UserWarning: No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n", - " ax[1].legend()\n" - ] - }, { "data": { "image/svg+xml": [ @@ -211,7 +214,7 @@ " \n", " \n", " \n", - " 2025-06-07T19:15:09.867615\n", + " 2025-06-10T15:10:38.519047\n", " image/svg+xml\n", " \n", " \n", @@ -246,136 +249,136 @@ " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -384,12 +387,12 @@ " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -434,12 +437,12 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", + "\" clip-path=\"url(#p57ff99b49c)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #fefefe\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #fcfcfc\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #f9f9f9\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #f6f6f6\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #f4f4f4\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #f1f1f1\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #efefef\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #ececec\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #eaeaea\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #e7e7e7\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #e4e4e4\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #e2e2e2\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #dfdfdf\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #dddddd\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #dadada\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #d7d7d7\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #d5d5d5\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #d2d2d2\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #d0d0d0\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #cdcdcd\"/>\n", " \n", - " \n", + " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #c8c8c8\"/>\n", " \n", - " \n", + " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #c3c3c3\"/>\n", " \n", - " \n", + " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #bebebe\"/>\n", " \n", + "L 114.62688 132.622156 \n", + "L 110.159978 130.967224 \n", + "L 108.186369 130.042247 \n", + "L 101.745857 126.891951 \n", + "L 95.762851 125.45864 \n", + "L 95.451005 125.184497 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #bbbbbb\"/>\n", " \n", + "L 114.62688 132.894114 \n", + "L 109.397242 130.967224 \n", + "L 108.186369 130.402882 \n", + "L 101.745857 127.094763 \n", + "L 96.073285 125.732783 \n", + "L 95.762851 125.45864 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #b8b8b8\"/>\n", " \n", + "L 114.62688 133.166072 \n", + "L 108.625922 130.967224 \n", + "L 108.186369 130.763517 \n", + "L 101.745857 127.297575 \n", + "L 96.382319 126.006926 \n", + "L 96.073285 125.732783 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #b6b6b6\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #b3b3b3\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #b1b1b1\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #aeaeae\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #ababab\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #a9a9a9\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #a6a6a6\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #a4a4a4\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #a1a1a1\"/>\n", " \n", - " \n", + " \n", - " \n", + " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #999999\"/>\n", " \n", - " \n", + " \n", - " \n", + " \n", + "L 187.215727 207.801759 \n", + "L 185.472511 205.502206 \n", + "L 183.5158 201.89141 \n", + "L 179.031999 196.266322 \n", + "L 178.882302 195.981061 \n", + "L 174.843846 190.070712 \n", + "L 172.591487 187.472651 \n", + "L 170.396133 184.160363 \n", + "L 166.150975 179.549646 \n", + "L 165.273447 178.250015 \n", + "L 159.710463 172.517944 \n", + "L 159.595698 172.339666 \n", + "L 153.935222 166.429317 \n", + "L 153.269952 165.84111 \n", + "L 147.735594 160.518968 \n", + "L 146.82944 159.767895 \n", + "L 140.731177 154.608619 \n", + "L 140.388928 154.351392 \n", + "L 139.049686 153.333463 \n", + "L 136.961655 151.394404 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #929292\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #8f8f8f\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #8c8c8c\"/>\n", " \n", + "L 185.61307 207.801759 \n", + "L 185.472511 207.618502 \n", + "L 182.342449 201.89141 \n", + "L 179.031999 197.774069 \n", + "L 178.085598 195.981061 \n", + "L 173.378453 190.070712 \n", + "L 172.591487 189.172649 \n", + "L 169.241475 184.160363 \n", + "L 166.150975 180.832145 \n", + "L 164.396329 178.250015 \n", + "L 159.710463 173.452905 \n", + "L 158.990656 172.339666 \n", + "L 153.269952 166.784898 \n", + "L 153.269952 166.579876 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #8a8a8a\"/>\n", " \n", - " \n", + " \n", + "L 172.17864 189.67496 \n", + "L 168.460751 184.160363 \n", + "L 166.150975 181.687143 \n", + "L 163.805285 178.250015 \n", + "L 159.710463 174.076212 \n", + "L 158.584307 172.339666 \n", + "L 153.269952 167.194942 \n", + "L 153.269952 166.98992 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #858585\"/>\n", " \n", + "L 185.472511 209.145698 \n", + "L 184.978041 207.801759 \n", + "L 181.148658 201.89141 \n", + "L 179.031999 199.281817 \n", + "L 177.279522 195.981061 \n", + "L 172.591487 190.530779 \n", + "L 172.591487 190.205685 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #828282\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #7f7f7f\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #7d7d7d\"/>\n", " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #737373\"/>\n", " \n", + "L 262.758653 398.811 \n", + "L 264.416258 402.84327 \n", + "L 263.959123 402.84327 \n", + "L 262.758653 399.932778 \n", + "L 262.153711 396.932921 \n", + "L 260.405195 391.022572 \n", + "L 258.242236 385.112224 \n", + "L 256.318141 380.513925 \n", + "L 256.318141 379.493813 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #707070\"/>\n", " \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #6d6d6d\"/>\n", " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", + " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", - " \n", - " \n", + " \n", + " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + "L 198.353535 243.129508 \n", + "z\n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: #252525\"/>\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12338,7 +12348,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12354,112 +12364,112 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12557,7 +12567,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12572,7 +12582,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12587,7 +12597,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12629,7 +12639,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12676,7 +12686,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12691,7 +12701,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12747,7 +12757,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12814,94 +12824,94 @@ " \n", " \n", + "L 318.890694 402.84327 \n", + "\" clip-path=\"url(#p7329665af5)\" style=\"fill: none; stroke: #ff0000; stroke-width: 1.5\"/>\n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", + "iVBORw0KGgoAAAANSUhEUgAAAAsAAADcCAYAAACml1uxAAAArklEQVR4nO2aMQ4EIQwDF2v+/+Pk9gu3BRI2oUZoxg5UrO7+PX8uPR8W3f3sObmq9pysMzAwjI5tzEoXZB9z+aWhdEEM61Z8dG3IXFP3RcxKF2TqvkkQw7qVLsgwn4eBYXQYMusMDAyjI/7JLb/oMGRWuiCGI6r46NqQuabui5iVLsjUfZMghnUrXZBhPg8Dw+iIv4PlFx2GzPqEUVO3N7PSBTEcUX3ZvNZae36UvcY3J5LykfQIAAAAAElFTkSuQmCC\" id=\"image3513a5d26a\" transform=\"scale(1 -1) translate(0 -158.4)\" x=\"375.12\" y=\"-125.28\" width=\"7.92\" height=\"158.4\"/>\n", " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12977,7 +12972,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -12994,7 +12989,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13011,7 +13006,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13028,7 +13023,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13045,7 +13040,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13062,7 +13057,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13079,7 +13074,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13096,7 +13091,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13113,7 +13108,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13179,7 +13174,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13212,12 +13207,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "189bd0f8d20a4c518288628245227170", + "model_id": "53496ecd340048b79ff90faa9da71b6e", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(HTML(value=\"./tmp86p2qn16.pdf
\"), HTML(value…" + "HBox(children=(HTML(value=\".\\\\tmp_nham5pj.pdf
\"), HTML(val…" ] }, "metadata": {}, @@ -13267,7 +13262,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "369fa24a", "metadata": {}, "outputs": [ @@ -13282,7 +13277,7 @@ " \n", " \n", " \n", - " 2025-06-07T19:15:10.110805\n", + " 2025-06-10T15:10:39.361235\n", " image/svg+xml\n", " \n", " \n", @@ -13317,17 +13312,17 @@ " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13674,12 +13669,12 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13764,12 +13759,12 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -13955,48 +13950,48 @@ " \n", + "\" clip-path=\"url(#p3de34ad89f)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14112,7 +14107,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14128,7 +14123,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14281,42 +14276,42 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14340,37 +14335,37 @@ " \n", + "\" clip-path=\"url(#pd878439695)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14460,7 +14455,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14475,7 +14470,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14490,7 +14485,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14533,42 +14528,42 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14590,27 +14585,27 @@ " \n", " \n", " \n", + "\" clip-path=\"url(#p0ff63acc17)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5; stroke-linecap: square\"/>\n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -14689,12 +14684,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0cd6dfabceef436ba83bcc19173dd645", + "model_id": "0baa5c73262744e4890c68dcfaa37b13", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(HTML(value=\"./tmpk9skbzp_.pdf
\"), HTML(value…" + "HBox(children=(HTML(value=\".\\\\tmps5jrn8sn.pdf
\"), HTML(val…" ] }, "metadata": {}, From e510e5f0b143fda505565a46c3b5999a693b0bfb Mon Sep 17 00:00:00 2001 From: Piotr Kubala Date: Tue, 10 Jun 2025 15:14:59 +0200 Subject: [PATCH 27/28] notebook fix --- .../Loftus_and_Wordsworth_2021/figure_2.ipynb | 21 +++---------------- 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb index 250449a3f9..6a27e3ffa6 100644 --- a/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb +++ b/examples/PySDM_examples/Loftus_and_Wordsworth_2021/figure_2.ipynb @@ -2,27 +2,12 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "1e8d983b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Note: you may need to restart the kernel to use updated packages.\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\piotr\\Desktop\\PySDM\\.venv\\Scripts\\python.exe: No module named pip\n" - ] - } - ], + "outputs": [], "source": [ - "%pip install joblib" + "!pip install joblib" ] }, { From e128d61e5767bc9ca0579bffb0cefd87b85ecc80 Mon Sep 17 00:00:00 2001 From: Piotr Kubala Date: Tue, 10 Jun 2025 15:37:03 +0200 Subject: [PATCH 28/28] minor linter fixes --- .../Loftus_and_Wordsworth_2021/accuracy_test.py | 12 +++--------- .../ground_truth/gen_figure.py | 12 +++--------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py index 6b63ef12bb..75f57bb05d 100644 --- a/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/accuracy_test.py @@ -107,9 +107,7 @@ def test_figure_2_replication_accuracy(self): [(i, j) for i in range(n_rh_values) for j in range(n_radius_values)] ) - sampled_indices_flat = np.random.choice( - len(all_indices), n_samples, replace=False - ) + sampled_indices_flat = np.random.choice(len(all_indices), n_samples, replace=False) sampled_ij_pairs = all_indices[sampled_indices_flat] for i_rh, j_r in sampled_ij_pairs: @@ -181,9 +179,7 @@ def calc_simulated_m_frac_evap_point( simulated_m_frac_evap_point = np.nan if np.isnan(current_r_m) or current_r_m <= 0: - print( - f"Warning: Invalid radius current_r_m={current_r_m} for sample idx {i_rh},{j_r}." - ) + print(f"Warning: Invalid radius current_r_m={current_r_m} for sample idx {i_rh},{j_r}.") else: settings = Settings( planet=current_planet_state, @@ -210,9 +206,7 @@ def calc_simulated_m_frac_evap_point( if np.isnan(final_radius_um) or final_radius_um < 0: final_radius_m = final_radius_um * 1e-6 if final_radius_m < 0: # Non-physical radius - simulated_m_frac_evap_point = ( - 1.0 # 1.0 means fully evaporated - ) + simulated_m_frac_evap_point = 1.0 # 1.0 means fully evaporated else: simulated_m_frac_evap_point = np.nan else: diff --git a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py index 67626bb2e9..ff8d780ac4 100644 --- a/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py +++ b/tests/examples_tests/Loftus_and_Wordsworth_2021/ground_truth/gen_figure.py @@ -67,15 +67,9 @@ levels=[0.1], ) cb.add_lines(c_10) -axs[1, 0].clabel( - c_10, c_10.levels, fmt={0.1: "10% mass evaporated"}, fontsize="smaller" -) -axs[1, 0].fill_betweenx( - RHs, 1e-2, (r_mins - 1e-6) * 1e3, edgecolor="k", facecolor="w", hatch="//" -) -axs[1, 0].annotate( - text="TOTAL \\n EVAPORATION", xy=(0.04, 0.55), c="k", backgroundcolor="w" -) +axs[1, 0].clabel(c_10, c_10.levels, fmt={0.1: "10% mass evaporated"}, fontsize="smaller") +axs[1, 0].fill_betweenx(RHs, 1e-2, (r_mins - 1e-6) * 1e3, edgecolor="k", facecolor="w", hatch="//") +axs[1, 0].annotate(text="TOTAL \\n EVAPORATION", xy=(0.04, 0.55), c="k", backgroundcolor="w") axs[1, 0].annotate( text=r"$r_\mathrm{min}$", xy=(0.35, 0.27),