diff --git a/optimization202/Modeling_Session_1/completed_nonlinear_regression_exercise.ipynb b/optimization202/Modeling_Session_1/completed_nonlinear_regression_exercise.ipynb
index 5b385ce..42fbf8b 100755
--- a/optimization202/Modeling_Session_1/completed_nonlinear_regression_exercise.ipynb
+++ b/optimization202/Modeling_Session_1/completed_nonlinear_regression_exercise.ipynb
@@ -117,15 +117,14 @@
"id": "f6ad2892-6047-4bb5-bfea-0c66e01cc80e",
"metadata": {},
"source": [
- "## Problem description\n",
- "### Michaelis Menton Enzyme Kinetics\n",
- "Michaelis-Menten kinetics describes how quickly a reaction happens when an enzyme—a type of molecule that speeds up processes in the body or other reactions—interacts with other molecules. Initially, as the amount of molecules $x$ increases, the reaction speed, $y$, increases. But at a certain point, adding more molecules doesn’t increase the speed much because the enzyme is already working as fast as it can.\n",
+ "### Michaelis-Menten Enzyme Kinetics\n",
+ "[Michaelis-Menten](https://en.wikipedia.org/wiki/Michaelis%E2%80%93Menten_kinetics) kinetics describes how quickly a reaction happens when an enzyme—a type of molecule that speeds up processes in the body or other reactions—interacts with other molecules. Initially, as the amount of molecules $x$ increases, the reaction speed, $y$, increases. But at a certain point, adding more molecules doesn’t increase the speed much because the enzyme is already working as fast as it can.\n",
"\n",
"![image.png](attachment:dfac2263-b4f3-4d9f-808d-c0d7b34ad8e6.png)\n",
"\n",
"Two key things come from this: the maximum speed the enzyme can reach $V_{max}$ and the concentration level at which it’s working at half that maximum speed $K_m$. These insights help us understand efficiency and limitations, which is valuable for making decisions in fields like drug development, where knowing an enzyme's limits can guide dosage or predict interactions.\n",
"\n",
- "In Michaelis Menten kinetics, we can model the speed of an enzymatic reaction can be with the following equations:\n",
+ "In Michaelis-Menten kinetics, we can model the speed of an enzymatic reaction can be with the following equations:\n",
"\n",
"$$\n",
"[\\text{Speed of reaction}] = \\frac{{\\bf V_{max}}\\cdot [\\text{Initial concentration}]}{K_m + [\\text{Initial concentration}]}\n",
@@ -137,7 +136,7 @@
"\n",
"where the regression parameters that we will find in this notebook are $V_{max}$ and $K_m$. We will be given data points $i$ for \n",
"- The independent variable $x$ which is the concentration. Each data point will be $x_i$.\n",
- "- The dependent variable $y(x)$ which is the speed of the reaction that we are trying to model. Each data point will be $y_i$.\n"
+ "- The dependent variable $y(x)$ which is the speed of the reaction that we are trying to model. Each data point will be $y_i$."
]
},
{
@@ -174,10 +173,30 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 1,
"id": "bf53b323-9e7b-40c7-a8d8-28723d77ae3a",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: gurobipy in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (12.0.0)\n",
+ "Requirement already satisfied: plotly in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (5.23.0)\n",
+ "Requirement already satisfied: tenacity>=6.2.0 in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (from plotly) (8.2.3)\n",
+ "Requirement already satisfied: packaging in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (from plotly) (23.2)\n",
+ "Requirement already satisfied: numpy in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (1.26.4)\n",
+ "Requirement already satisfied: pandas in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (2.2.2)\n",
+ "Requirement already satisfied: numpy>=1.23.2 in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (from pandas) (1.26.4)\n",
+ "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (from pandas) (2.8.2)\n",
+ "Requirement already satisfied: pytz>=2020.1 in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (from pandas) (2023.3.post1)\n",
+ "Requirement already satisfied: tzdata>=2022.7 in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (from pandas) (2023.3)\n",
+ "Requirement already satisfied: six>=1.5 in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\n",
+ "Requirement already satisfied: openpyxl in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (3.1.2)\n",
+ "Requirement already satisfied: et-xmlfile in /Users/yurchisin/opt/anaconda3/envs/gurobi_ml/lib/python3.11/site-packages (from openpyxl) (1.1.0)\n"
+ ]
+ }
+ ],
"source": [
"!pip install gurobipy\n",
"!pip install plotly\n",
@@ -238,10 +257,10 @@
"output_type": "stream",
"text": [
"Here are the x values:\n",
- "{np.float64(0.0): 0.05, np.float64(1.0): 0.1, np.float64(2.0): 0.25, np.float64(3.0): 0.5, np.float64(4.0): 1.0, np.float64(5.0): 2.5, np.float64(6.0): 5.0, np.float64(7.0): 8.0, np.float64(8.0): 20.0, np.float64(9.0): 30.0}\n",
+ "{0.0: 0.05, 1.0: 0.1, 2.0: 0.25, 3.0: 0.5, 4.0: 1.0, 5.0: 2.5, 6.0: 5.0, 7.0: 8.0, 8.0: 20.0, 9.0: 30.0}\n",
"\n",
"Here are the y values:\n",
- "{np.float64(0.0): 2.98, np.float64(1.0): 5.2, np.float64(2.0): 14.38, np.float64(3.0): 30.3, np.float64(4.0): 48.99, np.float64(5.0): 86.25, np.float64(6.0): 112.57, np.float64(7.0): 136.24, np.float64(8.0): 169.97, np.float64(9.0): 177.71}\n"
+ "{0.0: 2.98, 1.0: 5.2, 2.0: 14.38, 3.0: 30.3, 4.0: 48.99, 5.0: 86.25, 6.0: 112.57, 7.0: 136.24, 8.0: 169.97, 9.0: 177.71}\n"
]
}
],
@@ -277,35 +296,6 @@
"id": "0693fe8b-08ac-4bd2-af7f-dcbd531888e3",
"metadata": {},
"outputs": [
- {
- "data": {
- "text/html": [
- " \n",
- " "
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
{
"data": {
"application/vnd.plotly.v1+json": {
@@ -344,7 +334,6 @@
}
],
"layout": {
- "autosize": true,
"template": {
"data": {
"bar": [
@@ -1208,56 +1197,17 @@
"text": "Nonlinear regression example: Reaction Speed vs Concentration"
},
"xaxis": {
- "autorange": true,
- "range": [
- -1.8746865203761753,
- 31.924686520376177
- ],
"title": {
"text": "x"
- },
- "type": "linear"
+ }
},
"yaxis": {
- "autorange": true,
- "range": [
- -11.439466019417475,
- 192.1294660194175
- ],
"title": {
"text": "y"
- },
- "type": "linear"
+ }
}
}
- },
- "text/html": [
- "
"
- ]
+ }
},
"metadata": {},
"output_type": "display_data"
@@ -1320,7 +1270,15 @@
"execution_count": 5,
"id": "a4d15290-83c7-46c9-bd7d-de202a18a2cf",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Restricted license - for non-production use only - expires 2026-11-23\n"
+ ]
+ }
+ ],
"source": [
"# Declare and initialize model\n",
"model = gp.Model(\"Nonlinear regression\")"
@@ -1521,7 +1479,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 10,
"id": "e4b41f36-17ff-4748-95c5-d8d101e80231",
"metadata": {},
"outputs": [
@@ -1529,9 +1487,9 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "Gurobi Optimizer version 12.0.0 build v12.0.0rc1 (mac64[arm] - Darwin 23.6.0 23G93)\n",
+ "Gurobi Optimizer version 12.0.0 build v12.0.0rc1 (mac64[rosetta2] - Darwin 24.1.0 24B83)\n",
"\n",
- "CPU model: Apple M1 Pro\n",
+ "CPU model: Apple M1\n",
"Thread count: 8 physical cores, 8 logical processors, using up to 8 threads\n",
"\n",
"Optimize a model with 0 rows, 12 columns and 0 nonzeros\n",
@@ -1556,7 +1514,7 @@
"Variable types: 13 continuous, 0 integer (0 binary)\n",
"Found heuristic solution: objective 76.2644466\n",
"\n",
- "Root relaxation: objective 0.000000e+00, 5 iterations, 0.00 seconds (0.00 work units)\n",
+ "Root relaxation: objective 0.000000e+00, 5 iterations, 0.01 seconds (0.00 work units)\n",
"\n",
" Nodes | Current Node | Objective Bounds | Work\n",
" Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time\n",
@@ -1569,13 +1527,13 @@
"* 1917 51 26 76.2644456 76.22556 0.05% 2.2 0s\n",
"* 2134 4 26 76.2644455 76.25478 0.01% 2.2 0s\n",
"\n",
- "Explored 2299 nodes (4752 simplex iterations) in 0.06 seconds (0.01 work units)\n",
+ "Explored 2299 nodes (4747 simplex iterations) in 0.13 seconds (0.01 work units)\n",
"Thread count was 8 (of 8 available processors)\n",
"\n",
"Solution count 4: 76.2644 76.2644 76.2644 76.2644 \n",
"\n",
"Optimal solution found (tolerance 1.00e-04)\n",
- "Best objective 7.626444550832e+01, best bound 7.626444409353e+01, gap 0.0000%\n"
+ "Best objective 7.626444550834e+01, best bound 7.626444409354e+01, gap 0.0000%\n"
]
}
],
@@ -1601,10 +1559,33 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 11,
"id": "31f7a434-c49f-4ab1-a788-3dcae22bbd48",
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "An optimial solution was found with objective 76.26444550833548\n",
+ "\n",
+ " Variable X \n",
+ "-------------------------\n",
+ " Vmax 195.345 \n",
+ " Km 3.26518 \n",
+ " ymodel[0.0] 2.94622 \n",
+ " ymodel[1.0] 5.80489 \n",
+ " ymodel[2.0] 13.893 \n",
+ " ymodel[3.0] 25.941 \n",
+ " ymodel[4.0] 45.8 \n",
+ " ymodel[5.0] 84.709 \n",
+ " ymodel[6.0] 118.174 \n",
+ " ymodel[7.0] 138.725 \n",
+ " ymodel[8.0] 167.929 \n",
+ " ymodel[9.0] 176.171 \n"
+ ]
+ }
+ ],
"source": [
"status = model.status\n",
"if status == GRB.OPTIMAL:\n",
@@ -1628,7 +1609,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 12,
"id": "2c52078d-528a-4717-bef7-7fc675cd92ab",
"metadata": {},
"outputs": [
@@ -1984,111 +1965,110 @@
30
],
"y": [
- 2.9462211863341503,
- 19.035291772484577,
- 32.64116811796802,
- 44.29755040167961,
- 54.3954226370028,
- 63.22776782643117,
- 71.01846255192636,
- 77.94151770607249,
- 84.13422985964252,
- 89.7063789887091,
- 94.74679305939918,
- 99.32811887683283,
- 103.51034610783087,
- 107.34344876698542,
- 110.86939168855966,
- 114.12367322377509,
- 117.13652458703875,
- 119.93385181669865,
- 122.5379825671759,
- 124.96826333510556,
- 127.24154093787023,
- 129.37255359730096,
- 131.37425082742857,
- 133.2580568022455,
- 135.03408852093938,
- 136.71133757015443,
- 138.29782237808809,
- 139.80071640209988,
- 141.22645657407392,
- 142.58083546202855,
- 143.86907993095184,
- 145.09591855522433,
- 146.26563961554123,
+ 2.9462211863341357,
+ 19.03529177248449,
+ 32.641168117967894,
+ 44.297550401679445,
+ 54.39542263700262,
+ 63.227767826430984,
+ 71.01846255192618,
+ 77.9415177060723,
+ 84.13422985964233,
+ 89.70637898870892,
+ 94.74679305939901,
+ 99.32811887683263,
+ 103.51034610783071,
+ 107.34344876698525,
+ 110.8693916885595,
+ 114.12367322377494,
+ 117.13652458703861,
+ 119.9338518166985,
+ 122.5379825671758,
+ 124.96826333510546,
+ 127.2415409378701,
+ 129.37255359730085,
+ 131.37425082742845,
+ 133.25805680224545,
+ 135.03408852093932,
+ 136.71133757015434,
+ 138.29782237808803,
+ 139.80071640209982,
+ 141.22645657407386,
+ 142.58083546202852,
+ 143.8690799309518,
+ 145.0959185552243,
+ 146.2656396155412,
147.38214117967294,
148.44897449960717,
- 149.46938174306644,
+ 149.46938174306646,
150.4463289039657,
- 151.38253459549117,
- 152.28049531449815,
- 153.14250767165456,
- 153.9706880041365,
- 154.76698972350732,
- 155.53321869814204,
- 156.2710469251744,
- 156.98202470982937,
- 157.6675915388559,
- 158.32908580855127,
- 158.9677535457154,
- 159.58475624110196,
- 160.18117789898056,
- 160.75803139282573,
- 161.31626420552595,
- 161.85676362254463,
- 162.38036143790532,
- 162.88783822549968,
- 163.37992722184998,
- 163.85731786094507,
- 164.320658996988,
- 164.77056184673555,
- 165.2076026794874,
- 165.63232527961821,
- 166.0452432037808,
- 166.4468418524794,
- 166.83758037358294,
- 167.21789341347295,
- 167.58819272986707,
- 167.94886867889986,
- 168.30029158775187,
- 168.6428130229734,
- 168.97676696363436,
- 169.30247088752958,
- 169.62022677786513,
- 169.9303220571359,
- 170.2330304542642,
- 170.5286128104988,
- 170.81731782906135,
- 171.09938277306787,
- 171.37503411584265,
- 171.6444881473699,
- 171.90795154029672,
- 172.1656218786001,
- 172.41768815175996,
- 172.6643312170359,
- 172.90572423222383,
- 173.14203306106836,
- 173.3734166533264,
- 173.60002740131105,
- 173.82201147459753,
- 174.03950913443484,
- 174.25265502928525,
- 174.46157847279963,
- 174.66640370543453,
- 174.86725014082336,
- 175.06423259792808,
- 175.25746151991999,
- 175.44704318066596,
- 175.6330798796315,
- 175.8156701259521,
- 175.99490881236747,
- 176.17088737966606
+ 151.38253459549114,
+ 152.28049531449818,
+ 153.14250767165458,
+ 153.97068800413652,
+ 154.76698972350735,
+ 155.533218698142,
+ 156.27104692517443,
+ 156.98202470982943,
+ 157.66759153885596,
+ 158.32908580855135,
+ 158.96775354571545,
+ 159.584756241102,
+ 160.18117789898062,
+ 160.75803139282576,
+ 161.31626420552604,
+ 161.85676362254472,
+ 162.38036143790538,
+ 162.88783822549976,
+ 163.37992722185004,
+ 163.85731786094516,
+ 164.32065899698804,
+ 164.77056184673566,
+ 165.20760267948748,
+ 165.63232527961827,
+ 166.04524320378093,
+ 166.4468418524795,
+ 166.83758037358302,
+ 167.2178934134731,
+ 167.5881927298672,
+ 167.94886867889997,
+ 168.30029158775199,
+ 168.64281302297348,
+ 168.9767669636345,
+ 169.30247088752967,
+ 169.62022677786527,
+ 169.93032205713604,
+ 170.2330304542643,
+ 170.52861281049894,
+ 170.81731782906144,
+ 171.099382773068,
+ 171.3750341158428,
+ 171.64448814737003,
+ 171.90795154029686,
+ 172.16562187860026,
+ 172.4176881517601,
+ 172.66433121703608,
+ 172.90572423222397,
+ 173.1420330610685,
+ 173.3734166533265,
+ 173.6000274013112,
+ 173.82201147459767,
+ 174.03950913443495,
+ 174.2526550292854,
+ 174.4615784727998,
+ 174.66640370543467,
+ 174.86725014082353,
+ 175.06423259792822,
+ 175.25746151992016,
+ 175.4470431806661,
+ 175.63307987963168,
+ 175.81567012595227,
+ 175.99490881236767,
+ 176.1708873796662
]
}
],
"layout": {
- "autosize": true,
"template": {
"data": {
"bar": [
@@ -2952,57 +2932,17 @@
"text": "Nonlinear regression example: Reaction Speed vs Concentration"
},
"xaxis": {
- "autorange": true,
- "range": [
- -1.8435808945334071,
- 31.893580894533407
- ],
"title": {
"text": "x"
- },
- "type": "linear"
+ }
},
"yaxis": {
- "autorange": true,
- "range": [
- -11.439466019417475,
- 192.1294660194175
- ],
"title": {
"text": "y"
- },
- "type": "linear"
+ }
}
}
- },
- "image/png": "iVBORw0KGgoAAAANSUhEUgAABE8AAAFoCAYAAACmM9U+AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAET6ADAAQAAAABAAABaAAAAACxlhEDAABAAElEQVR4AeydB5wURfbHH7vkjGQQBRUDJgRzPnM6FXOO5987s2c605nz6Xnqme/EnHP2zDmjIiYMiIDkHBaWZf/1rd0aemYn9LBpdvf3+Aydqqurv909O/Xr9141K3dmMhEQAREQAREQAREQAREQAREQAREQAREQgbQEitKu1UoREAEREAEREAEREAEREAEREAEREAEREAFPQOKJbgQREAEREAEREAEREAEREAEREAEREAERyEJA4kkWONokAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhJPdA+IgAiIgAiIgAiIgAiIgAiIgAiIgAiIQBYCEk+ywNEmERABERABERABERABERABERABERABEZB4ontABERABERABERABERABERABERABERABLIQkHiSBY42iYAIiIAIiIAIiIAIiIAIiIAIiIAIiIDEE90DIiACIiACIiACIiACIiACIiACIiACIpCFgMSTLHC0SQREQAREQAREQAREQAREQAREQAREQAQknugeEAEREAEREAEREAEREAEREAEREAEREIEsBCSeZIGjTSIgAiIgAiIgAiIgAiIgAiIgAiIgAiIg8UT3gAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhkISDxJAscbRIBERABERABERABERABERABERABERABiSe6B0RABERABERABERABERABERABERABEQgCwGJJ1ngaJMIiIAIiIAIiIAIiIAIiIAIiIAIiIAISDzRPSACIiACIiACIiACIiACIiACIiACIiACWQhIPMkCR5tEQAREQAREQAREQAREQAREQAREQAREQOKJ7gEREAEREAEREAEREAEREAEREAEREAERyEJA4kkWONokAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhJPdA+IgAiIgAiIgAiIgAiIgAiIgAiIgAiIQBYCEk+ywNEmERABERABERABERABERABERABERABEZB4ontABERABERABERABERABERABERABERABLIQkHiSBY42iYAIiIAIiIAIiIAIiIAIiIAIiIAIiIDEE90DIiACIiACIiACIiACIiACIiACIiACIpCFgMSTLHC0SQREQAREQAREQAREQAREQAREQAREQAQknugeEAEREAEREAEREAEREAEREAEREAEREIEsBCSeZIGjTSIgAiIgAiIgAiIgAiIgAiIgAiIgAiIg8UT3gAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhkISDxJAscbRIBERABERABERABERABERABERABERABiSe6B0RABERABERABERABERABERABERABEQgCwGJJ1ngaJMIiIAIiIAIiIAIiIAIiIAIiIAIiIAISDzRPSACIiACIiACIiACIiACIiACIiACIiACWQhIPMkCR5tEQAREQAREQAREQAREQAREQAREQAREQOKJ7gEREAEREAEREAEREAEREAEREAEREAERyEJA4kkWONokAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhJP6uAeKC0ttRtvvNGee+65xNHKy8tt9uzZNm/evMQ6zTQcArp+tX+t0j03tX/UhnuEQronFyxYYD/99JP9+uuvNn/+/AYBlXbyPf3KK68UZHu5vuPGjbNffvnF4CureQKF9AzV/NmpRhEQAREQAREQgeoSaPTiyd13322rrrqq/1x++eVVeF199dV+23fffVdlW02toBN4ww032JNPPpmokk7F0KFD7cADD0ys00zDIaDrV/vXKt1zU9tHjX5f8L2xxhpr2AYbbGDHHnusffrpp7V9+Jz1l5WV2UUXXWT33XdflbKFcE9+/PHHtv/++9s666xjO+20k2233Xa27rrr2qabbmrnn3++TZkypUq7C2XFnDlz/Pf0Cy+8UChN8u346quv7IADDrC1117b/vCHP9gOO+zg+e6666723//+12h3Y7PXXnvN3+eIRTVthf4M1fT5qj4REAEREAEREIGaI9DoxZMlS5YYb5P43H///TZ58uQkemE707q0Nm3a2CabbGKDBw+uy8PqWDVEQNevhkAWWDXh+4Dncp999jE6qL1797bXX3/dDj/8cPvwww/rtcWLFy/2wsmrr75apR31fU/+/vvvdswxx9iIESP899pxxx3nRadtttnGe9g99NBD3muiSsO1IiMBxLx9993XPvvsM9tqq63stNNOsxNOOMG23XZbGzNmjF1xxRWGYNXYjHsIgTD173VNnGch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DS8aQhEknESpaF4EREAEREAEREAEREAEREAERKA+CEg8qQ/qOmYSAfJcMEoN4SK4aRPKwUgWPXv2TCqnhcZBgISw/V0i1EIOhWscpAv7LHQfFPb1UetEQAREQAREQAREQASSCShsJ5mHlkRABERABERABERABERABERABERABEQgiUBR0pIWREAEREAEREAEREAEREAEREAEREAEREAEkghIPEnCoQUREAEREAEREAEREAEREAEREAEREAERSCYg8SSZh5ZEQAREQAREQAREQAREQAREQAREQAREIImAxJMkHFoQAREQAREQAREQAREQAREQAREQAREQgWQCEk+SeWhJBERABERABERABERABERABERABERABJIISDxJwqEFERABERABERABERABERABERABERABEUgmIPEkmYeWREAEREAEREAEREAEREAEREAEREAERCCJgMSTJBxaEAEREAEREAEREAEREAEREAEREAEREIFkAhJPknloSQREQAREQAREQAREQAREQAREQAREQASSCEg8ScKhBREQAREQAREQAREQAREQAREQAREQARFIJiDxJJmHlkRABERABERABERABERABERABERABEQgiYDEkyQcWhABERABERABERABERABERABERABERCBZAIST5J5aEkEREAEREAEREAEREAEREAEREAEREAEkghIPEnCoQUREAEREAEREAEREAEREAEREAEREAERSCYg8SSZh5ZEQAREQAREQAREQAREQAREQAREQAREIImAxJMkHFoQAREQAREQAREQAREQAREQAREQAREQgWQCEk+SeWhJBERABERABERABERABERABERABERABJIISDxJwqEFERABERABERABERABERABERABERABEUgmIPEkmYeWREAEREAEREAEREAEREAEREAEREAERCCJgMSTJBxaEAEREAEREAEREAEREAEREAEREAEREIFkAhJPknloSQREQAREQAREQAREQAREQAREQAREQASSCEg8ScKhBREQAREQAREQAREQAREQAREQAREQARFIJiDxJJmHlkRABERABERABERABERABERABERABEQgiYDEkyQcWhABERABERABERABERABERABERABERCBZAIST5J5aEkEREAEREAEREAEREAEREAEREAEREAEkghIPEnCoQUREAEREAEREAEREAEREAEREAEREAERSCYg8SSZh5ZEQAREQAREQAREQAREQAREQAREQAREIImAxJMkHFoQAREQAREQAREQAREQAREQAREQAREQgWQCEk+SeWhJBERABERABERABERABERABERABERABJIISDxJwqEFERABERABERABERABERABERABERABEUgmIPEkmYeWREAEREAEREAEREAEREAEREAEREAERCCJgMSTJBxaEAEREAEREAEREAEREAEREAEREAEREIFkAhJPknloSQREQAREQAREQAREQAREQAREQAREQASSCEg8ScKhBREQAREQAREQAREQAREQAREQAREQARFIJiDxJJmHlkRABERABERABERABERABERABERABEQgiYDEkyQcWhABERABERABERABERABERABERABERCBZAIST5J5aEkEREAEREAEREAEREAEREAEREAEREAEkghIPEnCoQUREAEREAEREAEREAEREAEREAEREAERSCYg8SSZh5ZEQAREQAREQAREQAREQAREQAREQAREIImAxJMkHFoQAREQAREQAREQAREQAREQAREQAREQgWQCEk+SeWhJBERABERABERABERABERABERABERABJIISDxJwqEFERABERABERABERABERABERABERABEUgmIPEkmYeWREAEREAEREAEREAEREAEREAEREAERCCJgMSTJBxaEAEREAEREAEREAEREAEREAEREAEREIFkAhJPknloSQREQAREQAREQAREQAREQAREQAREQASSCEg8ScKR38LAgQPz20GlRUAEREAEREAEREAEREAEREAEREAEGhwBiScN7pKpwSIgAiIgAiIgAiIgAiIgAiIgAiIgAnVJQOJJXdLWsURABERABERABERABERABERABERABBocAYknDe6SqcEiIAIiIAIiIAIiIAIiIAIiIAIiIAJ1SUDiSV3S1rFEQAREQAREQAREQAREQAREQAREQAQaHAGJJw3ukqnBIiACIiACIiACIiACIiACIiACIiACdUlA4kld0taxREAEREAEREAEREAEREAEREAEREAEGhwBiScN7pKpwSIgAiIgAiIgAiIgAiIgAiIgAiIgAnVJQOJJXdLWsURABERABERABERABERABERABERABBocAYknDe6SqcEiIAIiIAIiIAIiUL8E5i1cbJ+PnWETZ5XUb0N0dBEQAREQARGoIwLN6+g4OowIiIAIiIAIiIAIiEAjIPDi17/bGY9+ZXOdgIIdsWl/u3D3NRvBmTXOUygpKbFmzZpZq1atcp5gPmVzVpajwFtvvWV9+vSxgQMH5iipzSIgAiJQGATkeVIY10GtEAEREAEREAEREIGCJzB17kI75aEvEsIJDR7+/hh7+ovxBd/22mjg/EWL7eFPfrNb3vzJvh4/q0YOMWvWLC8oICqk+9xxxx15Hef444+3008/PdY++ZSNVWGWQjfddJO98cYbWUpUbPr666/tpJNOyllOBURABESgtgnI86S2Cat+ERABERABERABEWgkBD4dM8MWLl5S5Wze+3Gq7TG4b5X1jXkFQtJeN79vY6fP96d51UtmF/xxkB252YBqnXaHDh3shRdeSNQxbNgwO/nkk23rrbf267p165bYFmfm3HPPtaKieO9L8ykb59g1UWbKlCn29ttv10RVqkMEREAEqkVA4km18GlnERABERABERABESgcAqVLSm1R2SIrWVzipwvLFhof1kWnYX3qulAu3Xa2TZ8/z9oOmOnCQEpt8dzVbeHk3fzJd22fOySkcCjVTEv+/caPCeEk1HjFC9/ZsPX6Wue2LcOqvKcIHdFQluLiYuvdu3di3TXXXONDcFhP6MtOO+1kbdq0sdtuu82mTZtmbdu2tR133NHOP/98a9GihT355JPWunVrw6vkww8/tOuuu8423HBDv75du3Z2zDHH2L777uvbmU/Z+fPn2xVXXOGFniVLltigQYOsZ8+evv50J/3zzz/7Nn3xxRfWq1cvmzlzZqLYgw8+mLb91HvRRRcZx/rjH//oy1977bX22WefpS3P+cpEQAREoLYISDypLbKqVwREQAREQAREoMkRWFK+JCFUBAEiCBJhGtZnFS4WZxY9Fi3JLI6UW3mtMy9uXXGIZgsrwlQ6tWlhh2y8Yq0ft9AO8P3EOVWatKhsiY2ZNt8GV0M8qVJpyorx48fb888/b5tttpn3RllxxRUNkeGUU07xAsvEiRPtzDPPtDXWWMMOPPBAmzBhghdXqGb27Nk2YsQIL3JcfPHF9uWXX9oll1xiu+++uxdk8il79dVX26uvvuq9YtZee227/fbb7ZdffklpbcViaWmpF2k6derkxRVEjgsuuCBRFm+adO3ff//9bZ999rFbbrnF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SDzJj5dKi4AIiEC1CDCUbhBHmI6bO84vh3nyjuQyBJHubbsv9RJJ4xmCKLJcm+VMo8fkolkD28tcQlyEDfJkBFGjJGXZr08VP9Is10BzfBUIDQwji+iAqNGSj+tkMZ8INWE+CBnpxI9c250QolCTmrpiqkcEchK46aabbPvtt/fiydNPP21/+9vf7IcffojV4QyVX3rppXb33XfbZZddZvvtt19YbWeccYYhJlx//fW26667WtxyiQpSZs4//3zfGd5jjz38llAfC3TMBgwYYH/9619t2223Tdmzdhbvuusua968uR166KGJA5x11lmeRXXFEzrF1LXBBht48aRNmzb25z//2Z544gl/rRIHzDHz3//+12688Ub78MMPrVUrF85XabNmzbJNNtnE/vWvf/nrH9YX0hTB6KSTTrJvvvkmqVmvvfaaP6fff//dEFeGDh1q1113nRdSQkH4cc9dcsklWe+H0aNH2xFHHGGTJ0/2u6666qp2/PHH2y677BKqyjndZpttfB2HHXaYL4sQc+CBB9oKK6xgt99+u3M4rHmPQ86dY4wfP94fM9yH55xzTtb2xuUSKkl95hAuZ86caW+++aaFexyxYcstt/Trv//+e3++H3/8sf3nP/+x999/3wuy1Dd48GC79tprPZfosxuOxZTvox133DG6Ktb8qFGjPI9jjz3WXz922nnnne3HH3+ssj/PLeeRatOnT7ezzz7bPv30U38OvXv39s/gZptt5oWpr776yj/bPIOIcjVpEk9qkqbqEgERaPIEFpYttN/n/p7wGgkeJEEwIZQmm7Uubm292/W2vh36Wp/2fWz59stbz7Y9rUfbHhXTdj1MOUSyEcxjGyEraUUNPD5SxY80QkcQSghxqSlD3CAXhv90jMyzjmUngCS2h3WhfOVy607y0qip66F6RKBACWy99db2yCOP5CWcRE+FjuI+++zjOx6/u87diy++6DcTGhq1uOWi+7z00kv25Zdf2iuvvJLUcVlvvfXsH//4h82dO9eGDx/uO07vvvtuomMXraOm5+nU19XbdDpwiDTnnXeePfTQQ7GvESLAlVde6Tu70U4pPPFkodNbaIb4wH00bty4KnzxDjn11FMNoeK0007z133PPff0ndoTTzzRnwrbuU8QVnLZEpc0HK7UwbVEhLniiitshx128MJYrv3Zzv0d7nHuwz/96U/WtWtXLwTUhnDCMcvKynyb4UQn/7HHHvP3xl577WWrr746RapYPlzYOd0zx3niTcKzdvrpp/tjcGwElWDz5s2zY445xrbYYgsvnnbv3t2+++47Q8jj2iIqYYgpl19+edjNT/GCy9fwjkE0waMmXAfq4HsGD65gY8eO9QJkly5dwqqk6T//+U9/z/H9gdCIGEz7nnvuOf+8IUzttttu/l476qijkvat7kKjE0/ycW+KwmO/iRMn+pu6phWq6HE0LwIi0LAJlLrhSyfOm5jwGAmeI0EkIf9INsMTJIgjfdv3tfBBKGGeEBpZFgI+tCXi4ZFW/AhCRygXlkMYTOVyTSUgLXJvNfDqyCpqVAobSeXSiCO18NYrC01tEgERiBIYcb/ZrLHRNXUzP/gQs879qhzr559/Nt4mf/HFFz5EIdrp+emnn4wOxIMPPuj3w8MDbwfeMvNGmU54po4Zb9+pkw4XHXY6V3RA8R6IWtxy0X2Yv/nmm/3b/U6dnJAbMQSA0Bk7+eST7cknnzTOMbwVjxT1s9dcc40PI5gyZYrxdnyVVVaxiy++2Lf3jTfe8F4ddDI32mgjX/7XX3+1Cy+80EaMGGGDBg3ynjV0tF9//XX/odDIkSP98XijjXHOvFmnD/DHP/7Re+AQeoM9/PDDvlOHp8M666zjPSNWWmklvw3PnxtuuMHvhxdNqv3lL3+xjTfe2HuR4DWC4YWBZw98+vWrer0JQ2GfZ599NumNPsuEBNFJxCsFj4D111/f80NEQJjAS+Hee+/14SyHH364FwU4JvfHbbfd5jvCnBeiDPcU++EpghcE9TVzXoR4BPA2H8Z0luMYndt77rnHPvroI/v73/+etAsdd0QRBAPqJ1RlzTXXtDFjxiTK0cnFAwnPg1y22mqrGZ9giA8IiHgsZLrXQ9nUKW3jGiHI0HHn3sTyvedS6023vPzyy9spp5yS2MQyPAhjymT5cKGOTM/cvvvua/fff78XLLj+iCJ4nMENwxtm/vz5XpRaeeWV/boNN9zQ+EQNbyrCBatjeL0gnPCdwzMatdTnAa8WPE64X9IZIgyiF9cNljwPCEMIdoSO8TnuuOO8qCLxJB3BynWZ3JtwQ+KLJNX4A9O3b19/A/FFwQPOFxNuY3zZykRABJoeAfKJTJo/ycbPWZpzBGEkeI6Qd8S9t8gIpnmz5tarXS8vhHjPkQ7Lew+SIJJ0b9Pdf9FnrKCpbCAnx4IZZvOc2DR/mvtUTllmPZ8S93ZkgfswJY9H8PSoKUYkvc3o4eHEjtbuh01C7AhCRxBJOrl9K+cJjZGJgAg0fAIj7jUb+0Hdn8eAraqIJ3QCeCOMAMEbdjq7F1xwQaJtxPUjkgTjbTFvl/n9ihDSrl3m7yU6HHgD0KnmjTMdqQceeKCKeBK3XGgDU9pNZ5YwjGz22Wef+Q7O2muvnbEYHTsEBzpctPeqq66yYcOG2f777++ZPProo17AoHPIb3g6SXS2hjsxCHGJDijeLqzjg1Bw5JFHJuXdePvttxMdS8ojdMCPfC2IDHSw6ZjBiuuB4ITIAGs8CWgPy6lv5REK8BT59ttvfZ2cJOE3XCc67pls991399eZ60sddBIRjoKnxuzZs73wxVt/vC4QkQi5QtxhitCDGMR9gCjFh447HV8EojPPPNPWWGMNHzZB55JzuPPOO+2ggw4yBC3aHIQTvDwyeYT8+9//9nXjrUHHF96pRj6egw8+2IsxhNxwDT755BO75ZZbEkXxdMDoAOdrXCMEgSDIxd0fTxAEJ1ghLkXzj+Rzz3E8RAtyEaUz+OH9EAzvJ45Hee7pbJ4b+XDJ9szxfBPCwjMCJ0SF7bbbLiGecF/QF+ZeP+KII/y1JxyKZyVqv/zyixdko+u49xGz4jDAywTm5Hsh3JBnOJPxPOEJ9/jjj2cq4sUe7l/ur0MOOcR7DvH8R3PuEOJ47rnnGp51CHg1ZclkaqrWeqgnm3tTcAsimVPUevbs6R8cbpiLLrrI9t57b39To7ry5bHccstFi2teBESgERBg9BkEkHFzKnKNpHqOIJxkG6GmuFmxD6EJYgjhNX3bVYbYOKGE8JqiZkWNgFSep0CiU0SQhBji5pOWnSgSXUYcWVZDrEh4eQRRo0OWdZEyXgxxywgj5AWRiYAIiEAgsN6hZis5IaOurVNVLwQ6zLiu89s1vPGNdjrTNZGcGHSMMLw1eBkYjA4xnhXB6HQgCJxwwgleYKBDnc7ilgv70smi45WuQ4vYQwd96tSp3gOE39+80aatt956a6jCd+BCW/EuoI0YnU86VYgDGOIOHT46jx988IHnxe95OuJ4qfAhJATRg9/8CFB0JqPGy1O8PbDnn3/e531APMErhs4+/QuMzixt+vzzz71nCG/pES8wxINU8YT1eENEBS4EDd66R/OZUC5qeIYgkpHwknOnTbQ96gnQuXNnn/+E/fCEoUOOwLbiiiv6qujMIlLgzUEHEjGLN/2IBewbhA7ah7cIx+OFMv0e+kDB6PwjNKSzuImK6U8RSoFXEAIdeWHS3RvpjpFtHZ4u3DMIQ8FTKFv56Dbue3JmIGCk6+vFvee4n/COSOd5xPFSvWE45oQJE7wghRcZXi81ESqU7ZnjWeD+5/7kHiZMKXpMtt9xxx0+Lw3PDm3i2v7f//2fL8s5YjxjiG9RC8JaHAZ49PB9hjdX9PjR+sI8ZblvswmrCDzcR3wHEB6HpeZGQUDm2eQZlHgS6Eamcdyb+BJNVTZx1+OL5IADDvC1oV7hUoeLH2qsTAREoGESILfIL7N+sTGzxtiY2ZUfN49osrh8ccaTambNfG4RxJGQcySE1CCU9Grby4oJ02jM5v542oLpyWJH1DNkPttSxJDFS2NVY6HhLRMJTdu5MKW2Xd2nctrOvYVq42Jc27htTCnDPFMEE8QPhbbEQqxCIiACeRJY7+A8d6i94r/99pv3OgnCSZwjRTu0hKMjSgTDkyFq/PbFfZ/ksYR7ZLK45cL+dJAyheHQPkQaOurUSwcJy9XWUDedZDp3wVhmXzr48KKjh4gQDBGHUIG4hgcCIQwYndx11103sStv2BE9eIvNsRABchlhBYhgweg00tnLZrSBJLqE6tCJZ4o3Smr/JdQRhIPwopj1CFLhvOGBWEBoE5186oky5B4gUTDtRKgLnWXqISQnWpZ1wTK1J2xnilhAJ5zOOSIKIg4JXhFoaNOyGiIaHkHwof58jfsTUZDkvFzXINSlqyfbPQcr7ul0Agx1pV5rOvd8uIe23nprzyQ8A+mOHXddtmeOOvACIzSLCA3C+xAao8Z3DCFoeEQhNHAfcN8gUISEzszTP05ncRjwHcM9ePXVV/sqaDNeZTxTiDvBiBbhg2iYzfCgwtsKAZNn9sILL/TeaYS1RT2JeAbJx1OT1rwmK6vPuuK4N6F2486D+o4wwk2NihZVQPliQ6Xixo4aia9kIiAChUeABK0/z/zZRs8YbT/M+MF+mPmDn8+We4S8IgnPkcq8I0Eo6dW+V+MboWaR+zGYJHakET+i2wmTIbdIPsbQtIggSWKI895LWo5sdyMBSQTJB7DKioAINCUCdFYI0QjhG/meO29a6RBls6OPPtrnXQieF5nKxi3H/uRzoNOczggPIC8LI4/g7Y3bPfky4rQ1XX3RdXSI6czyZjsqAIQydPYzeVGEMtEp9dHZD0YHjM4lHWWuDblachkcsoVmZNqfDi5sGEnk66+/9uFKmcqmWx+EDQQUQnLIf0OIBUaek6jhwUEfh2tDhznq3USHNFOIEV4kuYagxksH8QUPHoyX2LQDMWVZDY8aBBPuH0IylsUQjEjngPcHISTkmokjhqU7FqFjeAmlMzxbyDmSatzviDKEZNWEZXvmqB8REe8irkU0rIVt3COsI98nQgaCBJ9nnnnGeysF8YSymSwOA5774KlCPRwTBlGhAwEQrxPEwmyiMeV4Nrh2GPUgyuEtRi6nqHfZsj6DvuIM/zUa8STD+fnVCCt8UaM+caNyYd555x2vevKHiZslaiynu+ZL4AAAQABJREFUKvR8uctEQATqjwBflniNBHEEsYTPr3N+TRtm07Z5W1u588rWv1N/G9BxgK3YcUU/z7RBj1aDqOFzhbg3itEwmIT4URkuk1h2HiLL4hWC10cVMSQifnhvkciy8n7U38OhI4uACDQ6AnRgcDtHACGWnxwhhFvUxJvqAItOXGpnOmyLTuOWYx/CSOhw47mRSTggjwtJOukA4znOW/HqGmEtdBIvdB3+0KkiJwbhBngW0IEntwuji/CmOrx0zXTcrbbayoe0EPZDzhNCRGg3L2DphNJh5A09y8OHD09bDXk+2B4Mb3cECuqKvrgN28MULw2SiZJIldAPxJplMV4Icw9xLejXELrDJ9xDhPEQ9kI+FTrJCBsMWYtYhuV6+x/axPWGM8Y8x0XAogPMPAIOx6GjDs8gplCe/YJ3C51r9g/9MnJ1cC0JP2OIYzwSyFnDfUNIEd4LGB1wRC3qQaxADCT/Sy4j3AM2eLFwPTOF32SrhyGq+WQzPCx4KQ93ritJWxnph3w8WOp5si4bF7ZHLc4zl0kEQYwilxDfA0OGDPGeXAgneK2FRMwci+eGYdGjxvON10kcBogbUeNakl8oRH6wjZA8cgKlE30JRSMqhKSwiIM8E8wT5sa1Rzihn885BON+w0ssNXwqbF/WaZMQTwBMTGMwFCluEtyXuImjShhleHBTMyCn+2Ln5pKJgAjUPIEZJTMqPEkqvUgQSX6c+aMtWFzV/ZYcJAM6DbBVu6zqPwM7D7SBXVwCLOdREt6+1HwLa6lGhrydPcFllfvNfca7+XEV07nu7cTcye7j4k2ZuqS2eVnwCkkSQ5zwkbQcwmbcFOGksYcm5QVQhUVABESgbgkgBNDhwM2dzjk5NnjDGv27ljofXc7U2lxlwvYwzbce3ijTVsJNePMeLLU+Onx0ksjBQCebN9OpRsc7atSRui5spwNFElM6xKEDhdiBmILRcX3iiSe8mEGnj6Sd1BdtV3QZIQGPjNDpI8yIvgD9Azrna621ls/fQt2bbropk6S6ECtI5hrtHLIOQSW13+F3jvyH8EBuFLw7EAlSLRODUC6cByIEwgiCDSEXeJeEUBJeSCFo0EfiOrEPQhb9JYSKqOgT6k035aV0NNcEXBCySFBKDhY65oSGwYxjIAyFYXOpj3QJeKhgQcgj9IKOMJ1feNFxx0gkGoQrxI5ghOBwndmOEEFi0kwW2LAdjoxYRRu4D7k/UtlSPnVdprozracO+JNTBEPQYj6ISKnnSZlsXNgetUzPHGU4djZDxENIJDojeGZxr+OpEjw4qAOuqUmgGREnOqR2tuPk2sZ15T7FK4gIkFRD6ONeCMb3Is8jzzXflXg1sQ62wRAreQYyibihXL7TZu7hydM3O99D1G15kstwg2ZS2GgNDylZfsmwjYrFlzduaxgXjy8NvkDSuVr5QpX/8WUfvZDRbZoXARHITYCQm59m/uSFkkTYjQu9mVbivCfSGMlYgziCWIJIsnKnla1FQ0j8WeYEjzlOGEkSR5xAMguBxH0QSsglEseiuUIyhcVEPUPkFRKHqsqIgAiIQMERoMONlzQd34ZiJAglqSteBqkvI+viHHg5ikBBWElq55FktXgqBO+GXO2h484+dOhSO9F4EyBoIdKkGh073q7TyU/dL7VsbS/jaYMnQbpzqO1jh/phRQ6VIN6E9TU5xaOHIaTxYCg0o7uNAFBSUuKfZTr8NWnVfeZC3iHCd3KFY9Vku6tbF/c2XjypbcZzh/Af8uJEc6pU93js32jEk+DehGsdytM2bgz78MV43333edWJeDbUPZLMMBQVMWoopqigKIDkQUHlJfnMu+++61XPbJAlnmSjo20isJQAo9cw9O/3M7630TMrwm0QS8bOGZsx5AZhxH8qPUkQSzq1qvoDZelR6nEODXqeC6PxIkhUEInM4zWSS6submnWsY/7uB/JnZav+DDfoZdZ+57u06Ni2jw51LAez1yHFgEREAEREIEqBAivwKWfEYDqWzyo0rhaXsELWUJfCBMaNGhQLR9N1QcCDGfNCEOkamiK1pSfudTrfdlll3nxEjGtpoWqRiOe4EkS3L4CwOD2hWcJCZBQ1TDcCXENCl9oDPGFQo4Ag6tcEFJCPZmmEk8ykdH6pkxgXuk8+2baN/b99O99AlfEErxLMoXckIMkEXJTKZj0adenytuiemW6wCVQnY0Q4j4+lCZ4i0TWlZVmbyKuky4ZrXVyYkjHSmEEgcQLJYglzk2RkWZyuFhmP4i2ioAIiIAIiED9EyCXBGErvMwkZ0pTMnKh8AI3mxd8U+JRV+fKcMjca4SxNEVrys9c9HrjqUfYIOFj9NVr2hqNeJILDHlMGFmH4btSXXvYF+GEm464qHRZutPVL/EkHRWta0oEFrvcG99N/85GTh1pX0/92n8YHrjc/Uu1nm17VvEkWanTSvUfckOekYQoEhVHIvOLKuJtU88pabmtGz3GiyJRcSTMu2kH51FSXLNumknH14IIiIAIiIAIiIAIiIAIiECtEWgyv+RRgElclMkQTLJtz7Sf1otAUyJAjpKRU0baZ5M+858vpnxRxaOkeVFzW63Lajao66AksaTeQm4YpnfGGPf5xWy6+8z81YklkYSscfKMtGwf8RjBSwSPEbxHIuJIizZN6VbQuYqACIiACIiACIiACIhAkyLQZMSTJnVVdbIiUEME5pfONwSSIJZ8NeUrK11SmlQ7wwCv030dW6vbWv6DcFLnCVzJJUJYzZTvzaa6odT81M1P+8mNTuNGqslmIc9IIoQmhNK4MBovjjiBpE3nbDVomwiIgAiIgAiIgAiIgAiIQCMnIPGkkV9gnZ4I5ENg9qLZNmLSCPt00qf+8+20b62svCxRhRvUz+cnWb/n+ja051D/6drGDXlbV8aINdN/dgJJEEm+c/OjKwSTTKE1jMTT2XmdLTfArMtK7tO/wnMkJGRVnpG6uno6jgiIgAiIgAiIgAiIgAg0WAISTxrspVPDRaD6BKbMm2q3ffyqfT75M5tV/r1NWTgmKV9JcbNi702CWMJnvZ7rWceWHat/4Fw1IIR4UcSJJFOcJwliCd4kCCcuz0paY8jebquZdXcfP13VrOvAioSsRUVpd9FKERABERABERABERABERABEYhDQOJJHEoqIwKNhMDEeRO9RwlhOJ9O/NTGzB6TfGblzW29HuvYBr0rPEsGdx9sbVu0TS5Tk0vzpi0VRrxAUimUMORvOmMkGrxIujthJFUoadMl3R5aJwIiIAIiIAIiIAIiIAIiIALVJiDxpNoIVYEIFC6BsbPHJsQSBJPxc11ekIiVL2lhZfNXdJ8BFZ+SFWzXNdez/ddbIVKqmrPkIyFBa2o+EpYXzEhfOXlIuq4cEUgQS/g4TxIlZk3PTGtFQAREQAQaLYH58+fbzJkzrXv37rFHhVwWGB9//LEf6nXw4MFpd587d661bt3amjdv/F2IxYsXW3FxsTXjxU2KTZs2zcrKytKO4JlSNOdiSUmJHxG0Xbt2/vrm3KFACuTb7nzLc5oMOdu3b18bMmTIMp3177//bh06dLD27V3i/wKyOXPm+OeZcyty3tHfffedffvtt7brrrs22aGWC+jyZG1K4//my3r62igCjYsAniXvjn/XPvr9I5/kdcqCKUkn2KFFBx96QwjOpMl97NZXFrrtxUllfpnqRqdZVpsz0WziSPf5ymwy+UicQEICV4YDTmetOlSIIiHUBoGEefKSFCW3K93uWicCIiACIiACjZnAk08+aTfccIONG1fhkUlHfqONNrKTTjrJNthggxo/9QceeMA6depk6cQTBJz11lvP/vWvf9kuu+yS89gTJkywrbbaym699Vbbdtttk8r/6U9/so4dO9p1112XtL5QFmbMmOE7spdccklS2ydNmmQnnniijRgxwnd6V1ttNbvxxhsTI3aef/759tBDDyWdxjrrrGOPP/540rqwcOqpp9rzzz9v5bxocgZ3eHXtGi+f3DXXXOPbwnULRhteeeUVe+SRRxLtCttqappvu/MtTzu596+++mp79NFHfbMvvfRSu/vuu+2yyy6z/fbbL3EqZ5xxhj311FN2/fXX+2uGMMF+b775phelKNi7d2/761//anvuuafnFd0/VLTbbrvZP//5z7CYdTp69Oi0zwAiDfdGJnv55Zftqquust9++80Xod1rrrmm9ezZ004++WTjmTn++OMz7a71BUBA4kkBXAQ1QQSWlcBil/9jxOQR9s64d7xoMnqmS54aseVaL2dDegyx9XtV5CwZ2GWgFTWryP/xxW8znXjyXqR0xew6y3eqsi7tCoSScZ+6zycVYgmCicuhktba94yIJJUCCWE3HXunLa6VIiAC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ael6zYmACIiACIiACIiACIiACIiACDQoAhJPGtTlUmNri8BMl4fkzq/v9MLJwrKF/jBrdVvLCM3p1myoHXTHJ7Zw8e9+/UOf/GZn77y6HbtuS7PP7jL7/G6zeRWj7VirjmbrHlDx6Tu0tpqrekVABERABERABERABERABERABOqQgMSTOoStQxUegXml83xozt2j7jbmsT/0+4NPAju0Z4X4ccR/P3bCSUWCWDeWsG1RNNJWef06K3/zc2tWmTjWerqhhDf4U4WXSct2hXeiapEIiIAIiIAIiIAIiIAIiIAIiMAyE5B4sszotGNDJoB3CeE5d468MxGes3nfze2k9U6yNbqukXRq42YusI421/YrfssOLn7NBhRN9NvLm7khidfap0I0WWGjpH20IAIiIAIiIAIiIAIiIAIiIAIi0HgISDxpPNdSZxKTwHvj37NLP7zUxs0d5/cY0mOInTzkZBvSc0jVGiaMsCuKb7W1W/3PWjcr9dvHlXez51rsaMeecpFZ+wyJY6vWpDUiIAIiIAIiIAIiIAIiIAIiIAINlIDEkwZ64dTs/AlMmT/FrvrkKnt5zMt+51W7rGqnDj3V8DhJstISs1FPVCSAHf+ZuXFyrLyZ2Ztl69i9Zdvbpy03tNsP2sCate+atJsWREAEREAEREAEREAEREAEREAEGicBiSeN87rqrCIElri8JA9//7Dd8PkNNrd0rrVp3saOG3ycHbrGoVZcVLy05GyXEPbDm81G3Gu2YEbF+jZdzAYfbEuGHm0tZ3W0AxaW2T9XWs46tnYhOzIREAEREAEREAEREAEREAEREIEmQUDiSZO4zE33JL+d9q1d9MFFNmraKA+BZLDnbHSO9WrXaymUGb+avXe9E03uMytzww5jfVwIDwlg19rbrEVrQ2LZtJvfov9EQAREQAREQAREQAREQAREQASaGAGJJ03sgjeV051fOt9uHHGjPfDdA4bnSc+2Pb1oss0K2yxFMHW02TvXmo18xGxJmVkzF5uz5jCnkpxk1jdN/pOle2pOBERABERABERABERABERABESgCRFodOLJ4sWLrbi42PWDXUc4xebMmWPz58+3nj17pmwxY7+JEyda7969/f5VCmhFgyHw6q+v2pUfX2mT5k+y4mbFdvigw32YTtsWbSvOYfYEs1cvcKLJoy6ZSbkZoTvrHmi2xWlm3QY2mPNUQ0VABERABERABERABERABERABOqGQFHdHKZujjJjxgzbcsst7fXXX0864MKFC+2kk06yIUOG2BZbbGE77LCDjRkzJlHmkUcescGDB9s222zjp0899VRim2YaDoEJcyfY8a8db6e+eaoXTtbutrY9vNvDdvoGp5sXTkoXuKyvV5rd6LxKvnLeJkUub8n6R5mdOMJs2K0SThrOpVZLRUAEREAEREAEREAEREAERKBOCTQa8eTUU92oKZtvblOmTKkC8NFHH7UPP/zQXnrpJfv888+tb9++dtFFF/lykydPtvPPP9/OO+88GzVqlJ1xxhl29tln2/Tp06vUoxWFSWDxksV219d32R5P7WFvj3vbOrToYOdtdJ7dt8t9ttpyq1U0Gi+TG4c68eQKM0QUwnNO/Mxst3+adVmxME9MrRIBERABERABERABERABERABESgIAo1GPDnnnHO8ONKqVasqYBFNdt55Z1t55ZWtffv2dtRRR9l7771nhPG8+uqr1rlzZzvggAOsRYsWdsghh1ibNm2qeK9UqVQrCoLAF5O/sP2e3c+u++w6KykrsZ0H7GzPDHvG9l99fytq5m7vcZ+a3bmd2eMu+evs8Wa9B5sd+ZLZvsPNOq9QEOegRoiACIiACIiACIiACIiACIiACBQ2gUaT86R79+6edLpcJ+QyISQn2AorrOBSXZQbXidsYzlYUVGR9evXz37//fewyk9LSkqSlrVQvwRmLZxl139+vT32w2O+If069LPzNj7PNu2zaUXDfF6TC114zsMVy+1dnpttXZ6TwQdVJIatWKv/RUAEREAEREAEREAEREAEREAERCAngUYjnmQ7UzxMWrdunSgS5mfPnm18Ur1VWGafqO2zzz7RRc3XI4F3x79r5757rk0vmW7Ni5rb0Wsdbcesc4y1KnZeR4TkvH+D2btu6GE34o41d+s2OcFs87+atWpfj63WoUVABERABERABERABERABERABBoqgSYhnnTo0MFIGhsseJF07NjR+CxatChs8lPKsj5qzz33XHTRzw8cqJFZqkCpxRWlS0rths9vsOGjhvujrN9zffv7Jn+3AZ0GVBx1pPNCYRSdWeMqlgftabb9xcppUkFD/4uACIiACIiACIiACIiACIiACCwjgSYhnvTq1ct+/fXXBCLmCe/p0aOHH7Y4um3JkiU2duzYtMMZJyrQTJ0TGDdnnJ359pk2cupIP/zwieudaEetdVTFkNTjXeLXl/5m9tvHFe3qva7ZTm5UnRUrQ3jqvLU6oAiIgAiIgAiIgAiIgAiIgAiIQGMi0GgSxpaWlia8S/AkiXqa7LjjjvbCCy/Yzz//bPPmzbO77rrLNt10U8MjZbvttrOZM2faQw89ZIsXL7b77rvP8EyJ5khpTBe8IZ7Ly2Netn2f3dcLJ33a9bG7d77bjl77aGs2Z6LZk8ea3eHy2SCctO9htse/zY55U8JJQ7zQarMIiIAIiIAIiIAIiIAIiIAIFCiBZi5xanmBti2vZu2///5+GOLoTgxP3LVrVy+GnHbaafbKK694TwUSwt5xxx220kor+eIPPvigXXrppYYAw4g7DGMcJ8cJYTujR4+OHlLzNUigbEmZXfPJNXb/d/f7WrdbYTu7aLOLrGNxG7P3XE6Td66ryGtS3LIir8kWpymvSQ3yV1UiIAIiIAIiIAIiIAIiIAIiIAIVBGpFPHn22Wftq6++8sP+rrjiigXDmuSwc+fOtT59+lRpE8LJhAkT/DYElDgm8SQOpWUrM690np3x1hn2zvh3rEVRCztrg7P88MM2aVSFt8nEkRUVD9rD5TW5RHlNlg2z9hIBERABERABERABERABERABEYhBoFZynrRr184eeeQRGz58uG299dZ22GGH2eabb16RnyJGo2qrSEgQm65+BJNCEnrStbGprJs4b6Id/9rx9sOMH6xLqy52wzY32OBu61SMoPPGpWZlpWbLOa+h3W806795U8Gi8xQBERABERABERABERABERABEagnArXiecK5MNTvk08+affff7/PNdK/f3879NBDba+99rL27RvHkLHyPKn5u3bUtFF2wmsn2NQFU/0oOjdve7MtX+pGQ3ryzy6vyUcVB1z/aLMdnLdJy3Y13wDVKAIiIAIiIAIiIAIiIAIiIAIiIAIpBGpNPAnHIaXKBx98YPfcc4+99tprhlfKsGHDvJASco6Esg1tKvGkZq/Ya2Nfs7+9/TcrKSuxjXptZNf94Trr+PVTZi+eVZHbpEPvioSwq2xbswdWbSIgAiIgAiIgAiIgAiIgAiIgAiKQhUBRlm01smnWrFn27bffJhKr4nXy9NNPGyPgHHnkkTZ16tQaOY4qaTgEJs8psWe/nGDvjJ5iZUsq8hUPHzXcTn3jVC+c7DVwL7vlD/+yji+fb/bMiRXCyTr7mR33oZmEk4ZzodVSERABERABERABERABERABEWgkBGol5wlsRo4c6UN2nnvuOT9s8MYbb2xnnnmmHxqYoYAff/xxu/vuu23SpEnWrVu3RoJTp5GLwMujJtpJD46whYuX+KJr9W1v6w5+3Z75+Qm/fOrQU+2oFXY2u2d3s3GfmjVvbfbHf5mte0CuqrVdBERABERABERABERABERABERABGqFQK2E7Tz66KN2zjnnJEJ0Dj74YFtllVWqnMCSJUuMsJ7i4uIq2xrCCoXt5HeVSkrLbMPLX7PZC1zCV6yoxNr0vc+at//RWhW3siu2uMK2N5cP59HDzOZONuvUz+wAN0xx73Uryut/ERABERABERABERABERABERABEagHArXiedKjRw+74IILfG4TcpxksqKiWo8a+v/27gXaqqpeGPj/cDi8REJRUeThC9L0qvnKR77QfObNwgemlWVf9qXpUK/5uJqiYJaP0quj0EyHnylRGd3r9ZqXSK+KZt5UjEgxCwQE5P3mPL89l54TR0A2cA7svddvjXHGXo+55przN9fYZ+//nmvOtV3a/s0g8Na7S1sCJ1U186JrvweiuvPsqG7qEQ+cMDL2emt8xBNXRTTWR+xyVMRp90d023ozlNQlCRAgQIAAAQIECBAgQIDAPwTaJXhy5JFH/uMK1gi8L9CnZ5eo7lAVTZ2mZoGTDh2XRsOK3nHklpfGXs/eHfHKw++lPPSiiGOvL/RMKc8eSe9X1wsBAgQIECBAgAABAgQIVIhAuwRPKsRGNdpYoGe3TnH6YQ3x2Kx7o6q6NuqXDIod55wct9XfFPHGaxE13d6bTWevz7XxlWVHgAABAgQIECBAgAABAgQ2XEDwZMPtnLmeAq/MfiV+t2B4FjjpW3NYfGnbw+L0JddF9btzI7bauTC+SaHnSe+PrWeukhMgQIAAAQIECBAgQIAAgfYVEDxpX1+5vy+QAifn//f5sax+WZy888lxU/WO0WFs4fGcpsKsO7sdGzHkvoiuPXkRIECAAAECBAgQIECAAIGSExA8KbkmqbwCrRo4+XQhcDJi7oLo8OoP36voEZdHHHV1YXwTgwdXXsurEQECBAgQIECAAAECBCpDQPCkMtqxZGvRKnCy04kxYvqU6PD64xGdCrMwffaeiD0+XbJlVzACBAgQIECAAAECBAgQIJAEBE/cB+0m8Pq811se1fn0gONjxN8nRYe//U/h8ZytIs7+RUTfA9rt2jImQIAAAQIECBAgQIAAAQJtJSB40laS8mklMGf5nLjgtxdkY5yc2O+YGDH5f6PD9D9GbLl9xBfGRGy3R6v0NggQIECAAAECBAgQIECAQKkKCJ6UasuUcblW1K+IC397YcxaNiv267VXjPjL89Fh9l8KM+rsFPHFX7/3Wsb1U3QCBAgQIECAAAECBAgQyJeA4Em+2rvda9vU1BT/+uy/xsS5E6Nvt+3jB29NjJp5U97raZJ6nKSeJxYCBAgQIECAAAECBAgQIFBGAoInZdRY5VDUu165K56c8mR0r9ki7p6zKLZKgZMd939vjJNuW5dDFZSRAAECBAgQIECAAAECBAi0EjA/bCsOGxsj8B9//Y+4Z8I9UV1VHbet7Ba7zCo8qrPtRyPO+WWEwMnG0DqXAAECBAgQIECAAAECBDajgODJZsSvpEu/PPvluG78dVmVrqreIQ6d8r8RPfoUAiePvje7TiVVVl0IECBAgAABAgQIECBAIFcCgie5au72qey0xdPi4nEXR11jXZzdpX+cOXl8RJee7wVOPtK3fS4qVwIECBAgQIAAAQIECBAgsIkEBE82EXSlXmZJ7ZJsSuL5K+fH4V13jMsnPRvRsXPEWaNMR1ypja5eBAgQIECAAAECBAgQyJmA4EnOGrwtq9vQ2BCXPX1ZvLXwrRjYZdu4ZdILhfFOqiKG3Bcx4JC2vJS8CBAgQIAAAQIECBAgQIDAZhMQPNls9OV/4ZtfvDnGzxgfvWq6x11vvhZbFKYpjpNui9jjlPKvnBoQIECAAAECBAgQIECAAIH3BQRP3AobJPDwpIdj1OujolOHjnHH9LejT11txJFXRBx43gbl5yQCBAgQIECAAAECBAgQIFCqAoInpdoyJVyuZ6c/G9/9w3ezEg6ftzj2Wbo4Yr8vRhx9dQmXWtEIECBAgAABAgQIECBAgMCGCQiebJhbbs96e9Hb8S9P/0s0NjXG/10eceL8dyM+emLEp3+QWxMVJ0CAAAECBAgQIECAAIHKFhA8qez2bdPapQFir3zmylhatzSOq+8Y35g5NaLfQRGn3R/RobpNryUzAgQIECBAgAABAgQIECBQKgKCJ6XSEmVQjpETRsaEORNi+6bquH7a3yK2GVSYkvhnETVdy6D0ikiAAAECBAgQIECAAAECBDZMQPBkw9xyd9aEdyfEPRPuicJExHHTzBmxZfftI855NKLb1rmzUGECBAgQIECAAAECBAgQyJeA4Em+2nuDarusbln2uE5DU0Ocu2BRHFjbEHHmQxE9+21Qfk4iQIAAAQIECBAgQIAAAQLlJNCxnAqrrJtHIM2s8/bit2P3uob45vwFEccNj+h7wOYpjKsSIECAAAECBAgQIECAAIFNLKDnySYGL7fL/Xbqb+PRyY9G56aIm2fNippBx0cccmG5VUN5CRAgQIAAAQIECBAgQIDABgsInrxPV19fH9OmTYuGhsIjKZZMYM7yOXH9+Ouz9Uvnzotdu/aOOPVHEVVp5BMLAQIECBAgQIAAAQIECBDIh0Augifjx4+PgQMHrvY3ffr0rJVHjx4d++67bwwePDh7HTNmTD5afx21HP7C8FiwckEctmx5fH7p8sKUxD8xQOw6zBwmQIAAAQIECBAgQIAAgcoTyMWYJ01NhWdOCsvjjz/eqgV79+4ds2fPjmuvvTaGDRsWQ4YMiUceeSSuuuqqOOKII2LrrfM7k8yL77wY6ZGdro1NceOcuRFHXxvR/+BWfjYIECBAgAABAgQIECBAgEAeBHLR86S5IXfbbbdWvU86duwYY8eOjZ49e8bQoUOjpqYmzjnnnOjatWuMGzeu+bRcvL42bWH89PdTYvybc6KxqTHSILFp+dqChbHtTkdHfPKSXDioJAECBAgQIECAAAECBAgQ+KBALnqeNFf64osvjk6dOmWP5px22mnRpUuXmDlzZvTv3785SXTo0CH69esX77zzTsu+Sl+56fFJcc//vNVSzb33+Ev8Ld6IPnX18YWVhfjaZ0ca56RFxwoBAgQIECBAgAABAgQI5E0gF8GTbbfdNs4666zo1atXzCrMGHPLLbfEM888EyNHjoxFixZF586dW7V72l68eHGrfV/96ldbbVfKxp+mL2wVOIkOK+Kt+p9HVeHOuGze/Oh8zIiI7ttWSnXVgwABAgQIECBAgAABAgQIrLdALoIngwYNihtuuKEF5/DDD4+LLroo5s+fHz169Ija2tqWY2ll5cqV2f5Vd15zzTWrbmbrTz/99Gr7ym3Ha4XgyapLp23GFQInS2O/FSviuI8Mitj/y6setk6AAAECBAgQIECAAAECBHInkIvgyQdbNQ0Um5YVhQBBWp8yZUpLksbGxpg6dWq2v2VnYWWnnXZadbNi1nfeZouWulTVzI3OWz0XURhg91tzF0R88ZEoPMfUctwKAQIECBAgQIAAAQIECBDIo0Auvhk/9NBD2QCw6VGcNLvOnXfemQVDdthhhzj22GNjwYIFMWrUqKivr4+UNgVV0rTFeVgO3qVXnLjX9llVO29XmI2oQ0OcumRpfHSPMyL6HpAHAnUkQIAAAQIECBAgQIAAAQIfKpCLnifz5s2LESNGZMGRpLHrrrvGHXfckcGknifXX3993HjjjfHtb387m3EnrafxUfKy3P35/eLfnv9N/PjNiYWpiRvjm8sao+Nx/3jMKS8O6kmAAAECBAgQIECAAAECBNYkUNVUWNZ0oNL2pXFM0sw6aRri7bbbbrXq1dXVxYwZM6JPnz5ZAGW1BGvYMXDgwJg8efIajpTXrjQ18Rn/fnq8vuCNuGjegvg/n7wu4sCvllcllJYAAQIECBAgQIAAAQIECLSTQC56niS7NIPOgAED1spYU1PzocfXemIFHBjz5pgscLJDYWriL3bbqTBI7FcqoFaqQIAAAQIECBAgQIAAAQIE2kYgN8GTtuGqvFyW1i2NO1+6PavYpfMXROehDxoktvKaWY0IECBAgAABAgQIECBAYCMEOmzEuU6tAIF7J9wbc2sXxscLg+SeMOhzEf0OrIBaqQIBAgQIECBAgAABAgQIEGg7AcGTtrMsu5ymLZ4WD0584L2piZfURxw7rOzqoMAECBAgQIAAAQIECBAgQKC9BQRP2lu4hPO/7Q/fi7qmhvjnwtTEex1+dcQW25RwaRWNAAECBAgQIECAAAECBAhsHgHBk83jvtmv+tLMl2Ls27/Lpia+uGOfiAPO2+xlUgACBAgQIECAAAECBAgQIFCKAgaMLcVWaecypamJv/fCjdlVzlu4KLYbcr9BYtvZXPYECBAgQIAAAQIECBAgUL4Cep6Ub9ttcMnT1MSTFr4V29fXx7kDTi4MEnvQBuflRAIECBAgQIAAAQIECBAgUOkCgieV3sIfqN+yumVx5x9uyfZetrg2Oh83/AMpbBIgQIAAAQIECBAgQIAAAQKrCnhsZ1WNClx/Y9bi+M7jk+IvMxfHoN5bxs67jou5dUtinxUr44RDrzBIbAW2uSoRIECAAAECBAgQIECAQNsKCJ60rWdJ5TZvaW2cOfL5mL+sLivXO4sWxp9iVER1xOXRyyCxJdVaCkOAAAECBAgQIECAAAECpSogeFKqLdMG5fqvP73TEjhJ2W2x1XNRW90QByxfEfuceE9hkNhCFMVCgAABAgQIECBAgAABAgQIfKiAMU8+lKe8D66oa1ylAg3Rfeunsu1TGnpHDDhklWNWCRAgQIAAAQIECBAgQIAAgbUJCJ6sTaYC9n9qj97Rqfq9Ju7a44+xrKY2dqmti4MPvqoCaqcKBAgQIECAAAECBAgQIEBg0wgInmwa581ylf69usUPz9kvdvhIl+jV6zdZGc6s3zL67F+YnthCgAABAgQIECBAgAABAgQIFCVgzJOimMo30TGF3ifdtpwcX/vtktimviFOP+Lq8q2MkhMgQIAAAQIECBAgQIAAgc0goOfJZkDf1Je8/8XvZZc8u6Fz1Hzs1E19edcjQIAAAQIECBAgQIAAAQJlLSB4UtbNt+7Cvz73L/H84r9F18bGOGP/iyKqqtZ9khQECBAgQIAAAQIECBAgQIBAi4DgSQtFZa488PyIrGKn1VZFj32/UJmVVCsCBAgQIECAAAECBAgQINCOAsY8aUfczZ31zKUz47/mvBLV0RRf2OvLEdWae3O3iesTIECAAAECBAgQIECAQPkJ6HlSfm1WdIn/3/iboqHwlM4JKxtih4MuKPo8CQkQIECAAAECBAgQIECAAIF/CAie/MOiotaW1C6JX0x/KqvTubsNiajpUlH1UxkCBAgQIECAAAECBAgQILCpBARPNpX0Jr7Of75yTyyraooDV9bH7od9axNf3eUIECBAgAABAgQIECBAgEDlCBgEo3LaMqvJQy9MiV+9PD2W1zxS6G0SMWTbAyO69KiwWqoOAQIECBAgQIAAAQIECBDYdAKCJ5vOut2vdNe4N+PWJ1+Prp2nRMddVkSPhsZY3PXsdr+uCxAgQIAAAQIECBAgQIAAgUoW8NhOBbXufc++ldVmt63+M3vdf0mn+LdXCt1PLAQIECBAgAABAgQIECBAgMAGC+h5ssF0pXViU1NTLCmMbxJRH3N6TM0Kt2T+IbGoqa60Cqo0BAgQIECAAAECBAgQIECgzAT0PCmzBltbcauqqmLw7tvFzj2ejiXVEbsVAinPLf9UHLNH77WdYj8BAgQIECBAgAABAgQIECBQhIDgSRFI5ZLkps/+U/Ta5vmsuH0X9o2DBvaJYafsWS7FV04CBAgQIECAAAECBAgQIFCSAh7bKclm2bBC1dVNjzc6LY5OjRGXfeaG2GnQJzYsI2cRIECAAAECBAgQIECAAAECLQJ6nrRQlP/Kr174XjQVHt85JroVAieHlH+F1IAAAQIECBAgQIAAAQIECJSAgJ4nJdAIG1uEv767JH5SmGnnhXnjIwoteupun93YLJ1PgAABAgQIECBAgAABAgQIvC8geFLmt8Lk2Yvj1Luei941T8e7/Zti+7qGGDPt6Di0zOul+AQIECBAgAABAgQIECBAoFQEPLZTKi2xgeX4/n+/EUtrG2KbrZ7Octh50fYx+tW58fa8ZRuYo9MIECBAgAABAgQIECBAgACBVQUET97XqK+vj2nTpkVDQ8OqPiW9Pn3B8nhy4qzo2mF+/HWLRVHV1BST55+UlXn24hUlXXaFI0CAAAECBAgQIECAAAEC5SIgeFJoqdGjR8e+++4bgwcPzl7HjBlTFu330AtTor6xKfbu+e9R26Eq9lxeHX+r2yO26Fwde+zQoyzqoJAECBAgQIAAAQIECBAgQKDUBXIfPJk9e3Zce+21cc0118TEiRPj8ssvj6uuuirmzZtX6m0Xc5eszMo4cf5nY/8Z/xR1c47Mtr9y2M7RrZPhbEq+ARWQAAECBAgQIECAAAECBMpCIPfBk7Fjx0bPnj1j6NChUVNTE+ecc0507do1xo0bV/INeNhu22RlXNLUI55aeHa8tPT46FRdFV86dKeSL7sCEiBAgAABAgQIECBAgACBchHIffeEmTNnRv/+/Vvaq0OHDtGvX7945513WvallVtvvbXVdilsfGbfHePlqQvigfF/z4rTvXPHuOX0vWOb7p1LoXjKQIAAAQIECBAgQIAAAQIEKkIg98GTRYsWRefOrYMNaXvx4sWtGnivvfZqtV0qG9f/857x9SN3jRkLl8dHe29ZGO8k901aKk2jHAQIECBAgAABAgQIECBQIQK5/6bdo0ePqK2tbdWcK1eujLR/1eWEE05YdbOk1rf/SJdIfxYCBAgQIECAAAECBAgQIECg7QVyP+ZJ7969Y8qUKS2yjY2NMXXq1Ej7LQQIECBAgAABAgQIECBAgACB3AdPjj322FiwYEGMGjUq6uvr46GHHooVK1Zk0xa7PQgQIECAAAECBAgQIECAAAECVU2FJe8MjzzySAwfPjzq6uqyGXeGDRsWp5122jpZBg4cGJMnT15nOgkIECBAgAABAgQIECBAgACB8hUQPHm/7VLgZMaMGdGnT58sgFJMkwqeFKMkDQECBAgQIECAAAECBAgQKG+B3A8Y29x8NTU1MWDAgOZNrwQIECBAgAABAgQIECBAgACBTCD3Y564DwgQIECAAAECBAgQIECAAAECHyYgePJhOo4RIECAAAECBAgQIECAAAECuRcQPMn9LQCAAAECBAgQIECAAAECBAgQ+DABY558mE4Rx9KgsRYCBAgQIECAAIHNJ2D2w81n78oECBDIi4DZdsq8pZcuXRpnn312jBkzpsxrUvrFHzt2bLz00ktx5ZVXln5hy7yEN910Uxx88MExePDgMq9J6Rf/lFNOidGjR0fXrl1Lv7BlXMJXX301HnzwwbjtttvKuBblUfSRI0fG1ltvHaeffnp5FLiMS3nuuefG8OHDo2/fvmVcC0UnQIAAAQLFCXhspzgnqQgQIECAAAECBAgQIECAAIGcCgie5LThVZsAAQIECBAgQIAAAQIECBAoTkDwpDgnqQgQIECAAAECBAgQIECAAIGcCgie5LThVZsAAQIECBAgQIAAAQIECBAoTsCAscU5SUWAAAECBAgQIECAAAECBAjkVEDPk5w2vGoTIECAAAECBAgQIECAAAECxZ6F9/0AAA9hSURBVAkInhTnJBUBAgQIECBAgAABAgQIECCQUwHBk5w2vGoTIECAAAECBAgQIECAAAECxQkInhTnJBUBAgQIECBAgAABAgQIECCQUwHBkzJv+MWLF8esWbPKvBaKn3eBxsbGaGhoWCNDfX19TJs2ba3H13iSnWsVSJ5NTU1rPe7Axgsk4+nTp8eSJUvWmtnMmTNj6dKlaz3uQHECy5YtiylTpkR6D7G0r8CKFSvi73//e7z77rtrvJDPI2tksZMAAQIEKkhA8KRMG3PlypVx0UUXxX777ReHH354HHfccdmHmjKtTkkX+9prr42BAwe2+hsyZEhJl7mcCpe+yH/rW9+KK664YrVijx49Ovbdd98YPHhw9jpmzJjV0thRvMD8+fPjiCOOiHHjxrU6afz48a3u7+b7PQUALOsn8MADD2T36lFHHRUHHXRQfPnLX4633367JZM333wzjjnmmKwdPv7xj8dll10WtbW1LcetFC/wla98JfbZZ5849thj45BDDolhw4a1OvmAAw5Y7b6+7777WqWxUZzAJZdcEnvvvXd86lOfikMPPTROP/30mDt3bnayzyPFGUpFgAABAuUvIHhSpm3485//PF544YV44okn4o9//GPsuOOOq31wLNOqlVyx05f7ww47LB5//PGWvzvuuKPkylmOBUrBkE984hPx61//erXiz549O1Lg6pprromJEyfG5ZdfHldddVXMmzdvtbR2rFsgffn55Cc/ucZfjZt7oqx6j6f13r17rztjKVoJbLHFFnHbbbfFyy+/nN3XKQCVAirNy3XXXRe77bZbdvyxxx6Lp556KgQFm3XW73XQoEGZ3YQJE+L666+Phx56KF566aWWTNJ9feWVV7a8b6d7+nOf+1zLcSvFC/Tr1y9+9rOfZe/F6XPH1KlT48EHH8wy8HmkeEcpCRAgQKC8BQRPyrT90oeXE088MXbdddfo3r17pF/gnnvuuUjdZi1tL7Dlllu2+gWzb9++bX+RHOaYfjF+9NFH4/jjj1+t9mPHjo2ePXvG0KFDo6amJs4555zo2rXrar0mVjvRjjUKXH311VmwtXPnzms8nnamL/XNvU7Sa8eOHdea1oE1C6Rf5NP9nN6Xk2Hq6fPMM89kiVPg78UXX8x6o6QgS/ryn3oNpvdzy/oLpMDInnvumb0vpP+H2223XYt1c2477LBDq3t6q622aj7kdT0ELr300kg9pTp16hTp/1+HDh2y9+eUhc8j6wEpKQECBAiUtYBPxmXafOl5+fQoQ/PSv3//bByD9Gt9+qJvaVuBV155JXtMauutt866LaeeKJaNF0hfMNNf+iL5wTFP0j2e7uvmJX1YT79+vvPOO827vK6HwLbbbpulrqqqWutZF198cfblKD0qddppp0WXLl3WmtaBdQukcTief/752H333bPEzeNTDRgwoOXktP7qq6+2bFvZMIHJkydH+v+3xx57tMog9fr5zW9+k713pECswHcrnvXaSI/n3HXXXVmAKgWtmh9f9XlkvRglJkCAAIEyFtDzpEwbL/UwWfWLTfP6okWLyrRGpVvs9Jz3SSedFDvvvHM2dsG5556rm/0maK50L3+wl0Ta1ruq7fFTYOWss87KerKlX5ZvueWWSIEUy8YJfOc738kGM/3mN7+ZZdT8/tz8fp12pnX39MY5J780BlgK+qUxOZqXU045JQ4++ODo06dP1jsiPbIj+Nqss/6vaSDkFKRKAyEvXLgw+0u5+Dyy/pbOIECAAIHyFNDzpDzbLetdkn4Fal7SKPhp6dGjR/Mur20kcMYZZ7TKKX0R+uUvfxmnnnpqq/022lYg3csfHEgz3fPu8bZ1Trmlx0duuOGGlozTINTpy2gaYNZjDi0s67Xy4x//OH7605/G3XffnT02kk5uvnc/+N6tt+B60bZKnGbb+frXv571XPvRj34U1dXVLcfTOCjNyze+8Y3sEarf/e538fnPf755t9f1EEg9BJNxGksmGd5+++3x/e9/3+eR9TCUlAABAgTKW0DPkzJtv+233z77RbO5+GmqxtQdPz3zbWlfgWS/fPny9r2I3LPBStN93bykRyDSIIUGMW0Wab/XZuPmoGz7Xakyc/7BD34QaVDpkSNHxtFHH91SyWbXVe/rNPVrek+xrL/AggUL4ktf+lKkHj2PPPJI9OrVa62ZpABV+vLvvXutREUfSJ81Uk/M5sfQfB4pmk5CAgQIEChzAcGTMm3ANCBhmjngrbfeiqVLl8b999+fTR/oF8y2b9Dhw4fHpEmTsl4QaWajNDNGmqrRsvECaZyT9Ct8ek1dwtN6CpKkJQ0mm74cjRo1KjuWZtJIX+ZXHetn40uQnxzq6uoy31Tj1KNn1d4PyTZNX5y636dxI+68887YaaedIg22aVk/gRtvvDH7dT69b6Qxe1KgJP0l7zRm0oEHHhg/+clPIvWYSI9APPnkk2scMHn9rpq/1OnRkdQrMPWOSo9Hpe3k3DwtdBpHJjmnx3SS/T333JPd2+kxHsv6CaTgVOqZ9sYbb2TvHWnQ4zRIbJoKOi0+j6yfp9QECBAgUL4CVYXul03lW/z8ljx9ibzsssuyD97pV6A0kOa9994bu+yyS35R2qnmn/nMZ+LPf/5zS+4nn3xy9mE9zfxi2TiBFPS76aabWmWSpnJNM+ukJf2anL6Epi/+acadYcOGZQOZtjrBRlECZ555Zjat+aqJ03Tn6df6FCz54Q9/mAWp0vE0i1fqkv+xj31s1eTWixBIg2imqXM/uKQAVZqWOwVMvva1r0Wawjj9+03vJ9/97ndXG9/ng+fbbi2Q/I466qjWOwtbKUD1+9//PpsK+vzzz8+CKylRt27d4oorrvDIzmpi696Rgqrp/SPdu81Lum9vvvnmbMwen0eaVbwSIECAQKULCJ6UeQunX4TSL25pQDxL+wmkwfHmzJmTda9PXb8tm04gBU5mzJiR3eMpgGJpH4H063yaNSMFBT3+1z7Gq+aavvynMVD0FlxVpW3XUy+21JMq3ds77rijqbc3kre5Z1p6/CzNkvbBxeeRD4rYJkCAAIFKExA8qbQWVR8CBAgQIECAAAECBAgQIECgTQWMedKmnDIjQIAAAQIECBAgQIAAAQIEKk1A8KTSWlR9CBAgQIAAAQIECBAgQIAAgTYVEDxpU06ZESBAgAABAgQIECBAgAABApUmIHhSaS2qPgQIECBAgAABAgQIECBAgECbCgietCmnzAgQIECAAAECBAgQIECAAIFKExA8qbQWVR8CBAgQIECAAAECBAgQIECgTQUET9qUU2YECBAgQIAAAQIECBAgQIBApQkInlRai6oPAQIECBAgQIAAAQIECBAg0KYCgidtyikzAgQIECBAgAABAgQIECBAoNIEBE8qrUXVhwABAgQIECBAgAABAgQIEGhTAcGTNuWUGQECBAgQIECAAAECBAgQIFBpAoInldai6kOAAAECBAgQIECAAAECBAi0qYDgSZtyyowAAQIECBAgQIAAAQIECBCoNAHBk0prUfUhQIAAAQIECBAgQIAAAQIE2lRA8KRNOWVGgAABAgQIECBAgAABAgQIVJqA4Emltaj6ECBAgAABAgQIECBAgAABAm0qIHjSppwyI0CAAAECBAgQIECAAAECBCpNQPCk0lpUfQgQILAOgauvvjqGDh0as2bNakn53HPPxZAhQ+KJJ55o2WeFAAECBAgQIECAAIH3BARP3AkECBDImcB5550XkyZNiksuuSQaGhpi9uzZcemll0bPnj3juOOOy5mG6hIgQIAAAQIECBBYt0BVU2FZdzIpCBAgQKCSBB5//PG4+OKL4/zzz4+XX345Zs6cGb/61a+iR48elVRNdSFAgAABAgQIECDQJgId2yQXmRAgQIBAWQmcdNJJWdBk5MiR0a1bt/jFL34hcFJWLaiwBAgQIECAAAECm1LAYzubUtu1CBAgUEICu+yyS1aampqa6N69ewmVTFEIECBAgAABAgQIlJaA4ElptYfSECBAYJMIvPbaazF8+PA488wzo7q6Oi688MKora3dJNd2EQIECBAgQIAAAQLlJiB4Um4tprwECBDYSIH58+fHBRdcEPvss08MGzYsbr311pgwYUKMGDFiI3N2OgECBAgQIECAAIHKFBA8qcx2VSsCBAisVSDNrLNixYq4/fbbs14nhx9+eDZw7MMPPxyPPfbYWs9zgAABAgQIECBAgEBeBcy2k9eWV28CBAgQIECAAAECBAgQIECgKAE9T4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq4DgSV5bXr0JECBAgAABAgQIECBAgACBogQET4pikogAAQIECBAgQIAAAQIECBDIq8D/B0h5iqDP+YsCAAAAAElFTkSuQmCC",
- "text/html": [
- ""
- ]
+ }
},
"metadata": {},
"output_type": "display_data"
@@ -3092,12 +3032,20 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 13,
"id": "f98c1ae2-f9e8-4a9e-b600-45906b50224d",
"metadata": {
"scrolled": true
},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Freeing default Gurobi environment\n"
+ ]
+ }
+ ],
"source": [
"# Free Gurobi resources: Model and environment\n",
"model.dispose()\n",
@@ -3107,7 +3055,7 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3 (ipykernel)",
+ "display_name": "gurobi_ml",
"language": "python",
"name": "python3"
},
@@ -3121,7 +3069,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.7"
+ "version": "3.11.6"
}
},
"nbformat": 4,
diff --git a/optimization202/Modeling_Session_1/nonlinear_regression_exercise.ipynb b/optimization202/Modeling_Session_1/nonlinear_regression_exercise.ipynb
index 089e92e..2c50abf 100755
--- a/optimization202/Modeling_Session_1/nonlinear_regression_exercise.ipynb
+++ b/optimization202/Modeling_Session_1/nonlinear_regression_exercise.ipynb
@@ -117,15 +117,14 @@
"id": "f6ad2892-6047-4bb5-bfea-0c66e01cc80e",
"metadata": {},
"source": [
- "## Problem description\n",
- "### Michaelis Menton Enzyme Kinetics\n",
- "Michaelis-Menten kinetics describes how quickly a reaction happens when an enzyme—a type of molecule that speeds up processes in the body or other reactions—interacts with other molecules. Initially, as the amount of molecules $x$ increases, the reaction speed, $y$, increases. But at a certain point, adding more molecules doesn’t increase the speed much because the enzyme is already working as fast as it can.\n",
+ "### Michaelis-Menten Enzyme Kinetics\n",
+ "[Michaelis-Menten](https://en.wikipedia.org/wiki/Michaelis%E2%80%93Menten_kinetics) kinetics describes how quickly a reaction happens when an enzyme—a type of molecule that speeds up processes in the body or other reactions—interacts with other molecules. Initially, as the amount of molecules $x$ increases, the reaction speed, $y$, increases. But at a certain point, adding more molecules doesn’t increase the speed much because the enzyme is already working as fast as it can.\n",
"\n",
"![image.png](attachment:dfac2263-b4f3-4d9f-808d-c0d7b34ad8e6.png)\n",
"\n",
"Two key things come from this: the maximum speed the enzyme can reach $V_{max}$ and the concentration level at which it’s working at half that maximum speed $K_m$. These insights help us understand efficiency and limitations, which is valuable for making decisions in fields like drug development, where knowing an enzyme's limits can guide dosage or predict interactions.\n",
"\n",
- "In Michaelis Menten kinetics, we can model the speed of an enzymatic reaction can be with the following equations:\n",
+ "In Michaelis-Menten kinetics, we can model the speed of an enzymatic reaction can be with the following equations:\n",
"\n",
"$$\n",
"[\\text{Speed of reaction}] = \\frac{{\\bf V_{max}}\\cdot [\\text{Initial concentration}]}{K_m + [\\text{Initial concentration}]}\n",
@@ -137,7 +136,7 @@
"\n",
"where the regression parameters that we will find in this notebook are $V_{max}$ and $K_m$. We will be given data points $i$ for \n",
"- The independent variable $x$ which is the concentration. Each data point will be $x_i$.\n",
- "- The dependent variable $y(x)$ which is the speed of the reaction that we are trying to model. Each data point will be $y_i$.\n"
+ "- The dependent variable $y(x)$ which is the speed of the reaction that we are trying to model. Each data point will be $y_i$."
]
},
{
@@ -188,7 +187,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": null,
"id": "b2a60227-b5f8-44cb-9b0b-08fbcc7e873c",
"metadata": {},
"outputs": [],
@@ -261,996 +260,10 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": null,
"id": "0693fe8b-08ac-4bd2-af7f-dcbd531888e3",
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- " \n",
- " "
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.plotly.v1+json": {
- "config": {
- "plotlyServerURL": "https://plot.ly"
- },
- "data": [
- {
- "mode": "markers",
- "name": "Training data",
- "type": "scatter",
- "x": [
- 0.05,
- 0.1,
- 0.25,
- 0.5,
- 1,
- 2.5,
- 5,
- 8,
- 20,
- 30
- ],
- "y": [
- 2.98,
- 5.2,
- 14.38,
- 30.3,
- 48.99,
- 86.25,
- 112.57,
- 136.24,
- 169.97,
- 177.71
- ]
- }
- ],
- "layout": {
- "autosize": true,
- "template": {
- "data": {
- "bar": [
- {
- "error_x": {
- "color": "rgb(36,36,36)"
- },
- "error_y": {
- "color": "rgb(36,36,36)"
- },
- "marker": {
- "line": {
- "color": "white",
- "width": 0.5
- },
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "bar"
- }
- ],
- "barpolar": [
- {
- "marker": {
- "line": {
- "color": "white",
- "width": 0.5
- },
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "barpolar"
- }
- ],
- "carpet": [
- {
- "aaxis": {
- "endlinecolor": "rgb(36,36,36)",
- "gridcolor": "white",
- "linecolor": "white",
- "minorgridcolor": "white",
- "startlinecolor": "rgb(36,36,36)"
- },
- "baxis": {
- "endlinecolor": "rgb(36,36,36)",
- "gridcolor": "white",
- "linecolor": "white",
- "minorgridcolor": "white",
- "startlinecolor": "rgb(36,36,36)"
- },
- "type": "carpet"
- }
- ],
- "choropleth": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "type": "choropleth"
- }
- ],
- "contour": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "colorscale": [
- [
- 0,
- "#440154"
- ],
- [
- 0.1111111111111111,
- "#482878"
- ],
- [
- 0.2222222222222222,
- "#3e4989"
- ],
- [
- 0.3333333333333333,
- "#31688e"
- ],
- [
- 0.4444444444444444,
- "#26828e"
- ],
- [
- 0.5555555555555556,
- "#1f9e89"
- ],
- [
- 0.6666666666666666,
- "#35b779"
- ],
- [
- 0.7777777777777778,
- "#6ece58"
- ],
- [
- 0.8888888888888888,
- "#b5de2b"
- ],
- [
- 1,
- "#fde725"
- ]
- ],
- "type": "contour"
- }
- ],
- "contourcarpet": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "type": "contourcarpet"
- }
- ],
- "heatmap": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "colorscale": [
- [
- 0,
- "#440154"
- ],
- [
- 0.1111111111111111,
- "#482878"
- ],
- [
- 0.2222222222222222,
- "#3e4989"
- ],
- [
- 0.3333333333333333,
- "#31688e"
- ],
- [
- 0.4444444444444444,
- "#26828e"
- ],
- [
- 0.5555555555555556,
- "#1f9e89"
- ],
- [
- 0.6666666666666666,
- "#35b779"
- ],
- [
- 0.7777777777777778,
- "#6ece58"
- ],
- [
- 0.8888888888888888,
- "#b5de2b"
- ],
- [
- 1,
- "#fde725"
- ]
- ],
- "type": "heatmap"
- }
- ],
- "heatmapgl": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "colorscale": [
- [
- 0,
- "#440154"
- ],
- [
- 0.1111111111111111,
- "#482878"
- ],
- [
- 0.2222222222222222,
- "#3e4989"
- ],
- [
- 0.3333333333333333,
- "#31688e"
- ],
- [
- 0.4444444444444444,
- "#26828e"
- ],
- [
- 0.5555555555555556,
- "#1f9e89"
- ],
- [
- 0.6666666666666666,
- "#35b779"
- ],
- [
- 0.7777777777777778,
- "#6ece58"
- ],
- [
- 0.8888888888888888,
- "#b5de2b"
- ],
- [
- 1,
- "#fde725"
- ]
- ],
- "type": "heatmapgl"
- }
- ],
- "histogram": [
- {
- "marker": {
- "line": {
- "color": "white",
- "width": 0.6
- }
- },
- "type": "histogram"
- }
- ],
- "histogram2d": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "colorscale": [
- [
- 0,
- "#440154"
- ],
- [
- 0.1111111111111111,
- "#482878"
- ],
- [
- 0.2222222222222222,
- "#3e4989"
- ],
- [
- 0.3333333333333333,
- "#31688e"
- ],
- [
- 0.4444444444444444,
- "#26828e"
- ],
- [
- 0.5555555555555556,
- "#1f9e89"
- ],
- [
- 0.6666666666666666,
- "#35b779"
- ],
- [
- 0.7777777777777778,
- "#6ece58"
- ],
- [
- 0.8888888888888888,
- "#b5de2b"
- ],
- [
- 1,
- "#fde725"
- ]
- ],
- "type": "histogram2d"
- }
- ],
- "histogram2dcontour": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "colorscale": [
- [
- 0,
- "#440154"
- ],
- [
- 0.1111111111111111,
- "#482878"
- ],
- [
- 0.2222222222222222,
- "#3e4989"
- ],
- [
- 0.3333333333333333,
- "#31688e"
- ],
- [
- 0.4444444444444444,
- "#26828e"
- ],
- [
- 0.5555555555555556,
- "#1f9e89"
- ],
- [
- 0.6666666666666666,
- "#35b779"
- ],
- [
- 0.7777777777777778,
- "#6ece58"
- ],
- [
- 0.8888888888888888,
- "#b5de2b"
- ],
- [
- 1,
- "#fde725"
- ]
- ],
- "type": "histogram2dcontour"
- }
- ],
- "mesh3d": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "type": "mesh3d"
- }
- ],
- "parcoords": [
- {
- "line": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "parcoords"
- }
- ],
- "pie": [
- {
- "automargin": true,
- "type": "pie"
- }
- ],
- "scatter": [
- {
- "fillpattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- },
- "type": "scatter"
- }
- ],
- "scatter3d": [
- {
- "line": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "marker": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "scatter3d"
- }
- ],
- "scattercarpet": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "scattercarpet"
- }
- ],
- "scattergeo": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "scattergeo"
- }
- ],
- "scattergl": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "scattergl"
- }
- ],
- "scattermapbox": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "scattermapbox"
- }
- ],
- "scatterpolar": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "scatterpolar"
- }
- ],
- "scatterpolargl": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "scatterpolargl"
- }
- ],
- "scatterternary": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "type": "scatterternary"
- }
- ],
- "surface": [
- {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- },
- "colorscale": [
- [
- 0,
- "#440154"
- ],
- [
- 0.1111111111111111,
- "#482878"
- ],
- [
- 0.2222222222222222,
- "#3e4989"
- ],
- [
- 0.3333333333333333,
- "#31688e"
- ],
- [
- 0.4444444444444444,
- "#26828e"
- ],
- [
- 0.5555555555555556,
- "#1f9e89"
- ],
- [
- 0.6666666666666666,
- "#35b779"
- ],
- [
- 0.7777777777777778,
- "#6ece58"
- ],
- [
- 0.8888888888888888,
- "#b5de2b"
- ],
- [
- 1,
- "#fde725"
- ]
- ],
- "type": "surface"
- }
- ],
- "table": [
- {
- "cells": {
- "fill": {
- "color": "rgb(237,237,237)"
- },
- "line": {
- "color": "white"
- }
- },
- "header": {
- "fill": {
- "color": "rgb(217,217,217)"
- },
- "line": {
- "color": "white"
- }
- },
- "type": "table"
- }
- ]
- },
- "layout": {
- "annotationdefaults": {
- "arrowhead": 0,
- "arrowwidth": 1
- },
- "autotypenumbers": "strict",
- "coloraxis": {
- "colorbar": {
- "outlinewidth": 1,
- "tickcolor": "rgb(36,36,36)",
- "ticks": "outside"
- }
- },
- "colorscale": {
- "diverging": [
- [
- 0,
- "rgb(103,0,31)"
- ],
- [
- 0.1,
- "rgb(178,24,43)"
- ],
- [
- 0.2,
- "rgb(214,96,77)"
- ],
- [
- 0.3,
- "rgb(244,165,130)"
- ],
- [
- 0.4,
- "rgb(253,219,199)"
- ],
- [
- 0.5,
- "rgb(247,247,247)"
- ],
- [
- 0.6,
- "rgb(209,229,240)"
- ],
- [
- 0.7,
- "rgb(146,197,222)"
- ],
- [
- 0.8,
- "rgb(67,147,195)"
- ],
- [
- 0.9,
- "rgb(33,102,172)"
- ],
- [
- 1,
- "rgb(5,48,97)"
- ]
- ],
- "sequential": [
- [
- 0,
- "#440154"
- ],
- [
- 0.1111111111111111,
- "#482878"
- ],
- [
- 0.2222222222222222,
- "#3e4989"
- ],
- [
- 0.3333333333333333,
- "#31688e"
- ],
- [
- 0.4444444444444444,
- "#26828e"
- ],
- [
- 0.5555555555555556,
- "#1f9e89"
- ],
- [
- 0.6666666666666666,
- "#35b779"
- ],
- [
- 0.7777777777777778,
- "#6ece58"
- ],
- [
- 0.8888888888888888,
- "#b5de2b"
- ],
- [
- 1,
- "#fde725"
- ]
- ],
- "sequentialminus": [
- [
- 0,
- "#440154"
- ],
- [
- 0.1111111111111111,
- "#482878"
- ],
- [
- 0.2222222222222222,
- "#3e4989"
- ],
- [
- 0.3333333333333333,
- "#31688e"
- ],
- [
- 0.4444444444444444,
- "#26828e"
- ],
- [
- 0.5555555555555556,
- "#1f9e89"
- ],
- [
- 0.6666666666666666,
- "#35b779"
- ],
- [
- 0.7777777777777778,
- "#6ece58"
- ],
- [
- 0.8888888888888888,
- "#b5de2b"
- ],
- [
- 1,
- "#fde725"
- ]
- ]
- },
- "colorway": [
- "#1F77B4",
- "#FF7F0E",
- "#2CA02C",
- "#D62728",
- "#9467BD",
- "#8C564B",
- "#E377C2",
- "#7F7F7F",
- "#BCBD22",
- "#17BECF"
- ],
- "font": {
- "color": "rgb(36,36,36)"
- },
- "geo": {
- "bgcolor": "white",
- "lakecolor": "white",
- "landcolor": "white",
- "showlakes": true,
- "showland": true,
- "subunitcolor": "white"
- },
- "hoverlabel": {
- "align": "left"
- },
- "hovermode": "closest",
- "mapbox": {
- "style": "light"
- },
- "paper_bgcolor": "white",
- "plot_bgcolor": "white",
- "polar": {
- "angularaxis": {
- "gridcolor": "rgb(232,232,232)",
- "linecolor": "rgb(36,36,36)",
- "showgrid": false,
- "showline": true,
- "ticks": "outside"
- },
- "bgcolor": "white",
- "radialaxis": {
- "gridcolor": "rgb(232,232,232)",
- "linecolor": "rgb(36,36,36)",
- "showgrid": false,
- "showline": true,
- "ticks": "outside"
- }
- },
- "scene": {
- "xaxis": {
- "backgroundcolor": "white",
- "gridcolor": "rgb(232,232,232)",
- "gridwidth": 2,
- "linecolor": "rgb(36,36,36)",
- "showbackground": true,
- "showgrid": false,
- "showline": true,
- "ticks": "outside",
- "zeroline": false,
- "zerolinecolor": "rgb(36,36,36)"
- },
- "yaxis": {
- "backgroundcolor": "white",
- "gridcolor": "rgb(232,232,232)",
- "gridwidth": 2,
- "linecolor": "rgb(36,36,36)",
- "showbackground": true,
- "showgrid": false,
- "showline": true,
- "ticks": "outside",
- "zeroline": false,
- "zerolinecolor": "rgb(36,36,36)"
- },
- "zaxis": {
- "backgroundcolor": "white",
- "gridcolor": "rgb(232,232,232)",
- "gridwidth": 2,
- "linecolor": "rgb(36,36,36)",
- "showbackground": true,
- "showgrid": false,
- "showline": true,
- "ticks": "outside",
- "zeroline": false,
- "zerolinecolor": "rgb(36,36,36)"
- }
- },
- "shapedefaults": {
- "fillcolor": "black",
- "line": {
- "width": 0
- },
- "opacity": 0.3
- },
- "ternary": {
- "aaxis": {
- "gridcolor": "rgb(232,232,232)",
- "linecolor": "rgb(36,36,36)",
- "showgrid": false,
- "showline": true,
- "ticks": "outside"
- },
- "baxis": {
- "gridcolor": "rgb(232,232,232)",
- "linecolor": "rgb(36,36,36)",
- "showgrid": false,
- "showline": true,
- "ticks": "outside"
- },
- "bgcolor": "white",
- "caxis": {
- "gridcolor": "rgb(232,232,232)",
- "linecolor": "rgb(36,36,36)",
- "showgrid": false,
- "showline": true,
- "ticks": "outside"
- }
- },
- "title": {
- "x": 0.05
- },
- "xaxis": {
- "automargin": true,
- "gridcolor": "rgb(232,232,232)",
- "linecolor": "rgb(36,36,36)",
- "showgrid": false,
- "showline": true,
- "ticks": "outside",
- "title": {
- "standoff": 15
- },
- "zeroline": false,
- "zerolinecolor": "rgb(36,36,36)"
- },
- "yaxis": {
- "automargin": true,
- "gridcolor": "rgb(232,232,232)",
- "linecolor": "rgb(36,36,36)",
- "showgrid": false,
- "showline": true,
- "ticks": "outside",
- "title": {
- "standoff": 15
- },
- "zeroline": false,
- "zerolinecolor": "rgb(36,36,36)"
- }
- }
- },
- "title": {
- "text": "Nonlinear regression example: Reaction Speed vs Concentration"
- },
- "xaxis": {
- "autorange": true,
- "range": [
- -1.8746865203761753,
- 31.924686520376177
- ],
- "title": {
- "text": "x"
- },
- "type": "linear"
- },
- "yaxis": {
- "autorange": true,
- "range": [
- -11.439466019417475,
- 192.1294660194175
- ],
- "title": {
- "text": "y"
- },
- "type": "linear"
- }
- }
- },
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Create a figure\n",
"fig = go.Figure()\n",
@@ -1305,7 +318,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": null,
"id": "a4d15290-83c7-46c9-bd7d-de202a18a2cf",
"metadata": {},
"outputs": [],
@@ -1329,7 +342,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": null,
"id": "7b93ec63-f6a6-49dc-a4a6-a7be0cb21c5e",
"metadata": {},
"outputs": [],
@@ -1390,7 +403,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": null,
"id": "38341cae-b427-4855-a4a8-064ba50e3cd5",
"metadata": {},
"outputs": [],
@@ -1436,7 +449,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": null,
"id": "2fb54b23-d80e-4a37-8ccf-d5c78d31c50e",
"metadata": {},
"outputs": [],
@@ -1455,7 +468,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": null,
"id": "7ed492af-3d18-44ba-afb8-7e8b53efaec0",
"metadata": {},
"outputs": [],