{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Resonator benchmark (Lumerical)\n", "\n", "In this example, we reproduce the findings of Campione et al. (2016), which is linked [here](https://pubs.acs.org/doi/abs/10.1021/acsphotonics.6b00556?casa_token=v7Cq9VMW40UAAAAA:AWrBfYCHrwGQ9PYBYgdprrQ8X8i-nOairIplRs1Ejo2sbDmFT9nsV1M6UEXpvOfYSnwMjagD9IT97Ph2).\n", "\n", "This notebook was originally developed and written by Romil Audhkhasi (USC). \n", "\n", "The paper investigates the resonances of Germanium structures by measuring their transmission spectrum under varying geometric parameters.\n", "\n", "The paper uses a finite-difference time-domain (Lumerical), which matches the result from Tidy3D.\n", "\n", "\n", "\n", "To do this calculation, we use a broadband pulse and frequency monitor to measure the flux on the opposite side of the structure." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "execution": { "iopub.execute_input": "2023-02-03T06:17:45.095538Z", "iopub.status.busy": "2023-02-03T06:17:45.095284Z", "iopub.status.idle": "2023-02-03T06:17:45.766646Z", "shell.execute_reply": "2023-02-03T06:17:45.766229Z" }, "id": "8WfOAGgkyh3K", "outputId": "f02b3adf-9117-42b1-a69c-b5f4f3f0a6c5", "tags": [] }, "outputs": [ { "data": { "text/html": [ "
[00:17:45] WARNING  This version of Tidy3D was pip installed from the 'tidy3d-beta' repository on   __init__.py:103\n",
       "                    PyPI. Future releases will be uploaded to the 'tidy3d' repository. From now on,                \n",
       "                    please use 'pip install tidy3d' instead.                                                       \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[00:17:45]\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING \u001b[0m This version of Tidy3D was pip installed from the \u001b[32m'tidy3d-beta'\u001b[0m repository on \u001b]8;id=851470;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=103135;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py#103\u001b\\\u001b[2m103\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m PyPI. Future releases will be uploaded to the \u001b[32m'tidy3d'\u001b[0m repository. From now on, \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m please use \u001b[32m'pip install tidy3d'\u001b[0m instead. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     Using client version: 1.9.0rc1                                                  __init__.py:121\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Using client version: \u001b[1;36m1.9\u001b[0m.0rc1 \u001b]8;id=66376;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=671102;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py#121\u001b\\\u001b[2m121\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# standard python imports\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# tidy3D import\n", "import tidy3d as td\n", "from tidy3d import web\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set Up Simulation" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2023-02-03T06:17:45.768448Z", "iopub.status.busy": "2023-02-03T06:17:45.768286Z", "iopub.status.idle": "2023-02-03T06:17:45.770801Z", "shell.execute_reply": "2023-02-03T06:17:45.770517Z" }, "id": "gy7J23c5yh3S", "tags": [] }, "outputs": [], "source": [ "Nfreq = 1000\n", "wavelengths = np.linspace(8, 12, Nfreq)\n", "freqs = td.constants.C_0 / wavelengths\n", "freq0 = freqs[len(freqs) // 2]\n", "freqw = freqs[0] - freqs[-1]\n", "\n", "# Define material properties\n", "n_BaF2 = 1.45\n", "n_Ge = 4\n", "BaF2 = td.Medium(permittivity=n_BaF2**2)\n", "Ge = td.Medium(permittivity=n_Ge**2)\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2023-02-03T06:17:45.772296Z", "iopub.status.busy": "2023-02-03T06:17:45.772179Z", "iopub.status.idle": "2023-02-03T06:17:45.774162Z", "shell.execute_reply": "2023-02-03T06:17:45.773869Z" }, "id": "mGFiHbvhyh3T", "tags": [] }, "outputs": [], "source": [ "# space between resonators and source\n", "spc = 8\n", "\n", "# geometric parameters\n", "Px = Py = P = 4.2\n", "h = 2.53\n", "L1 = 3.036\n", "L2 = 2.024\n", "w1 = w2 = w = 1.265\n", "\n", "# resolution (should be commensurate with periodicity)\n", "dl = P / 32\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2023-02-03T06:17:45.775527Z", "iopub.status.busy": "2023-02-03T06:17:45.775428Z", "iopub.status.idle": "2023-02-03T06:17:45.778327Z", "shell.execute_reply": "2023-02-03T06:17:45.778059Z" }, "id": "Ol9GwSGUyh3U", "tags": [] }, "outputs": [], "source": [ "# total size in z and [x,y,z]\n", "Lz = spc + h + h + spc\n", "sim_size = [Px, Py, Lz]\n", "\n", "# BaF2 substrate\n", "substrate = td.Structure(\n", " geometry=td.Box(\n", " center=[0, 0, -Lz / 2],\n", " size=[td.inf, td.inf, 2 * (spc + h)],\n", " ),\n", " medium=BaF2,\n", " name=\"substrate\",\n", ")\n", "\n", "# Define structure\n", "\n", "cell1 = td.Structure(\n", " geometry=td.Box(\n", " center=[(L1 / 2) - L2, -w1 / 2, h / 2],\n", " size=[L1, w1, h],\n", " ),\n", " medium=Ge,\n", " name=\"cell1\",\n", ")\n", "\n", "cell2 = td.Structure(\n", " geometry=td.Box(\n", " center=[-L2 / 2, w2 / 2, h / 2],\n", " size=[L2, w2, h],\n", " ),\n", " medium=Ge,\n", " name=\"cell2\",\n", ")\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2023-02-03T06:17:45.779592Z", "iopub.status.busy": "2023-02-03T06:17:45.779498Z", "iopub.status.idle": "2023-02-03T06:17:45.781635Z", "shell.execute_reply": "2023-02-03T06:17:45.781383Z" }, "id": "YO2yKasKyh3U", "tags": [] }, "outputs": [], "source": [ "# time dependence of source\n", "gaussian = td.GaussianPulse(freq0=freq0, fwidth=freqw)\n", "\n", "# plane wave source\n", "source = td.PlaneWave(\n", " source_time=gaussian,\n", " size=(td.inf, td.inf, 0),\n", " center=(0, 0, Lz / 2 - spc + 2 * dl),\n", " direction=\"-\",\n", " pol_angle=0,\n", ")\n", "\n", "# Simulation run time. Note you need to run a long time to calculate high Q resonances.\n", "run_time = 3e-11\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2023-02-03T06:17:45.782958Z", "iopub.status.busy": "2023-02-03T06:17:45.782865Z", "iopub.status.idle": "2023-02-03T06:17:45.784860Z", "shell.execute_reply": "2023-02-03T06:17:45.784589Z" }, "id": "4TZn_s8kyh3V", "tags": [] }, "outputs": [], "source": [ "# monitor fields on other side of structure (substrate side) at range of frequencies\n", "monitor = td.FluxMonitor(\n", " center=[0.0, 0.0, -Lz / 2 + spc - 2 * dl],\n", " size=[td.inf, td.inf, 0],\n", " freqs=freqs,\n", " name=\"flux\",\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define Case Studies\n", "\n", "Here we define the two simulations to run\n", "\n", "- With no resonator (normalization)\n", "- With Ge resonator\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "execution": { "iopub.execute_input": "2023-02-03T06:17:45.786245Z", "iopub.status.busy": "2023-02-03T06:17:45.786150Z", "iopub.status.idle": "2023-02-03T06:17:45.790866Z", "shell.execute_reply": "2023-02-03T06:17:45.790578Z" }, "id": "fnpi5BiZyh3W", "outputId": "d25c2f44-d5a2-4241-b69b-0ffe5369ec5b", "tags": [] }, "outputs": [], "source": [ "grid_spec = td.GridSpec(\n", " grid_x=td.UniformGrid(dl=dl),\n", " grid_y=td.UniformGrid(dl=dl),\n", " grid_z=td.AutoGrid(min_steps_per_wvl=32),\n", ")\n", "\n", "# normalizing run (no Ge) to get baseline transmission vs freq\n", "# can be run for shorter time as there are no resonances\n", "sim_empty = td.Simulation(\n", " size=sim_size,\n", " grid_spec=grid_spec,\n", " structures=[substrate],\n", " sources=[source],\n", " monitors=[monitor],\n", " run_time=run_time / 10,\n", " boundary_spec=td.BoundarySpec(x=td.Boundary.periodic(), y=td.Boundary.periodic(), z=td.Boundary.pml()),\n", ")\n", "\n", "# run with Ge nanorod\n", "sim_actual = td.Simulation(\n", " size=sim_size,\n", " grid_spec=td.GridSpec.uniform(dl=dl),\n", " structures=[substrate, cell1, cell2],\n", " sources=[source],\n", " monitors=[monitor],\n", " run_time=run_time,\n", " boundary_spec=td.BoundarySpec(x=td.Boundary.periodic(), y=td.Boundary.periodic(), z=td.Boundary.pml()),\n", ")\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 513 }, "execution": { "iopub.execute_input": "2023-02-03T06:17:45.792271Z", "iopub.status.busy": "2023-02-03T06:17:45.792188Z", "iopub.status.idle": "2023-02-03T06:17:46.051272Z", "shell.execute_reply": "2023-02-03T06:17:46.051009Z" }, "id": "T8YFcftUyh3X", "outputId": "93b60986-ceb3-4064-eb8d-71a75495c11d", "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1EAAAIjCAYAAADiGJHUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7b0lEQVR4nO3deXhU5fn/8U/WScgGgUCIRAhoQdkLSEEUkJSluKCVipVVRcWgYuoCimwuqRtQRUFtBRUX1FZosUUBWVRwAeH7ExUEZQ2ETZKQAJkkc35/0JkyWWfNnJm8X9c1l8yZs9wzeG6e+znPeU6YYRiGAAAAAAAuCQ90AAAAAAAQTCiiAAAAAMANFFEAAAAA4AaKKAAAAABwA0UUAAAAALiBIgoAAAAA3EARBQAAAABuoIgCAAAAADdQRAEAAACAGyiiAmjt2rUKCwvT2rVrAx0KgCBB3gAAIPAoourAiy++qEWLFgU6DI+89dZbmjt3bqDDcPK3v/1NF110kWJiYnThhRfq+eefd3nbkpISPfjgg0pLS1NsbKx69uyplStXVrnuhg0b1KdPHzVo0ECpqam6++67VVRU5KuvAdSIvOF/NptNTz31lDIyMhQTE6NOnTrp7bffdmnbQ4cOafLkyerfv78SEhJqLWzJJwAQYgz4Xfv27Y2+fftWWl5eXm6cPn3aKC8vr/ugXDR06FCjZcuWgQ7DYcGCBYYk4/e//73x8ssvG6NGjTIkGX/+859d2n7EiBFGZGSkcd999xkvvfSS0atXLyMyMtL49NNPndbbsmWLERMTY3Tt2tWYP3++8fDDDxsWi8UYPHiwP74WUAl5w/8mT55sSDLGjx9vvPzyy8bQoUMNScbbb79d67Zr1qwxJBkXXnih0atXL0OSsWbNmirXJZ8AQOipsyKqqKiorg5lOtU1hoKBmRpDp06dMho3bmwMHTrUaflNN91kxMXFGb/88kuN23/55ZeGJOPpp592LDt9+rTRpk0bo1evXk7rDhkyxGjevLlRUFDgWPbKK68YkoyPPvrIB98GriBv9A10GB4xU96ozoEDB4yoqCgjKyvLscxmsxmXXXaZ0aJFC6OsrKzG7QsLC43jx48bhmEY7733Xo1FFPkEAEKPR8P5cnNzdcsttygtLU0Wi0UZGRmaMGGCrFarJGnRokUKCwvTunXrdOedd6pp06Zq0aKFY/sXX3xR7du3l8ViUVpamrKyspSfn+90jJ07d+r3v/+9UlNTFRMToxYtWmjEiBEqKChwrLNy5Ur16dNHDRs2VHx8vNq2bauHHnqo1vhd2a6kpETTp0/XBRdcIIvFovT0dD3wwAMqKSmptL/FixfrkksuUYMGDdSoUSNdfvnl+vjjjyVJrVq10nfffad169YpLCxMYWFh6tevn6Tq721477331K1bN8XGxqpJkyYaOXKkcnNzndYZO3as4uPjlZubq2HDhik+Pl4pKSm67777VF5eXutvsGzZMg0dOtTxd9imTRs9+uijTtv269dPH374ofbu3euIvVWrVtXuc+HChQoLC9Orr77qtPyJJ55QWFiY/v3vf9caV03WrFmj48eP684773RanpWVpeLiYn344Yc1bv/+++8rIiJCt912m2NZTEyMbrnlFm3cuFH79++XJBUWFmrlypUaOXKkEhMTHeuOHj1a8fHxevfdd736HvUVecMZeeOsvn37qnPnzlV+1rZtWw0aNKjWuDyxbNkylZaWOuWTsLAwTZgwQQcOHNDGjRtr3D4hIUHJycm1Hod8AgChKdLdDQ4ePKhLLrlE+fn5uu2229SuXTvl5ubq/fff16lTpxQdHe1Y984771RKSoqmTZum4uJiSdKMGTM0c+ZMZWZmasKECdqxY4fmz5+vr7/+Wp9//rmioqJktVo1aNAglZSU6K677lJqaqpyc3O1fPly5efnKykpSd99952uvPJKderUSbNmzZLFYtGuXbv0+eef1xi/K9vZbDZdffXV+uyzz3Tbbbfpoosu0rfffqs5c+boxx9/1NKlSx3rzpw5UzNmzFDv3r01a9YsRUdH68svv9Qnn3yigQMHau7cubrrrrsUHx+vhx9+WJLUrFmzauNbtGiRxo0bpx49eignJ0eHDx/WX/7yF33++efasmWLGjZs6Fi3vLxcgwYNUs+ePfXMM89o1apVevbZZ9WmTRtNmDChxt9h0aJFio+PV3Z2tuLj4/XJJ59o2rRpKiws1NNPPy1Jevjhh1VQUKADBw5ozpw5kqT4+Phq9zlu3Dj94x//UHZ2tn77298qPT1d3377rWbOnKlbbrlFv/vd7xzrnjhxwqVGW4MGDdSgQQNJ0pYtWyRJ3bt3d1qnW7duCg8P15YtWzRy5Mhq97Vlyxb96le/cmrISNIll1wiSdq6dasj5rKyskrHiY6OVpcuXRxxwHXkDfJGdUaNGqXx48dr27Zt6tChg2P5119/rR9//FFTp051LPMkb1Rny5YtiouL00UXXeS03J4PtmzZoj59+tR6rNqQTwAgRLl76Wr06NFGeHi48fXXX1f6zGazGYZhGAsXLjQkGX369HEaEnHkyBEjOjraGDhwoNN4/nnz5hmSjFdffdUwjLPjxyUZ7733XrVxzJkzx5BkHD161K34XdnujTfeMMLDwyvdJ2O/H+fzzz83DMMwdu7caYSHhxvXXnttpfsT7L+FYVQ/LMc+pt4+BMRqtRpNmzY1OnToYJw+fdqx3vLlyw1JxrRp0xzLxowZY0gyZs2a5bTPrl27Gt26dav5RzDODo2r6PbbbzcaNGhgnDlzxrHM3WE5hw4dMpKTk43f/va3RklJidG1a1fj/PPPdxrGYhiG0bJlS0NSra/p06c7tsnKyjIiIiKqPG5KSooxYsSIGmNr3769ccUVV1Ra/t133xmSjAULFhiG8b+hOevXr6+07vDhw43U1NTafgZUQN4gb1QnPz/fiImJMR588EGn5XfffbcRFxfnNKTTk7xRnaFDhxqtW7eutLy4uNiQZEyePNml+A2j5uF85BMACE1uDeez2WxaunSprrrqqkq9atLZoRDnGj9+vCIiIhzvV61aJavVqkmTJik8PNxpvcTERMdwrKSkJEnSRx99pFOnTlUZi71nddmyZbLZbC5/B1e2e++993TRRRepXbt2OnbsmON1xRVXSDo7rEySli5dKpvNpmnTpjl9H6nyb+GKTZs26ciRI7rzzjsVExPjWD506FC1a9euyuFqd9xxh9P7yy67TD///HOtx4qNjXX8+eTJkzp27Jguu+wynTp1Stu3b3c7drvU1FS98MILWrlypS677DJt3bpVr776aqWrP2+++aZWrlxZ62v06NGObU6fPu10xeJcMTExOn36dI2xnT59WhaLpcpt7Z+f+9/q1q3tOHBG3iBv1CQpKUnXXHON3n77bRmGIens1bIlS5Zo2LBhiouLc6zrSd6ojqv5wFvkEwAITW4N5zt69KgKCwudhlzUJCMjw+n93r17JZ0d536u6OhotW7d2vF5RkaGsrOzNXv2bL355pu67LLLdPXVV2vkyJGOhtINN9ygv/71r7r11ls1efJkDRgwQNddd52uv/76Sg2Tc7my3c6dO/XDDz8oJSWlyn0cOXJEkvTTTz8pPDxcF198sUu/R22q+30kqV27dvrss8+clsXExFSKsVGjRjpx4kStx/ruu+80depUffLJJyosLHT67Nz7RzwxYsQILV68WB9++KFuu+02DRgwoNI6l156qdv7jY2Nddw/U9GZM2ecGnjVbV/VvSlnzpxxfH7uf6tbt7bjwBl54yzyRvVGjx6tJUuW6NNPP9Xll1+uVatW6fDhwxo1apTTep7kjby8PKf3SUlJio2NdTkfeIt8AgChye17otzhzT8Ozz77rMaOHatly5bp448/1t13362cnBx98cUXatGihWJjY7V+/XqtWbNGH374oVasWKElS5boiiuu0Mcff+zUk10xptq2s9ls6tixo2bPnl3lPtLT0z3+Xr5U3XesTX5+vvr27avExETNmjVLbdq0UUxMjL755hs9+OCDbvXQV+X48ePatGmTJOn777+XzWar1EA9evSoS/c2xMfHO+6naN68ucrLy3XkyBE1bdrUsY7VatXx48eVlpZW476aN29e6UZ76ezzXiQ5tm/evLnT8orr1nYceIe84V9mzBuDBg1Ss2bNtHjxYl1++eVavHixUlNTlZmZ6bSep3njXAsXLtTYsWPVvHlzrVmzRoZhOF0BrJgPvEU+AYDQ5NZwvpSUFCUmJmrbtm0eHaxly5aSpB07djgtt1qt2r17t+Nzu44dO2rq1Klav369Pv30U+Xm5mrBggX/Cz48XAMGDNDs2bP1/fff6/HHH9cnn3ziGDZTndq2a9OmjX755RcNGDBAmZmZlV72Ht82bdrIZrPp+++/r/F4rg7Rqe73sS+r+Pt4au3atTp+/LgWLVqke+65R1deeaUyMzPVqFGjSut6MrwoKytLJ0+eVE5Ojj777LMqH7rZo0cPNW/evNbXM88849imS5cukuQo0Ow2bdokm83m+Lw6Xbp00Y8//lipB/3LL7902n+HDh0UGRlZ6ThWq1Vbt26t9ThwRt4gb9QmIiJCf/zjH/X+++/rxIkTWrp0qW688cZKBZ8neaPiUD/7bH9dunTRqVOn9MMPPzgdo2I+8Bb5BABCk1tFVHh4uIYNG6Z//etflf5BkOQYz16dzMxMRUdH67nnnnNa929/+5sKCgo0dOhQSWenhC0rK3PatmPHjgoPD3cMifjll18q7d/+j1FVwybsXNnuD3/4g3Jzc/XKK69UWvf06dOOGcOGDRum8PBwzZo1q1Iv7LnfLy4urtJUzFXp3r27mjZtqgULFjh9h//85z/64YcfHL+Pt+wNk3NjtFqtevHFFyutGxcX59Ywnffff19LlizRn//8Z02ePFkjRozQ1KlT9eOPPzqt58m9DVdccYWSk5M1f/58p33Nnz9fDRo0cPp9jh07pu3btzvdG3P99dervLxcL7/8smNZSUmJFi5cqJ49ezquFCQlJSkzM1OLFy/WyZMnHeu+8cYbKioq0vDhw13+PUDekMgbrhg1apROnDih22+/XUVFRVXOtOlJ3qhYzNqvDF1zzTWKiopyit8wDC1YsEDnnXeeevfu7Vh+6NAhbd++XaWlpW59J4l8AgAhy92ZKA4cOGCkpqYaDRo0MCZNmmS89NJLxowZM4z27dsbJ06cMAzjf7NsVTUT1/Tp0w1JxsCBA4158+YZd911lxEREWH06NHDsFqthmEYxgcffGCcd955xqRJk4wXX3zReO6554wePXoYUVFRxsaNGw3DMIx77rnH6Nq1qzF16lTjlVdeMR5//HHjvPPOM1q0aGHk5+dXG78r25WXlxu/+93vjLCwMGPEiBHG888/b8ydO9e44447jOTkZKfv9cgjjxiSjN69exvPPPOM8fzzzxujR492mtnpzjvvNMLCwoxHH33UePvtt43Vq1cbhlF5lq1zf7uePXsac+fONaZMmWI0aNDAaNWqleP3NYyzs2zFxcVV+/vW5NixY0ajRo2Mli1bGs8++6wxe/Zso2vXrkbnzp0rxfPUU08Zkox7773XeOutt4x//vOf1e738OHDRpMmTYz+/fs7Zhk7duyY0axZM6NXr16VZiLzxAsvvGBIMq6//nrjlVdeMUaPHm1IMh5//HGn9ey/Q8XZsoYPH25ERkYa999/v/HSSy8ZvXv3NiIjI41169Y5rbd582bDYrEYXbt2NebPn288/PDDRkxMjDFw4ECvv0N9RN4gb7iiQ4cOhiTjoosucml9b91///2GJOO2224zXnnlFWPo0KGGJOPNN990Ws8+q+Hu3budlj/66KPGo48+aowYMcKQZNx8882OZecinwBA6HG7iDIMw9i7d68xevRoIyUlxbBYLEbr1q2NrKwso6SkxDCMmhtDhnF2auJ27doZUVFRRrNmzYwJEyY4/UP/888/Gzff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5mr58uXKz89XUlKSvvvuO1155ZXq1KmTZs2aJYvFol27dunzzz+vMX5XtrPZbLr66qv12Wef6bbbbtNFF12kb7/9VnPmzNGPP/6opUuXOtadOXOmZsyYod69e2vWrFmKjo7Wl19+qU8++UQDBw7U3Llzdddddyk+Pl4PP/ywJKlZs2bVxrdo0SKNGzdOPXr0UE5Ojg4fPqy//OUv+vzzz7VlyxY1bNjQsW55ebkGDRqknj176plnntGqVav07LPPqk2bNpowYUKNv8OiRYsUHx+v7OxsxcfH65NPPtG0adNUWFiop59+WtLZ4XMFBQU6cOCA5syZI0mKj4+vdp+33367MjMznZatWLFCb775ppo2bepYduzYsRpjs0tISJDFYpEkbdmyRXFxcbrooouc1rnkkkscn/fp08el/dbk22+/VVlZmbp37+60PDo6Wl26dNGWLVu8PgZ8zICTgoICQ5JRUFAQ6FCCkje/n33bSy+91Ojbt69x6aWX8neBoEMO8Q45BNUZPXq0ER4ebnz99deVPrPZbIZhGMbChQsNSUafPn2MsrIyx+dHjhwxoqOjjYEDBxrl5eWO5fPmzTMkGa+++qphGIaxZcsWQ5Lx3nvvVRvHnDlzDEnG0aNH3Yrfle3eeOMNIzw83Pj000+dli9YsMCQZHz++eeGYRjGzp07jfDwcOPaa691+j6G8b/fwjAMo3379kbfvn0rHWfNmjWGJGPNmjWGYRiG1Wo1mjZtanTo0ME4ffq0Y73ly5cbkoxp06Y5lo0ZM8aQZMyaNctpn127djW6detW849gGMapU6cqLbv99tuNBg0aGGfOnHEsGzp0qNGyZcta91eVnTt3GklJScZvf/tbp/8PJLn0WrhwoVMcrVu3rnSM4uJiQ5IxefJkl+N67733nH73qj5bv359pc+GDx9upKamunwc1A2G88F06EUG4A1ySOix2WxaunSprrrqqko99ZIq/V2PHz/e6T6VVatWyWq1atKkSQoPD3daLzExUR9++KEkKSkpSZL00Ucf6dSpU1XGYr8is2zZMtlsNpe/gyvbvffee7rooovUrl07HTt2zPG64oorJElr1qyRJC1dulQ2m03Tpk1z+j5S5d/CFZs2bdKRI0d05513Ot0rNXToULVr187x+5zrjjvucHp/2WWX6eeff671WLGxsY4/nzx5UseOHdNll12mU6dOafv27W7HXlFxcbGuvfZaNWrUSG+//bbT/wcrV6506TVo0CDHNqdPn3ZclTqX/Xc6ffq01zGfu5/qjuWr48B3GM4HAABM7ejRoyosLFSHDh1cWj8jI8Pp/d69eyVJbdu2dVoeHR2t1q1bOz7PyMhQdna2Zs+erTfffFOXXXaZrr76ao0cOdJRYN1www3661//qltvvVWTJ0/WgAEDdN111+n666+vVNCcy5Xtdu7cqR9++EEpKSlV7uPIkSOSpJ9++knh4eG6+OKLXfo9alPd7yNJ7dq102effea0LCYmplKMjRo10okTJ2o91nfffaepU6fqk08+UWFhodNn59535qnx48frp59+0oYNG9S4cWOnzyoO+XNFbGxslfejnTlzxvG5L9j3U92xfHUc+A5FFEyHXmQA3iCHwJsG57PPPquxY8dq2bJl+vjjj3X33XcrJydHX3zxhVq0aKHY2FitX79ea9as0YcffqgVK1ZoyZIluuKKK/Txxx9XO1ObK9vZbDZ17NhRs2fPrnIf6enpHn8vX6ppNrqa5Ofnq2/fvkpMTNSsWbPUpk0bxcTE6JtvvtGDDz7o1pW9qvzlL3/R22+/rcWLF6tLly6VPs/Ly3NpP0lJSY7/h5o3b641a9bIMAynnHLo0CFJUlpamlcx2zVv3txpv+c6dOiQz44D32E4HwAAMLWUlBQlJiZq27ZtHm3fsmVLSWef2XMuq9Wq3bt3Oz6369ixo6ZOnar169fr008/VW5urhYsWOD4PDw8XAMGDNDs2bP1/fff6/HHH9cnn3ziGG5Xndq2a9OmjX755RcNGDBAmZmZlV72K0Vt2rSRzWbT999/X+PxXO1IqO73sS+r+Pt4au3atTp+/LgWLVqke+65R1deeaUyMzPVqFGjSuu62wny6aef6r777tOkSZN00003VblO8+bNXXotWbLEsU2XLl106tQp/fDDD077+vLLLx2f+0KHDh0UGRmpTZs2OS23Wq3aunWrz44D36GIgul42ou8fv16XXXVVUpLS1NYWJjTLEalpaV68MEH1bFjR8XFxSktLU2jR4/WwYMHfRw9gEDz5koUecScwsPDNWzYMP3rX/+q1MiUJMMwatw+MzNT0dHReu6555zW/dvf/qaCggINHTpU0tlppsvKypy27dixo8LDwx3DrH755ZdK+7c3cKsaimXnynZ/+MMflJubq1deeaXSuqdPn3bMNDhs2DCFh4dr1qxZla7enPv94uLiKk3hXpXu3buradOmWrBggdN3+M9//qMffvjB8ft4y34F69wYrVarXnzxxUrrxsXFuTy879ChQ/rDH/6gPn36OGb4q4on90Rdc801ioqKcorRMAwtWLBA5513nnr37u0Ux/bt21VaWupS3OdKSkpSZmamFi9erJMnTzqWv/HGGyoqKuKBuybEcD6EjOLiYnXu3Fk333yzrrvuOqfPTp06pW+++UaPPPKIOnfurBMnTuiee+7R1VdfXeU/yADqJ/KIeT3xxBP6+OOP1bdvX8f034cOHdJ7772nzz77zGkK7opSUlI0ZcoUzZw5U4MHD9bVV1+tHTt26MUXX1SPHj00cuRISdInn3yiiRMnavjw4frVr36lsrIyvfHGG4qIiNDvf/97SdKsWbO0fv16DR06VC1bttSRI0f04osvqkWLFjVOde3KdqNGjdK7776rO+64Q2vWrNGll16q8vJybd++Xe+++64++ugjde/eXRdccIEefvhhPfroo7rssst03XXXyWKx6Ouvv1ZaWppycnIknX3Q6/z58/XYY4/pggsuUNOmTR2TVJwrKipKTz75pMaNG6e+ffvqxhtvdExx3qpVK917772e/rU56d27txo1aqQxY8bo7rvvVlhYmN54440qi+Bu3bppyZIlys7OVo8ePRQfH6+rrrqqyv3efffdOnr0qB544AG98847Tp916tRJnTp1kuTZPVEtWrTQpEmT9PTTT6u0tFQ9evTQ0qVL9emnn+rNN990Gto4ZcoUvfbaa9q9e7fTc60ee+wxSWfvB5POFkb2+8ymTp3qWO/xxx9X7969Hf+PHzhwQM8++6wGDhyowYMHux07/CyAMwOaEtMTe8cX0xP37dvXGDBggNG3b1+P9yXJ+OCDD2pc56uvvjIkGXv37nV7/0B1yCHeMUsOMQzyiBnt3bvXGD16tJGSkmJYLBajdevWRlZWllFSUmIYxv+mOK9qGnTDODulebt27YyoqCijWbNmxoQJE4wTJ044Pv/555+Nm2++2WjTpo0RExNjJCcnG/379zdWrVrlWGf16tXGNddcY6SlpRnR0dFGWlqaceONNxo//vhjjbG7up3VajWefPJJo3379obFYjEaNWpkdOvWzZg5c2al/5dfffVVo2vX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b7388sv68ccf9atf/Ur/93//p88++0yzZ8+us7gBmIMnOUQijwCon1y5ar9//34lJiY63td2FUqS/va3v2nIkCFKS0urdp1evXqpV69ejve9e/fWRRddpJdeekmPPvporccIJIoomF56errT++nTp2vGjBlOyyZPnqzCwkK1a9dOERERKi8v1+OPP66bbrqpDiMFYEau5BCJPAKg/nF1YonExESnIqo2e/fu1apVq/SPf/zDrXiioqLUtWtX7dq1y63tAoEiCqZTsRfZld6Pd999V2+++abeeusttW/fXlu3btWkSZOUlpamMWPG1FnsAALPkxwikUcA1D/+ek7UwoUL1bRpUw0dOtSt7crLy/Xtt9/qd7/7nUfHrUsUUTA9V3o/7r//fk2ePFkjRoyQJHXs2FF79+5VTk4OjR+gnnO1B5U8AqC+8fUU55Jks9m0cOFCjRkzRpGRzqXG6NGjdd555znuqZo1a5Z+85vf6IILLlB+fr6efvpp7d27V7feeqvbx61rFFEwHU9m1jp16lSl3pKIiAjZbDZfhwfA5DydnY88AqC+8UcRtWrVKu3bt08333xzpc/27dvnlGdPnDih8ePHKy8vT40aNVK3bt20YcMGXXzxxW4ft65RRCEkXHXVVXr88cd1/vnnq3379tqyZYtmz55d5QkMAFUhjwCob/xRRA0cOLDa5+utXbvW6f2cOXM0Z84ct49hBhRRMB1PepGff/55PfLII7rzzjt15MgRpaWl6fbbb9e0adP8GCkAM/L0ShR5BEB94697ouoDiiiYjicNoISEBM2dO1dz5871X2AAgoKnRRR5BEB9448rUfUFRRQAAABQD1FEeY4iCqbjaS8yAEjkEABwFcP5PEcRBQAAANRDXInyHEUUTIdeZADeIIcAgGsoojxHEQUAAADUQxRRnqOIgunQiwzAG+QQAHAN90R5jiIKAAAAqKfocPIMRRRMh15kAN4ghwCAaxjO5zmKKJgODSAA3iCHAIBrKKI8RxEFAAAA1EPcE+U5iiiYEj0fALxBDgGA2nElynMUUQAAAEA9RBHlOYoomA73MwDwBjkEAFxDEeU5iigAAACgHuKeKM9RRMF06EUG4A1yCAC4hitRnqOIAgAAAOohiijPUUTBdOhFBuANcggAuIYiynMUUTAdGkAAvEEOAQDXcE+U5yiiAAAAgHqIK1Ge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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Structure visualization in various planes\n", "\n", "fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(10, 6))\n", "sim_actual.plot_eps(x=0, ax=ax1)\n", "sim_actual.plot_eps(y=-0.1, ax=ax2)\n", "sim_actual.plot_eps(z=0.1, ax=ax3)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run Simulations" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "execution": { "iopub.execute_input": "2023-02-03T06:17:46.052792Z", "iopub.status.busy": "2023-02-03T06:17:46.052685Z", "iopub.status.idle": "2023-02-03T06:18:35.420762Z", "shell.execute_reply": "2023-02-03T06:18:35.420405Z" }, "id": "IG0QZ-PDyh3Y", "outputId": "332212da-3f04-4920-e593-801457a5e339", "tags": [] }, "outputs": [ { "data": { "text/html": [ "
[00:17:46] INFO     Auto meshing using wavelength 10.0020 defined from sources.                    grid_spec.py:510\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[00:17:46]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Auto meshing using wavelength \u001b[1;36m10.0020\u001b[0m defined from sources. \u001b]8;id=595647;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py\u001b\\\u001b[2mgrid_spec.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=974126;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/components/grid/grid_spec.py#510\u001b\\\u001b[2m510\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     Created task 'norm' with task_id '40db1f3d-cd5f-41d0-b684-a50682b86268'.          webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'norm'\u001b[0m with task_id \u001b[32m'40db1f3d-cd5f-41d0-b684-a50682b86268'\u001b[0m. \u001b]8;id=997408;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=714609;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "17eb235aecbd477eaf817b4ec7e37021",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[00:17:48] INFO     Created task 'actual' with task_id 'a40dc5d6-be8f-4685-9ef8-c5e79a95c360'.        webapi.py:120\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[00:17:48]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Created task \u001b[32m'actual'\u001b[0m with task_id \u001b[32m'a40dc5d6-be8f-4685-9ef8-c5e79a95c360'\u001b[0m. \u001b]8;id=117990;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=707896;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#120\u001b\\\u001b[2m120\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "39511dbeda9c4d2b854d361f9e59b5be",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[00:17:51] Started working on Batch.                                                               container.py:361\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[00:17:51]\u001b[0m\u001b[2;36m \u001b[0mStarted working on Batch. \u001b]8;id=925231;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=842386;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#361\u001b\\\u001b[2m361\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cf3b9427750e4aad98aaa6c848a08b41",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[00:18:35] Batch complete.                                                                         container.py:382\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[00:18:35]\u001b[0m\u001b[2;36m \u001b[0mBatch complete. \u001b]8;id=691248;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py\u001b\\\u001b[2mcontainer.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=813030;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/container.py#382\u001b\\\u001b[2m382\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# run all simulations, take about 2-3 minutes each with some download time\n", "batch = web.Batch(simulations={\"norm\": sim_empty, \"actual\": sim_actual})\n", "batch_data = batch.run(path_dir=\"data\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The normalizing run computes the transmitted flux for an air -> SiO2 interface, which is just below unity due to some reflection.\n", "\n", "While not technically necessary for this example, since this transmission can be computed analytically, it is often a good idea to run a normalizing run so you can accurately measure the *change* in output when the structure is added. For example, for multilayer structures, the normalizing run displays frequency dependence, which would make it prudent to include in the calculation." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2023-02-03T06:18:35.811034Z", "iopub.status.busy": "2023-02-03T06:18:35.810952Z", "iopub.status.idle": "2023-02-03T06:18:38.540624Z", "shell.execute_reply": "2023-02-03T06:18:38.540182Z" } }, "outputs": [ { "data": { "text/html": [ "
[00:18:35] INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/a40dc5d6-be8f-4685-9ef8-c5e79a95c360.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[00:18:35]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=123649;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=617024;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/a40dc5d6-be8f-4685-9ef8-c5e79a95c360.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4d901fe20fbd4ea49998a9dac5dda40f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[00:18:37] INFO     loading SimulationData from data/a40dc5d6-be8f-4685-9ef8-c5e79a95c360.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[00:18:37]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93ma40dc5d6-be8f-4685-9ef8-c5e79a95c360\u001b[0m.hdf5 \u001b]8;id=623968;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=680222;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           WARNING  Simulation final field decay value of 4.07e-05 is greater than the simulation     webapi.py:421\n",
       "                    shutoff threshold of 1e-05. Consider simulation again with large run_time                      \n",
       "                    duration for more accurate results.                                                            \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING \u001b[0m Simulation final field decay value of \u001b[1;36m4.07e-05\u001b[0m is greater than the simulation \u001b]8;id=869960;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=315128;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#421\u001b\\\u001b[2m421\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m shutoff threshold of \u001b[1;36m1e-05\u001b[0m. Consider simulation again with large run_time \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m duration for more accurate results. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
           INFO     downloading file \"output/monitor_data.hdf5\" to                                    webapi.py:593\n",
       "                    \"data/40db1f3d-cd5f-41d0-b684-a50682b86268.hdf5\"                                               \n",
       "
\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m downloading file \u001b[32m\"output/monitor_data.hdf5\"\u001b[0m to \u001b]8;id=844196;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=770654;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#593\u001b\\\u001b[2m593\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m \u001b[32m\"data/40db1f3d-cd5f-41d0-b684-a50682b86268.hdf5\"\u001b[0m \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n"
      ],
      "text/plain": [
       "\u001b[?25l"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e71f578a214c4b08b9e2ac9e91665296",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "
\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[?25h" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
[00:18:38] INFO     loading SimulationData from data/40db1f3d-cd5f-41d0-b684-a50682b86268.hdf5        webapi.py:415\n",
       "
\n" ], "text/plain": [ "\u001b[2;36m[00:18:38]\u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m loading SimulationData from data/\u001b[93m40db1f3d-cd5f-41d0-b684-a50682b86268\u001b[0m.hdf5 \u001b]8;id=845390;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py\u001b\\\u001b[2mwebapi.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=75887;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/web/webapi.py#415\u001b\\\u001b[2m415\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "batch_data = batch.load(path_dir=\"data\")\n", "transmission = batch_data[\"actual\"][\"flux\"].flux / batch_data[\"norm\"][\"flux\"].flux\n", "reflection = 1 - transmission\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 311 }, "execution": { "iopub.execute_input": "2023-02-03T06:18:38.555498Z", "iopub.status.busy": "2023-02-03T06:18:38.555403Z", "iopub.status.idle": "2023-02-03T06:18:38.626950Z", "shell.execute_reply": "2023-02-03T06:18:38.626671Z" }, "id": "x10TjU0uyh3a", "outputId": "b74cd9e6-f5a4-468f-f1d0-90c8d9861ed9", "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAicAAAGjCAYAAAD3mbWOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB2hUlEQVR4nO3dd3zM9x8H8Ndd9pBEhAxC7C0xKqhZIUaNqhat2urXWq1q0SJWa+tAq9RoVUtrFq29SVERYsVIYocI2bK/vz8+7jIkJJe7+954PR+Pe9zdN9/73vsuN973/iyFJEkSiIiIiAyEUu4AiIiIiHJjckJEREQGhckJERERGRQmJ0RERGRQmJwQERGRQWFyQkRERAaFyQkREREZFCYnREREZFCYnBAREZFBYXJCREREBkXW5OTIkSPo1q0bvLy8oFAosHXr1pfe5tChQ2jUqBFsbGxQrVo1rFmzRudxEhERkf7ImpwkJyfD19cXS5cuLdL+kZGR6Nq1K9q1a4fQ0FB89NFHGDZsGHbv3q3jSImIiEhfFIay8J9CocCWLVvQs2fPQveZMGECdu7ciQsXLqi39e3bF3Fxcdi1a5ceoiQiIiJds5Q7gOIIDg5GQEBAnm2BgYH46KOPCr1NWloa0tLS1Nezs7Px+PFjlClTBgqFQlehEhERmRxJkpCYmAgvLy8olbprfDGq5CQ6Ohru7u55trm7uyMhIQFPnz6FnZ3dc7eZPXs2pk+frq8QiYiITN7t27dRoUIFnR3fqJITTUyaNAnjxo1TX4+Pj0fFihVx+/ZtODk5yRiZ9qSnp2PXrl3YsmULDh48iCdPnmjluE5OTqhevTrq1KmDRo0aoWbNmqhTpw5Kly6tleNromLFioiPj0dkZCRcXV1li4P0KzMzE5mZmYiMjERiYiLu37+PR48eITExEXfv3oWlpSWSk5MRFxeH+Ph4xMfHIyEhAXfv3lXftqQUCgUkSYK9vT1Kly6N0qVLw9XVtcDL5cqVQ9myZeHt7Y2yZctq4RkgMgwJCQnw9vZGqVKldHo/RpWceHh44MGDB3m2PXjwAE5OTgVWTQDAxsYGNjY2z213cnIy+uQkJiYGS5cuxffff4+YmBj1dgcHB7Ro0QJ16tRBtWrV4OPjAxcXF5QqVQo2NjawsrJCYmIi0tPTERMTg/j4eFy5cgX37t1DREQErly5gkePHiEhIQFnzpzBmTNnsHbtWvXxq1WrhqZNm6JatWp49dVX8eqrr8LBwUHnjzcjIwPx8fEAgIiICPj4+Oj8Pkn34uPjERsbi6tXr6pfi0+ePMHNmzdx7949PH78GDdv3kRGRobW7rNs2bKwsLCAUqmEhYUFEhISYG9vj+TkZNjb2+Px48fIyspCVlaW+jaq7nkpKSlISUnB3bt3i3Rfzs7OqFmzJrp27YoBAwbwdUsmQdfdIowqOWnevDn+/vvvPNv27t2L5s2byxSRPLKzs7FixQp89tlnSEhIAAB4eXnhnXfeQa9evdCkSRNYWVmV6D5SU1Nx5coVnD59GufPn0d4eDiOHz+OlJQUXL9+HdevX8+zv6urKzp16oRGjRqpkxY3N7cSxZBbdnY23njjDfV1e3t7rR2bdCczMxMPHz5EVFQU7t+/j8uXL+PJkye4ePEiHj16hIiICMTHxyM7O7tIx7Ozs4OjoyMqVKiAMmXKwMXFBRUrVoRCoYCLiwtcXFxQunRpuLi4wMnJCa6urrC3t4eLiwuysrLg6uqKjIyMAn+wFESSJGRkZCAzMxMJCQnIzs7G06dP8fjxYzx+/BixsbEFXr5y5QpiYmKQmJiI+Ph4nDp1CqdOncJvv/2G8+fPw9rauiRPK5HJk3W0TlJSkvpLrmHDhli0aBHatWsHV1dXVKxYEZMmTcLdu3fxyy+/ABBDievVq4eRI0diyJAhOHDgAMaMGYOdO3ciMDCwSPeZkJAAZ2dnxMfHG2XlJDw8HO+//z6OHDkCQDxvEydORK9evWBpqdtcU5Ik3LhxA+fPn8fhw4dx/vx5XL58+blqFgBYWFjAx8cH1tbWeOONNxAQEIDy5cujatWqsLCwKNb9Zmdn49ixY2jTpo1628GDB9G2bduSPiQqIUmSkJSUhAsXLiAyMhJ37tzBpUuX8OjRI1y4cAGxsbFISkoq0rGqVq0KFxcX1KpVC87OzqhSpQrc3d1Rrlw5VK5cGQ4ODvD09DSajuySJOH8+fM4c+YMFi5ciEuXLqn/9u+//8Lf31/G6Ig0o6/vUFmTk0OHDqFdu3bPbR84cCDWrFmDQYMGISoqCocOHcpzm48//hiXLl1ChQoVMGXKFAwaNKjI92msyUlGRgbmz5+PGTNmIC0tDfb29vjqq68watSoYn/Za1N2djauXbuGAwcO4PLlywgODsZ///33wtu4urrCyckJ7733Htq0aYPU1FR07NgRSqUSd+/eRcWKFZGcnIxbt27B2toavXv3RmhoaJ5j7Ny5E126dNHhIyOVp0+f4smTJzh79izu3LmDq1ev4tq1a4iNjcWZM2eQkZHx0sqHq6srKlSogBo1asDNzQ1169aFq6sratSoAS8vL3h4eOi0578hWLhwIcaPHw8A6NatG/766y+ZIyIqPrNITuRgjMlJfHw83n77bezZsweAGD69bNkyg227Tk9PR1hYGA4fPozly5fD1tYWly5d0mqfgT///BO9e/fW2vHMXUxMDCIjI3Hjxg08ePAAFy5cwPXr1xEVFYXbt2+/NPlwcnJC1apV4ePjgxo1aqBs2bKoX7++OhGxsrIy+eTjZZKSkuDr64uIiAjY2toiISGhxM2vpH/Z2dlIT0+XOwydsra2LvT9qq/vUKPqc2KOnjx5gjZt2iAsLAwODg744Ycf0L9/f4MubVtbW6Nx48Zo3LixeqRUTEwMQkNDERERgf379+PPP/+EUqkscl+D/FJSUrQZssmLjY3FvXv3EBUVhRs3buDmzZu4cuUKEhIS8N9//xXpw7Zy5crw8PBA48aN4ebmhurVq6Nq1arw9vY2quYWuTg6OuLatWuwtrZGamoqHjx4oNOhmKR96enpiIyM1Phzy1golUpUrlxZ1r5RTE4MWFxcHDp27IiwsDB4enpiy5YtRttOXbZsWXTo0AEAMGLECPX20NBQXLx4EbGxsdiwYQNOnDhR6DHWrl2L9957D4BoaiAhOzsb9+7dw927d3Hjxg1ERUUhLi4O58+fR0xMDMLDw5GcnPzS4zg5OcHHxwdeXl6oW7cuPD090bBhQ3h5ecHHxwe2trZ6eDSmTalUwt3dHffu3cP9+/eZnBgRSZJw//59WFhYwNvb22QrgarPk/v376s7m8uByYmBSkhIQKdOnfDff//Bzc0Ne/bsQb169eQOS+v8/Pzg5+cHABgzZox6+5UrV1ChQgXY2Nhg1apV6gUi//nnH/z2228mXzmRJAnZ2dmIiYlBdHQ07ty5g1u3buHJkyeIjIxEbGyseqTLzZs3i3RMpVKJ6tWro2zZsmjYsCHKli2LypUro3r16qhcuTLKlSun40dFAODp6an+8CfjkZmZiZSUFHh5eZn8aMGyZcvi3r17yMzMlK3pkcmJAcrOzsZbb72FkydPwtXVFfv27TPJxORFatWqpb6cu9Kims9GlZxkZWXh0qVL+Pvvv5GamoqwsDAMHjwYJ0+eBAB06NAB4eHhqFKlinoEUbly5XDz5k3UrFkTCoUCmZmZsLS0RHZ2tlZ+DUmSpP61kZqaCoVCgYiICDg6OuLevXuIi4vDo0ePkJaWhtjYWMTHx+Pu3bu4d+8esrKyEBkZibS0tCLPo6FiZWUFX19fuLi4oFKlSqhSpQrKly+PGjVqwMfHB+7u7ib7a8+YeHp6AhAzXhdVbGwsbGxsEBcXh8TERLi5ucHe3l4v8wuRoJrzxhyGgaseY1ZWFpMTyjF//nzs2bMH9vb22LNnD3x9feUOyWCofrFERkbihx9+wF9//fXcoo+bNm1SX545c2aRjlu2bFnExMTAzs4OT58+RY0aNeDo6IiQkBC88soruHfvHmrXro3bt28jPT0dLi4uSEtLQ7ly5XDu3Dl4eHggOjoaLi4uSExMxKNHj7T3oAHUqFEDtra2qFWrFhwcHFC5cmVUrlxZnYiohtqy34fh8/LyAoCXVk4kSUKXLl1w7NixAodjlypVCl27dsVbb72FDh06wM7OTufTCZDuJx8zBIbwGPlKNjAnT57E5MmTAQDfffcdGjduLHNEhkWVnKxcuRIrV67U2nFVM+yq+rJcvXpV/bfTp08DQIGVDNXcFaolA4qydICnpyesrKzg4OCAMmXKoHTp0qhUqRKcnJzg4eGBUqVKoUKFCqhQoQLKli0LV1dXg/iwIO1QJSdXrlwpdJ9//vkHQUFB6tdeQRITE7F+/XqsX78egOhwO2jQIPTv399o+6YRqTA5MSDx8fHo27cvMjMz0adPHwwZMkTukAxOYcsU5Fa5cmVUrFgRpUqVQkBAAM6dO4fWrVsjKSkJUVFRqFatGq5cuQJvb2/cvXsXT58+haenJ86ePYvatWsjIiICmZmZyM7OhkKhQKVKlRAcHIz69evjyZMncHd3h4ODA65fv466desiLi4OdevWRWxsLBwdHdUzlJYrVw5ZWVnqdSgsLCx0vh4FGb7AwEBMmzYNW7duxZMnTwpcq6qwOXysrKxQu3ZtJCYm4s6dO3mG5yclJWHJkiVYsmQJnJ2dMXfuXPTr1w+lSpVicktGh8mJgZAkCSNGjEBUVBR8fHzw448/8gOlAC/qiKaaEK5ixYocWUIGy9/fH5UqVcLNmzdx8eJFtGzZMs/f4+Li8lzv2rUrXnvtNQwfPhyWlpbqBD09PR0pKSlYu3YtHjx4gF9//VXdOTo+Ph7/+9//8L///Q9t2rTBqFGj0KVLF5PvyEkFGzRoEH7++WcAgKWlJSpUqIC33noLM2bMMNjPSiYnBmL16tXYsGEDLCws8Pvvv8PZ2VnukAxSYR+uH330ERQKBWrUqKHniIiKR6FQoGLFiuqFDfNTdeYGgNatW2Pjxo0FfoFYW1vD2toao0ePBgDMmjULiYmJWLBgAX766Sf1sQ8fPozDhw9DqVTiyy+/xMiRI1nBM0OdOnXC6tWrkZGRgTNnzmDgwIFQKBSYO3eu3KEViF33DUBsbKx6srJZs2ahWbNmMkdkuApKTjZu3Iivv/5ahmiINKMasZM/OXny5Al69uwJAOjduzcOHjxYrF+2pUqVwvTp03Hnzh2cPHkS3333HVxdXQGIyuKkSZNQvnx5BAUF4c6dO9p5MGQUbGxs4OHhAW9vb/Ts2RMBAQHYu3ev3GEVismJAZg5cybi4+PRoEEDfPrpp3KHY9AKWk1WNU8KkbFQdYrNn5yMHj0aqampAIB69eppPPRboVCgadOmGD16NGJjY3Hy5Ek0bNgQgOhIO2PGDPj5+WHs2LGIjY0twSMxX5IkITk5WZZTSVeduXDhAk6cOGHQw6LZrCOza9euYenSpQCABQsWyLqInzHIP+a+cuXKqFKlikzREGmmsOHEmzdvVl/WZhNl06ZNERISgpMnT2Lu3LnYsmULYmNj8d1332HZsmX44osvMHr06AI751LBUlJS4OjoKMt9JyUlFXuOmx07dsDR0RGZmZlIS0uDUqnEkiVLdBRhybFyIrNJkyYhMzMTnTt3Vk/vToXLP4/Dt99+y47DZHQKqpxIkpTn9d2kSROt36+/vz82b96MK1euYODAgQBEx9qgoCA0adIEixYtKtJSB2R82rVrh9DQUJw8eRIDBw7E4MGD8eabb8odVqGYnMjo2LFj2LRpE5RKJebNmyd3OEYhf+XEkMuSRIVR/eLOvQzDw4cPkZiYCADYt28fqlevrrP7r1mzJtasWYOwsDAMGDAANjY2iIiIwCeffAJ/f3/8888/JW46MHX29vZISkqS5aTJqCsHBwdUq1YNvr6+WLVqFU6ePKnVuaK0jcmJTCRJwieffAIAGDp0qNlNT6+p/JUTJidkjFTNt6op0QGxnhYgFmBs3769XuKoV68efv75ZwQHB6NXr14AgIsXL6JLly54++23uf7PCygUCjg4OMhyKmm1WKlU4vPPP8fkyZMNdhFVJicy2bp1K06dOgUHBwfMmDFD7nCMRv7kpKAOskSGrqDkRFU1kWOYb8OGDbFp0yYcOHBA3cF848aNKF++PJYsWYLs7Gy9x0S69dZbb8HCwkLd59HQMDmRgSRJmDNnDgBg7Nix8PDwkDki48FmHTIFL6qcyDkHSbt27XD27FmsXLkSZcqUgSRJGD16NMqUKYNTp07JFhdpn6WlJUaNGoV58+YZZD8jJicyOHjwIE6dOgVbW1uMHTtW7nCMCpt1yBS8qHLi5OQkS0y5DRkyBDExMeoJ3uLi4uDv749BgwaxqccIrVmzBlu3bn1u+8SJE/Hw4UODXN2ayYmeSZKkXthv6NChKFeunMwRGRdWTsgUGFqzTkEUCgW+++473L59Gw0aNAAA/Pzzz+jQoQO2bdvGph7SKSYnenb69GkEBwfD1tYWX3zxhdzhGB32OSFT8LIOsYakQoUKOHnypHpZjYsXL6Jnz54YMWIE0tPT5Q6PTBSTEz378ccfAYipqVVTWFPRsXJCpsAYKie52draom/fvjh+/Di6du0KAPjpp59QtmxZ7N69W+boyBQxOdGjiIgI9cqQH3zwgczRGCf2OSFTYKgdYl+mbt262LFjBxYvXgxra2skJCSgV69e+Oyzz/DkyRO5wyMTwuREj1auXImsrCx06NABLVq0kDsco8TKCZkCQ+8Q+zKjRo1CfHw8mjZtipSUFMyfPx/t27dHRESE3KGRiWByoieZmZlYvXo1AGDEiBEyR2O82OeETIGxVk5ys7W1xaFDh7BkyRLY29vj7NmzqFatmro6TFQSTE70ZNeuXbh//z7Kli2Lbt26yR2O0cpfOcl/ncgYFJSc3LlzBwDg6uoqS0yasLOzw8iRI7Fz507UrFkTkiRhyJAh+PDDD/HgwQO5wyMjxuRET3766ScAwIABA9gUUQK5KydKpZKrOJNRUirFR68qOUlPT8fx48cBwCibfNu2bYvLly+jR48eyM7Oxg8//IAOHTqoEy6i4mJyogfR0dHYsWMHADG3CWkud6WEiQkZq/yVk7NnzyIlJQVubm6oW7eunKFpTKFQYNOmTdiwYQNcXFwQFhaGSpUqYcOGDXKHRkaIyYke/PLLL8jKykKLFi1Qu3ZtucMxavkrJ0TGKH9ycvv2bQBAjRo1jPp1bWFhgbfffhs7duxA5cqVkZ2djf79+2PWrFkGOUU6GS7jfRcYkbVr1wIABg8eLHMkxi935aSkK3MSySV/cqLqn+Hu7i5bTNr06quv4vr16+jQoQMyMzMxZcoU9O7dO08fG9I9hULxwtO0adPkDrFQTE507Pz587hw4QKsra3Ru3dvucMxeqyckCkw9eQEEO/Pv/76CytWrICdnR127dqFqlWr4uzZs3KHZjbu37+vPn3zzTdwcnLKs238+PFyh1goy5fvQiWxbt06AEDXrl3h4uIibzAmIHdywmHEZKxUyYlqfRpTTE4AMdx42LBhcHZ2Rv/+/XHz5k0EBgZi79698PX1lTs8k5d7xXtnZ2coFIo82wwZf3rqUFpaGtasWQMA6N+/v7zBmIjcTTkc9UTGqrDKibF8cRTXW2+9hevXr6NWrVqIiYmBn58f5s6dK3dY2pGcXPgpNbXo+z59WrR9zQSTEx36+++/8fDhQ3h5eXFuEx1g5YSMlTk06+Tn7e2N7du3qz8LJ06ciBkzZhj/4oGOjoWf3nwz777lyhW+b+fOeff18Sl4PzPB5ESHdu7cCUD8auBkYdrHygkZq9zD4LOzs9VT1zs7O8sVkl5Uq1YNf/31F/73v/8BAIKCgtC7d29IkiRzZGRo2OdER9LT07F9+3YAQOf8GTFpBZMTMla5k5OsrCx1BcVc5u759ttv4e3tjRkzZmD79u3o27cv5s2bh0qVKskdWvElJRX+t/z/z4cPC983fwf/qCiNQzIFTE50ZPv27Xj48CE8PDzw2muvyR2OSWJyQsYqf3Ki6hhrLiPQrK2t8fnnn8PFxQUjR47EH3/8gZCQEJw5c8YoFj7Mw8FB/n1NkHm8E2SwZcsWAMB7773HJh0dYXJCxsrcKycqH374IY4ePQoPDw9cv34dvr6+CA4OljssMgBMTnQgKysLu3fvBiCGEJNusEMsGStzr5zk1rJlS2zZsgWOjo6IiopCYGAgbt26JXdYJDPzeyfoQXBwMB49egRnZ2ejXMTLWLByQsaKlZO8mjVrhmvXruGVV15BYmIimjRpgt9//13usEzKoEGDEBcXJ3cYRcbkRAdUTTqvv/46m3R0iMkJGavCKifmmpwAYo6XdevWoWrVqoiJicHAgQNx+vRpucMimTA50TJJktTJSa9evWSOxrQxOSFjlbv5JnflxBybdXKrXr06Ll68iM6dOyMjIwPNmzfHN998I3dYJAPzfifowPnz5xEZGQlbW1sEBgbKHY5JY3JCxiz3RGzm3qyTm42NDX799Vc0bdoUWVlZ+Pjjj9V9+Mh8MDnRMlXVJDAwEA5mPhRM15ickDHLnZyYc4fYgri6uuLff//F+++/D0AMLJgxY4bMUZE+8Z2gZZs3bwbAJh1dqlq1KgDgnXfekTkSIs2xcvJiCoUCixYtQqdOnZCVlYWgoCBs27ZN7rDMYjZbQ3iMTE606MaNGwgLC4OFhQVef/11ucMxWSEhITh9+jS6dOkidyhEGmPl5OUcHBzw999/Y/To0QCAPn36ICgoSJYvT9X/y+jXAioC1WOUM1nmDLFatGPHDgBAmzZt4OrqKnM0psvJyQlNmjSROwyiEmHlpGgUCgXmz5+PiIgI7Ny5EzNmzEDlypUxaNAgvcZhaWkJe3t7xMTEwMrKymQTyezsbMTExMDe3h6WlvKlCExOtOjAgQMAwI6wRPRSBVVOmJwUzMbGBtu3b8fMmTMRFBSEoUOHIioqCkFBQVAoFHqJQaFQwNPTE5GRkbh586Ze7lMuSqUSFStW1NtzWxAmJ1qSlpaGgwcPAgDX0iGilyqocmKqv8a1QaFQ4PPPP0dISAi2bduG6dOnw9PTEyNGjNBbDNbW1qhevbrJN+1YW1vL/lpkcqIlu3btQmJiIsqXL49GjRrJHQ4RGTg26xSfpaUlNm/ejJkzZ2LatGn4+OOPkZycjI8//lhvv/KVSiVsbW31cl/mjGm6lqj6m7z11luyZ5xEZPjYIVYzSqUSkydPRqdOnfD06VN88sknWLFihdxhkZbxnaAlR48eBQC0b99e5kiIyBiwz4nmLCwssHPnTkybNg0AMHbsWGzatEneoEirmJxowf379xEeHg6FQoFXX31V7nCIyAioEpGMjAz1NlZOik6pVGLKlClo06YNUlNT0bt3b6xbt07usEhL+E7Qgo0bNwIAmjZtitKlS8scDREZg4KSE1ZOikepVGL79u0YNmwYAOCjjz7C+fPnZY6KtIHJiRZs3boVAPD222/LGwgRGY2CJvViclJ8pUqVwvfff4/69evj0aNHaNy4Mfbv3y93WFRCTE5K6OnTpzh+/DgAcMZSIioyNutoj5WVFfbs2YOWLVsiMzMTQ4YMQVxcnNxhUQnwnVBCx48fR1paGry8vFCzZk25wyEiI8HKiXZ5eHjgn3/+gY+PD27dugU/Pz+EhITIHRZpiMlJCanKh+3bt5d1Nj0iMi6snGifo6MjNm7ciEqVKuHmzZt49913kZaWJndYpAG+E0ood3JCRFRUrJzoRuPGjXH27FmUK1cOV65cQefOnfHw4UO5w6Jikj05Wbp0KXx8fGBrawt/f3+cOnXqhft/8803qFmzJuzs7ODt7Y2PP/4Yqampeoo2r7i4OJw5cwYAkxMiKp6CkhNWTrSjdOnS+Pnnn2FpaYmDBw/ijTfeUM8lQ8ZB1nfChg0bMG7cOAQFBSEkJAS+vr4IDAwsNMv97bffMHHiRAQFBeHy5ctYuXIlNmzYgM8//1zPkQuHDh1CdnY2atSogQoVKsgSAxEZJzbr6FanTp1w8uRJlCpVCidOnMDMmTPVywSQ4ZP1nbBo0SIMHz4cgwcPRp06dbBs2TLY29tj1apVBe5/4sQJvPrqq3jnnXfg4+ODjh07ol+/fi+ttugKm3SISFP5Kyds0tG+Ro0aYebMmQCAadOm4f3335c5Iioq2ZKT9PR0nDlzBgEBATnBKJUICAhAcHBwgbdp0aIFzpw5o05GIiIi8Pfff8s2hJfJCRFpKn/lhFUT3RgzZgy+/fZbAMCqVauwc+dOmSOiopDt3fDo0SNkZWXB3d09z3Z3d3dER0cXeJt33nkHM2bMQMuWLWFlZYWqVauibdu2L2zWSUtLQ0JCQp6TNty/fx+XL1+GQqFAu3bttHJMIjIfrJzoh0KhwJgxY/Dxxx8DAHr16oW1a9fKHBW9jFGl6ocOHcJXX32F77//HiEhIdi8eTN27typLtsVZPbs2XB2dlafvL29tRLL4cOHAQC+vr5wdXXVyjGJyHyoKiWZmZl5rpNuzJw5Ex07dkR6ejoGDx6MS5cuyR0SvYBs7wY3NzdYWFjgwYMHebY/ePAAHh4eBd5mypQpeO+99zBs2DDUr18fb7zxBr766ivMnj270J7YkyZNQnx8vPp0+/ZtrcR/8OBBAGDVhIg0okpGVM06rJzoloODA/755x907doVWVlZ6Nu3L27cuCF3WFQI2ZITa2vr59ZAyM7Oxv79+9G8efMCb5OSkvLcrwvVG1qSpAJvY2NjAycnpzwnbWByQkQloZq0kZUT/VEqlVi6dCnKlCmDsLAwtG3bFjExMXKHRQWQ9d0wbtw4rFixAj///DMuX76MDz74AMnJyRg8eDAAYMCAAZg0aZJ6/27duuGHH37A+vXrERkZib1792LKlCno1q2bXn913L17F9euXYNSqUSrVq30dr9EZDryN+uwcqIflSpVwvHjx1GtWjXcuXMHEyZMKPTHLcnHUs4779OnD2JiYjB16lRER0fDz88Pu3btUneSvXXrVp5fE5MnT4ZCocDkyZNx9+5dlC1bFt26dcOXX36p17j//vtvAECTJk3g4uKi1/smItOQv3LC5ER/atasiVWrVqF169ZYvXo1UlNTsXbtWv4PDIisyQkAjBo1CqNGjSrwb4cOHcpz3dLSEkFBQQgKCtJDZIXbsWMHAKB79+6yxkFExosdYuXVqlUrfPvtt/j444/x+++/o0WLFoV+F5H+8d1QTJIk4fjx4wCADh06yBwNERkrVk7kl3sOlIkTJ6pHYZL8mJwUU0REBGJjY2FtbQ1fX1+5wyEiI8XKiWH44IMP0KJFCyQnJ6NDhw5MUAwE3w3FdOzYMQBAw4YNYWNjI3M0RGSsWDkxDBYWFti1axd69OiBjIwMjB49Os9ijCQPJifF9NdffwFgkw4RlQwrJ4ajVKlSWLlyJVxdXREWFoZ27dohPj5e7rDMGt8NxZCVlYU9e/YAAHr27ClvMERk1Fg5MSxlypTBb7/9Bnt7e5w4cQIffvih3CGZNSYnxXD58mUkJSXB0dERfn5+codDREaM85wYnsDAQBw4cAAKhQK//fYbtm3bJndIZovJSTGoVkNu0qQJP0iIqEQ4Q6xh8vf3x/DhwwGICvm6detkjsg88d1QDKp5V5o1ayZvIERk9Fg5MVyLFy9G//79AQBjx45FbGyszBGZHyYnRZSVlaWeGbZz584yR0NExo6VE8NlbW2NVatWoV69eoiNjUWfPn3w5MkTucMyK3w3FFFoaChiY2Ph5OSEFi1ayB0OERk5Vk4Mm5WVFVasWAE7Ozvs378fXbp0QVZWltxhmQ0mJ0V09OhRAEDLli1haSn7rP9EZORYOTF8zZo1w4kTJ+Dk5IR///0Xy5cvlzsks8F3QxEdOXIEANC6dWuZIyEiU6BKRjIyMgCwcmKo/Pz8MHPmTADA6NGj2UFWT5icFIEkSerKSatWrWSOhohMASsnxuPDDz9Ez549kZWVhcGDB+Pq1atyh2Ty+G4ogitXruDRo0ewtbVFkyZN5A6HiEwA+5wYD0tLS2zatAmBgYGc4l5PmJwUgapq0qxZM1hbW8scDRGZAiYnxkWpVGLBggWwtbXFnj170KFDB/X/jrSPyUkRsL8JEWkbm3WMT7169bBp0yY4ODjgyJEjWLp0qdwhmSy+G4qA/U2ISNtYOTFOXbp0waJFiwAAQUFBCA4Oljki08Tk5CVu3ryJW7duwdLSEs2bN5c7HCIyEaycGK8hQ4agWbNmiI+Px2uvvYaLFy/KHZLJ4bvhJVRNOo0aNYKDg4PM0RCRqeBQYuNlaWmJvXv34rXXXkNqairGjh0LSZLkDsukMDl5iT179gAA2rVrJ3MkRGRKWDkxbo6Ojvjpp59gY2OD/fv3Y9KkSUxQtIjvhheQJAm7d+8GwPV0iEi72OfE+FWuXBmzZs0CAMydOxfffPONvAGZECYnL3D9+nXExMTAxsaG/U2ISKvyV06YnBin8ePHY+HChQCAGTNmICYmRuaITAOTkxc4deoUANHfhPObEJE2qSonqsXkVMkKGZ+xY8fC19cXcXFx6NChAx4+fCh3SEaPyckLnDhxAgDwyiuvyBwJEZkaVTKiSk7Y58R4WVhY4JdffkHp0qVx7tw5vPfee+x/UkJ8NxRCkiT89ddfAICAgACZoyEiU5O/csLkxLg1aNAAx44dg7W1Nfbs2YN//vlH7pCMGt8NhQgLC8OdO3fg4OCADh06yB0OEZkYjtYxPXXq1MHIkSMBAH369FGP9qTi47uhEKdPnwYA+Pv7w9bWVuZoiMjUsM+Jafryyy/Rpk0bJCUloX///njy5IncIRklJieFOHPmDABwFWIi0gn2OTFNdnZ22LVrF2rXro2YmBgEBQWx/4kG+G4oxOHDhwEwOSEi3VAlI9nZ2QBYOTEltra2mDdvHgBg8eLFmDRpkswRGR8mJwW4dOkSLl26BCsrK/Y3ISKdyJ+MsHJiWl5//XX1/Cdz587Fv//+K3NExoXvhgLs378fAPDaa6/BxcVF3mCIyCTlT0ZYOTE948aNw+DBgwGIuVDS09Nljsh4MDkpgKozLGeFJSJdYeXEPHz55ZdwdHTEqVOn0K1bN6SmpsodklHgu6EAqplhOfkaEekKKyfmwdPTE5s2bYKDgwP27NmjbuqhF2Nykk9kZCTCw8OhVCrRrFkzucMhIhPFyon56NixI5YvXw4AmD17NiIjI2WOyPDx3ZDPtm3bAACtW7eGq6urzNEQkanKn4wwOTFt/fr1Q/PmzZGcnIyWLVvizp07codk0PhuyGffvn0AgK5du8ocCRGZsvyVEzbrmDaFQoF169ahVq1auHfvHkaNGiV3SAaNyUkumZmZOHLkCAAxUoeISFdYOTE/lStXxubNm6FUKrFt2zZOb/8CfDfkEhISgsTERLi4uMDX11fucIjIhCmVSjQGsANAHbByYi5q166N999/HwDQrVs3HDp0SN6ADBSTk1wOHjwIAGjTpg0sLCxkjoaITJlCocBWAF0BrAcrJ+Zk4cKF6NSpE9LT0zFo0CCkpaXJHZLB4bshF1Vy0q5dO5kjISJTp1QqseHZ5Z1g5cSc2NvbY+PGjfDy8sLNmzfx9ddfyx2SwWFy8kx6ejqOHj0KgMkJEemeQqFA5rPLlmDlxNw4ODhgxowZAIBJkyZh8eLFMkdkWPhueOb06dNISUlBmTJlUK9ePbnDISITp1Qq8yQnrJyYnyFDhmDcuHEAgPHjx+Py5csyR2Q4mJw8o2rSadu2LX/BEJHOKRQKfPHs8giwcmKOFAoFFixYgC5duiA9PR1Dhw5FVlaW3GEZBL4bnjlw4AAANukQkX7kTkbswMqJuVIoFFi2bBlKlSqF4OBgfPDBB3KHZBCYnAB4/Pixur9Jx44dZY6GiMwBp68nFW9vb/z4449QKBRYsWIF5z8BkxMAwM6dO5GZmYkGDRqgevXqcodDRGZAqVTi9LPL68DkxNz169cPY8eOBQB8+umnZj+8mO8GQF01CQwMlDkSIjIXCoUCV59d/g9s1iFg8uTJcHFxwfnz59GzZ0+kpqbKHZJsmJwAOHHiBACgRYsWMkdCROZCqVSqP4CzwMoJAWXKlMHGjRthb2+PXbt2YcGCBXKHJBuzfzdcv34dFy9ehEKhYHJCRHqjUChQ7dnlFmDlhIT27dtjxYoVAIC5c+ciOjpa5ojkYfbJyc8//wxANOmUK1dO5miIyFyo1tYBgL5g5YRy9O3bF02aNEFSUhI6duyIx48fyx2S3pn9u0HV3+Stt96SORIiMicKhQLDn13eDlZOKIdSqcSqVavg4eGBsLAw9UKB5sSsk5PMzEycPi36yzdr1kzmaIjInOSfIZaVE8qtfv36+Oeff6BUKrFp0yb1D2lzYdbvhgMHDiAlJQXOzs6oVauW3OEQkRnJv7YOKyeUn5+fH4YNGwYAePfdd3Hjxg2ZI9Ifs05Oli5dCgAYOHAgf7UQkV4plUrMe3a5A1g5oYLNnDkTVapUwe3bt/Hmm2+azfT2ZvtuyM7OxpEjRwAA/fv3lzkaIjI3CoUC5XNdZ3JCBSlXrhyOHj2K0qVL49y5c/j999/lDkkvzPbdcO3aNcTFxcHOzg5+fn5yh0NEZiZ/MsJmHSqMl5cXxo8fDwAYO3Ys/vvvP5kj0j2zTU42bdoEQHSEtbKykjkaIjI3uWeIXQtWTujFPvnkEzRq1AiPHz9G9+7dTX54sdm+G1avXg0AXAGSiGShVCpx59nlnWDlhF7MxsYGBw4cQK1atXD//n3Mnz9f7pB0ymyTk4cPH8LOzg7du3eXOxQiMkOcvp6Ky9nZGXPmzAEAfP311+p+k6ZI9nfD0qVL4ePjA1tbW/j7++PUqVMv3D8uLg4jR46Ep6cnbGxsUKNGDfz9998a3XeLFi1gY2Oj0W2JiEpCoVDA7dnldmDlhIqme/fu6NatG9LS0tCpUydcvXr15TcyQrImJxs2bMC4ceMQFBSEkJAQ+Pr6IjAwEA8fPixw//T0dHTo0AFRUVHYuHEjwsPDsWLFCpQvX77A/V/m9ddfL0n4REQaUyqVqPTs8odg5YSKRqFQ4Pfff0ebNm3w9OlTjBs3Tu6QdELWd8OiRYswfPhwDB48GHXq1MGyZctgb2+PVatWFbj/qlWr8PjxY2zduhWvvvoqfHx80KZNG/j6+hb7vq2trTFw4MCSPgQiIo0oFAp0fHb5Blg5oaJzcHDAihUroFQqsXPnTmzfvl3ukLROtuQkPT0dZ86cQUBAQE4wSiUCAgIQHBxc4G3++usvNG/eHCNHjoS7uzvq1auHr7766oWT0qSlpSEhISHPCQDatWuH0qVLa/dBEREVEaevp5KoXr06Ro4cCQDo1asXDhw4IHNE2iXbu+HRo0fIysqCu7t7nu3u7u6FLhEdERGBjRs3IisrC3///TemTJmChQsXYtasWYXez+zZs+Hs7Kw+eXt7A2CTDhHJK//09UxOqLgWLFiAN954A5mZmRg+fDhSUlLkDklrSvxuSE1N1UYcRZKdnY1y5cph+fLlaNy4Mfr06YMvvvgCy5YtK/Q2kyZNQnx8vPp0+/ZtAEDPnj31FDUR0fOUSiWWPrtcHmzWoeKztrbGzz//jAoVKiAiIgIzZ86UOySt0Sg5yc7OxsyZM1G+fHk4OjoiIiICADBlyhSsXLmySMdwc3ODhYUFHjx4kGf7gwcP4OHhUeBtPD09UaNGDVhYWKi31a5dG9HR0UhPTy/wNjY2NnBycspzAqA+JyKSg0KhQJNc11k5IU2UKlUKS5YsAQDMmzcP69evlzki7dDo3TBr1iysWbMG8+bNg7W1tXp7vXr18NNPPxXpGNbW1mjcuDH279+v3padnY39+/ejefPmBd7m1VdfxfXr15Gdna3edvXqVXh6euaJg4jI0CmVSmTnus7KCWmqR48eGD58OLKzszFy5EjExcXJHVKJaZSc/PLLL1i+fDnefffdPFUMX19fXLlypcjHGTduHFasWIGff/4Zly9fxgcffIDk5GQMHjwYADBgwABMmjRJvf8HH3yAx48fY+zYsbh69Sp27tyJr776St0piIjIWCgUCjx6dvkXsHJCJfP999+jTp06ePz4Mb766iu5wykxS01udPfuXVSrVu257dnZ2cjIyCjycfr06YOYmBhMnToV0dHR8PPzw65du9SdZG/dupXnDevt7Y3du3fj448/RoMGDVC+fHmMHTsWEyZM0ORhEBHJRqlUIunZ5Z8A9GflhErA0tISc+bMQffu3TF//nxUrlzZqJdn0Sg5qVOnDo4ePYpKlSrl2b5x40Y0bNiwWMcaNWoURo0aVeDfDh069Ny25s2b499//y3WfRARGRqFQsHp60mrXn/9dYwfPx4LFizAqFGj0Lp1a9StW1fusDSiUXIydepUDBw4EHfv3kV2djY2b96M8PBw/PLLL9ixY4e2YyQiMjlKpRKqxTPaA2DdhEpKoVBg3rx5uHbtGrZt24bPP/8c27ZtkzssjWiUqvfo0QPbt2/Hvn374ODggKlTp+Ly5cvYvn07OnTooO0YiYhMjkKhgN2zyzMAWLxoZ6IiUigUmDNnDpRKJf766y989913coekEY3riK1atcLevXvx8OFDpKSk4NixY+jYsePLb0hERFAqlcjdc4/JCWlLrVq1MGXKFADA2LFj8ddff8kcUfGxkZOISAa5Z4gFAAtJki0WMj1BQUHq/pyfffYZMjMzX3ILw1Lk5KR06dJwdXUt0omIiF4s99o6AJMT0i6FQoFZs2ahTJkyCA8Px9y5c+UOqViK3CH2m2++UV+OjY3FrFmzEBgYqJ4wLTg4GLt371aXkoiIqHAKhQK5119XZmcXui+RJpydnTFz5kx8+OGHmDx5Mtzc3DBixAi5wyoShSQVP11/88030a5du+eGAC9ZsgT79u3D1q1btRWf1iUkJMDZ2Rnx8fGcwp6IZHPkyBHUbNMGqqVPt3z/Pd4w4nkpyDBJkoSpU6di1qxZcHJyQkREBMqUKaPx8fT1HapRn5Pdu3ejU6dOz23v1KkT9u3bV+KgiIhMnUKhyNMJVsFmHdIBhUKB6dOnw8/PDwkJCZg2bZrcIRWJRslJmTJlChw7vW3bthJlZERE5kKpVKo/gJcDyHZ0lDMcMmFKpVLd52TJkiWYP3++zBG9nEaTsE2fPh3Dhg3DoUOH4O/vDwA4efIkdu3ahRUrVmg1QCIiU5R7htj5AL6ys3vR7kQl0rFjR0yfPh1BQUGYMGECOnbsCF9fX7nDKpRGlZNBgwbh+PHjcHJywubNm7F582Y4OTnh2LFjGDRokJZDJCIyPUqlUt2skw1OX0+6N3XqVLz99tuQJAkTJ06UO5wX0qhyAgD+/v5Yt26dNmMhIjIbuZt1mgKwNLJ5KMg4ffnll9i8eTN27dqFzz//3GBXMNYoVb9169YLT0RE9GK5m3V+B2AXFydjNGQuqlWrhoULFwIAZs+ejc2bN8scUcE0qpz4+PhA8YLlvbOysjQOiIjIHCiVSjgCSAJgB0D5gs9UIm0aM2YM7t27h7lz52LixIno1q0brKys5A4rD40qJ2fPnkVISIj6dPLkSSxbtgw1atTAn3/+qe0YiYhMjkKhQDaADNV1DiUmPfriiy9Qrlw5XLt2DZ988gk0mPJMpzSqnBTUw7dJkybw8vLC/Pnz0atXrxIHRkRkylQdYFXzwlqwckJ6VKpUKcyfPx8DBw7E4sWLUaVKFXz00Udyh6Wm1e7hNWvWxOnTp7V5SCIik6SA6Gvikus6kT4NGDBAvTTN1KlT8fDhQ3kDykWj5CQhISHPKT4+HleuXMHkyZNRvXp1bcdIRGRylAD65rtOpG+jR49G48aNkZiYiE8++QTZBrLGk0bNOi4uLs91iJUkCd7e3li/fr1WAiMiMmXKfG38rJyQHJRKJRYsWIB27drh119/Rfny5TFnzhy5w9IsOTl48GCe60qlEmXLlkW1atVgaanx1ClERGYjd6VkPoBXXFxkioTMXdu2bbFixQoMHz4c8+bNQ58+fdCwYUNZY9Iok1AoFGjRosVziUhmZiaOHDmC1q1bayU4IiJTlXt0zjQA21xdZYuFaNiwYThw4AB+//13fPLJJ9i/f/8LpwzRNY2aOdu1a4fHjx8/tz0+Ph7t2rUrcVBERKYud7MOp68nQ/DVV1/B2toaBw8exP/+9z9Zhxdr9G6QJKnAjCo2NhYODg4lDoqIyNTlHjpcD4BlRkbhOxPpgY+PD1asWAGlUonly5fjjz/+kC2WYjXrqOYvUSgUGDRoEGxsbNR/y8rKwvnz59GiRQvtRkhEZIJy/zI8DeDMzZtyhUKkNmDAANy4cQMzZszAxIkT0bNnT/Fdf+sWcPYs0LatXuIoVuXE2dkZzs7OkCQJpUqVUl93dnaGh4cH3n//ffz666+6ipWIyHS4uKAUgPhnVzl9PRmKzz77DJ6enoiKisKwYcPE8OLPPwd69gSmTNFLDMWqnKxevRqAKP2MHz+eTThERBqysLREEoA4AM7g9PVkOBwcHLB48WL06dMHv/76K95OS0M31dI0vXsDixfrPAaN+pwEBQUxMSEiKoH809ezckKG5M0338Ty5cvRGshJTMaNA/z89HL/Ra6cNGrUCPv370fp0qXRsGHDFw4xCgkJ0UpwRESmyiIhAT8BqPzsOisnZGgGDxyIFmPGAMnJOFK+PJrNmgXoqeN2kZOTHj16qDvA9uzZU1fxEBGZBcu0NAzNdZ0DicnQKL7/HrWSk5EAoPfdu+j18ceYN2+eXu67yMlJUFBQgZeJiKj48icjbNQhg3L2LPDJJwCAqMGD8WjNGvz444/o3bu3Xu6+RHPNp6en4+HDh88tFFSxYsUSBUVEZOpyT8I2B0AXd3f5giHKr2FD4Px5YPt2NBg/HkOUSqxcuRITJ07Uy90rJA2mgLt69SqGDh2KEydO5NmumpwtKytLawFqW0JCApydnREfHw8nJye5wyEiM5Vw9iycGjVCAsRonTNnzqBRo0Zyh0VUoHv37qF69epISUkBAJ1/h2pUORk8eDAsLS2xY8cOeHp6yjr/PhGRMVI166jqzvwcJYPw/fdAmTJAnz55Nnt5eeGPP/5Ar169kJ6ervMwNEpOQkNDcebMGdSqVUvb8RARmQXV6BwXAFUAWKSlyRkOEXD1KjB2LGBpCfj7Az4+ef7ctWtXLF68GCNGjNB5KBp1EK9Tpw4ePXqk7ViIiMxG7g/fGwAcz5+XKxQiYeJEIDMTaNcOqFSpwF369u2rl1A0Sk7mzp2Lzz77DIcOHUJsbCwSEhLynIiI6MWUNWvCE8CDZ9fZqEOy+vprYMsWQKkE5s8HZG5m1KhZJyAgAADQvn37PNuNoUMsEZEhUFpbIxrAfQDuYHJCMtq1S8z+CgDTpwN168obDzRMTg4ePKjtOIiIzMpz09fLFwqZs6ws4NNPxeURI4AvvpA3nmc0Sk7atGmj7TiIiMyK8v59fAdANXiY09eTLE6eBC5cAEqXBmbPlr05R0Wj5OR8IR23FAoFbG1tUbFiRfVU90RE9DzFo0cYnes6KyckixYtgD//BBISRIJiIDRKTvz8/F44Jt/Kygp9+vTBjz/+CFtbW42DIyIyWflm1jaM36tklvQ0JX1xaJSsb9myBdWrV8fy5csRGhqK0NBQLF++HDVr1sRvv/2GlStX4sCBA5g8ebK24yUiMg25kpPFALK8veWLhczPzz8DN2/KHUWhNKqcfPnll/j2228RGBio3la/fn1UqFABU6ZMwalTp+Dg4IBPPvkECxYs0FqwREQm41kfkygAYwC8Xru2nNGQOfnqK9Hx1cZGrJ9To4bcET1Ho8pJWFgYKhUwQUulSpUQFhYGQDT93L9/v2TRERGZqmeVE1U3WE5fT3px+TIwZYq4HBRkkIkJoGFyUqtWLcyZMyfP/PoZGRmYM2eOekr7u3fvwp2rbBIRFSzX9PUeACz0sF4JmTlJAiZMEIlxz57ApElyR1QojZp1li5diu7du6NChQpo0KABAFFNycrKwo4dOwAAERER+PDDD7UXKRGRKXlWOSkNMRHbo/37DfZXLJkASRLzmWzfDlhYiGHDBkyj5KRFixaIjIzEunXrcPXqVQDAW2+9hXfeeQelSpUCALz33nvai5KIyNQ0aoRGTk7YmJCAKgCUbNYhXdq+HVi4UFxesgQw8IV7NUpOAKBUqVL43//+p81YiIjMh60tbllZIQpiVWJwEjbSpd9/F+effgoYwXe3xskJAFy6dAm3bt3K0/cEALp3716ioIiIzIGFhQWnryf9WLcO6N4d6NxZ7kiKRKPkJCIiAm+88QbCwsKgUCggPcv4Vb3NufAfEdFLRERgclISAp5dtWCzDumSUgn06yd3FEWmUbI+duxYVK5cGQ8fPoS9vT0uXryII0eOoEmTJjh06JCWQyQiMkE3b2J0Sor6qoWStRPSssePRTNOTIzckRSbRu+G4OBgzJgxA25ublAqlVAqlWjZsiVmz56NMWPGaDtGIiLTk2/6elZOSKtUo3MWLADeeEPuaIpNo+QkKytLPSrHzc0N9+7dAyAmYQsPD9dedEREpipXB9iVABTVqskXC5mezz4DVq0Sl6dOlTcWDWjU56RevXo4d+4cKleuDH9/f8ybNw/W1tZYvnw5qlSpou0YiYhMz7PKyVkAwwAMbNVK1nDIhJw/nzNseOVKoGNHeePRgEbJyeTJk5GcnAwAmD59Orp164ZWrVqhTJkyWL9+vVYDJCIySfmmr7ewsJAvFjId2dmiaiJJwNtvA0OGyB2RRjRKTnIv+Fe9enVcuXIFjx8/RunSpbk+BBFRUTxr1rEG4AhAkZEBWFvLGhIZOUkCPvgA2L0bsLQEZs2SOyKNFSs5GVLEDGyVqp2LiIgK9qxyUg9AIgCsWQO8/76MAZHRu3cPOHBADBtevRqoXl3uiDRWrORkzZo1qFSpEho2bKie24SIiDTQqhWa2thgVVoa6gGcIZZKrnx54NIlICQE8PeXO5oSKdZonQ8++ADx8fGIjIxEu3btsHLlSmzZsuW5U3EtXboUPj4+sLW1hb+/P06dOlWk261fvx4KhQI9e/Ys9n0SEcnKyQlhCgXU4xvzDS0m0oiVldEnJkAxk5OlS5fi/v37+Oyzz7B9+3Z4e3vj7bffxu7duzWupGzYsAHjxo1DUFAQQkJC4Ovri8DAQDx8+PCFt4uKisL48ePRij3cichIZWdnq6evZ+WENPbnn0BQEJCaKnckWlPseU5sbGzQr18/7N27F5cuXULdunXx4YcfwsfHB0lJScUOYNGiRRg+fDgGDx6MOnXqYNmyZbC3t39hv5WsrCy8++67mD59uuZDl5880ex2RETacOUKJmVm4i3VdVZOSBNPngCjRgEzZgDLlskdjdaUaL5kpVKpXltHk/V00tPTcebMGQQEBKi3KZVKBAQEIDg4uNDbzZgxA+XKlcPQoUNfeh9paWlISEjIcwIAbN5c7HiJiLTm0iVMy52QsHJCxfX0qVgv5+FDoFYtMVLHRBQ7OUlLS8Pvv/+ODh06oEaNGggLC8OSJUtw69YtODo6FutYjx49QlZWFtzd3fNsd3d3R3R0dIG3OXbsGFauXIkVK1YU6T5mz54NZ2dn9cnb21v84e+/ixUrEZFW5a+UsHJCxTV6tBg2bGMjJluzsZE7Iq0pVnLy4YcfwtPTE3PmzMHrr7+O27dv488//0SXLl2g1MOiVYmJiXjvvfewYsUKuLm5Fek2kyZNQnx8vPp0+/Zt8YdXX9VhpEREL5GrUrIeMOphnySDixdzpqffuRNo0ULeeLSsWEOJly1bhooVK6JKlSo4fPgwDh8+XOB+m4vYZOLm5gYLCws8ePAgz/YHDx7Aw8Pjuf1v3LiBqKgodOvWTb0t+9mvDUtLS4SHh6Nq1ap5bmNjYwObgrLJceOKFCMRkU48++w6CKAfgL5dusgaDhmRuDgx86skAW++CbRvL3dEWles5GTAgAFanQHW2toajRs3xv79+9XDgbOzs7F//36MGjXquf1r1aqFsLCwPNsmT56MxMREfPvttzlNNkREhu5Z5YQ9TajYrl0Dbt4ESpUSqw6boGJPwqZt48aNw8CBA9GkSRM0bdoU33zzDZKTkzF48GAAIiEqX748Zs+eDVtbW9SrVy/P7V1cXADgue0v9fQpcOYM0Lw5YGurjYdCRFR0udbWUaqu66F5nEzAK68AoaHAgweAj4/c0eiERmvraFOfPn0QExODqVOnIjo6Gn5+fti1a5e6k+ytW7d005+lRQsgIgJYuxbo31/7xyciepFnyUl7AFkAMH8+MGGCnBGRoUtMBBwdAYUC8PAQJxOlkMxsHvqEhAQ4OzsjfsoUOM2cCbRqBRw5IndYRGRuHj1Cs7Jl8Q2AZgAwezYwcaK8MZHhSkkRFZOxY2Vdg0n9HRofDycnJ53dj/nWEFVT3p86BaSnyxoKEZkhNzecBHBBdZ1DielF5swR6+Z89RWQmSl3NDpnvslJ1apAmTJAWppYJImISAacvp5eKioK+PZbcXnBAsBS9h4ZOme+yYlCAbRtKy7roKMvEdELXbiAcQC6q66zckIFuXtXzMuVkCAW9OvVS+6I9MJ8kxNArEcAAOvWARpMv09EpLGTJ7EQgLpLIysnVJAvvgDu3QOqVRML/JnJiC7zeJSFadVK9HxOShJteURE+sLp6+llgoOBX34Rl9etA8xoLi/zTk4sLIBNm4CrV4HizpNCRFQSuSol2wGgRg3ZQiED9fAhYG0NvPsu0LSp3NHolen3qnmZjh3ljoCIzNGzSslmAG8CkN55R9ZwyAD16AEcOgTUrSt3JHpn3pUTIiK5cPp6KkxCQs7lZs3ENPVmhskJINr0evYE/vlH7kiIyFw8q5ywpwnl8ddfQOXKor+JGWNyAogXwbZtwL59ckdCRObiWXLyFoCnADB5spzRkCF48ED0L3n8GPjpJ7mjkRWTEwBo3Vqcs3JCRPrSsyfaA9gDwBYAMjLkjYfkFxQkRo82aQL8+KPc0ciKyQkAdOkCWFkBly9zSDER6Ye3Nw4AOKe6zqHE5u2nn3ISkoULzWIW2BdhcgIAzs45s8WyaYeI9IjT1xNu3ADGjBGXx43LqeabMSYnKq+9Js4PHpQ3DiIyD+fOYQSAtqrrrJyYJ0kChg8Hnj4F2rUTa+cQkxO1du3E+aFDnMqeiHRv714sA+Cvus7KiXlKTxfzmDg4ACtWiHXfiMmJWuPGQNmygJ8fEBsrdzREZOo4fT0BgI0NsHixaNqpWlXuaAyGefe4yc3SUiyuZOadkIhIT3JVSvYDaF+9unyxkP4lJoqp6W1sxHV3d3njMTCsnOTGxISI9OVZcrIKwIiqVXNWSSfTl5AAvP464O8vRonSc/htXJBHj4DSpcXCgEREuvCsGadylSr4h3MsmZcxY4AjRwB7eyA+Xu5oDBIrJ/m1ayf6npw5I3ckRGTKnlVO2r32GqqzScd8hIYCP/8sOr7u3i3WzqHnMDnJz9lZnB84IG8cRGTaVB1gf/oJKFNGzG9Bpu3KFeCNN8Tlt98GWraUNx4DxuQkv4AAcb5zp7xxEJFp69NHrOnVu7dYSyUpSe6ISJeysoB33gGiooAqVYBvv5U7IoPG5CS/Hj3E+fHjQEyMvLEQkemqUQPo3h1o2FBc51Bi0/bzz8DZs6I6f+QIR+e8BJOT/Ly9xYQ4kgT8+6/c0RCRqVM++xjmJGymrXNnYPBgsbhf+fJyR2PwOFqnIK+8Aly8CJw+DXTrJnc0RGSKQkOBsLCczvesnJg2T09g1Sq5ozAarJwU5JVXxPmJE/LGQUSma+NGYMAAcQ6wcmKqjh/n/1YDTE4K0qGD6EnNSZGISFc4fb1pkyRg2jQxIqdVK7GGDhUZm3UKUr06sGGD3FEQkSlT/Zp2dwd8fLiuiqnZtAmYPl1c7txZTFVPRcbkhIhIDqpKybvvAgsXyhsLaVdyMjBxorg8YQLwxRfyxmOE2KxTmPR04NQpYPNmuSMhIlOkqpwo+TFsUpKSxEzjN26IUTmffy53REaJlZPCXL8uFmWysxNr7djbyx0REZkSVeVEoZA3DtKuTz8VIz1dXYHffwecnOSOyCgxZS9M7dqiHfjpU2DXLrmjISJTo6qcrF0r5lf63//kjYdKLj0d2L5dXN64UXSEJY0wOSmMQiFmbwSAgwfljYWITE///uKXdbduwJ07okJLxs3aWkzeOWWKaNohjTE5eZHmzcX5qVPyxkFEpqdhQ6BvX6BRI3GdQ4lNQ4UKwIwZckdh9JicvEjTpuI8NBRIS5M1FCIyUaoOsUxOjJMkAYsXi+kn+D/UGnaIfZHKlcWUw/fvA8eOAe3byx0REZmK0FAgIgIIDxfX+cVmnGbMEJOtqfTpI1sopoSVkxdRKIDAQHGZnWKJSJtWrADefDNn+vqsLHnjoeILDwdmzRKXv/qKiYkWsXLyMp98AgwZkrPeDhGRNqgqJRYWea+TcXjyRKwynJkJdO0KTJokd0QmhcnJy9SrJ3cERGSKVEOJ3dwABwegUiV546GiS08Xo3HOnQMcHYGvv5Y7IpPD5ISISA6qSkn37sDkyfLGQsXzww8iMXFzA/btE+uxkVaxz0lRnDoFjB4tXpBERNrA6euNl6OjmDV81izA11fuaEwS3xVFERYGLFkiJkwiItIGTl9vvIYOBS5fBoYPlzsSk8XkpChatxbnp04BqanyxkJEpkFVOTlwAKhVC+jXT9546MUyM4GoqJzrFSuy6qVDfGaLolo1wN1dTMR2+rTc0RCRKRg8GPjpJ7H+Sng4cPOm3BFRYdLTgc6dxay+XM5EL5icFIVCkVM9OXpU3liIyDS0aiWaBxo2FNc5z4nh+vpr0fH16VMgPl7uaMwCk5OiUq0ueeSIvHEQkWnhPCeG7cSJnLVyfvwR6NlT1nDMBYcSF5WqcnL8uCjxWVvLGw8RGbdz58TSGLdvi+usnBieQ4eAjh2BjAwxr8mAAXJHZDZYOSmq+vWBcuXE6dYtuaMhImM3d67ox7B9u7jO5MSwpKUBI0aIxKR7d+CvvziySo9YOSkqpRI4f14kJ3yBElFJqUbrWD77GGazjmEJCQGuXgU8PIBffhFzm5DeMDkpDnd3uSMgIlOhSkYcHcUK6OXLyxsP5dW8OTBwoKiaODvLHY3ZYXKiCdUvHlZQiEhTquSkeXPg11/ljYVyPH0K2NmJy6tX83NeJuxzUlx9+gBlygAnT8odCREZM/7IMTxbtoh1clTDhfm/kQ2TE008eQJs3Sp3FERkzDh9vWGJjgYGDQLu3gXWrZM7GrPH5KS4uncX5/v3yxsHERk3VeXkyhWgcWOgSxd54zFnsbFimHBCAtCkCfD++3JHZPbY56S4Xn1VnJ87J9bZsbWVNx4iMk7Dhom5M5ycgO++AypUkDsi85SZKeYyCQkRn+dLluSMoCLZ8D9QXJUqAWXLAjEx4sXcooXcERGRMeraVZyfPSvOOZRYHgsXis9yFxdgzx7glVfkjojAZp3iUyhyprLfs0feWIjI+Kmmr+ckbPr3xx/AxIni8oIFTEwMCJMTTXTrJs5VMzsSERXXhQtiIdFHj8R1Vk707/XXRVP9iBFilWgyGAaRnCxduhQ+Pj6wtbWFv78/Tp06Vei+K1asQKtWrVC6dGmULl0aAQEBL9xfJzp3Fm3FvXrldGojIiqOTz8Va3bt3Suus3Kif/b2wIEDwLJlYhZwMhiy/zc2bNiAcePGISgoCCEhIfD19UVgYCAePnxY4P6HDh1Cv379cPDgQQQHB8Pb2xsdO3bE3bt39Re0u7t4QX/xBYcBEpFmOH29PK5dA4KCcpJBLuJqkGRPThYtWoThw4dj8ODBqFOnDpYtWwZ7e3usWrWqwP3XrVuHDz/8EH5+fqhVqxZ++uknZGdnYz+H9hKRMVElI9bWOYuKkm5lZgIffADMmAFMnix3NPQCsiYn6enpOHPmDAICAtTblEolAgICEBwcXKRjpKSkICMjA66urgX+PS0tDQkJCXlOWhMTA+zapb3jEZH5UFVOqlQBHjwAwsPljcfUxceLZrT9+wErK2DoULkjoheQNTl59OgRsrKy4J5vQT13d3dER0cX6RgTJkyAl5dXngQnt9mzZ8PZ2Vl98vb2LnHcAMQsse7uov9JIU1QRESFUjUrqEbrkG5NmAAEBwMODsCGDUC1anJHRC8ge7NOScyZMwfr16/Hli1bYFvIZGiTJk1CfHy8+nT79m3t3Hnp0kC9euLyoUPaOSYRmQ9VcsKOmLolScDMmcCPP4rr27cDb7whb0z0UrK+K9zc3GBhYYEHDx7k2f7gwQN4eHi88LYLFizAnDlzsGfPHjRo0KDQ/WxsbODk5JTnpDXt24tz9nchouJSJSeq5obWreWNx1TNmQNMnSoujx4tRlqSwZM1ObG2tkbjxo3zdGZVdW5t3rx5obebN28eZs6ciV27dqFJkyb6CLVgTE6ISFP/+x/w5ZdAzZpivpOjR+WOyDQ1aQLUrg0sWgR8+63c0VARyT59/bhx4zBw4EA0adIETZs2xTfffIPk5GQMfjYhzoABA1C+fHnMnj0bADB37lxMnToVv/32G3x8fNR9UxwdHeHo6Kjf4Fu3Fu3FN24AN2+Kqe2JiIqif39xrpqEDRAjeNjMo10dOgDnz4vPak79YDRkfxf06dMHCxYswNSpU+Hn54fQ0FDs2rVL3Un21q1buH//vnr/H374Aenp6ejduzc8PT3VpwULFug/eCcnoGlTcZnVEyLSRO5khHOdaMfdu8DJkznXLS2ZmBgZhSSZ1xSnCQkJcHZ2Rnx8vHb6n0yZAsyaBbzzDrBuXcmPR0Tm4eJFIC1NzG+iGkWYmgrY2Mgbl7E7fhx4800xPHvmTM5nomVa/w4thOzNOkavb1+gatWc/idEREXRt69YX2fLlpxtrJyUTFwc8PbbIjGpXVssMUJGiclJSdWtK05ERMWhGq1jZfX8Niq+mzdFMnLvHlC9OnD6tJjThIwSkxMiIjnkXtvF0VH0PWHlRDOpqaLj67VrgK0tsGYNExMjx+REG+LjgZ9/BsLCgBUr5I6GiIyBKjmxtwcSE+WNxdgtXCgSE09P4MgRzv5qAmQfrWMS0tKAsWOBn37KOyyQiKgwqioJp68vOX9/UXlaupSJiYlgcqIN5coBdeqIy8eOyRsLERkHrq1TMrmbwNq3FxUTTktvMpicaItq6ul9++SNg4iMQ+7kpGtXoGNH4PFjeWMyFhkZQJs2wJ494rpCAbz6qrwxkVYxOdGWbt3E+caN7HFPRC/30UfAF1+IfhJ79gB79wJPn8odleHLzAQ+/1xUqSdMkDsa0hF2iNWWgADAxUWMr//vP9EGSkRUmPHjcy5bWIgvXf6webH0dKBLl5wZuceNkzce0hlWTrTF2jpntUtOZU9ExaHqd8KhxIXLzhazve7fLz5vFy0C3ntP7qhIR1g50ab27YF//gFSUuSOhIgMXXi4OK9cOWd9HVZOCpaSAnTuLDq9AsAvvwB9+sgbE+kUkxNtGjAAGDSIk/8Q0cs1aQIkJQHXr7Ny8jLr14vExNERmDZNTFFPJo3JiTaVKiV3BERkLHKP1mHl5MUGDxbPU/nyon8fmTz2OdGVhw/ljsB0DRsmFlvculXuSIg0lzs5sbQU56yc5MjKAiIjxWWFAhg4kImJGWFyom1PngB+fmIJ9IQEuaMxTQ8eABERnI2XjFvu5OThQzFaRzWZo7l78ACoXx9o3lxcJrPD5ETbXFzEXAXp6aJzLGnfjh3i/NIleeMgKgnOEFuwhATR2fXyZbFu2X//yR0RyYDJibYpFDlTKG/ZIm8spu7yZbkjINJM7uYbJic5Ll4EatcGDh8WqwufPi1mzyWzw+REF1TJyc6dYlFA0o30dLkjINJM7o6vFhbA//4nPjeuXZMvJrlFRAD9+gH37olm8Q0bgHr15I6KZMLROrrwyiuAhwcQHS2mWG7fXu6ITBOTEzJWCgXwySciSbG1BXbvBqKigIkT5Y5MHiEhon9JejpQujRw8qSY1p/MFisnuqBUAoGB4rKqfwRpH5MTMlaWlsCCBcDXXwN2djlNO+Y6lNjPD5g+HWjQADh4kIkJMTnRmV69xPmvv7JpR1c8POSOgEg7zD05USpF1Sg0FPD1lTsaMgBMTnSlSxdg1Cjghx/kjsT0lC4tzufOlTcOIk1lZQE3bwJ37gCSlDMJm7nMc/L0qUhGXnsNuHIlZ7tCIV9MZFDY50RXLC2BxYvljsI0ZWSIcysreeMg0tSTJ4CPj7iclWVelRNJAkaMANauFdfnzAHWrJE1JDI8TE7I+Bw6JPqblC8vdyREmsmdhCiVgJOTuBwXJ0s4enPhgqgoHz4sHvfChcDo0XJHRQaIzTq6FhUFTJgAbN8udySmIzMT+OADoG9fuSMh0kz+Cdjc3cX5kyfyxKMPV64A3bvnJCbffQd89BHneaECsXKiaytXAvPmidlMu3WTOxrTkJ4OnDsHpKbKHQmRZvInJ2vWAPb2pttUeeoU0KKFeNzly4sEpWpVuaMiA8bKia69844437WLa8FoQ1YWsGSJuPz4sbyxEGkqf3Li7Gy6iQkANG0KLF8ONGwI7NvHxIReismJrtWuLd6QmZnAH3/IHY3xS0/PeR6TkuSNhUhT5rCuTmZm3j40Q4aIydZq1ZItJDIeTE704b33xPnq1fLGYQoyM3Mum8uwSzI9+ZOTsDDg3XeBMWPki0mb9u4VE6nVrStmvyUqJiYn+vDee6Jk+99/oq8EaU41jBhgckLGy9lZrKczeLC4npoK/PabmLTRmF/XaWnATz+JdYIePQJiYjiTM2mEyYk+uLkBPXuKyytXyhqK0ctdOcl9mciYuLuLCRq//lpc9/MDHB3FaB1j/QGTlSVWEB4+HEhOFv1MHjzgQADSCJMTfRk6FHBxEb+YSHO5KyeVKpnHpFVk+qysgJYtxeV//5U3Fk38/bd4P+7fLx7LhAliEIBqNmeiYuJQYn0JCBBLgdvZyR2JcVNVS2xtgchIeWMh0lRGBhAfL77IVT9YvLzEuTHOdeLqKppvLCxE81Tv3nJHREaOyYm+WFgwMdEGVXJiysMuyfSFhopmj4oVxRo7AFCqlDhPTJQtrGJJSRGfaQoF0KwZcOSISFLKlZM7MjIBbNbRN0kS5c5Tp+SOxDh5eYkl1bdtkzsSIs0VNJRYNYV9QoL+4ymur74CypYFvv02pwNvrVpMTEhrmJzo28KFQOfO4pyKz84OaNsWmDYNaNIEiI6WOyKi4isoOSlVCrCxET9gDNWpU0Dr1sAXX4jKydy5Yr0cIi1jcqJv7duL861bgVu3ZA3FqJ05I04pKXJHQlR8BSUn48eLIcXffy9PTC+SkAD8+CPQrh1w9KjY9tlnwN27QIMG8sZGJonJib41bCje4OnpwMyZckdjfB48AJYuFUMVAc6hQMapoOREoZAnlpdJTgaaNxfzsqSkAI0bi6bVOXPEAn5EOsBXlhxmzRLnP/8sfnlQ0d24IZZcV0lLky8WIk0Z0/T19vZAv34iERk9Wsz42rat4SZTZBKYnMihRQsxp0FGRs4kTFQ0uec5AVg5IeNUUHJy5QrQvTswcKA8MeX27beiyguIJGTyZCA2FvjuO6BMGXljI7PA5EQukyaJ86VL2fekOPLPCsvkhIyRp6dY1qJr15xtT58C27eLVXvlsmMHUKUK8NFHYrhz7vebi4tMQZE54jwncuncWfR6f/RInCpWlDsi45C/csJmHTJGDRoAv/ySd5uc85wcPy5GwOVOjIYPZ58Skg2TE7koFMAff4gSqSX/DUWW+5ecmxvbvcl0qOY5SUoSFUFra/3cb3KyGEWoSvRfeQX45hvR/EwkE6bFcnJ3Z2JSXKrKSYsWYsXTdu3kjYdIE4mJYnhu7jlNypYVTSeSpN+5Q8LCRGJSrx6wYoWY6ZWJCcmMyYkhSE0F5s8XM8fSi3H6ejIFP/wg1tQZNixnm0IhPgsAMVxXFw4eFFWS6tWBa9fENgsL0fft339FPLa2urlvomLgz3ZDsHCh6A1fq5b44OAXb+FathSd9tg5j4zZvXvivGzZvNsHDACWLxdNK9oiSaIaMnSoGIqvMnIksGePuC9t3h+RFrByYghGjRL9J65c4cRsL+PpKUY4/Pkn4OgIjB0LXLyYs74HkTFQJSeqlYhVFiwAXntNNFn26/d8B/DiWrlS9F1p2zYnMXF3BxYtAtatK9mxiXSIyYkhcHYGFi8Wl2fNAg4dkjUco/D996Ij33ffibby0aPljoio6FTJiadn3u2lSolpBqKigPXrxcysqtmQi+LxYzEMePlyUTF5/XUgIED8zc1NTEEfFQV8/PHzVRsiA8LkxFD07QsMGSI+UN59VwwvpueFhgKrVz//izI2VrTX//efGO1AZKgkCbh5U1zOn5wAQNOmOZfPnMn54fLoERAXl3ff1FTgyy9Fk03p0mL037ffAk+eiL+7u4shy3v2iNmo33+ffUrIKCgkyZCXwNS+hIQEODs7Iz4+Hk6qoXuGIjlZdIQLDwe6dQO2beNQ2fxmzACCgl68z9tviw7GX3wB+PgA588DrVqJX5B+fsDJk6KfT/XqYgK8+Hgx8VTfvkCzZuIDf8YMMfeDtTVQqRIQHAzUrStGWPTvL06AKMNfuCD+9uiRWDXZ0VEsHd+9e07fmIQE8f91dRUjtIxh2nLSjaNHxRxH9vbA/fs5Q4hzy/2+Hz4cCAwEevcW18uXF58Tq1aJxGPcuOdvX6MGcPasuA8iLdLbd6hkZuLj4yUAUnx8vNyhFOzsWUmytpYkBwdJunRJ7mgMz4QJkiR+e7741L3789v69JGkBw8kKTKy4Nt4ekrS48fifgYMKHif0qUlKTo6Jx43t8JjuHgxZ7/hw3O2OzpKkrOzJJUvL0kNGuT9Px89KknffCNJGzdK0uHDkhQVJUlJSZKUna2PZ5f0YepU8Tro37/wfQ4elKSBAyXp1i1J+uqrgl9fe/ZIUkxMznUvL3Hs8+f19UjIDOnrO5SjdQyNnx+wdq04r1FD7mgMT0qKOP/gA+DVV4G//hKT2eW2ZQvw8KH4W27HjonS9pUrorqRu/mnalVRzbh7V5THFy4E7twRt2nVSvzCrVVLVFLu3xfl8sxMMdPvkSOiPB8dLfoPJSaK1ZM9PMSxY2Pzdj5U3W98vLi/n34S9weIqtlHHz3/uD08RFVm82bx2gBEqV41u3C1auIXOH8pG77WrYEJE0R/ksK0bStOAPDWW6LpJnffk82bgQ4dxOWYGPGaVSpZaSWTwWYdY5CaynZilWHDxAiEL78EPv9cbIuMFCulpqeLpGDWLPEhnZ0tmlxu3AC8vUXyUbeuSDDu3RMJhUIhfnfq8kNdkkRCY2+fs1zB48diLZVHj0Ti0aOH2Dc4WAzxTEsTcaen50zUVaOGGJmkmrivXj1xPbcaNURTUr9+OUnOjRsikSpfHnBw4BeYMXr6VLx+k5LEictdkEz09R3KyomhO3wYeOcdYOtW85qL4PRp0V8k/xT1T5+K89wVgsqVgf/97/ljKJViDZMGDZ7/W+4hnLr+slYocu7PxUVUOQrTvDkQEpJzPTFRVFgiIvIudZCUJPqvNGgAXL2aM3nX1avivHPnnGP895/oTwOIRKhsWVF9KVdO9LUJCGCVztDZ2YlzV1dxIjJxTE4M3dy54ld+586i+eK11+SOSDtU1YBjx0QTSY0a4gu2Z09RBVHp3VtMvBYUJDqp/vab2G4uzRelSolThQp5tzs6iuYklYQEUTW6elVUkl59NedvTZqIRC07WzQ9RUeLKctV9u3LSU5WrRLNTHXrioSqYUPx/6lcWSQzXAiu5M6cEUl3hQrsGE1UCDbrGLqkJDFr7KlTgI2NGB3y4YfG+SUREiK+CPfsAfbvz9les6b4db93L9CrV97bdOwo9s9v7dqcETP0cqmpoinp+nXRzHPrFnDpkmjmWbkyp3r02mtiivOCtG+fs2rt06fif+DjI5rMatTgF21RZGWJZsXsbNHfKP8kbEQGTl/foUxOjMHTp+KLePNmcb15c/Hrtk4deeMqiCSJL8Fz58QvexsbYPx4MSV/9+7A9u0F3+6vv8QQy/nzRfNFbKzYvnOnmBE2v8hI8cVI2rV7t6jUXbggEpmoqJxmo0aNxK9+QMwzY2OTUwFTKsX/w8dHJCrNm4up2AHRkdPSUuxvzuLjRV+RhARR+YuP58KfZHTY54Ry2NmJ6dqXLRO9/IODRbn9yhVRbpfbtWvApk0inuDgnH4PgOi0OXKkSE7WrwfatBEjbpydRcL16quiX0WLFmI2y0mTxMiDtDQxCqFCBTHB1MqVOcds0oSJia4EBj6/TZJEghwenrPNykp0ut27VyQfKSmiX0xEBHDggGgKUtmyRUz+5e4u5pZxcxPNRq6uIpGpVUt01jV1338vEhNANNMyMSEqlEFUTpYuXYr58+cjOjoavr6+WLx4MZrmniUxnz///BNTpkxBVFQUqlevjrlz56JLly5Fui+jrJzkdvu2aNYpXVpMwKSSkaH7BQOzssQMrWFhollg6lSxfdeuvB0wAdFcULOmiGnhwrx9IDRx+bK4j5s3xRfZnTslOx5pj2pkUWSk+L9cugQMHpwz5Dk0VCTThdm8GXjjDXF52zZRFXRxEYm3qgNv5cqin021asbxpa6afUTV/Dpxoug/pnL2bM7zQ2REzKZZZ8OGDRgwYACWLVsGf39/fPPNN/jzzz8RHh6OcuXKPbf/iRMn0Lp1a8yePRuvv/46fvvtN8ydOxchISGoV6/eS+/P6JMTQHzopafnlMmvXhVl9DffFB/yrVqJD/KSunhRJB7nz4tfzSdP5vytZk1RKVH54APRb6FRI/GruF490ZFTm+7ezekY+vixSNDI8EmSSC5Vc8w8fixeW48fi6Tmv/9EUx4gZkP96afCj3XzZs4w2kWLRDOUt7d47Tk7i2qMi4s4Xp8+ObdLSBCVODc3kci7ub043rQ0kYxnZor909NFhc/WVswYrLJqlRgm/vixaIp8/FicwsNFhe+ff8R+//0nRts1aCCaxowhwSIqgNkkJ/7+/njllVewZMkSAEB2dja8vb0xevRoTJw48bn9+/Tpg+TkZOzYsUO9rVmzZvDz88OyZcteen8mkZzkl/9XmYWFSBLq1BG/NAcOFB/ggOhPEB0tPmjT08UHdny8+DC9f19UY1RJzwcfiKak3KysAF9fUdIvaNpsXcrMzKkO7d9vOiOXKMepU8CJE2JtmJs3xetVlcS4uop+MKrOu02biiHnBXFzE69tlR498k7KZ20t3idKpUh2Ll3K+VvLlmLpgoI0ayaaLlUqVhTVzIL4+YkKCSA6tq9bJ+JQTc5HZITMos9Jeno6zpw5g0mTJqm3KZVKBAQEIDj3B0AuwcHBGJfvSzEwMBBbt27VZaiG7auvxKiWDRvEyJaoKPGhrfrg7to1JzlZvhyYPr3wY336qfjFB4jbBASIX3tNmgC1a4uKiWrOBX2ztBR9FiIixNoiZHqaNs278F1u+SfL+/RTkbjcvi2S1qQkcT0+Pu9Q88xMsdK3paW4DIjEXCV/FSMi4vn7VijEMfMvONm7t6jKuLqKao1qHpJy5fJOlOboCIwY8dKHT0SCrMnJo0ePkJWVBffcnecAuLu740ruJoNcoqOjC9w/Ojq6wP3T0tKQlpamvh4fHw9AZH8mpUkTcZo/X/QH+e8/8Wvzxg3xQal6vJaWYmZUOzvx67FsWTHteYUKol3f1jZn31GjxCm3jIznP6D16cQJ0TlTociJk8xTQZ13c8v9+oiKEq+ZlBRx/vixSHays8V7Ive+O3eKRMPKSlRXVMmLhcXzr7tp04oeA5EJUH136rrRxeQbPmfPno3pBVQKvFWVBHPw+++F/y1/ElhAUxoREVFusbGxcHZ21tnxZU1O3NzcYGFhgQcPHuTZ/uDBA3gU0i7r4eFRrP0nTZqUpxkoOzsbjx8/RpkyZaDQ0xojCQkJ8Pb2xu3bt02nn4uW8Tl6OT5HL8bn5+X4HL0cn6MXi4+PR8WKFeGq42UUZE1OrK2t0bhxY+zfvx89e/YEIJKH/fv3Y1T+5oRnmjdvjv379+OjXCu37t27F80LWeHTxsYGNvkmf3JxcdFG+MXm5OTEF/tL8Dl6OT5HL8bn5+X4HL0cn6MXU+p4lnLZm3XGjRuHgQMHokmTJmjatCm++eYbJCcnY/DgwQCAAQMGoHz58pg9ezYAYOzYsWjTpg0WLlyIrl27Yv369fjvv/+wfPlyOR8GERERaYnsyUmfPn0QExODqVOnIjo6Gn5+fti1a5e60+utW7fyZGgtWrTAb7/9hsmTJ+Pzzz9H9erVsXXr1iLNcUJERESGT/bkBABGjRpVaDPOoUOHntv21ltv4a233tJxVNpjY2ODoKCg55qXKAefo5fjc/RifH5ejs/Ry/E5ejF9PT+yT8JGRERElJtue7QQERERFROTEyIiIjIoTE6IiIjIoDA5ISIiIoPC5EQLEhMT8dFHH6FSpUqws7NDixYtcLqw1VKfOXToEBo1agQbGxtUq1YNa9as0U+wMinuc3To0CEoFIrnToWtoWRsjhw5gm7dusHLywsKheK5hSslScLUqVPh6ekJOzs7BAQE4Nq1ay897tKlS+Hj4wNbW1v4+/vj1KlTOnoEuqWL52fatGnPvZ5q1aqlw0ehWy97jjZv3oyOHTuqZ8MODQ0t0nH//PNP1KpVC7a2tqhfvz7+/vtv7QevJ7p4jtasWfPc68jW1lY3D0DHXvT8ZGRkYMKECahfvz4cHBzg5eWFAQMG4N69ey89rjY+h5icaMGwYcOwd+9erF27FmFhYejYsSMCAgJw9+7dAvePjIxE165d0a5dO4SGhuKjjz7CsGHDsHv3bj1Hrj/FfY5UwsPDcf/+ffWpXLlyeopYt5KTk+Hr64ulS5cW+Pd58+bhu+++w7Jly3Dy5Ek4ODggMDAQqamphR5zw4YNGDduHIKCghASEgJfX18EBgbi4cOHunoYOqOL5wcA6tatm+f1dOzYMV2Erxcve46Sk5PRsmVLzJ07t8jHPHHiBPr164ehQ4fi7Nmz6NmzJ3r27IkLFy5oK2y90sVzBIjZY3O/jm7evKmNcPXuRc9PSkoKQkJCMGXKFISEhGDz5s0IDw9H9+7dX3hMrX0OSVQiKSkpkoWFhbRjx4482xs1aiR98cUXBd7ms88+k+rWrZtnW58+faTAwECdxSknTZ6jgwcPSgCkJ0+e6CFCeQGQtmzZor6enZ0teXh4SPPnz1dvi4uLk2xsbKTff/+90OM0bdpUGjlypPp6VlaW5OXlJc2ePVsnceuLtp6foKAgydfXV4eRyif/c5RbZGSkBEA6e/bsS4/z9ttvS127ds2zzd/fXxoxYoQWopSXtp6j1atXS87OzlqNzRC86PlROXXqlARAunnzZqH7aOtziJWTEsrMzERWVtZzZT07O7tCf5UFBwcjICAgz7bAwEAEBwfrLE45afIcqfj5+cHT0xMdOnTA8ePHdRmmwYiMjER0dHSe14izszP8/f0LfY2kp6fjzJkzeW6jVCoREBBgcq8rTZ4flWvXrsHLywtVqlTBu+++i1u3buk6XKNibp9NmkpKSkKlSpXg7e2NHj164OLFi3KHpBfx8fFQKBSFrk+nzc8hJiclVKpUKTRv3hwzZ87EvXv3kJWVhV9//RXBwcG4f/9+gbeJjo5WT8+v4u7ujoSEBDx9+lQfYeuVJs+Rp6cnli1bhk2bNmHTpk3w9vZG27ZtERISoufo9U/Vr6ag10hhfW4ePXqErKysYt3GWGny/ACAv78/1qxZg127duGHH35AZGQkWrVqhcTERJ3Ga0wK+2wytddQSdSsWROrVq3Ctm3b8OuvvyI7OxstWrTAnTt35A5Np1JTUzFhwgT069ev0AURtfk5ZBDT1xu7tWvXYsiQIShfvjwsLCzQqFEj9OvXD2fOnJE7NINR3OeoZs2aqFmzpvp6ixYtcOPGDXz99ddYu3atvsImE9K5c2f15QYNGsDf3x+VKlXCH3/8gaFDh8oYGRmT5s2bo3nz5urrLVq0QO3atfHjjz9i5syZMkamOxkZGXj77bchSRJ++OEHvdwnKydaULVqVRw+fBhJSUm4ffs2Tp06hYyMDFSpUqXA/T08PPDgwYM82x48eAAnJyfY2dnpI2S9K+5zVJCmTZvi+vXrOozSMHh4eABAga8R1d/yc3Nzg4WFRbFuY6w0eX4K4uLigho1apjFa6qoCvtsMrXXkDZZWVmhYcOGJvs6UiUmN2/exN69ewutmgDa/RxicqJFDg4O8PT0xJMnT7B792706NGjwP2aN2+O/fv359m2d+/ePNm4qSrqc1SQ0NBQeHp66jA6w1C5cmV4eHjkeY0kJCTg5MmThb5GrK2t0bhx4zy3yc7Oxv79+03udaXJ81OQpKQk3LhxwyxeU0Vlzp9NmsrKykJYWJhJvo5Uicm1a9ewb98+lClT5oX7a/VzqFjdZ6lAu3btkv755x8pIiJC2rNnj+Tr6yv5+/tL6enpkiRJ0sSJE6X33ntPvX9ERIRkb28vffrpp9Lly5elpUuXShYWFtKuXbvkegg6V9zn6Ouvv5a2bt0qXbt2TQoLC5PGjh0rKZVKad++fXI9BK1KTEyUzp49K509e1YCIC1atEg6e/asuhf8nDlzJBcXF2nbtm3S+fPnpR49ekiVK1eWnj59qj7Ga6+9Ji1evFh9ff369ZKNjY20Zs0a6dKlS9L7778vubi4SNHR0Xp/fCWli+fnk08+kQ4dOiRFRkZKx48flwICAiQ3Nzfp4cOHen982vCy5yg2NlY6e/astHPnTgmAtH79euns2bPS/fv31cd47733pIkTJ6qvHz9+XLK0tJQWLFggXb58WQoKCpKsrKyksLAwvT8+bdDFczR9+nRp9+7d0o0bN6QzZ85Iffv2lWxtbaWLFy/q/fGV1Iuen/T0dKl79+5ShQoVpNDQUOn+/fvqU1pamvoYuvocYnKiBRs2bJCqVKkiWVtbSx4eHtLIkSOluLg49d8HDhwotWnTJs9tDh48KPn5+UnW1tZSlSpVpNWrV+s3aD0r7nM0d+5cqWrVqpKtra3k6uoqtW3bVjpw4IAMkeuGaqh0/tPAgQMlSRLDZadMmSK5u7tLNjY2Uvv27aXw8PA8x6hUqZIUFBSUZ9vixYulihUrStbW1lLTpk2lf//9V0+PSLt08fz06dNH8vT0lKytraXy5ctLffr0ka5fv67HR6VdL3uOVq9eXeDfcz8nbdq0Ue+v8scff0g1atSQrK2tpbp160o7d+7U34PSMl08Rx999JH6Pebu7i516dJFCgkJ0e8D05IXPT+q4dUFnQ4ePKg+hq4+hxSSJEnFq7UQERER6Q77nBAREZFBYXJCREREBoXJCRERERkUJidERERkUJicEBERkUFhckJEREQGhckJERERGRQmJ0RERGRQmJwQERGRQWFyQkQaa9u2LT766CO5w1DTNJ7Y2FiUK1cOUVFRWo8pt759+2LhwoU6vQ8iU8DkhIiMjraToi+//BI9evSAj4+P1o5ZkMmTJ+PLL79EfHy8Tu+HyNgxOSEis5aSkoKVK1di6NChOr+vevXqoWrVqvj11191fl9ExozJCZGR2LFjB1xcXJCVlQUACA0NhUKhwMSJE9X7DBs2DP379wcA7Nq1Cy1btoSLiwvKlCmD119/HTdu3AAALF++HF5eXsjOzs5zHz169MCQIUPU17OzszF79mxUrlwZdnZ28PX1xcaNGwuN8WX7t23bFmPGjMFnn30GV1dXeHh4YNq0aXmOkZiYiHfffRcODg7w9PTE119/nadSMmjQIBw+fBjffvstFAoFFApFnuaY7OzsFx4/v7///hs2NjZo1qyZetuxY8dgZWWF1NRU9baoqCgoFArcvHkzz/VNmzahdevWsLOzwyuvvIJbt27h6NGjaNasGezt7dG+fXvExcWpj9OtWzesX7/+hTERmb0SrbdMRHoTFxcnKZVK6fTp05IkSdI333wjubm5Sf7+/up9qlWrJq1YsUKSJEnauHGjtGnTJunatWvS2bNnpW7dukn169eXsrKypMePH0vW1tbSvn371LeNjY19btusWbOkWrVqSbt27ZJu3LghrV69WrKxsZEOHTokSZJYTn7s2LHF2t/JyUmaNm2adPXqVennn3+WFAqFtGfPHvUxhg0bJlWqVEnat2+fFBYWJr3xxhtSqVKl1PcTFxcnNW/eXBo+fLh0//596f79+1JmZmaRj5/fmDFjpE6dOuXZtnjxYql+/fp5tm3evFkqXbq0+vrWrVslAFL79u2lo0ePSiEhIZK3t7fUqlUrqUuXLtLp06elf//9VypTpoy0aNEi9e3++ecfydraWkpNTS00JiJzx+SEyIg0atRImj9/viRJktSzZ0/pyy+/lKytraXExETpzp07EgDp6tWrBd42JiZGAiCFhYVJkiRJPXr0kIYMGaL++48//ih5eXlJWVlZkiRJUmpqqmRvby+dOHEiz3GGDh0q9evXT5KkvMlJUfdv2bJlnr+/8sor0oQJEyRJkqSEhATJyspK+vPPP9V/j4uLk+zt7fMkQfmTotzbX3T8guR/HiRJJEgDBgzIs23q1KlS27Zt1denTZsmubq6So8ePVJv69+/v+Tj4yMlJyert3Xq1En67LPP1NfPnTsnAZCioqIKjYnI3LFZh8iItGnTBocOHYIkSTh69Ch69eqF2rVr49ixYzh8+DC8vLxQvXp1AMC1a9fQr18/VKlSBU5OTurOnrdu3QIAvPvuu9i0aRPS0tIAAOvWrUPfvn2hVIqPhevXryMlJQUdOnSAo6Oj+vTLL7+om4dyK+r+DRo0yHM7T09PPHz4EAAQERGBjIwMNG3aVP13Z2dn1KxZs8jP0YuOX5CnT5/C1tY2z7bQ0FD4+fnl2Xb27Nk8286dO4c33ngDZcqUUW+7desW+vTpA3t7+zzbKleurL5uZ2cHQPR1IaKCWcodABEVXdu2bbFq1SqcO3cOVlZWqFWrFtq2bYtDhw7hyZMnaNOmjXrfbt26oVKlSlixYoW6f0m9evWQnp6u/rskSdi5cydeeeUVHD16FF9//bX69klJSQCAnTt3onz58nnisLGxeS62ou5vZWWV528KheK5vi8lUdzju7m54cmTJ+rrWVlZuHDhAho2bJhnv5CQELz55pvq66GhoZg0aVKefc6dO4ePP/5YfT01NRXh4eHw9fVVb3v8+DEAoGzZssV4VETmhckJkRFp1aoVEhMT8fXXX6sTkbZt22LOnDl48uQJPvnkEwBi3o7w8HCsWLECrVq1AiA6eeZma2uLXr16Yd26dbh+/Tpq1qyJRo0aqf9ep04d2NjY4NatW3mSnsIUd/+CVKlSBVZWVjh9+jQqVqwIAIiPj8fVq1fRunVr9X7W1tbqjsEl1bBhwzyjZ8LDw5GamgovLy/1tuDgYNy9e1ddOUlISEBUVFSeBCYyMhLx8fF5toWFhUGSJNSvX1+97cKFC6hQoQLc3Ny0Ej+RKWJyQmRESpcujQYNGmDdunVYsmQJAKB169Z4++23kZGRoU4KSpcujTJlymD58uXw9PTErVu38ozqUXn33Xfx+uuv4+LFi+pRPiqlSpXC+PHj8fHHHyM7OxstW7ZEfHw8jh8/DicnJwwcOLBE+xekVKlSGDhwID799FO4urqiXLlyCAoKglKphEKhUO/n4+ODkydPIioqCo6OjnB1dVU3RxVXYGAgJk2ahCdPnqB06dIIDQ0FACxevBhjxozB9evXMWbMGABQV53OnTsHCwsL1KtXT32c0NBQuLq6olKlSnm2Va1aFY6OjuptR48eRceOHTWKlchcsM8JkZFp06YNsrKy0LZtWwCAq6sr6tSpAw8PD3XfDKVSifXr1+PMmTOoV68ePv74Y8yfP/+5Y7322mtwdXVFeHg43nnnnef+PnPmTEyZMgWzZ89G7dq10alTJ+zcuTNPH4qS7F+QRYsWoXnz5nj99dcREBCAV199FbVr187TL2T8+PGwsLBAnTp1ULZsWXU/Gk3Ur18fjRo1wh9//AFAJBSBgYGIiIhA/fr18cUXX2D69OlwcnLCd999B0AkJzVr1swT07lz555rCjp37lyeJp3U1FRs3boVw4cP1zheInOgkCRJkjsIIqLCJCcno3z58li4cKHOJkrbuXMnPv30U1y4cAGdO3fGK6+8glmzZmn9fn744Qds2bIFe/bs0fqxiUwJm3WIyKCcPXsWV65cQdOmTREfH48ZM2YAEBPE6UrXrl1x7do13L17F+fOncszEZ02WVlZYfHixTo5NpEpYeWEiAzK2bNnMWzYMISHh8Pa2hqNGzfGokWL8nQq1ZXo6Gh4enri4sWLqFOnjs7vj4gKxuSEiIiIDAo7xBIREZFBYXJCREREBoXJCRERERkUJidERERkUJicEBERkUFhckJEREQGhckJERERGRQmJ0RERGRQmJwQERGRQWFyQkRERAaFyQkREREZlP8D+WmhFlzfDAEAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot transmission, compare to paper results, look similar\n", "fig, ax = plt.subplots(1, 1, figsize=(6, 4.5))\n", "plt.plot(wavelengths, reflection, \"k\", label=\"R\")\n", "plt.plot(wavelengths, transmission, \"r--\", label=\"T\")\n", "plt.xlabel(\"wavelength ($\\mu m$)\")\n", "plt.ylabel(\"Magnitude\")\n", "plt.xlim([8.8, 12])\n", "plt.ylim([0.0, 1.0])\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "Ge_HighQ.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.9" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "17eb235aecbd477eaf817b4ec7e37021": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_217e256a120b4863ae9778a9ddb8fa86", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/21.9 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/21.9 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/21.9 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/21.9 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "217e256a120b4863ae9778a9ddb8fa86": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "39511dbeda9c4d2b854d361f9e59b5be": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_97efca7a2c664eee8910a16505f02e78", "msg_id": "", "outputs": [ { "data": { "text/html": "
 simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/22.3 kB?-:--:--\n simulation.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/22.3 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/22.3 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;31m↑\u001b[0m \u001b[1;34msimulation.json\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/22.3 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "4d901fe20fbd4ea49998a9dac5dda40f": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9c18fba69d504558a5cecbc8c3d27f5e", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/63.2 kB?-:--:--\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0%0.0/63.2 kB?-:--:--
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/63.2 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m0.0%\u001b[0m • \u001b[32m0.0/63.2 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m-:--:--\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "5b3d62151eee41cd9b2cca19226f4f83": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "8691748e0f044043919ec7e4b6f3e340": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "97efca7a2c664eee8910a16505f02e78": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "9c18fba69d504558a5cecbc8c3d27f5e": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "cf3b9427750e4aad98aaa6c848a08b41": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_8691748e0f044043919ec7e4b6f3e340", "msg_id": "", "outputs": [ { "data": { "text/html": "
norm: status = success   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nactual: status = success ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nnorm: status = success   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00\nactual: status = success ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
\n", "text/plain": "\r\u001b[2K\u001b[1A\u001b[2Knorm: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nactual: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nnorm: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m\nactual: status = success \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100%\u001b[0m \u001b[36m0:00:00\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "e71f578a214c4b08b9e2ac9e91665296": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_5b3d62151eee41cd9b2cca19226f4f83", "msg_id": "", "outputs": [ { "data": { "text/html": "
 monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%61.1/61.1 kB?0:00:00\n monitor_data.hdf5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0%61.1/61.1 kB?0:00:00
\n", "text/plain": "\r\u001b[2K\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100.0%\u001b[0m • \u001b[32m61.1/61.1 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m0:00:00\u001b[0m\n\u001b[1;32m↓\u001b[0m \u001b[1;34mmonitor_data.hdf5\u001b[0m \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m100.0%\u001b[0m • \u001b[32m61.1/61.1 kB\u001b[0m • \u001b[31m?\u001b[0m • \u001b[36m0:00:00\u001b[0m" }, "metadata": {}, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }