{ "cells": [ { "cell_type": "markdown", "id": "d4253caf", "metadata": {}, "source": [ "# Allocation using PartitionedProcess\n", "\n", "\n", "`PartitionedProcess` is the new base class for *wcEcoli* processes.\n", "`Requester` and `Evolver` run one after the other, with requester calling a partitioned process' `calculate_request` and the evolving calling the `evolve_state`.\n", "`Allocator` is a process that reads the requests placed for all the processes, and allocates them for the next update.\n", "\n", "`PartitionedProcess`, `Requester`, and `Evolver` can all be found in [ecoli.processes.partition](https://covertlab.github.io/vivarium-ecoli/reference/api/ecoli.processes.partition.html). `Allocator` can be found in [ecoli.processes.allocator](https://covertlab.github.io/vivarium-ecoli/reference/api/ecoli.processes.allocator.html). " ] }, { "cell_type": "code", "execution_count": 1, "id": "22695844", "metadata": {}, "outputs": [], "source": [ "# Make sure notebook runs out of vivarium-ecoli directory\n", "import sys, os\n", "\n", "# get the path to the notebook, and change working directory\n", "notebook_path = sys.path[0][:sys.path[0].index('notebooks')]\n", "sys.path.append(notebook_path)\n", "os.chdir(sys.path[-1])\n", "cwd = os.getcwd()\n", "\n", "# print(cwd)" ] }, { "cell_type": "code", "execution_count": 2, "id": "e262c855", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "from vivarium.core.process import Process\n", "from vivarium.core.store import Store\n", "from vivarium.core.engine import Engine, pp\n", "from vivarium.core.composer import Composite\n", "from vivarium.core.composition import simulate_process, simulate_composite\n", "from vivarium.plots.topology import plot_topology\n", "\n", "from ecoli.processes.allocator import Allocator\n", "from ecoli.processes.partition import PartitionedProcess, Evolver, Requester\n", "\n", "process_row = 1.2\n", "topology_settings = {\n", " 'buffer': 1,\n", " 'show_ports': False,\n", " 'node_size': 10000,\n", " 'dashed_edges': True,\n", " 'node_distance': 4,\n", " 'graph_format': 'hierarchy',\n", " 'coordinates': {\n", " 'example': (1,process_row),\n", " 'Requester': (0,process_row),\n", " 'Evolver': (3,process_row),\n", " }\n", "}" ] }, { "cell_type": "markdown", "id": "ddfdf589", "metadata": {}, "source": [ "## Make a Partitioned Process" ] }, { "cell_type": "code", "execution_count": 3, "id": "2ffa50b8", "metadata": {}, "outputs": [], "source": [ "MOLECULE_IDS = ['molecule_A']\n", "\n", "class ExampleProcess(PartitionedProcess):\n", " name = 'example'\n", " topology = {'port': ('store',)}\n", " def ports_schema(self):\n", " return {\n", " 'port': {\n", " mol_id: {\n", " '_default': 100.,\n", " '_properties': {'bulk': True}\n", " } \n", " for mol_id in MOLECULE_IDS}}\n", " def calculate_request(self, timestep, states):\n", " # request molecules\n", " return {\n", " 'port': {\n", " mol_id: 10 \n", " for mol_id in MOLECULE_IDS}}\n", " def evolve_state(self, timestep, states):\n", " allocated = states['port']\n", " # use all allocated molecules\n", " return {\n", " 'port': allocated}" ] }, { "cell_type": "code", "execution_count": 4, "id": "d659472e", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "example_1 = ExampleProcess()\n", "process_topo_fig = plot_topology(example_1, topology_settings)" ] }, { "cell_type": "markdown", "id": "19f075d5", "metadata": {}, "source": [ "## Make an Evolver for the Example PartitionedProcess" ] }, { "cell_type": "code", "execution_count": 5, "id": "40fe5970", "metadata": {}, "outputs": [ { "data": { "image/png": "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VFZWctFFF7F9+/b92nfy5MmUlZWxcOFCfvGLX/D444/z8Y9/vH2bWbNmce2113LVVVexaNEiHnzwQcaNG9f+fF5eHjNnzmTp0qXcd999LFy4kM985jMAnHHGGcycOZPS0lLWrFnDmjVr+OIXvwjAVVddxYIFC7jvvvtYsmQJV155JRdddBF/+ctfuvgbkiTtUJDtAqSe5pJLLum0fPfdd1NRUcHChQs588wz97rvfffdx9atW7n33nspLy8H4Hvf+x7nnHMOL7/8MqNHj+bmm29m2rRpfP7zn2/f75RTTml/PG3atPbHNTU13HLLLUyZMoV77rmHwsJCKisrCSEwbNiw9u1WrFjB/fffT11dHYcffjgAn/70p/n973/PrFmzuPPOOxN/H5KkPTNISTtZsWIFX/3qV3nqqad48803SaVSpFIpXnvttX3uu2zZMiZMmNAeoiDdipSXl8cLL7xARUUFq1ev5n3ve98eX+OPf/wj//7v/86yZcuor6+nra2N7du3s3btWkaMGLHbfZ599llijIwdO7bT+ubmZs4999z9/OSSpANlkJJ2cuGFF1JdXc2sWbMYOXIkBQUFjB07dr+69vYmhLDPbV599VVqa2u55ppr+NrXvsZhhx3Gs88+y6WXXrrX90+lUoQQ+POf/0y/fv06PVdSUnJQdUuS9swgJXXw1ltv8eKLL3LnnXdyzjnnAOnWntbW1v3af8yYMfzwhz+koaGhvVXq8ccfJ5VKMWbMGIYMGcLIkSP5wx/+wHnnnbfL/k8//TTbt2/n9ttvJz8/H4Df/OY3nbYpLCykra2t07qTTjqJGCNr165tr1uSdOg52FzqoKqqikGDBvH973+fl19+mQULFnDddddRULB//+a4/PLLKS0t5WMf+xiLFy/m4Ycf5tprr+Xiiy9m9OjRAHzlK19h5syZ3H777bz00ks8//zzfPOb3wTgmGOOIZVKMXPmTF555RXuv/9+Zs6c2ek9ampqaGpq4ne/+x3r16+nsbGRY489lssvv5ypU6cyZ84c/va3v/H0009z66238sADD3TpdyRJeptBSuogLy+Pn/70pyxatIhx48bxqU99iptvvpmioqL92r+0tJSHHnqIzZs3c9pppzFlyhQmTpzID3/4w/ZtPvnJT/Kd73yH73//+4wbN44LLriApUuXAjBhwgS+9a1vcdtttzF2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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "evolver_1 = Evolver({'process': example_1})\n", "evolver_topo_fig = plot_topology(evolver_1, topology_settings)" ] }, { "cell_type": "markdown", "id": "35b83a71", "metadata": {}, "source": [ "## Make an Requester for the Example PartitionedProcess" ] }, { "cell_type": "code", "execution_count": 6, "id": "292a748b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg8AAAKECAYAAACAUtm5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABFZUlEQVR4nO3deXzdVZ3/8ddJszdpmkrpQpeUnS6AgkVgYIqyFKNWZlRGUfZ1QAGpWmb8MUX8jQULKgMIIrL/3EAHpAgMKIsMUEGBLlCgkNIVCi1p0zRpknt+f9wkTdL1W5J8k+b1fDzu497v926f2wO573vO+Z5viDEiSZK0vXLSLkCSJPUuhgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUSG7aBQiYXnYJMB0oSbkSbVQDTGd69dVpFyJJPY09Dz3DdAwOPU0J2XaRJHVgeOgZDA49k+0iSZvhsEVPM7067Qo0vSztCiSpR7PnQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB52AqeeeiohBEII5ObmMmrUKM477zxWr16ddmmJVFVVEULg+eefT7sUSdJWGB52EkcffTTLly+nqqqKn//85/zhD3/gX//1X9MuKzUbNmxIuwRJ2mkZHnYSBQUFDB06lBEjRnDsscdy4okn8sgjj7Tef+uttzJ27FgKCwvZe++9+dGPfkQmk2m9/4033mDSpEkUFhayzz778MADD1BSUsJtt90GbLlXIITAPffc07q9dOlS/uVf/oXy8nLKy8uprKzk9ddfb71/8eLFTJkyhUGDBlFcXMy+++7Lr371KwDGjBkDwMc//nFCCEyaNGm76w8hcP311/NP//RP9O/fn3/7t3/78P+okqTNyk27AHW+N998k4ceeoi8vDwAbr75Zi677DL+67/+i4MOOoi5c+dy1llnkZeXxwUXXEAmk+GEE06gvLycZ555htraWi688ELq6+sTvW9tbS1HHXUUhx12GE888QT5+fnMnDmTo48+mldeeYXi4mL+9V//lbq6Ov785z8zYMAAFixY0Pr82bNnM3HiRB566CEOOOAA8vPzt6v+Fpdffjn/+Z//ycyZMwkhdMK/pCRps2KMXtK+/MeA2HrZAaecckrs169f7N+/fywsLIxABOI111wTY4xx5MiR8Y477mj3nB/96Edxv/32izHG+PDDD8ecnJy4aNGi1vufeuqpCMRbb701xhjjW2+9FYH417/+td3rAPG3v/1tjDHGW265Je65554xk8m03t/Y2BgHDRoUf/3rX8cYY5wwYUKcPn36Zj/Hlt5jW/W31HHBBRds/R9qe7Vvj/T/+/DixYuXHnax52EnceSRR/Kzn/2M9evXc/PNN7Nw4UK+8Y1vsHLlShYvXsw555zDeeed1/r4xsZGYowAvPLKK+y2226MGjWq9f5DDjmEnJxko1ovvPACb731FqWlpe3219bWsnDhQgAuvPBCzj33XB566CE+9alPccIJJ3DQQQdt8TW3p/4WBx98cKJ6JUk7xvCwkyguLmbPPfcE4Nprr+Woo47iiiuuaP3CvfHGGznssMN2+PVbgkTbL+yGhoZ2j8lkMhx44IGtcxjaGjRoEABnnHEGxx13HA8++CCPPvoohx12GJdeeinTp0/f7Pu2zGvYnvr79++/3Z9HkrTjDA87qf/4j//g+OOP5+yzz2b48OEsXLiQk08+ebOP3W+//Vi6dCmLFy9m5MiRQHb+QdsJiYMHDwZg+fLlrftefPHFdq/zsY99jF/+8pfssssuDBw4cIu1jRgxgrPPPpuzzz6bK6+8kp/85CdMnz69dY5DU1NT62OHDBmyzfolSd3L8LCTmjRpEmPHjuX73/8+l19+OV//+tcZOHAgn/70p2loaOBvf/sbS5cu5dJLL+Xoo49m33335eSTT+ZHP/oR69ev5+KLLyY3d+N/HkVFRXziE5/gyiuvZI899qC6uppLL7203XuedNJJzJw5kylTpvC9732PUaNGsXjxYu677z7OPfdc9tprLy688EKOP/549t57b9asWcNDDz3E2LFjAdh1110pKiri4YcfpqKigsLCQsrKyrZZvySpe3mo5k7skksu4ZZbbuGYY47hF7/4BXfeeScHHHAARxxxBD/72c9aD43Mycnh97//PZlMhkMOOYSTTz6Z7373uxQUFLR7vV/84hdA9lDKc845h+9///vt7i8uLubJJ59k991354tf/CL77rsvp5xyCqtXr6a8vBzIDkN8/etfZ+zYsRxzzDEMGTKE22+/HYDc3FyuvfZafv7znzN8+HCmTJkCwJlnnrnV+iVJ3St0nHSmFEwv29gI06tTLKS9kpISrrvuOk499dS0S+le08va3K72mE9J6sCeB0mSlIjhQZIkJeKESW1RTU1N2iVIknogex4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mSlIjhQZIkJWJ4kCRJiRgeJElSIoYHSZKUiOFBkiQlYniQJEmJGB4kSVIihgdJkpSI4UGSJCVieJAkSYkYHiRJUiKGB0mS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fDmHHXZYSp+ud7vrrruIMfLUU09x7bXXcuSRRzJ+/Hhmz57No48+Sk1NDVOmTGkNe1dffTU333wzN910E8888wxNTU3cfffdid/3u9/9LrfccgvXX3898+fP59JLL+Wcc85h1qxZANx7773MnDmTG264gddff50HHniAiRMnAvCTn/yEQw89lNNOO621/UeOHNl5/yjqsXLTLkBS9xk2bBjXXnstIQT23XdfXnvtNa655ho++9nPcv/99/PEE09w5JFHAnDnnXcyatQo7r77bs4880wg+2v3uuuu46CDDmp9zaKiotZfpNpxY8aM4eqrrwbgsssu44ADDuDKK69svf+OO+5g0KBBPP/880ycOJEf//jHfPvb3+ZLX/oSkP0if/jhhxO957p167jmmmt45JFHOOKII1rrmD17Ntdffz2VlZUsWrSIYcOGceyxx5KXl8eoUaM4+OCDASgrKyM/P5/i4mLbv4+x50HqQz7xiU8QQmjdPvTQQ1m6dCmvvPIKOTk5HHrooa33lZWVMWHCBObPn9+6Lzc3lwMPPLA7S+4z2gayF154gSeffJKSkpLWS8sv+oULF1JdXc3y5cvbtVdOTg6HHHJIovecP38+dXV1TJ48ud17/fSnP2XhwoUAfPGLX6Suro4xY8Zwxhln8Nvf/pb6+vpO+MTqzex5kLRVbcNGQUEB/fr1S7GanVf//v1bb2cyGSorK5k5c+YmjxsyZEjr0MW25OTkEGNst6+hoaHd+wD84Q9/YNSoUe0el5eXB8DIkSNZsGABjz32GI8++iiXXHIJl19+Oc8991y7mtW32PMg9SHPPfdcuy+TZ599luHDh7Pffvu1zoVosWbNGubMmcPYsWO3+pr5+fkeddHJPvaxjzFv3jxGjx7Nnnvu2e5SWlpKWVkZw4YN49lnn219ToyR2bNnt3udwYMHs3z58nb7XnrppdbbY8eOpaCggEWLFm3yPqNHj259XGFhIZWVlfzoRz/ir3/9K/PmzePpp58GbP++yvAg9SHLli3joosuYsGCBdxzzz388Ic/5OKLL2avvfZiypQpnHPOOTz11FPMmTOHr371qwwYMICvfOUrW33NiooK5s6dy4IFC3jvvffa/bLVjjn//POprq7mxBNP5LnnnuPNN9/k0Ucf5eyzz2bt2rUAXHjhhVx11VXcc889LFiwgIsuumiToPDJ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AGDs2LEUFBSwaNGi1tfZnMLCQiorK6msrGTatGkMHTqUp59+mmOPPZb8/Hyampo+5CeW0mN4kLRTOP/887n55ps58cQT+c53vsPgwYN58803+c1vfsPVV19NaWkpF154IT/4wQ/Ye++9mTBhAjfccAPLly9vFx4++clPctFFF3H//fezzz77cNNNN7F48eLW8FBaWsrUqVOZOnUqMUaOPPJIampqePbZZ8nJyeHss8/mtttuo7GxkUMOOYSSkhJ+/etfk5eXx1577QVARUUFs2fPpqqqipKSEgYNGkROjqPI6j38r1XSTmH48OE8/fTT5OTkMHnyZMaNG8f5559PQUEBBQUFAFxyySWcdtppnHnmmRxyyCFkMhlOOumkdq9z+umnt14OP/xwSktLOeGEE9o95oorrmD69OnMnDmTcePGccwxx3DvvfcyZswYAAYOHMgtt9zCEUccwfjx47n33nv53e9+13r/1KlTyc/PZ+zYsQwePJi33367G/6FpM4TOo7tSdKOqpg2awzwJsCI8iL+8p0td+v3FBdccAFz587l8ccfT7uUTrd4VS1HXPXnls2qqhmVY9KsRzsPex4kSVIihgdJkpSIEyYl9WnXXXdd2iVIvY49D5IkKRHDgyRJSsTwIEmSEjE8SNKH0PF03VJf4IRJSdoBmUxmk3NgSH2FPQ+S+oRJkyZx7rnncuGFF1JeXk55eTnf+ta3Wk90tXr1ak455RTKy8spKiri6KOPZt68ea3Pv+222ygpKeHBBx9k/Pjx5Ofnc+KJJ3L77bcza9YsQgiEEHbKxaakjux5kNRn3H333Zx66qk888wzvPzyy5x11lkMGzaMb37zm5x66qksWLCA++67j/Lycv793/+dyZMn89prr1FUVARAXV0dV1xxBTfddBODBw9m2LBh9OvXj1WrVnHnnXcCMGjQoDQ/otQtDA+S+oxhw4Zx7bXXEkJg33335bXXXuOaa67hs5/9LPfffz9PPPEERx55JAB33nkno0aN4u677+bMM88EoKmpieuuu46DDjqo9TWLioooKChg6NChqXwmKQ0OW0jqMz7xiU8QQmjdPvTQQ1m6dCmvvPIKOTk5HHrooa33lZWVMWHCBObPn9+6Lzc3lwMPPLA7S5Z6JMODJG1F27BRUFBAv379UqxG6hkMD5L6jOeee67dERLPPvssw4cPZ7/9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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "requester_1 = Requester({'process': example_1})\n", "requester_topo_fig = plot_topology(requester_1, topology_settings)" ] }, { "cell_type": "markdown", "id": "12ea652d", "metadata": {}, "source": [ "## Make a second partitioned process and an Allocator\n", "\n", "This processes will be wired with the first through an `Allocator`.\n", "The allocator will read " ] }, { "cell_type": "code", "execution_count": 7, "id": "340c2b29", "metadata": {}, "outputs": [], "source": [ "example_2 = ExampleProcess()\n", "evolver_2 = Evolver({'process': example_2})\n", "requester_2 = Requester({'process': example_2})\n", "\n", "allocator_config = {\n", " 'process_names': ['example_1', 'example_2'],\n", " 'molecule_names': np.array(MOLECULE_IDS),\n", " 'seed': 0,\n", " 'custom_priorities': {\n", " 'example_1': 1, \n", " 'example_2': 2,\n", " }\n", "}\n", "allocator = Allocator(allocator_config)" ] }, { "cell_type": "markdown", "id": "13ba3f85", "metadata": {}, "source": [ "## Wire the requesters, evolvers, and allocator together in a Composite" ] }, { "cell_type": "code", "execution_count": 8, "id": "c12eb06a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'port': {'molecule_A': {'_default': 100.0, '_properties': {'bulk': True}}},\n", " 'allocate': {'port': {'molecule_A': {'_default': 100.0,\n", " '_properties': {'bulk': True},\n", " '_updater': 'set',\n", " '_emit': False}}}}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evolver_1.ports_schema()" ] }, { "cell_type": "code", "execution_count": 9, "id": "bc6492ca", "metadata": {}, "outputs": [], "source": [ "allocation_composite = Composite({\n", " 'processes': {\n", " 'evolver_1': evolver_1,\n", " 'evolver_2': evolver_2,\n", " 'requester_1': requester_1,\n", " 'requester_2': requester_2,\n", " 'allocator': allocator,\n", " },\n", " 'topology': {\n", " 'evolver_1': {\n", " 'port': ('store1',),\n", " 'allocate': {\n", " '_path': ('allocate','example_1'),\n", " 'port': ('store1',)\n", " },\n", " },\n", " 'evolver_2': {\n", " 'port': ('store1',),\n", " 'allocate': {\n", " '_path': ('allocate','example_2'),\n", " 'port': ('store1',)\n", " },\n", " },\n", " 'requester_1': {\n", " 'port': ('store1',),\n", " 'request': {\n", " '_path': ('request','example_1'),\n", " 'port': ('store1',)\n", " },\n", " },\n", " 'requester_2': {\n", " 'port': ('store1',),\n", " 'request': {\n", " '_path': ('request','example_2'),\n", " 'port': ('store1',)\n", " },\n", " },\n", " 'allocator': {\n", " 'bulk': ('store1',),\n", " 'allocate': ('allocate',),\n", " 'request': ('request',)\n", " },\n", " }\n", "})" ] }, { "cell_type": "code", "execution_count": 10, "id": "055f0e13", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxsAAAMyCAYAAAAFfdw3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAC56UlEQVR4nOzdeXgV9dn/8fcdskOIYV8lKKisdcWqVXHHRqVudaMiVotWW/1VnoqtrVT7tNSq1T5qpS5oKy4V3FG0qIB1AZeCbKIgYRNUBEJCCCHJ/ftjTkISlizkZM7J+byua65zZs4s90kymbnnu5m7IyIiIiIi0tSSwg5ARERERERaJiUbIiIiIiISFUo2REREREQkKpRsiIiIiIhIVCjZEBERERGRqFCyISIiIiIiUaFkQ0REREREokLJhoiIiIiIRIWSDRERERERiQolGyIiIiIiEhVKNkREREREJCqUbIiIiIiISFQo2RARERERkahQsiEiIiIiIlGhZENERERERKJCyYaIiIiIiESFkg0REREREYkKJRsiIiIiIhIVSjZERERERCQqlGyIiIiIiEhUKNkQEREREZGoULIhIiIiIiJRoWRDRERERESiQsmGiIiIiIhEhZINERERERGJCiUbIiIiIiISFUo2REREREQkKpRsiIiIiIhIVCjZEBERERGRqFCyISIiIiIiUaFkQ0REREREokLJhoiIiIiIRIWSDRERERERiQolGyIiIiIiEhVKNkREREREJCqUbIiIiIiISFQo2RARERERkahQsiEiIiIiIlGhZENERERERKJCyYaIiIiIiESFkg0REREREYkKJRsiIiIiIhIVSjZERERERCQqlGyIiIiIiEhUKNkQEREREZGoULIhIiIiIiJRoWRDRERERESiQsmGiIiIiIhEhZINERERERGJCiUbIiIiIiISFUo2REREREQkKpRsiIiIiIhIVCjZEBERERGRqFCyISIiIiIiUaFkQ0REREREokLJhoiIiIiIRIWSDRERERERiQolGyIiIiIiEhVKNkREREREJCqUbIiIiIiISFQo2RARERERkahQsiEiIiIiIlGhZENERERERKJCyYaIiIiIiESFkg0REREREYkKJRsiIiIiIhIVSjZERERERCQqlGyIiIiIiEhUKNkQEREREZGoULIhIiIiIiJRoWRDRERERESiQsmGiIiIiIhEhZINERERERGJCiUbIiIiIiISFUo2REREREQkKpRsiIiIiIhIVCjZEBERERGRqFCyISIiIiIiUaFkQ0REREREokLJhoiIiIiIRIWSDRERERERiQolGyIiIiIiEhVKNkREREREJCqUbIiIiIiISFQo2RARERERkahQsiEiIiIiIlGhZENERERERKJCyYaIiIiIiESFkg0REREREYkKJRsiIiIiIhIVSjZERERERCQqlGyIiIiIiEhUKNkQEREREZGoULIhIiIiIiJRoWRDRERERESiQsmGiIiIiIhEhZINERERERGJCiUbIiIiIiISFUo2REREREQkKpRsiIiIiIhIVCjZEBERERGRqFCyISIiIiIiUaFkQ0REREREokLJhoiIiIiIRIWSDRERERERiQolGyIiIiIiEhVKNkREREREJCqUbIiIiIiISFQo2RARERERkahQsiEiIiIiIlGhZENERERERKJCyYaIiIiIiESFkg0REREREYkKJRsiIiIiIhIVSjZERERERCQqlGyIiIiIiEhUKNkQEREREZGoULIhIiIiIiJRoWRDRERERESiQsmGiIiIiIhEhZINERERERGJCiUbIiIiIiISFUo2REREREQkKpLDDkBCMi77BmAc0CbkSGSHImAc4wruDDsQEZG4p+tcLNJ1LgGpZCNxjUP/gGNNG4Lfi4iI7L1x6DoXa3SdS0BKNhKX/gHHJv1eRESahv6fxib9XhKMqlEJjCsIOwIZlx12BCIiLZeuc+HTdS5hqWRDRERERESiQsmGiIiIiIhEhZINERERERGJCiUbIiIiIiISFUo2REREREQkKpRsiIiIiIhIVCjZEBERERGRqFCyISIiIiIiUaFkQ0REREREokLJhoiIiIiIRIWSDRERERERiQolGyIiIiIiEhVKNkREREREJCqUbIiIiIiISFQo2RARERERkahQsiEiIiIiIlGhZENERERERKJCyYaIiIiIiESFkg0REREREYkKJRsiIiIiIhIVSjZERERERCQqlGyIiIiIiEhUKNkQEREREZGoULIhIiIiIiJRoWRDRERERESiQsmGiIiIiIhEhZINERERERGJCiUbIiIiIiISFUo2REREREQkKpRsiIiIiIhIVCjZEBERERGRqFCyISIiIiIiUaFkQ0REREREokLJhoiIiIiIRIWSDRERERERiQolGyIiIiIiEhVKNkREREREJCqUbIiIiIiISFQo2RARERERkahQsiEiIiIiIlGhZENERERERKJCyYaIiIhIiGbMmIGZsX79+rBDEWlySjakxRo6dCjXXnttsxzr2Wef5bTTTqNjx46YGTNmzGiW44qIiDSVWbNmcdZZZ9G9e3fMjEcffTTskKQFULIhDVJaWhp2CM2uPt95y5YtHH300dx1113NEJGIiEjDlJWV4e57XKeoqIiBAwdyzz33kJGR0UyRSUunZEP2aOjQoVx99dWMGTOGjh07cswxx7Bo0SLy8vLIysqiU6dOXHTRRaxbt65qm/LycsaMGUNOTg45OTlcf/31XH311QwdOrTGfmuXOlx22WWcccYZVfPuzu23387+++9PRkYGgwYN4vHHH6+xza233kqvXr1IS0ujS5cuXHrppVX7mjlzJvfddx9mhpmRn58PUGf8lXH86U9/okePHvTo0aPOn9OPfvQjbrnlFk4//fR6/2xFRCQ+7Ol6dPTRR3PDDTfUWH/z5s1kZGTw7LPPArBx40ZGjhxJTk4OGRkZnHzyySxcuHCXx6rc9qWXXqqx/PXXXyclJYWvv/4agDVr1nDhhRdWXWvz8vL4/PPPq9YfN24cAwcO5NFHH2X//fcnLS2NLVu27PF7fv/73+cPf/gD5513HklJukWUpqG/JKnT448/jrvz9ttv89e//pXjjjuOgQMHMmfOHKZPn05RURHDhw+noqICgDvvvJMHH3yQCRMm8N5771FeXs6kSZMafNybb76Zhx9+mPvuu49FixZx0003MXr0aKZOnQrAlClTuOOOO7j//vv5/PPPefnllxkyZAgA99xzD0cddRSjRo1i7dq1rF27lp49e7J27do64weYOXMmn3zyCdOmTeONN95ogp+iiIjEqz1dj0aMGMFTTz1V4xoyZcoU0tPTycvLA4KHWLNnz+aFF15gzpw5ZGZmMmzYMLZu3brTsdq2bcuZZ56503Vz0qRJnHLKKXTq1Ini4mJOOOEE0tPTmTlzJu+99x5du3bl5JNPpri4uGqb5cuX88QTT/DMM88wb9480tPTo/QTEtkDd9eUiNMtbb1q2oPjjz/eBw0aVDX/m9/8xk888cQa62zYsMEBnz17tru7d+3a1X//+99XfV5eXu59+/b1448/vsZ+r7nmmhr7GTlypOfl5bm7e1FRkaenp/usWbNqrHPdddf56aef7u7ud955px9wwAFeWlq629hrH6M+8Y8cOdI7dOjgJSUlu/6h7ME333zjgL/11lsN27Dm7yP8vw9NmjRpivepnte5utR1PVq/fr2npKT49OnTqz476aST/Morr3R3988++8wBnzlzZtXnmzZt8rZt2/qDDz7o7u5vvfWWA/7NN9+4u/sLL7zgGRkZvnnzZnd3Ly4u9qysLJ80aZK7uz/88MPep08fr6ioqNpnWVmZt2vXzp9++ml3d7/llls8OTnZ161b16jv3bp1a584cWKjtt0lXecSdlLJhtTpsMMOq3r/0UcfMWvWLNq0aVM19ezZE4Bly5ZRUFDA2rVrOeqoo6q2SUpK4sgjj2zQMRctWkRJSQnDhg2rcay//e1vLFu2DIDzzz+fkpISevfuzY9//GOeeeYZtm3btsf91hV/pYEDB5KWltagmEVEpOWp63rUvn17hg0bVlUS8eWXX/LWW28xYsQIABYvXkxSUlKN62J2djaDBg1i0aJFuzzm6aefTmZmJs899xwAL774Iu7OD37wAyC4li1fvpysrKyqeLKzs9m4cWONa1mPHj3o3LlzNH4sIvWWHHYAEvtat25d9b6iooK8vDzuuOOOndbr3LlzjWLkPUlKSsK9ZkO17du31zgOwEsvvcS+++5bY72UlBQAevbsyZIlS3jjjTeYPn06N9xwA7/73e+YPXt2jZirqyv+SrvbXkREEkt9rkcjRozgyiuv5P777+epp56iZ8+eHHvssXXu28x2uTwlJYUf/vCHTJo0iUsvvZRJkyZx9tlnk5mZWRXTwQcfzFNPPbXTtu3atat6r2uZxAIlG9Ighx56KP/617/o1atX1T/Z2rp27cr777/PiSeeCARV9ebMmUPXrl2r1unYsSNr166tsd28efPIzc0FoH///qSlpbFixYqq/exKZZ3YvLw8xo4dS5cuXXjnnXc49dRTSU1Npby8vMHxi4iIVKrP9eiss87iyiuv5OWXX2bSpElcfPHFVYlEv379qKio4L333uO4444Dgkbg8+fPZ9SoUbs97ogRIzjuuONYtGgR06ZN4+WXX6767NBDD+XJJ5+kQ4cO7LPPPk33ZUWiQNWopEGuueYaCgoKuOCCC5g9ezZffPEF06dP5yc/+QmFhYUAXHfdddx+++1MnjyZJUuWcP311++U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/VWWiLzyyisMHDiQ1NRUFi9eTGlpKTfeeCM9evQgMzOTI444gtdee61GLP/3f//Hz372Mw444IDm/BGIxIN2kVclG9LiKNkQ2bNhwCmoobjEobKyMoYPH873vvc95s2bx+zZs7n++us59thjufvuu8nMzGTt2rWsXbuWMWPGAHDZZZcxe/ZsXnjhBebMmUNmZibDhg1j69atVfstKSnhtttuY8KECSxatIhevXoxatQoZs6cyRNPPMGCBQsYOXIkZ555JvPmzQvr64vEk5OBtsB7YQci0tTUQFxkz54ELgMuMrNx7u4hxyNSb5s3b2bTpk2ceeaZ7L///gAcdFBQSPff//4XM6NLly5V63/++ee8+OKLzJw5k+OOOw6Af/7zn+y7775MmjSJK664AoDy8nLuvfdeDjvsMACWLVvGk08+SX5+Pvvuuy8A1157LdOnT2fChAncf//9zfadReJR5NpSGHYcItGgZENkz94Evgb6AocCH4Ubjkj9tWvXjssuu4zTTjuNk046iZNOOonzzjuvKiGobfHixSQlJXHUUUdVLcvOzmbQoEEsWrSoallycjIHH3xw1fzHH3+Mu9O/f/8a+9u2bRsnnqgBkUVEEpmSDZE9cPcyM3sGuIagKpWSDYkrEydO5Prrr2fatGm8+OKL/PrXv+b5559v8H7MrOp9WloarVq1qpqvqKjAzPjggw9ISUmpsV1GRkajYxdJBGa2H/AS8LG7/yjseESamtpsiNStcoC/C8xM54zEne985zvceOONzJgxg6FDh/LYY4+Rmpq6Uy9S/fr1o6Kigvfe21FtfPPmzcyfP3+nUovqDjnkENyddevW0adPnxpT9+7do/a9RFqI7kB/YP+wAxGJBt04idTtPWAl0AP4XsixiNTb8uXLGTt2LO+++y4rVqzgrbfe4pNPPqF///7k5uZSUlLCv//9b9avX09xcTF9+/Zl+PDhjB49mrfffpv58+czYsQI2rZty8UXX7zb4xxwwAFccsklXHbZZUyePJkvvviCDz/8kDvuuINnn322ar2lS5cyd+5cvvzyS0pLS5k7dy5z586ltLS0OX4cIrGqcvRwjbEhLZKqUYnUwd0rzOz3QAqwsK71RWJFZmYmn332Geeffz7r16+nc+fOXHLJJdx4442kpKRw1VVXcdFFF/Htt99yyy23MG7cuKpqV2eddRYl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fmB+5P1Qd2/8gAoie+fDyGt0RgEUqcXdywkSjJlmdh01711+BFwD/D9gjZlNIUg83vFb2jZ7rCKyMyUbIrHn0chrBUH/9JMJRuYFQImGiCSqSMlFabVFE4FtBA9o9gV+HpnWNn90IrIrSjZEYs8bBAnGc+7+VdjBiIjEqkh1vo/MbAxwBEHScT7BgJciEgOUbIjEGHc/OewYRETiSaR3qjnAHDO7ETiUHVX+RCRESWEHICIiItJUIp1pqAMDkRihZENERERERKJCyYaIiIiIiESF2myIiEhDHB52ACIiEj+UbIiISL2pLryIiDSEqlGJiIiIiEhUKNkQEZF6M7O/m9nfw45DRETig5INERFpiCsjk4iISJ2UbIiIiIiISFQo2RAREREJ0YwZMzAz1q9fH3YoIk1OyYa0WEOHDuXaa6+N+nG2b9/OjTfeyODBg2ndujVdu3bl4osvZuXKlVE/toiISFP54x//yBFHHEHbtm3p2LEjZ555JgsWLAg7LIlzSjakQUpLS8MOodnV9Z2Li4v5+OOP+fWvf83HH3/MCy+8wKpVqxg2bBhlZWXNFKWIiMjulZWV4e57XGfGjBn89Kc/5d133+XNN98kOTmZk08+mQ0bNjRTlNISKdmQPRo6dChXX301Y8aMoWPHjhxzzDEsWrSIvLw8srKy6NSpExdddBHr1q2r2qa8vJwxY8aQk5NDTk4O119/PVdffTVDhw6tsd/apQ6XXXYZZ5xxRtW8u3P77bez//77k5GRwaBBg3j88cdrbHPrrbfSq1cv0tLS6NKlC5deemnVvmbOnMl9992HmWFm5OfnA9QZf2Ucf/rTn+jRowc9evTY488oOzubf//731xwwQUceOCBDBkyhAkTJrB48WIWL17coJ+3iIjEnj1dj44++mhuuOGGGutv3ryZjIwMnn32WQA2btzIyJEjycnJISMjg5NPPpmFCxfu8liV27700ks1lr/++uukpKTw9ddfA7BmzRouvPDCqmttXl4en3/+edX648aNY+DAgTz66KPsv//+pKWlsWXLlj1+z9dee41Ro0YxcOBABg0axD//+U+++eYb3nnnnYb9wESqUbIhdXr88cdxd95++23++te/ctxxxzFw4EDmzJnD9OnTKSoqYvjw4VRUVABw55138uCDDzJhwgTee+89ysvLmTRpUoOPe/PNN/Pwww9z3333sWjRIm666SZGjx7N1KlTAZgyZQp33HEH999/P59//jkvv/wyQ4YMAeCee+7hqKOOYtSoUaxdu5a1a9fSs2dP1q5dW2f8ADNnzuSTTz5h2rRpvPHGGw2OffPmzQDk5OQ0eFuRGPdxZBJJGHu6Ho0YMYKnnnqqxjVkypQppKenk5eXBwQPsWbPns0LL7zAnDlzyMzMZNiwYWzdunWnY7Vt25Yzzzxzp+vmpEmTOOWUU+jUqRPFxcWccMIJpKenM3PmTN577z26du3KySefTHFxcdU2y5cv54knnuCZZ55h3rx5pKenN+h7FxYWUlFRoWuZ7B1315SI0y1tvWrag+OPP94HDRpUNf+b3/zGTzzxxBrrbNiwwQGfPXu2u7t37drVf//731d9Xl5e7n379vXjjz++xn6vueaaGvsZOXKk5+Xlubt7UVGRp6en+6xZs2qsc9111/npp5/u7u533nmnH3DAAV5aWrrb2Gsfoz7xjxw50jt06OAlJSW7/qHUYdu2bX700Uf7mWeeWf+Nav4+wv/70KRJk6Z4n+p5natLXdej9evXe0pKik+fPr3qs5NOOsmvvPJKd3f/7LPPHPCZM2dWfb5p0yZv27atP/jgg+7u/tZbbzng33zzjbu7v/DCC56RkeGbN292d/fi4mLPysrySZMmubv7ww8/7H369PGKioqqfZaVlXm7du386aefdnf3W265xZOTk33dunWN/u7nn3++H3zwwV5WVtbofVTRdS5hp+RwUx2JB4cddljV+48++ohZs2bRpk2bndZbtmwZBx54IGvXruWoo46qWp6UlMSRRx7JqlWr6n3MRYsWUVJSwrBhwzCzquXbt28nNzcXgPPPP5977rmH3r17c9pppzFs2DDOOuss0tLSdrvfuuKvLBkZOHDgHvezO2VlZYwYMYJNmzbx4osvNnh7ERGJLXVdj9q3b8+wYcOYNGkSJ510El9++SVvvfUWv/3tbwFYvHgxSUlJNa6L2dnZDBo0iEWLFu3ymKeffjqZmZk899xzXHrppbz44ou4Oz/4wQ+A4Fq2fPlysrKyamxXXFzMsmXLquZ79OhB586dG/W9f/GLX/Cf//yH//znP7Rq1apR+xABlGxI3Vq3bl31vqKigry8PO64446d1uvcuXONYuQ9SUpKwr1mQ7Xt27fXOA7ASy+9xL777ltjvZSUFAB69uzJkiVLeOONN5g+fTo33HADv/vd75g9e3aNmKurK/5Ku9t+T8rKyrjooouYP38+M2bMoH379g3eh4iIxJb6XI9GjBjBlVdeyf33389TTz1Fz549OfbYY+vcd/XkpfZ+f/jDHzJp0iQuvfRSJk2axNlnn01mZmZVTAcffDBPPfXUTtu2a9eu6n1jrmUA/+///T+eeuop3nrrLfbbb79G7UOkkpINaZBDDz2Uf/3rX/Tq1avqn2xtXbt25f333+fEE08Egqp6c+bMoWvXrlXrdOzYkbVr19bYbt68eVWlFv379yctLY0VK1ZU7WdXKuvE5uXlMXbsWLp06cI777zDqaeeSmpqKuXl5Q2OvzG2b9/OhRdeyIIFC5gxYwZdunRpsn2LxBIzcwB33/VdkkgLU5/r0VlnncWVV17Jyy+/zKRJk7j44ourEol+/fpRUVHBe++9x3HHHQcE7frmz5/PqFGjdnvcESNGcNxxx7Fo0SKmTZvGyy+/XPXZoYceypNPPkmHDh3YZ599mu7LAtdddx1PP/00b731FgcddFCT7lsSkxqIS4Ncc801FBQUcMEFFzB79my++OILpk+fzk9+8hMKCwuB4B/V7bffzuTJk1myZAnXX3/9TonFiSeeyKuvvsqLL77IkiVL+MUvflGjmlVWVhZjxoxhzJgxPPLIIyxdupS5c+fywAMP8Pe//x2ARx99lIceeoj58+ezfPlyJk6cSEpKCn379gUgNzeXOXPmkJ+fz/r166moqKhX/A1VVlbG+eefz/vvv8+TTz6JmbFu3TrWrVu3y8Z/IiISP+pzPUpPT+fcc8/l97//PR9//DEjRoyo2r5v374MHz6c0aNH8/bbbzN//nxGjBhB27Ztufjii3d73KOPPppevXpx8cUX06FDB0466aSqzy655BI6d+7M8OHDmTlzJsuXL2fWrFnccMMNNXqkaqhrrrmGiRMn8sQTT5CTk1N1LSsqKmr0PkWUbEiDdOvWjXfeeYekpCSGDRvGgAEDuOaaa0hLS6tq43DDDTcwatQorrjiCo488kgqKiq45JJLauzn8ssvr5qOOeYYsrKyOPvss2usc9tttzFu3DjuuOMOBgwYwCmnnMKUKVPo3bs3APvssw8PP/wwxx57LAMHDmTKlCk8++yzVZ+PGTOG1NRU+vfvT8eOHVm5cmW94m+o1atX88ILL/Dll19y2GGH0bVr16rp6aefbvD+zOxJM2tcMCIi0uTquh5BUBIxb948DjnkEPr3719j+4kTJzJkyBDOOusshgwZQnFxMdOmTSMjI2OPx73kkkuYN28eF154YY12E5mZmcyaNYv99tuP888/n4MOOoiRI0eycePGveo56v7776ewsJCTTjqpxrVsV1WPRerLateblwQxLnvHL35cQdQPd+2111ZVMZJdGJdd9dZ+txngbHd/PqxwRHZH1agkbjTzdU7qUO06x7gC/f9IICrZEIlNF4UdgIiIiMjeUrIhUoe3336bNm3a7HaKkjPNLGo7FxGRxLJy5co9XstWrlwZdojSQqk3KmkW9957b9ghNNrhhx/O3Llzm/OQ7wDHAMOBhg+9LiIiUku3bt32eC3r1q1b8wUjCUXJhkgdMjIy6NOnT3Me8kmCZOMilGxI7BkddgAi0nDJycnNfS0TAVSNSiQWPQOUA6eZmUYGlJji7n9397+HHYeIiMQHlWyIxBh3/9rM7gXWECQdIiIiInFJyYZIDHL368OOQWRXzOwnEJRwhB2LiIjEPiUbIiLSEBMir0o2RESkTmqzIRKjzCzXzH5nZiPCjkVERESkMZRsiMSuw4HfAj8POxARERGRxlCyIRK7pgKFwBFmpv4KRUREJO4o2RCJUe6+FXg+MnthiKGIiIiINIqSDZHY9mTk9SIzs1AjEREREWkgJRsisW068C3QHxgUciwiIiIiDaJkQySGuft2YHJk9qIwYxEBcHdzd5WyiYhIvWicDZHY9w+gNTAt7EBEREREGkLJhkiMc/d3gXfDjkP20rjsG4BxQJuQI5EdioBxjCu4M+xARERaKlWjEhFpHuNQohFr2hD8XkREJEqUbIjEATNLMrNzzWyimalEMj4p0YhN+r2IiESRblpE4oMDfwT6ApMIeqmSeDWuIOwIZFx22BGIiCQElWyIxAF3d6qNuRFmLCIiIiL1pWRDJH48FXk918zSQo1EREREpB6UbIjECXdfDMwDsoFhIYcjIiIiUiclGyLxRVWpREREJG4o2RCJL5VVqc4yM/WiIyIiIjFNvVGJxBF3X2FmE4HPgVZhxyMiIiKyJ0o2ROKMu18edgwiIiIi9aFqVCIiIiIiEhVKNkTikJnlmtktZnZO2LGIiIiI7I6SDZH4NBQYB1wbbhgiIiIiu6dkQyQ+PQeUAkPNrFvYwYiIiIjsipINkTjk7gXAK4ABPww5HBEREZFdUrIhEr80wJ+IiIjENCUbIvHrZaAIGGJm+4cdjIiIiEhtSjZE4pS7FwMvRGYvDDMWERERkV3RoH4i8e0xgpHE3wk7EBEREZHalGyIxDF3/zfw77DjEBEREdkVVaMSEREREZGoULIhEufMrJWZ/cDM7jczCzseERERkUpKNkRahvuAq4Ejww5EREREpJKSDZE45+7lwNORWY25ISIiIjFDyYZIy1A5wN8PzaxVqJGIiIiIRCjZEGkZPgSWAV2AoeGGIiIiIhJQ17cC47LDjkD2kru7mT0J3ExQleqNkEMSEYkdus6JhEYlG4mrKOwAZJf25vdSWZXqXDNLa4pgRETimK5zsUm/lwSjZCNxjUMnfKwpIvi9NIq7LwKeAe4AUpsoJhGReDUOXedizV5d5yQ+mbuHHYNIkzOzJOBCoBcw3vWHLmEbl73jb3BcQYiBCFCzWs24Ao1PIw1iZtOBk4Dfu/tvwo5HJJapzYa0VA78DWgLPAR8E244IiLSEphZR+AgYDNwV8jhiMQ8VaOSFilSkrEsMrt/mLE0NzPrZWa/NrNhYcciItLSuPs3QB/gVHffWPtzM0s3s8PMrGvzRycSe5RsSEu2NPKaUMkGcBbwe+CnYQciItISuXuJu8/ezccHEnRH/nozhiQSs5RsSEtWWbLRJ9Qomt+/gApgmJm1CzsYEZGWwAJXmllOHat2ibyui3ZMIvFAyYa0ZAlZjcrdvwLeBFKAc0IOR0SkpTgR+DvwkZm12sN6ldWnlGyIoGRDWraETDYiKsfcuCjUKEREWgAzM+B3kdmH3L18D6tXlmysjW5UIvFByYa0ZMuA7QQ9UyWaZ4FS4AQ1UhQR2WunAMcA3wL/V8e6qkYlUo2SDWnJVgEZ7v69sANpbu6+CXgVMOCH4UYjIhK/apVq/NndC+vYRMmGSDUaZ0NarEj3t3sq6m7pHgW2Af8NOQ4RkXh2GvBdYD1wXz3WV5sNkWqUbEhCMLNWddSxbXHc/Xng+ZDDEBGJW7VKNW5396J6bDYS6AHMj1pgInFE1aikRTOzG8xsA3BD2LGIiEhcuhl4Cbi/Piu7e767/8fdC6Iblkh8ULIhLV0pkENi9kiFmSWb2Zlm9uewYxERiTce+Le7n+XuW8KORyQeKdmQli5RB/arlAQ8Bowxs4FhByMiEi/MLL0R23QzsyfM7FfRiEkkHinZkJZuaeQ1IUs23L0UmByZ1ZgbIiL1EGmr8Y6ZPWVmnRqwaS7B/9qzohKYSBxSsiEtXT5QAfQ0s9SQYwlL5QB/F0YuoJJAzIzJkyfvdl5EdukHwKHAsUBdXd1Wp25vRWpRsiEtWuTJ/iqCv/XccKMJzSyCkWz3A4aEHIskmEcffZQ2bdqEHYZIvZlZEjt6oPqju29twOYaPVykFiUbkggSvSpVOfB0ZFZVqSQuVVRUUF6eUL1XS3jOAQYBq4GHGritxtgQqUXJhiSCB4CrgYVhBxKiyqpUF5hZq1AjkSY1bdo0jj32WHJycmjXrh2nnXYaixcvrvf28+fP5+STTyYjI4N27dpx2WWXUVBQs8fOxx57jEGDBpGWlkbnzp0ZOXJk1Wd33XUXgwcPpnXr1nTv3p0rrriCTZs2ATBjxgxGjRrFli1bMDPMjHHjxgGwceNGRo4cSU5ODhkZGZx88sksXLjjFK0sEXnllVcYOHAgqampDfpeIo0RKdUYF5n9g7uXNHAXqkYlUouSDWnx3H2yuz/g7ivDjiVEHwCvAn8D0kKORZrQli1buP7665kzZw4zZswgOzubM888k9LS0npte9ppp9GmTRvmzJnDc889x7vvvsvll19etc6ECRMYPXo0o0aN4pNPPqm6+a+UlJTE3XffzcKFC3niiSeYM2cOP/vZzwA4+uijufvuu8nMzGTt2rWsXbuWMWPGAHDZZZcxe/ZsXnjhBebMmUNmZibDhg1j69YdNVZKSkq47bbbmDBhAosWLaJXr15N9WMT2Z3zgQHASuCRRmyvZEOkNnfXpEmTJk3Rnm5p61VTFBUVFXlSUpK//fbb7u4O+DPPPFP1efX5v//97962bVvfvHlz1edvvfWWA/7555+7u3v37t39xhtvrPfxX331VU9NTfXy8nJ3d584caK3bt26xjqfffaZAz5z5syqZZs2bfK2bdv6gw8+WLUd4B9++GFDvn791fx9hP/3oSkmJuC3QBnwk0ZufwcwBzg47O+iSVOsTCrZkBbPzDLN7FIz+3nYsYg0tWXLlnHxxRez//7707ZtWzp37kxFRQUrV9ZdkLd48WIGDx5MVlZW1bKjjz6apKQkFi1axNdff82aNWs46aSTdruPN998k1NOOYUePXqQlZXFOeecQ2lpKevW7f7B7uLFi0lKSuKoo46qWpadnc2gQYNYtGhR1bLk5GQOPvjgOr+HSFNx91uBg4BHG7n9GHcf4u5zmzIukXimZEMSQSuCge1uj9THTVhm1svMbjKz48KORZrGGWecwTfffMOECROYPXs2//3vf0lOTq5XNao9qU8vyStWrCAvL49+/frxzDPP8NFHH/HII0HNk8Yev/px09LSaNVKTYykebn7Ug96MhSRJpDQN16SGNy9EPiKoK1C95DDCdvFwB+A0WEHInvv22+/5dNPP+VXv/oVJ598Mv369aOwsJCysrJ6bd+vXz/mz59PYeGOYQTeffddKioq6NevH506daJ79+688cYbu9z+ww8/pLS0lL/85S8cddRRHHDAAXz55Zc11klNTd2pF6l+/fpRUVHBe++9V7Vs8+bNzJ8/n/79+9f364s0GTM73czO2puxiMwsxcy6qBMOkZqUbEiiWBZ5Tcjub6t5KvI63MwyQ41E9lpOTg4dOnTgwQcfZOnSpcycOZOrrrqK5OTkem1/ySWXkJmZyaWXXsr8+fOZNWsWo0eP5pxzzqFPnz4A/PrXv+buu+/mL3/5C5999hlz587lzjvvBKBv375UVFRw9913s3z5cp588knuvvvuGsfIzc2lpKSEf//736xfv57i4mL69u3L8OHDGT16NG+//Tbz589nxIgRtG3blosvvrhJf0YidTGzZOCvwAvA2Xuxq4MIxteY1xRxibQUSjYkUVQmG31CjSJk7r4ceB9oDZwZcjiyl5KSknj66af55JNPGDhwINdccw233XYbaWn163AsMzOT1157jc2bNzNkyBCGDx/OUUcdVVUVCuDqq6/mvvvu48EHH2TgwIEMGzasqovawYMHc88993DXXXfRv39/HnroIe64444axzj66KO56qqruOiii+jYsSO33347ABMnTmTIkCGcddZZDBkyhOLiYqZNm0ZGRkYT/XRE6m0EwbVhKfDiXuynsieqr/Y6IpEWxNw97BhEos7MfkswIux4d78p7HjCFGkofw/wgrv/IORwEse47B3/bMcV7GFFaRbjsqu9L2h01RmJb2aWAnwK7Adc6u7/3It9XUrQPvAJd7+kiUIUiXsq2ZBEoWpUO/wLqABON7OcsIMREQnRpQSJxmfsGPy0sTTGhsguKNmQRLEMKAES/gmmu68D3gJSgXNCDkdEJBRm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fvOYomRDpJGUbIjshrt/Dfxv2HFES+vWraveV1RUkJeXxx133LHTep07d66qSlWXpKQkag9Jsn379hrHAXjppZeqnnZWSklJAaBnz54sWbKEN954g+nTp3PDDTfwu9/9jtmzZ9eIWSRRnHHGGfTo0YMJEybQvXt3kpOT6d+//1537FA94d+dFStWkJeXx5VXXsmtt95K+/bt+fjjj7nooov2ePyKigrMjA8++KDq3K6UkZGxV3GHRNWoRBpJyYaIcOihh/Kvf/2LXr167XRjUKlr1668//77VU8l3Z05c+bQtWvXqnU6duzI2rU1r8Xz5s2rKrXo378/aWlprFixYo9PN9PT08nLyyMvL4+xY8fSpUsX3nnnHU499VRSU1MpLy/fy28sEh++/fZbPv30U+6//35OOOEEICg1KCsrq9f2/fr145FHHqGwsLCqdOPdd9+loqKCfv360alTJ7p3784bb7zBKaecstP2H374IaWlpfzlL3+hVatWALz88ss11tnVOXnIIYfg7qxbt64q7jinkg2RRlIDcZE9MLMjzOznZvadsGOJpmuuuYaCggIuuOACZs+ezRdffMH06dP5yU9+QmFhIQDXXXcdt99+O5MnT2bJkiVcf/31OyUWJ554Iq+++iovvvgiS5Ys4Re/+EWNalZZWVmMGTOGMWPG8Mgjj7B06VLmzp3LAw88wN///ncg6LP/oYceYv78+SxfvpyJEyeSkpJC3759gaDO+Jw5c8jPz2f9+vX1LnURiUc5OTl06NCBBx98kKVLlzJz5kyuuuoqkpPr96zwkksuITMzk0svvZT58+cza9YsRo8ezTnnnEOfPkFHe7/+9a+5++67+ctf/sJnn33G3Llzq9pz9e3bl4qKCu6++26WL1/Ok08+yd13313jGLm5uZSUlPDvf/+b9evXU1xczAEHHMAll1zCZZddxuTJk/niiy/48MMPueOOO3j22Web9GfUTK4DzgHisnW7SJiUbIjs2QjgHuDUsAOJpm7duvHOO++QlJTEsGHDGDBgANdccw1paWlVbSVuuOEGRo0axRVXXMGRRx5JRUUFl1xySY39XH755VXTMcccQ1ZWFmeffXaNdW677TbGjRvHHXfcwYABAzjllFOYMmUKvXv3BmCfffbh4Ycf5thjj2XgwIFMmTKFZ599turzMWPGkJqaSv/+/enYsWO9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te/75ptvtGXLFj3zzDM699xzJVm1y01NTe36/IknnqgXXnhBlZWVgVrwzz77TF6vVyeeeKKGDBmi3Nxcffjhh7rwwgtbfH7VqlVqaGjQ448/rtjYWEnSwoULQ97TWuwmTZok0zRVWloaKDeaEVcgOtFBHDiCu+66S+Xl5brmmmv0+eef66uvvtLixYt12223qbKyUpL085//XI899pgWLFigrVu3asaMGS0uQM877zz985//1Ntvv62tW7fqnnvuCWmOk5aWppkzZ2rmzJl64YUXtGPHDn355Zf605/+pGeffVaSNbb7c889p/Xr12vXrl168cUXFR8fr+OOO06S1bZ45cqVcrvdOnjwYLtr5/sj4tr3ZWZmatCgQfrzn/+sHTt2aOnSpbrjjjsUF9e++rMbbrhBycnJ+tGPfqT169dr2bJluv3223XllVfq2GOPlSTdf//9mjt3rh5//HFt27ZNX375ZaDfz3HHHSev16u5c+dq165deu211zR37tyQfTidTtXV1emDDz7QwYMHVVNTo+OPP1433HCDbrrpJi1YsEBfffWVVq1apdmzZ+vNN9+M6N+oLyKuQHQi2QCOYNiwYfr0008VExOjiy++WOPGjdNdd90lh8MRaFP/i1/8QtOnT9ctt9yiM888U16vVzfccEPIdn784x8HfqZMmaK0tDR973vfC3nPo48+qlmzZmn27NkaN26cLrzwQr3xxhsaNWqUJGnAgAF6/vnnNXXqVI0fP15vvPGG3nzzzcDrM2fOVEJCgsaOHavBgwe3q31zf0Vc+76YmBi9/vrrWrduncaPH6+77rpLjz76aLv7uiQnJ2vRokWqqKjQGWecoSuuuEKTJ0/WCy+8EHjPnXfeqaefflp//vOfNX78eF188cXauHGjJGnixIl64oknNGfOHI0dO1bPPfdci2Z5Z511lu644w5dd911Gjx4sB577DFJVofn6dOn695779UJJ5ygyy67TMuWLdPIkSMj9Nfpu4grEJ2M8DbHQG/jzC98StLdkjTr8rG6acqoHi5R2+6++25t2LBBS5Ys6emi2OKhf2zQS8t3+xd/5i5wPdWZ7TjzC1+XdLUkPXXdJF1+UuudL3uLaI/rXfPXqHBd4O7Nte4C1+ud2Y4zv/AjSedK0vxbztRZxw6KUAnRGdc9u0LLv/rGv3i+u8D1UWe248wvXC9pvCS9N2OqTshOj1AJ0RnTHl+mrfsq/YsT3QWu9T1ZHqAt3NkAAAAAYAuSDQAAAAC2YDQqIML++7//u6eLABsQVwAAOo47GwAAAABsQbIBAAAAwBYkG0Av5nQ6W53pGn0XMY1OxDU6EVeg60g2gH5iyZIluuKKK5STk6Pk5GRNnDgxZPx59D11dXW66aabNHHiRMXHx+ucc87p6SIhAjhWoxPHK/orkg2gn/jss880YcIELViwQBs2bNCdd96p2267TfPnz+/poqGTPB6PEhMTdffdd8vlcvV0cRAhHKvRieMV/RXJBqKeaZp67LHHdMwxxygpKUkTJkzQK6+8Ikm6+eabNW7cONXW1kqyTgZTp07VZZddFvh8fn6+xowZo6SkJDmdTt17772qq6sLvD5r1iyNHz9eL730kpxOp1JSUjR9+nQ1NDTomWee0fDhwzVw4EDdc8898nq9gc85nU7NmjVLP/zhD5Wamqrs7Oyj3q4vLy/XbbfdpiFDhigtLU1nn322Vq1a1a6/w3/+53/qN7/5jaZMmaLRo0frzjvv1JVXXqk33nij3X/L3oKYWlJSUvSnP/1Jt912m/Ly8tr99+utiKslmo5Vibj6RdvxCrQXQ98i6j3wwANasGCBnn76aY0ZM0bLly/XrbfeqszMTD355JOaNGmSZs6cqaefflq//e1vtX37dq1bty7w+ZSUFL3wwgvKzc3Vpk2bdMcdd8jhcOjRRx8NvMftdusf//iHFi5cqJKSEl111VXau3evcnJy9P7772vLli26+uqrNWXKFF111VWBz82ZM0f33Xeffv3rX+tf//qXfvrTn2r06NG68sorW/wepmnK5XIpIyNDCxcuVFZWll566SWdd9552rp1q3Jycjr8t6moqOiTJz1iGp2I65H11WNVIq5Av2eaJj/89OqfkfctfGrkfQvNkfctNF/85CuzI6qqqszExERz2bJlIet//vOfm5dccolpmqa5cuVKMz4+3nzwwQfNuLg48913321zm//zP/9jHnPMMYHlhx56yExMTDTLysoC66666ipz0KBBZn19fWDd2Wefbd51112B5ZEjR5oXXHBByLZvvvlmc8qUKSHv+a//+i/TNE3zww8/NFNSUsyampqQz5x00knmH/7whzbL3Jp33nnHjIuLMz///PMOfe7X/7fe9Mdj5H0Lf2p2Pq6v+7fz9pcl7d4/MW3dXXfdZZ599tkd+kywn7y6Ojiu15idj+tH/u18uv1Au/dPXI+ss8eqaZrmtfOWB8f1PLPzcV3v387mveXt3j9xbV1Xj9eL5iwNjusEsxecq/nh50g/3NlAVNu0aZPq6up08cUXyzCMwPrGxkY5nU5J0umnn677779fs2bN0k9+8hNdcsklIdtYsGCB5s6dqx07dqiqqkoej0cejyfkPSNGjFBGRkZgeejQoTr++OOVkJAQsm7//v0hn5s8eXKL5TfffLPV32X16tWqqanR4MGDQ9bX1dVp586dR/lLhPr00091/fXX68knn9QZZ5zRoc/2NGIanYhr6/rysSoRVwA0o0KU87fPfeeddzRixIiQ1+Lj4yVZd/c++eQTxcbGaufOnTJNM3BSXLFiha699lo99NBDevzxxzVgwAC9/fbbmjlzZqvb8jMMo9V14SfIjv4uQ4cO1ccff9zitfT09HZv55NPPtGll16qRx55RHfeeWeny9NTiGl0Iq4t9fVjVSKuAEg2EOXGjh0rh8Oh3bt367zzzmv1PXPmzNGaNWu0bNkyXXrppXrqqaf0s5/9TJJVq5ibm6sHH3ww8P7du3dHrHwrVqxosXziiSe2+t5TTjlF+/btU0xMjEaPHt2p/S1btkwul0sPP/ywZsyY0alt9DRiGp2Ia6hoOFYl4gqAZANRLi0tTTNnztTMmTNlmqa+853vqKqqSitWrFBMTIzOPPNM3X///Zo/f77OOussPfPMM7r55pt1/vnna9y4cTr++ONVUlKiV199VZMnT9aiRYv02muvRax8K1as0O9//3t9//vf15IlS/Tyyy/r1VdfbfW9F1xwgaZMmaIrrrhCjz32mE444QSVlpbqvffe0wUXXKCpU6e2ua8lS5bI5XLpJz/5ia6//nqVlpZKkmJjY1s0C+jNiGmoTZs2qaGhQQcPHlRVVZW+/PJLSdLJJ58csd+pOxDXZtFyrErENVy0HK9ARzD0LaLeo48+qlmzZmn27NkaN26cLrzwQr3xxhvKycnRDTfcoOuvvz4w8sj111+v73//+7r++utVX1+vyy+/XL/85S81Y8YMTZw4UR988IEeeeSRiJXtnnvu0bp16zRp0iQ98MADeuSRR/T973+/1fcahqF3331X5513nm699VaNGTNGV199tbZu3aphw4YddV9/+ctfVFNT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AMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAWJBsAAAAAbEGyAQAAAMAW/x87qVlX0I7FTwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "process_row = 1.2\n", "store_row = 0\n", "request_column = 0.7\n", "allocate_column = 2.3\n", "offset = 0.4\n", "topology_settings = {\n", " 'buffer': 1,\n", " 'show_ports': False,\n", " 'node_size': 10000,\n", " 'dashed_edges': True,\n", " 'node_distance': 4,\n", " 'graph_format': 'hierarchy',\n", " 'coordinates': { \n", " # Processes\n", " 'requester_1': (0,process_row+1),\n", " 'requester_2': (0,process_row),\n", " 'evolver_1': (3,process_row+1),\n", " 'evolver_2': (3,process_row),\n", " 'allocator': (1.5,process_row-0.5),\n", " # Stores\n", " 'store1': (1.5,process_row+0.5),\n", " 'allocate': (allocate_column,store_row),\n", " 'request': (request_column,store_row),\n", " 'allocate\\nexample_1': (allocate_column+offset,store_row-1),\n", " 'allocate\\nexample_2': (allocate_column-offset,store_row-1),\n", " 'request\\nexample_1': (request_column+offset,store_row-1),\n", " 'request\\nexample_2': (request_column-offset,store_row-1),\n", " },\n", " 'remove_nodes': [\n", " 'allocate\\nexample_1\\nstore1',\n", " 'allocate\\nexample_2\\nstore1',\n", " 'request\\nexample_1\\nstore1',\n", " 'request\\nexample_2\\nstore1',\n", " ],\n", "}\n", "allocation_composite_topo_fig = plot_topology(allocation_composite, topology_settings)" ] }, { "cell_type": "code", "execution_count": null, "id": "333d1401", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "847.0587768554688px", "left": "32px", "top": "110.47796630859375px", "width": "358.8235168457031px" }, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 5 }