{ "cells": [ { "cell_type": "markdown", "id": "8ef12ff3", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [ "model" ] }, "source": [ "# Running a single calculation\n", "\n", "In this example, we demonstrate how to perform a single model run using the library.\n", "\n", "First, we import the necessary classes:" ] }, { "cell_type": "code", "execution_count": 33, "id": "4989b056", "metadata": {}, "outputs": [], "source": [ "from probabilistic_library import RunProject, RunValuesType, DistributionType, ReliabilityProject\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "id": "46070a87", "metadata": {}, "source": [ "Let's consider the Hunt's model for wave run-up with three output parameters:" ] }, { "cell_type": "code", "execution_count": 34, "id": "8f01ff35", "metadata": {}, "outputs": [], "source": [ "from utils.models import hunt_3_outputs" ] }, { "cell_type": "markdown", "id": "4b607ea7", "metadata": {}, "source": [ "We define a project using the `RunProject()` class and specify the model to be used:" ] }, { "cell_type": "code", "execution_count": 35, "id": "784295d2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model hunt_3_outputs:\n", "Input parameters:\n", " t_p\n", " tan_alpha\n", " h_s\n", " h_crest\n", " h\n", "Output parameters:\n", " Z\n", " xi\n", " r_u\n" ] } ], "source": [ "project = RunProject()\n", "project.model = hunt_3_outputs\n", "\n", "project.model.print()" ] }, { "cell_type": "markdown", "id": "c324179b", "metadata": {}, "source": [ "We define the input variables as follows:" ] }, { "cell_type": "code", "execution_count": 36, "id": "dc80365a", "metadata": {}, "outputs": [], "source": [ "project.variables[\"t_p\"].distribution = DistributionType.log_normal\n", "project.variables[\"t_p\"].mean = 6\n", "project.variables[\"t_p\"].deviation = 2\n", "\n", "project.variables[\"tan_alpha\"].distribution = DistributionType.deterministic\n", "project.variables[\"tan_alpha\"].mean = 0.333333\n", "\n", "project.variables[\"h_s\"].distribution = DistributionType.log_normal\n", "project.variables[\"h_s\"].mean = 3\n", "project.variables[\"h_s\"].deviation = 1\n", "\n", "project.variables[\"h_crest\"].distribution = DistributionType.log_normal\n", "project.variables[\"h_crest\"].mean = 10\n", "project.variables[\"h_crest\"].deviation = 0.05\n", "\n", "project.variables[\"h\"].distribution = DistributionType.exponential\n", "project.variables[\"h\"].shift = 0.5\n", "project.variables[\"h\"].scale = 1" ] }, { "cell_type": "markdown", "id": "704602bf", "metadata": {}, "source": [ "### Running model\n", "\n", "It is possible to run a model assuming that the input parameters are based on one of the following:\n", "* Mean values\n", "* Median values\n", "* Design values\n", "* Values derived from a Reliability Project\n", "\n", "These types are explained below.\n", "\n", "#### Mean values\n", "\n", "This is configured using `RunValuesType.mean_values`, and the model results are stored in `project.realization.output_values`. When printing the result, the first array corresponds to the input parameters and the second array to the output parameters, which were displayed by using `project.model.print()`." ] }, { "cell_type": "code", "execution_count": 37, "id": "7a390139", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[6, 0.3333, 3, 10, 1.5] -> [4.172, 1.443, 4.328]\n" ] } ], "source": [ "project.settings.run_values_type = RunValuesType.mean_values\n", "\n", "project.run()\n", "project.realization.print()" ] }, { "cell_type": "markdown", "id": "529035c2", "metadata": {}, "source": [ "#### Median values\n", "\n", "This is set using `RunValuesType.median_values`." ] }, { "cell_type": "code", "execution_count": 38, "id": "40d9cb15", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[5.692, 0.3333, 2.846, 10, 1.193] -> [4.807, 1.405, 4]\n" ] } ], "source": [ "project.settings.run_values_type = RunValuesType.median_values\n", "\n", "project.run()\n", "project.realization.print()" ] }, { "cell_type": "markdown", "id": "8096ca0f", "metadata": {}, "source": [ "#### Design values" ] }, { "cell_type": "markdown", "id": "0ded44e4", "metadata": {}, "source": [ "This is set using `RunValuesType.design_values`.\n", "\n", "Two attributes of the input variables are relevant here: `design_quantile` and `design_factor`. The default values for these parameters are $0.5$ and $1.0$, respectively, which lead to the same results as option `median_values`." ] }, { "cell_type": "code", "execution_count": 39, "id": "fc6998af", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[5.692, 0.3333, 2.846, 10, 1.193] -> [4.807, 1.405, 4]\n" ] } ], "source": [ "project.settings.run_values_type = RunValuesType.design_values\n", "\n", "project.run()\n", "project.realization.print()" ] }, { "cell_type": "markdown", "id": "e3765212", "metadata": {}, "source": [ "Below, we define the `design_quantile` and `design_factor` attributes for two input parameters: `h_crest` and `h`." ] }, { "cell_type": "code", "execution_count": 40, "id": "77b8714d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[5.692, 0.3333, 2.846, 10.55, 3.329] -> [3.218, 1.405, 4]\n" ] } ], "source": [ "project.variables[\"h_crest\"].design_quantile = 0.65\n", "project.variables[\"h_crest\"].design_factor = 0.95\n", "\n", "project.variables[\"h\"].design_quantile = 0.95\n", "project.variables[\"h\"].design_factor = 1.05\n", "\n", "project.run()\n", "project.realization.print()" ] }, { "cell_type": "markdown", "id": "103b7929", "metadata": {}, "source": [ "#### Values derived from a Reliability Project\n", "\n", "It is also possible to perform a single run using a model that has already been defined in a reliability project:" ] }, { "cell_type": "code", "execution_count": 41, "id": "ec9c30be", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[6, 0.3333, 3, 10, 1.5] -> [4.172, 1.443, 4.328]\n" ] } ], "source": [ "reliability_project = ReliabilityProject()\n", "reliability_project.model = hunt_3_outputs\n", "\n", "reliability_project.variables[\"t_p\"].distribution = DistributionType.log_normal\n", "reliability_project.variables[\"t_p\"].mean = 6\n", "reliability_project.variables[\"t_p\"].deviation = 2\n", "\n", "reliability_project.variables[\"tan_alpha\"].distribution = DistributionType.deterministic\n", "reliability_project.variables[\"tan_alpha\"].mean = 0.333333\n", "\n", "reliability_project.variables[\"h_s\"].distribution = DistributionType.log_normal\n", "reliability_project.variables[\"h_s\"].mean = 3\n", "reliability_project.variables[\"h_s\"].deviation = 1\n", "\n", "reliability_project.variables[\"h_crest\"].distribution = DistributionType.log_normal\n", "reliability_project.variables[\"h_crest\"].mean = 10\n", "reliability_project.variables[\"h_crest\"].deviation = 0.05\n", "\n", "reliability_project.variables[\"h\"].distribution = DistributionType.exponential\n", "reliability_project.variables[\"h\"].shift = 0.5\n", "reliability_project.variables[\"h\"].scale = 1\n", "\n", "project = RunProject()\n", "project.model = reliability_project.model\n", "project.settings.run_values_type = RunValuesType.mean_values\n", "\n", "project.run()\n", "project.realization.print()" ] }, { "cell_type": "markdown", "id": "0439425f", "metadata": {}, "source": [ "### Loop\n", "\n", "It is possible to loop over different input-parameter values:" ] }, { "cell_type": "code", "execution_count": 42, "id": "0f97399d", "metadata": { "tags": [ "gallery", "model" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAGwCAYAAABRgJRuAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQfBJREFUeJzt3Qd4lFXe//9PeiMJkIRQEgKh1xRQUEFBQOwFASnPru3nPq4gKMqKBRFFQeyUddXdVXeVIigWFlEEUVBsJITee68ppE5m5n/dxwf/i4IESDIz97xf1zWGMwnJlzPjzCf399z3CXC73W4BAAD4uEBPFwAAAFAZCDUAAMAWCDUAAMAWCDUAAMAWCDUAAMAWCDUAAMAWCDUAAMAWguVHXC6X9u7dq+joaAUEBHi6HAAAUAHWJfUKCgpUv359BQae/niMX4UaK9AkJyd7ugwAAHAOdu3apaSkpNN+3q9CjXWExrJt2zbVrl3b0+XYlsPh0Oeff64rrrhCISEhni7Htphn5tlOeD4z178nPz/fHJQ48T5+On4Vak60nKxJiYmJ8XQ5tn5xioyMNHNMqGGefR3PZ+bZbhw+/Bp9pqUjLBQGAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAAC2QKgBAADnLa/Yoe+3HpEnEWoAAMB5ydmVq2snL9Edb/2obYcL5SnBHvvJAADAp7ndbv3zm+2a8Ok6OZxuJdWKUGFpucfqIdQAAICzlltUpgdnrdQX6w6Y8ZVt6urZvu0VGxEiTyHUAACAs7J8xzENm56tPbnFCg0K1GPXttIfOqcoICDAozNJqAEAABXicrn1xpKteu6zDSp3uZUSF6mpgzLVtkGsvAGhBgAAnNHRwjI98N4KfbnhkBlf276exvdpp+hwz7Wbfo1QAwAAftcP246adtP+/BKFBgfqievaaOCFyR5vN/0aoQYAAJy23fTqV1v04oKNcrrcSk2IMu2mVvVi5I0INQAA4DcOHy/V/TNXaMmmw2Z8U0YDjbuxraLCvDc6eG9lAADAI77dcljDZ6zQoYJShYcE6skb2qpfhySvazf9GqEGAAAYVotp8qJNmrRwk1xuqVmdGpo6OFPNE6PlCwg1AABAB/NLdN/MFfp2y8/7N1lHZsbe0EaRob4TFXynUgAAUCWWbDpk1s8cPl6myNAgs3amT2aSz802oQYAAD9V7nTp5S82aerizXK7pZZ1ozVlUKaa1qkhX0SoAQDAD+3PL9EDs1brh+1HzXhQp4Z6/NrWCg8Jkq8i1AAA4GfWHgvQE1OX6ViRQzXCgvVMn3a6Pq2+fB2hBgAAP+FwujTxs416Y711NMahNvVjTLupcXyU7IBQAwCAH9iTW2y2OrB22Lb8oVOyHr22jU+3m36NUAMAgM0tWHtAD87KUV6xQ9HhwerbsFSPXNtKITYKNJZATxcAAACqRlm5S0/NXau7/vWTCTRpSbH68M+dlR7ntuWU+2yomTBhgrlc83333efpUgAA8Dq7jhap32vL9I+l28z4jksaa9bdF6th7UjZlU+2n3788Ue99tprat++vadLAQDA68xfvU8jZ69UQUm5YiNC9Hy/NPVqnWg+53A4ZVc+F2qOHz+uwYMH64033tC4ceN+92tLS0vN7YT8/Hzz0eFwmBuqxom5ZY6rFvNcPZhn5tmXlJa79Oz8Dfr397vMOD05Vi/3b68GNSN+81z2pdfoitYa4HZb1xD0Hbfeeqtq166tl156Sd26dVN6erpefvnlU37tE088obFjx/7m/mnTpiky0r6H3wAA/udQsfTWpiDtLvx5J+0e9V26JtmlIJ9daPL/Kyoq0qBBg5SXl6eYmBh7HKmZMWOGsrKyTPupIh5++GGNGDHipCM1ycnJ6t69u+Li4qqwUv9mJeoFCxaoV69eCgkJ8XQ5tsU8M892wvP5/MxbtV8vfbRGhaVO1YoM0cSb26pb8wTbzPWJTsuZ+Eyo2bVrl4YPH24eiPDw8Ar9nbCwMHP7NetB9JUH0pcxz8yznfB8Zp69UYnDqSfnrtW073ea8QWNamnSwAzVi42w1XO6onX6TKhZvny5Dh48qMzMzF/uczqd+vrrrzVlyhSzdiYoyF7n2wMAcDpbDh3XkHeztH5/gQICpHu6NdH9PZsr2A79pnPkM6GmR48eWrVq1Un33X777WrZsqUeeughAg0AwG/Myd6tR+esVlGZU3FRoXrplnRdepp2kz/xmVATHR2ttm3bnnRfVFSUWRvz6/sBALCj4jKnxny8Wu/9tNuMO6fW1qQBGaoTU7FlGXbnM6EGAAB/tulAgYZMy9LGA8dNu2nY5c00rEczBQX+fLYTfDzULF682NMlAABQ5Wb9tEujP1qtEodLCdFheuWWdF3cNJ6Zt1OoAQDAzgpLy02Y+SBrjxl3aRpv1s9YwQa/RagBAMALrd+fb85u2nKoUFaHaUSv5rqnW1MF0m46LUINAABexLrQ/4wfd+mJj9eYbQ8SY8LMYuBOqVw09kwINQAAeImCEocembNan+TsNePLmifoxf5piqtBu6kiCDUAAHiB1XvyNHRalrYfKTJnND14RQv976WptJvOAqEGAAAPt5ve+W6Hnpq7TmVOl+rHhmvyoAx1SKnN43KWCDUAAHhIfolDo95faTaktPRsVUfP9U1TrahQHpNzQKgBAMADcnblauj0LO06WqyQoAA9dGVL3dmlsQKsK+vhnBBqAACo5nbTm99s1/hP18nhdCupVoSmDMpUenJNHofzRKgBAKCa5BaVaeTslVqw9oAZX9mmrp7t216xESE8BpWAUAMAQDXI2nlM907L1p7cYoUGBerRa1rpjxel0G6qRIQaAACqkMvl1t+XbtXE+RtU7nIrJS5SUwZmql1SLPNeyQg1AABUkaOFZXpwVo4WrT9oxte2r6fxfdopOpx2U1Ug1AAAUAV+3H5Uw6Zna19eiUKDAzXmutYadGFD2k1ViFADAEAlt5te/WqLXlywUU6XW6nxUebsptb1Y5jnKkaoAQCgkhw+Xqr7Z67Qkk2HzfimjAYad2NbRYXxdlsdmGUAACrBsi1HNHxGtg4WlCo8JFBPXt9W/Tom0W6qRoQaAADOg9VimrJos15ZuFEut9SsTg1NHZyp5onRzGs1I9QAAHCODhaU6L4ZK/TtliNm3K9Dksbe0EaRoby9egKzDgDAOVi66bDum5mtw8fLFBkaZNbO9MlMYi49iFADAMBZKHe69MrCTZry5Wa53VLLutHm7KamdWowjx5GqAEAoIL255Vo2Ixs/bDtqBkPvLChuf5MeEgQc+gFCDUAAFTA4g0HNeK9HHOV4KjQII2/ub2uT6vP3HkRQg0AAL/D4XTphc836m9fbTHjNvVjTLupcXwU8+ZlCDUAAJyGtaO2tdXB8h3HzNjaVfuRq1vRbvJShBoAAE7hi7UH9ODsHOUWORQdHqyJN7fXVe3qMVdejFADAMB/KSt3aeL89fr70m1mnJYUq8kDM9UwLpJ58nKEGgAA/s+uo0UaOj1bObtyzfiOSxpr1FUtzS7b8H6EGgAAJM1fvV8jZ+eooKRcMeHBer5fmq5oU5e58SGEGgCAXystd2r8vPV669vtZpzRsKYmD8xQUi3aTb6GUAMA8FvbDxdq6PQsrd6Tb8b/e2mqHuzdQiFBtJt8EaEGAOCX5q7cq1Hvr9Lx0nLVigzRC/3TdHnLRE+XhfNAqAEA+JUSh1NPzV2rd7/facYXNKqlSQMzVC82wtOl4TwRagAAfmPLoeMa8m6W1u8vUECAdE+3Jrq/Z3MF026yBUINAMAvfJi9R4/MWaWiMqfiokL10i3purR5gqfLQiUi1AAAbK24zKknPl6jmT/tMuPOqbU1aUCG6sSEe7o0VDJCDQDAtjYdKNCQaVnaeOC4aTcNu7yZhvVopqDAAE+XhipAqAEA2NKsn3bp8Y/WqNjhVEJ0mF65JV0XN433dFmoQoQaAICtFJaWa/RHq/VB1h4z7tI03qyfsYIN7I1QAwCwjfX7883ZTVsOFcrqMI3o1Vz3dGuqQNpNfoFQAwDweW63WzN+3GUWBJeWu5QYE2YWA3dKjfN0aahGhBoAgE+zrgj8yAer9HHOXjO+rHmCXuyfprgatJv8DaEGAOCzVu/J09BpWdp+pMic0TSydwv9qWsq7SY/RagBAPhku+md73boqf+sU1m5S/VjwzV5UIY6pNT2dGnwIEINAMCn5Jc4NOr9lZq3ar8Z92xVR8/1TVOtqFBPlwYPI9QAAHzGyt255mJ6u44WKzgwQKOuaqk7uzRWgHVlPfg9Qg0AwCfaTW9+s13jP10nh9OtpFoRmjIoU+nJNT1dGrwIoQYA4NXyihwaOTtHn689YMa92yRqYt80xUaEeLo0eBlCDQDAa2XtPKZ7p2VrT26xQoMC9eg1rfTHi1JoN+GUCDUAAK/jcrn196VbNXH+BpW73EqJi9SUgZlqlxTr6dLgxQg1AACvcqywTA/MytGi9QfN+Jr29TS+TzvFhNNuwu8j1AAAvMZPO45pxKxV2pdXotDgQD1+bWsN7tSQdhMqhFADAPCKdtOCPQH69Puf5HS5lRofZc5ual0/xtOlwYcQagAAHnX4eKnun5GtJTuDrJO3dWN6fY27qZ1qhPEWhbPDMwYA4DHLthzR8BnZOlhQqpBAt8Ze30YDOzWi3YRzQqgBAFQ7q8U0ZdFmvbJwo1xuqUlClPrWz1O/DkkEGpyzQPmI8ePH64ILLlB0dLTq1KmjG2+8URs2bPB0WQCAs3SwoER/+Mf3eumLnwNN3w5J+uDuTqofyVTCT0LNV199pSFDhui7777TggUL5HA4dMUVV6iwsNDTpQEAKmjppsO6+pWl+nbLEUWEBOmFfml6vl+aIkNpHOD8+cyzaP78+SeN33rrLXPEZvny5br00ks9VhcA4MzKnS69snCTpny5WW631CIxWlMHZ6hpnWimD/4Xan4tLy/PfKxdu/Zpv6a0tNTcTsjPzzcfraM81g1V48TcMsdVi3muHszz+dufX2KuPfPj9mNmfEvHBnrs6pYKDwn6zfzyulH1HD441xWtNcBtbX3qY1wul66//nrl5uZq6dKlp/26J554QmPHjv3N/dOmTVNkJM1bAKhq644F6N+bA1VYHqCwQLf6p7rUMcHn3nbgYUVFRRo0aJA5oBETE2OvUPPnP/9Zn376qQk0SUlJZ3WkJjk5Wfv27VNcXFw1Vet/rERtrXvq1auXQkK4rDnz7Nt4Pp/jvJl20xa9tmSbGbeqG61XbmmvxvFRzLOHOXzwNdp6/46Pjz9jqPG59tPQoUM1d+5cff31178baCxhYWHm9mvWg+grD6QvY56ZZzvh+Vxxe3OLde/0bC3f8XO76Q+dU8zu2la7iXn2HiE+9F5Y0Tp9JtRYB5TuvfdezZkzR4sXL1bjxo09XRIA4Fe+WHtAD87OUW6RQ9FhwZpwc3uzISVQHXwm1Finc1trYT766CNzrZr9+/eb+2NjYxUREeHp8gDAr5WVuzRx/nr9fenP7aZ2DWI1ZVCGUuJO3W4C/DrUvPrqq+Zjt27dTrr/zTff1G233eahqgAAu44Waej0bOXsyjWTcfsljTTqqpYKCz5zuwnwy1Djg+uZAcD25q/er7/MzlF+SbliwoP1XL809W5T19NlwU/5TKgBAHiP0nKnxs9br7e+3W7G6ck1NXlghpJrc7kMeA6hBgBwVnYcKdTQadlatefni6De1bWxRvZuqdBgn9l5BzZFqAEAVNh/Vu7TqPdXqqC0XDUjQ8zeTT1aJTKD8AqEGgDAGZU4nBr3n7V657udZtwxpZYmDcxQ/ZqcfQrvQagBAPyurYeOa8i0bK3b9/P+eX/u1kQP9Gqu4CDaTfAuhBoAwGl9tGKPHvlglQrLnIqLCtWLt6TrsuYJzBi8EqEGAPAbxWVOjf1kjWb8uMuMOzWubdpNiTHhzBa8FqEGAHCSzQcLNOTdbG04UKCAAOney5tp2OVNaTfB6xFqAAC/mL18t0Z/uFrFDqfia4TplQHpuqRpPDMEn0CoAQCoqKxcoz9co/ezdpvZuKRpnF66JV11omk3wXcQagDAz23YX6B73l2uLYcKFRgg3dezuYZ0b6ogawD4EEINAPgpa0+9mT/u0piP16i03KXEGKvdlKHOqXGeLg04J4QaAPBDx0vL9eicVfpoxV4ztk7TfrF/muJqhHm6NOCcEWoAwM+s2Zune6dla+vhQtNievCKFvrfS1MVSLsJPo5QAwB+1G565/udemruWpWVu1QvNtzsrN2xUW1PlwZUCkINAPiB/BKHHv5gldmQ0tKjZR093y9NtaJCPV0aUGkINQBgc6t252nItCztPFqk4MAAjbqqpe7s0lgB1pX1ABsh1ACAjdtNb3+7Xc/MW68yp0sNakZoyqAMZTSs5enSgCpBqAEAG8orcugv7+foszUHzPiK1ol6rm+aYiNDPF0aUGUINQBgM9k7j+ne6dnafaxYIUEBeuTqVrrt4ka0m2B7hBoAsFG76R9Lt2nCp+tV7nKrYe1I025qn1TT06UB1YJQAwA2cKywTA/OytHC9QfN+Jp29TT+5naKCafdBP9BqAEAH/fT9qMaNj1be/NKFBocqMevba3BnRrSboLfIdQAgI9yudz629db9MLnG+V0udU4Psq0m9rUj/V0aYBHEGoAwAcdOV6qEe/l6KuNh8z4hvT6evqmdqoRxss6/BfPfgDwMd9vPaJhM7J1IL9UYcGBevKGNurfMZl2E/weoQYAfITVYvrrl5v10hcb5XJLTRKi9NfBHdSibrSnSwO8AqEGAHzAoYJS3TczW99sPmLGN2cm6akb2ygylJdx4AT+bwAAL/fN5sMaPmOFDh8vVURIkJ66sa36dkjydFmA1yHUAIAXt5teWbhJkxdtktsttUiM1tTBGWpah3YTcCqEGgDwQgfySzR8Rra+23rUjAdckKwx17VRRGiQp0sDvBahBgC8jHWa9oiZK3SksExRoUF6pk873ZDewNNlAV6PUAMAXqLc6dILCzbq1cVbzLhVvRhNHZSh1IQani4N8AmEGgDwAntzi81WBz/tOGbGf+icokevaaXwENpNQEURagDAwxatP2CuDpxb5FB0WLAm3Nxe17Sv5+myAJ9DqAEAD3E4XXrusw16/eutZtyuQazZuyklLorHBDgHhBoA8IDdx4p07/RsZe/MNePbLm6kh69uqbBg2k3AuSLUAEA1+2zNfo2claP8knLFhAfruX5p6t2mLo8DcJ4INQBQTUrLnZrw6Xq9+c12M05LrqkpAzOUXDuSxwCorlCTmZl5Vt80ICBAH3/8sRo04LoKAGDZeaRIQ6ZladWePDO+q2tjjezdUqHBgUwQUJ2hZsWKFXrggQdUo8aZr5Xgdrs1YcIElZaWVkZ9AODz5q3ap4dmr1RBablqRobohX5p6tEq0dNlAf7bfho5cqTq1KlToa994YUXzqcmALCFEodT4/6zVu98t9OMO6bU0qSBGapfM8LTpQH+G2q2bdumhISECn/TtWvXqn79+udTFwD4tG2HCzXk3Syt3Zdvxvd0a6L7ezVXSBDtJsCjoSYlJeWsvmlycvK51gMAPu+jFXv0yAerVFjmVO2oUL10S7oua17xXwwBnJvz+pWhXbt22rVr1/l8CwCwVbtp1PsrNXzGChNoOjWurU+HdyXQAL5wSvf27dvlcDgqrxoA8FGbDxZoyLvZ2nCgQAEB0r3dm2pYj2YKpt0EVBuuUwMA52n28t0a/eFqFTuciq8RppdvSVeXZvHMK+BLoaZr166KiGAVPwD/VFRWrtEfrtH7WbvN+JKmcWb9TJ3ocE+XBvil8wo18+bNq7xKAMCHbNhfYC6mt/ngcQUGSPf1bK4h3ZsqyBoA8N6FwtbVgc9m7YwVdoqLi8+nLgDwStYFRmf8sFPXT1lqAk2d6DBNu6uzWT9DoAF8INTcdNNNys39eSfZihgwYID27dt3PnUBgNc5Xlqu+2au0KgPVqm03KVLmydo3vCu6pwa5+nSAFS0/WT9ZnLbbbcpLCysQpNWUlLC5AKwFesieve/t0pbDxeaIzIPXNFcd1/aRIG0mwDfCjW33nrrWX3TwYMHKyYm5lxrAgCvYf1St3R/gEa+/oPKyl2qFxuuyQMz1LFRbU+XBuBcQs2bb75ZkS8DAFvJL3Fo1OyVmrctSJJLPVrW0fP90lQrKtTTpQE4Ba5TAwCnsHJ3roZOy9bOo0UKDHDrL71b6H8va6oA68p6ALwSoQYAftVueuvb7Xpm3jo5nG41qBmu/knHdecljQg0gJfzue1ip06dqkaNGik8PFydOnXSDz/84OmSANhEXpFDd7+zXGM/WWsCzRWtE/XRPRepUbSnKwNgu1Azc+ZMjRgxQmPGjFFWVpbS0tLUu3dvHTx40NOlAfBx2TuP6epJS/TZmgMKCQrQmOta67U/dFBsRIinSwNQHaGmuk/dfvHFF3XXXXfp9ttvV+vWrfW3v/1NkZGR+uc//1mtdQCwV7vpja+3qt/flmlPbrEa1o7U+3++WLdf0ph2E2D3NTUul0tPP/20CRQHDhzQxo0blZqaqtGjR5u20J133lklhZaVlWn58uV6+OGHf7kvMDBQPXv21LJly075d0pLS83thPz8fPPRujoyu4tXnRNzyxxXLeb5/B0rKtNDH6zWlxsOm/GVbRL1zI2tFR0e8pv55flctZjn6uPwwed0RWs961Azbtw4vf3225o4caI5anJC27Zt9fLLL1dZqDl8+LCcTqcSExNPut8ar1+//pR/Z/z48Ro7duxv7v/yyy/NER5UrQULFjDF1YB5Pjdb86W3NwUptyxAwQFu3dTIpUui92jJoj3MswfxfGauT6WoqEhVEmr+9a9/6fXXX1ePHj109913/3K/tb7ldOHCU6yjOtYanP8+UpOcnKzu3bsrLo7LmldlorZemHr16qWQENYjMM/exeVy642l2zXl+81yutxqFBepV25pr9b1Tn3BUJ7P1YN5rj4OH3yNPtFpqfRQs2fPHjVt2vSUbamqPJQVHx+voKAg0/L6b9a4bt26p/w71rYOp9rawXoQfeWB9GXMM/PsbY4cL9WI93L01cZDZnxDen09fVM71Qg780shz+fqwTxXnxAfei+saJ1nvVDYWqC7ZMmS39w/e/ZsZWRkqKqEhoaqQ4cOWrhw4UlByhpfdNFFVfZzAdjD91uPmLObrEATFhyoCX3a6eVb0isUaAD4hrP+v/nxxx83e0FZR2ysUPHBBx9ow4YNpi01d+5cVSWrlWT97I4dO+rCCy80a3gKCwvN2VAAcCpWi+mvX27WS19slMstNUmI0tTBmWpZl/3pAPl7qLnhhhv0ySef6Mknn1RUVJQJOZmZmeY+qz9XlW655RYdOnTI/Mz9+/crPT1d8+fP/83iYQCwHCoo1X0zs/XN5iNmfHNmkp66sY0iQzk6A9jROf2f3bVrV4+tUB86dKi5AcDv+XbzYQ2bsUKHj5cqIiRIT93YVn07JDFpgI3x6woA27WbXlm4SZMXbZLbLTVPrKGpgzLVLJG9DgC7O+tQY13w7vd2qbWuJQMAnnAgv0TDZ2Tru61HzXjABckac10bRYQG8YAAfuCsQ82cOXNOGluncWdnZ5sL8p3qQncAUB2+3nhI989coSOFZYoKDdIzfdrphvQGTD7gR85pofCv9e3bV23atDEbTlbVFYUB4FTKnS69uGCjXv1qi2k3taoXo6mDMpSaUIMJA/xMpa2p6dy5s/70pz9V1rcDgDPal1esYdOz9eP2Y2Y8uFNDjb62tcJDaDcB/qhSQk1xcbEmTZqkBg041Augeixaf0APvJejY0UOcwG9CTe307Xt6zP9gB8761BTq1atkxYKu91uFRQUmA0i33nnncquDwBO4nC69NxnG/T611vNuF2DWE0ZlKGUuChmCvBzZx1qXnrppZNCjXU2VEJCgjp16mQCDwBUld3HinTv9Gxl78w149subqSHr26psGDaTQDOIdTcdtttzBuAavf5mv16cFaO8kvKFRMerIl903Rl21NvZgvAP1Uo1KxcubLC37B9+/bnUw8AnKSs3KXxn67Tm99sN+O05JqaMjBDybUjmSkAZx9qrD2WrJaTtX7m91hfw8X3AFSWnUeKNHR6llbuzjPju7o21sjeLRUaHMgkAzi3ULNt27aKfBkAVJp5q/bpodkrVVBarpqRIXq+b5p6tmbzWgDnGWpSUlIq8mUAcN5KHE49/Z91+vd3O8y4Q0otTRqYoQY1I5hdAFVznZq1a9dq586dKisrO+n+66+//ly/JQA/t+1woYa8m6W1+/LN+O7LmuiBK5orJIh2E4AqCDVbt27VTTfdpFWrVp20zubEad6sqQFwLj5asUePfLBKhWVO1Y4K1Yv909StRR0mE0CFnfWvP8OHD1fjxo118OBBc8G9NWvW6Ouvv1bHjh21ePHis/12APyc1W56+IOVGj5jhQk0FzaurXnDuhJoAFT9kZply5Zp0aJFio+PNxfes25dunTR+PHjNWzYMLNjNwBUxOaDxzV0WpbW7y+QdbB3aPemGt6jmYJpNwGojlBjtZeio6PNn61gs3fvXrVo0cIsJt6wYcO51ADAD72/fLce+3C1ih1OxdcI1cu3ZKhLs3hPlwXAn0JN27ZtlZOTY1pQ1tYIEydOVGhoqF5//XWlpqZWTZUAbKOorFyPf7RGs5fvNuOLm8Tp5VvSVScm3NOlAfC3UPPYY4+psLDQ/PnJJ5/Utddeq65duyouLk4zZ86sihoB2MTGAwXm7KZNB48rMEAa3qO5hl7eVEHWAACqO9T07t37lz83bdpU69ev19GjR3+zezcAnGCdJTnrp916/OPVKnG4VCc6TK8MyNBFTeKYJACeO/vpnXfe+eVIzQm1a9cm0AA4pcLSct0/c4X+8v5KE2i6NovXvOFdCTQAPB9q7r//fiUmJmrQoEGaN28e16UBcFpr9+bruslL9eGKvabFNLJ3C719+4WKrxHGrAHwfKjZt2+fZsyYYY7M9O/fX/Xq1dOQIUP07bffVn51AHy23fTu9zt041+/0dbDhaobE64Zf+qsId2bKpD1MwC8ZU1NcHCwWRxs3YqKijRnzhxNmzZN3bt3V1JSkrZs2VI1lQLwCQUlDj38wSrNXbnPjLu3SNAL/dPNVYIBwCv3frJYVxS2Fg4fO3ZMO3bs0Lp16yqvMgA+Z/WePA2ZlqUdR4oUHBigv1zZQv+vSypHZwB4b6g5cYTm3Xff1cKFC5WcnKyBAwdq9uzZlV8hAJ9oN/1r2Q6zu3aZ02V21LZ21rZ22AYArw01AwYM0Ny5c81RGmtNzejRo3XRRRdVTXUAvF5esUMPzV6p+Wv2m3HPVol6vl971Yyk3QTAy0NNUFCQ3nvvPdN2sv4MwH+t2JVr9m7afaxYIUEBeviqVrr9kkZc4gGAb4Qaq+UEwL9Z7aZ/LN2mZ+evl8PpVnLtCE0ZmKm05JqeLg2AHzuvhcIA/E9uUZkenLVSX6w7YMZXta2rCTe3V2xEiKdLA+DnCDUAKmz5jmO6d1qW9uaVKDQoUKOvbaX/6ZxCuwmAVyDUADgjl8ut15ds1XOfbZDT5VajuEhNGZSptg1imT0AXoNQA+B3HS0s04j3VmjxhkNmfF1afT1zU1tFh9NuAuDj2yRcfvnlGjt27G/uty7AZ30OgH38sO2orn5liQk0YcGBGt+nnSYNSCfQALDHkZrFixdr1apVys7ONmdCRUVFmfvLysr01VdfVUWNADzQbvrr4s16ccFGudxSakKUpg7KVKt6MTwWAOxzpMbyxRdfaP/+/ercubO2b99e+VUB8JjDx0t165s/6PnPfw40fTIa6JOhXQg0AOwZaqydua2jMu3atdMFF1xgjt4A8H3fbjmsq15ZoiWbDis8JFAT+7bXC/3TFBXG8jsA3u+sX6kCAgLMx7CwMLM797hx43TllVfqoYceqor6AFQD64ymyYs2adLCTeboTPPEGubspuaJ0cw/APuGGutKov/tscceU6tWrXTrrbdWZl0AqsnB/BINn7FCy7YeMeP+HZM09vq2ighlGxQANg8127ZtU0JCwkn33XzzzWrZsqV++umnyqwNQBVbsumQ7p+5QoePlykyNEhP39RWN2UkMe8A/CPUpKSknPL+Nm3amBsA71fudOnlLzZp6uLNsg6+tqwbramDM9UkoYanSwOAc8bqP8DP7Msr1vDpK/TD9qNmPKhTQz1+bWuFh9BuAuDbCDWAH/ly/UFzdeBjRQ7VCAs2F9OzrhAMAHZAqAH8gMPp0vOfbdBrX28147YNYjRlYKYaxf988UwAsANCDWBze3KLzc7aWTtzzfi2ixvp4atbKiyYdhMAeyHUADa2YO0BPTgrR3nFDkWHB+u5vu11Zdt6ni4LAKoEoQawobJyl56dv17/WLrNjNOSYs3F9JJrR3q6NACoMoQawGZ2HS3S0GlZytmdZ8Z3dmmsh65sqdDgc9oVBQB8BqEGsJH5q/dp5OyVKigpV2xEiJ7vl6ZerRM9XRYAVAtCDWADJQ6nxs9bp7eX7TDjzIY1NXlQphrUjPB0aQBQbQg1gI/bcaRIw99bqTV78834fy9L1YNXtFBIEO0mAP6FUAP4sKzDAXrk1WUqLHWqdlSoXuifpu4t6ni6LADwCEIN4KPtpic+XqsZm6xrzTh1YaPamjQwQ3Vjwz1dGgB4DKEG8DFbDh3XkHeztH5/gQLk1p8va6IRV7RQMO0mAH6OUAP4kDnZu/XonNUqKnMqLipU/RsW6/6eTQk0ACDJJ1YSbt++XXfeeacaN26siIgINWnSRGPGjFFZWZmnSwOqRXGZUyNn5ej+mTkm0FyUGqePh1ykljXdPAIA4EtHatavXy+Xy6XXXntNTZs21erVq3XXXXepsLBQzz//vKfLA6rUxgMFpt206eBxBQRIw3s0072XN5PLWc7MA4CvhZorr7zS3E5ITU3Vhg0b9OqrrxJqYFtut1uzlu/W4x+tVonDpYToML0yIF0XN4k3n3c5PV0hAHgXnwg1p5KXl6fatWv/7teUlpaa2wn5+T9fx8PhcJgbqsaJuWWOz11habnGfLJOH+XsM+MuTeP0/M1tFVcj7DfzyzxXLea5ejDP1cfhg68dFa01wG39OuhjNm/erA4dOpijNFYb6nSeeOIJjR079jf3T5s2TZGRbOwH77SnUHprY5AOlgSYs5uuTnapZwO3AgM8XRkAeEZRUZEGDRpkDmjExMR4Z6gZNWqUnn322d/9mnXr1qlly5a/jPfs2aPLLrtM3bp109///vezPlKTnJysffv2KS4urhL+BThdol6wYIF69eqlkJAQJqmCrP8VZ/60R0/NW2922U6MCdNL/drrgka1mGcP4vnMPNuNwwdfo6337/j4+DOGGo+2nx544AHddtttv/s11vqZE/bu3avu3bvr4osv1uuvv37G7x8WFmZuv2Y9iL7yQPoy5rniCkocemTOGn2Ss9eMu7dI0Av9081Vgpln78DzmXm2mxAfei+saJ0eDTUJCQnmVhHWERor0FhtpzfffFOBgT5xNjpwRqv35GnotCxtP1Kk4MAAjezdQnd1TVUg/SYAsN9CYSvQWO2mlJQUs47m0KFDv3yubt26Hq0NOJ9207+W7dDT/1mnMqfL7KhtbXXQIeXU7SYAgA1CjdX7sxYHW7ekpKSTPueD65wB5RU7NOr9lfp09X4zGz1bJer5fu1VM/LM7SYAwKn5RA/HWndjhZdT3QBfs2JXrq6ZtMQEmpCgAI2+trXe+GMHAg0A+MORGsAOrBD+j6Xb9Oz89XI43UquHaEpAzOVllzT06UBgC0QaoBqkFtUpgdnrdQX6w6Y8VVt62rCze0VG+EbZx4AgC8g1ABVbPmOo7p3Wrb25pUoNChQj13bSn/onKIAayMnAEClIdQAVcTlcuv1JVv13Gcb5HS51SguUlMGZaptg1jmHACqAKEGqAJHjpfqgVk5Wrzh58sPXJdWX8/c1FbR4bSbAKCqEGqASvbDtqO6d3qWDuSXKiw4UGOua6OBFybTbgKAKkaoASqx3fTXxZv14oKNcrml1IQoTR2UqVb1Tr9PCQCg8hBqgEpwqKBUI95boSWbDptxn4wGeurGtooK438xAKguvOIC5+nbzYc1fOYKE2zCQwL15A1t1a9DEu0mAKhmhBrgHFlnNE1auEmTFm2SdXHrZnVqaOrgTDVPjGZOAcADCDXAOTiYX6LhM1Zo2dYjZty/Y5LGXt9WEaFBzCcAeAihBjhLSzYd0v0zV+jw8TJFhgbp6Zva6qaMkzdaBQBUP0INUEHlTpde/mKTpi7ebNpNLetGm4vpNa1TgzkEAC9AqAEqYF9esYZPX6Efth8140GdGurxa1srPIR2EwB4C0INcAZfrj9oTtc+VuRQjbBgPdOnna5Pq8+8AYCXIdQAp+FwuvT8Zxv02tdbzbhN/RhzMb1G8VHMGQB4IUINcAp7cot177QsZe3MNeNbL0rRw1e3ot0EAF6MUAP8yoK1B/TgrBzlFTsUHR6siTe311Xt6jFPAODlCDXA/ykrd+nZ+ev1j6XbzDgtKVaTB2aqYVwkcwQAPoBQA0jadbRIQ6dnK2fXz+2mO7s01kNXtlRocCDzAwA+glADvzd/9T6NnL1SBSXlio0I0fP90tSrdaLfzwsA+BpCDfxWablTz/xnnd5etsOMMxrW1OSBGUqqRbsJAHwRoQZ+afvhQg2dnqXVe/LN+H8vS9WDV7RQSBDtJgDwVYQa+J1Pcvbq4Q9W6XhpuWpFhujF/unq3rKOp8sCAJwnQg38RonDqSfnrtW073ea8QWNamnSwAzVi43wdGkAgEpAqIFf2HLouIa8m6X1+wsUECAN6dZU9/VspmDaTQBgG4Qa2N6c7N16dM5qFZU5FRcVqpcHpKtrswRPlwUAqGSEGthWcZlTYz5erfd+2m3GF6XG6ZUB6aoTE+7p0gAAVYBQA1vadKBAQ6ZlaeOB46bdNOzyZhrWo5mCAgM8XRoAoIoQamArbrdbs5bv1uMfrVaJw6WE6DC9cku6Lm4a7+nSAABVjFAD2ygsLdfoD1frg+w9Zty1Wbw5XdsKNgAA+yPUwBbW7cvX0GlZ2nKoUFaHaUSv5rqnW1MF0m4CAL9BqIHPt5um/7BLYz9Zo9JylxJjwjRpQIY6pcZ5ujQAQDUj1MBnFZQ49Mic1eYKwZZuLRL0Qr80xdWg3QQA/ohQA5+0ek+eaTdtP1Jkzmga2buF/tQ1lXYTAPgxQg18rt30znc79NTcdSpzulQ/NlyTB2WoQ0ptT5cGAPAwQg18Rn6JQ6PeX6l5q/abcc9WdfR8vzTVjAz1dGkAAC9AqIFPyNmVq6HTs7TraLFCggL00JUtdWeXxgqwrqwHAAChBr7QbvrnN9s14dN1cjjdSqoVoSmDMpWeXNPTpQEAvAxHauC1covKNHL2Si1Ye8CMr2xTV8/2ba/YiBBPlwYA8EKEGnilrJ3HdO+0bO3JLVZoUKAevaaV/nhRCu0mAMBpEWrgVVwut95YslXPfbZB5S63UuIiNWVgptolxXq6NACAlyPUwGscLSzTg7NytGj9QTO+pn09TejTTtHhtJsAAGdGqIFX+HH7UdNu2p9fotDgQI25rrUGXdiQdhMAoMIINfB4u+nVr7boxQUb5XS5lRofZc5ual0/hkcGAHBWCDXwmMPHS3X/zBVasumwGd+YXl/jbmqnGmE8LQEAZ493D3jEsi1HNHxGtg4WlCo8JFBPXt9W/Tom0W4CAJwzQg2qldVimrxokyYt3CSXW2pap4b+OjhTzROjeSQAAOeFUINqc7CgRPfNWKFvtxwx434dkjT2hjaKDOVpCAA4f7yboFos3XRY983M1uHjZYoICdLTN7VVn8wkZh8AUGkINahS5U6XXv5ik6Yu3iy3W2pZN9qc3WS1nQAAqEyEGlQZ65ozD8xerR+2HTXjgRcma8x1bRQeEsSsAwAqHaEGVWLdsQA9MXWZjhU5FBUapGf6tNMN6Q2YbQBAlSHUoFI5nC499/lGvb7eOhrjUOt6MZo6OFON46OYaQBAlSLUoNJYO2oPm56t5TuOmfHgC5M1mnYTAKCaEGpQKb5Ye0APzs5RbpHDXBG4X0qpHrmulUJYPwMAqCaB1fWDYE9l5S6Nm7tW/+9fP5lA0z4pVh/d01npcW5PlwYA8DM+F2pKS0uVnp5uLqe/YsUKT5fj13YdLVK/15bp70u3mfEdlzTWrLsvUsPakZ4uDQDgh3yu/fSXv/xF9evXV05OjqdL8WvzV+/XyNk5KigpV0x4sJ7vl6Yr2tQ1n3M4XJ4uDwDgh3wq1Hz66af6/PPP9f7775s/V+SojnU7IT8/33x0OBzmhrNXWu7Ss59t1L+/22nG6cmxerl/ezWoGfHLnP76I6oG81w9mGfm2W4cPvgaXdFaA9xu6zqv3u/AgQPq0KGDPvzwQ8XHx6tx48bKzs42rajTeeKJJzR27Njf3D9t2jRFRtIiOVuHS6S3NgZpV2GAGV9e36Vrk10K8rkmJgDAlxQVFWnQoEHKy8tTTEyMb4caq8Srr75al1xyiR577DFt3769QqHmVEdqkpOTtW/fPsXFxVVT9fYwb9V+PfLRGhWWOlUrMkTP9mmr7i0STpuoFyxYoF69eikkJKTaa/UXzDPzbCc8n5nr32O9f1sHNM4Uajzafho1apSeffbZ3/2adevWmZZTQUGBHn744bP6/mFhYeb2a9YbLW+2FVPicOqpuWv17vc/t5suaFRLkwZmqF5sxBn/LvNcPZhn5tlOeD4z16dS0fdsj4aaBx54QLfddtvvfk1qaqoWLVqkZcuW/SagdOzYUYMHD9bbb79dxZX6p62HjmvItGyt25evgADpnm5NdH/P5gqm3wQA8EIeDTUJCQnmdiaTJk3SuHHjfhnv3btXvXv31syZM9WpU6cqrtI/fZi9R4/MWaWiMqfiokL10i3purT5mR8rAAA8xSfOfmrYsOFJ4xo1apiPTZo0UVJSkoeqsqfiMqee+HiNZv60y4w7p9bWKwMylBgT7unSAADw/VCD6rH5YIGGvJutDQcKTLtp2OXNNKxHMwUF/ny2EwAA3swnQ02jRo3MGVGoPLOX79boD1er2OFUQnSYXrklXRc3jWeKAQA+wydDDSpPUVm5HvtwtT7I2mPGXZrGm/UzVrABAMCXEGr82Pr9+Rrybpa2HCqU1WEa0au57unWVIG0mwAAPohQ44es1t3MH3dpzMdrzLYHiTFhmjQgQ51SuSAhAMB3EWr8zPHScj06Z5U+WrHXjLu1SNAL/dIUV4N2EwDAtxFq/MiavXkaOi1b2w4XmjOaRvZuoT91TaXdBACwBUKNn7Sb3vl+p9nuoKzcpfqx4Zo8KEMdUmp7ujQAACoNocbm8kscevj9VfrPqn1m3LNVHT3fL001I0M9XRoAAJWKUGNjK3fnmnbTzqNFCgkK0ENXttSdXRorwLqyHgAANkOosWm76c1vtmv8p+vkcLqVVCtCUwZlKj25pqdLAwCgyhBqbCavyKGRs3P0+doDZnxlm7p6tm97xUZUbNt2AAB8FaHGRrJ3HjPtpj25xQoNCtSj17TSHy9Kod0EAPALhBobcLnc+sfSbXp2/nqVu9xKiYvUlIGZapcU6+nSAACoNoQaH3essEwPzMrRovUHzfia9vU0oU87RYfTbgIA+BdCjQ/7cftRDZuerX15JQoNDtSY61pr0IUNaTcBAPwSocZH202vfrVFLy7YKKfLrdT4KHN2U+v6MZ4uDQAAjyHU+JjDx0t1/8wVWrLpsBnfmF5f425qpxphPJQAAP/GO6EPWbbliIbPyNbBglKFhwTqyevbql/HJNpNAAAQanyD1WKasmizXlm4US631LRODU0dlKkWdaM9XRoAAF6DIzVe7mBBie6bsULfbjlixn07JOnJG9ooMpSHDgCA/8Y7oxdbuumw7pu5wqyjiQgJ0rgb2+rmDkmeLgsAAK9EqPFC5U6XXlm4SVO+3Cy3W2qRGK2pgzNN2wkAAJwaocbL7M8r0bAZ2fph21EzHnhhssZc10bhIUGeLg0AAK9GqPEiizcc1Ij3cnS0sExRoUF6pk873ZDewNNlAQDgEwg1XsDhdJkL6b26eIsZt64XoymDMpSaQLsJAICKItR42N7cYt07PVvLdxwz4z90TjG7a9NuAgDg7BBqPGjhugNmM8rcIoeiw4L1bN/2urpdPU+WBACAzyLUeEBZuUsT56/X35duM+P2SbGaMjBTDeMiPVEOAAC2QKipZruOFpl204pduWZ8+yWNNOqqlgoL5uwmAADOB6GmGn22Zr9GzspRfkm5YsKD9Vy/NPVuU7c6SwAAwLYINdWgtNyp8fPW661vt5txRsOamjwwQ0m1aDcBAFBZCDVVbMeRQg2dlq1Ve/LM+E+Xpmpk7xYKCQqs6h8NAIBfIdRUof+s3KdR769UQWm5akWG6IX+abq8ZWJV/kgAAPwWoaYKlDicGveftXrnu51m3DGlliYPylC92Iiq+HEAAIBQU/m2HS7UkHeztHZfvhnf062JRvRqrmDaTQAAVCmO1FSij1bs0SMfrFJhmVNxUaF68ZZ0XdY8oTJ/BAAAOA1CTSW1m574eI1m/LjLjDun1tYrAzKUGBNeGd8eAABUAKHmPOUWlemW177ThgMFCgiQ7r28mYb3aKagwIDz/dYAAOAsEGrOU2xEiFITonSksEyTBqTr4qbx5/stAQDAOSDUnKeAgABNuLm9ucBenWjaTQAAeAqhppKO1kjWDQAAeAqXtQUAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALbgV7t0u91u87GgoEAhIeyqXVUcDoeKioqUn5/PPFch5rl6MM/Ms904fPA12qr1v9/HT8evQs2RI0fMx8aNG3u6FAAAcJasgxKxsbGn/bxfhZratWubjzt37vzdScH5J+rk5GTt2rVLMTExTGcVYZ6rB/PMPNtNvg++RltHaKxAU79+/d/9Or8KNYGBPy8hsgKNrzyQvsyaY+aZebYLns/Ms93E+NhrdEUORrBQGAAA2AKhBgAA2IJfhZqwsDCNGTPGfATz7Ot4PjPPdsLzmbmuDAHuM50fBQAA4AP86kgNAACwL0INAACwBUINAACwBUINAACwBb8JNVOnTlWjRo0UHh6uTp066YcffvB0SbYyfvx4XXDBBYqOjladOnV04403asOGDZ4uy/YmTJiggIAA3XfffZ4uxZb27Nmj//mf/1FcXJwiIiLUrl07/fTTT54uy1acTqdGjx5ttq+x5rhJkyZ66qmnzrjHD37f119/reuuu85cgdd6jfjwww9P+rw1v48//rjq1atn5r1nz57atGmTz0+rX4SamTNnasSIEeZ07qysLKWlpal37946ePCgp0uzja+++kpDhgzRd999pwULFpgN06644goVFhZ6ujTb+vHHH/Xaa6+pffv2ni7Flo4dO6ZLLrnEbPj36aefau3atXrhhRdUq1YtT5dmK88++6xeffVVTZkyRevWrTPjiRMnavLkyZ4uzacVFhaa9zrrF/pTseZ40qRJ+tvf/qbvv/9eUVFR5n2xpKREPs3tBy688EL3kCFDfhk7nU53/fr13ePHj/doXXZ28OBB69cs91dffeXpUmypoKDA3axZM/eCBQvcl112mXv48OGeLsl2HnroIXeXLl08XYbtXXPNNe477rjjpPv69OnjHjx4sMdqshtJ7jlz5vwydrlc7rp167qfe+65X+7Lzc11h4WFuadPn+72ZbY/UlNWVqbly5ebQ2v/vQeUNV62bJlHa7OzvLy8kzYRReWyjopdc801Jz2vUbk+/vhjdezYUf369TMt1YyMDL3xxhtMcyW7+OKLtXDhQm3cuNGMc3JytHTpUl111VXMdRXZtm2b9u/ff9Lrh7WvkrU0w9ffF22/oeXhw4dNzzYxMfGk+63x+vXrPVaXnblcLrPGwzp037ZtW0+XYzszZswwbVSr/YSqs3XrVtMWsVrXjzzyiJnvYcOGKTQ0VLfeeitTX0lGjRpldo1u2bKlgoKCzOv1008/rcGDBzPHVWT//v3m46neF098zlfZPtTAM0cRVq9ebX7bQuXatWuXhg8fbtYtWYveUbXh3DpS88wzz5ixdaTGel5baxAINZXnvffe07vvvqtp06apTZs2WrFihfmlyFrgyjzjbNm+/RQfH2/S/4EDB0663xrXrVvXY3XZ1dChQzV37lx9+eWXSkpK8nQ5tmO1Uq0F7pmZmQoODjY3a5G2teDP+rP1Wy4qh3VWSOvWrU+6r1WrVtq5cydTXIlGjhxpjtYMGDDAnF32hz/8Qffff785oxJVo+7/vffZ8X3R9qHGOlTcoUMH07P979/ArPFFF13k0drsxFqLZgWaOXPmaNGiReb0TFS+Hj16aNWqVea32RM362iCdaje+rMV4FE5rPbpry9LYK37SElJYYorUVFRkVnn+N+s57H1Oo2q0bhxYxNe/vt90WoBWmdB+fr7ol+0n6yeuHUY03rxv/DCC/Xyyy+b091uv/12T5dmq5aTdfj4o48+MteqOdGXtRafWddAQOWw5vbX65SsUzGt66iwfqlyWUcLrEWsVvupf//+5tpWr7/+urmh8ljXUrHW0DRs2NC0n7Kzs/Xiiy/qjjvuYJrPw/Hjx7V58+aTFgdbv/hYJ29Yc221+MaNG6dmzZqZkGNdK8hq+VnXGPNpbj8xefJkd8OGDd2hoaHmFO/vvvvO0yXZivVUOtXtzTff9HRptscp3VXnk08+cbdt29ac6tqyZUv366+/XoU/zT/l5+ebSxJYr8/h4eHu1NRU96OPPuouLS31dGk+7csvvzzla/Ktt976y2ndo0ePdicmJprnd48ePdwbNmxw+7oA6z+eDlYAAADny/ZragAAgH8g1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1AA4J926dTOXWreLgIAAc6tZs+Z5f69GjRr98v1yc3MrpT4AZ0aoAWBrVsCw9nuriDfffNNsWnm+fvzxR73//vvn/X0AnB1CDQCv5XA4qvXnWUdp6tSpc97fJyEhwWwcCKB6EWoAnDOXy6W//OUv5g28bt26euKJJ874d/75z3+a3ZjDwsJUr149DR069JfPWe2aV199Vddff73Zfdzavdli7f6emZmp8PBwpaamauzYsSovLzefs7avs36utfOw9T2tnYaHDRv2S4tsx44dZsftE+2gs2F93/T0dFOz9f1r1Kihe+65R06nUxMnTjT/ZisEnagTgGcFe/jnA/Bhb7/9tkaMGKHvv/9ey5Yt02233aZLLrlEvXr1OuXXW4HF+voJEyboqquuUl5enr755pvfBAnr81bLKDg4WEuWLNEf//hHTZo0SV27dtWWLVv0pz/9yXztmDFjTJvnpZde0owZM0xY2r9/v3JycsznP/jgA6WlpZmvv+uuu87p32j9vE8//VTz5883f+7bt6+2bt2q5s2b66uvvtK3336rO+64Qz179lSnTp3O6WcAqCSe3iYcgG+67LLL3F26dDnpvgsuuMD90EMPnfbv1K9f3/3oo4+e9vPWS9J999130n09evRwP/PMMyfd9+9//9tdr1498+cXXnjB3bx5c3dZWdkpv2dKSor7pZdeOuO/x/rZc+bMOem+MWPGuCMjI935+fm/3Ne7d293o0aN3E6n85f7WrRo4R4/fvxJf/fLL7803/PYsWNn/NkAKgftJwDnrH379ieNrXbSwYMHT/m11v179+5Vjx49fvd7duzY8aSxddTlySefNK2fEzfrqMu+fftUVFSkfv36qbi42LSlrPvnzJnzS2uqshYaR0dH/zJOTExU69atFRgYeNJ9p/t3A6g+tJ8AnLOQkJCTxtaaFWudzalERERU6Htaa2n+2/Hjx80amj59+vzma601NsnJydqwYYO++OILLViwwKx5ee6550xr6Nf1Vda/8Wz+3QCqD6EGQLWwjnZYRz0WLlyo7t27V/jvWQuErdDStGnT036NFZiuu+46cxsyZIhatmypVatWmb8bGhpqFvYCsD9CDYBqYy0Cvvvuu80ZQ9ZC4YKCArNQ+N577z3t33n88cd17bXXmrOPrEW6VtvHakmtXr1a48aN01tvvWVCi7VINzIyUu+8844JOSkpKebvW0Hq66+/1oABA8zZUfHx8TzigE2xpgZAtbn11lvNWU1//etfzZlKVljZtGnT7/6d3r17a+7cufr88891wQUXqHPnzuZspxOhxbq2zBtvvGHOurLW+FhtqE8++URxcXHm89Z6nO3bt6tJkybm+jEA7CvAWi3s6SIAwNOsdTHWIuMbb7yxUr7f4sWLTZvt2LFjlbL1AoAzI9QAwP+FGmvhsXWEZ/fu3ec1J9ZRKOtaNiUlJYQaoBqxpgYApF/aYEFBQec9H/Pmzftli4eYmBjmF6gmHKkBAAC2wEJhAABgC4QaAABgC4QaAABgC4QaAABgC4QaAABgC4QaAABgC4QaAABgC4QaAAAgO/j/AMTxYwA/zhyxAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "h_crest_values = np.arange(0.5, 11.0, 0.5)\n", "z_value = []\n", "\n", "for val in h_crest_values:\n", " reliability_project.variables[\"h_crest\"].mean = val\n", "\n", " project.run()\n", " z_value.append(project.realization.output_values[0])\n", "\n", "plt.figure()\n", "plt.plot(h_crest_values, z_value)\n", "plt.grid()\n", "plt.xlabel(\"h crest [m]\")\n", "plt.ylabel(\"z value [-]\")\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "base", "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.12.10" } }, "nbformat": 4, "nbformat_minor": 5 }