diff --git a/doc/source/api-reference/qibo.rst b/doc/source/api-reference/qibo.rst index d877c4c28d..8e4d156269 100644 --- a/doc/source/api-reference/qibo.rst +++ b/doc/source/api-reference/qibo.rst @@ -1740,6 +1740,12 @@ Classical relative entropy .. autofunction:: qibo.quantum_info.classical_relative_entropy +Classical mutual information +"""""""""""""""""""""""""""" + +.. autofunction:: qibo.quantum_info.classical_mutual_information + + Classical Rényi entropy """"""""""""""""""""""" @@ -1785,6 +1791,12 @@ Relative von Neumann entropy an error will be raised when using `cupy` backend. +Mutual information +"""""""""""""""""" + +.. autofunction:: qibo.quantum_info.mutual_information + + Rényi entropy """"""""""""" @@ -1952,6 +1964,12 @@ Matrix exponentiation .. autofunction:: qibo.quantum_info.matrix_exponentiation +Matrix power +"""""""""""" + +.. autofunction:: qibo.quantum_info.matrix_power + + Quantum Networks ^^^^^^^^^^^^^^^^ @@ -2386,6 +2404,12 @@ Hellinger shot error .. autofunction:: qibo.quantum_info.hellinger_shot_error +Total variation distance +"""""""""""""""""""""""" + +.. autofunction:: qibo.quantum_info.total_variation_distance + + Haar integral """"""""""""" diff --git a/doc/source/code-examples/advancedexamples.rst b/doc/source/code-examples/advancedexamples.rst index 50ebdef539..e6740b5141 100644 --- a/doc/source/code-examples/advancedexamples.rst +++ b/doc/source/code-examples/advancedexamples.rst @@ -1151,7 +1151,7 @@ Additionally, one can also pass single-qubit readout error probabilities (`reado ) print("raw circuit:") - print(circuit.draw()) + circuit.draw() parameters = { "t1": {"0": 250*1e-06, "1": 240*1e-06}, @@ -1168,7 +1168,7 @@ Additionally, one can also pass single-qubit readout error probabilities (`reado noisy_circuit = noise_model.apply(circuit) print("noisy circuit:") - print(noisy_circuit.draw()) + noisy_circuit.draw() .. testoutput:: :hide: @@ -1242,7 +1242,7 @@ Let's see how to use them. For starters, let's define a dummy circuit with some circ.add(gates.M(*range(nqubits))) # visualize the circuit - print(circ.draw()) + circ.draw() # q0: ─RZ─RX─RZ─RX─RZ─o────o────────M─ # q1: ─RZ─RX─RZ─RX─RZ─X─RZ─X─o────o─M─ diff --git a/doc/source/code-examples/examples.rst b/doc/source/code-examples/examples.rst index 081e8fc71d..ca5bdc190c 100644 --- a/doc/source/code-examples/examples.rst +++ b/doc/source/code-examples/examples.rst @@ -310,7 +310,7 @@ For example from qibo.models import QFT c = QFT(5) - print(c.draw()) + c.draw() # Prints ''' q0: ─H─U1─U1─U1─U1───────────────────────────x─── diff --git a/doc/source/getting-started/installation.rst b/doc/source/getting-started/installation.rst index 6d596cba22..8c356b2592 100644 --- a/doc/source/getting-started/installation.rst +++ b/doc/source/getting-started/installation.rst @@ -47,18 +47,6 @@ Make sure you have Python 3.9 or greater, then use ``pip`` to install ``qibo`` w The ``pip`` program will download and install all the required dependencies for Qibo. -Installing with conda -""""""""""""""""""""" - -We provide conda packages for ``qibo`` through the `conda-forge -`_ channel. - -To install the package with conda run: - -.. code-block:: bash - - conda install -c conda-forge qibo - Installing from source """""""""""""""""""""" @@ -139,35 +127,6 @@ In order to install the package use the following command: `cuQuantum SDK v22.05 `__. -Installing with conda -""""""""""""""""""""" - -We provide conda packages for ``qibo`` and ``qibojit`` through the `conda-forge -`_ channel. - -To install both packages with conda run: - -.. code-block:: bash - - conda install -c conda-forge qibojit - -.. note:: - The ``conda`` program will download and install all the required - dependencies except `cupy `_ and/or - `cuQuantum `_ - which are required for GPU acceleration. - The cuQuantum dependency is optional, as it is required only for - the ``cuquantum`` platform. Please install `cupy `_ by following the - instructions from the `official website - `_ for your GPU hardware. - The installation instructions for `cuQuantum `_ - are available in the `official documentation `__. - ``qibojit`` is compatible with - `cuQuantum SDK v22.03 `__ - and - `cuQuantum SDK v22.05 `__. - - Installing from source """""""""""""""""""""" diff --git a/examples/adiabatic_qml/adiabatic-qml.ipynb b/examples/adiabatic_qml/adiabatic-qml.ipynb index 0ee08d3d32..66d57a4d19 100644 --- a/examples/adiabatic_qml/adiabatic-qml.ipynb +++ b/examples/adiabatic_qml/adiabatic-qml.ipynb @@ -568,7 +568,7 @@ "circ1 = rotcirc.rotations_circuit(t=0.1)\n", "circ2 = rotcirc.rotations_circuit(t=0.8)\n", "\n", - "print(f\"Circuit diagram: {circ1.draw()}\")\n", + "print(f\"Circuit diagram: {str(circ1)}\")\n", "print(f\"\\nCirc1 params: {circ1.get_parameters()}\")\n", "print(f\"\\nCirc2 params: {circ2.get_parameters()}\")" ] diff --git a/examples/anomaly_detection/test.py b/examples/anomaly_detection/test.py index 043db58a0c..6104fa6294 100644 --- a/examples/anomaly_detection/test.py +++ b/examples/anomaly_detection/test.py @@ -99,7 +99,7 @@ def compute_loss_test(encoder, vector): encoder_test = make_encoder(n_qubits, n_layers, trained_params, q_compression) encoder_test.compile() print("Circuit model summary") - print(encoder_test.draw()) + encoder_test.draw() print("Computing losses...") # Compute loss for standard data diff --git a/examples/anomaly_detection/train.py b/examples/anomaly_detection/train.py index 0f662a01f3..0406a1f122 100644 --- a/examples/anomaly_detection/train.py +++ b/examples/anomaly_detection/train.py @@ -123,7 +123,7 @@ def train_step(batch_size, encoder, params, dataset): # Create and print encoder circuit encoder = make_encoder(n_qubits, n_layers, params, q_compression) print("Circuit model summary") - print(encoder.draw()) + encoder.draw() # Define optimizer parameters steps_for_epoch = math.ceil(train_size / batch_size) diff --git a/examples/circuit-draw-mpl/qibo-draw-circuit-matplotlib.ipynb b/examples/circuit-draw-mpl/qibo-draw-circuit-matplotlib.ipynb index 754592147e..a9ae2410e1 100644 --- a/examples/circuit-draw-mpl/qibo-draw-circuit-matplotlib.ipynb +++ b/examples/circuit-draw-mpl/qibo-draw-circuit-matplotlib.ipynb @@ -101,7 +101,7 @@ " \n", "ansatz.add((gates.RY(q, theta=0) for q in range(nqubits)))\n", "ansatz.add(gates.M(qubit) for qubit in range(2))\n", - "print(ansatz.draw())" + "ansatz.draw()" ] }, { @@ -185,7 +185,7 @@ "c.add(gates.X(1))\n", "c.add(gates.X(0))\n", "c.add(gates.M(qubit) for qubit in range(2))\n", - "print(c.draw())" + "c.draw()" ] }, { @@ -206,7 +206,7 @@ } ], "source": [ - "plot_circuit(c);" + "plot_circuit(c)" ] }, { @@ -231,7 +231,7 @@ "c = QFT(5)\n", "c.add(gates.M(qubit) for qubit in range(2))\n", "\n", - "print(c.draw())" + "c.draw()" ] }, { @@ -265,7 +265,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 17, "id": "916f7b83-1ad7-4984-8573-eb55dfeb125d", "metadata": {}, "outputs": [ @@ -384,7 +384,7 @@ } ], "source": [ - "print(c.fuse().draw())" + "c.fuse().draw()" ] }, { @@ -440,7 +440,7 @@ { "cell_type": "code", "execution_count": null, - "id": "fa46e167", + "id": "626f9d58", "metadata": {}, "outputs": [], "source": [] diff --git a/examples/dbi/dbi_tutorial_basic_intro.ipynb b/examples/dbi/dbi_tutorial_basic_intro.ipynb index 425684b910..5a722341ea 100644 --- a/examples/dbi/dbi_tutorial_basic_intro.ipynb +++ b/examples/dbi/dbi_tutorial_basic_intro.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "62d9723f", "metadata": {}, "outputs": [], @@ -27,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "b80b4738", "metadata": {}, "outputs": [], @@ -38,7 +38,7 @@ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", - "from hyperopt import hp, tpe\n", + "import optuna\n", "\n", "from qibo import hamiltonians, set_backend\n", "from qibo.models.dbi.double_bracket import DoubleBracketGeneratorType, DoubleBracketIteration, DoubleBracketScheduling" @@ -54,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "933d9a00", "metadata": {}, "outputs": [], @@ -106,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "7125940f", "metadata": {}, "outputs": [ @@ -114,7 +114,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "[Qibo 0.2.9|INFO|2024-07-03 11:29:11]: Using numpy backend on /CPU:0\n" + "[Qibo 0.2.12|INFO|2024-09-06 12:03:17]: Using numpy backend on /CPU:0\n" ] }, { @@ -165,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "1adafc19", "metadata": {}, "outputs": [ @@ -188,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "8a4d0e9d", "metadata": {}, "outputs": [], @@ -209,7 +209,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "9521c464", "metadata": {}, "outputs": [], @@ -227,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "290e5828", "metadata": {}, "outputs": [ @@ -246,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "3e2b9950", "metadata": {}, "outputs": [ @@ -273,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "638ba4b5", "metadata": {}, "outputs": [ @@ -295,7 +295,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "08f0c466", "metadata": {}, "outputs": [ @@ -325,7 +325,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "90e6fdff", "metadata": {}, "outputs": [ @@ -357,7 +357,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "0d90c8b5", "metadata": {}, "outputs": [ @@ -389,7 +389,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "13710cc2", "metadata": {}, "outputs": [ @@ -399,7 +399,7 @@ "6.708203932499369" ] }, - "execution_count": 15, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -426,7 +426,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "a7749a96", "metadata": {}, "outputs": [ @@ -461,7 +461,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "id": "fc01baa4", "metadata": {}, "outputs": [ @@ -490,7 +490,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "id": "0d7b86d3", "metadata": {}, "outputs": [], @@ -503,15 +503,14 @@ " scheduling=DoubleBracketScheduling.hyperopt,\n", " step_min = 1e-5,\n", " step_max = 1,\n", - " space = hp.uniform,\n", - " optimizer = tpe,\n", + " optimizer = optuna.samplers.TPESampler(),\n", " max_evals = 1000,\n", ")" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "id": "1b9b1431", "metadata": {}, "outputs": [ @@ -532,13 +531,13 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "id": "52fa3599", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -565,7 +564,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "id": "d1f197b1", "metadata": {}, "outputs": [], @@ -588,7 +587,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "id": "c115c222", "metadata": {}, "outputs": [ @@ -625,25 +624,25 @@ "name": "stdout", "output_type": "stream", "text": [ - "New optimized step at iteration 1/20: 0.012285383759689142\n", - "New optimized step at iteration 2/20: 0.008447438941779167\n", - "New optimized step at iteration 3/20: 0.007844606075793771\n", - "New optimized step at iteration 4/20: 0.005843560327876751\n", - "New optimized step at iteration 5/20: 0.010251929595700982\n", - "New optimized step at iteration 6/20: 0.005841082475272156\n", - "New optimized step at iteration 7/20: 0.004631288000301592\n", - "New optimized step at iteration 8/20: 0.006817597467464319\n", - "New optimized step at iteration 9/20: 0.010226644173464028\n", - "New optimized step at iteration 10/20: 0.007818628910859757\n", - "New optimized step at iteration 11/20: 0.005826089136496147\n", - "New optimized step at iteration 12/20: 0.016243987144888304\n", - "New optimized step at iteration 13/20: 0.0012186965495374139\n", - "New optimized step at iteration 14/20: 0.0013670062367486478\n", - "New optimized step at iteration 15/20: 0.014667317020784512\n", - "New optimized step at iteration 16/20: 0.007361713849428013\n", - "New optimized step at iteration 17/20: 0.03387196372964355\n", - "New optimized step at iteration 18/20: 0.00385715363849674\n", - "New optimized step at iteration 19/20: 0.00441489412311609\n" + "New optimized step at iteration 1/20: 0.00934294935664311\n", + "New optimized step at iteration 2/20: 0.009364588177233102\n", + "New optimized step at iteration 3/20: 0.005985356940597437\n", + "New optimized step at iteration 4/20: 0.011472840984366184\n", + "New optimized step at iteration 5/20: 0.006802887431910996\n", + "New optimized step at iteration 6/20: 0.010837702507351613\n", + "New optimized step at iteration 7/20: 0.006624471861894687\n", + "New optimized step at iteration 8/20: 0.00870720701470905\n", + "New optimized step at iteration 9/20: 0.005748706054245771\n", + "New optimized step at iteration 10/20: 0.009512049459920756\n", + "New optimized step at iteration 11/20: 0.004887478565382978\n", + "New optimized step at iteration 12/20: 0.011309993175156744\n", + "New optimized step at iteration 13/20: 0.0017896288977535153\n", + "New optimized step at iteration 14/20: 0.0003944795659594491\n", + "New optimized step at iteration 15/20: 0.0006390700306615794\n", + "New optimized step at iteration 16/20: 0.0008772593599309826\n", + "New optimized step at iteration 17/20: 0.012559015937191706\n", + "New optimized step at iteration 18/20: 0.003294180889937215\n", + "New optimized step at iteration 19/20: 0.002707744316510693\n" ] } ], @@ -659,9 +658,8 @@ "step = dbf_2.choose_step(\n", " step_min = 1e-5,\n", " step_max = 1,\n", - " space = hp.uniform,\n", - " optimizer = tpe,\n", - " max_evals = 500,\n", + " optimizer = optuna.samplers.TPESampler(),\n", + " max_evals = 1000,\n", ")\n", "\n", "for s in range(NSTEPS):\n", @@ -669,9 +667,8 @@ " step = dbf_2.choose_step(\n", " step_min = 1e-5,\n", " step_max = 1,\n", - " space = hp.uniform,\n", - " optimizer = tpe,\n", - " max_evals = 100,\n", + " optimizer = optuna.samplers.TPESampler(),\n", + " max_evals = 1000,\n", " )\n", " print(f\"New optimized step at iteration {s}/{NSTEPS}: {step}\")\n", " dbf_2(step=step)\n", @@ -689,7 +686,7 @@ "outputs": [ { "data": { - "image/png": "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nejXrx8dO3bk7rvv5rPPPuPq1auVPwlC2ABJtkLUY9euXWPYsGHs37/f5HXy5El69epl3M7V1dVkv4SEBG677TYiIiL44Ycf2LNnD/PmzQMKO1CZm729vcmyoigYDAYAtFotMTExrF+/nnbt2vHRRx/Rpk0b4uPjzR6HEJYiyVaIesLBwQG9Xm+yrmvXrhw5coSQkBBatWpl8ro+wRa3Z88eDAYD7777LjfeeCOtW7cmMTGxwuNdr23btpw/f57z588b1x09epS0tDTatWtX6e+mKAo9e/Zk2rRp7Nu3DwcHB1auXFnp/YWwNkm2QtQTISEh7Ny5k4SEBC5fvozBYGDChAlcuXKFe++9l127dnH69Gk2btzIQw89VG6ibNWqFTqdjo8++ogzZ87w9ddfGztOFT/etWvX2Lx5M5cvXy61ebl///507NiR+++/n7179/Lnn38yevRoevfuzQ033FCp77Vz507eeOMNdu/ezblz5/jxxx+5dOkSbdu2rdoJEsKKJNkKUU88//zzaLVa2rVrh6+vL+fOnSMwMJBt27ah1+sZOHAgHTt2ZNKkSXh5eaHRlP2/f6dOnXjvvfd466236NChA99++y2zZ8822eamm27i8ccf55577sHX17dEBysorJGuXr0ab29vevXqRf/+/WnRogVLly6t9Pfy8PBgy5YtDB06lNatW/Paa6/x7rvvMmTIkMqfHCGsTFGl/7wQQghhUVKzFUIIISxMkq0QQghhYZJshRBCCAuTZCuEEEJYmCRbIYQQwsIk2QohhBAWJslWCCGEsDBJtkIIIYSFSbIVQgghLEySrRBCCGFhkmyFEEIIC5NkK4QQQljY/wOkVbm4wjj4AgAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -751,6 +748,14 @@ "source": [ "visualize_matrix(dbf_2.h.matrix)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "310c0bad-4eeb-4940-8c18-5921dfb4d157", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/examples/qcnn_classifier/qcnn_demo.ipynb b/examples/qcnn_classifier/qcnn_demo.ipynb index 0f72938bab..6b372e22e1 100644 --- a/examples/qcnn_classifier/qcnn_demo.ipynb +++ b/examples/qcnn_classifier/qcnn_demo.ipynb @@ -240,7 +240,7 @@ "source": [ "test = QuantumCNN(nqubits=4, nlayers=1, nclasses=2)\n", "testcircuit = test._circuit\n", - "print(testcircuit.draw())" + "testcircuit.draw()" ] }, { diff --git a/examples/qfiae/qfiae_demo.ipynb b/examples/qfiae/qfiae_demo.ipynb index 59d78b008d..04f118d5ba 100644 --- a/examples/qfiae/qfiae_demo.ipynb +++ b/examples/qfiae/qfiae_demo.ipynb @@ -359,7 +359,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAKyCAYAAAA6kpdwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eXyddZ3//z/e11lzcrK1SdOFpWkIBVoCAhYECSgMBaRa0O+MM8NP6ooIrsAYtUrRjlTBXQR1Zqyj8nFBXMogoiMQF2hBoBmKhNKkFLukW7aTs5/r/fvjnZM0bdKm0DZt+rzfbjHkOtd1nes66Tnx9rxe1+tlrLUWERERERERERERERHZgzfeByAiIiIiIiIiIiIicrhSiC4iIiIiIiIiIiIiMgqF6CIiIiIiIiIiIiIio1CILiIiIiIiIiIiIiIyCoXoIiIiIiIiIiIiIiKjUIguIiIiIiIiIiIiIjIKhegiIiIiIiIiIiIiIqNQiC4iIiIiIiIiIiIiMgqF6CIiIiIiIiIiIiIio1CILiIiIiL7NHPmTBYtWjT48yOPPIIxhkceeeSAPYcxhiVLlhyw/Y2XH/zgB5x00kmEQiEqKyv3e/v169djjOGOO+448Ad3lHi1v4MjwaJFi5g5c+Yr2nbJkiUYYw7sAYmIiIhMYArRRURERA5zy5cvxxgz+BWNRjnxxBO54YYb6OzsHO/D2y8PPPDAhAjKR/P888+zaNEi6uvr+e53v8t3vvOdUdc9XF6L/v5+Pve5z9HY2EgsFqOiooLzzz+fH/zgB1hr91i/+O/wS1/60h6PFf+tPvnkk4PLioFtbW0tyWRyj21mzpzJFVdcccDOZ6TfQTKZZMmSJQf0os++bNq0iSVLlvDMM88csucUERERkYMjON4HICIiIiJj89nPfpa6ujrS6TR/+tOfuOuuu3jggQd49tlnicVih/RYmpqaSKVShMPh/drugQce4M477xwxPE6lUgSDR/b/PX3kkUfwfZ+vfe1rnHDCCXtdd2+vxaHS2dnJRRddxN/+9jfe/va3c8MNN5BOp/n5z3/OO97xDh588EF+8IMf4Hl71t7cfvvtXHfddWP+t7d161buuusubrzxxgN9GsOM9DvYvn07t956KwAXXnjhQX3+ok2bNnHrrbcyc+ZMTj/99AO+/+9+97v4vv+Ktl28eDHNzc0H+IhEREREJi5VoouIiIgcIS677DKuvvpq3vOe97B8+XI+8pGP0NHRwa9+9atRt+nv7z8ox+J5HtFodMRw9ZWKRqNHfIi+detWgCOmhcg111zD3/72N37xi1/wox/9iPe973186EMf4tFHH+Wmm27innvuGbHi/PTTT6ezs5O77757zM91+umnc/vtt5NKpQ7kKezhUP4ODuT7a6Qq/b0JhUJEIpFX9FzBYJBoNPqKthURERE5GilEFxERETlCvfGNbwSgo6MDcD2S4/E469at4/LLL6esrIx//dd/BcD3fb761a8yZ84cotEotbW1XHvttXR1dQ3bp7WWpUuXcswxxxCLxXjDG97AmjVr9nju0Xqir1y5kssvv5yqqipKS0tpbGzka1/72uDx3XnnnQDD2tMUjdQT/emnn+ayyy6jvLyceDzORRddxOOPPz5snWILkT//+c987GMfo6amhtLSUq688kq2bds2bN0nn3yS+fPnU11dTUlJCXV1dbzrXe8ay8vNt771LebMmUMkEmH69Olcf/31dHd3Dz4+c+ZMbrnlFgBqamr22uN9X69F0Xe+8x3q6+uJRCK89rWv5Yknnthjneeff563ve1tTJo0iWg0yllnncWvf/3rfZ7P448/zm9/+1sWLVrEm9/85j0ev+2222hoaGDZsmV7BN/nnXceb3zjG/niF7845lD8M5/5DJ2dndx1111jWn93v/rVr3jTm97E9OnTiUQi1NfX87nPfY5CoTC4zki/g0WLFlFTUwPArbfeOvha7/q7GctrWPx39uijj/KBD3yAKVOmcMwxx4x4rI888givfe1rAXjnO985+JzLly8HXDX83Llz+etf/0pTUxOxWIxPfvKTYz5P2LMn+q699Pf172aknujGGG644QZ++ctfMnfuXCKRCHPmzOHBBx8c8fzOOussotEo9fX1fPvb31afdREREZnQjuxSHxEREZGj2Lp16wCYPHny4LJ8Ps/8+fN5/etfzx133DHYauPaa69l+fLlvPOd7+RDH/oQHR0dfPOb3+Tpp5/mz3/+M6FQCHBB59KlS7n88su5/PLLeeqpp7jkkkvIZrP7PJ7f/e53XHHFFUybNo0Pf/jDTJ06lb/97W/cf//9fPjDH+baa69l06ZN/O53v+MHP/jBPve3Zs0azj//fMrLy/m3f/s3QqEQ3/72t7nwwgt59NFHOfvss4et/8EPfpCqqipuueUW1q9fz1e/+lVuuOEGfvKTnwCuQvmSSy6hpqaG5uZmKisrWb9+Pffdd98+j2XJkiXceuutXHzxxVx33XW0tbVx11138cQTTwy+fl/96lf57//+b37xi19w1113EY/HaWxsHHF/Y3kt7rnnHvr6+rj22msxxvDFL36Rq666ivb29sHf15o1azjvvPOYMWMGzc3NlJaW8tOf/pSFCxfy85//nCuvvHLUc1qxYgUA73jHO0Z8PBgM8i//8i/ceuut/OUvf+Giiy7a4zVpamrirrvu4mMf+9g+X8Pzzz9/MHi/7rrrKCkp2ec2u1q+fDnxeJyPfexjxONx/vCHP/CZz3yG3t5ebr/9doARfwennnoq55xzDtdddx1XXnklV111FcDg72Z/X8MPfOAD1NTU8JnPfGbUSvSTTz6Zz372s3zmM5/hfe97H+effz4A55577uA6O3bs4LLLLuPtb387V199NbW1tWM+z70Zy7+b0fzpT3/ivvvu4wMf+ABlZWV8/etf561vfSsbNmwY/Jx5+umnufTSS5k2bRq33norhUKBz372s4MXKkREREQmJCsiIiIih7Xvfe97FrC///3v7bZt2+zLL79sf/zjH9vJkyfbkpIS+/e//91aa+0111xjAdvc3Dxs+z/+8Y8WsD/60Y+GLX/wwQeHLd+6dasNh8P2TW96k/V9f3C9T37ykxaw11xzzeCyhx9+2AL24YcfttZam8/nbV1dnT3++ONtV1fXsOfZdV/XX3+9He3/ggL2lltuGfx54cKFNhwO23Xr1g0u27Rpky0rK7NNTU17vD4XX3zxsOf66Ec/agOBgO3u7rbWWvuLX/zCAvaJJ54Y8flHU3xdLrnkElsoFAaXf/Ob37SA/a//+q/BZbfccosF7LZt2/a539Fei46ODgvYyZMn2507dw4u/9WvfmUBu2LFisFlF110kT311FNtOp0eXOb7vj333HNtQ0PDXp9/4cKFFtjj97Wr++67zwL261//+uAywF5//fXWWmvf8IY32KlTp9pkMmmtHfpd7Poa7/qaPProoxawX/7ylwcfP/744+2b3vSmvR6rtXbwOXZ17bXX2lgsNuz8R/odbNu2bY9/X0VjfQ2L5/b617/e5vP5fR7vE088YQH7ve99b4/HLrjgAgvYu++++xWf5zXXXGOPP/74wZ/3599N8TXaFWDD4bB98cUXB5etXr3aAvYb3/jG4LIFCxbYWCxmN27cOLhs7dq1NhgMjvreFhERETnSqZ2LiIiIyBHi4osvpqamhmOPPZa3v/3txONxfvGLXzBjxoxh61133XXDfv7Zz35GRUUF//AP/8D27dsHv84880zi8TgPP/wwAL///e/JZrN88IMfHNaW4SMf+cg+j+3pp5+mo6ODj3zkI3v0on4lLR4KhQIPPfQQCxcuZNasWYPLp02bxr/8y7/wpz/9id7e3mHbvO997xv2XOeffz6FQoGXXnoJGOqRff/995PL5cZ8LMXX5SMf+ciwHvDvfe97KS8v53/+53/2+/zG4p/+6Z+oqqoa/LlYzdze3g7Azp07+cMf/sA//uM/0tfXN/h73bFjB/Pnz2ft2rVs3Lhx1P339fUBUFZWNuo6xceK6+5uyZIlbNmyZcy90ZuamnjDG96wX21ginatXC+e7/nnn08ymeT555/fr30VvZLX8L3vfS+BQOAVPd+uIpEI73znO/dY/mrPc1//bvbm4osvpr6+fvDnxsZGysvLB7ctFAr8/ve/Z+HChUyfPn1wvRNOOIHLLrtsn/sXEREROVIpRBcRERE5Qtx555387ne/4+GHH+a5556jvb2d+fPnD1snGAzu0ad57dq19PT0MGXKFGpqaoZ9JRKJwUGMxbC5oaFh2PY1NTXDQrmRFFvLzJ0791WdY9G2bdtIJpPMnj17j8dOPvlkfN/n5ZdfHrb8uOOOG/Zz8ZiLfd8vuOAC3vrWt3LrrbdSXV3NW97yFr73ve+RyWT2eizF12X3YwmHw8yaNWvw8QNtX+fz4osvYq3l05/+9B6/12Jf8OLvdiT7Csh3fWzKlCkjPv5KQvH9Dd6L1qxZw5VXXklFRQXl5eXU1NRw9dVXA9DT07Nf+yp6Ja9hXV3dK3qu3c2YMYNwOLzH8ld7nvv6d7M/2xa3L267detWUqkUJ5xwwh7rjbRMREREZKJQT3QRERGRI8S8efM466yz9rpOJBIZVi0NbqjolClT+NGPfjTiNhOll/Fo1cHWWsBVxN977708/vjjrFixgt/+9re8613v4ktf+hKPP/448Xj8UB7uPu3rfHzfB+Cmm27a42JK0d6CzVNOOYVf/vKXtLa20tTUNOI6ra2tAMPuBtjdLbfcwoUXXsi3v/3tPe5CGElTUxMXXnghX/ziF3n/+9+/z/UBuru7ueCCCygvL+ezn/0s9fX1RKNRnnrqKT7+8Y8Pvhb765W8hvvby300I+3nQJznvv7dHKxtRURERCYyhegiIiIiE1x9fT2///3vOe+88/YaAB5//PGAq1zfNTTdtm3bPqtYiy0gnn32WS6++OJR1xtra5eamhpisRhtbW17PPb888/jeR7HHnvsmPa1u3POOYdzzjmHf//3f+eee+7hX//1X/nxj3/Me97znhHXL74ubW1tw16XbDZLR0fHXs93b15Jm5tdFY8lFAq9omNYsGABn//85/nv//7vEUP0QqHAPffcQ21t7aghO7gK/wsvvJAvfOELfOYznxnTcy9ZsmQweB+LRx55hB07dnDfffcNO5aOjo4xbT/aa/1qX8NX8px782rP82CbMmUK0WiUF198cY/HRlomIiIiMlGonYuIiIjIBPeP//iPFAoFPve5z+3xWD6fp7u7G3D9kEOhEN/4xjeGVZ5+9atf3edznHHGGdTV1fHVr351cH9Fu+6rtLQUYI91dhcIBLjkkkv41a9+xfr16weXd3Z2cs899/D617+e8vLyfR7Xrrq6uvaoqD399NMB9trS5eKLLyYcDvP1r3992Pb/+Z//SU9PD29605v26ziKxvpajGbKlCmDQfTmzZv3eHzbtm173f6cc87hkksu4Xvf+x7333//Ho9/6lOf4oUXXuDf/u3fCAb3XntTbNHyne98Z0zHvmvwnk6n97l+sUJ619c/m83yrW99a0zPF4vFgD1f61f7Gu7NK/n9vtrzPNgCgQAXX3wxv/zlL9m0adPg8hdffJHf/OY343hkIiIiIgeXKtFFREREJrgLLriAa6+9lttuu41nnnmGSy65hFAoxNq1a/nZz37G1772Nd72trdRU1PDTTfdxG233cYVV1zB5ZdfztNPP81vfvMbqqur9/ocnudx1113sWDBAk4//XTe+c53Mm3aNJ5//nnWrFnDb3/7WwDOPPNMAD70oQ8xf/58AoEAb3/720fc59KlS/nd737H61//ej7wgQ8QDAb59re/TSaT4Ytf/OJ+vw7f//73+da3vsWVV15JfX09fX19fPe736W8vJzLL7981O1qamr4xCc+wa233sqll17Km9/8Ztra2vjWt77Fa1/72sF+1ftrf16L0dx55528/vWv59RTT+W9730vs2bNorOzk8cee4y///3vrF69eq/b//d//zdvfOMbectb3sK//Mu/cP7555PJZLjvvvt45JFHuPrqq/noRz+6z+O44IILuOCCC3j00UfHfOy33HILb3jDG8a07rnnnktVVRXXXHMNH/rQhzDG8IMf/GDMbUZKSko45ZRT+MlPfsKJJ57IpEmTmDt3LnPnzn3Vr+Fo6uvrqays5O6776asrIzS0lLOPvvsvfZUf7XneSgsWbKEhx56iPPOO4/rrruOQqHAN7/5TebOncszzzwz3ocnIiIiclAoRBcRERE5Ctx9992ceeaZfPvb3+aTn/wkwWCQmTNncvXVV3PeeecNrrd06VKi0Sh33303Dz/8MGeffTYPPfTQmKqt58+fz8MPP8ytt97Kl770JXzfp76+nve+972D61x11VV88IMf5Mc//jE//OEPsdaOGhzPmTOHP/7xj3ziE5/gtttuw/d9zj77bH74wx9y9tln7/drcMEFF7Bq1Sp+/OMf09nZSUVFBfPmzeNHP/rRPodFLlmyhJqaGr75zW/y0Y9+lEmTJvG+972Pz3/+84RCof0+Fti/12I0p5xyCk8++SS33nory5cvZ8eOHUyZMoXXvOY1Y2qtUltby8qVK/nyl7/MT3/6U+69997ByvBPf/rTfPaznx3zsSxZsmTMoTjAhRdeOObgffLkydx///3ceOONLF68mKqqKq6++mouuuiiUXuZ7+4//uM/+OAHP8hHP/pRstkst9xyC3Pnzn3Vr+FoQqEQ3//+9/nEJz7B+9//fvL5PN/73vf2+m/tQJznwXbmmWfym9/8hptuuolPf/rTHHvssXz2s5/lb3/7G88///x4H56IiIjIQWHs4VTWICIiIiIi42rjxo2ce+655PN5HnvsMY477rjxPiQ5AixcuJA1a9awdu3a8T4UERERkQNOPdFFRERERGTQjBkzePDBB0mn01x22WX7HCorR59UKjXs57Vr1/LAAw9w4YUXjs8BiYiIiBxkqkQXERERERGRMZs2bRqLFi1i1qxZvPTSS9x1111kMhmefvppGhoaxvvwRERERA449UQXERERERGRMbv00kv5f//v/7FlyxYikQive93r+PznP68AXURERCYsVaKLiIiIiIiIiIiIiIxCPdFFREREREREREREREahEF1EREREREREREREZBRHXU903/fZtGkTZWVlGGPG+3BEREREREREREREZBxYa+nr62P69Ol43uj15kddiL5p0yaOPfbY8T4MERERERERERERETkMvPzyyxxzzDGjPn7UhehlZWWAe2HKy8vH+WhEREREREREREREZDz09vZy7LHHDmbGoznqQvRiC5fy8nKF6CIiIiIiIiIiIiJHuX21/dZgURERERERERERERGRUShEFxEREREREREREREZhUJ0EREREREREREREZFRKEQXERERERERERERERmFQnQRERERERERERERkVEoRBcRERERERERERERGYVCdBERERERERERERGRUShEFxEREREREREREREZhUJ0EREREREREREREZFRKEQXERERERERERERERmFQnQRERERERERERERkVEoRBcRERERERERERERGYVCdBERERERERERERGRUShEFxEREREREREREREZxbiG6Lfddhuvfe1rKSsrY8qUKSxcuJC2trZ9bvezn/2Mk046iWg0yqmnnsoDDzxwCI5WRERERERERERERI424xqiP/roo1x//fU8/vjj/O53vyOXy3HJJZfQ398/6jZ/+ctf+Od//mfe/e538/TTT7Nw4UIWLlzIs88+ewiPXERERERERERERESOBsZaa8f7IIq2bdvGlClTePTRR2lqahpxnX/6p3+iv7+f+++/f3DZOeecw+mnn87dd9+9z+fo7e2loqKCnp4eysvLD9ixi4iIiIiIiIiIiMiRY6xZ8WHVE72npweASZMmjbrOY489xsUXXzxs2fz583nsscdGXD+TydDb2zvsS0REREREREREROSoZi309cG2be774VNrfdgJjvcBFPm+z0c+8hHOO+885s6dO+p6W7Zsoba2dtiy2tpatmzZMuL6t912G7feeusBPVYRERERERERERGRI1IyCS0tsGIFtLVBoQCBAMyeDQsWQFMTxGLjfZSHlcMmRL/++ut59tln+dOf/nRA9/uJT3yCj33sY4M/9/b2cuyxxx7Q5xARERERERERERE57LW2wtKl0N4OxkBVFYTDkM/DqlWwciXMmgWLF0Nj43gf7WHjsAjRb7jhBu6//35aWlo45phj9rru1KlT6ezsHLass7OTqVOnjrh+JBIhEokcsGMVEREREREREREROeK0tkJzM3R2Ql2dC893VV0N2SysW+fWW7ZMQfqAce2Jbq3l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y559tuufbq0Lysf2QAcXHIMLuKuqhqvZYf/K99J2SnUUI7c3sqVMQ4O7rBR4z549HHiX2tS0tbnrwd3eWWe5YL63d/jykdusr3fB+6ZNrqJ9xYpDrwIvtdS59Va480740Y/ggQdg507YswceecR939bmDlr8y78MB+giIiIiIicqheiHQy7nPrXt3u0+oZVKhsZKJNz1u3e75Q9ja5d9+/bxi1/8gmuvvXa/6vBp06bxpje9if/+7//GDn6Su/nmm1mwYAGPPPII//zP/7zf9tra2njta1/LFVdcwaOPPsq73vWuoRD+QFpbW7nzzju56667uOuuu7jvvvtYtWrV0PV9fX186EMf4sEHH+RXv/oVnudx5ZVXEpU+CYqIiIg8B2PD35//HB57DG6/HS65xFVu9/e78HnRIvdW7M473fV/9mcucI8iGBhw/woF9zWfd0F1ebk7ybCubnSP8ZHhdk+Pq9YuK4Nzz3VfS4H3yJYyZ53l1pso8B6vTQ2421+wYDi07+kZrrafOdMF21u2uAr0Vaue34mPY1vqlPrAz58P553n+spPNIxVREREROREo3Yuh0NzsyvFaWw8+KcJz3PLbd7s1lu69LDswqZNm7DWcsYZZ4x7/RlnnEFnZyd79+4F4BWveAUf/vCHh67fsmXLqOW/9rWvMW/ePG666SYA5s2bx+OPP85nP/vZA+5HFEWsXr2aisFzed/85jfzq1/9ami917zmNaOW/9a3vkV9fT1PPPHEIfVjFxERERlPKfzNZNz3l17q3m5NNKi0qcmF6b/8JXz9664DXyn4jsXcdl72MnjXu1xwfMstozv3lfqf19S47Xue+/902oXZTz/t2r2A29bs2W75TZtcOD9nzvid/sZrU1O6vblzYds26OpylfannOLu07x5rhXM4sXqQy4iIiIicjgpRH++rHVNI42ZuAJ9rETCLb9mDSxZMrlpT5PenXHOQR7Heeedd8DrN27cyMte9rJRly1atOig2501a9ZQgA4wffp09uzZM/T9pk2b+OQnP8natWtpb28fqkDfunWrQnQRERE5IsYG62Ol03DFFXD55a7Ce+9ed8JgebmrPB853HRsz/D+flcJ/vKXu4p3gHvucdfFYnDmmcO3m826r6Vq+IMF3uP1KC/d3iWXwKtfDS99qdu3sQcHRERERETk8FGI/nxls+4TTU3Noa1XU+PW6+ub+BPdITjttNMwxvDkk09y5ZVX7nf9k08+SU1NDfX19QCUjzwP+TCKx+OjvjfGjGrVsmzZMk499VT+/d//nRkzZhBFEfPnz6dQOk9ZRERE5Cgxxg3GPNBwzFLbmCVLJq5uv/zy/a+DiZc/kMncnoiIiIiIHFnqZPh85fPunNzYIR6PKJ37299/WHajtraWSy65hK985Sv0j9nmrl27+K//+i9e//rXYyb5aWvevHk8+OCDoy774x//+Lz2saOjg40bN7JixQr+6q/+aqjFjIiIiMjxZmzP8JFvsca77kDLP9/bExERERGRI0sh+vOVSrlzaoPg0NYLArfemCGgz8ett97KwMAAS5Ysobm5mW3btnH33XdzySWXMHPmzIP2Mx/pXe96F0899RQf+9jHePrpp7njjjtYvXo1wKSD+LFqamqora3l61//Os888wy//vWv+dCHPvSctiUiIiIiIiIiIiLyQlCI/nxlMm6K06FWVHd2uvUOY1uVuXPn8uCDDzJ79mxe97rXMWfOHN75zndy8cUXc//99zNlypRJb6uxsZEf/vCH/PjHP6apqYmvfvWrfOITnwAgmUw+p/3zPI/vf//7PPTQQ8yfP58PfvCDQ4NLRURERERERERERI5Fxk52EuUJoqenh6qqKrq7u6msrBx1XT6fp62tjcbGRlKp1OQ3evfdsGIFzJo1ueGihQJs2QIrV7oml8eJz372s9x2221s27btaO/KpDznn6eIiIiIiIiIiIic8A6UFY+kwaKHw+LFMHs2tLbC3LngHaDAP4qgrQ3mzHHrHcO+8pWv8LKXvYza2lp+//vfc9NNN/G+973vaO+WiIiIiIiIiIiIyAtG7VwOh3TaVaJPnQqbNrlK8/EUCu76qVPd8un0C7ufh2jTpk1cfvnlnHnmmXzmM5/hwx/+MDfccMPR3i0RERERERERERGRF4zauYzwvNt/tLS4Fi2bN4MxUFMDsZgbItrZCda6ivUVK6Cp6TDdI5mI2rmIiIiIiIiIiIjIRNTO5WhoaoLVq6G5GdasgY0bob8ffB8WLYJly1wLl2O8Al1EREREREREREREHIXoh1s67YaFLlkCfX0uRC8rg/JyV50uIiIiIiIiIiIiIscNhejjOCwdboyBTMb9k6PiRdapSERERERERERERI4ADRYdIR6PA5DL5Y7ynsjhUPo5ln6uIiIiIiIiIiIiIodKlegj+L5PdXU1e/bsASCdTmPUguW4Y60ll8uxZ88eqqur8X3/aO+SiIiIiIiIiIiIHKcUoo8xbdo0gKEgXY5f1dXVQz9PERERERERERERkedCIfoYxhimT59OQ0MDxWLxaO+OPEfxeFwV6CIiIiIiIiIiIvK8KUSfgO/7CmFFREREREREREREXuQ0WFREREREREREREREZAIK0UVEREREREREREREJqAQXURERERERERERERkAi+6nujWWgB6enqO8p6IiIiIiIiIiIiIyNFSyohLmfFEXnQhem9vLwAnn3zyUd4TERERERERERERETnaent7qaqqmvB6Yw8Ws59goihix44dVFRUYIw52rvznPT09HDyySezbds2Kisrj/buyIucno9yLNHzUY4Vei7KsUTPRzmW6Pkoxwo9F+VYouejHCtejM9Fay29vb3MmDEDz5u48/mLrhLd8zxOOumko70bh0VlZeWL5gktxz49H+VYouejHCv0XJRjiZ6PcizR81GOFXouyrFEz0c5VrzYnosHqkAv0WBREREREREREREREZEJKEQXEREREREREREREZmAQvTjUDKZ5FOf+hTJZPJo74qIno9yTNHzUY4Vei7KsUTPRzmW6Pkoxwo9F+VYouejHCv0XJzYi26wqIiIiIiIiIiIiIjIZKkSXURERERERERERERkAgrRRUREREREREREREQmoBBdRERERERERERERGQCCtGPUZ/97Gf5sz/7M9LpNNXV1ZNax1rLJz/5SaZPn05ZWRmvfOUr2bRp06hl9u3bx5ve9CYqKyuprq7m7W9/O9ls9gjcAzlRHOpzZsuWLRhjxv33gx/8YGi58a7//ve//0LcJTmOPZfXsJe//OX7Pdfe/e53j1pm69atXHbZZaTTaRoaGvjIRz5CEARH8q7ICeBQn4/79u3jH//xH5k3bx5lZWWccsop/NM//RPd3d2jltProxzMl7/8ZWbNmkUqleL8889n3bp1B1z+Bz/4AaeffjqpVIqzzz6bn//856Oun8x7SJGJHMrz8d///d/5y7/8S2pqaqipqeGVr3zlfstfc801+70GLl269EjfDTlBHMrzcfXq1fs911Kp1Khl9Pooz9WhPBfH+7xijOGyyy4bWkavjfJcNTc3s2zZMmbMmIExhjvvvPOg69x7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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAKyCAYAAAA6kpdwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eXyddZ3//z/e11lzcrK1SdOFpWkIBVoCAhYECSgMBaRa0O+MM8NP6ooIrsAYtUrRjlTBXQR1Zqyj8nFBXMogoiMQF2hBoBmKhNKkFLukW7aTs5/r/fvjnZM0bdKm0DZt+rzfbjHkOtd1nes66Tnx9rxe1+tlrLUWERERERERERERERHZgzfeByAiIiIiIiIiIiIicrhSiC4iIiIiIiIiIiIiMgqF6CIiIiIiIiIiIiIio1CILiIiIiIiIiIiIiIyCoXoIiIiIiIiIiIiIiKjUIguIiIiIiIiIiIiIjIKhegiIiIiIiIiIiIiIqNQiC4iIiIiIiIiIiIiMgqF6CIiIiIiIiIiIiIio1CILiIiIiL7NHPmTBYtWjT48yOPPIIxhkceeeSAPYcxhiVLlhyw/Y2XH/zgB5x00kmEQiEqKyv3e/v169djjOGOO+448Ad3lHi1v4MjwaJFi5g5c+Yr2nbJkiUYYw7sAYmIiIhMYArRRURERA5zy5cvxxgz+BWNRjnxxBO54YYb6OzsHO/D2y8PPPDAhAjKR/P888+zaNEi6uvr+e53v8t3vvOdUdc9XF6L/v5+Pve5z9HY2EgsFqOiooLzzz+fH/zgB1hr91i/+O/wS1/60h6PFf+tPvnkk4PLioFtbW0tyWRyj21mzpzJFVdcccDOZ6TfQTKZZMmSJQf0os++bNq0iSVLlvDMM88csucUERERkYMjON4HICIiIiJj89nPfpa6ujrS6TR/+tOfuOuuu3jggQd49tlnicVih/RYmpqaSKVShMPh/drugQce4M477xwxPE6lUgSDR/b/PX3kkUfwfZ+vfe1rnHDCCXtdd2+vxaHS2dnJRRddxN/+9jfe/va3c8MNN5BOp/n5z3/OO97xDh588EF+8IMf4Hl71t7cfvvtXHfddWP+t7d161buuusubrzxxgN9GsOM9DvYvn07t956KwAXXnjhQX3+ok2bNnHrrbcyc+ZMTj/99AO+/+9+97v4vv+Ktl28eDHNzc0H+IhEREREJi5VoouIiIgcIS677DKuvvpq3vOe97B8+XI+8pGP0NHRwa9+9atRt+nv7z8ox+J5HtFodMRw9ZWKRqNHfIi+detWgCOmhcg111zD3/72N37xi1/wox/9iPe973186EMf4tFHH+Wmm27innvuGbHi/PTTT6ezs5O77757zM91+umnc/vtt5NKpQ7kKezhUP4ODuT7a6Qq/b0JhUJEIpFX9FzBYJBoNPqKthURERE5GilEFxERETlCvfGNbwSgo6MDcD2S4/E469at4/LLL6esrIx//dd/BcD3fb761a8yZ84cotEotbW1XHvttXR1dQ3bp7WWpUuXcswxxxCLxXjDG97AmjVr9nju0Xqir1y5kssvv5yqqipKS0tpbGzka1/72uDx3XnnnQDD2tMUjdQT/emnn+ayyy6jvLyceDzORRddxOOPPz5snWILkT//+c987GMfo6amhtLSUq688kq2bds2bN0nn3yS+fPnU11dTUlJCXV1dbzrXe8ay8vNt771LebMmUMkEmH69Olcf/31dHd3Dz4+c+ZMbrnlFgBqamr22uN9X69F0Xe+8x3q6+uJRCK89rWv5Yknnthjneeff563ve1tTJo0iWg0yllnncWvf/3rfZ7P448/zm9/+1sWLVrEm9/85j0ev+2222hoaGDZsmV7BN/nnXceb3zjG/niF7845lD8M5/5DJ2dndx1111jWn93v/rVr3jTm97E9OnTiUQi1NfX87nPfY5CoTC4zki/g0WLFlFTUwPArbfeOvha7/q7GctrWPx39uijj/KBD3yAKVOmcMwxx4x4rI888givfe1rAXjnO985+JzLly8HXDX83Llz+etf/0pTUxOxWIxPfvKTYz5P2LMn+q699Pf172aknujGGG644QZ++ctfMnfuXCKRCHPmzOHBBx8c8fzOOussotEo9fX1fPvb31afdREREZnQjuxSHxEREZGj2Lp16wCYPHny4LJ8Ps/8+fN5/etfzx133DHYauPaa69l+fLlvPOd7+RDH/oQHR0dfPOb3+Tpp5/mz3/+M6FQCHBB59KlS7n88su5/PLLeeqpp7jkkkvIZrP7PJ7f/e53XHHFFUybNo0Pf/jDTJ06lb/97W/cf//9fPjDH+baa69l06ZN/O53v+MHP/jBPve3Zs0azj//fMrLy/m3f/s3QqEQ3/72t7nwwgt59NFHOfvss4et/8EPfpCqqipuueUW1q9fz1e/+lVuuOEGfvKTnwCuQvmSSy6hpqaG5uZmKisrWb9+Pffdd98+j2XJkiXceuutXHzxxVx33XW0tbVx11138cQTTwy+fl/96lf57//+b37xi19w1113EY/HaWxsHHF/Y3kt7rnnHvr6+rj22msxxvDFL36Rq666ivb29sHf15o1azjvvPOYMWMGzc3NlJaW8tOf/pSFCxfy85//nCuvvHLUc1qxYgUA73jHO0Z8PBgM8i//8i/ceuut/OUvf+Giiy7a4zVpamrirrvu4mMf+9g+X8Pzzz9/MHi/7rrrKCkp2ec2u1q+fDnxeJyPfexjxONx/vCHP/CZz3yG3t5ebr/9doARfwennnoq55xzDtdddx1XXnklV111FcDg72Z/X8MPfOAD1NTU8JnPfGbUSvSTTz6Zz372s3zmM5/hfe97H+effz4A55577uA6O3bs4LLLLuPtb387V199NbW1tWM+z70Zy7+b0fzpT3/ivvvu4wMf+ABlZWV8/etf561vfSsbNmwY/Jx5+umnufTSS5k2bRq33norhUKBz372s4MXKkREREQmJCsiIiIih7Xvfe97FrC///3v7bZt2+zLL79sf/zjH9vJkyfbkpIS+/e//91aa+0111xjAdvc3Dxs+z/+8Y8WsD/60Y+GLX/wwQeHLd+6dasNh8P2TW96k/V9f3C9T37ykxaw11xzzeCyhx9+2AL24YcfttZam8/nbV1dnT3++ONtV1fXsOfZdV/XX3+9He3/ggL2lltuGfx54cKFNhwO23Xr1g0u27Rpky0rK7NNTU17vD4XX3zxsOf66Ec/agOBgO3u7rbWWvuLX/zCAvaJJ54Y8flHU3xdLrnkElsoFAaXf/Ob37SA/a//+q/BZbfccosF7LZt2/a539Fei46ODgvYyZMn2507dw4u/9WvfmUBu2LFisFlF110kT311FNtOp0eXOb7vj333HNtQ0PDXp9/4cKFFtjj97Wr++67zwL261//+uAywF5//fXWWmvf8IY32KlTp9pkMmmtHfpd7Poa7/qaPProoxawX/7ylwcfP/744+2b3vSmvR6rtXbwOXZ17bXX2lgsNuz8R/odbNu2bY9/X0VjfQ2L5/b617/e5vP5fR7vE088YQH7ve99b4/HLrjgAgvYu++++xWf5zXXXGOPP/74wZ/3599N8TXaFWDD4bB98cUXB5etXr3aAvYb3/jG4LIFCxbYWCxmN27cOLhs7dq1NhgMjvreFhERETnSqZ2LiIiIyBHi4osvpqamhmOPPZa3v/3txONxfvGLXzBjxoxh61133XXDfv7Zz35GRUUF//AP/8D27dsHv84880zi8TgPP/wwAL///e/JZrN88IMfHNaW4SMf+cg+j+3pp5+mo6ODj3zkI3v0on4lLR4KhQIPPfQQCxcuZNasWYPLp02bxr/8y7/wpz/9id7e3mHbvO997xv2XOeffz6FQoGXXnoJGOqRff/995PL5cZ8LMXX5SMf+ciwHvDvfe97KS8v53/+53/2+/zG4p/+6Z+oqqoa/LlYzdze3g7Azp07+cMf/sA//uM/0tfXN/h73bFjB/Pnz2ft2rVs3Lhx1P339fUBUFZWNuo6xceK6+5uyZIlbNmyZcy90ZuamnjDG96wX21ginatXC+e7/nnn08ymeT555/fr30VvZLX8L3vfS+BQOAVPd+uIpEI73znO/dY/mrPc1//bvbm4osvpr6+fvDnxsZGysvLB7ctFAr8/ve/Z+HChUyfPn1wvRNOOIHLLrtsn/sXEREROVIpRBcRERE5Qtx555387ne/4+GHH+a5556jvb2d+fPnD1snGAzu0ad57dq19PT0MGXKFGpqaoZ9JRKJwUGMxbC5oaFh2PY1NTXDQrmRFFvLzJ0791WdY9G2bdtIJpPMnj17j8dOPvlkfN/n5ZdfHrb8uOOOG/Zz8ZiLfd8vuOAC3vrWt3LrrbdSXV3NW97yFr73ve+RyWT2eizF12X3YwmHw8yaNWvw8QNtX+fz4osvYq3l05/+9B6/12Jf8OLvdiT7Csh3fWzKlCkjPv5KQvH9Dd6L1qxZw5VXXklFRQXl5eXU1NRw9dVXA9DT07Nf+yp6Ja9hXV3dK3qu3c2YMYNwOLzH8ld7nvv6d7M/2xa3L267detWUqkUJ5xwwh7rjbRMREREZKJQT3QRERGRI8S8efM466yz9rpOJBIZVi0NbqjolClT+NGPfjTiNhOll/Fo1cHWWsBVxN977708/vjjrFixgt/+9re8613v4ktf+hKPP/448Xj8UB7uPu3rfHzfB+Cmm27a42JK0d6CzVNOOYVf/vKXtLa20tTUNOI6ra2tAMPuBtjdLbfcwoUXXsi3v/3tPe5CGElTUxMXXnghX/ziF3n/+9+/z/UBuru7ueCCCygvL+ezn/0s9fX1RKNRnnrqKT7+8Y8Pvhb765W8hvvby300I+3nQJznvv7dHKxtRURERCYyhegiIiIiE1x9fT2///3vOe+88/YaAB5//PGAq1zfNTTdtm3bPqtYiy0gnn32WS6++OJR1xtra5eamhpisRhtbW17PPb888/jeR7HHnvsmPa1u3POOYdzzjmHf//3f+eee+7hX//1X/nxj3/Me97znhHXL74ubW1tw16XbDZLR0fHXs93b15Jm5tdFY8lFAq9omNYsGABn//85/nv//7vEUP0QqHAPffcQ21t7aghO7gK/wsvvJAvfOELfOYznxnTcy9ZsmQweB+LRx55hB07dnDfffcNO5aOjo4xbT/aa/1qX8NX8px782rP82CbMmUK0WiUF198cY/HRlomIiIiMlGonYuIiIjIBPeP//iPFAoFPve5z+3xWD6fp7u7G3D9kEOhEN/4xjeGVZ5+9atf3edznHHGGdTV1fHVr351cH9Fu+6rtLQUYI91dhcIBLjkkkv41a9+xfr16weXd3Z2cs899/D617+e8vLyfR7Xrrq6uvaoqD399NMB9trS5eKLLyYcDvP1r3992Pb/+Z//SU9PD29605v26ziKxvpajGbKlCmDQfTmzZv3eHzbtm173f6cc87hkksu4Xvf+x7333//Ho9/6lOf4oUXXuDf/u3fCAb3XntTbNHyne98Z0zHvmvwnk6n97l+sUJ619c/m83yrW99a0zPF4vFgD1f61f7Gu7NK/n9vtrzPNgCgQAXX3wxv/zlL9m0adPg8hdffJHf/OY343hkIiIiIgeXKtFFREREJrgLLriAa6+9lttuu41nnnmGSy65hFAoxNq1a/nZz37G1772Nd72trdRU1PDTTfdxG233cYVV1zB5ZdfztNPP81vfvMbqqur9/ocnudx1113sWDBAk4//XTe+c53Mm3aNJ5//nnWrFnDb3/7WwDOPPNMAD70oQ8xf/58AoEAb3/720fc59KlS/nd737H61//ej7wgQ8QDAb59re/TSaT4Ytf/OJ+vw7f//73+da3vsWVV15JfX09fX19fPe736W8vJzLL7981O1qamr4xCc+wa233sqll17Km9/8Ztra2vjWt77Fa1/72sF+1ftrf16L0dx55528/vWv59RTT+W9730vs2bNorOzk8cee4y///3vrF69eq/b//d//zdvfOMbectb3sK//Mu/cP7555PJZLjvvvt45JFHuPrqq/noRz+6z+O44IILuOCCC3j00UfHfOy33HILb3jDG8a07rnnnktVVRXXXHMNH/rQhzDG8IMf/GDMbUZKSko45ZRT+MlPfsKJJ57IpEmTmDt3LnPnzn3Vr+Fo6uvrqays5O6776asrIzS0lLOPvvsvfZUf7XneSgsWbKEhx56iPPOO4/rrruOQqHAN7/5TebOncszzzwz3ocnIiIiclAoRBcRERE5Ctx9992ceeaZfPvb3+aTn/wkwWCQmTNncvXVV3PeeecNrrd06VKi0Sh33303Dz/8MGeffTYPPfTQmKqt58+fz8MPP8ytt97Kl770JXzfp76+nve+972D61x11VV88IMf5Mc//jE//OEPsdaOGhzPmTOHP/7xj3ziE5/gtttuw/d9zj77bH74wx9y9tln7/drcMEFF7Bq1Sp+/OMf09nZSUVFBfPmzeNHP/rRPodFLlmyhJqaGr75zW/y0Y9+lEmTJvG+972Pz3/+84RCof0+Fti/12I0p5xyCk8++SS33nory5cvZ8eOHUyZMoXXvOY1Y2qtUltby8qVK/nyl7/MT3/6U+69997ByvBPf/rTfPaznx3zsSxZsmTMoTjAhRdeOObgffLkydx///3ceOONLF68mKqqKq6++mouuuiiUXuZ7+4//uM/+OAHP8hHP/pRstkst9xyC3Pnzn3Vr+FoQqEQ3//+9/nEJz7B+9//fvL5PN/73vf2+m/tQJznwXbmmWfym9/8hptuuolPf/rTHHvssXz2s5/lb3/7G88///x4H56IiIjIQWHs4VTWICIiIiIi42rjxo2ce+655PN5HnvsMY477rjxPiQ5AixcuJA1a9awdu3a8T4UERERkQNOPdFFRERERGTQjBkzePDBB0mn01x22WX7HCorR59UKjXs57Vr1/LAAw9w4YUXjs8BiYiIiBxkqkQXERERERGRMZs2bRqLFi1i1qxZvPTSS9x1111kMhmefvppGhoaxvvwRERERA449UQXERERERGRMbv00kv5f//v/7FlyxYikQive93r+PznP68AXURERCYsVaKLiIiIiIiIiIiIiIxCPdFFREREREREREREREahEF1EREREREREREREZBRHXU903/fZtGkTZWVlGGPG+3BEREREREREREREZBxYa+nr62P69Ol43uj15kddiL5p0yaOPfbY8T4MERERERERERERETkMvPzyyxxzzDGjPn7UhehlZWWAe2HKy8vH+WhEREREREREREREZDz09vZy7LHHDmbGoznqQvRiC5fy8nKF6CIiIiIiIiIiIiJHuX21/dZgURERERERERERERGRUShEFxEREREREREREREZhUJ0EREREREREREREZFRKEQXERERERERERERERmFQnQRERERERERERERkVEoRBcRERERERERERERGYVCdBERERERERERERGRUShEFxEREREREREREREZhUJ0EREREREREREREZFRKEQXERERERERERERERmFQnQRERERERERERERkVEoRBcRERERERERERERGYVCdBERERERERERERGRUShEFxEREREREREREREZxbiG6Lfddhuvfe1rKSsrY8qUKSxcuJC2trZ9bvezn/2Mk046iWg0yqmnnsoDDzxwCI5WRERERERERERERI424xqiP/roo1x//fU8/vjj/O53vyOXy3HJJZfQ398/6jZ/+ctf+Od//mfe/e538/TTT7Nw4UIWLlzIs88+ewiPXERERERERERERESOBsZaa8f7IIq2bdvGlClTePTRR2lqahpxnX/6p3+iv7+f+++/f3DZOeecw+mnn87dd9+9z+fo7e2loqKCnp4eysvLD9ixi4iIiIiIiIiIiMiRY6xZ8WHVE72npweASZMmjbrOY489xsUXXzxs2fz583nsscdGXD+TydDb2zvsS0REREREREREROSoZi309cG2be774VNrfdgJjvcBFPm+z0c+8hHOO+885s6dO+p6W7Zsoba2dtiy2tpatmzZMuL6t912G7feeusBPVYRERERERERERGRI1IyCS0tsGIFtLVBoQCBAMyeDQsWQFMTxGLjfZSHlcMmRL/++ut59tln+dOf/nRA9/uJT3yCj33sY4M/9/b2cuyxxx7Q5xARERERERERERE57LW2wtKl0N4OxkBVFYTDkM/DqlWwciXMmgWLF0Nj43gf7WHjsAjRb7jhBu6//35aWlo45phj9rru1KlT6ezsHLass7OTqVOnjrh+JBIhEokcsGMVEREREREREREROeK0tkJzM3R2Ql2dC893VV0N2SysW+fWW7ZMQfqAce2Jbq3l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y559tuufbq0Lysf2QAcXHIMLuKuqhqvZYf/K99J2SnUUI7c3sqVMQ4O7rBR4z549HHiX2tS0tbnrwd3eWWe5YL63d/jykdusr3fB+6ZNrqJ9xYpDrwIvtdS59Va480740Y/ggQdg507YswceecR939bmDlr8y78MB+giIiIiIicqheiHQy7nPrXt3u0+oZVKhsZKJNz1u3e75Q9ja5d9+/bxi1/8gmuvvXa/6vBp06bxpje9if/+7//GDn6Su/nmm1mwYAGPPPII//zP/7zf9tra2njta1/LFVdcwaOPPsq73vWuoRD+QFpbW7nzzju56667uOuuu7jvvvtYtWrV0PV9fX186EMf4sEHH+RXv/oVnudx5ZVXEpU+CYqIiIg8B2PD35//HB57DG6/HS65xFVu9/e78HnRIvdW7M473fV/9mcucI8iGBhw/woF9zWfd0F1ebk7ybCubnSP8ZHhdk+Pq9YuK4Nzz3VfS4H3yJYyZ53l1pso8B6vTQ2421+wYDi07+kZrrafOdMF21u2uAr0Vaue34mPY1vqlPrAz58P553n+spPNIxVREREROREo3Yuh0NzsyvFaWw8+KcJz3PLbd7s1lu69LDswqZNm7DWcsYZZ4x7/RlnnEFnZyd79+4F4BWveAUf/vCHh67fsmXLqOW/9rWvMW/ePG666SYA5s2bx+OPP85nP/vZA+5HFEWsXr2aisFzed/85jfzq1/9ami917zmNaOW/9a3vkV9fT1PPPHEIfVjFxERERlPKfzNZNz3l17q3m5NNKi0qcmF6b/8JXz9664DXyn4jsXcdl72MnjXu1xwfMstozv3lfqf19S47Xue+/902oXZTz/t2r2A29bs2W75TZtcOD9nzvid/sZrU1O6vblzYds26OpylfannOLu07x5rhXM4sXqQy4iIiIicjgpRH++rHVNI42ZuAJ9rETCLb9mDSxZMrlpT5PenXHOQR7Heeedd8DrN27cyMte9rJRly1atOig2501a9ZQgA4wffp09uzZM/T9pk2b+OQnP8natWtpb28fqkDfunWrQnQRERE5IsYG62Ol03DFFXD55a7Ce+9ed8JgebmrPB853HRsz/D+flcJ/vKXu4p3gHvucdfFYnDmmcO3m826r6Vq+IMF3uP1KC/d3iWXwKtfDS99qdu3sQcHRERERETk8FGI/nxls+4TTU3Noa1XU+PW6+ub+BPdITjttNMwxvDkk09y5ZVX7nf9k08+SU1NDfX19QCUjzwP+TCKx+OjvjfGjGrVsmzZMk499VT+/d//nRkzZhBFEfPnz6dQOk9ZRERE5Cgxxg3GPNBwzFLbmCVLJq5uv/zy/a+DiZc/kMncnoiIiIiIHFnqZPh85fPunNzYIR6PKJ37299/WHajtraWSy65hK985Sv0j9nmrl27+K//+i9e//rXYyb5aWvevHk8+OCDoy774x//+Lz2saOjg40bN7JixQr+6q/+aqjFjIiIiMjxZmzP8JFvsca77kDLP9/bExERERGRI0sh+vOVSrlzaoPg0NYLArfemCGgz8ett97KwMAAS5Ysobm5mW3btnH33XdzySWXMHPmzIP2Mx/pXe96F0899RQf+9jHePrpp7njjjtYvXo1wKSD+LFqamqora3l61//Os888wy//vWv+dCHPvSctiUiIiIiIiIiIiLyQlCI/nxlMm6K06FWVHd2uvUOY1uVuXPn8uCDDzJ79mxe97rXMWfOHN75zndy8cUXc//99zNlypRJb6uxsZEf/vCH/PjHP6apqYmvfvWrfOITnwAgmUw+p/3zPI/vf//7PPTQQ8yfP58PfvCDQ4NLRURERERERERERI5Fxk52EuUJoqenh6qqKrq7u6msrBx1XT6fp62tjcbGRlKp1OQ3evfdsGIFzJo1ueGihQJs2QIrV7oml8eJz372s9x2221s27btaO/KpDznn6eIiIiIiIiIiIic8A6UFY+kwaKHw+LFMHs2tLbC3LngHaDAP4qgrQ3mzHHrHcO+8pWv8LKXvYza2lp+//vfc9NNN/G+973vaO+WiIiIiIiIiIiIyAtG7VwOh3TaVaJPnQqbNrlK8/EUCu76qVPd8un0C7ufh2jTpk1cfvnlnHnmmXzmM5/hwx/+MDfccMPR3i0RERERERERERGRF4zauYzwvNt/tLS4Fi2bN4MxUFMDsZgbItrZCda6ivUVK6Cp6TDdI5mI2rmIiIiIiIiIiIjIRNTO5WhoaoLVq6G5GdasgY0bob8ffB8WLYJly1wLl2O8Al1EREREREREREREHIXoh1s67YaFLlkCfX0uRC8rg/JyV50uIiIiIiIiIiIiIscNhejjOCwdboyBTMb9k6PiRdapSERERERERERERI4ADRYdIR6PA5DL5Y7ynsjhUPo5ln6uIiIiIiIiIiIiIodKlegj+L5PdXU1e/bsASCdTmPUguW4Y60ll8uxZ88eqqur8X3/aO+SiIiIiIiIiIiIHKcUoo8xbdo0gKEgXY5f1dXVQz9PERERERERERERkedCIfoYxhimT59OQ0MDxWLxaO+OPEfxeFwV6CIiIiIiIiIiIvK8KUSfgO/7CmFFREREREREREREXuQ0WFREREREREREREREZAIK0UVEREREREREREREJqAQXURERERERERERERkAi+6nujWWgB6enqO8p6IiIiIiIiIiIiIyNFSyohLmfFEXnQhem9vLwAnn3zyUd4TERERERERERERETnaent7qaqqmvB6Yw8Ws59goihix44dVFRUYIw52rvznPT09HDyySezbds2Kisrj/buyIucno9yLNHzUY4Vei7KsUTPRzmW6Pkoxwo9F+VYouejHCtejM9Fay29vb3MmDEDz5u48/mLrhLd8zxOOumko70bh0VlZeWL5gktxz49H+VYouejHCv0XJRjiZ6PcizR81GOFXouyrFEz0c5VrzYnosHqkAv0WBREREREREREREREZEJKEQXEREREREREREREZmAQvTjUDKZ5FOf+hTJZPJo74qIno9yTNHzUY4Vei7KsUTPRzmW6Pkoxwo9F+VYouejHCv0XJzYi26wqIiIiIiIiIiIiIjIZKkSXURERERERERERERkAgrRRUREREREREREREQmoBBdRERERERERERERGQCCtGPUZ/97Gf5sz/7M9LpNNXV1ZNax1rLJz/5SaZPn05ZWRmvfOUr2bRp06hl9u3bx5ve9CYqKyuprq7m7W9/O9ls9gjcAzlRHOpzZsuWLRhjxv33gx/8YGi58a7//ve//0LcJTmOPZfXsJe//OX7Pdfe/e53j1pm69atXHbZZaTTaRoaGvjIRz5CEARH8q7ICeBQn4/79u3jH//xH5k3bx5lZWWccsop/NM//RPd3d2jltProxzMl7/8ZWbNmkUqleL8889n3bp1B1z+Bz/4AaeffjqpVIqzzz6bn//856Oun8x7SJGJHMrz8d///d/5y7/8S2pqaqipqeGVr3zlfstfc801+70GLl269EjfDTlBHMrzcfXq1fs911Kp1Khl9Pooz9WhPBfH+7xijOGyyy4bWkavjfJcNTc3s2zZMmbMmIExhjvvvPOg69x7772ce+65JJNJTjvtNFavXr3fMof6fvREoBD9GFUoFPjbv/1b3vOe90x6nc9//vN86Utf4rbbbmPt2rWUl5ezZMkS8vn80DJvetOb2LBhA/fccw933XUXzc3NvPOd7zwSd0FOEIf6nDn55JPZuXPnqH+f/vSnyWQyXHrppaOW/fa3vz1quSuuuOII3xs53j3X17B/+Id/GPVc+/znPz90XRiGXHbZZRQKBf7whz9w++23s3r1aj75yU8eybsiJ4BDfT7u2LGDHTt2cPPNN/P444+zevVq7r77bt7+9rfvt6xeH2Ui//3f/82HPvQhPvWpT/Hwww+zYMEClixZwp49e8Zd/g9/+ANvfOMbefvb384jjzzCFVdcwRVXXMHjjz8+tMxk3kOKjOdQn4/33nsvb3zjG/nNb37D/fffz8knn8yrXvUqtm/fPmq5pUuXjnoN/N73vvdC3B05zh3q8xGgsrJy1HPtT3/606jr9fooz8WhPhd//OMfj3oePv744/i+z9/+7d+OWk6vjfJc9PX1sWDBAr785S9Pavm2tjYuu+wyLr74YtavX88HPvAB3vGOd/CLX/xiaJnn8np7QrByTPv2t79tq6qqDrpcFEV22rRp9qabbhq6rKuryyaTSfu9733PWmvtE088YQH7xz/+cWiZ//3f/7XGGLt9+/bDvu9y/Dtcz5mFCxfat73tbaMuA+xPfvKTw7Wr8iLwXJ+PF110kX3/+98/4fU///nPred5dteuXUOXffWrX7WVlZV2YGDgsOy7nHgO1+vjHXfcYROJhC0Wi0OX6fVRDmTRokX2ve9979D3YRjaGTNm2BtvvHHc5V/3utfZyy67bNRl559/vn3Xu95lrZ3ce0iRiRzq83GsIAhsRUWFvf3224cuu/rqq+3ll19+uHdVXgQO9fl4sM/aen2U5+r5vjZ+4QtfsBUVFTabzQ5dptdGORwm8znjox/9qD3rrLNGXfb617/eLlmyZOj75/scP16pEv0E0dbW9v+3d/8hcdZxAMc/88ddc+ZMzh8bLVFbty3PzhqKEhNSzBVk9E8uWtYfBTWIYMk0WGsKYSVjEP0iXMEopGSxUc2WNqHaZXVpu8yNaW41SmlWnpu2Tf30R9yDz/SZerrz1/sFB7vv87mv3wc+fO77fPbwnPT09EhBQYExtnLlSsnOzhaPxyMiIh6PR2JjY2Xjxo1GTEFBgYSFhUlLS0vI14z5bzZyxuv1Sltb24R3Wm7btk0cDodkZWXJvn37RFVnbe1YfGaSj++99544HA5JT0+XiooKGRwcNM3rcrkkMTHRGLv77rvF7/dLe3v77J8IFoXZ+k7t7++XmJgYiYiIMI1THzGRS5cuidfrNe33wsLCpKCgwNjvXcnj8ZjiRf6vcYH4qewhgYkEk49XGhwclMuXL0tcXJxpvLm5WRISEsTpdMqTTz4pfX19s7p2LD7B5uP58+clOTlZ1qxZI8XFxaa9H/URwZiN2lhbWyslJSWyYsUK0zi1EaEw2d5xNnJ8oYqYPAQLQU9Pj4iIqQkUeB841tPTIwkJCabjEREREhcXZ8QAY81GztTW1sr69eslNzfXNF5ZWSl33XWXREVFyZEjR+Spp56S8+fPy9NPPz1r68fiEmw+PvTQQ5KcnCyrV6+W48ePy44dO+TkyZNy4MABY96JamfgGDCR2aiP586dk6qqqnGPgKE+wsq5c+dkZGRkwpp14sSJCT9jVePG7g8DY1YxwESCyccr7dixQ1avXm26EC8qKpIHHnhAUlJSpKurS5577jnZvHmzeDweCQ8Pn9VzwOIRTD46nU7Zt2+fZGRkSH9/v9TU1Ehubq60t7fLjTfeSH1EUGZaG7/99lv56aefpLa21jRObUSoWO0d/X6/DA0Nyd9//z3j7/+FiiZ6CJWXl8tLL7101ZiOjg5Zt25diFaEpWqquThTQ0ND8v7778vOnTvHHRs7lpmZKRcuXJBXXnmFJtESdK3zcWyD0uVyyapVqyQ/P1+6urokLS0t6HmxOIWqPvr9frn33ntlw4YN8sILL5iOUR8BLAXV1dVSV1cnzc3Nph9zLCkpMf7tcrkkIyND0tLSpLm5WfLz8+diqVikcnJyJCcnx3ifm5sr69evl7feekuqqqrmcGVYympra8XlcklWVpZpnNoIzD2a6CG0fft2efTRR68ak5qaGtTcSUlJIiLS29srq1atMsZ7e3vF7XYbMVc+5H94eFj++usv4/NYGqaaizPNmfr6ehkcHJRHHnlk0tjs7GypqqqSixcvit1unzQei0eo8jEgOztbREQ6OzslLS1NkpKSxv2SeG9vr4gItXEJCkU+DgwMSFFRkVx//fXy0UcfSWRk5FXjqY8IcDgcEh4ebtSogN7eXsu8S0pKumr8VPaQwESCyceAmpoaqa6ulsbGRsnIyLhqbGpqqjgcDuns7KRRBEszyceAyMhIyczMlM7OThGhPiI4M8nFCxcuSF1dnVRWVk76d6iNuFas9o4xMTGyfPlyCQ8Pn3G9Xah4JnoIxcfHy7p16676stlsQc2dkpIiSUlJ0tTUZIz5/X5paWkx/nc9JydH/vnnH/F6vUbMF198IaOjo0ZTCUvDVHNxpjlTW1sr9913n8THx08a29bWJjfccAMNoiUoVPkY0NbWJiJiXAzl5OSIz+czNUQ///xziYmJkQ0bNszOSWLBuNb56Pf7pbCwUGw2mxw6dMh096UV6iMCbDab3HHHHab93ujoqDQ1NZnuphwrJyfHFC/yf40LxE9lDwlMJJh8FBF5+eWXpaqqShoaGky/K2Hl7Nmz0tfXZ2piAlcKNh/HGhkZEZ/PZ+Qa9RHBmEkufvjhh3Lx4kV5+OGHJ/071EZcK5PtHWej3i5Yc/3LppjYmTNntLW1VXfv3q3R0dHa2tqqra2tOjAwYMQ4nU49cOCA8b66ulpjY2P14MGDevz4cS0uLtaUlBQdGhoyYoqKijQzM1NbWlr0q6++0rVr1+qWLVtCem5YWCbLmbNnz6rT6dSWlhbT506dOqXLli3Tw4cPj5vz0KFD+vbbb6vP59NTp07p66+/rlFRUfr8889f8/PBwjbdfOzs7NTKykr9/vvvtbu7Ww8ePKipqam6adMm4zPDw8Oanp6uhYWF2tbWpg0NDRofH68VFRUhPz8sLNPNx/7+fs3OzlaXy6WdnZ36xx9/GK/h4WFVpT5icnV1dWq32/Xdd9/Vn3/+WZ944gmNjY3Vnp4eVVXdunWrlpeXG/Fff/21RkREaE1NjXZ0dOiuXbs0MjJSfT6fETOVPSQwkenmY3V1tdpsNq2vrzfVwMA1zsDAgD777LPq8Xi0u7tbGxsb9fbbb9e1a9fqv//+OyfniIVjuvm4e/du/eyzz7Srq0u9Xq+WlJToddddp+3t7UYM9RHBmG4uBtx555364IMPjhunNmImBgYGjJ6iiOiePXu0tbVVz5w5o6qq5eXlunXrViP+l19+0aioKC0rK9OOjg597bXXNDw8XBsaGoyYyXJ8saKJPk+VlpaqiIx7HT161IgREX3nnXeM96Ojo7pz505NTExUu92u+fn5evLkSdO8fX19umXLFo2OjtaYmBh97LHHTI154EqT5Ux3d/e43FRVraio0DVr1ujIyMi4OQ8fPqxut1ujo6N1xYoVetttt+mbb745YSww1nTz8ddff9VNmzZpXFyc2u12vfnmm7WsrEz7+/tN854+fVo3b96sy5cvV4fDodu3b9fLly+H8tSwAE03H48ePTrhd7uIaHd3t6pSHzE1r776qt50001qs9k0KytLv/nmG+NYXl6elpaWmuI/+OADveWWW9Rms+mtt96qn3zyien4VPaQgJXp5GNycvKENXDXrl2qqjo4OKiFhYUaHx+vkZGRmpycrI8//viivyjH7JlOPj7zzDNGbGJiot5zzz36ww8/mOajPiJY0/2uPnHihIqIHjlyZNxc1EbMhNU1SCAHS0tLNS8vb9xn3G632mw2TU1NNfUeA66W44vVMlXVEN30DgAAAAAAAADAgsIz0QEAAAAAAAAAsEATHQAAAAAAAAAACzTRAQAAAAAAAACwQBMdAAAAAAAAAAALNNEBAAAAAAAAALBAEx0AAAAAAAAAAAs00QEAAAAAAAAAsEATHQAAAAAAAAAACzTRAQAAAAAAAACwQBMdAAAAAAAAAAALNNEBAAAAAAAAALBAEx0AAABYIv78809JSkqSF1980Rg7duyY2Gw2aWpqmsOVAQAAAPPXMlXVuV4EAAAAgND49NNP5f7775djx46J0+kUt9stxcXFsmfPnrleGgAAADAv0UQHAAAAlpht27ZJY2OjbNy4UXw+n3z33Xdit9vnelkAAADAvEQTHQAAAFhihoaGJD09XX777Tfxer3icrnmekkAAADAvMUz0QEAAIAlpqurS37//XcZHR2V06dPz/VyAAAAgHmNO9EBAACAJeTSpUuSlZUlbrdbnE6n7N27V3w+nyQkJMz10gAAAIB5iSY6AAAAsISUlZVJfX29/PjjjxIdHS15eXmycuVK+fjjj+d6aQAAAMC8xONcAAAAgCWiublZ9u7dK/v375eYmBgJCwuT/fv3y5dffilvvPHGXC8PAAAAmJe4Ex0AAAAAAAAAAAvciQ4AAAAAAAAAgAWa6AAAAAAAAAAAWKCJDgAAAAAAAACABZroAAAAAAAAAABYoIkOAAAAAAAAAIAFmugAAAAAAAAAAFigiQ4AAAAAAAAAgAWa6AAAAAAAAAAAWKCJDgAAAAAAAACABZroAAAAAAAAAABYoIkOAAAAAAAAAIAFmugAAAAAAAAAAFj4DwaNtCeo/j20AAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -464,7 +464,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB9+klEQVR4nO3dd3hTZRvH8W+S7k1LSymUMsqS1bKHbJCtDAVFBRwoihMnrwpuxYETQZHhYCtL9t67UPYsLbTQsgrdM3nePw4NVlYLbU+b3p/rykVyzpPkd0hLbs55hkEppRBCCCGEsBFGvQMIIYQQQhQkKW6EEEIIYVOkuBFCCCGETZHiRgghhBA2RYobIYQQQtgUKW6EEEIIYVOkuBFCCCGETbHTO0BRs1gsnD17Fnd3dwwGg95xhBBCCJEHSimSkpIICAjAaLz1uZlSV9ycPXuWwMBAvWMIIYQQ4g5ER0dTsWLFW7YpdcWNu7s7oP3leHh46JxGCCGEEHmRmJhIYGCg9Xv8VkpdcZNzKcrDw0OKGyGEEKKEyUuXEulQLIQQQgibIsWNEEIIIWyKFDdCCCGEsCmlrs+NEMWN2WwmKytL7xhC3JSDg8Nth94KUZxIcSOETpRSxMXFceXKFb2jCHFLRqORKlWq4ODgoHcUIfJEihshdJJT2Pj5+eHi4iKTSopiKWfi09jYWCpVqiQ/p6JE0LW4+eyzz5g7dy5HjhzB2dmZli1bMmbMGGrWrHnL582ZM4f33nuPqKgoqlevzpgxY+jevXsRpRbi7pnNZmth4+Pjo3ccIW7J19eXs2fPkp2djb29vd5xhLgtXS+irl+/nuHDh7Nt2zZWrlxJVlYW9913HykpKTd9zpYtW3jkkUd46qmn2LNnD71796Z3794cOHCgCJMLcXdy+ti4uLjonESI28u5HGU2m3VOIkTeGJRSSu8QOS5cuICfnx/r16+nTZs2N2wzYMAAUlJSWLRokXVb8+bNCQkJYcKECbd9j8TERDw9PUlISJBJ/IRu0tPTiYyMpEqVKjg5OekdR4hbkp9XURzk5/u7WHV/T0hIAMDb2/umbbZu3UqnTp1ybevSpQtbt269YfuMjAwSExNz3YQQQghhu4pNcWOxWHjllVdo1aoVdevWvWm7uLg4ypUrl2tbuXLliIuLu2H7zz77DE9PT+tNFs0UQgghbFuxKW6GDx/OgQMHmDlzZoG+7siRI0lISLDeoqOjC/T1hRBCCFG8FIvi5oUXXmDRokWsXbv2tsuY+/v7c+7cuVzbzp07h7+//w3bOzo6WhfJlMUyhbg7BoPhlrf3339f12zz58/X7f2FEJrtJy+Rka1v53NdixulFC+88ALz5s1jzZo1VKlS5bbPadGiBatXr861beXKlbRo0aKwYgohroqNjbXevv32Wzw8PHJte/311/P1epmZmYWUVAihh9iENAb8so1mn64mKV2/mdd1LW6GDx/On3/+yfTp03F3dycuLo64uDjS0tKsbQYNGsTIkSOtj19++WWWLVvG119/zZEjR3j//ffZtWsXL7zwgh6HIESBUUqRmpmtyy2vgyb9/f2tN09PTwwGg/VxSkoKjz76KOXKlcPNzY0mTZqwatWqXM+vXLkyH330EYMGDcLDw4NnnnkGgIkTJxIYGIiLiwt9+vRh7NixeHl55XruggULaNiwIU5OTlStWpUPPviA7Oxs6+sC9OnTB4PBYH0shChai/fFAlDDzx13J/3mRNJ1Er/x48cD0K5du1zbp0yZwpAhQwA4ffp0rjVNWrZsyfTp03n33Xf53//+R/Xq1Zk/f/4tOyELURKkZZm5Z9RyXd770IddcHG4u38OkpOT6d69O5988gmOjo78/vvv9OrVi6NHj1KpUiVru6+++opRo0YxevRoADZv3sywYcMYM2YM999/P6tWreK9997L9dobN25k0KBBfP/997Ru3ZqIiAhrYTR69Gh27tyJn58fU6ZMoWvXrphMprs6FiHEnfln71kAejUor2sOXYubvPxvcd26dddte+ihh3jooYcKIZEQ4k41aNCABg0aWB9/9NFHzJs3j4ULF+Y6s9qhQwdee+016+N33nmHbt26WS9p1ahRgy1btuSay+qDDz7g7bffZvDgwQBUrVqVjz76iDfffJPRo0fj6+sLgJeX10373wkhClfUxRT2xiRgNEC3eqW4uBFCXONsb+LQh110e++7lZyczPvvv8/ixYuJjY0lOzubtLQ0Tp8+natd48aNcz0+evQoffr0ybWtadOmuYqbvXv3snnzZj755BPrNrPZTHp6OqmpqTLTsxDFwKJ92lmbVsFlKevmqGsWKW6EKCYMBsNdXxrS0+uvv87KlSv56quvCA4OxtnZmQcffPC6TsOurq75fu3k5GQ++OAD+vbte90+mTFXCP0ppVgQfvWSVP0AndNIcSOEKCCbN29myJAh1rMwycnJREVF3fZ5NWvWZOfOnbm2/fdxw4YNOXr0KMHBwTd9HXt7e1n7SAidHIlL4vj5ZBxMRrrU1f/SsBQ3QogCUb16debOnUuvXr0wGAy89957WCyW2z7vxRdfpE2bNowdO5ZevXqxZs0ali5disFgsLYZNWoUPXv2pFKlSjz44IMYjUb27t3LgQMH+PjjjwFtxNTq1atp1aoVjo6OlClTptCOVQiRW85Zm/a1fPF01n/l+GIxiZ9NUArWfQ6bvtU7iRC6GDt2LGXKlKFly5b06tWLLl260LBhw9s+r1WrVkyYMIGxY8fSoEEDli1bxquvvprrclOXLl1YtGgRK1asoEmTJjRv3pxvvvmGoKAga5uvv/6alStXEhgYSGhoaKEcoxDiehaLso6SeiCkgs5pNMVqVfCiUGirgp9YDX9e7Q/w0G9Qp3fBvbawObLK8q0NHTqUI0eOsHHjRr2jCOTnVdzazqh4HpqwFTdHO3a92wmnAhigcCMldlXwEi24IzQbpt2f9yycCdM3jxAlyFdffcXevXs5ceIEP/zwA7/99pt12LcQonhbEH4GgC51/AutsMkvKW4KSJbZwpqgl4nxbQPZ6TDvOcjO0DuWECXCjh076Ny5M/Xq1WPChAl8//33PP3003rHEkLcRpbZYp2V+IEQ/UdJ5ZAOxQXkwJkEnvx9D+UdBrPF7TCGi0dhw1fQ4R29owlR7M2ePVvvCEKIO7Dp+EUup2ZR1s2BltV89I5jJWduCkhIoBeVvF2IzXRmZ53/aRs3jYW4A/oGE0IIIQpJziWpnvUDsDMVn5Ki+CQp4QwGg/WU3ITzdaFWT7Bkw4LhYM7WOZ0QQghRsFIzs1lx6BwA9xejS1IgxU2ByiluNhy/yOX2n4GjJ8SGw7Zx+gYTQgghCtiqw+dJzTQT6O1MaKCX3nFykeKmAAX7uVMnwINsi2JRpIIuV9fBWfspXIrQN5wQQghRgBZevST1QIMKuSbdLA6kuClgva9OYLQw/AyEPgZV22mjp1a9r2suIYQQoqBcTslk3dELQPEaJZVDipsC1qtBAAYD7Iy6TMyVNOj6OWCAwwvhbLje8YQQQoi7tvRAHNkWRe3yHlQv5653nOtIcVPA/D2daF5FGw63cO9Z8KsN9R7Sdq75WMdkQghbExUVhcFgIDw8XO8oopTJGSV1f4Pid9YGpLgpFDmn6BZeXUiMdm+DwQQnVsLpbTomE6JgREdH8+STTxIQEICDgwNBQUG8/PLLXLp0SZc87dq145VXXtHlvQHef/99DAbDdbdVq1YV6vsGBgYSGxtL3bp1C/V9hPi3s1fS2BEVD0CvBuWvb5CHBXMLmxQ3haBb3fI4mIwciUviSFwi+FSDho9rO9d+qm84Ie7SyZMnady4McePH2fGjBmcOHGCCRMmsHr1alq0aEF8fLzeEXVRp04dYmNjc93atGlTaO+XmZmJyWTC398fO7s7n481MzOzAFOJ0mDRvrMoBU0ql6FiGZfcO7MzYXp/2DZen3BXSXFTCDxd7GlX0xe4tgw8rV/Xzt5ErofYvTqmE+LuDB8+HAcHB1asWEHbtm2pVKkS3bp1Y9WqVZw5c4Z33rk2K7fBYGD+/Pm5nu/l5cXUqVOtj9966y1q1KiBi4sLVatW5b333iMrK8u6//333yckJIQ//viDypUr4+npycMPP0xSUhIAQ4YMYf369Xz33XfWMyZRUVFMnToVLy+vXO89f/78XKM6cl578uTJVKpUCTc3N55//nnMZjNffPEF/v7++Pn58cknn9z278XOzg5/f/9cNwcHBwD2799Phw4dcHZ2xsfHh2eeeYbk5GTrc2905ql3794MGTLE+rhy5cp89NFHDBo0CA8PD5555pkbXpY6cOAA3bp1w83NjXLlyvH4449z8eLFXO/1wgsv8Morr1C2bFm6dOly22MT4t9yvtfu/+8K4BYzzHtGu0qx+kNIOKNDOo0UN4Wkd2jOqKmzWCwKvAKh7tVVw7f8qGMyIe5cfHw8y5cv5/nnn8fZ2TnXPn9/fx599FFmzZqFUirPr+nu7s7UqVM5dOgQ3333HRMnTuSbb77J1SYiIoL58+ezaNEiFi1axPr16/n8888B+O6772jRogVDhw61njEJDAzM8/tHRESwdOlSli1bxowZM5g0aRI9evQgJiaG9evXM2bMGN599122b9+e59f8t5SUFLp06UKZMmXYuXMnc+bMYdWqVbzwwgv5fq2vvvqKBg0asGfPHt57773r9l+5coUOHToQGhrKrl27WLZsGefOnaN///652v322284ODiwefNmJkyYcEfHJUqnE+eTOHg2ETujgR71/nNJasW7cHAe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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB9+klEQVR4nO3dd3hTZRvH8W+S7k1LSymUMsqS1bKHbJCtDAVFBRwoihMnrwpuxYETQZHhYCtL9t67UPYsLbTQsgrdM3nePw4NVlYLbU+b3p/rykVyzpPkd0hLbs55hkEppRBCCCGEsBFGvQMIIYQQQhQkKW6EEEIIYVOkuBFCCCGETZHiRgghhBA2RYobIYQQQtgUKW6EEEIIYVOkuBFCCCGETbHTO0BRs1gsnD17Fnd3dwwGg95xhBBCCJEHSimSkpIICAjAaLz1uZlSV9ycPXuWwMBAvWMIIYQQ4g5ER0dTsWLFW7YpdcWNu7s7oP3leHh46JxGCCGEEHmRmJhIYGCg9Xv8VkpdcZNzKcrDw0OKGyGEEKKEyUuXEulQLIQQQgibIsWNEEIIIWyKFDdCCCGEsCmlrs+NEMWN2WwmKytL7xhC3JSDg8Nth94KUZxIcSOETpRSxMXFceXKFb2jCHFLRqORKlWq4ODgoHcUIfJEihshdJJT2Pj5+eHi4iKTSopiKWfi09jYWCpVqiQ/p6JE0LW4+eyzz5g7dy5HjhzB2dmZli1bMmbMGGrWrHnL582ZM4f33nuPqKgoqlevzpgxY+jevXsRpRbi7pnNZmth4+Pjo3ccIW7J19eXs2fPkp2djb29vd5xhLgtXS+irl+/nuHDh7Nt2zZWrlxJVlYW9913HykpKTd9zpYtW3jkkUd46qmn2LNnD71796Z3794cOHCgCJMLcXdy+ti4uLjonESI28u5HGU2m3VOIkTeGJRSSu8QOS5cuICfnx/r16+nTZs2N2wzYMAAUlJSWLRokXVb8+bNCQkJYcKECbd9j8TERDw9PUlISJBJ/IRu0tPTiYyMpEqVKjg5OekdR4hbkp9XURzk5/u7WHV/T0hIAMDb2/umbbZu3UqnTp1ybevSpQtbt269YfuMjAwSExNz3YQQQghhu4pNcWOxWHjllVdo1aoVdevWvWm7uLg4ypUrl2tbuXLliIuLu2H7zz77DE9PT+tNFs0UQgghbFuxKW6GDx/OgQMHmDlzZoG+7siRI0lISLDeoqOjC/T1hRBCCFG8FIvi5oUXXmDRokWsXbv2tsuY+/v7c+7cuVzbzp07h7+//w3bOzo6WhfJlMUyhbg7BoPhlrf3339f12zz58/X7f2FEJrtJy+Rka1v53NdixulFC+88ALz5s1jzZo1VKlS5bbPadGiBatXr861beXKlbRo0aKwYgohroqNjbXevv32Wzw8PHJte/311/P1epmZmYWUVAihh9iENAb8so1mn64mKV2/mdd1LW6GDx/On3/+yfTp03F3dycuLo64uDjS0tKsbQYNGsTIkSOtj19++WWWLVvG119/zZEjR3j//ffZtWsXL7zwgh6HIESBUUqRmpmtyy2vgyb9/f2tN09PTwwGg/VxSkoKjz76KOXKlcPNzY0mTZqwatWqXM+vXLkyH330EYMGDcLDw4NnnnkGgIkTJxIYGIiLiwt9+vRh7NixeHl55XruggULaNiwIU5OTlStWpUPPviA7Oxs6+sC9OnTB4PBYH0shChai/fFAlDDzx13J/3mRNJ1Er/x48cD0K5du1zbp0yZwpAhQwA4ffp0rjVNWrZsyfTp03n33Xf53//+R/Xq1Zk/f/4tOyELURKkZZm5Z9RyXd770IddcHG4u38OkpOT6d69O5988gmOjo78/vvv9OrVi6NHj1KpUiVru6+++opRo0YxevRoADZv3sywYcMYM2YM999/P6tWreK9997L9dobN25k0KBBfP/997Ru3ZqIiAhrYTR69Gh27tyJn58fU6ZMoWvXrphMprs6FiHEnfln71kAejUor2sOXYubvPxvcd26dddte+ihh3jooYcKIZEQ4k41aNCABg0aWB9/9NFHzJs3j4ULF+Y6s9qhQwdee+016+N33nmHbt26WS9p1ahRgy1btuSay+qDDz7g7bffZvDgwQBUrVqVjz76iDfffJPRo0fj6+sLgJeX10373wkhClfUxRT2xiRgNEC3eqW4uBFCXONsb+LQh110e++7lZyczPvvv8/ixYuJjY0lOzubtLQ0Tp8+natd48aNcz0+evQoffr0ybWtadOmuYqbvXv3snnzZj755BPrNrPZTHp6OqmpqTLTsxDFwKJ92lmbVsFlKevmqGsWKW6EKCYMBsNdXxrS0+uvv87KlSv56quvCA4OxtnZmQcffPC6TsOurq75fu3k5GQ++OAD+vbte90+mTFXCP0ppVgQfvWSVP0AndNIcSOEKCCbN29myJAh1rMwycnJREVF3fZ5NWvWZOfOnbm2/fdxw4YNOXr0KMHBwTd9HXt7e1n7SAidHIlL4vj5ZBxMRrrU1f/SsBQ3QogCUb16debOnUuvXr0wGAy89957WCyW2z7vxRdfpE2bNowdO5ZevXqxZs0ali5disFgsLYZNWoUPXv2pFKlSjz44IMYjUb27t3LgQMH+PjjjwFtxNTq1atp1aoVjo6OlClTptCOVQiRW85Zm/a1fPF01n/l+GIxiZ9NUArWfQ6bvtU7iRC6GDt2LGXKlKFly5b06tWLLl260LBhw9s+r1WrVkyYMIGxY8fSoEEDli1bxquvvprrclOXLl1YtGgRK1asoEmTJjRv3pxvvvmGoKAga5uvv/6alStXEhgYSGhoaKEcoxDiehaLso6SeiCkgs5pNMVqVfCiUGirgp9YDX9e7Q/w0G9Qp3fBvbawObLK8q0NHTqUI0eOsHHjRr2jCOTnVdzazqh4HpqwFTdHO3a92wmnAhigcCMldlXwEi24IzQbpt2f9yycCdM3jxAlyFdffcXevXs5ceIEP/zwA7/99pt12LcQonhbEH4GgC51/AutsMkvKW4KSJbZwpqgl4nxbQPZ6TDvOcjO0DuWECXCjh076Ny5M/Xq1WPChAl8//33PP3003rHEkLcRpbZYp2V+IEQ/UdJ5ZAOxQXkwJkEnvx9D+UdBrPF7TCGi0dhw1fQ4R29owlR7M2ePVvvCEKIO7Dp+EUup2ZR1s2BltV89I5jJWduCkhIoBeVvF2IzXRmZ53/aRs3jYW4A/oGE0IIIQpJziWpnvUDsDMVn5Ki+CQp4QwGg/WU3ITzdaFWT7Bkw4LhYM7WOZ0QQghRsFIzs1lx6BwA9xejS1IgxU2ByiluNhy/yOX2n4GjJ8SGw7Zx+gYTQgghCtiqw+dJzTQT6O1MaKCX3nFykeKmAAX7uVMnwINsi2JRpIIuV9fBWfspXIrQN5wQQghRgBZevST1QIMKuSbdLA6kuClgva9OYLQw/AyEPgZV22mjp1a9r2suIYQQoqBcTslk3dELQPEaJZVDipsC1qtBAAYD7Iy6TMyVNOj6OWCAwwvhbLje8YQQQoi7tvRAHNkWRe3yHlQv5653nOtIcVPA/D2daF5FGw63cO9Z8KsN9R7Sdq75WMdkQghbExUVhcFgIDw8XO8oopTJGSV1f4Pid9YGpLgpFDmn6BZeXUiMdm+DwQQnVsLpbTomE6JgREdH8+STTxIQEICDgwNBQUG8/PLLXLp0SZc87dq145VXXtHlvQHef/99DAbDdbdVq1YV6vsGBgYSGxtL3bp1C/V9hPi3s1fS2BEVD0CvBuWvb5CHBXMLmxQ3haBb3fI4mIwciUviSFwi+FSDho9rO9d+qm84Ie7SyZMnady4McePH2fGjBmcOHGCCRMmsHr1alq0aEF8fLzeEXVRp04dYmNjc93atGlTaO+XmZmJyWTC398fO7s7n481MzOzAFOJ0mDRvrMoBU0ql6FiGZfcO7MzYXp/2DZen3BXSXFTCDxd7GlX0xe4tgw8rV/Xzt5ErofYvTqmE+LuDB8+HAcHB1asWEHbtm2pVKkS3bp1Y9WqVZw5c4Z33rk2K7fBYGD+/Pm5nu/l5cXUqVOtj9966y1q1KiBi4sLVatW5b333iMrK8u6//333yckJIQ//viDypUr4+npycMPP0xSUhIAQ4YMYf369Xz33XfWMyZRUVFMnToVLy+vXO89f/78XKM6cl578uTJVKpUCTc3N55//nnMZjNffPEF/v7++Pn58cknn9z278XOzg5/f/9cNwcHBwD2799Phw4dcHZ2xsfHh2eeeYbk5GTrc2905ql3794MGTLE+rhy5cp89NFHDBo0CA8PD5555pkbXpY6cOAA3bp1w83NjXLlyvH4449z8eLFXO/1wgsv8Morr1C2bFm6dOly22MT4t9yvtfu/+8K4BYzzHtGu0qx+kNIOKNDOo0UN4Wkd2jOqKmzWCwKvAKh7tVVw7f8qGMyIe5cfHw8y5cv5/nnn8fZ2TnXPn9/fx599FFmzZqFUirPr+nu7s7UqVM5dOgQ3333HRMnTuSbb77J1SYiIoL58+ezaNEiFi1axPr16/n8888B+O6772jRogVDhw61njEJDAzM8/tHRESwdOlSli1bxowZM5g0aRI9evQgJiaG9evXM2bMGN599122b9+e59f8t5SUFLp06UKZMmXYuXMnc+bMYdWqVbzwwgv5fq2vvvqKBg0asGfPHt57773r9l+5coUOHToQGhrKrl27WLZsGefOnaN///652v322284ODiwefNmJkyYcEfHJUqnE+eTOHg2ETujgR71/nNJasW7cHAe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", "text/plain": [ "
" ] @@ -655,7 +655,7 @@ ], "source": [ "circuit_a_prob = create_circuit_a(n_qubits = 4,b_max = x_max_int, b_min = x_min_int)\n", - "print(circuit_a_prob.draw())" + "circuit_a_prob.draw()" ] }, { @@ -753,7 +753,7 @@ } ], "source": [ - "print(create_circuit_q(n_qubits=4,circuit_a=circuit_a_prob).draw())" + "create_circuit_q(n_qubits=4,circuit_a=circuit_a_prob).draw()" ] }, { diff --git a/poetry.lock b/poetry.lock index 30cb114edc..a995eca8f6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -22,6 +22,25 @@ files = [ {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, ] +[[package]] +name = "alembic" +version = "1.13.2" +description = "A database migration tool for SQLAlchemy." +optional = false +python-versions = ">=3.8" +files = [ + {file = "alembic-1.13.2-py3-none-any.whl", hash = "sha256:6b8733129a6224a9a711e17c99b08462dbf7cc9670ba8f2e2ae9af860ceb1953"}, + {file = "alembic-1.13.2.tar.gz", hash = "sha256:1ff0ae32975f4fd96028c39ed9bb3c867fe3af956bd7bb37343b54c9fe7445ef"}, +] + +[package.dependencies] +Mako = "*" +SQLAlchemy = ">=1.3.0" +typing-extensions = ">=4" + +[package.extras] +tz = ["backports.zoneinfo"] + [[package]] name = "antlr4-python3-runtime" version = "4.13.2" @@ -200,100 +219,100 @@ css = ["tinycss2 (>=1.1.0,<1.3)"] [[package]] name = "cachetools" -version = "5.4.0" +version = "5.5.0" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" files = [ - {file = "cachetools-5.4.0-py3-none-any.whl", hash = "sha256:3ae3b49a3d5e28a77a0be2b37dbcb89005058959cb2323858c2657c4a8cab474"}, - {file = "cachetools-5.4.0.tar.gz", hash = "sha256:b8adc2e7c07f105ced7bc56dbb6dfbe7c4a00acce20e2227b3f355be89bc6827"}, + {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, + {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, ] [[package]] name = "certifi" -version = "2024.7.4" +version = "2024.8.30" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, - {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] [[package]] name = "cffi" -version = "1.17.0" +version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" files = [ - {file = "cffi-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f9338cc05451f1942d0d8203ec2c346c830f8e86469903d5126c1f0a13a2bcbb"}, - {file = "cffi-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0ce71725cacc9ebf839630772b07eeec220cbb5f03be1399e0457a1464f8e1a"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c815270206f983309915a6844fe994b2fa47e5d05c4c4cef267c3b30e34dbe42"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6bdcd415ba87846fd317bee0774e412e8792832e7805938987e4ede1d13046d"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a98748ed1a1df4ee1d6f927e151ed6c1a09d5ec21684de879c7ea6aa96f58f2"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a048d4f6630113e54bb4b77e315e1ba32a5a31512c31a273807d0027a7e69ab"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24aa705a5f5bd3a8bcfa4d123f03413de5d86e497435693b638cbffb7d5d8a1b"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:856bf0924d24e7f93b8aee12a3a1095c34085600aa805693fb7f5d1962393206"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4304d4416ff032ed50ad6bb87416d802e67139e31c0bde4628f36a47a3164bfa"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:331ad15c39c9fe9186ceaf87203a9ecf5ae0ba2538c9e898e3a6967e8ad3db6f"}, - {file = "cffi-1.17.0-cp310-cp310-win32.whl", hash = "sha256:669b29a9eca6146465cc574659058ed949748f0809a2582d1f1a324eb91054dc"}, - {file = "cffi-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:48b389b1fd5144603d61d752afd7167dfd205973a43151ae5045b35793232aa2"}, - {file = "cffi-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5d97162c196ce54af6700949ddf9409e9833ef1003b4741c2b39ef46f1d9720"}, - {file = "cffi-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ba5c243f4004c750836f81606a9fcb7841f8874ad8f3bf204ff5e56332b72b9"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb9333f58fc3a2296fb1d54576138d4cf5d496a2cc118422bd77835e6ae0b9cb"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:435a22d00ec7d7ea533db494da8581b05977f9c37338c80bc86314bec2619424"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1df34588123fcc88c872f5acb6f74ae59e9d182a2707097f9e28275ec26a12d"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df8bb0010fdd0a743b7542589223a2816bdde4d94bb5ad67884348fa2c1c67e8"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8b5b9712783415695663bd463990e2f00c6750562e6ad1d28e072a611c5f2a6"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ffef8fd58a36fb5f1196919638f73dd3ae0db1a878982b27a9a5a176ede4ba91"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e67d26532bfd8b7f7c05d5a766d6f437b362c1bf203a3a5ce3593a645e870b8"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45f7cd36186db767d803b1473b3c659d57a23b5fa491ad83c6d40f2af58e4dbb"}, - {file = "cffi-1.17.0-cp311-cp311-win32.whl", hash = "sha256:a9015f5b8af1bb6837a3fcb0cdf3b874fe3385ff6274e8b7925d81ccaec3c5c9"}, - {file = "cffi-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:b50aaac7d05c2c26dfd50c3321199f019ba76bb650e346a6ef3616306eed67b0"}, - {file = "cffi-1.17.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aec510255ce690d240f7cb23d7114f6b351c733a74c279a84def763660a2c3bc"}, - {file = "cffi-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2770bb0d5e3cc0e31e7318db06efcbcdb7b31bcb1a70086d3177692a02256f59"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db9a30ec064129d605d0f1aedc93e00894b9334ec74ba9c6bdd08147434b33eb"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a47eef975d2b8b721775a0fa286f50eab535b9d56c70a6e62842134cf7841195"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3e0992f23bbb0be00a921eae5363329253c3b86287db27092461c887b791e5e"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6107e445faf057c118d5050560695e46d272e5301feffda3c41849641222a828"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb862356ee9391dc5a0b3cbc00f416b48c1b9a52d252d898e5b7696a5f9fe150"}, - {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c1c13185b90bbd3f8b5963cd8ce7ad4ff441924c31e23c975cb150e27c2bf67a"}, - {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17c6d6d3260c7f2d94f657e6872591fe8733872a86ed1345bda872cfc8c74885"}, - {file = "cffi-1.17.0-cp312-cp312-win32.whl", hash = "sha256:c3b8bd3133cd50f6b637bb4322822c94c5ce4bf0d724ed5ae70afce62187c492"}, - {file = "cffi-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:dca802c8db0720ce1c49cce1149ff7b06e91ba15fa84b1d59144fef1a1bc7ac2"}, - {file = "cffi-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ce01337d23884b21c03869d2f68c5523d43174d4fc405490eb0091057943118"}, - {file = "cffi-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cab2eba3830bf4f6d91e2d6718e0e1c14a2f5ad1af68a89d24ace0c6b17cced7"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14b9cbc8f7ac98a739558eb86fabc283d4d564dafed50216e7f7ee62d0d25377"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b00e7bcd71caa0282cbe3c90966f738e2db91e64092a877c3ff7f19a1628fdcb"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:41f4915e09218744d8bae14759f983e466ab69b178de38066f7579892ff2a555"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4760a68cab57bfaa628938e9c2971137e05ce48e762a9cb53b76c9b569f1204"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:011aff3524d578a9412c8b3cfaa50f2c0bd78e03eb7af7aa5e0df59b158efb2f"}, - {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:a003ac9edc22d99ae1286b0875c460351f4e101f8c9d9d2576e78d7e048f64e0"}, - {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ef9528915df81b8f4c7612b19b8628214c65c9b7f74db2e34a646a0a2a0da2d4"}, - {file = "cffi-1.17.0-cp313-cp313-win32.whl", hash = "sha256:70d2aa9fb00cf52034feac4b913181a6e10356019b18ef89bc7c12a283bf5f5a"}, - {file = "cffi-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:b7b6ea9e36d32582cda3465f54c4b454f62f23cb083ebc7a94e2ca6ef011c3a7"}, - {file = "cffi-1.17.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:964823b2fc77b55355999ade496c54dde161c621cb1f6eac61dc30ed1b63cd4c"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:516a405f174fd3b88829eabfe4bb296ac602d6a0f68e0d64d5ac9456194a5b7e"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dec6b307ce928e8e112a6bb9921a1cb00a0e14979bf28b98e084a4b8a742bd9b"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4094c7b464cf0a858e75cd14b03509e84789abf7b79f8537e6a72152109c76e"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2404f3de742f47cb62d023f0ba7c5a916c9c653d5b368cc966382ae4e57da401"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa9d43b02a0c681f0bfbc12d476d47b2b2b6a3f9287f11ee42989a268a1833c"}, - {file = "cffi-1.17.0-cp38-cp38-win32.whl", hash = "sha256:0bb15e7acf8ab35ca8b24b90af52c8b391690ef5c4aec3d31f38f0d37d2cc499"}, - {file = "cffi-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:93a7350f6706b31f457c1457d3a3259ff9071a66f312ae64dc024f049055f72c"}, - {file = "cffi-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1a2ddbac59dc3716bc79f27906c010406155031a1c801410f1bafff17ea304d2"}, - {file = "cffi-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6327b572f5770293fc062a7ec04160e89741e8552bf1c358d1a23eba68166759"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbc183e7bef690c9abe5ea67b7b60fdbca81aa8da43468287dae7b5c046107d4"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bdc0f1f610d067c70aa3737ed06e2726fd9d6f7bfee4a351f4c40b6831f4e82"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6d872186c1617d143969defeadac5a904e6e374183e07977eedef9c07c8953bf"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d46ee4764b88b91f16661a8befc6bfb24806d885e27436fdc292ed7e6f6d058"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f76a90c345796c01d85e6332e81cab6d70de83b829cf1d9762d0a3da59c7932"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0e60821d312f99d3e1569202518dddf10ae547e799d75aef3bca3a2d9e8ee693"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:eb09b82377233b902d4c3fbeeb7ad731cdab579c6c6fda1f763cd779139e47c3"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24658baf6224d8f280e827f0a50c46ad819ec8ba380a42448e24459daf809cf4"}, - {file = "cffi-1.17.0-cp39-cp39-win32.whl", hash = "sha256:0fdacad9e0d9fc23e519efd5ea24a70348305e8d7d85ecbb1a5fa66dc834e7fb"}, - {file = "cffi-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:7cbc78dc018596315d4e7841c8c3a7ae31cc4d638c9b627f87d52e8abaaf2d29"}, - {file = "cffi-1.17.0.tar.gz", hash = "sha256:f3157624b7558b914cb039fd1af735e5e8049a87c817cc215109ad1c8779df76"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] [package.dependencies] @@ -549,17 +568,6 @@ files = [ [package.dependencies] cirq-core = "1.3.0" -[[package]] -name = "cloudpickle" -version = "3.0.0" -description = "Pickler class to extend the standard pickle.Pickler functionality" -optional = false -python-versions = ">=3.8" -files = [ - {file = "cloudpickle-3.0.0-py3-none-any.whl", hash = "sha256:246ee7d0c295602a036e86369c77fecda4ab17b506496730f2f576d9016fd9c7"}, - {file = "cloudpickle-3.0.0.tar.gz", hash = "sha256:996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882"}, -] - [[package]] name = "cma" version = "3.4.0" @@ -589,6 +597,23 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] +[[package]] +name = "colorlog" +version = "6.8.2" +description = "Add colours to the output of Python's logging module." +optional = false +python-versions = ">=3.6" +files = [ + {file = "colorlog-6.8.2-py3-none-any.whl", hash = "sha256:4dcbb62368e2800cb3c5abd348da7e53f6c362dda502ec27c560b2e58a66bd33"}, + {file = "colorlog-6.8.2.tar.gz", hash = "sha256:3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} + +[package.extras] +development = ["black", "flake8", "mypy", "pytest", "types-colorama"] + [[package]] name = "comm" version = "0.2.2" @@ -622,66 +647,87 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] [[package]] name = "contourpy" -version = "1.2.1" +version = "1.3.0" description = "Python library for calculating contours of 2D quadrilateral grids" optional = false python-versions = ">=3.9" files = [ - {file = "contourpy-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040"}, - {file = "contourpy-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd"}, - {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480"}, - {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9"}, - {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da"}, - {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b"}, - {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd"}, - {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619"}, - {file = "contourpy-1.2.1-cp310-cp310-win32.whl", hash = "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8"}, - {file = "contourpy-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9"}, - {file = "contourpy-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6022cecf8f44e36af10bd9118ca71f371078b4c168b6e0fab43d4a889985dbb5"}, - {file = "contourpy-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef5adb9a3b1d0c645ff694f9bca7702ec2c70f4d734f9922ea34de02294fdf72"}, - {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6150ffa5c767bc6332df27157d95442c379b7dce3a38dff89c0f39b63275696f"}, - {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c863140fafc615c14a4bf4efd0f4425c02230eb8ef02784c9a156461e62c965"}, - {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00e5388f71c1a0610e6fe56b5c44ab7ba14165cdd6d695429c5cd94021e390b2"}, - {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4492d82b3bc7fbb7e3610747b159869468079fe149ec5c4d771fa1f614a14df"}, - {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49e70d111fee47284d9dd867c9bb9a7058a3c617274900780c43e38d90fe1205"}, - {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b59c0ffceff8d4d3996a45f2bb6f4c207f94684a96bf3d9728dbb77428dd8cb8"}, - {file = "contourpy-1.2.1-cp311-cp311-win32.whl", hash = "sha256:7b4182299f251060996af5249c286bae9361fa8c6a9cda5efc29fe8bfd6062ec"}, - {file = "contourpy-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2855c8b0b55958265e8b5888d6a615ba02883b225f2227461aa9127c578a4922"}, - {file = "contourpy-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:62828cada4a2b850dbef89c81f5a33741898b305db244904de418cc957ff05dc"}, - {file = "contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:309be79c0a354afff9ff7da4aaed7c3257e77edf6c1b448a779329431ee79d7e"}, - {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e785e0f2ef0d567099b9ff92cbfb958d71c2d5b9259981cd9bee81bd194c9a4"}, - {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cac0a8f71a041aa587410424ad46dfa6a11f6149ceb219ce7dd48f6b02b87a7"}, - {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af3f4485884750dddd9c25cb7e3915d83c2db92488b38ccb77dd594eac84c4a0"}, - {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce6889abac9a42afd07a562c2d6d4b2b7134f83f18571d859b25624a331c90b"}, - {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a1eea9aecf761c661d096d39ed9026574de8adb2ae1c5bd7b33558af884fb2ce"}, - {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:187fa1d4c6acc06adb0fae5544c59898ad781409e61a926ac7e84b8f276dcef4"}, - {file = "contourpy-1.2.1-cp312-cp312-win32.whl", hash = "sha256:c2528d60e398c7c4c799d56f907664673a807635b857df18f7ae64d3e6ce2d9f"}, - {file = "contourpy-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:1a07fc092a4088ee952ddae19a2b2a85757b923217b7eed584fdf25f53a6e7ce"}, - {file = "contourpy-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb6834cbd983b19f06908b45bfc2dad6ac9479ae04abe923a275b5f48f1a186b"}, - {file = "contourpy-1.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1d59e739ab0e3520e62a26c60707cc3ab0365d2f8fecea74bfe4de72dc56388f"}, - {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd3db01f59fdcbce5b22afad19e390260d6d0222f35a1023d9adc5690a889364"}, - {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a12a813949e5066148712a0626895c26b2578874e4cc63160bb007e6df3436fe"}, - {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe0ccca550bb8e5abc22f530ec0466136379c01321fd94f30a22231e8a48d985"}, - {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1d59258c3c67c865435d8fbeb35f8c59b8bef3d6f46c1f29f6123556af28445"}, - {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f32c38afb74bd98ce26de7cc74a67b40afb7b05aae7b42924ea990d51e4dac02"}, - {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d31a63bc6e6d87f77d71e1abbd7387ab817a66733734883d1fc0021ed9bfa083"}, - {file = "contourpy-1.2.1-cp39-cp39-win32.whl", hash = "sha256:ddcb8581510311e13421b1f544403c16e901c4e8f09083c881fab2be80ee31ba"}, - {file = "contourpy-1.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:10a37ae557aabf2509c79715cd20b62e4c7c28b8cd62dd7d99e5ed3ce28c3fd9"}, - {file = "contourpy-1.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609"}, - {file = "contourpy-1.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3"}, - {file = "contourpy-1.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f"}, - {file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"}, + {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"}, + {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"}, + {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"}, + {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"}, + {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"}, + {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"}, + {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"}, + {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"}, + {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"}, + {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"}, + {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"}, + {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"}, + {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"}, ] [package.dependencies] -numpy = ">=1.20" +numpy = ">=1.23" [package.extras] bokeh = ["bokeh", "selenium"] docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.8.0)", "types-Pillow"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"] test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] -test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"] +test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] [[package]] name = "cotengra" @@ -1230,13 +1276,13 @@ test = ["pytest (>=6)"] [[package]] name = "executing" -version = "2.0.1" +version = "2.1.0" description = "Get the currently executing AST node of a frame, and other information" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"}, - {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"}, + {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, + {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, ] [package.extras] @@ -1357,19 +1403,19 @@ files = [ [[package]] name = "filelock" -version = "3.15.4" +version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, - {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-asyncio (>=0.21)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)", "virtualenv (>=20.26.2)"] -typing = ["typing-extensions (>=4.8)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] +typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "flatbuffers" @@ -1449,13 +1495,13 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] [[package]] name = "fsspec" -version = "2024.6.1" +version = "2024.9.0" description = "File-system specification" optional = false python-versions = ">=3.8" files = [ - {file = "fsspec-2024.6.1-py3-none-any.whl", hash = "sha256:3cb443f8bcd2efb31295a5b9fdb02aee81d8452c80d28f97a6d0959e6cee101e"}, - {file = "fsspec-2024.6.1.tar.gz", hash = "sha256:fad7d7e209dd4c1208e3bbfda706620e0da5142bebbd9c384afb95b07e798e49"}, + {file = "fsspec-2024.9.0-py3-none-any.whl", hash = "sha256:a0947d552d8a6efa72cc2c730b12c41d043509156966cca4fb157b0f2a0c574b"}, + {file = "fsspec-2024.9.0.tar.gz", hash = "sha256:4b0afb90c2f21832df142f292649035d80b421f60a9e1c027802e5a0da2b04e8"}, ] [package.extras] @@ -1503,17 +1549,6 @@ pygments = ">=2.7" sphinx = ">=5.0,<7.0" sphinx-basic-ng = "*" -[[package]] -name = "future" -version = "1.0.0" -description = "Clean single-source support for Python 3 and 2" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "future-1.0.0-py3-none-any.whl", hash = "sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216"}, - {file = "future-1.0.0.tar.gz", hash = "sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05"}, -] - [[package]] name = "gast" version = "0.6.0" @@ -1527,13 +1562,13 @@ files = [ [[package]] name = "google-api-core" -version = "2.19.1" +version = "2.19.2" description = "Google API client core library" optional = false python-versions = ">=3.7" files = [ - {file = "google-api-core-2.19.1.tar.gz", hash = "sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd"}, - {file = "google_api_core-2.19.1-py3-none-any.whl", hash = "sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125"}, + {file = "google_api_core-2.19.2-py3-none-any.whl", hash = "sha256:53ec0258f2837dd53bbd3d3df50f5359281b3cc13f800c941dd15a9b5a415af4"}, + {file = "google_api_core-2.19.2.tar.gz", hash = "sha256:ca07de7e8aa1c98a8bfca9321890ad2340ef7f2eb136e558cee68f24b94b0a8f"}, ] [package.dependencies] @@ -1558,13 +1593,13 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] [[package]] name = "google-auth" -version = "2.33.0" +version = "2.34.0" description = "Google Authentication Library" optional = false python-versions = ">=3.7" files = [ - {file = "google_auth-2.33.0-py2.py3-none-any.whl", hash = "sha256:8eff47d0d4a34ab6265c50a106a3362de6a9975bb08998700e389f857e4d39df"}, - {file = "google_auth-2.33.0.tar.gz", hash = "sha256:d6a52342160d7290e334b4d47ba390767e4438ad0d45b7630774533e82655b95"}, + {file = "google_auth-2.34.0-py2.py3-none-any.whl", hash = "sha256:72fd4733b80b6d777dcde515628a9eb4a577339437012874ea286bca7261ee65"}, + {file = "google_auth-2.34.0.tar.gz", hash = "sha256:8eb87396435c19b20d32abd2f984e31c191a15284af72eb922f10e5bde9c04cc"}, ] [package.dependencies] @@ -1574,7 +1609,7 @@ rsa = ">=3.1.4,<5" [package.extras] aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] -enterprise-cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"] +enterprise-cert = ["cryptography", "pyopenssl"] pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] requests = ["requests (>=2.20.0,<3.0.0.dev0)"] @@ -1596,13 +1631,13 @@ six = "*" [[package]] name = "googleapis-common-protos" -version = "1.63.2" +version = "1.65.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" files = [ - {file = "googleapis-common-protos-1.63.2.tar.gz", hash = "sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87"}, - {file = "googleapis_common_protos-1.63.2-py2.py3-none-any.whl", hash = "sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945"}, + {file = "googleapis_common_protos-1.65.0-py2.py3-none-any.whl", hash = "sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63"}, + {file = "googleapis_common_protos-1.65.0.tar.gz", hash = "sha256:334a29d07cddc3aa01dee4988f9afd9b2916ee2ff49d6b757155dc0d197852c0"}, ] [package.dependencies] @@ -1611,63 +1646,142 @@ protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4 [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] +[[package]] +name = "greenlet" +version = "3.1.0" +description = "Lightweight in-process concurrent programming" +optional = false +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a814dc3100e8a046ff48faeaa909e80cdb358411a3d6dd5293158425c684eda8"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a771dc64fa44ebe58d65768d869fcfb9060169d203446c1d446e844b62bdfdca"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0e49a65d25d7350cca2da15aac31b6f67a43d867448babf997fe83c7505f57bc"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2cd8518eade968bc52262d8c46727cfc0826ff4d552cf0430b8d65aaf50bb91d"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76dc19e660baea5c38e949455c1181bc018893f25372d10ffe24b3ed7341fb25"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c0a5b1c22c82831f56f2f7ad9bbe4948879762fe0d59833a4a71f16e5fa0f682"}, + {file = "greenlet-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2651dfb006f391bcb240635079a68a261b227a10a08af6349cba834a2141efa1"}, + {file = "greenlet-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3e7e6ef1737a819819b1163116ad4b48d06cfdd40352d813bb14436024fcda99"}, + {file = "greenlet-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:ffb08f2a1e59d38c7b8b9ac8083c9c8b9875f0955b1e9b9b9a965607a51f8e54"}, + {file = "greenlet-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9730929375021ec90f6447bff4f7f5508faef1c02f399a1953870cdb78e0c345"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:713d450cf8e61854de9420fb7eea8ad228df4e27e7d4ed465de98c955d2b3fa6"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c3446937be153718250fe421da548f973124189f18fe4575a0510b5c928f0cc"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ddc7bcedeb47187be74208bc652d63d6b20cb24f4e596bd356092d8000da6d6"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44151d7b81b9391ed759a2f2865bbe623ef00d648fed59363be2bbbd5154656f"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cea1cca3be76c9483282dc7760ea1cc08a6ecec1f0b6ca0a94ea0d17432da19"}, + {file = "greenlet-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:619935a44f414274a2c08c9e74611965650b730eb4efe4b2270f91df5e4adf9a"}, + {file = "greenlet-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:221169d31cada333a0c7fd087b957c8f431c1dba202c3a58cf5a3583ed973e9b"}, + {file = "greenlet-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:01059afb9b178606b4b6e92c3e710ea1635597c3537e44da69f4531e111dd5e9"}, + {file = "greenlet-3.1.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:24fc216ec7c8be9becba8b64a98a78f9cd057fd2dc75ae952ca94ed8a893bf27"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d07c28b85b350564bdff9f51c1c5007dfb2f389385d1bc23288de51134ca303"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:243a223c96a4246f8a30ea470c440fe9db1f5e444941ee3c3cd79df119b8eebf"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26811df4dc81271033a7836bc20d12cd30938e6bd2e9437f56fa03da81b0f8fc"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9d86401550b09a55410f32ceb5fe7efcd998bd2dad9e82521713cb148a4a15f"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:26d9c1c4f1748ccac0bae1dbb465fb1a795a75aba8af8ca871503019f4285e2a"}, + {file = "greenlet-3.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:cd468ec62257bb4544989402b19d795d2305eccb06cde5da0eb739b63dc04665"}, + {file = "greenlet-3.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a53dfe8f82b715319e9953330fa5c8708b610d48b5c59f1316337302af5c0811"}, + {file = "greenlet-3.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:28fe80a3eb673b2d5cc3b12eea468a5e5f4603c26aa34d88bf61bba82ceb2f9b"}, + {file = "greenlet-3.1.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:76b3e3976d2a452cba7aa9e453498ac72240d43030fdc6d538a72b87eaff52fd"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655b21ffd37a96b1e78cc48bf254f5ea4b5b85efaf9e9e2a526b3c9309d660ca"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c6f4c2027689093775fd58ca2388d58789009116844432d920e9147f91acbe64"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:76e5064fd8e94c3f74d9fd69b02d99e3cdb8fc286ed49a1f10b256e59d0d3a0b"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a4bf607f690f7987ab3291406e012cd8591a4f77aa54f29b890f9c331e84989"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:037d9ac99540ace9424cb9ea89f0accfaff4316f149520b4ae293eebc5bded17"}, + {file = "greenlet-3.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:90b5bbf05fe3d3ef697103850c2ce3374558f6fe40fd57c9fac1bf14903f50a5"}, + {file = "greenlet-3.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:726377bd60081172685c0ff46afbc600d064f01053190e4450857483c4d44484"}, + {file = "greenlet-3.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:d46d5069e2eeda111d6f71970e341f4bd9aeeee92074e649ae263b834286ecc0"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81eeec4403a7d7684b5812a8aaa626fa23b7d0848edb3a28d2eb3220daddcbd0"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a3dae7492d16e85ea6045fd11cb8e782b63eac8c8d520c3a92c02ac4573b0a6"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b5ea3664eed571779403858d7cd0a9b0ebf50d57d2cdeafc7748e09ef8cd81a"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22f4e26400f7f48faef2d69c20dc055a1f3043d330923f9abe08ea0aecc44df"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13ff8c8e54a10472ce3b2a2da007f915175192f18e6495bad50486e87c7f6637"}, + {file = "greenlet-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f9671e7282d8c6fcabc32c0fb8d7c0ea8894ae85cee89c9aadc2d7129e1a9954"}, + {file = "greenlet-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:184258372ae9e1e9bddce6f187967f2e08ecd16906557c4320e3ba88a93438c3"}, + {file = "greenlet-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:a0409bc18a9f85321399c29baf93545152d74a49d92f2f55302f122007cfda00"}, + {file = "greenlet-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9eb4a1d7399b9f3c7ac68ae6baa6be5f9195d1d08c9ddc45ad559aa6b556bce6"}, + {file = "greenlet-3.1.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:a8870983af660798dc1b529e1fd6f1cefd94e45135a32e58bd70edd694540f33"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfcfb73aed40f550a57ea904629bdaf2e562c68fa1164fa4588e752af6efdc3f"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9482c2ed414781c0af0b35d9d575226da6b728bd1a720668fa05837184965b7"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d58ec349e0c2c0bc6669bf2cd4982d2f93bf067860d23a0ea1fe677b0f0b1e09"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd65695a8df1233309b701dec2539cc4b11e97d4fcc0f4185b4a12ce54db0491"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:665b21e95bc0fce5cab03b2e1d90ba9c66c510f1bb5fdc864f3a377d0f553f6b"}, + {file = "greenlet-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3c59a06c2c28a81a026ff11fbf012081ea34fb9b7052f2ed0366e14896f0a1d"}, + {file = "greenlet-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5415b9494ff6240b09af06b91a375731febe0090218e2898d2b85f9b92abcda0"}, + {file = "greenlet-3.1.0-cp38-cp38-win32.whl", hash = "sha256:1544b8dd090b494c55e60c4ff46e238be44fdc472d2589e943c241e0169bcea2"}, + {file = "greenlet-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:7f346d24d74c00b6730440f5eb8ec3fe5774ca8d1c9574e8e57c8671bb51b910"}, + {file = "greenlet-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:db1b3ccb93488328c74e97ff888604a8b95ae4f35f4f56677ca57a4fc3a4220b"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44cd313629ded43bb3b98737bba2f3e2c2c8679b55ea29ed73daea6b755fe8e7"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fad7a051e07f64e297e6e8399b4d6a3bdcad3d7297409e9a06ef8cbccff4f501"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3967dcc1cd2ea61b08b0b276659242cbce5caca39e7cbc02408222fb9e6ff39"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d45b75b0f3fd8d99f62eb7908cfa6d727b7ed190737dec7fe46d993da550b81a"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2d004db911ed7b6218ec5c5bfe4cf70ae8aa2223dffbb5b3c69e342bb253cb28"}, + {file = "greenlet-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9505a0c8579899057cbefd4ec34d865ab99852baf1ff33a9481eb3924e2da0b"}, + {file = "greenlet-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fd6e94593f6f9714dbad1aaba734b5ec04593374fa6638df61592055868f8b8"}, + {file = "greenlet-3.1.0-cp39-cp39-win32.whl", hash = "sha256:d0dd943282231480aad5f50f89bdf26690c995e8ff555f26d8a5b9887b559bcc"}, + {file = "greenlet-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:ac0adfdb3a21dc2a24ed728b61e72440d297d0fd3a577389df566651fcd08f97"}, + {file = "greenlet-3.1.0.tar.gz", hash = "sha256:b395121e9bbe8d02a750886f108d540abe66075e61e22f7353d9acb0b81be0f0"}, +] + +[package.extras] +docs = ["Sphinx", "furo"] +test = ["objgraph", "psutil"] + [[package]] name = "grpcio" -version = "1.65.4" +version = "1.66.1" description = "HTTP/2-based RPC framework" optional = false python-versions = ">=3.8" files = [ - {file = "grpcio-1.65.4-cp310-cp310-linux_armv7l.whl", hash = "sha256:0e85c8766cf7f004ab01aff6a0393935a30d84388fa3c58d77849fcf27f3e98c"}, - {file = "grpcio-1.65.4-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:e4a795c02405c7dfa8affd98c14d980f4acea16ea3b539e7404c645329460e5a"}, - {file = "grpcio-1.65.4-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:d7b984a8dd975d949c2042b9b5ebcf297d6d5af57dcd47f946849ee15d3c2fb8"}, - {file = "grpcio-1.65.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:644a783ce604a7d7c91412bd51cf9418b942cf71896344b6dc8d55713c71ce82"}, - {file = "grpcio-1.65.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5764237d751d3031a36fafd57eb7d36fd2c10c658d2b4057c516ccf114849a3e"}, - {file = "grpcio-1.65.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ee40d058cf20e1dd4cacec9c39e9bce13fedd38ce32f9ba00f639464fcb757de"}, - {file = "grpcio-1.65.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4482a44ce7cf577a1f8082e807a5b909236bce35b3e3897f839f2fbd9ae6982d"}, - {file = "grpcio-1.65.4-cp310-cp310-win32.whl", hash = "sha256:66bb051881c84aa82e4f22d8ebc9d1704b2e35d7867757f0740c6ef7b902f9b1"}, - {file = "grpcio-1.65.4-cp310-cp310-win_amd64.whl", hash = "sha256:870370524eff3144304da4d1bbe901d39bdd24f858ce849b7197e530c8c8f2ec"}, - {file = "grpcio-1.65.4-cp311-cp311-linux_armv7l.whl", hash = "sha256:85e9c69378af02e483bc626fc19a218451b24a402bdf44c7531e4c9253fb49ef"}, - {file = "grpcio-1.65.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2bd672e005afab8bf0d6aad5ad659e72a06dd713020554182a66d7c0c8f47e18"}, - {file = "grpcio-1.65.4-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:abccc5d73f5988e8f512eb29341ed9ced923b586bb72e785f265131c160231d8"}, - {file = "grpcio-1.65.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:886b45b29f3793b0c2576201947258782d7e54a218fe15d4a0468d9a6e00ce17"}, - {file = "grpcio-1.65.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be952436571dacc93ccc7796db06b7daf37b3b56bb97e3420e6503dccfe2f1b4"}, - {file = "grpcio-1.65.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:8dc9ddc4603ec43f6238a5c95400c9a901b6d079feb824e890623da7194ff11e"}, - {file = "grpcio-1.65.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ade1256c98cba5a333ef54636095f2c09e6882c35f76acb04412f3b1aa3c29a5"}, - {file = "grpcio-1.65.4-cp311-cp311-win32.whl", hash = "sha256:280e93356fba6058cbbfc6f91a18e958062ef1bdaf5b1caf46c615ba1ae71b5b"}, - {file = "grpcio-1.65.4-cp311-cp311-win_amd64.whl", hash = "sha256:d2b819f9ee27ed4e3e737a4f3920e337e00bc53f9e254377dd26fc7027c4d558"}, - {file = "grpcio-1.65.4-cp312-cp312-linux_armv7l.whl", hash = "sha256:926a0750a5e6fb002542e80f7fa6cab8b1a2ce5513a1c24641da33e088ca4c56"}, - {file = "grpcio-1.65.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:2a1d4c84d9e657f72bfbab8bedf31bdfc6bfc4a1efb10b8f2d28241efabfaaf2"}, - {file = "grpcio-1.65.4-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:17de4fda50967679677712eec0a5c13e8904b76ec90ac845d83386b65da0ae1e"}, - {file = "grpcio-1.65.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dee50c1b69754a4228e933696408ea87f7e896e8d9797a3ed2aeed8dbd04b74"}, - {file = "grpcio-1.65.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74c34fc7562bdd169b77966068434a93040bfca990e235f7a67cdf26e1bd5c63"}, - {file = "grpcio-1.65.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:24a2246e80a059b9eb981e4c2a6d8111b1b5e03a44421adbf2736cc1d4988a8a"}, - {file = "grpcio-1.65.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:18c10f0d054d2dce34dd15855fcca7cc44ec3b811139437543226776730c0f28"}, - {file = "grpcio-1.65.4-cp312-cp312-win32.whl", hash = "sha256:d72962788b6c22ddbcdb70b10c11fbb37d60ae598c51eb47ec019db66ccfdff0"}, - {file = "grpcio-1.65.4-cp312-cp312-win_amd64.whl", hash = "sha256:7656376821fed8c89e68206a522522317787a3d9ed66fb5110b1dff736a5e416"}, - {file = "grpcio-1.65.4-cp38-cp38-linux_armv7l.whl", hash = "sha256:4934077b33aa6fe0b451de8b71dabde96bf2d9b4cb2b3187be86e5adebcba021"}, - {file = "grpcio-1.65.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0cef8c919a3359847c357cb4314e50ed1f0cca070f828ee8f878d362fd744d52"}, - {file = "grpcio-1.65.4-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:a925446e6aa12ca37114840d8550f308e29026cdc423a73da3043fd1603a6385"}, - {file = "grpcio-1.65.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf53e6247f1e2af93657e62e240e4f12e11ee0b9cef4ddcb37eab03d501ca864"}, - {file = "grpcio-1.65.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdb34278e4ceb224c89704cd23db0d902e5e3c1c9687ec9d7c5bb4c150f86816"}, - {file = "grpcio-1.65.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e6cbdd107e56bde55c565da5fd16f08e1b4e9b0674851d7749e7f32d8645f524"}, - {file = "grpcio-1.65.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:626319a156b1f19513156a3b0dbfe977f5f93db63ca673a0703238ebd40670d7"}, - {file = "grpcio-1.65.4-cp38-cp38-win32.whl", hash = "sha256:3d1bbf7e1dd1096378bd83c83f554d3b93819b91161deaf63e03b7022a85224a"}, - {file = "grpcio-1.65.4-cp38-cp38-win_amd64.whl", hash = "sha256:a99e6dffefd3027b438116f33ed1261c8d360f0dd4f943cb44541a2782eba72f"}, - {file = "grpcio-1.65.4-cp39-cp39-linux_armv7l.whl", hash = "sha256:874acd010e60a2ec1e30d5e505b0651ab12eb968157cd244f852b27c6dbed733"}, - {file = "grpcio-1.65.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b07f36faf01fca5427d4aa23645e2d492157d56c91fab7e06fe5697d7e171ad4"}, - {file = "grpcio-1.65.4-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:b81711bf4ec08a3710b534e8054c7dcf90f2edc22bebe11c1775a23f145595fe"}, - {file = "grpcio-1.65.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88fcabc332a4aef8bcefadc34a02e9ab9407ab975d2c7d981a8e12c1aed92aa1"}, - {file = "grpcio-1.65.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9ba3e63108a8749994f02c7c0e156afb39ba5bdf755337de8e75eb685be244b"}, - {file = "grpcio-1.65.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8eb485801957a486bf5de15f2c792d9f9c897a86f2f18db8f3f6795a094b4bb2"}, - {file = "grpcio-1.65.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:075f3903bc1749ace93f2b0664f72964ee5f2da5c15d4b47e0ab68e4f442c257"}, - {file = "grpcio-1.65.4-cp39-cp39-win32.whl", hash = "sha256:0a0720299bdb2cc7306737295d56e41ce8827d5669d4a3cd870af832e3b17c4d"}, - {file = "grpcio-1.65.4-cp39-cp39-win_amd64.whl", hash = "sha256:a146bc40fa78769f22e1e9ff4f110ef36ad271b79707577bf2a31e3e931141b9"}, - {file = "grpcio-1.65.4.tar.gz", hash = "sha256:2a4f476209acffec056360d3e647ae0e14ae13dcf3dfb130c227ae1c594cbe39"}, + {file = "grpcio-1.66.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:4877ba180591acdf127afe21ec1c7ff8a5ecf0fe2600f0d3c50e8c4a1cbc6492"}, + {file = "grpcio-1.66.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:3750c5a00bd644c75f4507f77a804d0189d97a107eb1481945a0cf3af3e7a5ac"}, + {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:a013c5fbb12bfb5f927444b477a26f1080755a931d5d362e6a9a720ca7dbae60"}, + {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b1b24c23d51a1e8790b25514157d43f0a4dce1ac12b3f0b8e9f66a5e2c4c132f"}, + {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7ffb8ea674d68de4cac6f57d2498fef477cef582f1fa849e9f844863af50083"}, + {file = "grpcio-1.66.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:307b1d538140f19ccbd3aed7a93d8f71103c5d525f3c96f8616111614b14bf2a"}, + {file = "grpcio-1.66.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1c17ebcec157cfb8dd445890a03e20caf6209a5bd4ac5b040ae9dbc59eef091d"}, + {file = "grpcio-1.66.1-cp310-cp310-win32.whl", hash = "sha256:ef82d361ed5849d34cf09105d00b94b6728d289d6b9235513cb2fcc79f7c432c"}, + {file = "grpcio-1.66.1-cp310-cp310-win_amd64.whl", hash = "sha256:292a846b92cdcd40ecca46e694997dd6b9be6c4c01a94a0dfb3fcb75d20da858"}, + {file = "grpcio-1.66.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:c30aeceeaff11cd5ddbc348f37c58bcb96da8d5aa93fed78ab329de5f37a0d7a"}, + {file = "grpcio-1.66.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8a1e224ce6f740dbb6b24c58f885422deebd7eb724aff0671a847f8951857c26"}, + {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:a66fe4dc35d2330c185cfbb42959f57ad36f257e0cc4557d11d9f0a3f14311df"}, + {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3ba04659e4fce609de2658fe4dbf7d6ed21987a94460f5f92df7579fd5d0e22"}, + {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4573608e23f7e091acfbe3e84ac2045680b69751d8d67685ffa193a4429fedb1"}, + {file = "grpcio-1.66.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7e06aa1f764ec8265b19d8f00140b8c4b6ca179a6dc67aa9413867c47e1fb04e"}, + {file = "grpcio-1.66.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3885f037eb11f1cacc41f207b705f38a44b69478086f40608959bf5ad85826dd"}, + {file = "grpcio-1.66.1-cp311-cp311-win32.whl", hash = "sha256:97ae7edd3f3f91480e48ede5d3e7d431ad6005bfdbd65c1b56913799ec79e791"}, + {file = "grpcio-1.66.1-cp311-cp311-win_amd64.whl", hash = "sha256:cfd349de4158d797db2bd82d2020554a121674e98fbe6b15328456b3bf2495bb"}, + {file = "grpcio-1.66.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:a92c4f58c01c77205df6ff999faa008540475c39b835277fb8883b11cada127a"}, + {file = "grpcio-1.66.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:fdb14bad0835914f325349ed34a51940bc2ad965142eb3090081593c6e347be9"}, + {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:f03a5884c56256e08fd9e262e11b5cfacf1af96e2ce78dc095d2c41ccae2c80d"}, + {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ca2559692d8e7e245d456877a85ee41525f3ed425aa97eb7a70fc9a79df91a0"}, + {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ca1be089fb4446490dd1135828bd42a7c7f8421e74fa581611f7afdf7ab761"}, + {file = "grpcio-1.66.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d639c939ad7c440c7b2819a28d559179a4508783f7e5b991166f8d7a34b52815"}, + {file = "grpcio-1.66.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b9feb4e5ec8dc2d15709f4d5fc367794d69277f5d680baf1910fc9915c633524"}, + {file = "grpcio-1.66.1-cp312-cp312-win32.whl", hash = "sha256:7101db1bd4cd9b880294dec41a93fcdce465bdbb602cd8dc5bd2d6362b618759"}, + {file = "grpcio-1.66.1-cp312-cp312-win_amd64.whl", hash = "sha256:b0aa03d240b5539648d996cc60438f128c7f46050989e35b25f5c18286c86734"}, + {file = "grpcio-1.66.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:ecfe735e7a59e5a98208447293ff8580e9db1e890e232b8b292dc8bd15afc0d2"}, + {file = "grpcio-1.66.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:4825a3aa5648010842e1c9d35a082187746aa0cdbf1b7a2a930595a94fb10fce"}, + {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:f517fd7259fe823ef3bd21e508b653d5492e706e9f0ef82c16ce3347a8a5620c"}, + {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1fe60d0772831d96d263b53d83fb9a3d050a94b0e94b6d004a5ad111faa5b5b"}, + {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31a049daa428f928f21090403e5d18ea02670e3d5d172581670be006100db9ef"}, + {file = "grpcio-1.66.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f914386e52cbdeb5d2a7ce3bf1fdfacbe9d818dd81b6099a05b741aaf3848bb"}, + {file = "grpcio-1.66.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bff2096bdba686019fb32d2dde45b95981f0d1490e054400f70fc9a8af34b49d"}, + {file = "grpcio-1.66.1-cp38-cp38-win32.whl", hash = "sha256:aa8ba945c96e73de29d25331b26f3e416e0c0f621e984a3ebdb2d0d0b596a3b3"}, + {file = "grpcio-1.66.1-cp38-cp38-win_amd64.whl", hash = "sha256:161d5c535c2bdf61b95080e7f0f017a1dfcb812bf54093e71e5562b16225b4ce"}, + {file = "grpcio-1.66.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:d0cd7050397b3609ea51727b1811e663ffda8bda39c6a5bb69525ef12414b503"}, + {file = "grpcio-1.66.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0e6c9b42ded5d02b6b1fea3a25f036a2236eeb75d0579bfd43c0018c88bf0a3e"}, + {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:c9f80f9fad93a8cf71c7f161778ba47fd730d13a343a46258065c4deb4b550c0"}, + {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dd67ed9da78e5121efc5c510f0122a972216808d6de70953a740560c572eb44"}, + {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48b0d92d45ce3be2084b92fb5bae2f64c208fea8ceed7fccf6a7b524d3c4942e"}, + {file = "grpcio-1.66.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4d813316d1a752be6f5c4360c49f55b06d4fe212d7df03253dfdae90c8a402bb"}, + {file = "grpcio-1.66.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9c9bebc6627873ec27a70fc800f6083a13c70b23a5564788754b9ee52c5aef6c"}, + {file = "grpcio-1.66.1-cp39-cp39-win32.whl", hash = "sha256:30a1c2cf9390c894c90bbc70147f2372130ad189cffef161f0432d0157973f45"}, + {file = "grpcio-1.66.1-cp39-cp39-win_amd64.whl", hash = "sha256:17663598aadbedc3cacd7bbde432f541c8e07d2496564e22b214b22c7523dac8"}, + {file = "grpcio-1.66.1.tar.gz", hash = "sha256:35334f9c9745add3e357e3372756fd32d925bd52c41da97f4dfdafbde0bf0ee2"}, ] [package.extras] -protobuf = ["grpcio-tools (>=1.65.4)"] +protobuf = ["grpcio-tools (>=1.66.1)"] [[package]] name = "grpcio-status" @@ -1687,18 +1801,18 @@ protobuf = ">=4.21.6" [[package]] name = "grpcio-status" -version = "1.65.4" +version = "1.66.1" description = "Status proto mapping for gRPC" optional = false python-versions = ">=3.8" files = [ - {file = "grpcio_status-1.65.4-py3-none-any.whl", hash = "sha256:09dd3d84d1a3164940b1d8ed2177688cd8d25a423b1f5ad826b393653ea3de01"}, - {file = "grpcio_status-1.65.4.tar.gz", hash = "sha256:1803968c4f14d81b4b156f6f2b54e6959bac4f40b0a6ca2bd4c169978438b9dc"}, + {file = "grpcio_status-1.66.1-py3-none-any.whl", hash = "sha256:cf9ed0b4a83adbe9297211c95cb5488b0cd065707e812145b842c85c4782ff02"}, + {file = "grpcio_status-1.66.1.tar.gz", hash = "sha256:b3f7d34ccc46d83fea5261eea3786174459f763c31f6e34f1d24eba6d515d024"}, ] [package.dependencies] googleapis-common-protos = ">=1.5.5" -grpcio = ">=1.65.4" +grpcio = ">=1.66.1" protobuf = ">=5.26.1,<6.0dev" [[package]] @@ -1789,44 +1903,20 @@ cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<13)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] -[[package]] -name = "hyperopt" -version = "0.2.7" -description = "Distributed Asynchronous Hyperparameter Optimization" -optional = false -python-versions = "*" -files = [ - {file = "hyperopt-0.2.7-py2.py3-none-any.whl", hash = "sha256:f3046d91fe4167dbf104365016596856b2524a609d22f047a066fc1ac796427c"}, - {file = "hyperopt-0.2.7.tar.gz", hash = "sha256:1bf89ae58050bbd32c7307199046117feee245c2fd9ab6255c7308522b7ca149"}, -] - -[package.dependencies] -cloudpickle = "*" -future = "*" -networkx = ">=2.2" -numpy = "*" -py4j = "*" -scipy = "*" -six = "*" -tqdm = "*" - -[package.extras] -atpe = ["lightgbm", "scikit-learn"] -dev = ["black", "nose", "pre-commit", "pytest"] -mongotrials = ["pymongo"] -sparktrials = ["pyspark"] - [[package]] name = "idna" -version = "3.7" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "imagesize" version = "1.4.1" @@ -1840,40 +1930,48 @@ files = [ [[package]] name = "importlib-metadata" -version = "8.2.0" +version = "8.5.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-8.2.0-py3-none-any.whl", hash = "sha256:11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369"}, - {file = "importlib_metadata-8.2.0.tar.gz", hash = "sha256:72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d"}, + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] [package.dependencies] -zipp = ">=0.5" +zipp = ">=3.20" [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] [[package]] name = "importlib-resources" -version = "6.4.2" +version = "6.4.5" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.4.2-py3-none-any.whl", hash = "sha256:8bba8c54a8a3afaa1419910845fa26ebd706dc716dd208d9b158b4b6966f5c5c"}, - {file = "importlib_resources-6.4.2.tar.gz", hash = "sha256:6cbfbefc449cc6e2095dd184691b7a12a04f40bc75dd4c55d31c34f174cdf57a"}, + {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, + {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] +type = ["pytest-mypy"] [[package]] name = "iniconfig" @@ -1972,21 +2070,21 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pa [[package]] name = "ipywidgets" -version = "8.1.3" +version = "8.1.5" description = "Jupyter interactive widgets" optional = false python-versions = ">=3.7" files = [ - {file = "ipywidgets-8.1.3-py3-none-any.whl", hash = "sha256:efafd18f7a142248f7cb0ba890a68b96abd4d6e88ddbda483c9130d12667eaf2"}, - {file = "ipywidgets-8.1.3.tar.gz", hash = "sha256:f5f9eeaae082b1823ce9eac2575272952f40d748893972956dc09700a6392d9c"}, + {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, + {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, ] [package.dependencies] comm = ">=0.1.3" ipython = ">=6.1.0" -jupyterlab-widgets = ">=3.0.11,<3.1.0" +jupyterlab-widgets = ">=3.0.12,<3.1.0" traitlets = ">=4.3.1" -widgetsnbextension = ">=4.0.11,<4.1.0" +widgetsnbextension = ">=4.0.12,<4.1.0" [package.extras] test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] @@ -2084,13 +2182,13 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jupyter-client" -version = "8.6.2" +version = "8.6.3" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_client-8.6.2-py3-none-any.whl", hash = "sha256:50cbc5c66fd1b8f65ecb66bc490ab73217993632809b6e505687de18e9dea39f"}, - {file = "jupyter_client-8.6.2.tar.gz", hash = "sha256:2bda14d55ee5ba58552a8c53ae43d215ad9868853489213f37da060ced54d8df"}, + {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, + {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, ] [package.dependencies] @@ -2138,13 +2236,13 @@ files = [ [[package]] name = "jupyterlab-widgets" -version = "3.0.11" +version = "3.0.13" description = "Jupyter interactive widgets for JupyterLab" optional = false python-versions = ">=3.7" files = [ - {file = "jupyterlab_widgets-3.0.11-py3-none-any.whl", hash = "sha256:78287fd86d20744ace330a61625024cf5521e1c012a352ddc0a3cdc2348becd0"}, - {file = "jupyterlab_widgets-3.0.11.tar.gz", hash = "sha256:dd5ac679593c969af29c9bed054c24f26842baa51352114736756bc035deee27"}, + {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, + {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, ] [[package]] @@ -2170,115 +2268,125 @@ rich = "*" [[package]] name = "kiwisolver" -version = "1.4.5" +version = "1.4.7" description = "A fast implementation of the Cassowary constraint solver" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"}, - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"}, - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"}, - {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"}, - {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"}, - {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"}, - {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"}, - {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"}, - {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"}, - {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"}, - {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"}, - {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"}, - {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"}, - {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0"}, + {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] [[package]] @@ -2356,15 +2464,34 @@ files = [ {file = "llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5"}, ] +[[package]] +name = "mako" +version = "1.3.5" +description = "A super-fast templating language that borrows the best ideas from the existing templating languages." +optional = false +python-versions = ">=3.8" +files = [ + {file = "Mako-1.3.5-py3-none-any.whl", hash = "sha256:260f1dbc3a519453a9c856dedfe4beb4e50bd5a26d96386cb6c80856556bb91a"}, + {file = "Mako-1.3.5.tar.gz", hash = "sha256:48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc"}, +] + +[package.dependencies] +MarkupSafe = ">=0.9.2" + +[package.extras] +babel = ["Babel"] +lingua = ["lingua"] +testing = ["pytest"] + [[package]] name = "markdown" -version = "3.6" +version = "3.7" description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, - {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, ] [package.dependencies] @@ -2598,28 +2725,28 @@ tbb = "==2021.*" [[package]] name = "ml-dtypes" -version = "0.4.0" +version = "0.4.1" description = "" optional = false python-versions = ">=3.9" files = [ - {file = "ml_dtypes-0.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:93afe37f3a879d652ec9ef1fc47612388890660a2657fbb5747256c3b818fd81"}, - {file = "ml_dtypes-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb83fd064db43e67e67d021e547698af4c8d5c6190f2e9b1c53c09f6ff5531d"}, - {file = "ml_dtypes-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03e7cda6ef164eed0abb31df69d2c00c3a5ab3e2610b6d4c42183a43329c72a5"}, - {file = "ml_dtypes-0.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:a15d96d090aebb55ee85173d1775ae325a001aab607a76c8ea0b964ccd6b5364"}, - {file = "ml_dtypes-0.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bdf689be7351cc3c95110c910c1b864002f113e682e44508910c849e144f3df1"}, - {file = "ml_dtypes-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c83e4d443962d891d51669ff241d5aaad10a8d3d37a81c5532a45419885d591c"}, - {file = "ml_dtypes-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1e2f4237b459a63c97c2c9f449baa637d7e4c20addff6a9bac486f22432f3b6"}, - {file = "ml_dtypes-0.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:75b4faf99d0711b81f393db36d210b4255fd419f6f790bc6c1b461f95ffb7a9e"}, - {file = "ml_dtypes-0.4.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ee9f91d4c4f9959a7e1051c141dc565f39e54435618152219769e24f5e9a4d06"}, - {file = "ml_dtypes-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad6849a2db386b38e4d54fe13eb3293464561780531a918f8ef4c8169170dd49"}, - {file = "ml_dtypes-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaa32979ebfde3a0d7c947cafbf79edc1ec77ac05ad0780ee86c1d8df70f2259"}, - {file = "ml_dtypes-0.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:3b67ec73a697c88c1122038e0de46520e48dc2ec876d42cf61bc5efe3c0b7675"}, - {file = "ml_dtypes-0.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:41affb38fdfe146e3db226cf2953021184d6f0c4ffab52136613e9601706e368"}, - {file = "ml_dtypes-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:43cf4356a0fe2eeac6d289018d0734e17a403bdf1fd911953c125dd0358edcc0"}, - {file = "ml_dtypes-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1724ddcdf5edbaf615a62110af47407f1719b8d02e68ccee60683acb5f74da1"}, - {file = "ml_dtypes-0.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:723af6346447268a3cf0b7356e963d80ecb5732b5279b2aa3fa4b9fc8297c85e"}, - {file = "ml_dtypes-0.4.0.tar.gz", hash = "sha256:eaf197e72f4f7176a19fe3cb8b61846b38c6757607e7bf9cd4b1d84cd3e74deb"}, + {file = "ml_dtypes-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1fe8b5b5e70cd67211db94b05cfd58dace592f24489b038dc6f9fe347d2e07d5"}, + {file = "ml_dtypes-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c09a6d11d8475c2a9fd2bc0695628aec105f97cab3b3a3fb7c9660348ff7d24"}, + {file = "ml_dtypes-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5e8f75fa371020dd30f9196e7d73babae2abd51cf59bdd56cb4f8de7e13354"}, + {file = "ml_dtypes-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:15fdd922fea57e493844e5abb930b9c0bd0af217d9edd3724479fc3d7ce70e3f"}, + {file = "ml_dtypes-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2d55b588116a7085d6e074cf0cdb1d6fa3875c059dddc4d2c94a4cc81c23e975"}, + {file = "ml_dtypes-0.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e138a9b7a48079c900ea969341a5754019a1ad17ae27ee330f7ebf43f23877f9"}, + {file = "ml_dtypes-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74c6cfb5cf78535b103fde9ea3ded8e9f16f75bc07789054edc7776abfb3d752"}, + {file = "ml_dtypes-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:274cc7193dd73b35fb26bef6c5d40ae3eb258359ee71cd82f6e96a8c948bdaa6"}, + {file = "ml_dtypes-0.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:827d3ca2097085cf0355f8fdf092b888890bb1b1455f52801a2d7756f056f54b"}, + {file = "ml_dtypes-0.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:772426b08a6172a891274d581ce58ea2789cc8abc1c002a27223f314aaf894e7"}, + {file = "ml_dtypes-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:126e7d679b8676d1a958f2651949fbfa182832c3cd08020d8facd94e4114f3e9"}, + {file = "ml_dtypes-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:df0fb650d5c582a9e72bb5bd96cfebb2cdb889d89daff621c8fbc60295eba66c"}, + {file = "ml_dtypes-0.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e35e486e97aee577d0890bc3bd9e9f9eece50c08c163304008587ec8cfe7575b"}, + {file = "ml_dtypes-0.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:560be16dc1e3bdf7c087eb727e2cf9c0e6a3d87e9f415079d2491cc419b3ebf5"}, + {file = "ml_dtypes-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad0b757d445a20df39035c4cdeed457ec8b60d236020d2560dbc25887533cf50"}, + {file = "ml_dtypes-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:ef0d7e3fece227b49b544fa69e50e607ac20948f0043e9f76b44f35f229ea450"}, + {file = "ml_dtypes-0.4.1.tar.gz", hash = "sha256:fad5f2de464fd09127e49b7fd1252b9006fb43d2edc1ff112d390c324af5ca7a"}, ] [package.dependencies] @@ -2652,67 +2779,75 @@ tests = ["pytest (>=4.6)"] [[package]] name = "msgpack" -version = "1.0.8" +version = "1.1.0" description = "MessagePack serializer" optional = false python-versions = ">=3.8" files = [ - {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868"}, - {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c"}, - {file = "msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653"}, - {file = "msgpack-1.0.8-cp310-cp310-win32.whl", hash = "sha256:13577ec9e247f8741c84d06b9ece5f654920d8365a4b636ce0e44f15e07ec693"}, - {file = "msgpack-1.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:e532dbd6ddfe13946de050d7474e3f5fb6ec774fbb1a188aaf469b08cf04189a"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce"}, - {file = "msgpack-1.0.8-cp311-cp311-win32.whl", hash = "sha256:26ee97a8261e6e35885c2ecd2fd4a6d38252246f94a2aec23665a4e66d066305"}, - {file = "msgpack-1.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:eadb9f826c138e6cf3c49d6f8de88225a3c0ab181a9b4ba792e006e5292d150e"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543"}, - {file = "msgpack-1.0.8-cp312-cp312-win32.whl", hash = "sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c"}, - {file = "msgpack-1.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a"}, - {file = "msgpack-1.0.8-cp38-cp38-win32.whl", hash = "sha256:374a8e88ddab84b9ada695d255679fb99c53513c0a51778796fcf0944d6c789c"}, - {file = "msgpack-1.0.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3709997b228685fe53e8c433e2df9f0cdb5f4542bd5114ed17ac3c0129b0480"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273"}, - {file = "msgpack-1.0.8-cp39-cp39-win32.whl", hash = "sha256:f9af38a89b6a5c04b7d18c492c8ccf2aee7048aff1ce8437c4683bb5a1df893d"}, - {file = "msgpack-1.0.8-cp39-cp39-win_amd64.whl", hash = "sha256:ed59dd52075f8fc91da6053b12e8c89e37aa043f8986efd89e61fae69dc1b011"}, - {file = "msgpack-1.0.8-py3-none-any.whl", hash = "sha256:24f727df1e20b9876fa6e95f840a2a2651e34c0ad147676356f4bf5fbb0206ca"}, + {file = "msgpack-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd"}, + {file = "msgpack-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d"}, + {file = "msgpack-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e"}, + {file = "msgpack-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68"}, + {file = "msgpack-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b"}, + {file = "msgpack-1.1.0-cp310-cp310-win32.whl", hash = "sha256:3df7e6b05571b3814361e8464f9304c42d2196808e0119f55d0d3e62cd5ea044"}, + {file = "msgpack-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:685ec345eefc757a7c8af44a3032734a739f8c45d1b0ac45efc5d8977aa4720f"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa"}, + {file = "msgpack-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59"}, + {file = "msgpack-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6"}, + {file = "msgpack-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5"}, + {file = "msgpack-1.1.0-cp311-cp311-win32.whl", hash = "sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88"}, + {file = "msgpack-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b"}, + {file = "msgpack-1.1.0-cp312-cp312-win32.whl", hash = "sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b"}, + {file = "msgpack-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:071603e2f0771c45ad9bc65719291c568d4edf120b44eb36324dcb02a13bfddf"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0f92a83b84e7c0749e3f12821949d79485971f087604178026085f60ce109330"}, + {file = "msgpack-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1964df7b81285d00a84da4e70cb1383f2e665e0f1f2a7027e683956d04b734"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59caf6a4ed0d164055ccff8fe31eddc0ebc07cf7326a2aaa0dbf7a4001cd823e"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0907e1a7119b337971a689153665764adc34e89175f9a34793307d9def08e6ca"}, + {file = "msgpack-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65553c9b6da8166e819a6aa90ad15288599b340f91d18f60b2061f402b9a4915"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7a946a8992941fea80ed4beae6bff74ffd7ee129a90b4dd5cf9c476a30e9708d"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4b51405e36e075193bc051315dbf29168d6141ae2500ba8cd80a522964e31434"}, + {file = "msgpack-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4c01941fd2ff87c2a934ee6055bda4ed353a7846b8d4f341c428109e9fcde8c"}, + {file = "msgpack-1.1.0-cp313-cp313-win32.whl", hash = "sha256:7c9a35ce2c2573bada929e0b7b3576de647b0defbd25f5139dcdaba0ae35a4cc"}, + {file = "msgpack-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:bce7d9e614a04d0883af0b3d4d501171fbfca038f12c77fa838d9f198147a23f"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c40ffa9a15d74e05ba1fe2681ea33b9caffd886675412612d93ab17b58ea2fec"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1ba6136e650898082d9d5a5217d5906d1e138024f836ff48691784bbe1adf96"}, + {file = "msgpack-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e0856a2b7e8dcb874be44fea031d22e5b3a19121be92a1e098f46068a11b0870"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:471e27a5787a2e3f974ba023f9e265a8c7cfd373632247deb225617e3100a3c7"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:646afc8102935a388ffc3914b336d22d1c2d6209c773f3eb5dd4d6d3b6f8c1cb"}, + {file = "msgpack-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:13599f8829cfbe0158f6456374e9eea9f44eee08076291771d8ae93eda56607f"}, + {file = "msgpack-1.1.0-cp38-cp38-win32.whl", hash = "sha256:8a84efb768fb968381e525eeeb3d92857e4985aacc39f3c47ffd00eb4509315b"}, + {file = "msgpack-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:879a7b7b0ad82481c52d3c7eb99bf6f0645dbdec5134a4bddbd16f3506947feb"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:53258eeb7a80fc46f62fd59c876957a2d0e15e6449a9e71842b6d24419d88ca1"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e7b853bbc44fb03fbdba34feb4bd414322180135e2cb5164f20ce1c9795ee48"}, + {file = "msgpack-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3e9b4936df53b970513eac1758f3882c88658a220b58dcc1e39606dccaaf01c"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46c34e99110762a76e3911fc923222472c9d681f1094096ac4102c18319e6468"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a706d1e74dd3dea05cb54580d9bd8b2880e9264856ce5068027eed09680aa74"}, + {file = "msgpack-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:534480ee5690ab3cbed89d4c8971a5c631b69a8c0883ecfea96c19118510c846"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8cf9e8c3a2153934a23ac160cc4cba0ec035f6867c8013cc6077a79823370346"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3180065ec2abbe13a4ad37688b61b99d7f9e012a535b930e0e683ad6bc30155b"}, + {file = "msgpack-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c5a91481a3cc573ac8c0d9aace09345d989dc4a0202b7fcb312c88c26d4e71a8"}, + {file = "msgpack-1.1.0-cp39-cp39-win32.whl", hash = "sha256:f80bc7d47f76089633763f952e67f8214cb7b3ee6bfa489b3cb6a84cfac114cd"}, + {file = "msgpack-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:4d1b7ff2d6146e16e8bd665ac726a89c74163ef8cd39fa8c1087d4e52d3a2325"}, + {file = "msgpack-1.1.0.tar.gz", hash = "sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e"}, ] [[package]] @@ -3056,13 +3191,14 @@ files = [ [[package]] name = "nvidia-nvjitlink-cu12" -version = "12.6.20" +version = "12.6.68" description = "Nvidia JIT LTO Library" optional = false python-versions = ">=3" files = [ - {file = "nvidia_nvjitlink_cu12-12.6.20-py3-none-manylinux2014_x86_64.whl", hash = "sha256:562ab97ea2c23164823b2a89cb328d01d45cb99634b8c65fe7cd60d14562bd79"}, - {file = "nvidia_nvjitlink_cu12-12.6.20-py3-none-win_amd64.whl", hash = "sha256:ed3c43a17f37b0c922a919203d2d36cbef24d41cc3e6b625182f8b58203644f6"}, + {file = "nvidia_nvjitlink_cu12-12.6.68-py3-none-manylinux2014_aarch64.whl", hash = "sha256:b3fd0779845f68b92063ab1393abab1ed0a23412fc520df79a8190d098b5cd6b"}, + {file = "nvidia_nvjitlink_cu12-12.6.68-py3-none-manylinux2014_x86_64.whl", hash = "sha256:125a6c2a44e96386dda634e13d944e60b07a0402d391a070e8fb4104b34ea1ab"}, + {file = "nvidia_nvjitlink_cu12-12.6.68-py3-none-win_amd64.whl", hash = "sha256:a55744c98d70317c5e23db14866a8cc2b733f7324509e941fc96276f9f37801d"}, ] [[package]] @@ -3203,6 +3339,33 @@ numpy = ["numpy"] test = ["pytest", "pytest-cov", "pytest-xdist"] torch = ["torch"] +[[package]] +name = "optuna" +version = "4.0.0" +description = "A hyperparameter optimization framework" +optional = false +python-versions = ">=3.7" +files = [ + {file = "optuna-4.0.0-py3-none-any.whl", hash = "sha256:a825c32d13f6085bcb2229b2724a5078f2e0f61a7533e800e580ce41a8c6c10d"}, + {file = "optuna-4.0.0.tar.gz", hash = "sha256:844949f09e2a7353ab414e9cfd783cf0a647a65fc32a7236212ed6a37fe08973"}, +] + +[package.dependencies] +alembic = ">=1.5.0" +colorlog = "*" +numpy = "*" +packaging = ">=20.0" +PyYAML = "*" +sqlalchemy = ">=1.3.0" +tqdm = "*" + +[package.extras] +benchmark = ["asv (>=0.5.0)", "botorch", "cma", "virtualenv"] +checking = ["black", "blackdoc", "flake8", "isort", "mypy", "mypy-boto3-s3", "types-PyYAML", "types-redis", "types-setuptools", "types-tqdm", "typing-extensions (>=3.10.0.0)"] +document = ["ase", "cmaes (>=0.10.0)", "fvcore", "kaleido", "lightgbm", "matplotlib (!=3.6.0)", "pandas", "pillow", "plotly (>=4.9.0)", "scikit-learn", "sphinx", "sphinx-copybutton", "sphinx-gallery", "sphinx-rtd-theme (>=1.2.0)", "torch", "torchvision"] +optional = ["boto3", "cmaes (>=0.10.0)", "google-cloud-storage", "matplotlib (!=3.6.0)", "pandas", "plotly (>=4.9.0)", "redis", "scikit-learn (>=0.24.2)", "scipy", "torch"] +test = ["coverage", "fakeredis[lua]", "kaleido", "moto", "pytest", "scipy (>=1.9.2)", "torch"] + [[package]] name = "packaging" version = "24.1" @@ -3446,19 +3609,19 @@ xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "4.2.2" +version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] -type = ["mypy (>=1.8)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "pluggy" @@ -3539,22 +3702,22 @@ files = [ [[package]] name = "protobuf" -version = "5.27.3" +version = "5.28.1" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-5.27.3-cp310-abi3-win32.whl", hash = "sha256:dcb307cd4ef8fec0cf52cb9105a03d06fbb5275ce6d84a6ae33bc6cf84e0a07b"}, - {file = "protobuf-5.27.3-cp310-abi3-win_amd64.whl", hash = "sha256:16ddf3f8c6c41e1e803da7abea17b1793a97ef079a912e42351eabb19b2cffe7"}, - {file = "protobuf-5.27.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:68248c60d53f6168f565a8c76dc58ba4fa2ade31c2d1ebdae6d80f969cdc2d4f"}, - {file = "protobuf-5.27.3-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:b8a994fb3d1c11156e7d1e427186662b64694a62b55936b2b9348f0a7c6625ce"}, - {file = "protobuf-5.27.3-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:a55c48f2a2092d8e213bd143474df33a6ae751b781dd1d1f4d953c128a415b25"}, - {file = "protobuf-5.27.3-cp38-cp38-win32.whl", hash = "sha256:043853dcb55cc262bf2e116215ad43fa0859caab79bb0b2d31b708f128ece035"}, - {file = "protobuf-5.27.3-cp38-cp38-win_amd64.whl", hash = "sha256:c2a105c24f08b1e53d6c7ffe69cb09d0031512f0b72f812dd4005b8112dbe91e"}, - {file = "protobuf-5.27.3-cp39-cp39-win32.whl", hash = "sha256:c84eee2c71ed83704f1afbf1a85c3171eab0fd1ade3b399b3fad0884cbcca8bf"}, - {file = "protobuf-5.27.3-cp39-cp39-win_amd64.whl", hash = "sha256:af7c0b7cfbbb649ad26132e53faa348580f844d9ca46fd3ec7ca48a1ea5db8a1"}, - {file = "protobuf-5.27.3-py3-none-any.whl", hash = "sha256:8572c6533e544ebf6899c360e91d6bcbbee2549251643d32c52cf8a5de295ba5"}, - {file = "protobuf-5.27.3.tar.gz", hash = "sha256:82460903e640f2b7e34ee81a947fdaad89de796d324bcbc38ff5430bcdead82c"}, + {file = "protobuf-5.28.1-cp310-abi3-win32.whl", hash = "sha256:fc063acaf7a3d9ca13146fefb5b42ac94ab943ec6e978f543cd5637da2d57957"}, + {file = "protobuf-5.28.1-cp310-abi3-win_amd64.whl", hash = "sha256:4c7f5cb38c640919791c9f74ea80c5b82314c69a8409ea36f2599617d03989af"}, + {file = "protobuf-5.28.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:4304e4fceb823d91699e924a1fdf95cde0e066f3b1c28edb665bda762ecde10f"}, + {file = "protobuf-5.28.1-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:0dfd86d2b5edf03d91ec2a7c15b4e950258150f14f9af5f51c17fa224ee1931f"}, + {file = "protobuf-5.28.1-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:51f09caab818707ab91cf09cc5c156026599cf05a4520779ccbf53c1b352fb25"}, + {file = "protobuf-5.28.1-cp38-cp38-win32.whl", hash = "sha256:1b04bde117a10ff9d906841a89ec326686c48ececeb65690f15b8cabe7149495"}, + {file = "protobuf-5.28.1-cp38-cp38-win_amd64.whl", hash = "sha256:cabfe43044ee319ad6832b2fda332646f9ef1636b0130186a3ae0a52fc264bb4"}, + {file = "protobuf-5.28.1-cp39-cp39-win32.whl", hash = "sha256:4b4b9a0562a35773ff47a3df823177ab71a1f5eb1ff56d8f842b7432ecfd7fd2"}, + {file = "protobuf-5.28.1-cp39-cp39-win_amd64.whl", hash = "sha256:f24e5d70e6af8ee9672ff605d5503491635f63d5db2fffb6472be78ba62efd8f"}, + {file = "protobuf-5.28.1-py3-none-any.whl", hash = "sha256:c529535e5c0effcf417682563719e5d8ac8d2b93de07a56108b4c2d436d7a29a"}, + {file = "protobuf-5.28.1.tar.gz", hash = "sha256:42597e938f83bb7f3e4b35f03aa45208d49ae8d5bcb4bc10b9fc825e0ab5e423"}, ] [[package]] @@ -3610,37 +3773,26 @@ files = [ [package.extras] tests = ["pytest"] -[[package]] -name = "py4j" -version = "0.10.9.7" -description = "Enables Python programs to dynamically access arbitrary Java objects" -optional = false -python-versions = "*" -files = [ - {file = "py4j-0.10.9.7-py2.py3-none-any.whl", hash = "sha256:85defdfd2b2376eb3abf5ca6474b51ab7e0de341c75a02f46dc9b5976f5a5c1b"}, - {file = "py4j-0.10.9.7.tar.gz", hash = "sha256:0b6e5315bb3ada5cf62ac651d107bb2ebc02def3dee9d9548e3baac644ea8dbb"}, -] - [[package]] name = "pyasn1" -version = "0.6.0" +version = "0.6.1" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" optional = false python-versions = ">=3.8" files = [ - {file = "pyasn1-0.6.0-py2.py3-none-any.whl", hash = "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"}, - {file = "pyasn1-0.6.0.tar.gz", hash = "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"}, + {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, + {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, ] [[package]] name = "pyasn1-modules" -version = "0.4.0" +version = "0.4.1" description = "A collection of ASN.1-based protocols modules" optional = false python-versions = ">=3.8" files = [ - {file = "pyasn1_modules-0.4.0-py3-none-any.whl", hash = "sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b"}, - {file = "pyasn1_modules-0.4.0.tar.gz", hash = "sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6"}, + {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, + {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, ] [package.dependencies] @@ -3693,54 +3845,54 @@ files = [ [[package]] name = "pydantic" -version = "1.10.17" +version = "1.10.18" description = "Data validation and settings management using python type hints" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-1.10.17-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fa51175313cc30097660b10eec8ca55ed08bfa07acbfe02f7a42f6c242e9a4b"}, - {file = "pydantic-1.10.17-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7e8988bb16988890c985bd2093df9dd731bfb9d5e0860db054c23034fab8f7a"}, - {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:371dcf1831f87c9e217e2b6a0c66842879a14873114ebb9d0861ab22e3b5bb1e"}, - {file = "pydantic-1.10.17-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4866a1579c0c3ca2c40575398a24d805d4db6cb353ee74df75ddeee3c657f9a7"}, - {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:543da3c6914795b37785703ffc74ba4d660418620cc273490d42c53949eeeca6"}, - {file = "pydantic-1.10.17-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7623b59876f49e61c2e283551cc3647616d2fbdc0b4d36d3d638aae8547ea681"}, - {file = "pydantic-1.10.17-cp310-cp310-win_amd64.whl", hash = "sha256:409b2b36d7d7d19cd8310b97a4ce6b1755ef8bd45b9a2ec5ec2b124db0a0d8f3"}, - {file = "pydantic-1.10.17-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fa43f362b46741df8f201bf3e7dff3569fa92069bcc7b4a740dea3602e27ab7a"}, - {file = "pydantic-1.10.17-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2a72d2a5ff86a3075ed81ca031eac86923d44bc5d42e719d585a8eb547bf0c9b"}, - {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4ad32aed3bf5eea5ca5decc3d1bbc3d0ec5d4fbcd72a03cdad849458decbc63"}, - {file = "pydantic-1.10.17-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aeb4e741782e236ee7dc1fb11ad94dc56aabaf02d21df0e79e0c21fe07c95741"}, - {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d2f89a719411cb234105735a520b7c077158a81e0fe1cb05a79c01fc5eb59d3c"}, - {file = "pydantic-1.10.17-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db3b48d9283d80a314f7a682f7acae8422386de659fffaba454b77a083c3937d"}, - {file = "pydantic-1.10.17-cp311-cp311-win_amd64.whl", hash = "sha256:9c803a5113cfab7bbb912f75faa4fc1e4acff43e452c82560349fff64f852e1b"}, - {file = "pydantic-1.10.17-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:820ae12a390c9cbb26bb44913c87fa2ff431a029a785642c1ff11fed0a095fcb"}, - {file = "pydantic-1.10.17-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c1e51d1af306641b7d1574d6d3307eaa10a4991542ca324f0feb134fee259815"}, - {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e53fb834aae96e7b0dadd6e92c66e7dd9cdf08965340ed04c16813102a47fab"}, - {file = "pydantic-1.10.17-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e2495309b1266e81d259a570dd199916ff34f7f51f1b549a0d37a6d9b17b4dc"}, - {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:098ad8de840c92ea586bf8efd9e2e90c6339d33ab5c1cfbb85be66e4ecf8213f"}, - {file = "pydantic-1.10.17-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:525bbef620dac93c430d5d6bdbc91bdb5521698d434adf4434a7ef6ffd5c4b7f"}, - {file = "pydantic-1.10.17-cp312-cp312-win_amd64.whl", hash = "sha256:6654028d1144df451e1da69a670083c27117d493f16cf83da81e1e50edce72ad"}, - {file = "pydantic-1.10.17-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c87cedb4680d1614f1d59d13fea353faf3afd41ba5c906a266f3f2e8c245d655"}, - {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11289fa895bcbc8f18704efa1d8020bb9a86314da435348f59745473eb042e6b"}, - {file = "pydantic-1.10.17-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94833612d6fd18b57c359a127cbfd932d9150c1b72fea7c86ab58c2a77edd7c7"}, - {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d4ecb515fa7cb0e46e163ecd9d52f9147ba57bc3633dca0e586cdb7a232db9e3"}, - {file = "pydantic-1.10.17-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7017971ffa7fd7808146880aa41b266e06c1e6e12261768a28b8b41ba55c8076"}, - {file = "pydantic-1.10.17-cp37-cp37m-win_amd64.whl", hash = "sha256:e840e6b2026920fc3f250ea8ebfdedf6ea7a25b77bf04c6576178e681942ae0f"}, - {file = "pydantic-1.10.17-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bfbb18b616abc4df70591b8c1ff1b3eabd234ddcddb86b7cac82657ab9017e33"}, - {file = "pydantic-1.10.17-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebb249096d873593e014535ab07145498957091aa6ae92759a32d40cb9998e2e"}, - {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c209af63ccd7b22fba94b9024e8b7fd07feffee0001efae50dd99316b27768"}, - {file = "pydantic-1.10.17-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b40c9e13a0b61583e5599e7950490c700297b4a375b55b2b592774332798b7"}, - {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c31d281c7485223caf6474fc2b7cf21456289dbaa31401844069b77160cab9c7"}, - {file = "pydantic-1.10.17-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ae5184e99a060a5c80010a2d53c99aee76a3b0ad683d493e5f0620b5d86eeb75"}, - {file = "pydantic-1.10.17-cp38-cp38-win_amd64.whl", hash = "sha256:ad1e33dc6b9787a6f0f3fd132859aa75626528b49cc1f9e429cdacb2608ad5f0"}, - {file = "pydantic-1.10.17-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e17c0ee7192e54a10943f245dc79e36d9fe282418ea05b886e1c666063a7b54"}, - {file = "pydantic-1.10.17-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cafb9c938f61d1b182dfc7d44a7021326547b7b9cf695db5b68ec7b590214773"}, - {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ef534e3c22e5abbdbdd6f66b6ea9dac3ca3e34c5c632894f8625d13d084cbe"}, - {file = "pydantic-1.10.17-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d96b8799ae3d782df7ec9615cb59fc32c32e1ed6afa1b231b0595f6516e8ab"}, - {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ab2f976336808fd5d539fdc26eb51f9aafc1f4b638e212ef6b6f05e753c8011d"}, - {file = "pydantic-1.10.17-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8ad363330557beac73159acfbeed220d5f1bfcd6b930302a987a375e02f74fd"}, - {file = "pydantic-1.10.17-cp39-cp39-win_amd64.whl", hash = "sha256:48db882e48575ce4b39659558b2f9f37c25b8d348e37a2b4e32971dd5a7d6227"}, - {file = "pydantic-1.10.17-py3-none-any.whl", hash = "sha256:e41b5b973e5c64f674b3b4720286ded184dcc26a691dd55f34391c62c6934688"}, - {file = "pydantic-1.10.17.tar.gz", hash = "sha256:f434160fb14b353caf634149baaf847206406471ba70e64657c1e8330277a991"}, + {file = "pydantic-1.10.18-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e405ffcc1254d76bb0e760db101ee8916b620893e6edfbfee563b3c6f7a67c02"}, + {file = "pydantic-1.10.18-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e306e280ebebc65040034bff1a0a81fd86b2f4f05daac0131f29541cafd80b80"}, + {file = "pydantic-1.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11d9d9b87b50338b1b7de4ebf34fd29fdb0d219dc07ade29effc74d3d2609c62"}, + {file = "pydantic-1.10.18-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b661ce52c7b5e5f600c0c3c5839e71918346af2ef20062705ae76b5c16914cab"}, + {file = "pydantic-1.10.18-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c20f682defc9ef81cd7eaa485879ab29a86a0ba58acf669a78ed868e72bb89e0"}, + {file = "pydantic-1.10.18-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c5ae6b7c8483b1e0bf59e5f1843e4fd8fd405e11df7de217ee65b98eb5462861"}, + {file = "pydantic-1.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:74fe19dda960b193b0eb82c1f4d2c8e5e26918d9cda858cbf3f41dd28549cb70"}, + {file = "pydantic-1.10.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72fa46abace0a7743cc697dbb830a41ee84c9db8456e8d77a46d79b537efd7ec"}, + {file = "pydantic-1.10.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef0fe7ad7cbdb5f372463d42e6ed4ca9c443a52ce544472d8842a0576d830da5"}, + {file = "pydantic-1.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a00e63104346145389b8e8f500bc6a241e729feaf0559b88b8aa513dd2065481"}, + {file = "pydantic-1.10.18-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae6fa2008e1443c46b7b3a5eb03800121868d5ab6bc7cda20b5df3e133cde8b3"}, + {file = "pydantic-1.10.18-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9f463abafdc92635da4b38807f5b9972276be7c8c5121989768549fceb8d2588"}, + {file = "pydantic-1.10.18-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3445426da503c7e40baccefb2b2989a0c5ce6b163679dd75f55493b460f05a8f"}, + {file = "pydantic-1.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:467a14ee2183bc9c902579bb2f04c3d3dac00eff52e252850509a562255b2a33"}, + {file = "pydantic-1.10.18-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:efbc8a7f9cb5fe26122acba1852d8dcd1e125e723727c59dcd244da7bdaa54f2"}, + {file = "pydantic-1.10.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24a4a159d0f7a8e26bf6463b0d3d60871d6a52eac5bb6a07a7df85c806f4c048"}, + {file = "pydantic-1.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b74be007703547dc52e3c37344d130a7bfacca7df112a9e5ceeb840a9ce195c7"}, + {file = "pydantic-1.10.18-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcb20d4cb355195c75000a49bb4a31d75e4295200df620f454bbc6bdf60ca890"}, + {file = "pydantic-1.10.18-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46f379b8cb8a3585e3f61bf9ae7d606c70d133943f339d38b76e041ec234953f"}, + {file = "pydantic-1.10.18-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cbfbca662ed3729204090c4d09ee4beeecc1a7ecba5a159a94b5a4eb24e3759a"}, + {file = "pydantic-1.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:c6d0a9f9eccaf7f438671a64acf654ef0d045466e63f9f68a579e2383b63f357"}, + {file = "pydantic-1.10.18-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3d5492dbf953d7d849751917e3b2433fb26010d977aa7a0765c37425a4026ff1"}, + {file = "pydantic-1.10.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe734914977eed33033b70bfc097e1baaffb589517863955430bf2e0846ac30f"}, + {file = "pydantic-1.10.18-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15fdbe568beaca9aacfccd5ceadfb5f1a235087a127e8af5e48df9d8a45ae85c"}, + {file = "pydantic-1.10.18-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c3e742f62198c9eb9201781fbebe64533a3bbf6a76a91b8d438d62b813079dbc"}, + {file = "pydantic-1.10.18-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:19a3bd00b9dafc2cd7250d94d5b578edf7a0bd7daf102617153ff9a8fa37871c"}, + {file = "pydantic-1.10.18-cp37-cp37m-win_amd64.whl", hash = "sha256:2ce3fcf75b2bae99aa31bd4968de0474ebe8c8258a0110903478bd83dfee4e3b"}, + {file = "pydantic-1.10.18-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:335a32d72c51a313b33fa3a9b0fe283503272ef6467910338e123f90925f0f03"}, + {file = "pydantic-1.10.18-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:34a3613c7edb8c6fa578e58e9abe3c0f5e7430e0fc34a65a415a1683b9c32d9a"}, + {file = "pydantic-1.10.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9ee4e6ca1d9616797fa2e9c0bfb8815912c7d67aca96f77428e316741082a1b"}, + {file = "pydantic-1.10.18-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23e8ec1ce4e57b4f441fc91e3c12adba023fedd06868445a5b5f1d48f0ab3682"}, + {file = "pydantic-1.10.18-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:44ae8a3e35a54d2e8fa88ed65e1b08967a9ef8c320819a969bfa09ce5528fafe"}, + {file = "pydantic-1.10.18-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5389eb3b48a72da28c6e061a247ab224381435256eb541e175798483368fdd3"}, + {file = "pydantic-1.10.18-cp38-cp38-win_amd64.whl", hash = "sha256:069b9c9fc645474d5ea3653788b544a9e0ccd3dca3ad8c900c4c6eac844b4620"}, + {file = "pydantic-1.10.18-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:80b982d42515632eb51f60fa1d217dfe0729f008e81a82d1544cc392e0a50ddf"}, + {file = "pydantic-1.10.18-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aad8771ec8dbf9139b01b56f66386537c6fe4e76c8f7a47c10261b69ad25c2c9"}, + {file = "pydantic-1.10.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941a2eb0a1509bd7f31e355912eb33b698eb0051730b2eaf9e70e2e1589cae1d"}, + {file = "pydantic-1.10.18-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65f7361a09b07915a98efd17fdec23103307a54db2000bb92095457ca758d485"}, + {file = "pydantic-1.10.18-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6951f3f47cb5ca4da536ab161ac0163cab31417d20c54c6de5ddcab8bc813c3f"}, + {file = "pydantic-1.10.18-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7a4c5eec138a9b52c67f664c7d51d4c7234c5ad65dd8aacd919fb47445a62c86"}, + {file = "pydantic-1.10.18-cp39-cp39-win_amd64.whl", hash = "sha256:49e26c51ca854286bffc22b69787a8d4063a62bf7d83dc21d44d2ff426108518"}, + {file = "pydantic-1.10.18-py3-none-any.whl", hash = "sha256:06a189b81ffc52746ec9c8c007f16e5167c8b0a696e1a726369327e3db7b2a82"}, + {file = "pydantic-1.10.18.tar.gz", hash = "sha256:baebdff1907d1d96a139c25136a9bb7d17e118f133a76a2ef3b845e831e3403a"}, ] [package.dependencies] @@ -3813,13 +3965,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pyparsing" -version = "3.1.2" +version = "3.1.4" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, - {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, + {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, + {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, ] [package.extras] @@ -4052,13 +4204,13 @@ files = [ [[package]] name = "pytz" -version = "2024.1" +version = "2024.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] [[package]] @@ -4148,120 +4300,120 @@ files = [ [[package]] name = "pyzmq" -version = "26.1.0" +version = "26.2.0" description = "Python bindings for 0MQ" optional = false python-versions = ">=3.7" files = [ - {file = "pyzmq-26.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:263cf1e36862310bf5becfbc488e18d5d698941858860c5a8c079d1511b3b18e"}, - {file = "pyzmq-26.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d5c8b17f6e8f29138678834cf8518049e740385eb2dbf736e8f07fc6587ec682"}, - {file = "pyzmq-26.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75a95c2358fcfdef3374cb8baf57f1064d73246d55e41683aaffb6cfe6862917"}, - {file = "pyzmq-26.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f99de52b8fbdb2a8f5301ae5fc0f9e6b3ba30d1d5fc0421956967edcc6914242"}, - {file = "pyzmq-26.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bcbfbab4e1895d58ab7da1b5ce9a327764f0366911ba5b95406c9104bceacb0"}, - {file = "pyzmq-26.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:77ce6a332c7e362cb59b63f5edf730e83590d0ab4e59c2aa5bd79419a42e3449"}, - {file = "pyzmq-26.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ba0a31d00e8616149a5ab440d058ec2da621e05d744914774c4dde6837e1f545"}, - {file = "pyzmq-26.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8b88641384e84a258b740801cd4dbc45c75f148ee674bec3149999adda4a8598"}, - {file = "pyzmq-26.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2fa76ebcebe555cce90f16246edc3ad83ab65bb7b3d4ce408cf6bc67740c4f88"}, - {file = "pyzmq-26.1.0-cp310-cp310-win32.whl", hash = "sha256:fbf558551cf415586e91160d69ca6416f3fce0b86175b64e4293644a7416b81b"}, - {file = "pyzmq-26.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:a7b8aab50e5a288c9724d260feae25eda69582be84e97c012c80e1a5e7e03fb2"}, - {file = "pyzmq-26.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:08f74904cb066e1178c1ec706dfdb5c6c680cd7a8ed9efebeac923d84c1f13b1"}, - {file = "pyzmq-26.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:46d6800b45015f96b9d92ece229d92f2aef137d82906577d55fadeb9cf5fcb71"}, - {file = "pyzmq-26.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5bc2431167adc50ba42ea3e5e5f5cd70d93e18ab7b2f95e724dd8e1bd2c38120"}, - {file = "pyzmq-26.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3bb34bebaa1b78e562931a1687ff663d298013f78f972a534f36c523311a84d"}, - {file = "pyzmq-26.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3f6329340cef1c7ba9611bd038f2d523cea79f09f9c8f6b0553caba59ec562"}, - {file = "pyzmq-26.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:471880c4c14e5a056a96cd224f5e71211997d40b4bf5e9fdded55dafab1f98f2"}, - {file = "pyzmq-26.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:ce6f2b66799971cbae5d6547acefa7231458289e0ad481d0be0740535da38d8b"}, - {file = "pyzmq-26.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a1f6ea5b1d6cdbb8cfa0536f0d470f12b4b41ad83625012e575f0e3ecfe97f0"}, - {file = "pyzmq-26.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b45e6445ac95ecb7d728604bae6538f40ccf4449b132b5428c09918523abc96d"}, - {file = "pyzmq-26.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:94c4262626424683feea0f3c34951d39d49d354722db2745c42aa6bb50ecd93b"}, - {file = "pyzmq-26.1.0-cp311-cp311-win32.whl", hash = "sha256:a0f0ab9df66eb34d58205913f4540e2ad17a175b05d81b0b7197bc57d000e829"}, - {file = "pyzmq-26.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:8efb782f5a6c450589dbab4cb0f66f3a9026286333fe8f3a084399149af52f29"}, - {file = "pyzmq-26.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:f133d05aaf623519f45e16ab77526e1e70d4e1308e084c2fb4cedb1a0c764bbb"}, - {file = "pyzmq-26.1.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:3d3146b1c3dcc8a1539e7cc094700b2be1e605a76f7c8f0979b6d3bde5ad4072"}, - {file = "pyzmq-26.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d9270fbf038bf34ffca4855bcda6e082e2c7f906b9eb8d9a8ce82691166060f7"}, - {file = "pyzmq-26.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:995301f6740a421afc863a713fe62c0aaf564708d4aa057dfdf0f0f56525294b"}, - {file = "pyzmq-26.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7eca8b89e56fb8c6c26dd3e09bd41b24789022acf1cf13358e96f1cafd8cae3"}, - {file = "pyzmq-26.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d4feb2e83dfe9ace6374a847e98ee9d1246ebadcc0cb765482e272c34e5820"}, - {file = "pyzmq-26.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d4fafc2eb5d83f4647331267808c7e0c5722c25a729a614dc2b90479cafa78bd"}, - {file = "pyzmq-26.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:58c33dc0e185dd97a9ac0288b3188d1be12b756eda67490e6ed6a75cf9491d79"}, - {file = "pyzmq-26.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:68a0a1d83d33d8367ddddb3e6bb4afbb0f92bd1dac2c72cd5e5ddc86bdafd3eb"}, - {file = "pyzmq-26.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ae7c57e22ad881af78075e0cea10a4c778e67234adc65c404391b417a4dda83"}, - {file = "pyzmq-26.1.0-cp312-cp312-win32.whl", hash = "sha256:347e84fc88cc4cb646597f6d3a7ea0998f887ee8dc31c08587e9c3fd7b5ccef3"}, - {file = "pyzmq-26.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:9f136a6e964830230912f75b5a116a21fe8e34128dcfd82285aa0ef07cb2c7bd"}, - {file = "pyzmq-26.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:a4b7a989c8f5a72ab1b2bbfa58105578753ae77b71ba33e7383a31ff75a504c4"}, - {file = "pyzmq-26.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d416f2088ac8f12daacffbc2e8918ef4d6be8568e9d7155c83b7cebed49d2322"}, - {file = "pyzmq-26.1.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:ecb6c88d7946166d783a635efc89f9a1ff11c33d680a20df9657b6902a1d133b"}, - {file = "pyzmq-26.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:471312a7375571857a089342beccc1a63584315188560c7c0da7e0a23afd8a5c"}, - {file = "pyzmq-26.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e6cea102ffa16b737d11932c426f1dc14b5938cf7bc12e17269559c458ac334"}, - {file = "pyzmq-26.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec7248673ffc7104b54e4957cee38b2f3075a13442348c8d651777bf41aa45ee"}, - {file = "pyzmq-26.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:0614aed6f87d550b5cecb03d795f4ddbb1544b78d02a4bd5eecf644ec98a39f6"}, - {file = "pyzmq-26.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:e8746ce968be22a8a1801bf4a23e565f9687088580c3ed07af5846580dd97f76"}, - {file = "pyzmq-26.1.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:7688653574392d2eaeef75ddcd0b2de5b232d8730af29af56c5adf1df9ef8d6f"}, - {file = "pyzmq-26.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:8d4dac7d97f15c653a5fedcafa82626bd6cee1450ccdaf84ffed7ea14f2b07a4"}, - {file = "pyzmq-26.1.0-cp313-cp313-win32.whl", hash = "sha256:ccb42ca0a4a46232d716779421bbebbcad23c08d37c980f02cc3a6bd115ad277"}, - {file = "pyzmq-26.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e1e5d0a25aea8b691a00d6b54b28ac514c8cc0d8646d05f7ca6cb64b97358250"}, - {file = "pyzmq-26.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:fc82269d24860cfa859b676d18850cbb8e312dcd7eada09e7d5b007e2f3d9eb1"}, - {file = "pyzmq-26.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:416ac51cabd54f587995c2b05421324700b22e98d3d0aa2cfaec985524d16f1d"}, - {file = "pyzmq-26.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:ff832cce719edd11266ca32bc74a626b814fff236824aa1aeaad399b69fe6eae"}, - {file = "pyzmq-26.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:393daac1bcf81b2a23e696b7b638eedc965e9e3d2112961a072b6cd8179ad2eb"}, - {file = "pyzmq-26.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9869fa984c8670c8ab899a719eb7b516860a29bc26300a84d24d8c1b71eae3ec"}, - {file = "pyzmq-26.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b3b8e36fd4c32c0825b4461372949ecd1585d326802b1321f8b6dc1d7e9318c"}, - {file = "pyzmq-26.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:3ee647d84b83509b7271457bb428cc347037f437ead4b0b6e43b5eba35fec0aa"}, - {file = "pyzmq-26.1.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:45cb1a70eb00405ce3893041099655265fabcd9c4e1e50c330026e82257892c1"}, - {file = "pyzmq-26.1.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:5cca7b4adb86d7470e0fc96037771981d740f0b4cb99776d5cb59cd0e6684a73"}, - {file = "pyzmq-26.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:91d1a20bdaf3b25f3173ff44e54b1cfbc05f94c9e8133314eb2962a89e05d6e3"}, - {file = "pyzmq-26.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c0665d85535192098420428c779361b8823d3d7ec4848c6af3abb93bc5c915bf"}, - {file = "pyzmq-26.1.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:96d7c1d35ee4a495df56c50c83df7af1c9688cce2e9e0edffdbf50889c167595"}, - {file = "pyzmq-26.1.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b281b5ff5fcc9dcbfe941ac5c7fcd4b6c065adad12d850f95c9d6f23c2652384"}, - {file = "pyzmq-26.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5384c527a9a004445c5074f1e20db83086c8ff1682a626676229aafd9cf9f7d1"}, - {file = "pyzmq-26.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:754c99a9840839375ee251b38ac5964c0f369306eddb56804a073b6efdc0cd88"}, - {file = "pyzmq-26.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:9bdfcb74b469b592972ed881bad57d22e2c0acc89f5e8c146782d0d90fb9f4bf"}, - {file = "pyzmq-26.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bd13f0231f4788db619347b971ca5f319c5b7ebee151afc7c14632068c6261d3"}, - {file = "pyzmq-26.1.0-cp37-cp37m-win32.whl", hash = "sha256:c5668dac86a869349828db5fc928ee3f58d450dce2c85607067d581f745e4fb1"}, - {file = "pyzmq-26.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ad875277844cfaeca7fe299ddf8c8d8bfe271c3dc1caf14d454faa5cdbf2fa7a"}, - {file = "pyzmq-26.1.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:65c6e03cc0222eaf6aad57ff4ecc0a070451e23232bb48db4322cc45602cede0"}, - {file = "pyzmq-26.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:038ae4ffb63e3991f386e7fda85a9baab7d6617fe85b74a8f9cab190d73adb2b"}, - {file = "pyzmq-26.1.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:bdeb2c61611293f64ac1073f4bf6723b67d291905308a7de9bb2ca87464e3273"}, - {file = "pyzmq-26.1.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:61dfa5ee9d7df297c859ac82b1226d8fefaf9c5113dc25c2c00ecad6feeeb04f"}, - {file = "pyzmq-26.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3292d384537b9918010769b82ab3e79fca8b23d74f56fc69a679106a3e2c2cf"}, - {file = "pyzmq-26.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f9499c70c19ff0fbe1007043acb5ad15c1dec7d8e84ab429bca8c87138e8f85c"}, - {file = "pyzmq-26.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d3dd5523ed258ad58fed7e364c92a9360d1af8a9371e0822bd0146bdf017ef4c"}, - {file = "pyzmq-26.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baba2fd199b098c5544ef2536b2499d2e2155392973ad32687024bd8572a7d1c"}, - {file = "pyzmq-26.1.0-cp38-cp38-win32.whl", hash = "sha256:ddbb2b386128d8eca92bd9ca74e80f73fe263bcca7aa419f5b4cbc1661e19741"}, - {file = "pyzmq-26.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:79e45a4096ec8388cdeb04a9fa5e9371583bcb826964d55b8b66cbffe7b33c86"}, - {file = "pyzmq-26.1.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:add52c78a12196bc0fda2de087ba6c876ea677cbda2e3eba63546b26e8bf177b"}, - {file = "pyzmq-26.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:98c03bd7f3339ff47de7ea9ac94a2b34580a8d4df69b50128bb6669e1191a895"}, - {file = "pyzmq-26.1.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dcc37d9d708784726fafc9c5e1232de655a009dbf97946f117aefa38d5985a0f"}, - {file = "pyzmq-26.1.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5a6ed52f0b9bf8dcc64cc82cce0607a3dfed1dbb7e8c6f282adfccc7be9781de"}, - {file = "pyzmq-26.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:451e16ae8bea3d95649317b463c9f95cd9022641ec884e3d63fc67841ae86dfe"}, - {file = "pyzmq-26.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:906e532c814e1d579138177a00ae835cd6becbf104d45ed9093a3aaf658f6a6a"}, - {file = "pyzmq-26.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:05bacc4f94af468cc82808ae3293390278d5f3375bb20fef21e2034bb9a505b6"}, - {file = "pyzmq-26.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:57bb2acba798dc3740e913ffadd56b1fcef96f111e66f09e2a8db3050f1f12c8"}, - {file = "pyzmq-26.1.0-cp39-cp39-win32.whl", hash = "sha256:f774841bb0e8588505002962c02da420bcfb4c5056e87a139c6e45e745c0e2e2"}, - {file = "pyzmq-26.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:359c533bedc62c56415a1f5fcfd8279bc93453afdb0803307375ecf81c962402"}, - {file = "pyzmq-26.1.0-cp39-cp39-win_arm64.whl", hash = "sha256:7907419d150b19962138ecec81a17d4892ea440c184949dc29b358bc730caf69"}, - {file = "pyzmq-26.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b24079a14c9596846bf7516fe75d1e2188d4a528364494859106a33d8b48be38"}, - {file = "pyzmq-26.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59d0acd2976e1064f1b398a00e2c3e77ed0a157529779e23087d4c2fb8aaa416"}, - {file = "pyzmq-26.1.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:911c43a4117915203c4cc8755e0f888e16c4676a82f61caee2f21b0c00e5b894"}, - {file = "pyzmq-26.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b10163e586cc609f5f85c9b233195554d77b1e9a0801388907441aaeb22841c5"}, - {file = "pyzmq-26.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:28a8b2abb76042f5fd7bd720f7fea48c0fd3e82e9de0a1bf2c0de3812ce44a42"}, - {file = "pyzmq-26.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bef24d3e4ae2c985034439f449e3f9e06bf579974ce0e53d8a507a1577d5b2ab"}, - {file = "pyzmq-26.1.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2cd0f4d314f4a2518e8970b6f299ae18cff7c44d4a1fc06fc713f791c3a9e3ea"}, - {file = "pyzmq-26.1.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fa25a620eed2a419acc2cf10135b995f8f0ce78ad00534d729aa761e4adcef8a"}, - {file = "pyzmq-26.1.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef3b048822dca6d231d8a8ba21069844ae38f5d83889b9b690bf17d2acc7d099"}, - {file = "pyzmq-26.1.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:9a6847c92d9851b59b9f33f968c68e9e441f9a0f8fc972c5580c5cd7cbc6ee24"}, - {file = "pyzmq-26.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c9b9305004d7e4e6a824f4f19b6d8f32b3578aad6f19fc1122aaf320cbe3dc83"}, - {file = "pyzmq-26.1.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:63c1d3a65acb2f9c92dce03c4e1758cc552f1ae5c78d79a44e3bb88d2fa71f3a"}, - {file = "pyzmq-26.1.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d36b8fffe8b248a1b961c86fbdfa0129dfce878731d169ede7fa2631447331be"}, - {file = "pyzmq-26.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67976d12ebfd61a3bc7d77b71a9589b4d61d0422282596cf58c62c3866916544"}, - {file = "pyzmq-26.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:998444debc8816b5d8d15f966e42751032d0f4c55300c48cc337f2b3e4f17d03"}, - {file = "pyzmq-26.1.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e5c88b2f13bcf55fee78ea83567b9fe079ba1a4bef8b35c376043440040f7edb"}, - {file = "pyzmq-26.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d906d43e1592be4b25a587b7d96527cb67277542a5611e8ea9e996182fae410"}, - {file = "pyzmq-26.1.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80b0c9942430d731c786545da6be96d824a41a51742e3e374fedd9018ea43106"}, - {file = "pyzmq-26.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:314d11564c00b77f6224d12eb3ddebe926c301e86b648a1835c5b28176c83eab"}, - {file = "pyzmq-26.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:093a1a3cae2496233f14b57f4b485da01b4ff764582c854c0f42c6dd2be37f3d"}, - {file = "pyzmq-26.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3c397b1b450f749a7e974d74c06d69bd22dd362142f370ef2bd32a684d6b480c"}, - {file = "pyzmq-26.1.0.tar.gz", hash = "sha256:6c5aeea71f018ebd3b9115c7cb13863dd850e98ca6b9258509de1246461a7e7f"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, + {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, + {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, + {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, + {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, + {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, + {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, + {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, + {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, + {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, ] [package.dependencies] @@ -4301,7 +4453,7 @@ develop = false [package.dependencies] numba = ">=0.59.0" psutil = "^5.9.5" -qibo = "^0.2.10" +qibo = {git = "https://github.com/qiboteam/qibo.git", branch = "matrix_power"} scipy = "^1.10.1" [package.extras] @@ -4312,7 +4464,7 @@ cuquantum = ["cuquantum-python-cu12 (>=23.10.0,<24.0.0)"] type = "git" url = "https://github.com/qiboteam/qibojit.git" reference = "HEAD" -resolved_reference = "0d9bbd2f0f3545293cdb2ac039680b8dbceaf55e" +resolved_reference = "5dd522f84bdd2a66d67b41df990beb3135b3a9f5" [[package]] name = "qibotn" @@ -4334,7 +4486,7 @@ cuda = ["cupy-cuda11x (>=11.6.0,<12.0.0)", "cuquantum-python-cu11 (>=23.3.0,<24. type = "git" url = "https://github.com/qiboteam/qibotn.git" reference = "HEAD" -resolved_reference = "adb3875d235a002d9782691c9e62592054e603af" +resolved_reference = "6590d9b64dff324bcf805c9502e3d558e1c88cf9" [[package]] name = "quimb" @@ -4367,30 +4519,32 @@ tests = ["coverage", "pytest", "pytest-cov"] [[package]] name = "qulacs" -version = "0.6.4.1" +version = "0.6.10" description = "Quantum circuit simulator for research" optional = false python-versions = "*" files = [ - {file = "qulacs-0.6.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a6f582debb716ea4bb9493b3250fb0d58a51acf534b4db9d16c06d87b01f28a5"}, - {file = "qulacs-0.6.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e9d66c7061075157f76b11639914b4f71db1805323d4ccbbc9c9671c24278d98"}, - {file = "qulacs-0.6.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61e6d1fc8f00185a7498b8b37756f175623a429d00147c86c4337bd45ebbc387"}, - {file = "qulacs-0.6.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:cad1c1a018b944be5a1459ba5a01e0a050a0ad767bbe2c988eac96559e625920"}, - {file = "qulacs-0.6.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:50764d16dac2b9b2b5befb34859aec1fe96144149f2637afacd358d2b831bef4"}, - {file = "qulacs-0.6.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:587e6540f490d0a2f075a8b88f971864802f864835eb6b54168df2f66eaf77df"}, - {file = "qulacs-0.6.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03bee026f96700ecc8ac35a93407fe15453888febc5ac286fb978ab8a165d565"}, - {file = "qulacs-0.6.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:89be135541e85cf0fffa550ebed63441800fb1387f10d2aa48a2315c40477e86"}, - {file = "qulacs-0.6.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:2c9297bb3f9e213e5332f197f395843b49f847639302dd97a496852d04b19f06"}, - {file = "qulacs-0.6.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:36bd983a8ce670813fe657a943e88d9c1b12faf495bd257778dc5dfec7b0c142"}, - {file = "qulacs-0.6.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6fbd1010ba09e4b3d2313378d5857fc8477487857c401631fa7c646b82eb005"}, - {file = "qulacs-0.6.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:23febdcc489c2f0f30114a20e81492b4221ca8dbbfd1f0239ba01220b898caa7"}, - {file = "qulacs-0.6.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fe18ea1b1080895a24e8861e18be432665376f5606f884822295f2293b15e7f1"}, - {file = "qulacs-0.6.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b79466aa8dbee245a2693020994e122310d332fd5d793f154eb79eea2fa06f80"}, - {file = "qulacs-0.6.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:c5c1eacf6f9572ce6dfc12e1abec10c00e4f71a90c27f1babbcd9b844880c912"}, - {file = "qulacs-0.6.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b5e8c8990b8b55dd3a0bf4d02033d7f6c9183f8bb2f015b6a6105a79405036b"}, - {file = "qulacs-0.6.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e53a03ef08a8cf43269a0277b0e7a917b56cec0374677d15249553ee1a5f4c73"}, - {file = "qulacs-0.6.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:1e7b6d8dc79275233c0dc9d5a8cefac3f55b625be6f8855e99f3769f408f4052"}, - {file = "qulacs-0.6.4.1.tar.gz", hash = "sha256:be90b8586b6f1b2f2f806fca762f37116d02dc4fbe74d75ebfb4c6238c3bcde2"}, + {file = "qulacs-0.6.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f3c9e60929947f68117fa4e19b097490377a9fe2482d527444d0201a89d9a87b"}, + {file = "qulacs-0.6.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:89c8857e283c0e1627a12a155a1b5ed593cf32f8037a291e2297e044d75a82d3"}, + {file = "qulacs-0.6.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c80a45202ceff76fcc3a0f2f21125d1187fa6baddc51c969cfb0949b2a3ba9e"}, + {file = "qulacs-0.6.10-cp310-cp310-win_amd64.whl", hash = "sha256:c72571328ca3fbc94b4277feaf8629781580e9b22da471b4355f01dd135a52a8"}, + {file = "qulacs-0.6.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:08a8d044c3d9ebb8c393ed11bd5e92ee30e8ca485016b9e0c1e7a8fd4fac9d21"}, + {file = "qulacs-0.6.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:43d4cab074fb0a85d21b621d9c951c31a9a21ac361ce34056b39a758245b8a95"}, + {file = "qulacs-0.6.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76ca215e00fe956aa0f12c2a0fcbecd9283fe571b2cc36e3c68bdd1f48ca406a"}, + {file = "qulacs-0.6.10-cp311-cp311-win_amd64.whl", hash = "sha256:acefb66da0bf563169b135865efb9d85f9f4428b02503d08fa6cc6289d6d9aec"}, + {file = "qulacs-0.6.10-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:04d68f4b3616741f4cf3f03fd63a964118d560204b15e6ef331e71b64a8a7d72"}, + {file = "qulacs-0.6.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e378ebb421dcc926f7e040dad326756b2ca6b921598fd6bfe66ceeb5e5a4b8e2"}, + {file = "qulacs-0.6.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca8bd30828571d5a83f408f995030efee2350020cc8351d5695139dd0ddeac18"}, + {file = "qulacs-0.6.10-cp312-cp312-win_amd64.whl", hash = "sha256:354458f1576fa88806cc31b692ea56a935fd62fb01cfd351c01aa80c0e6a61f6"}, + {file = "qulacs-0.6.10-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3ffd975f04f0583e75d792a3adc9268f23251e86f192e6d411350684699ad794"}, + {file = "qulacs-0.6.10-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6c9c0d7204a400e6eb7dc10fdfbf26949622e67cc7ae22e80d9f4a74577ef31c"}, + {file = "qulacs-0.6.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f66ef094aba52281348f929b5ce9f55b39a50e8c9d7a7f9e98564a4ae372cac"}, + {file = "qulacs-0.6.10-cp38-cp38-win_amd64.whl", hash = "sha256:1a0e1293e8619921791be2150a5db633585ad20f1ef2ad718f0fd41af8900ed9"}, + {file = "qulacs-0.6.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ce590b72bffb992d158022fde34f264c7d44c78a40546be9e58465765a3f962"}, + {file = "qulacs-0.6.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8410fdcc8477fd970cba6ab9b83e1d3a03cdf3d28ac0d3ec146c939d67c13c40"}, + {file = "qulacs-0.6.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:287b5f756faa3842d6b4cc20c0ab000b6a9f63891f3aaaf7a069537e02dccfe4"}, + {file = "qulacs-0.6.10-cp39-cp39-win_amd64.whl", hash = "sha256:e8a7afbdaf53b54e925f96d5bb7bf3acd885fa9037ac8d4ee83a0053c90b29b1"}, + {file = "qulacs-0.6.10.tar.gz", hash = "sha256:e7a872f0497b22ac3e64a9074a6b5572d5cb426864ac27f5cbfd11527959cd96"}, ] [package.dependencies] @@ -4400,7 +4554,7 @@ scipy = "*" [package.extras] ci = ["black", "flake8", "isort", "mypy", "openfermion", "pybind11-stubgen", "pytest"] dev = ["black", "flake8", "isort", "mypy", "openfermion", "pybind11-stubgen", "pytest"] -doc = ["breathe", "exhale", "ipykernel", "mypy", "myst-parser", "nbsphinx", "pybind11-stubgen", "sphinx (==7.*)", "sphinx-autoapi (==3.*)", "sphinx-copybutton", "sphinx-rtd-theme"] +doc = ["breathe", "exhale", "ipykernel", "mypy", "myst-parser", "nbsphinx", "pybind11-stubgen", "sphinx (==7.*)", "sphinx-autoapi (==3.0.0)", "sphinx-copybutton", "sphinx-rtd-theme"] test = ["openfermion"] [[package]] @@ -4484,13 +4638,13 @@ idna2008 = ["idna"] [[package]] name = "rich" -version = "13.7.1" +version = "13.8.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, - {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, + {file = "rich-13.8.1-py3-none-any.whl", hash = "sha256:1760a3c0848469b97b558fc61c85233e3dafb69c7a071b4d60c38099d3cd4c06"}, + {file = "rich-13.8.1.tar.gz", hash = "sha256:8260cda28e3db6bf04d2d1ef4dbc03ba80a824c88b0e7668a0f23126a424844a"}, ] [package.dependencies] @@ -4609,32 +4763,32 @@ files = [ [[package]] name = "scikit-learn" -version = "1.5.1" +version = "1.5.2" description = "A set of python modules for machine learning and data mining" optional = false python-versions = ">=3.9" files = [ - {file = "scikit_learn-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:781586c414f8cc58e71da4f3d7af311e0505a683e112f2f62919e3019abd3745"}, - {file = "scikit_learn-1.5.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:f5b213bc29cc30a89a3130393b0e39c847a15d769d6e59539cd86b75d276b1a7"}, - {file = "scikit_learn-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ff4ba34c2abff5ec59c803ed1d97d61b036f659a17f55be102679e88f926fac"}, - {file = "scikit_learn-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:161808750c267b77b4a9603cf9c93579c7a74ba8486b1336034c2f1579546d21"}, - {file = "scikit_learn-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:10e49170691514a94bb2e03787aa921b82dbc507a4ea1f20fd95557862c98dc1"}, - {file = "scikit_learn-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:154297ee43c0b83af12464adeab378dee2d0a700ccd03979e2b821e7dd7cc1c2"}, - {file = "scikit_learn-1.5.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b5e865e9bd59396220de49cb4a57b17016256637c61b4c5cc81aaf16bc123bbe"}, - {file = "scikit_learn-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:909144d50f367a513cee6090873ae582dba019cb3fca063b38054fa42704c3a4"}, - {file = "scikit_learn-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:689b6f74b2c880276e365fe84fe4f1befd6a774f016339c65655eaff12e10cbf"}, - {file = "scikit_learn-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:9a07f90846313a7639af6a019d849ff72baadfa4c74c778821ae0fad07b7275b"}, - {file = "scikit_learn-1.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5944ce1faada31c55fb2ba20a5346b88e36811aab504ccafb9f0339e9f780395"}, - {file = "scikit_learn-1.5.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0828673c5b520e879f2af6a9e99eee0eefea69a2188be1ca68a6121b809055c1"}, - {file = "scikit_learn-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:508907e5f81390e16d754e8815f7497e52139162fd69c4fdbd2dfa5d6cc88915"}, - {file = "scikit_learn-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97625f217c5c0c5d0505fa2af28ae424bd37949bb2f16ace3ff5f2f81fb4498b"}, - {file = "scikit_learn-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:da3f404e9e284d2b0a157e1b56b6566a34eb2798205cba35a211df3296ab7a74"}, - {file = "scikit_learn-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:88e0672c7ac21eb149d409c74cc29f1d611d5158175846e7a9c2427bd12b3956"}, - {file = "scikit_learn-1.5.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:7b073a27797a283187a4ef4ee149959defc350b46cbf63a84d8514fe16b69855"}, - {file = "scikit_learn-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b59e3e62d2be870e5c74af4e793293753565c7383ae82943b83383fdcf5cc5c1"}, - {file = "scikit_learn-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd8d3a19d4bd6dc5a7d4f358c8c3a60934dc058f363c34c0ac1e9e12a31421d"}, - {file = "scikit_learn-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:5f57428de0c900a98389c4a433d4a3cf89de979b3aa24d1c1d251802aa15e44d"}, - {file = "scikit_learn-1.5.1.tar.gz", hash = "sha256:0ea5d40c0e3951df445721927448755d3fe1d80833b0b7308ebff5d2a45e6414"}, + {file = "scikit_learn-1.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:299406827fb9a4f862626d0fe6c122f5f87f8910b86fe5daa4c32dcd742139b6"}, + {file = "scikit_learn-1.5.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:2d4cad1119c77930b235579ad0dc25e65c917e756fe80cab96aa3b9428bd3fb0"}, + {file = "scikit_learn-1.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c412ccc2ad9bf3755915e3908e677b367ebc8d010acbb3f182814524f2e5540"}, + {file = "scikit_learn-1.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a686885a4b3818d9e62904d91b57fa757fc2bed3e465c8b177be652f4dd37c8"}, + {file = "scikit_learn-1.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:c15b1ca23d7c5f33cc2cb0a0d6aaacf893792271cddff0edbd6a40e8319bc113"}, + {file = "scikit_learn-1.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:03b6158efa3faaf1feea3faa884c840ebd61b6484167c711548fce208ea09445"}, + {file = "scikit_learn-1.5.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1ff45e26928d3b4eb767a8f14a9a6efbf1cbff7c05d1fb0f95f211a89fd4f5de"}, + {file = "scikit_learn-1.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f763897fe92d0e903aa4847b0aec0e68cadfff77e8a0687cabd946c89d17e675"}, + {file = "scikit_learn-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8b0ccd4a902836493e026c03256e8b206656f91fbcc4fde28c57a5b752561f1"}, + {file = "scikit_learn-1.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:6c16d84a0d45e4894832b3c4d0bf73050939e21b99b01b6fd59cbb0cf39163b6"}, + {file = "scikit_learn-1.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f932a02c3f4956dfb981391ab24bda1dbd90fe3d628e4b42caef3e041c67707a"}, + {file = "scikit_learn-1.5.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3b923d119d65b7bd555c73be5423bf06c0105678ce7e1f558cb4b40b0a5502b1"}, + {file = "scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f60021ec1574e56632be2a36b946f8143bf4e5e6af4a06d85281adc22938e0dd"}, + {file = "scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:394397841449853c2290a32050382edaec3da89e35b3e03d6cc966aebc6a8ae6"}, + {file = "scikit_learn-1.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:57cc1786cfd6bd118220a92ede80270132aa353647684efa385a74244a41e3b1"}, + {file = "scikit_learn-1.5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:757c7d514ddb00ae249832fe87100d9c73c6ea91423802872d9e74970a0e40b9"}, + {file = "scikit_learn-1.5.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:52788f48b5d8bca5c0736c175fa6bdaab2ef00a8f536cda698db61bd89c551c1"}, + {file = "scikit_learn-1.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:643964678f4b5fbdc95cbf8aec638acc7aa70f5f79ee2cdad1eec3df4ba6ead8"}, + {file = "scikit_learn-1.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca64b3089a6d9b9363cd3546f8978229dcbb737aceb2c12144ee3f70f95684b7"}, + {file = "scikit_learn-1.5.2-cp39-cp39-win_amd64.whl", hash = "sha256:3bed4909ba187aca80580fe2ef370d9180dcf18e621a27c4cf2ef10d279a7efe"}, + {file = "scikit_learn-1.5.2.tar.gz", hash = "sha256:b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d"}, ] [package.dependencies] @@ -4646,11 +4800,11 @@ threadpoolctl = ">=3.1.0" [package.extras] benchmark = ["matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "pandas (>=1.1.5)"] build = ["cython (>=3.0.10)", "meson-python (>=0.16.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)"] -docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "polars (>=0.20.23)", "pooch (>=1.6.0)", "pydata-sphinx-theme (>=0.15.3)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=7.3.7)", "sphinx-copybutton (>=0.5.2)", "sphinx-design (>=0.5.0)", "sphinx-gallery (>=0.16.0)", "sphinx-prompt (>=1.4.0)", "sphinx-remove-toctrees (>=1.0.0.post1)", "sphinxcontrib-sass (>=0.3.4)", "sphinxext-opengraph (>=0.9.1)"] +docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pydata-sphinx-theme (>=0.15.3)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=7.3.7)", "sphinx-copybutton (>=0.5.2)", "sphinx-design (>=0.5.0)", "sphinx-design (>=0.6.0)", "sphinx-gallery (>=0.16.0)", "sphinx-prompt (>=1.4.0)", "sphinx-remove-toctrees (>=1.0.0.post1)", "sphinxcontrib-sass (>=0.3.4)", "sphinxext-opengraph (>=0.9.1)"] examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"] install = ["joblib (>=1.2.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)", "threadpoolctl (>=3.1.0)"] maintenance = ["conda-lock (==2.5.6)"] -tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.23)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.2.1)", "scikit-image (>=0.17.2)"] +tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.2.1)", "scikit-image (>=0.17.2)"] [[package]] name = "scipy" @@ -4717,18 +4871,23 @@ stats = ["scipy (>=1.7)", "statsmodels (>=0.12)"] [[package]] name = "setuptools" -version = "70.3.0" +version = "75.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, - {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, + {file = "setuptools-75.1.0-py3-none-any.whl", hash = "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2"}, + {file = "setuptools-75.1.0.tar.gz", hash = "sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538"}, ] [package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] [[package]] name = "six" @@ -4981,6 +5140,93 @@ lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] test = ["pytest"] +[[package]] +name = "sqlalchemy" +version = "2.0.35" +description = "Database Abstraction Library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:67219632be22f14750f0d1c70e62f204ba69d28f62fd6432ba05ab295853de9b"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4668bd8faf7e5b71c0319407b608f278f279668f358857dbfd10ef1954ac9f90"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb8bea573863762bbf45d1e13f87c2d2fd32cee2dbd50d050f83f87429c9e1ea"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f552023710d4b93d8fb29a91fadf97de89c5926c6bd758897875435f2a939f33"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:016b2e665f778f13d3c438651dd4de244214b527a275e0acf1d44c05bc6026a9"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7befc148de64b6060937231cbff8d01ccf0bfd75aa26383ffdf8d82b12ec04ff"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-win32.whl", hash = "sha256:22b83aed390e3099584b839b93f80a0f4a95ee7f48270c97c90acd40ee646f0b"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-win_amd64.whl", hash = "sha256:a29762cd3d116585278ffb2e5b8cc311fb095ea278b96feef28d0b423154858e"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e21f66748ab725ade40fa7af8ec8b5019c68ab00b929f6643e1b1af461eddb60"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8a6219108a15fc6d24de499d0d515c7235c617b2540d97116b663dade1a54d62"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:042622a5306c23b972192283f4e22372da3b8ddf5f7aac1cc5d9c9b222ab3ff6"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:627dee0c280eea91aed87b20a1f849e9ae2fe719d52cbf847c0e0ea34464b3f7"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4fdcd72a789c1c31ed242fd8c1bcd9ea186a98ee8e5408a50e610edfef980d71"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:89b64cd8898a3a6f642db4eb7b26d1b28a497d4022eccd7717ca066823e9fb01"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-win32.whl", hash = "sha256:6a93c5a0dfe8d34951e8a6f499a9479ffb9258123551fa007fc708ae2ac2bc5e"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-win_amd64.whl", hash = "sha256:c68fe3fcde03920c46697585620135b4ecfdfc1ed23e75cc2c2ae9f8502c10b8"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:eb60b026d8ad0c97917cb81d3662d0b39b8ff1335e3fabb24984c6acd0c900a2"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6921ee01caf375363be5e9ae70d08ce7ca9d7e0e8983183080211a062d299468"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cdf1a0dbe5ced887a9b127da4ffd7354e9c1a3b9bb330dce84df6b70ccb3a8d"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93a71c8601e823236ac0e5d087e4f397874a421017b3318fd92c0b14acf2b6db"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e04b622bb8a88f10e439084486f2f6349bf4d50605ac3e445869c7ea5cf0fa8c"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1b56961e2d31389aaadf4906d453859f35302b4eb818d34a26fab72596076bb8"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-win32.whl", hash = "sha256:0f9f3f9a3763b9c4deb8c5d09c4cc52ffe49f9876af41cc1b2ad0138878453cf"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-win_amd64.whl", hash = "sha256:25b0f63e7fcc2a6290cb5f7f5b4fc4047843504983a28856ce9b35d8f7de03cc"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f021d334f2ca692523aaf7bbf7592ceff70c8594fad853416a81d66b35e3abf9"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05c3f58cf91683102f2f0265c0db3bd3892e9eedabe059720492dbaa4f922da1"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:032d979ce77a6c2432653322ba4cbeabf5a6837f704d16fa38b5a05d8e21fa00"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:2e795c2f7d7249b75bb5f479b432a51b59041580d20599d4e112b5f2046437a3"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:cc32b2990fc34380ec2f6195f33a76b6cdaa9eecf09f0c9404b74fc120aef36f"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-win32.whl", hash = "sha256:9509c4123491d0e63fb5e16199e09f8e262066e58903e84615c301dde8fa2e87"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-win_amd64.whl", hash = "sha256:3655af10ebcc0f1e4e06c5900bb33e080d6a1fa4228f502121f28a3b1753cde5"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4c31943b61ed8fdd63dfd12ccc919f2bf95eefca133767db6fbbd15da62078ec"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a62dd5d7cc8626a3634208df458c5fe4f21200d96a74d122c83bc2015b333bc1"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0630774b0977804fba4b6bbea6852ab56c14965a2b0c7fc7282c5f7d90a1ae72"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d625eddf7efeba2abfd9c014a22c0f6b3796e0ffb48f5d5ab106568ef01ff5a"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ada603db10bb865bbe591939de854faf2c60f43c9b763e90f653224138f910d9"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c41411e192f8d3ea39ea70e0fae48762cd11a2244e03751a98bd3c0ca9a4e936"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-win32.whl", hash = "sha256:d299797d75cd747e7797b1b41817111406b8b10a4f88b6e8fe5b5e59598b43b0"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-win_amd64.whl", hash = "sha256:0375a141e1c0878103eb3d719eb6d5aa444b490c96f3fedab8471c7f6ffe70ee"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ccae5de2a0140d8be6838c331604f91d6fafd0735dbdcee1ac78fc8fbaba76b4"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2a275a806f73e849e1c309ac11108ea1a14cd7058577aba962cd7190e27c9e3c"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:732e026240cdd1c1b2e3ac515c7a23820430ed94292ce33806a95869c46bd139"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890da8cd1941fa3dab28c5bac3b9da8502e7e366f895b3b8e500896f12f94d11"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c0d8326269dbf944b9201911b0d9f3dc524d64779a07518199a58384c3d37a44"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b76d63495b0508ab9fc23f8152bac63205d2a704cd009a2b0722f4c8e0cba8e0"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-win32.whl", hash = "sha256:69683e02e8a9de37f17985905a5eca18ad651bf592314b4d3d799029797d0eb3"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-win_amd64.whl", hash = "sha256:aee110e4ef3c528f3abbc3c2018c121e708938adeeff9006428dd7c8555e9b3f"}, + {file = "SQLAlchemy-2.0.35-py3-none-any.whl", hash = "sha256:2ab3f0336c0387662ce6221ad30ab3a5e6499aab01b9790879b6578fd9b8faa1"}, + {file = "sqlalchemy-2.0.35.tar.gz", hash = "sha256:e11d7ea4d24f0a262bccf9a7cd6284c976c5369dac21db237cff59586045ab9f"}, +] + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} +typing-extensions = ">=4.6.0" + +[package.extras] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mypy = ["mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0)"] +mysql-connector = ["mysql-connector-python"] +oracle = ["cx_oracle (>=8)"] +oracle-oracledb = ["oracledb (>=1.0.1)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.29.1)"] +postgresql-psycopg = ["psycopg (>=3.0.7)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] +pymysql = ["pymysql"] +sqlcipher = ["sqlcipher3_binary"] + [[package]] name = "stack-data" version = "0.6.3" @@ -5455,13 +5701,13 @@ files = [ [[package]] name = "types-python-dateutil" -version = "2.9.0.20240316" +version = "2.9.0.20240906" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.9.0.20240316.tar.gz", hash = "sha256:5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202"}, - {file = "types_python_dateutil-2.9.0.20240316-py3-none-any.whl", hash = "sha256:6b8cb66d960771ce5ff974e9dd45e38facb81718cc1e208b10b1baccbfdbee3b"}, + {file = "types-python-dateutil-2.9.0.20240906.tar.gz", hash = "sha256:9706c3b68284c25adffc47319ecc7947e5bb86b3773f843c73906fd598bc176e"}, + {file = "types_python_dateutil-2.9.0.20240906-py3-none-any.whl", hash = "sha256:27c8cc2d058ccb14946eebcaaa503088f4f6dbc4fb6093d3d456a49aef2753f6"}, ] [[package]] @@ -5499,13 +5745,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.2" +version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] @@ -5538,13 +5784,13 @@ files = [ [[package]] name = "werkzeug" -version = "3.0.3" +version = "3.0.4" description = "The comprehensive WSGI web application library." optional = false python-versions = ">=3.8" files = [ - {file = "werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8"}, - {file = "werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18"}, + {file = "werkzeug-3.0.4-py3-none-any.whl", hash = "sha256:02c9eb92b7d6c06f31a782811505d2157837cea66aaede3e217c7c27c039476c"}, + {file = "werkzeug-3.0.4.tar.gz", hash = "sha256:34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306"}, ] [package.dependencies] @@ -5569,13 +5815,13 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [[package]] name = "widgetsnbextension" -version = "4.0.11" +version = "4.0.13" description = "Jupyter interactive widgets for Jupyter Notebook" optional = false python-versions = ">=3.7" files = [ - {file = "widgetsnbextension-4.0.11-py3-none-any.whl", hash = "sha256:55d4d6949d100e0d08b94948a42efc3ed6dfdc0e9468b2c4b128c9a2ce3a7a36"}, - {file = "widgetsnbextension-4.0.11.tar.gz", hash = "sha256:8b22a8f1910bfd188e596fe7fc05dcbd87e810c8a4ba010bdb3da86637398474"}, + {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, + {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, ] [[package]] @@ -5676,18 +5922,22 @@ files = [ [[package]] name = "zipp" -version = "3.20.0" +version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.20.0-py3-none-any.whl", hash = "sha256:58da6168be89f0be59beb194da1250516fdaa062ccebd30127ac65d30045e10d"}, - {file = "zipp-3.20.0.tar.gz", hash = "sha256:0145e43d89664cfe1a2e533adc75adafed82fe2da404b4bbb6b026c0157bdb31"}, + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] [extras] qinfo = [] @@ -5698,4 +5948,4 @@ torch = ["torch"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.13" -content-hash = "712016dc85e542db06578a3bb94c1bc58ccf533113ab7e8f40569d6225c87d73" +content-hash = "56a9714596912650409692687d8983633a31ad11ec488b33429d523088700d5b" diff --git a/pyproject.toml b/pyproject.toml index e9b9af39be..c9d614fc3a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "qibo" -version = "0.2.12" +version = "0.2.13" description = "A framework for quantum computing with hardware acceleration." authors = ["The Qibo team"] license = "Apache License 2.0" @@ -26,9 +26,7 @@ scipy = "^1.10.1" sympy = "^1.11.1" cma = "^3.3.0" joblib = "^1.2.0" -hyperopt = "^0.2.7" -# `setuptools` is only required because undeclared by `hyperopt` -setuptools = ">=69.1.1,<71.0.0" +optuna = "^4.0.0" tabulate = "^0.9.0" openqasm3 = { version = ">=0.5.0", extras = ["parser"] } numpy = "^1.26.4" diff --git a/src/qibo/backends/_clifford_operations.py b/src/qibo/backends/_clifford_operations.py index 9030123e57..1980b8d230 100644 --- a/src/qibo/backends/_clifford_operations.py +++ b/src/qibo/backends/_clifford_operations.py @@ -388,10 +388,12 @@ def _rowsum(symplectic_matrix, h, i, nqubits, determined=False): def _determined_outcome(state, q, nqubits): state[-1, :] = 0 idx = (state[:nqubits, q].nonzero()[0] + nqubits).astype(np.uint) + if len(idx) == 0: + return state, state[-1, -1] state = _pack_for_measurements(state, nqubits) state = _rowsum( state, - 2 * nqubits * np.ones(idx.shape, dtype=np.uint), + _dim_xz(nqubits) * np.ones(idx.shape, dtype=np.uint), idx, _packed_size(nqubits), True, @@ -427,7 +429,14 @@ def _random_outcome(state, p, q, nqubits): @cache def _dim(nqubits): """Returns the dimension of the symplectic matrix for a given number of qubits.""" - return 2 * nqubits + 1 + return _dim_xz(nqubits) + 1 + + +@cache +def _dim_xz(nqubits): + """Returns the dimension of the symplectic matrix (only the de/stabilizers generators part, + without the phases and scratch row) for a given number of qubits.""" + return 2 * nqubits @cache @@ -440,8 +449,8 @@ def _packbits(array, axis): return np.packbits(array, axis=axis) -def _unpackbits(array, axis): - return np.unpackbits(array, axis=axis) +def _unpackbits(array, axis, count): + return np.unpackbits(array, axis=axis, count=count) def _pack_for_measurements(state, nqubits): @@ -452,23 +461,16 @@ def _pack_for_measurements(state, nqubits): return np.hstack((x, z, r[:, None])) -@cache -def _pad_size(n): - """Returns the size of the pad added to an array of original dimension `n` after unpacking.""" - return 8 - (n % 8) - - def _unpack_for_measurements(state, nqubits): """Unpacks the symplectc matrix that was packed for measurements.""" - xz = _unpackbits(state[:, :-1], axis=1) - padding_size = _pad_size(nqubits) - x, z = xz[:, :nqubits], xz[:, nqubits + padding_size : -padding_size] + xz = _unpackbits(state[:, :-1], axis=1, count=_dim_xz(nqubits)) + x, z = xz[:, :nqubits], xz[:, nqubits:] return np.hstack((x, z, state[:, -1][:, None])) def _init_state_for_measurements(state, nqubits, collapse): if collapse: - return _unpackbits(state, axis=0)[: _dim(nqubits)] + return _unpackbits(state, axis=0, count=_dim_xz(nqubits))[: _dim(nqubits)] else: return state.copy() @@ -523,7 +525,7 @@ def _clifford_post_execution_reshape(state, nqubits: int): Returns: (np.array) The unpacked and reshaped state. """ - state = _unpackbits(state, axis=0)[: _dim(nqubits)] + state = _unpackbits(state, axis=0, count=_dim(nqubits))[: _dim(nqubits)] return state diff --git a/src/qibo/backends/abstract.py b/src/qibo/backends/abstract.py index abe1f20d83..468fa89008 100644 --- a/src/qibo/backends/abstract.py +++ b/src/qibo/backends/abstract.py @@ -1,4 +1,5 @@ import abc +from typing import Union from qibo.config import raise_error @@ -318,12 +319,16 @@ def calculate_overlap_density_matrix(self, state1, state2): # pragma: no cover raise_error(NotImplementedError) @abc.abstractmethod - def calculate_eigenvalues(self, matrix, k=6): # pragma: no cover + def calculate_eigenvalues( + self, matrix, k: int = 6, hermitian: bool = True + ): # pragma: no cover """Calculate eigenvalues of a matrix.""" raise_error(NotImplementedError) @abc.abstractmethod - def calculate_eigenvectors(self, matrix, k=6): # pragma: no cover + def calculate_eigenvectors( + self, matrix, k: int = 6, hermitian: bool = True + ): # pragma: no cover """Calculate eigenvectors of a matrix.""" raise_error(NotImplementedError) @@ -351,6 +356,21 @@ def calculate_matrix_exp( """ raise_error(NotImplementedError) + @abc.abstractmethod + def calculate_matrix_power( + self, matrix, power: Union[float, int] + ): # pragma: no cover + """Calculate the (fractional) ``power`` :math:`\\alpha` of ``matrix`` :math:`A`, + i.e. :math:`A^{\\alpha}`. + + .. note:: + For the ``pytorch`` backend, this method relies on a copy of the original tensor. + This may break the gradient flow. For the GPU backends (i.e. ``cupy`` and + ``cuquantum``), this method falls back to CPU whenever ``power`` is not + an integer. + """ + raise_error(NotImplementedError) + @abc.abstractmethod def calculate_hamiltonian_matrix_product( self, matrix1, matrix2 diff --git a/src/qibo/backends/numpy.py b/src/qibo/backends/numpy.py index bcde6ac013..fe1441b7c6 100644 --- a/src/qibo/backends/numpy.py +++ b/src/qibo/backends/numpy.py @@ -1,9 +1,10 @@ import collections import math +from typing import Union import numpy as np from scipy import sparse -from scipy.linalg import block_diag +from scipy.linalg import block_diag, fractional_matrix_power from qibo import __version__ from qibo.backends import einsum_utils @@ -719,7 +720,7 @@ def calculate_overlap_density_matrix(self, state1, state2): self.np.matmul(self.np.conj(self.cast(state1)).T, self.cast(state2)) ) - def calculate_eigenvalues(self, matrix, k=6, hermitian=True): + def calculate_eigenvalues(self, matrix, k: int = 6, hermitian: bool = True): if self.is_sparse(matrix): log.warning( "Calculating sparse matrix eigenvectors because " @@ -730,7 +731,7 @@ def calculate_eigenvalues(self, matrix, k=6, hermitian=True): return np.linalg.eigvalsh(matrix) return np.linalg.eigvals(matrix) - def calculate_eigenvectors(self, matrix, k=6, hermitian=True): + def calculate_eigenvectors(self, matrix, k: int = 6, hermitian: bool = True): if self.is_sparse(matrix): if k < matrix.shape[0]: from scipy.sparse.linalg import eigsh @@ -768,6 +769,14 @@ def calculate_matrix_exp(self, a, matrix, eigenvectors=None, eigenvalues=None): ud = self.np.transpose(np.conj(eigenvectors)) return self.np.matmul(eigenvectors, self.np.matmul(expd, ud)) + def calculate_matrix_power(self, matrix, power: Union[float, int]): + if not isinstance(power, (float, int)): + raise_error( + TypeError, + f"``power`` must be either float or int, but it is type {type(power)}.", + ) + return fractional_matrix_power(matrix, power) + # TODO: remove this method def calculate_hamiltonian_matrix_product(self, matrix1, matrix2): return matrix1 @ matrix2 diff --git a/src/qibo/backends/pytorch.py b/src/qibo/backends/pytorch.py index 392aeed405..22fbbc5640 100644 --- a/src/qibo/backends/pytorch.py +++ b/src/qibo/backends/pytorch.py @@ -120,7 +120,11 @@ def cast( if isinstance(x, self.np.Tensor): x = x.to(dtype) - elif isinstance(x, list) and all(isinstance(row, self.np.Tensor) for row in x): + elif ( + isinstance(x, list) + and len(x) > 0 + and all(isinstance(row, self.np.Tensor) for row in x) + ): x = self.np.stack(x) else: x = self.np.tensor(x, dtype=dtype, requires_grad=requires_grad) @@ -176,12 +180,12 @@ def sample_shots(self, probabilities, nshots): self.cast(probabilities, dtype="float"), nshots, replacement=True ) - def calculate_eigenvalues(self, matrix, k=6, hermitian=True): + def calculate_eigenvalues(self, matrix, k: int = 6, hermitian: bool = True): if hermitian: return self.np.linalg.eigvalsh(matrix) # pylint: disable=not-callable return self.np.linalg.eigvals(matrix) # pylint: disable=not-callable - def calculate_eigenvectors(self, matrix, k=6, hermitian=True): + def calculate_eigenvectors(self, matrix, k: int = 6, hermitian: int = True): if hermitian: return self.np.linalg.eigh(matrix) # pylint: disable=not-callable return self.np.linalg.eig(matrix) # pylint: disable=not-callable @@ -195,6 +199,11 @@ def calculate_matrix_exp(self, a, matrix, eigenvectors=None, eigenvalues=None): ud = self.np.conj(eigenvectors).T return self.np.matmul(eigenvectors, self.np.matmul(expd, ud)) + def calculate_matrix_power(self, matrix, power): + copied = self.to_numpy(self.np.copy(matrix)) + copied = super().calculate_matrix_power(copied, power) + return self.cast(copied, dtype=copied.dtype) + def _test_regressions(self, name): if name == "test_measurementresult_apply_bitflips": return [ diff --git a/src/qibo/backends/tensorflow.py b/src/qibo/backends/tensorflow.py index 6f4deed49f..2088cd69be 100644 --- a/src/qibo/backends/tensorflow.py +++ b/src/qibo/backends/tensorflow.py @@ -177,12 +177,12 @@ def calculate_norm_density_matrix(self, state, order="nuc"): return self.np.trace(state) return self.tf.norm(state, ord=order) - def calculate_eigenvalues(self, matrix, k=6, hermitian=True): + def calculate_eigenvalues(self, matrix, k: int = 6, hermitian: bool = True): if hermitian: return self.tf.linalg.eigvalsh(matrix) return self.tf.linalg.eigvals(matrix) - def calculate_eigenvectors(self, matrix, k=6, hermitian=True): + def calculate_eigenvectors(self, matrix, k: int = 6, hermitian: bool = True): if hermitian: return self.tf.linalg.eigh(matrix) return self.tf.linalg.eig(matrix) diff --git a/src/qibo/gates/abstract.py b/src/qibo/gates/abstract.py index 250c309934..3429cb3c8a 100644 --- a/src/qibo/gates/abstract.py +++ b/src/qibo/gates/abstract.py @@ -268,7 +268,7 @@ def on_qubits(self, qubit_map) -> "Gate": c.add(gates.CNOT(2, 3).on_qubits({2: 3, 3: 0})) # equivalent to gates.CNOT(3, 0) c.add(gates.CNOT(2, 3).on_qubits({2: 1, 3: 3})) # equivalent to gates.CNOT(1, 3) c.add(gates.CNOT(2, 3).on_qubits({2: 2, 3: 1})) # equivalent to gates.CNOT(2, 1) - print(c.draw()) + c.draw() .. testoutput:: q0: ───X───── diff --git a/src/qibo/gates/measurements.py b/src/qibo/gates/measurements.py index 64a7a98e50..5e50ecf1c6 100644 --- a/src/qibo/gates/measurements.py +++ b/src/qibo/gates/measurements.py @@ -247,7 +247,7 @@ def on_qubits(self, qubit_map) -> "Gate": c = models.Circuit(3) c.add(measurement.on_qubits({0: 0, 1: 2})) assert c.queue[0].result is measurement.result - print(c.draw()) + c.draw() .. testoutput:: q0: ─M─ diff --git a/src/qibo/hamiltonians/hamiltonians.py b/src/qibo/hamiltonians/hamiltonians.py index d8264b4b44..75fd10c7ba 100644 --- a/src/qibo/hamiltonians/hamiltonians.py +++ b/src/qibo/hamiltonians/hamiltonians.py @@ -564,7 +564,9 @@ def expectation_from_samples(self, freq, qubit_map=None): if len(term.factors) != len(set(term.factors)): raise_error(NotImplementedError, "Z^k is not implemented since Z^2=I.") keys = list(freq.keys()) - counts = np.array(list(freq.values())) / sum(freq.values()) + counts = self.backend.cast(list(freq.values()), self.backend.precision) / sum( + freq.values() + ) qubits = [] for term in terms: qubits_term = [] diff --git a/src/qibo/models/circuit.py b/src/qibo/models/circuit.py index c4586c5ae2..8bfb423abf 100644 --- a/src/qibo/models/circuit.py +++ b/src/qibo/models/circuit.py @@ -1,5 +1,6 @@ import collections import copy +import sys from typing import Dict, List, Optional, Tuple, Union import numpy as np @@ -1267,18 +1268,8 @@ def _update_draw_matrix(self, matrix, idx, gate, gate_symbol=None): return matrix, idx - def draw(self, line_wrap=70, legend=False) -> str: - """Draw text circuit using unicode symbols. - - Args: - line_wrap (int): maximum number of characters per line. This option - split the circuit text diagram in chunks of line_wrap characters. - legend (bool): If ``True`` prints a legend below the circuit for - callbacks and channels. Default is ``False``. - - Return: - String containing text circuit diagram. - """ + def diagram(self, line_wrap: int = 70, legend: bool = False) -> str: + """Build the string representation of the circuit diagram.""" # build string representation of gates matrix = [[] for _ in range(self.nqubits)] idx = [0] * self.nqubits @@ -1369,3 +1360,21 @@ def chunkstring(string, length): output += table return output.rstrip("\n") + + def __str__(self): + return self.diagram() + + def draw(self, line_wrap: int = 70, legend: bool = False): + """Draw text circuit using unicode symbols. + + Args: + line_wrap (int, optional): maximum number of characters per line. This option + split the circuit text diagram in chunks of line_wrap characters. + Defaults to :math:`70`. + legend (bool, optional): If ``True`` prints a legend below the circuit for + callbacks and channels. Defaults to ``False``. + + Returns: + String containing text circuit diagram. + """ + sys.stdout.write(self.diagram(line_wrap, legend) + "\n") diff --git a/src/qibo/models/dbi/double_bracket.py b/src/qibo/models/dbi/double_bracket.py index ef870535ed..ccaacca39d 100644 --- a/src/qibo/models/dbi/double_bracket.py +++ b/src/qibo/models/dbi/double_bracket.py @@ -3,6 +3,7 @@ from typing import Optional import numpy as np +import optuna from qibo.config import raise_error from qibo.hamiltonians import Hamiltonian @@ -55,7 +56,7 @@ class DoubleBracketScheduling(Enum): """Define the DBI scheduling strategies.""" hyperopt = hyperopt_step - """Use hyperopt package.""" + """Use optuna package to hyperoptimize the DBI step.""" grid_search = grid_search_step """Use greedy grid search.""" polynomial_approximation = polynomial_step diff --git a/src/qibo/models/dbi/utils_dbr_strategies.py b/src/qibo/models/dbi/utils_dbr_strategies.py index fb71cdf49f..3f7ff06221 100644 --- a/src/qibo/models/dbi/utils_dbr_strategies.py +++ b/src/qibo/models/dbi/utils_dbr_strategies.py @@ -1,4 +1,4 @@ -import hyperopt +import optuna from qibo.backends import _check_backend from qibo.models.dbi.double_bracket import * @@ -155,7 +155,7 @@ def gradient_descent( lr_max: float = 1, max_evals: int = 100, space: callable = None, - optimizer: callable = hyperopt.tpe, + optimizer: optuna.samplers.BaseSampler = optuna.samplers.TPESampler(), verbose: bool = False, backend=None, ): @@ -173,61 +173,26 @@ def gradient_descent( normalize (bool, optional): option to normalize the diagonal operator. Defaults to False. lr_min (float, optional): the minimal gradient step. Defaults to 1e-5. lr_max (float, optional): the maximal gradient step. Defaults to 1. - max_evals (int, optional): maximum number of evaluations for `lr` using `hyperopt`. Defaults to 100. - space (callable, optional): evalutation space for `hyperopt`. Defaults to None. - optimizer (callable, optional): optimizer option for `hyperopt`. Defaults to `hyperopt.tpe`. - verbose (bool, optional): option for printing `hyperopt` process. Defaults to False. + max_evals (int, optional): maximum number of evaluations for `lr` using `optuna`. Defaults to 100. + space (callable, optional): evalutation space for `optuna`. Defaults to None. + optimizer (optuna.samplers.BaseSampler, optional): optimizer option for `optuna`. Defaults to `TPESampler()`. + verbose (bool, optional): option for printing `optuna` process. Defaults to False. Returns: loss_hist (list): list of history losses of `dbi_object` throughout the double bracket rotations. d_params_hist (list): list of history of `d` parameters after gradient descent. s_hist (list): list of history of optimal `s` found. - Example: - from qibo import set_backend - from qibo.hamiltonians import Hamiltonian - from qibo.models.dbi.double_bracket import * - from qibo.models.dbi.utils import * - from qibo.models.dbi.utils_dbr_strategies import gradient_descent - from qibo.quantum_info import random_hermitian - - nqubits = 3 - NSTEPS = 5 - set_backend("numpy") - h0 = random_hermitian(2**nqubits) - dbi = DoubleBracketIteration( - Hamiltonian(nqubits, h0), - mode=DoubleBracketGeneratorType.single_commutator, - scheduling=DoubleBracketScheduling.hyperopt, - cost=DoubleBracketCostFunction.off_diagonal_norm, - ) - initial_off_diagonal_norm = dbi.off_diagonal_norm - pauli_operator_dict = generate_pauli_operator_dict( - nqubits, parameterization_order=1 - ) - pauli_operators = list(pauli_operator_dict.values()) - # let initial d be approximation of $\Delta(H) - d_coef_pauli = decompose_into_Pauli_basis( - dbi.diagonal_h_matrix, pauli_operators=pauli_operators - ) - d_pauli = sum([d_coef_pauli[i] * pauli_operators[i] for i in range(nqubits)]) - loss_hist_pauli, d_params_hist_pauli, s_hist_pauli = gradient_descent( - dbi, - NSTEPS, - d_coef_pauli, - ParameterizationTypes.pauli, - pauli_operator_dict=pauli_operator_dict, - ) """ backend = _check_backend(backend) nqubits = dbi_object.nqubits - # TODO: write tests where this condition applies if ( parameterization is ParameterizationTypes.pauli and pauli_operator_dict is None ): # pragma: no cover pauli_operator_dict = generate_pauli_operator_dict( nqubits=nqubits, parameterization_order=pauli_parameterization_order ) + d = params_to_diagonal_operator( d_params, nqubits, @@ -236,21 +201,14 @@ def gradient_descent( normalize=normalize, backend=backend, ) + loss_hist = [dbi_object.loss(0.0, d=d)] d_params_hist = [d_params] s_hist = [0] - # TODO: write tests where this condition applies - if ( - parameterization is ParameterizationTypes.pauli and pauli_operator_dict is None - ): # pragma: no cover - pauli_operator_dict = generate_pauli_operator_dict( - nqubits=nqubits, - parameterization_order=pauli_parameterization_order, - backend=backend, - ) - # first step + s = dbi_object.choose_step(d=d) dbi_object(step=s, d=d) + for _ in range(iterations): grad = gradient_numerical( dbi_object, @@ -262,8 +220,8 @@ def gradient_descent( backend=backend, ) - # set up hyperopt to find optimal lr - def func_loss_to_lr(lr): + def func_loss_to_lr(trial): + lr = trial.suggest_loguniform("lr", lr_min, lr_max) d_params_eval = [d_params[j] - grad[j] * lr for j in range(len(grad))] d_eval = params_to_diagonal_operator( d_params_eval, @@ -275,17 +233,14 @@ def func_loss_to_lr(lr): ) return dbi_object.loss(step=s, d=d_eval) - if space is None: - space = hyperopt.hp.loguniform("lr", np.log(lr_min), np.log(lr_max)) + # create a study using the specified optimizer (sampler) + study = optuna.create_study(sampler=optimizer, direction="minimize") - best = hyperopt.fmin( - fn=func_loss_to_lr, - space=space, - algo=optimizer.suggest, - max_evals=max_evals, - verbose=verbose, - ) - lr = best["lr"] + # optimize the function + study.optimize(func_loss_to_lr, n_trials=max_evals) + + # get the best learning rate + lr = study.best_params["lr"] d_params = [d_params[j] - grad[j] * lr for j in range(len(grad))] d = params_to_diagonal_operator( @@ -303,4 +258,5 @@ def func_loss_to_lr(lr): loss_hist.append(dbi_object.loss(0.0, d=d)) d_params_hist.append(d_params) s_hist.append(s) + return loss_hist, d_params_hist, s_hist diff --git a/src/qibo/models/dbi/utils_scheduling.py b/src/qibo/models/dbi/utils_scheduling.py index 130cd88f30..1f08ca2e04 100644 --- a/src/qibo/models/dbi/utils_scheduling.py +++ b/src/qibo/models/dbi/utils_scheduling.py @@ -1,9 +1,8 @@ import math -from functools import partial from typing import Optional -import hyperopt import numpy as np +import optuna error = 1e-3 @@ -41,47 +40,45 @@ def grid_search_step( def hyperopt_step( - dbi_object, + self, step_min: float = 1e-5, step_max: float = 1, - max_evals: int = 100, - space: callable = None, - optimizer: callable = None, + max_evals: int = 1000, look_ahead: int = 1, - d: Optional[np.array] = None, + verbose: bool = False, + d: np.array = None, + optimizer: optuna.samplers.BaseSampler = None, ): """ - Optimize iteration step using hyperopt. + Optimize iteration step using Optuna. Args: step_min: lower bound of the search grid; step_max: upper bound of the search grid; - max_evals: maximum number of iterations done by the hyperoptimizer; - space: see hyperopt.hp possibilities; - optimizer: see hyperopt algorithms; + max_evals: maximum number of trials done by the optimizer; look_ahead: number of iteration steps to compute the loss function; - d: diagonal operator for generating double-bracket iterations. + verbose: level of verbosity; + d: diagonal operator for generating double-bracket iterations; + optimizer: Optuna sampler for the search algorithm (e.g., + optuna.samplers.TPESampler()). + See: https://optuna.readthedocs.io/en/stable/reference/samplers/index.html Returns: - (float): optimized best iteration step (minimizing loss function). + (float): optimized best iteration step. """ - if space is None: - space = hyperopt.hp.uniform + optuna.logging.set_verbosity(optuna.logging.WARNING) + + def objective(trial): + step = trial.suggest_float("step", step_min, step_max) + return self.loss(step, d=d, look_ahead=look_ahead) + if optimizer is None: - optimizer = hyperopt.tpe - if d is None: - d = dbi_object.diagonal_h_matrix + optimizer = optuna.samplers.TPESampler() - space = space("step", step_min, step_max) + study = optuna.create_study(direction="minimize", sampler=optimizer) + study.optimize(objective, n_trials=max_evals, show_progress_bar=verbose) - best = hyperopt.fmin( - fn=partial(dbi_object.loss, d=d, look_ahead=look_ahead), - space=space, - algo=optimizer.suggest, - max_evals=max_evals, - show_progressbar=False, - ) - return best["step"] + return study.best_params["step"] def polynomial_step( diff --git a/src/qibo/models/error_mitigation.py b/src/qibo/models/error_mitigation.py index 3b16f8ac9d..e85b7cfd73 100644 --- a/src/qibo/models/error_mitigation.py +++ b/src/qibo/models/error_mitigation.py @@ -1,6 +1,7 @@ """Error Mitigation Methods.""" import math +from inspect import signature from itertools import product import numpy as np @@ -207,9 +208,12 @@ def ZNE( ) expected_values.append(val) - gamma = get_gammas(noise_levels, analytical=solve_for_gammas) + gamma = backend.cast( + get_gammas(noise_levels, analytical=solve_for_gammas), backend.precision + ) + expected_values = backend.cast(expected_values, backend.precision) - return np.sum(gamma * expected_values) + return backend.np.sum(gamma * expected_values) def sample_training_circuit_cdr( @@ -302,6 +306,47 @@ def sample_training_circuit_cdr( return sampled_circuit +def _curve_fit( + backend, model, params, xdata, ydata, lr=1.0, max_iter=int(1e2), tolerance_grad=1e-5 +): + """ + Fits a model with given parameters on the data points (x,y). This is generally based on the + `scipy.optimize.curve_fit` function, except for the `PyTorchBackend` which makes use of the + `torch.optim.LBFGS` optimizer. + + Args: + backend (:class:`qibo.backends.Backend`): simulation engine, this is only useful for `pytorch`. + model (function): model to fit, it should be a callable ``model(x, *params)``. + params (ndarray): initial parameters of the model. + xdata (ndarray): x data, i.e. inputs to the model. + ydata (ndarray): y data, i.e. targets ``y = model(x, *params)``. + lr (float, optional): learning rate, defaults to ``1``. Used only in the `pytorch` case. + max_iter (int, optional): maximum number of iterations, defaults to ``100``. Used only in the `pytorch` case. + tolerance_grad (float, optional): gradient tolerance, optimization stops after reaching it, defaults to ``1e-5``. Used only in the `pytorch` case. + + Returns: + ndarray: the optimal parameters. + """ + if backend.name == "pytorch": + # pytorch has some problems with the `scipy.optim.curve_fit` function + # thus we use a `torch.optim` optimizer + loss = lambda pred, target: backend.np.mean((pred - target) ** 2) + optimizer = backend.np.optim.LBFGS( + [params], lr=lr, max_iter=max_iter, tolerance_grad=tolerance_grad + ) + + def closure(): + optimizer.zero_grad() + output = model(xdata, *params) + loss_val = loss(output, ydata) + loss_val.backward(retain_graph=True) + return loss_val + + optimizer.step(closure) + return params + return curve_fit(model, xdata, ydata, p0=params)[0] + + def CDR( circuit, observable, @@ -382,7 +427,17 @@ def CDR( ) train_val["noisy"].append(val) - optimal_params = curve_fit(model, train_val["noisy"], train_val["noise-free"])[0] + nparams = ( + len(signature(model).parameters) - 1 + ) # first arg is the input and the *params afterwards + params = backend.cast(local_state.random(nparams), backend.precision) + optimal_params = _curve_fit( + backend, + model, + params, + backend.cast(train_val["noisy"], backend.precision), + backend.cast(train_val["noise-free"], backend.precision), + ) val = get_expectation_val_with_readout_mitigation( circuit, @@ -408,7 +463,7 @@ def vnCDR( noise_levels, noise_model, nshots: int = 10000, - model=lambda x, *params: (x * np.array(params).reshape(-1, 1)).sum(0), + model=None, n_training_samples: int = 100, insertion_gate: str = "CNOT", full_output: bool = False, @@ -463,6 +518,9 @@ def vnCDR( """ backend, local_state = _check_backend_and_local_state(seed, backend) + if model is None: + model = lambda x, *params: backend.np.sum(x * backend.np.vstack(params), axis=0) + if readout is None: readout = {} @@ -475,7 +533,7 @@ def vnCDR( for circ in training_circuits: result = backend.execute_circuit(circ, nshots=nshots) val = result.expectation_from_samples(observable) - train_val["noise-free"].append(val) + train_val["noise-free"].append(float(val)) for level in noise_levels: noisy_c = get_noisy_circuit(circ, level, insertion_gate=insertion_gate) val = get_expectation_val_with_readout_mitigation( @@ -488,12 +546,21 @@ def vnCDR( seed=local_state, backend=backend, ) - train_val["noisy"].append(val) - - noisy_array = np.array(train_val["noisy"]).reshape(-1, len(noise_levels)) + train_val["noisy"].append(float(val)) - params = local_state.random(len(noise_levels)) - optimal_params = curve_fit(model, noisy_array.T, train_val["noise-free"], p0=params) + noisy_array = backend.cast(train_val["noisy"], backend.precision).reshape( + -1, len(noise_levels) + ) + params = backend.cast(local_state.random(len(noise_levels)), backend.precision) + optimal_params = _curve_fit( + backend, + model, + params, + noisy_array.T, + backend.cast(train_val["noise-free"], backend.precision), + lr=1, + tolerance_grad=1e-7, + ) val = [] for level in noise_levels: @@ -510,7 +577,10 @@ def vnCDR( ) val.append(expval) - mit_val = model(np.array(val).reshape(-1, 1), *optimal_params[0])[0] + mit_val = model( + backend.cast(val, backend.precision).reshape(-1, 1), + *optimal_params, + )[0] if full_output: return mit_val, val, optimal_params, train_val @@ -789,8 +859,7 @@ def get_expectation_val_with_readout_mitigation( exp_val = circuit_result.expectation_from_samples(observable) if "ncircuits" in readout: - exp_val /= circuit_result_cal.expectation_from_samples(observable) - + return exp_val / circuit_result_cal.expectation_from_samples(observable) return exp_val @@ -1038,8 +1107,9 @@ def ICS( data["noisy"].append(noisy_expectation) lambda_list.append(1 - noisy_expectation / expectation) - dep_param = np.mean(lambda_list) - dep_param_std = np.std(lambda_list) + lambda_list = backend.cast(lambda_list, backend.precision) + dep_param = backend.np.mean(lambda_list) + dep_param_std = backend.np.std(lambda_list) noisy_expectation = get_expectation_val_with_readout_mitigation( circuit, diff --git a/src/qibo/quantum_info/clifford.py b/src/qibo/quantum_info/clifford.py index f4ec2d6bce..e8decd7444 100644 --- a/src/qibo/quantum_info/clifford.py +++ b/src/qibo/quantum_info/clifford.py @@ -61,7 +61,10 @@ def __post_init__(self): self.symplectic_matrix = self.data if self.symplectic_matrix.shape[0] % 2 == 0: self.symplectic_matrix = np.vstack( - (self.symplectic_matrix, np.zeros(self.symplectic_matrix.shape[1])) + ( + self.symplectic_matrix, + np.zeros(self.symplectic_matrix.shape[1], dtype=np.uint8), + ) ) self.nqubits = int((self.symplectic_matrix.shape[1] - 1) / 2) if self._backend is None: diff --git a/src/qibo/quantum_info/entropies.py b/src/qibo/quantum_info/entropies.py index c9c889b603..31972c4ff5 100644 --- a/src/qibo/quantum_info/entropies.py +++ b/src/qibo/quantum_info/entropies.py @@ -3,13 +3,11 @@ from typing import Union import numpy as np -from scipy.linalg import fractional_matrix_power from qibo.backends import _check_backend -from qibo.backends.pytorch import PyTorchBackend from qibo.config import PRECISION_TOL, raise_error -from qibo.quantum_info.linalg_operations import partial_trace -from qibo.quantum_info.metrics import _check_hermitian_or_not_gpu, purity +from qibo.quantum_info.linalg_operations import matrix_power, partial_trace +from qibo.quantum_info.metrics import _check_hermitian, purity def shannon_entropy(prob_dist, base: float = 2, backend=None): @@ -30,7 +28,7 @@ def shannon_entropy(prob_dist, base: float = 2, backend=None): Defaults to ``None``. Returns: - (float): Shannon entropy :math:`H(\\mathcal{p})`. + float: Shannon entropy :math:`H(\\mathcal{p})`. """ backend = _check_backend(backend) @@ -143,6 +141,40 @@ def classical_relative_entropy(prob_dist_p, prob_dist_q, base: float = 2, backen return entropy_p - relative +def classical_mutual_information( + prob_dist_joint, prob_dist_p, prob_dist_q, base: float = 2, backend=None +): + """Calculates the classical mutual information of two random variables. + + Given two random variables :math:`(X, \\, Y)`, their mutual information is given by + + .. math:: + I(X, \\, Y) \\equiv H(p(x)) + H(q(y)) - H(p(x, \\, y)) \\, , + + where :math:`p(x, \\, y)` is the joint probability distribution of :math:`(X, Y)`, + :math:`p(x)` is the marginal probability distribution of :math:`X`, + :math:`q(y)` is the marginal probability distribution of :math:`Y`, + and :math:`H(\\cdot)` is the :func:`qibo.quantum_info.entropies.shannon_entropy`. + + Args: + prob_dist_joint (ndarray): joint probability distribution :math:`p(x, \\, y)`. + prob_dist_p (ndarray): marginal probability distribution :math:`p(x)`. + prob_dist_q (ndarray): marginal probability distribution :math:`q(y)`. + base (float): the base of the log. Defaults to :math:`2`. + backend (:class:`qibo.backends.abstract.Backend`, optional): backend to be used + in the execution. If ``None``, it uses :class:`qibo.backends.GlobalBackend`. + Defaults to ``None``. + + Returns: + float: Mutual information :math:`I(X, \\, Y)`. + """ + return ( + shannon_entropy(prob_dist_p, base, backend) + + shannon_entropy(prob_dist_q, base, backend) + - shannon_entropy(prob_dist_joint, base, backend) + ) + + def classical_renyi_entropy( prob_dist, alpha: Union[float, int], base: float = 2, backend=None ): @@ -458,9 +490,7 @@ def von_neumann_entropy( eigenvalues = backend.calculate_eigenvalues( state, - hermitian=( - not check_hermitian or _check_hermitian_or_not_gpu(state, backend=backend) - ), + hermitian=(not check_hermitian or _check_hermitian(state, backend=backend)), ) log_prob = backend.np.where( @@ -549,15 +579,11 @@ def relative_von_neumann_entropy( eigenvalues_state = backend.calculate_eigenvalues( state, - hermitian=( - not check_hermitian or _check_hermitian_or_not_gpu(state, backend=backend) - ), + hermitian=(not check_hermitian or _check_hermitian(state, backend=backend)), ) eigenvalues_target = backend.calculate_eigenvalues( target, - hermitian=( - not check_hermitian or _check_hermitian_or_not_gpu(target, backend=backend) - ), + hermitian=(not check_hermitian or _check_hermitian(target, backend=backend)), ) log_state = backend.np.where( @@ -580,6 +606,50 @@ def relative_von_neumann_entropy( return float(backend.np.real(entropy_state - relative)) +def mutual_information( + state, partition, base: float = 2, check_hermitian: bool = False, backend=None +): + """Calculates the mutual information of a bipartite state. + + Given a qubit ``partition`` :math:`A`, the mutual information + of state :math:`\\rho` is given by + + .. math:: + I(\\rho}) \\equiv S(\\rho_{A}) + S(\\rho_{B}) - S(\\rho) \\, , + + where :math:`B` is the remaining qubits that are not in partition :math:`A`, + and :math:`S(\\cdot)` is the :func:`qibo.quantum_info.von_neumann_entropy`. + + Args: + state (ndarray): statevector or density matrix. + partition (Union[List[int], Tuple[int]]): indices of qubits in partition :math:`A`. + base (float, optional): the base of the log. Defaults to :math:`2`. + check_hermitian (bool, optional): if ``True``, checks if ``state`` is Hermitian. + If ``False``, it assumes ``state`` is Hermitian . Defaults to ``False``. + backend (:class:`qibo.backends.abstract.Backend`, optional): backend to be used + in the execution. If ``None``, it uses + :class:`qibo.backends.GlobalBackend`. Defaults to ``None``. + + Returns: + float: Mutual information :math:`I(\\rho)` of ``state`` :math:`\\rho`. + """ + nqubits = np.log2(len(state)) + + if not nqubits.is_integer(): + raise_error(ValueError, f"dimensions of ``state`` must be a power of 2.") + + partition_b = set(list(range(int(nqubits)))) ^ set(list(partition)) + + state_a = partial_trace(state, partition_b, backend) + state_b = partial_trace(state, partition, backend) + + return ( + von_neumann_entropy(state_a, base, check_hermitian, False, backend) + + von_neumann_entropy(state_b, base, check_hermitian, False, backend) + - von_neumann_entropy(state, base, check_hermitian, False, backend) + ) + + def renyi_entropy(state, alpha: Union[float, int], base: float = 2, backend=None): """Calculates the Rényi entropy :math:`H_{\\alpha}` of a quantum state :math:`\\rho`. @@ -652,7 +722,7 @@ def renyi_entropy(state, alpha: Union[float, int], base: float = 2, backend=None / np.log2(base) ) - log = backend.np.log2(backend.np.trace(_matrix_power(state, alpha, backend))) + log = backend.np.log2(backend.np.trace(matrix_power(state, alpha, backend))) return (1 / (1 - alpha)) * log / np.log2(base) @@ -751,8 +821,8 @@ def relative_renyi_entropy( return relative_von_neumann_entropy(state, target, base, backend=backend) if alpha == np.inf: - new_state = _matrix_power(state, 0.5, backend) - new_target = _matrix_power(target, 0.5, backend) + new_state = matrix_power(state, 0.5, backend) + new_target = matrix_power(target, 0.5, backend) log = backend.np.log2( backend.calculate_norm_density_matrix(new_state @ new_target, order=1) @@ -760,8 +830,8 @@ def relative_renyi_entropy( return -2 * log / np.log2(base) - log = _matrix_power(state, alpha, backend) - log = log @ _matrix_power(target, 1 - alpha, backend) + log = matrix_power(state, alpha, backend) + log = log @ matrix_power(target, 1 - alpha, backend) log = backend.np.log2(backend.np.trace(log)) return (1 / (alpha - 1)) * log / np.log2(base) @@ -819,7 +889,7 @@ def tsallis_entropy(state, alpha: float, base: float = 2, backend=None): return von_neumann_entropy(state, base=base, backend=backend) return (1 / (1 - alpha)) * ( - backend.np.trace(_matrix_power(state, alpha, backend)) - 1 + backend.np.trace(matrix_power(state, alpha, backend)) - 1 ) @@ -881,19 +951,3 @@ def entanglement_entropy( ) return entropy_entanglement - - -def _matrix_power(matrix, alpha, backend): - """Calculates ``matrix ** alpha`` according to backend.""" - if backend.__class__.__name__ in [ - "CupyBackend", - "CuQuantumBackend", - ]: # pragma: no cover - new_matrix = backend.to_numpy(matrix) - else: - new_matrix = backend.np.copy(matrix) - - if len(new_matrix.shape) == 1: - new_matrix = backend.np.outer(new_matrix, backend.np.conj(new_matrix)) - - return backend.cast(fractional_matrix_power(backend.to_numpy(new_matrix), alpha)) diff --git a/src/qibo/quantum_info/linalg_operations.py b/src/qibo/quantum_info/linalg_operations.py index ae87ba4e12..6fc48e6e74 100644 --- a/src/qibo/quantum_info/linalg_operations.py +++ b/src/qibo/quantum_info/linalg_operations.py @@ -196,3 +196,21 @@ def matrix_exponentiation( backend = _check_backend(backend) return backend.calculate_matrix_exp(phase, matrix, eigenvectors, eigenvalues) + + +def matrix_power(matrix, power: Union[float, int], backend=None): + """Given a ``matrix`` :math:`A` and power :math:`\\alpha`, calculate :math:`A^{\\alpha}`. + + Args: + matrix (ndarray): matrix whose power to calculate. + power (float or int): power to raise ``matrix`` to. + backend (:class:`qibo.backends.abstract.Backend`, optional): backend + to be used in the execution. If ``None``, it uses + :class:`qibo.backends.GlobalBackend`. Defaults to ``None``. + + Returns: + ndarray: matrix power :math:`A^{\\alpha}`. + """ + backend = _check_backend(backend) + + return backend.calculate_matrix_power(matrix, power) diff --git a/src/qibo/quantum_info/metrics.py b/src/qibo/quantum_info/metrics.py index 4699efbda6..c6b78f46c8 100644 --- a/src/qibo/quantum_info/metrics.py +++ b/src/qibo/quantum_info/metrics.py @@ -234,7 +234,7 @@ def fidelity(state, target, check_hermitian: bool = False, backend=None): abs(purity_state - 1) > PRECISION_TOL and abs(purity_target - 1) > PRECISION_TOL ): - hermitian = check_hermitian is False or _check_hermitian_or_not_gpu( + hermitian = check_hermitian is False or _check_hermitian( state, backend=backend ) # using eigh since rho is supposed to be Hermitian @@ -812,10 +812,8 @@ def frame_potential( return potential / samples**2 -def _check_hermitian_or_not_gpu(matrix, backend=None): - """Checks if a given matrix is Hermitian and whether the backend is neither - :class:`qibojit.backends.CupyBackend` nor - :class:`qibojit.backends.CuQuantumBackend`. +def _check_hermitian(matrix, backend=None): + """Checks if a given matrix is Hermitian. Args: matrix: input array. @@ -825,10 +823,6 @@ def _check_hermitian_or_not_gpu(matrix, backend=None): Returns: bool: whether the matrix is Hermitian. - - Raises: - NotImplementedError: If `matrix` is not Hermitian and - `backend` is not :class:`qibojit.backends.CupyBackend` """ backend = _check_backend(backend) @@ -838,14 +832,4 @@ def _check_hermitian_or_not_gpu(matrix, backend=None): hermitian = bool(float(norm) <= PRECISION_TOL) - if hermitian is False and backend.__class__.__name__ in [ - "CupyBackend", - "CuQuantumBackend", - ]: # pragma: no cover - raise_error( - NotImplementedError, - "GPU backends do not support `np.linalg.eig` " - + "or `np.linalg.eigvals` for non-Hermitian matrices.", - ) - return hermitian diff --git a/src/qibo/quantum_info/utils.py b/src/qibo/quantum_info/utils.py index ef21f2c97f..845b6ac153 100644 --- a/src/qibo/quantum_info/utils.py +++ b/src/qibo/quantum_info/utils.py @@ -280,7 +280,7 @@ def hellinger_fidelity(prob_dist_p, prob_dist_q, validate: bool = False, backend :class:`qibo.backends.GlobalBackend`. Defaults to ``None``. Returns: - (float): Hellinger fidelity. + float: Hellinger fidelity. """ backend = _check_backend(backend) @@ -317,7 +317,7 @@ def hellinger_shot_error( :class:`qibo.backends.GlobalBackend`. Defaults to ``None``. Returns: - (float): Hellinger fidelity error. + float: Hellinger fidelity error. """ backend = _check_backend(backend) @@ -339,6 +339,58 @@ def hellinger_shot_error( return hellinger_error +def total_variation_distance( + prob_dist_p, prob_dist_q, validate: bool = False, backend=None +): + """Calculate the total variation distance between two discrete probability distributions. + + For probabilities :math:`p` and :math:`q`, the total variation distance is defined as + + .. math:: + \\operatorname{TVD}(p, \\, q) = \\frac{1}{2} \\, \\|p - q\\|_{1} + = \\frac{1}{2} \\, \\sum_{x} \\, \\left|p(x) - q(x)\\right| \\, , + + where :math:`\\|\\cdot\\|_{1}` detones the :math:`\\ell_{1}`-norm. + + Args: + prob_dist_p (ndarray or list): discrete probability distribution :math:`p`. + prob_dist_q (ndarray or list): discrete probability distribution :math:`q`. + validate (bool, optional): if ``True``, checks if :math:`p` and :math:`q` are proper + probability distributions. Defaults to ``False``. + backend (:class:`qibo.backends.abstract.Backend`, optional): backend to be + used in the execution. If ``None``, it uses + :class:`qibo.backends.GlobalBackend`. Defaults to ``None``. + + Returns: + float: Total variation distance measure. + """ + backend = _check_backend(backend) + + if isinstance(prob_dist_p, list): + prob_dist_p = backend.cast(prob_dist_p, dtype=np.float64) + + if isinstance(prob_dist_q, list): + prob_dist_q = backend.cast(prob_dist_q, dtype=np.float64) + + if validate: + if (any(prob_dist_p < 0) or any(prob_dist_p > 1.0)) or ( + any(prob_dist_q < 0) or any(prob_dist_q > 1.0) + ): + raise_error( + ValueError, + "All elements of the probability array must be between 0. and 1..", + ) + if backend.np.abs(backend.np.sum(prob_dist_p) - 1.0) > PRECISION_TOL: + raise_error(ValueError, "First probability array must sum to 1.") + + if backend.np.abs(backend.np.sum(prob_dist_q) - 1.0) > PRECISION_TOL: + raise_error(ValueError, "Second probability array must sum to 1.") + + tvd = backend.calculate_norm(prob_dist_p - prob_dist_q, order=1) + + return tvd / 2 + + def haar_integral( nqubits: int, power_t: int, diff --git a/src/qibo/ui/mpldrawer.py b/src/qibo/ui/mpldrawer.py index 439541d38d..de8df49900 100644 --- a/src/qibo/ui/mpldrawer.py +++ b/src/qibo/ui/mpldrawer.py @@ -599,12 +599,10 @@ def _process_gates(array_gates, nqubits): item += ("q_" + str(qbit),) for qbit in gate._control_qubits: - item_add = ( - ("q_" + str(qbit[0]),) - if isinstance(qbit, tuple) - else ("q_" + str(qbit),) - ) - item += item_add + if type(qbit) is tuple: + item += ("q_" + str(qbit[0]),) + else: + item += ("q_" + str(qbit),) gates_plot.append(item) diff --git a/src/qibo/ui/symbols.json b/src/qibo/ui/symbols.json index 8d455bfcbb..7b0d368624 100644 --- a/src/qibo/ui/symbols.json +++ b/src/qibo/ui/symbols.json @@ -1,6 +1,5 @@ { "NOP": "", - "CPHASE": "Z", "ID": "I", "CX": "X", "CZ": "Z", diff --git a/tests/test_hamiltonians_symbolic.py b/tests/test_hamiltonians_symbolic.py index 9ddc545312..54d8dac2e3 100644 --- a/tests/test_hamiltonians_symbolic.py +++ b/tests/test_hamiltonians_symbolic.py @@ -395,4 +395,4 @@ def test_symbolic_hamiltonian_with_constant(backend): h = hamiltonians.SymbolicHamiltonian(1e6 - Z(0), backend=backend) result = c.execute(nshots=10000) - assert result.expectation_from_samples(h) == approx(1e6, rel=1e-5, abs=0.0) + assert float(result.expectation_from_samples(h)) == approx(1e6, rel=1e-5, abs=0.0) diff --git a/tests/test_measurements.py b/tests/test_measurements.py index 979cb843b6..34d8851dc8 100644 --- a/tests/test_measurements.py +++ b/tests/test_measurements.py @@ -6,8 +6,9 @@ import numpy as np import pytest -from qibo import gates, models +from qibo import Circuit, gates from qibo.measurements import MeasurementResult +from qibo.models import QFT def assert_result( @@ -62,7 +63,7 @@ def assert_register_result( @pytest.mark.parametrize("n", [0, 1]) @pytest.mark.parametrize("nshots", [100, 1000000]) def test_measurement_gate(backend, n, nshots): - c = models.Circuit(2) + c = Circuit(2) if n: c.add(gates.X(1)) c.add(gates.M(1)) @@ -78,7 +79,7 @@ def test_measurement_gate(backend, n, nshots): def test_multiple_qubit_measurement_gate(backend): - c = models.Circuit(2) + c = Circuit(2) c.add(gates.X(0)) c.add(gates.M(0, 1)) result = backend.execute_circuit(c, nshots=100) @@ -105,7 +106,7 @@ def test_measurement_gate_errors(backend): def test_measurement_circuit(backend, accelerators): - c = models.Circuit(4, accelerators) + c = Circuit(4, accelerators) c.add(gates.X(0)) c.add(gates.M(0)) result = backend.execute_circuit(c, nshots=100) @@ -116,7 +117,7 @@ def test_measurement_circuit(backend, accelerators): @pytest.mark.parametrize("registers", [False, True]) def test_measurement_qubit_order_simple(backend, registers): - c = models.Circuit(2) + c = Circuit(2) c.add(gates.X(0)) if registers: c.add(gates.M(1, 0)) @@ -134,7 +135,7 @@ def test_measurement_qubit_order_simple(backend, registers): @pytest.mark.parametrize("nshots", [100, 1000000]) def test_measurement_qubit_order(backend, accelerators, nshots): - c = models.Circuit(6, accelerators) + c = Circuit(6, accelerators) c.add(gates.X(0)) c.add(gates.X(1)) c.add(gates.M(1, 5, 2, 0)) @@ -154,7 +155,7 @@ def test_measurement_qubit_order(backend, accelerators, nshots): def test_multiple_measurement_gates_circuit(backend): - c = models.Circuit(4) + c = Circuit(4) c.add(gates.X(1)) c.add(gates.X(2)) c.add(gates.M(0, 1)) @@ -170,7 +171,7 @@ def test_multiple_measurement_gates_circuit(backend): def test_circuit_with_unmeasured_qubits(backend, accelerators): - c = models.Circuit(5, accelerators) + c = Circuit(5, accelerators) c.add(gates.X(4)) c.add(gates.X(2)) c.add(gates.M(0, 2)) @@ -192,11 +193,11 @@ def test_circuit_with_unmeasured_qubits(backend, accelerators): def test_circuit_addition_with_measurements(backend): - c = models.Circuit(2) + c = Circuit(2) c.add(gates.X(0)) c.add(gates.X(1)) - meas_c = models.Circuit(2) + meas_c = Circuit(2) c.add(gates.M(0, 1)) c += meas_c @@ -213,12 +214,12 @@ def test_circuit_addition_with_measurements(backend): def test_circuit_addition_with_measurements_in_both_circuits(backend, accelerators): - c1 = models.Circuit(4, accelerators) + c1 = Circuit(4, accelerators) c1.add(gates.X(0)) c1.add(gates.X(1)) c1.add(gates.M(1, register_name="a")) - c2 = models.Circuit(4, accelerators) + c2 = Circuit(4, accelerators) c2.add(gates.X(0)) c2.add(gates.M(0, register_name="b")) @@ -232,7 +233,7 @@ def test_circuit_addition_with_measurements_in_both_circuits(backend, accelerato def test_circuit_copy_with_measurements(backend, accelerators): - c1 = models.Circuit(6, accelerators) + c1 = Circuit(6, accelerators) c1.add([gates.X(0), gates.X(1), gates.X(3)]) c1.add(gates.M(5, 1, 3, register_name="a")) c1.add(gates.M(2, 0, register_name="b")) @@ -250,7 +251,7 @@ def test_circuit_copy_with_measurements(backend, accelerators): def test_measurement_compiled_circuit(backend): - c = models.Circuit(2) + c = Circuit(2) c.add(gates.X(0)) c.add(gates.M(0)) c.add(gates.M(1)) @@ -274,14 +275,14 @@ def test_measurement_compiled_circuit(backend): def test_final_state(backend, accelerators): """Check that final state is logged correctly when using measurements.""" - c = models.Circuit(4, accelerators) + c = Circuit(4, accelerators) c.add(gates.X(1)) c.add(gates.X(2)) c.add(gates.M(0, 1)) c.add(gates.M(2)) c.add(gates.X(3)) result = backend.execute_circuit(c, nshots=100) - c = models.Circuit(4, accelerators) + c = Circuit(4, accelerators) c.add(gates.X(1)) c.add(gates.X(2)) c.add(gates.X(3)) @@ -300,7 +301,7 @@ def test_measurement_gate_bitflip_errors(): def test_register_measurements(backend): - c = models.Circuit(3) + c = Circuit(3) c.add(gates.X(0)) c.add(gates.X(1)) c.add(gates.M(0, 2)) @@ -323,7 +324,7 @@ def test_register_measurements(backend): def test_measurement_qubit_order_multiple_registers(backend, accelerators): - c = models.Circuit(6, accelerators) + c = Circuit(6, accelerators) c.add(gates.X(0)) c.add(gates.X(1)) c.add(gates.X(3)) @@ -364,7 +365,7 @@ def test_measurement_qubit_order_multiple_registers(backend, accelerators): def test_registers_in_circuit_with_unmeasured_qubits(backend, accelerators): """Check that register measurements are unaffected by unmeasured qubits.""" - c = models.Circuit(5, accelerators) + c = Circuit(5, accelerators) c.add(gates.X(1)) c.add(gates.X(2)) c.add(gates.M(0, 2, register_name="A")) @@ -390,7 +391,7 @@ def test_registers_in_circuit_with_unmeasured_qubits(backend, accelerators): def test_measurement_density_matrix(backend): - c = models.Circuit(2, density_matrix=True) + c = Circuit(2, density_matrix=True) c.add(gates.X(0)) c.add(gates.M(0, 1)) result = backend.execute_circuit(c, nshots=100) @@ -407,7 +408,7 @@ def test_measurement_density_matrix(backend): def test_measurement_result_vs_circuit_result(backend, accelerators): - c = models.Circuit(6, accelerators) + c = Circuit(6, accelerators) c.add([gates.X(0), gates.X(1), gates.X(3)]) ma = c.add(gates.M(5, 1, 3, register_name="a")) mb = c.add(gates.M(2, 0, register_name="b")) @@ -423,7 +424,7 @@ def test_measurement_result_vs_circuit_result(backend, accelerators): @pytest.mark.parametrize("nqubits", [1, 4]) @pytest.mark.parametrize("outcome", [0, 1]) def test_measurement_basis(backend, nqubits, outcome): - c = models.Circuit(nqubits) + c = Circuit(nqubits) if outcome: c.add(gates.X(q) for q in range(nqubits)) c.add(gates.H(q) for q in range(nqubits)) @@ -433,7 +434,7 @@ def test_measurement_basis(backend, nqubits, outcome): def test_measurement_basis_list(backend): - c = models.Circuit(4) + c = Circuit(4) c.add(gates.H(0)) c.add(gates.X(2)) c.add(gates.H(2)) @@ -442,7 +443,7 @@ def test_measurement_basis_list(backend): result = backend.execute_circuit(c, nshots=100) assert result.frequencies() == {"0011": 100} assert ( - c.draw() + str(c) == """q0: ─H─H───M─ q1: ───────M─ q2: ─X─H─H─M─ @@ -450,22 +451,20 @@ def test_measurement_basis_list(backend): ) -def test_measurement_basis_list_error(backend): - c = models.Circuit(4) +def test_measurement_basis_list_error(): + c = Circuit(4) with pytest.raises(ValueError): c.add(gates.M(0, 1, 2, 3, basis=[gates.X, gates.Z, gates.X])) -def test_measurement_same_qubit_different_registers_error(backend): - c = models.Circuit(4) +def test_measurement_same_qubit_different_registers_error(): + c = Circuit(4) c.add(gates.M(0, 1, 3, register_name="a")) with pytest.raises(KeyError): c.add(gates.M(1, 2, 3, register_name="a")) def test_measurementsymbol_pickling(backend): - from qibo.models import QFT - c = QFT(3) c.add(gates.M(0, 2, basis=[gates.X, gates.Z])) backend.execute_circuit(c).samples() diff --git a/tests/test_models_circuit.py b/tests/test_models_circuit.py index 33036dad22..8ffa586740 100644 --- a/tests/test_models_circuit.py +++ b/tests/test_models_circuit.py @@ -2,6 +2,7 @@ from collections import Counter +import numpy as np import pytest from qibo import Circuit, gates @@ -500,8 +501,6 @@ def test_circuit_with_pauli_noise(measurements, noise_map): @pytest.mark.parametrize("include_not_trainable", [True, False]) @pytest.mark.parametrize("format", ["list", "dict", "flatlist"]) def test_get_parameters(trainable, include_not_trainable, format): - import numpy as np - matrix = np.random.random((2, 2)) c = Circuit(3) c.add(gates.RX(0, theta=0.123)) @@ -634,7 +633,7 @@ def test_circuit_draw(): circuit.add(gates.SWAP(0, 4)) circuit.add(gates.SWAP(1, 3)) - assert circuit.draw() == ref + assert str(circuit) == ref def test_circuit_wire_names_errors(): @@ -654,10 +653,10 @@ def test_circuit_draw_wire_names(): """Test circuit text draw.""" ref = ( "a : ─H─U1─U1─U1─U1───────────────────────────x───\n" - "b : ───o──|──|──|──H─U1─U1─U1────────────────|─x─\n" - "hello: ──────o──|──|────o──|──|──H─U1─U1────────|─|─\n" - "1 : ─────────o──|───────o──|────o──|──H─U1───|─x─\n" - "q4 : ────────────o──────────o───────o────o──H─x───" + + "b : ───o──|──|──|──H─U1─U1─U1────────────────|─x─\n" + + "hello: ──────o──|──|────o──|──|──H─U1─U1────────|─|─\n" + + "1 : ─────────o──|───────o──|────o──|──H─U1───|─x─\n" + + "q4 : ────────────o──────────o───────o────o──H─x───" ) circuit = Circuit(5, wire_names=["a", "b", "hello", "1", "q4"]) for i1 in range(5): @@ -667,47 +666,45 @@ def test_circuit_draw_wire_names(): circuit.add(gates.SWAP(0, 4)) circuit.add(gates.SWAP(1, 3)) - assert circuit.draw() == ref + assert str(circuit) == ref -def test_circuit_draw_line_wrap(): +def test_circuit_draw_line_wrap(capsys): """Test circuit text draw with line wrap.""" ref_line_wrap_50 = ( "q0: ─H─U1─U1─U1─U1───────────────────────────x───I───f ...\n" - "q1: ───o──|──|──|──H─U1─U1─U1────────────────|─x─I───| ...\n" - "q2: ──────o──|──|────o──|──|──H─U1─U1────────|─|─────| ...\n" - "q3: ─────────o──|───────o──|────o──|──H─U1───|─x───M─| ...\n" - "q4: ────────────o──────────o───────o────o──H─x───────f ...\n" - "\n" - "q0: ... ─o────gf───M─\n" - "q1: ... ─U3───|──o─M─\n" - "q2: ... ────X─gf─o─M─\n" - "q3: ... ────o────o───\n" - "q4: ... ────o────X───" + + "q1: ───o──|──|──|──H─U1─U1─U1────────────────|─x─I───| ...\n" + + "q2: ──────o──|──|────o──|──|──H─U1─U1────────|─|─────| ...\n" + + "q3: ─────────o──|───────o──|────o──|──H─U1───|─x───M─| ...\n" + + "q4: ────────────o──────────o───────o────o──H─x───────f ...\n" + + "\n" + + "q0: ... ─o────gf───M─\n" + + "q1: ... ─U3───|──o─M─\n" + + "q2: ... ────X─gf─o─M─\n" + + "q3: ... ────o────o───\n" + + "q4: ... ────o────X───" ) ref_line_wrap_30 = ( "q0: ─H─U1─U1─U1─U1──────────────── ...\n" - "q1: ───o──|──|──|──H─U1─U1─U1───── ...\n" - "q2: ──────o──|──|────o──|──|──H─U1 ...\n" - "q3: ─────────o──|───────o──|────o─ ...\n" - "q4: ────────────o──────────o────── ...\n" - "\n" - "q0: ... ───────────x───I───f─o────gf── ...\n" - "q1: ... ───────────|─x─I───|─U3───|──o ...\n" - "q2: ... ─U1────────|─|─────|────X─gf─o ...\n" - "q3: ... ─|──H─U1───|─x───M─|────o────o ...\n" - "q4: ... ─o────o──H─x───────f────o────X ...\n" - "\n" - "q0: ... ─M─\n" - "q1: ... ─M─\n" - "q2: ... ─M─\n" - "q3: ... ───\n" - "q4: ... ───" + + "q1: ───o──|──|──|──H─U1─U1─U1───── ...\n" + + "q2: ──────o──|──|────o──|──|──H─U1 ...\n" + + "q3: ─────────o──|───────o──|────o─ ...\n" + + "q4: ────────────o──────────o────── ...\n" + + "\n" + + "q0: ... ───────────x───I───f─o────gf── ...\n" + + "q1: ... ───────────|─x─I───|─U3───|──o ...\n" + + "q2: ... ─U1────────|─|─────|────X─gf─o ...\n" + + "q3: ... ─|──H─U1───|─x───M─|────o────o ...\n" + + "q4: ... ─o────o──H─x───────f────o────X ...\n" + + "\n" + + "q0: ... ─M─\n" + + "q1: ... ─M─\n" + + "q2: ... ─M─\n" + + "q3: ... ───\n" + + "q4: ... ───" ) - import numpy as np - circuit = Circuit(5) for i1 in range(5): circuit.add(gates.H(i1)) @@ -723,48 +720,52 @@ def test_circuit_draw_line_wrap(): circuit.add(gates.GeneralizedfSim(0, 2, np.eye(2), 0)) circuit.add(gates.X(4).controlled_by(1, 2, 3)) circuit.add(gates.M(*range(3))) - assert circuit.draw(line_wrap=50) == ref_line_wrap_50 - assert circuit.draw(line_wrap=30) == ref_line_wrap_30 + circuit.draw(line_wrap=50) + out, _ = capsys.readouterr() + assert out.rstrip("\n") == ref_line_wrap_50 + + circuit.draw(line_wrap=30) + out, _ = capsys.readouterr() + assert out.rstrip("\n") == ref_line_wrap_30 -def test_circuit_draw_line_wrap_names(): + +def test_circuit_draw_line_wrap_names(capsys): """Test circuit text draw with line wrap.""" ref_line_wrap_50 = ( "q0: ─H─U1─U1─U1─U1───────────────────────────x───I───f ...\n" - "a : ───o──|──|──|──H─U1─U1─U1────────────────|─x─I───| ...\n" - "q2: ──────o──|──|────o──|──|──H─U1─U1────────|─|─────| ...\n" - "q3: ─────────o──|───────o──|────o──|──H─U1───|─x───M─| ...\n" - "q4: ────────────o──────────o───────o────o──H─x───────f ...\n" - "\n" - "q0: ... ─o────gf───M─\n" - "a : ... ─U3───|──o─M─\n" - "q2: ... ────X─gf─o─M─\n" - "q3: ... ────o────o───\n" - "q4: ... ────o────X───" + + "a : ───o──|──|──|──H─U1─U1─U1────────────────|─x─I───| ...\n" + + "q2: ──────o──|──|────o──|──|──H─U1─U1────────|─|─────| ...\n" + + "q3: ─────────o──|───────o──|────o──|──H─U1───|─x───M─| ...\n" + + "q4: ────────────o──────────o───────o────o──H─x───────f ...\n" + + "\n" + + "q0: ... ─o────gf───M─\n" + + "a : ... ─U3───|──o─M─\n" + + "q2: ... ────X─gf─o─M─\n" + + "q3: ... ────o────o───\n" + + "q4: ... ────o────X───" ) ref_line_wrap_30 = ( "q0: ─H─U1─U1─U1─U1──────────────── ...\n" - "a : ───o──|──|──|──H─U1─U1─U1───── ...\n" - "q2: ──────o──|──|────o──|──|──H─U1 ...\n" - "q3: ─────────o──|───────o──|────o─ ...\n" - "q4: ────────────o──────────o────── ...\n" - "\n" - "q0: ... ───────────x───I───f─o────gf── ...\n" - "a : ... ───────────|─x─I───|─U3───|──o ...\n" - "q2: ... ─U1────────|─|─────|────X─gf─o ...\n" - "q3: ... ─|──H─U1───|─x───M─|────o────o ...\n" - "q4: ... ─o────o──H─x───────f────o────X ...\n" - "\n" - "q0: ... ─M─\n" - "a : ... ─M─\n" - "q2: ... ─M─\n" - "q3: ... ───\n" - "q4: ... ───" + + "a : ───o──|──|──|──H─U1─U1─U1───── ...\n" + + "q2: ──────o──|──|────o──|──|──H─U1 ...\n" + + "q3: ─────────o──|───────o──|────o─ ...\n" + + "q4: ────────────o──────────o────── ...\n" + + "\n" + + "q0: ... ───────────x───I───f─o────gf── ...\n" + + "a : ... ───────────|─x─I───|─U3───|──o ...\n" + + "q2: ... ─U1────────|─|─────|────X─gf─o ...\n" + + "q3: ... ─|──H─U1───|─x───M─|────o────o ...\n" + + "q4: ... ─o────o──H─x───────f────o────X ...\n" + + "\n" + + "q0: ... ─M─\n" + + "a : ... ─M─\n" + + "q2: ... ─M─\n" + + "q3: ... ───\n" + + "q4: ... ───" ) - import numpy as np - circuit = Circuit(5, wire_names={"q1": "a"}) for i1 in range(5): circuit.add(gates.H(i1)) @@ -780,12 +781,18 @@ def test_circuit_draw_line_wrap_names(): circuit.add(gates.GeneralizedfSim(0, 2, np.eye(2), 0)) circuit.add(gates.X(4).controlled_by(1, 2, 3)) circuit.add(gates.M(*range(3))) - assert circuit.draw(line_wrap=50) == ref_line_wrap_50 - assert circuit.draw(line_wrap=30) == ref_line_wrap_30 + + circuit.draw(line_wrap=50) + out, _ = capsys.readouterr() + assert out.rstrip("\n") == ref_line_wrap_50 + + circuit.draw(line_wrap=30) + out, _ = capsys.readouterr() + assert out.rstrip("\n") == ref_line_wrap_30 @pytest.mark.parametrize("legend", [True, False]) -def test_circuit_draw_channels(legend): +def test_circuit_draw_channels(capsys, legend): """Check that channels are drawn correctly.""" circuit = Circuit(2, density_matrix=True) @@ -803,22 +810,24 @@ def test_circuit_draw_channels(legend): circuit.add(gates.CNOT(0, 1)) circuit.add(gates.DepolarizingChannel((1,), 0.1)) - ref = "q0: ─H─PN─o─PN─o─D─o─D─o───\n" "q1: ─H─PN─X─PN─X─D─X───X─D─" + ref = "q0: ─H─PN─o─PN─o─D─o─D─o───\n" + "q1: ─H─PN─X─PN─X─D─X───X─D─" if legend: ref += ( "\n\n Legend for callbacks and channels: \n" - "| Gate | Symbol |\n" - "|---------------------+----------|\n" - "| DepolarizingChannel | D |\n" - "| PauliNoiseChannel | PN |" + + "| Gate | Symbol |\n" + + "|---------------------+----------|\n" + + "| DepolarizingChannel | D |\n" + + "| PauliNoiseChannel | PN |" ) - assert circuit.draw(legend=legend) == ref + circuit.draw(legend=legend) + out, _ = capsys.readouterr() + assert out.rstrip("\n") == ref @pytest.mark.parametrize("legend", [True, False]) -def test_circuit_draw_callbacks(legend): +def test_circuit_draw_callbacks(capsys, legend): """Check that callbacks are drawn correcly.""" from qibo.callbacks import EntanglementEntropy @@ -830,27 +839,29 @@ def test_circuit_draw_callbacks(legend): c.add(gates.CNOT(0, 1)) c.add(gates.CallbackGate(entropy)) - ref = "q0: ─EE─H─EE─o─EE─\n" "q1: ─EE───EE─X─EE─" + ref = "q0: ─EE─H─EE─o─EE─\n" + "q1: ─EE───EE─X─EE─" if legend: ref += ( "\n\n Legend for callbacks and channels: \n" - "| Gate | Symbol |\n" - "|---------------------+----------|\n" - "| EntanglementEntropy | EE |" + + "| Gate | Symbol |\n" + + "|---------------------+----------|\n" + + "| EntanglementEntropy | EE |" ) - assert c.draw(legend=legend) == ref + c.draw(legend=legend) + out, _ = capsys.readouterr() + assert out.rstrip("\n") == ref def test_circuit_draw_labels(): """Test circuit text draw.""" ref = ( "q0: ─H─G1─G2─G3─G4───────────────────────────x───\n" - "q1: ───o──|──|──|──H─G2─G3─G4────────────────|─x─\n" - "q2: ──────o──|──|────o──|──|──H─G3─G4────────|─|─\n" - "q3: ─────────o──|───────o──|────o──|──H─G4───|─x─\n" - "q4: ────────────o──────────o───────o────o──H─x───" + + "q1: ───o──|──|──|──H─G2─G3─G4────────────────|─x─\n" + + "q2: ──────o──|──|────o──|──|──H─G3─G4────────|─|─\n" + + "q3: ─────────o──|───────o──|────o──|──H─G4───|─x─\n" + + "q4: ────────────o──────────o───────o────o──H─x───" ) circuit = Circuit(5) for i1 in range(5): @@ -861,17 +872,17 @@ def test_circuit_draw_labels(): circuit.add(gate) circuit.add(gates.SWAP(0, 4)) circuit.add(gates.SWAP(1, 3)) - assert circuit.draw() == ref + assert str(circuit).rstrip("\n") == ref -def test_circuit_draw_names(): +def test_circuit_draw_names(capsys): """Test circuit text draw.""" ref = ( "q0: ─H─cx─cx─cx─cx───────────────────────────x───\n" - "q1: ───o──|──|──|──H─cx─cx─cx────────────────|─x─\n" - "q2: ──────o──|──|────o──|──|──H─cx─cx────────|─|─\n" - "q3: ─────────o──|───────o──|────o──|──H─cx───|─x─\n" - "q4: ────────────o──────────o───────o────o──H─x───" + + "q1: ───o──|──|──|──H─cx─cx─cx────────────────|─x─\n" + + "q2: ──────o──|──|────o──|──|──H─cx─cx────────|─|─\n" + + "q3: ─────────o──|───────o──|────o──|──H─cx───|─x─\n" + + "q4: ────────────o──────────o───────o────o──H─x───" ) circuit = Circuit(5) for i1 in range(5): @@ -882,7 +893,9 @@ def test_circuit_draw_names(): circuit.add(gate) circuit.add(gates.SWAP(0, 4)) circuit.add(gates.SWAP(1, 3)) - assert circuit.draw() == ref + circuit.draw() + out, _ = capsys.readouterr() + assert out.rstrip("\n") == ref def test_circuit_draw_error(): diff --git a/tests/test_models_circuit_fuse.py b/tests/test_models_circuit_fuse.py index 6ba1ef729b..22e9c74f0e 100644 --- a/tests/test_models_circuit_fuse.py +++ b/tests/test_models_circuit_fuse.py @@ -236,4 +236,4 @@ def test_fused_gate_draw(): circuit.add(gates.SWAP(0, 4)) circuit.add(gates.SWAP(1, 3)) circuit = circuit.fuse() - assert circuit.draw() == ref + assert str(circuit) == ref diff --git a/tests/test_models_error_mitigation.py b/tests/test_models_error_mitigation.py index 53d6166a7b..8e003993cf 100644 --- a/tests/test_models_error_mitigation.py +++ b/tests/test_models_error_mitigation.py @@ -317,7 +317,7 @@ def test_readout_mitigation(backend, nqubits, nmeas, method, ibu_iters): c, obs, noise, nshots, readout, backend=backend ) - assert np.abs(true_val - mit_val) <= np.abs(true_val - noisy_val) + assert backend.np.abs(true_val - mit_val) <= backend.np.abs(true_val - noisy_val) @pytest.mark.parametrize("nqubits", [3]) diff --git a/tests/test_noise.py b/tests/test_noise.py index 325ec95e2d..c7518a3a40 100644 --- a/tests/test_noise.py +++ b/tests/test_noise.py @@ -758,7 +758,7 @@ def test_ibmq_noise( noisy_circuit_target = noise_model_target.apply(circuit) - assert noisy_circuit.draw() == noisy_circuit_target.draw() + assert str(noisy_circuit) == str(noisy_circuit_target) backend.set_seed(2024) state = backend.execute_circuit(noisy_circuit, nshots=10) diff --git a/tests/test_quantum_info_entropies.py b/tests/test_quantum_info_entropies.py index 84129e3c6d..b383effed6 100644 --- a/tests/test_quantum_info_entropies.py +++ b/tests/test_quantum_info_entropies.py @@ -1,15 +1,15 @@ import numpy as np import pytest -from scipy.linalg import sqrtm from qibo.config import PRECISION_TOL from qibo.quantum_info.entropies import ( - _matrix_power, + classical_mutual_information, classical_relative_entropy, classical_relative_renyi_entropy, classical_renyi_entropy, classical_tsallis_entropy, entanglement_entropy, + mutual_information, relative_renyi_entropy, relative_von_neumann_entropy, renyi_entropy, @@ -17,6 +17,7 @@ tsallis_entropy, von_neumann_entropy, ) +from qibo.quantum_info.linalg_operations import matrix_power from qibo.quantum_info.random_ensembles import ( random_density_matrix, random_statevector, @@ -125,6 +126,27 @@ def test_classical_relative_entropy(backend, base, kind): backend.assert_allclose(divergence, target, atol=1e-5) +@pytest.mark.parametrize("base", [2, 10, np.e, 5]) +def test_classical_mutual_information(backend, base): + prob_p = np.random.rand(10) + prob_q = np.random.rand(10) + prob_p /= np.sum(prob_p) + prob_q /= np.sum(prob_q) + + joint_dist = np.kron(prob_p, prob_q) + joint_dist /= np.sum(joint_dist) + + prob_p = backend.cast(prob_p, dtype=prob_p.dtype) + prob_q = backend.cast(prob_q, dtype=prob_q.dtype) + joint_dist = backend.cast(joint_dist, dtype=joint_dist.dtype) + + backend.assert_allclose( + classical_mutual_information(joint_dist, prob_p, prob_q, base, backend), + 0.0, + atol=1e-10, + ) + + @pytest.mark.parametrize("kind", [None, list]) @pytest.mark.parametrize("base", [2, 10, np.e, 5]) @pytest.mark.parametrize("alpha", [0, 1, 2, 3, np.inf]) @@ -499,6 +521,25 @@ def test_relative_entropy(backend, base, check_hermitian): ) +@pytest.mark.parametrize("check_hermitian", [False, True]) +@pytest.mark.parametrize("base", [2, 10, np.e, 5]) +def test_mutual_information(backend, base, check_hermitian): + with pytest.raises(ValueError): + state = np.ones((3, 3)) + state = backend.cast(state, dtype=state.dtype) + test = mutual_information(state, [0], backend) + + state_a = random_density_matrix(4, backend=backend) + state_b = random_density_matrix(4, backend=backend) + state = backend.np.kron(state_a, state_b) + + backend.assert_allclose( + mutual_information(state, [0, 1], base, check_hermitian, backend), + 0.0, + atol=1e-10, + ) + + @pytest.mark.parametrize("base", [2, 10, np.e, 5]) @pytest.mark.parametrize("alpha", [0, 1, 2, 3, np.inf]) def test_renyi_entropy(backend, alpha, base): @@ -604,8 +645,18 @@ def test_relative_renyi_entropy(backend, alpha, base, state_flag, target_flag): if alpha == 1.0: log = relative_von_neumann_entropy(state, target, base, backend=backend) elif alpha == np.inf: - new_state = _matrix_power(state, 0.5, backend) - new_target = _matrix_power(target, 0.5, backend) + state_outer = ( + backend.np.outer(state, backend.np.conj(state.T)) + if state_flag + else state + ) + target_outer = ( + backend.np.outer(target, backend.np.conj(target.T)) + if target_flag + else target + ) + new_state = matrix_power(state_outer, 0.5, backend) + new_target = matrix_power(target_outer, 0.5, backend) log = backend.np.log2( backend.calculate_norm_density_matrix( @@ -621,8 +672,8 @@ def test_relative_renyi_entropy(backend, alpha, base, state_flag, target_flag): if len(target.shape) == 1: target = backend.np.outer(target, backend.np.conj(target)) - log = _matrix_power(state, alpha, backend) - log = log @ _matrix_power(target, 1 - alpha, backend) + log = matrix_power(state, alpha, backend) + log = log @ matrix_power(target, 1 - alpha, backend) log = backend.np.log2(backend.np.trace(log)) log = (1 / (alpha - 1)) * log / np.log2(base) @@ -668,7 +719,7 @@ def test_tsallis_entropy(backend, alpha, base): target = von_neumann_entropy(state, base=base, backend=backend) else: target = (1 / (1 - alpha)) * ( - backend.np.trace(_matrix_power(state, alpha, backend)) - 1 + backend.np.trace(matrix_power(state, alpha, backend)) - 1 ) backend.assert_allclose( diff --git a/tests/test_quantum_info_operations.py b/tests/test_quantum_info_operations.py index 057b69e6ea..3d97f1f63a 100644 --- a/tests/test_quantum_info_operations.py +++ b/tests/test_quantum_info_operations.py @@ -5,8 +5,10 @@ from qibo.quantum_info.linalg_operations import ( anticommutator, commutator, + matrix_power, partial_trace, ) +from qibo.quantum_info.metrics import purity from qibo.quantum_info.random_ensembles import random_density_matrix, random_statevector @@ -109,3 +111,22 @@ def test_partial_trace(backend, density_matrix): Id = backend.identity_density_matrix(1, normalize=True) backend.assert_allclose(traced, Id) + + +@pytest.mark.parametrize("power", [2, 2.0, "2"]) +def test_matrix_power(backend, power): + nqubits = 2 + dims = 2**nqubits + + state = random_density_matrix(dims, backend=backend) + + if isinstance(power, str): + with pytest.raises(TypeError): + test = matrix_power(state, power, backend) + else: + power = matrix_power(state, power, backend) + + backend.assert_allclose( + float(backend.np.real(backend.np.trace(power))), + purity(state, backend=backend), + ) diff --git a/tests/test_quantum_info_utils.py b/tests/test_quantum_info_utils.py index 8a375e0f21..f9b8c0ff2b 100644 --- a/tests/test_quantum_info_utils.py +++ b/tests/test_quantum_info_utils.py @@ -17,6 +17,7 @@ hellinger_fidelity, hellinger_shot_error, pqc_integral, + total_variation_distance, ) @@ -212,6 +213,52 @@ def test_hellinger_shot_error(backend, validate, kind): assert 2 * hellinger_error < hellinger_fid +@pytest.mark.parametrize("kind", [None, list]) +@pytest.mark.parametrize("validate", [False, True]) +def test_total_variation_distance(backend, validate, kind): + with pytest.raises(ValueError): + prob = np.array([-1, 2.0]) + prob_q = np.random.rand(1, 5)[0] + prob = backend.cast(prob, dtype=prob.dtype) + prob_q = backend.cast(prob_q, dtype=prob_q.dtype) + test = total_variation_distance(prob, prob_q, validate=True, backend=backend) + with pytest.raises(ValueError): + prob = np.random.rand(1, 2)[0] + prob_q = np.array([1.0, 0.0]) + prob = backend.cast(prob, dtype=prob.dtype) + prob_q = backend.cast(prob_q, dtype=prob_q.dtype) + test = total_variation_distance(prob, prob_q, validate=True, backend=backend) + with pytest.raises(ValueError): + prob = np.array([1.0, 0.0]) + prob_q = np.random.rand(1, 2)[0] + prob = backend.cast(prob, dtype=prob.dtype) + prob_q = backend.cast(prob_q, dtype=prob_q.dtype) + test = total_variation_distance(prob, prob_q, validate=True, backend=backend) + + prob_p = np.random.rand(10) + prob_q = np.random.rand(10) + prob_p /= np.sum(prob_p) + prob_q /= np.sum(prob_q) + prob_p = backend.cast(prob_p, dtype=prob_p.dtype) + prob_q = backend.cast(prob_q, dtype=prob_q.dtype) + + target = float(backend.calculate_norm(prob_p - prob_q, order=1) / 2) + + prob_p = ( + kind(prob_p) if kind is not None else backend.cast(prob_p, dtype=prob_p.dtype) + ) + prob_q = ( + kind(prob_q) if kind is not None else backend.cast(prob_q, dtype=prob_q.dtype) + ) + + tvd = total_variation_distance(prob_p, prob_q, validate, backend) + distance = hellinger_distance(prob_p, prob_q, validate, backend) + + assert tvd == target + assert tvd <= np.sqrt(2) * distance + assert tvd >= distance**2 + + def test_haar_integral_errors(backend): with pytest.raises(TypeError): nqubits, power_t, samples = 0.5, 2, 10 diff --git a/tests/test_ui_array_images/test_align_gate.npy b/tests/test_ui_array_images/test_align_gate.npy new file mode 100644 index 0000000000..e1971f4239 Binary files /dev/null and b/tests/test_ui_array_images/test_align_gate.npy differ diff --git a/tests/test_ui_array_images/test_bigger_circuit_gates_3.npy b/tests/test_ui_array_images/test_bigger_circuit_gates_3.npy new file mode 100644 index 0000000000..1f299be322 Binary files /dev/null and b/tests/test_ui_array_images/test_bigger_circuit_gates_3.npy differ diff --git a/tests/test_ui_array_images/test_bigger_circuit_gates_4.npy b/tests/test_ui_array_images/test_bigger_circuit_gates_4.npy new file mode 100644 index 0000000000..34fb83dbb6 Binary files /dev/null and b/tests/test_ui_array_images/test_bigger_circuit_gates_4.npy differ diff --git a/tests/test_ui_array_images/test_bigger_circuit_gates_5.npy b/tests/test_ui_array_images/test_bigger_circuit_gates_5.npy new file mode 100644 index 0000000000..5f338f21f7 Binary files /dev/null and b/tests/test_ui_array_images/test_bigger_circuit_gates_5.npy differ diff --git a/tests/test_ui_array_images/test_bigger_circuit_gates_6.npy b/tests/test_ui_array_images/test_bigger_circuit_gates_6.npy new file mode 100644 index 0000000000..16119bb062 Binary files /dev/null and b/tests/test_ui_array_images/test_bigger_circuit_gates_6.npy differ diff --git a/tests/test_ui_array_images/test_circuit_entangled_entropy_false.npy b/tests/test_ui_array_images/test_circuit_entangled_entropy_false.npy new file mode 100644 index 0000000000..ae3b1cd97f Binary files /dev/null and b/tests/test_ui_array_images/test_circuit_entangled_entropy_false.npy differ diff --git a/tests/test_ui_array_images/test_circuit_entangled_entropy_true.npy b/tests/test_ui_array_images/test_circuit_entangled_entropy_true.npy new file mode 100644 index 0000000000..9562839102 Binary files /dev/null and b/tests/test_ui_array_images/test_circuit_entangled_entropy_true.npy differ diff --git a/tests/test_ui_array_images/test_circuit_fused_gates_false.npy b/tests/test_ui_array_images/test_circuit_fused_gates_false.npy new file mode 100644 index 0000000000..4369014f5d Binary files /dev/null and b/tests/test_ui_array_images/test_circuit_fused_gates_false.npy differ diff --git a/tests/test_ui_array_images/test_circuit_fused_gates_true.npy b/tests/test_ui_array_images/test_circuit_fused_gates_true.npy new file mode 100644 index 0000000000..6c196f9096 Binary files /dev/null and b/tests/test_ui_array_images/test_circuit_fused_gates_true.npy differ diff --git a/tests/test_ui_array_images/test_circuit_measure_1.npy b/tests/test_ui_array_images/test_circuit_measure_1.npy new file mode 100644 index 0000000000..c26d82bdb9 Binary files /dev/null and b/tests/test_ui_array_images/test_circuit_measure_1.npy differ diff --git a/tests/test_ui_array_images/test_circuit_measure_2.npy b/tests/test_ui_array_images/test_circuit_measure_2.npy new file mode 100644 index 0000000000..4cea0a3c30 Binary files /dev/null and b/tests/test_ui_array_images/test_circuit_measure_2.npy differ diff --git a/tests/test_ui_array_images/test_circuit_measure_3.npy b/tests/test_ui_array_images/test_circuit_measure_3.npy new file mode 100644 index 0000000000..f3b4696f7d Binary files /dev/null and b/tests/test_ui_array_images/test_circuit_measure_3.npy differ diff --git a/tests/test_ui_array_images/test_complex_circuit_fig1_false.npy b/tests/test_ui_array_images/test_complex_circuit_fig1_false.npy new file mode 100644 index 0000000000..aafe9360f2 Binary files /dev/null and b/tests/test_ui_array_images/test_complex_circuit_fig1_false.npy differ diff --git a/tests/test_ui_array_images/test_complex_circuit_fig1_true.npy b/tests/test_ui_array_images/test_complex_circuit_fig1_true.npy new file mode 100644 index 0000000000..38b57e74f4 Binary files /dev/null and b/tests/test_ui_array_images/test_complex_circuit_fig1_true.npy differ diff --git a/tests/test_ui_array_images/test_complex_circuit_fig2_false.npy b/tests/test_ui_array_images/test_complex_circuit_fig2_false.npy new file mode 100644 index 0000000000..d3a83b3ac6 Binary files /dev/null and b/tests/test_ui_array_images/test_complex_circuit_fig2_false.npy differ diff --git a/tests/test_ui_array_images/test_complex_circuit_fig2_true.npy b/tests/test_ui_array_images/test_complex_circuit_fig2_true.npy new file mode 100644 index 0000000000..79e27c0e44 Binary files /dev/null and b/tests/test_ui_array_images/test_complex_circuit_fig2_true.npy differ diff --git a/tests/test_ui_array_images/test_empty_circuit.npy b/tests/test_ui_array_images/test_empty_circuit.npy new file mode 100644 index 0000000000..c564279cdd Binary files /dev/null and b/tests/test_ui_array_images/test_empty_circuit.npy differ diff --git a/tests/test_ui_array_images/test_fuse_cluster.npy b/tests/test_ui_array_images/test_fuse_cluster.npy new file mode 100644 index 0000000000..ff307ef9c8 Binary files /dev/null and b/tests/test_ui_array_images/test_fuse_cluster.npy differ diff --git a/tests/test_ui_array_images/test_fused_gates.npy b/tests/test_ui_array_images/test_fused_gates.npy new file mode 100644 index 0000000000..5263a3dff6 Binary files /dev/null and b/tests/test_ui_array_images/test_fused_gates.npy differ diff --git a/tests/test_ui_array_images/test_layered_circuit.npy b/tests/test_ui_array_images/test_layered_circuit.npy new file mode 100644 index 0000000000..4463f5dc2b Binary files /dev/null and b/tests/test_ui_array_images/test_layered_circuit.npy differ diff --git a/tests/test_ui_array_images/test_plot_circuit_2.npy b/tests/test_ui_array_images/test_plot_circuit_2.npy new file mode 100644 index 0000000000..3e340e0cd3 Binary files /dev/null and b/tests/test_ui_array_images/test_plot_circuit_2.npy differ diff --git a/tests/test_ui_array_images/test_plot_circuit_3.npy b/tests/test_ui_array_images/test_plot_circuit_3.npy new file mode 100644 index 0000000000..43bf51f5a3 Binary files /dev/null and b/tests/test_ui_array_images/test_plot_circuit_3.npy differ diff --git a/tests/test_ui_array_images/test_plot_circuit_internal_ax1.npy b/tests/test_ui_array_images/test_plot_circuit_internal_ax1.npy new file mode 100644 index 0000000000..ad13e66855 Binary files /dev/null and b/tests/test_ui_array_images/test_plot_circuit_internal_ax1.npy differ diff --git a/tests/test_ui_array_images/test_plot_circuit_internal_ax2.npy b/tests/test_ui_array_images/test_plot_circuit_internal_ax2.npy new file mode 100644 index 0000000000..ad13e66855 Binary files /dev/null and b/tests/test_ui_array_images/test_plot_circuit_internal_ax2.npy differ diff --git a/tests/test_ui_mpldrawer.py b/tests/test_ui_mpldrawer.py new file mode 100644 index 0000000000..29bad9a721 --- /dev/null +++ b/tests/test_ui_mpldrawer.py @@ -0,0 +1,401 @@ +"""Tests for Qibo matplotlib drawer""" + +from pathlib import Path + +import matplotlib +import matplotlib.pyplot +import numpy as np +import pytest + +from qibo import Circuit, callbacks, gates +from qibo.models import QFT +from qibo.ui.drawer_utils import FusedEndGateBarrier, FusedStartGateBarrier +from qibo.ui.mpldrawer import ( + _make_cluster_gates, + _plot_params, + _plot_quantum_circuit, + _process_gates, + _render_label, + plot_circuit, +) + +matplotlib.use("agg") + +BASEPATH = str(Path(__file__).parent / "test_ui_array_images") + + +# convert image file to numpy array +def fig2array(fig): + fig.canvas.draw() + data = np.frombuffer(fig.canvas.buffer_rgba(), dtype=np.uint8) + data = data.reshape(fig.canvas.get_width_height()[::-1] + (4,)) + return data + + +# match a matplotlib figure with a image file +def match_figure_image(fig, arr_path): + return np.all(fig2array(fig) == np.load(arr_path)) + + +@pytest.mark.parametrize("nqubits", [2, 3]) +def test_plot_circuit(nqubits): + """Test for main plot function""" + c = Circuit(nqubits) + c.add(gates.H(0)) + c.add(gates.CNOT(0, 1)) + c.add(gates.M(0)) + c.add(gates.M(1)) + _, fig = plot_circuit(c) + assert ( + match_figure_image( + fig, BASEPATH + "/test_plot_circuit_" + str(nqubits) + ".npy" + ) + == True + ) + + +@pytest.mark.parametrize("nqubits", [1, 2, 3]) +def test_circuit_measure(nqubits): + """Measure circuit""" + c = Circuit(nqubits) + c.add(gates.M(qubit) for qubit in range(nqubits - 1)) + _, fig = plot_circuit(c) + assert ( + match_figure_image( + fig, BASEPATH + "/test_circuit_measure_" + str(nqubits) + ".npy" + ) + == True + ) + + +@pytest.mark.parametrize("nqubits", [3, 4, 5, 6]) +def test_bigger_circuit_gates(nqubits): + """Test for a bigger circuit""" + c = Circuit(nqubits) + c.add(gates.H(1)) + c.add(gates.X(1)) + c.add(gates.SX(2)) + c.add(gates.CSX(0, 2)) + c.add(gates.TOFFOLI(0, 1, 2)) + c.add(gates.CNOT(1, 2)) + c.add(gates.SWAP(1, 2)) + c.add(gates.SiSWAP(1, 2)) + c.add(gates.FSWAP(1, 2)) + c.add(gates.DEUTSCH(1, 0, 2, np.pi)) + c.add(gates.X(1)) + c.add(gates.X(0)) + c.add(gates.M(qubit) for qubit in range(2)) + _, fig = plot_circuit(c) + assert ( + match_figure_image( + fig, BASEPATH + "/test_bigger_circuit_gates_" + str(nqubits) + ".npy" + ) + == True + ) + + +@pytest.mark.parametrize("clustered", [False, True]) +def test_complex_circuit(clustered): + """Complex circuits for several cases""" + c = Circuit(3) + c.add(gates.H(0)) + c.add(gates.H(1)) + c.add(gates.H(2)) + c.add(gates.X(1)) + c.add(gates.Z(0)) + c.add(gates.CNOT(0, 1)) + c.add(gates.CZ(0, 1)) + c.add(gates.CRX(0, 1, np.pi)) + c.add(gates.Y(1)) + c.add(gates.RY(1, np.pi)) + c.add(gates.CRY(1, 2, np.pi)) + c.add(gates.Z(1)) + c.add(gates.SX(2)) + c.add(gates.CSX(0, 2)) + c.add(gates.X(0)) + c.add(gates.TOFFOLI(0, 1, 2)) + c.add(gates.X(0)) + c.add(gates.CNOT(1, 2)) + c.add(gates.SWAP(1, 2)) + c.add(gates.SWAP(1, 2).dagger()) + c.add(gates.SX(1).dagger()) + c.add(gates.X(0)) + c.add(gates.X(2)) + c.add(gates.H(0)) + c.add(gates.SiSWAP(1, 2).dagger()) + c.add(gates.FSWAP(1, 2).dagger()) + c.add(gates.DEUTSCH(1, 0, 2, np.pi)) + c.add(gates.X(0)) + c.add(gates.M(qubit) for qubit in range(2)) + _, fig1 = plot_circuit(c.invert(), cluster_gates=clustered, scale=0.70) + _, fig2 = plot_circuit(c, cluster_gates=clustered, scale=0.70) + assert ( + match_figure_image( + fig1, + BASEPATH + + "/test_complex_circuit_fig1_" + + ("true" if clustered else "false") + + ".npy", + ) + == True + ) + assert ( + match_figure_image( + fig2, + BASEPATH + + "/test_complex_circuit_fig2_" + + ("true" if clustered else "false") + + ".npy", + ) + == True + ) + + +def test_align_gate(): + """Test for Align gate""" + c = Circuit(3) + c.add(gates.Align(0)) + _, fig = plot_circuit(c) + assert match_figure_image(fig, BASEPATH + "/test_align_gate.npy") == True + + +@pytest.mark.parametrize("clustered", [False, True]) +def test_circuit_fused_gates(clustered): + """Test for FusedStartGateBarrier and FusedEndGateBarrier""" + c = QFT(5) + c.add(gates.M(qubit) for qubit in range(2)) + _, fig = plot_circuit( + c.fuse(), scale=0.8, cluster_gates=clustered, style="quantumspain" + ) + assert ( + match_figure_image( + fig, + BASEPATH + + "/test_circuit_fused_gates_" + + ("true" if clustered else "false") + + ".npy", + ) + == True + ) + + +def test_empty_circuit(): + """Test for printing empty circuit""" + c = Circuit(2) + _, fig = plot_circuit(c) + assert match_figure_image(fig, BASEPATH + "/test_empty_circuit.npy") == True + + +@pytest.mark.parametrize("clustered", [False, True]) +def test_circuit_entangled_entropy(clustered): + """Circuit test for printing entanglement entropy circuit""" + entropy = callbacks.EntanglementEntropy([0]) + c = Circuit(2) + c.add(gates.CallbackGate(entropy)) + c.add(gates.H(0)) + c.add(gates.CallbackGate(entropy)) + c.add(gates.CNOT(0, 1)) + c.add(gates.CallbackGate(entropy)) + _, fig = plot_circuit(c, scale=0.8, cluster_gates=clustered) + assert ( + match_figure_image( + fig, + BASEPATH + + "/test_circuit_entangled_entropy_" + + ("true" if clustered else "false") + + ".npy", + ) + == True + ) + + +def test_layered_circuit(): + """Layered Circuit test""" + nqubits = 4 + nlayers = 3 + + # Create variational ansatz circuit Twolocal + ansatz = Circuit(nqubits) + for l in range(nlayers): + + ansatz.add(gates.RY(q, theta=0) for q in range(nqubits)) + + for i in range(nqubits - 3): + ansatz.add(gates.CNOT(i, i + 1)) + ansatz.add(gates.CNOT(i, i + 2)) + ansatz.add(gates.CNOT(i + 1, i + 2)) + ansatz.add(gates.CNOT(i, i + 3)) + ansatz.add(gates.CNOT(i + 1, i + 3)) + ansatz.add(gates.CNOT(i + 2, i + 3)) + + ansatz.add(gates.RY(q, theta=0) for q in range(nqubits)) + ansatz.add(gates.M(qubit) for qubit in range(2)) + _, fig = plot_circuit(ansatz) + assert match_figure_image(fig, BASEPATH + "/test_layered_circuit.npy") == True + + +def test_fused_gates(): + c = Circuit(3) + c.add(gates.H(0)) + c.add(gates.X(0)) + c.add(gates.H(0)) + c.add(gates.X(1)) + c.add(gates.H(1)) + _, fig = plot_circuit(c.fuse(), scale=0.8, cluster_gates=False) + assert match_figure_image(fig, BASEPATH + "/test_fused_gates.npy") == True + + +def test_fuse_cluster(): + """Test for clustering gates""" + c = Circuit(2) + c.add(gates.X(0)) + c.add(gates.X(0)) + c.add(gates.X(1)) + c.add(gates.M(qubit) for qubit in range(2)) + _, fig = plot_circuit(c.fuse()) + assert match_figure_image(fig, BASEPATH + "/test_fuse_cluster.npy") == True + + +def test_plot_circuit_internal(): + """Test for circuit plotting""" + gates_plot = [ + ("H", "q_0"), + ("U1", "q_0", "q_1"), + ("U1", "q_0", "q_2"), + ("U1", "q_0", "q_3"), + ("U1", "q_0", "q_4"), + ("H", "q_1"), + ("U1", "q_1", "q_2"), + ("U1", "q_1", "q_3"), + ("U1", "q_1", "q_4"), + ("H", "q_2"), + ("U1", "q_2", "q_3"), + ("U1", "q_2", "q_4"), + ("H", "q_3"), + ("U1", "q_3", "q_4"), + ("H", "q_4"), + ("SWAP", "q_0", "q_4"), + ("SWAP", "q_1", "q_3"), + ("MEASURE", "q_0"), + ("MEASURE", "q_1"), + ] + + inits = [0, 1, 2, 3, 4] + + params = { + "scale": 1.0, + "fontsize": 14.0, + "linewidth": 1.0, + "control_radius": 0.05, + "not_radius": 0.15, + "swap_delta": 0.08, + "label_buffer": 0.0, + "facecolor": "#d55e00", + "edgecolor": "#f0e442", + "fillcolor": "#cc79a7", + "linecolor": "#f0e442", + "textcolor": "#f0e442", + "gatecolor": "#d55e00", + "controlcolor": "#f0e442", + } + + labels = ["q_0", "q_1", "q_2", "q_3", "q_4"] + + ax1 = _plot_quantum_circuit(gates_plot, inits, params, labels, scale=0.7) + ax2 = _plot_quantum_circuit(gates_plot, inits, params, [], scale=0.7) + assert ( + match_figure_image(ax1.figure, BASEPATH + "/test_plot_circuit_internal_ax1.npy") + == True + ) + assert ( + match_figure_image(ax2.figure, BASEPATH + "/test_plot_circuit_internal_ax2.npy") + == True + ) + + +def test_empty_gates(): + "Empty gates test" + assert _process_gates([], 2) == [] + + +def test_plot_circuit_error_style(): + """Test for style error function""" + style1 = _plot_params(style="test") + style2 = _plot_params(style="fardelejo") + custom_style = { + "facecolor": "#6497bf", + "edgecolor": "#01016f", + "linecolor": "#01016f", + "textcolor": "#01016f", + "fillcolor": "#ffb9b9", + "gatecolor": "#d8031c", + "controlcolor": "#360000", + } + style3 = _plot_params(style=custom_style) + assert style1["facecolor"] == "w" + assert style2["facecolor"] == "#e17a02" + assert style3["facecolor"] == "#6497bf" + + +def test_fused_gates(): + """Test for FusedStartGateBarrier and FusedEndGateBarrier""" + min_q = 0 + max_q = 1 + l_gates = 1 + equal_qbits = True + start_barrier = FusedStartGateBarrier(min_q, max_q, l_gates, equal_qbits) + end_barrier = FusedEndGateBarrier(min_q, max_q) + assert start_barrier != None + assert end_barrier != None + + +def test_render_label(): + """Test render labels""" + inits = [0] + assert _render_label("q_0", inits) != "" + assert _render_label("q_8", inits) != "" + + +def test_render_label_empty(): + inits = {"q_0": None} + assert _render_label("q_0", inits) == "" + + +def test_render_label_not_empty(): + inits = {"q_0": r"\psi"} + assert _render_label("q_0", inits) != "" + + +def test_cluster_gates(): + """Test clustering gates""" + pgates = [ + ("MEASURE", "q_0"), + ("GFF", "q_0", "q_1"), + ("U1", "q_0", "q_2"), + ("U1", "q_0", "q_3"), + ("U1", "q_0", "q_4"), + ("H", "q_1"), + ("U1", "q_1", "q_2"), + ("U1", "q_1", "q_3"), + ("U1", "q_1", "q_4"), + ("H", "q_2"), + ("U1", "q_2", "q_3"), + ("U1", "q_2", "q_4"), + ("H", "q_3"), + ("U1", "q_3", "q_4"), + ("H", "q_4"), + ("SWAP", "q_0", "q_4"), + ("SWAP", "q_1", "q_3"), + ("MEASURE", "q_0"), + ("MEASURE", "q_1"), + ] + assert _make_cluster_gates(pgates) != "" + + +def test_target_control_qubts(): + """Very dummy test to check the target and control qubits from gates""" + c = Circuit(3) + c.add(gates.CSX(0, 2)) + c.queue[0]._target_qubits = ((0, 1), (0, 2)) + c.queue[0]._control_qubits = ((0,), (0,)) + assert _process_gates(c.queue, 3) != ""