blob: 93074b1a4f09d73adcd276fdc212b98b65286c85 [file] [log] [blame]
{
"cells": [
{
"cell_type": "markdown",
"id": "e556d0f0-2bd4-455d-9cd2-187a186f1ea8",
"metadata": {},
"source": [
"# Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "97057c6a-96ed-4443-9cd8-085e8200ae32",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from typing import Collection\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"\n",
"from pdkmaster.design import library as _lbry\n",
"\n",
"from c4m.pdk import sky130\n",
"prims = sky130.tech.primitives\n",
"\n",
"# Contrary to the PySpice v1.5 release notes my simulations with own compiled ngspice-34\n",
"# fail to run. Use v33 of the library. This can be commented if a supported ngspice shared\n",
"# is in the lib search path.\n",
"home = os.environ[\"HOME\"]\n",
"os.environ[\"NGSPICE_LIBRARY_PATH\"]=f\"{home}/software/mint20/stow/ngspice-33/lib/libngspice.so.0\""
]
},
{
"cell_type": "markdown",
"id": "3a3287c1-8567-4489-86ea-809032eb9c7a",
"metadata": {},
"source": [
"# IO n/p ratio\n",
"\n",
"Determine the w ratio needed for the IO nmos/pmos transistors to get equal drive strength on the transistor"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "7f0c8552-c149-4867-8134-9a764a53250e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"corner: tt\n",
"corner: ss\n",
"corner: ff\n",
"corner: fs\n",
"corner: sf\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 864x360 with 3 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ion = None\n",
"def _block():\n",
" global ion\n",
"\n",
" def sim_ion(*, ls: Collection[float], corner: str):\n",
" # Make one circuit with transistor for all ls\n",
" # This avoids the startup time when one would do the simulation separately\n",
" ckt = sky130.cktfab.new_circuit(name=\"ion_tb\")\n",
"\n",
" iovss = ckt.new_net(\"iovss\", external=True)\n",
" for i, l in enumerate(ls):\n",
" # Simulate 10µm IO nmos transistor on current\n",
" ionmos = ckt.new_instance(name=f\"nmos_{i}\", object_=prims.nfet_g5v0d10v5, l=l, w=10.0)\n",
" iopmos = ckt.new_instance(name=f\"pmos_{i}\", object_=prims.pfet_g5v0d10v5, l=l, w=10.0)\n",
"\n",
" iovss.childports += (\n",
" ionmos.ports.sourcedrain1, ionmos.ports.bulk,\n",
" iopmos.ports.sourcedrain1, iopmos.ports.gate,\n",
" )\n",
" ckt.new_net(name=f\"iovdd_n_{i}\", external=True, childports=(\n",
" ionmos.ports.sourcedrain2, ionmos.ports.gate,\n",
" ))\n",
" ckt.new_net(name=f\"iovdd_p_{i}\", external=True, childports=(\n",
" iopmos.ports.sourcedrain2, iopmos.ports.bulk,\n",
" ))\n",
"\n",
" tb = sky130.pyspicefab.new_pyspicecircuit(corner=corner, top=ckt, title=\"Ion\")\n",
" tb.V(\"gnd\", \"iovss\", tb.gnd, 0.0)\n",
" for i in range(len(ls)):\n",
" tb.V(f\"vdd_n_{i}\", f\"iovdd_n_{i}\", tb.gnd, 3.3)\n",
" tb.V(f\"vdd_p_{i}\", f\"iovdd_p_{i}\", tb.gnd, 3.3)\n",
"\n",
" sim = tb.simulator(temperature=25)\n",
" op = sim.operating_point()\n",
"\n",
" ion = np.ndarray([2, len(ls)])\n",
" for i in range(len(ls)):\n",
" ion[0, i] = -getattr(op, f\"vvdd_n_{i}\")[0].value\n",
" ion[1, i] = -getattr(op, f\"vvdd_p_{i}\")[0].value\n",
" return ion\n",
"\n",
" ls = (*np.arange(0.5, 2.01, 0.1), *np.arange(2.2, 5.01, 0.2), *(5.5, 6.0))\n",
" corners = (\"tt\", \"ss\", \"ff\", \"fs\", \"sf\")\n",
"\n",
" ion = np.ndarray([2, len(ls), len(corners)])\n",
" for i, corner in enumerate(corners):\n",
" print(f\"corner: {corner}\")\n",
" ion[:, :, i] = sim_ion(ls=ls, corner=corner)\n",
" \n",
" plt.figure(figsize=(12.0, 5.0))\n",
"\n",
" plt.subplot(1, 3, 1)\n",
" plt.plot(ls, 1e6*(ion[0,:,:]/10))\n",
" plt.axis([0, 6, 0, 350])\n",
" plt.xlabel(\"l [µm]\")\n",
" plt.title(\"$I_{on,n}$ [µA/µm]\")\n",
" plt.legend(corners)\n",
" plt.grid()\n",
" \n",
" plt.subplot(1, 3, 2)\n",
" plt.plot(ls, 1e6*(ion[1,:,:]/10))\n",
" plt.axis([0, 6, 0, 350])\n",
" plt.xlabel(\"l [µm]\")\n",
" plt.title(\"$I_{on,p}$ [µA/µm]\")\n",
" plt.legend(corners)\n",
" plt.grid()\n",
"\n",
" plt.subplot(1, 3, 3)\n",
" plt.plot(ls, ion[0, :, :]/ion[1, :, :])\n",
" plt.axis([0, 6, 0, 5])\n",
" plt.xlabel(\"l [µm]\")\n",
" plt.title(\"$I_{on,n}$/$I_{on,p}$ []\")\n",
" plt.legend(corners)\n",
" plt.grid()\n",
"_block()"
]
},
{
"cell_type": "markdown",
"id": "c429fa32",
"metadata": {},
"source": [
"# LevelUp verification"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "af037107",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning: vin_: no DC value, transient time 0 value used\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEGCAYAAAB7DNKzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAX0UlEQVR4nO3df7AlZX3n8fdXZgg/rmai3CgBdEzkskETwg8BjZuaSTQBiirWLbYK14IUMZmSiKUVrcVYu7jJ1m5hZWMZgzpFlEI2FjoVWEMQYY3eKxJFmSHDz8F1/LFkFhYiKHhhBIb57h/nDHO99Onb95zu093k/ao6xTn3PKfPp4a+/b1PP/08HZmJJEmjvKDtAJKkbrNQSJJKWSgkSaUsFJKkUhYKSVKpNW0HWK1169blq171qrZj/JTHH3+cQw89tO0Yz9HFXGaqxkzVdTFXFzNt27btB5k5O9aHM7NXj7m5ueya+fn5tiMU6mIuM1Vjpuq6mKuLmYCtOeZxt3c9Cmla/u+PdvPUnr0Tb2fPM3vZ9cPdq/rMHf+8h7z3oYm/u05dzATdzNXFTJOwUEgFvnzvg/zeFVvbDbHt1na/v0gXM0E3c3Ux05gsFFKBhxefAuA/nXksLzn0wIm29e7PbgdgwzHVTw8/8vAjvPglL57oe+vWxUzQzVxdzPSpCT5roZBK/PaxL+WoFx8y0Tb+7vb7efDHP+GK80+u/JmFhQU2bKjefhq6mAm6mauLmT71e+N/1stjpQJ1roDmamrqOwuFVCKipu1Q04akFlgopCI1dgPSFZrVcxYKSVIpC4VUImo691TXKSypDRYKqUDWeO7JE0/qOwuFVKKujoAdCvWZhUIqUOf4s2PZ6jsLhSSplIVCKlHbILSj2eoxC4VUwJnZ0n4WCqlEXTOq7U+ozywUUoF6B7PtU6jfLBSSpFKNFYqIOCgivhkRt0fE3RHxJwVtIiI+EhE7I+KOiDihqTzSOGpbFNBzT+qxJu9H8STwm5m5GBFrgZsj4guZecuSNqcDRw8fpwAfH/5XalWdM7OlvmusRzG8n/fi8OXa4WP5b99ZwJXDtrcA6yLi8KYySavlzGwJosmBtog4ANgGvAr4aGZetOz964BLMvPm4esvARdl5tZl7TYBmwBmZ2dP3LJlS2OZx7G4uMjMzEzbMZ6ji7n6kunL9z3Nlfc8xYc3HMy6gyb7e+rPbt3Nk8/Afzz14Ikyta2LmaCbubqYaePGjdsy86SxPpyZjT+AdcA88JplP/888IYlr78EnFi2rbm5ueya+fn5tiMU6mKuvmT6H1//fr7iouvywUd3T7z9t/7VLfnmj948caa2dTFTZjdzdTETsDXHPIZP5aqnzPwRsACctuytXcBRS14fCdw/jUxSJbUNZnvySf3V5FVPsxGxbvj8YOCNwL3Lml0LnDe8+ulU4NHMfKCpTFJV9c7MdmBc/dbkVU+HA58ajlO8ANiSmddFxNsBMnMzcD1wBrATeAI4v8E80qo5M1tqsFBk5h3A8QU/37zkeQLvaCqDNLYaL/JwYrb6zpnZkqRSFgqphDOzJQuFVKjWwWxPPannLBRSifpmZtulUH9ZKKQCtS4z7uWx6jkLhSSplIVCKlHbjGrPPKnHLBRSgXQehfQsC4U0BXYo1GcWCqnAvk5AHQd4OxTqOwuFJKmUhUIq4cxsyUIhFap1ANpzT+o5C4U0Bc7MVp9ZKKQC+wezJz/AOzNbfWehkCSVslBIZRzMliwUUhFnZkv7WSikKbBHoT6zUEgl6jjA26FQ31koJEmlLBRSCe9wJ1kopEK13uHO0Wz1XGOFIiKOioj5iNgREXdHxLsK2myIiEcjYvvwcXFTeaQ2OZitPlvT4Lb3AO/JzNsi4oXAtoj4Ymbes6zdVzPzzAZzSKu2bzZ1HXe4sz+hvmusR5GZD2TmbcPnPwZ2AEc09X2SpGZMZYwiItYDxwPfKHj7dRFxe0R8ISJePY08UlWeMZIgmh5oi4gZ4CvAf83Ma5a99yJgb2YuRsQZwF9k5tEF29gEbAKYnZ09ccuWLY1mXq3FxUVmZmbajvEcXczVl0zXf+8ptnzraTa/8RAOWjNZufjTr+/mkDXBe1970ESZ2tbFTNDNXF3MtHHjxm2ZedJYH87Mxh7AWuBG4I8qtv8+cFhZm7m5ueya+fn5tiMU6mKuvmTavLAzX3HRdbn4k6cn3v5Zl96c537yGxNnalsXM2V2M1cXMwFbc8xjeZNXPQXwSWBHZn5oRJuXDdsRESczOBX2cFOZpKqeXWbcmdlSo1c9/TpwLnBnRGwf/uz9wMsBMnMzcDZwQUTsAXYD5wwrn/S84liH+qyxQpGZN7PC70dmXgpc2lQGaVLOqJacmS0Vqvee2XaS1W8WCmkKnJmtPrNQSAX2z8yuY1tSv1kopCmwQ6E+s1BIkkpZKKQC9S4zXt+2pDZYKKQpqGMVWqktFgqpRD2D2XYp1G8WCmkK7E+ozywUUglnZksWCqlQnUuOOZitvrNQSFPgWLb6zEIhFdjXC6hlMNsehXrOQiFNhV0K9ZeFQirh4V2yUEiFal1lvMZtSW2wUEhT4GC2+sxCIRXYP5g9+RHeu/uq7ywU0hTYoVCfWSikEh7gJQuFVMiF/KT9LBTSFDiYrT6zUEgFnJkt7WehkKbAVWjVZ40Viog4KiLmI2JHRNwdEe8qaBMR8ZGI2BkRd0TECU3lkcbhnekkWNPgtvcA78nM2yLihcC2iPhiZt6zpM3pwNHDxynAx4f/lVpV78xszz2p3xrrUWTmA5l52/D5j4EdwBHLmp0FXJkDtwDrIuLwpjJJbbFjoj6LacwajYj1wE3AazLzsSU/vw64JDNvHr7+EnBRZm5d9vlNwCaA2dnZE7ds2dJ45tVYXFxkZmam7RjP0cVcfcl0zbef4trvPM0Vpx068fbff/MT/MKhL+DC4w+aKFPbupgJupmri5k2bty4LTNPGuvDmdnoA5gBtgH/tuC9zwNvWPL6S8CJZdubm5vLrpmfn287QqEu5upLpj+/8d58xUXX1bL9N/75Ql7w11snztS2LmbK7GauLmYCtuaYx/FGr3qKiLXA1cCnM/Oagia7gKOWvD4SuL/JTFJVni6SBpq86imATwI7MvNDI5pdC5w3vPrpVODRzHygqUxSVS4zLu3X5FVPvw6cC9wZEduHP3s/8HKAzNwMXA+cAewEngDObzCP1BrnUajPGisUORigLv3tGJ43e0dTGaRJeGiXBpyZLRWo82LAzLTqqNcsFNIIzsqWBiwUUoE6Z1M7mK2+s1BIU2DfRH1moZBG8OAuDZRe9RQRL66wjb2Z+aN64kjdUOvKNul4h/ptpctj7x8+yvbyAxjOjZCeTzy2SwMrFYodmXl8WYOI+Mca80id4Mxsab+VxihOrbCN19URRHo+s3OiPlupUFwdEW+NiJFrLWfmT2rOJHWCy25IAysVir8CzgS+FxGfjYh/ExEHTiGX1Kq6Z2Y73qE+Ky0Umfm3mfkW4BXANcDvAvdFxOUR8aZpBJRa48FdAirOo8jM3Zn52cx8M/DbwPHADY0mk1rkzGxpv0qFIiJeGhHvjIh/AD4H/C/gxCaDSc8ndk7UZytNuPsD4C3AMQxOPf2HzPyHaQST2ubBXRpYaR7F64FLgL/PzL1TyCN1Q62D2c7MVr+tVCj+ODP/X1mDiHjZSm2kPvLYLg2sNEZxfYVtVGkj9Uq9M7Mdzla/rdSjOC4iHit5P4Cy9yXheIf6rbRQZOYB0woidY0zs6UB70chFcgap2ZnYpdCvWahkEZwMFsasFBIBepd66m+bUltqFwoIuK4iLhw+DiuQvvLI+KhiLhrxPsbIuLRiNg+fFy8muBSnzjeoT6ruoTHu4BPAz8/fPx1RLxzhY9dAZy2QpuvZuavDR9/WiWLNC0e2qWBlS6P3edtwCmZ+ThARHwQ+Drwl6M+kJk3RcT6iRNKLaj7bJHjHeqzqHJ1R0TcCbx2302KIuIg4NbM/JUVPrceuC4zX1Pw3gbgamAXg/tyvzcz7x6xnU3AJoDZ2dkTt2zZsmLmaVpcXGRmZqbtGM/RxVx9yXTVjif5yq49bH7TyHt2VfaehSf45ZccwO//ys9MlKltXcwE3czVxUwbN27clpknjfXhzFzxAfwRcDvwn4eP7cC7K3xuPXDXiPdeBMwMn58BfLtKlrm5ueya+fn5tiMU6mKuvmT6k2vvzldffEMt23/df/v7fM+W7RNnalsXM2V2M1cXMwFbs8IxtuhR9X4UHwLOBx4Bfgicn5kfHqsy7d/mY5m5OHx+PbA2Ig6bZJtSV3nmSX1WdYyCzLwNuK2uL46IlwEPZmZGxMkMBtYfrmv70qQ8uEsDlQvFakXEVcAG4LCI2AV8AFgLkJmbgbOBCyJiD7AbOGfYPZJaV/cd7hzMVp81VihycK/tsvcvBS5t6vuliXlwlwBnZkuF6p6Z7YQ79ZmFQpJUykIhjWAfQBqwUEgNS9LBbPWahUIaITy6S4CFQipU55XamV4eq36zUEiSSlkopBHsBUgDFgqpQJ1LBAy2ZdVRf1kopBE8tEsDFgqpQO0zs6066jELhSSplIVCGsF5FNKAhUIqUOcy45COd6jXLBTSCB7cpQELhVTAwWxpPwuFJKmUhUIawV6ANGChkArUPTPbO9ypzywU0kge3CWwUEiF6h3M9sZF6jcLhSSplIVCGsFegDRgoZAK1XiHOxztUL81Vigi4vKIeCgi7hrxfkTERyJiZ0TcEREnNJVFkjS+JnsUVwCnlbx/OnD08LEJ+HiDWaRVyayvFzCYmW2fQv3VWKHIzJuAR0qanAVcmQO3AOsi4vCm8kiSxrOmxe8+AvinJa93DX/2wPKGEbGJQa+D2dlZFhYWppGvssXFxc5lgm7m6kum+x94kqeeeqaWrHv2PM2uXbtYWPjniTK1rYuZoJu5uphpEm0WiqK+eOEIYmZeBlwGcMwxx+SGDRsajLV6CwsLdC0TdDNXXzJ94Qd38K3HHqol6wELN3LkkUeyYcOrJ8rUti5mgm7m6mKmSbR51dMu4Kglr48E7m8piyRphDYLxbXAecOrn04FHs3M55x2ktqQZG3rMyXOyVC/NXbqKSKuAjYAh0XELuADwFqAzNwMXA+cAewEngDObyqLJGl8jRWKzHzLCu8n8I6mvl+alL0AacCZ2VKBOhcFJF1mXP1moZAklbJQSAXqXJ/JwWz1nYVCklTKQiGN4PpM0oCFQipQ+x3u6tucNHUWCklSKQuFVCDrvnGRXQr1mIVCklTKQiGNYC9AGrBQSEVqHcz2Cir1m4VCklTKQiEVqHMAerBkudRfFgpJUikLhTSCK75KAxYKqUDWODU761xhUGqBhUKSVMpCIRWodzDb01jqNwuFJKmUhUIawT6ANGChkArUfs9sq456zEIhSSploZAKDAaz6+kGODNbfddooYiI0yLiWxGxMyLeV/D+hoh4NCK2Dx8XN5lHkrR6a5racEQcAHwUeBOwC7g1Iq7NzHuWNf1qZp7ZVA5pXPYCpIEmexQnAzsz87uZ+RTwGeCsBr9Pqk3dM7MdzFafRZ2/ED+14YizgdMy8/eHr88FTsnMC5e02QBczaDHcT/w3sy8u2Bbm4BNALOzsydu2bKlkczjWlxcZGZmpu0Yz9HFXH3J9LHtP+G+x/ZyyW8cMvH233bj45z+yrWcPXfgRJna1sVM0M1cXcy0cePGbZl50lgfzsxGHsC/Az6x5PW5wF8ua/MiYGb4/Azg2yttd25uLrtmfn6+7QiFupirL5n+8NPbcuN/f+7Px/GLf/z5/LMb7p04U9u6mCmzm7m6mAnYmmMez5s89bQLOGrJ6yMZ9BqWFqnHMnNx+Px6YG1EHNZgJknSKjVZKG4Fjo6IV0bEgcA5wLVLG0TEy2J4DWJEnDzM83CDmaTKHFaQBhq76ikz90TEhcCNwAHA5Zl5d0S8ffj+ZuBs4IKI2APsBs4ZdpGkdtV6z+x0MFu91lihgGdPJ12/7Geblzy/FLi0yQySpMk4M1sqkGSNM7M9jaV+s1BIkkpZKKQRau0FOEihHrNQSAXqvKTCyzPUdxYKSVIpC4VUoO71mTzxpD6zUEiSSlkopBGixn6AY9nqMwuFVCBrmprtQgN6PrBQSJJKWSikAnUNZu/rUNR5GkuaNguFJKmUhUKaAgez1WcWCqlAXUPQDmXr+cBCIUkqZaGQRqhrmXFwZrb6zUIhFahr+oPzKPR8YKGQRqizF+BgtvrMQiEVqmlmdi1bkdploZAklbJQSCPUusy4557UYxYKqUB9g9n1bEdqk4VCGsFOgDRgoZAK1Dcz2y6F+q/RQhERp0XEtyJiZ0S8r+D9iIiPDN+/IyJOaDKPJGn1GisUEXEA8FHgdOBY4C0RceyyZqcDRw8fm4CPN5VHWi3vcCcNrGlw2ycDOzPzuwAR8RngLOCeJW3OAq7MwfTVWyJiXUQcnpkPjNro9x/by/r3fb7B2GO6oYOZoJu5epTp1RffMNFm9514eoGVQj3WZKE4AvinJa93AadUaHME8FOFIiI2MehxADz5fz545l31Rp3YYcAP2g5RoIu5/kVmuuCDcMHqPvIv8t9pTF3M1cVMx4z7wSYLRdGfUMtH9qq0ITMvAy4DiIitmXnS5PHq08VM0M1cZqrGTNV1MVdXM4372SYHs3cBRy15fSRw/xhtJEktarJQ3AocHRGvjIgDgXOAa5e1uRY4b3j106nAo2XjE5Kk6Wvs1FNm7omIC4EbgQOAyzPz7oh4+/D9zcD1wBnATuAJ4PwKm76sociT6GIm6GYuM1Vjpuq6mOt5lSlcL1+SVMaZ2ZKkUhYKSVKpzhaKLi7/USHTW4dZ7oiIr0XEcW1nWtLutRHxTESc3YVMEbEhIrZHxN0R8ZWmM1XJFRE/GxF/FxG3D3NVGTObJM/lEfFQRBTOC2priZsKudrYz0szLWk3zf18xUzT3s8r/L8bbx/PzM49GAx+fwf4ReBA4Hbg2GVtzgC+wGAuxqnANzqQ6fXAzw2fn96FTEvafZnBxQNnt50JWMdghv7Lh69/viP71PuBDw6fzwKPAAc2mOk3gBOAu0a8P9V9fBW5prqfV8m05P/xVPbziv9ObeznK2Uaax/vao/i2eU/MvMpYN/yH0s9u/xHZt4CrIuIw9vMlJlfy8wfDl/ewmBeSJOq/DsBvBO4Gnio4TxVM/174JrMvA8gM7uSK4EXxuAuQzMMfon2NBUoM28afsco097HK+VqYT+v8m8F093Pq2Sa+n5eIdNY+3hXC8WopT1W22bamZZ6G4O/Bpu0YqaIOAJ4M7C54SyVMwFzwM9FxEJEbIuI8zqS61LglxlM+rwTeFdm7p1CtlGmvY+PYxr7+Ypa2M+raGM/X8lY+3iTS3hMorblP2pU+fsiYiODX6A3NJgHqmX6MHBRZj4T01mYrkqmNcCJwG8BBwNfj4hbMvN/t5zrd4DtwG8CvwR8MSK+mpmPNZirzLT38VWZ4n5exYeZ7n5eRRv7+UrG2se7Wii6uPxHpe+LiF8FPgGcnpkPN5inaqaTgM8Mf3kOA86IiD2Z+bkWM+0CfpCZjwOPR8RNwHFAk79AVXKdD1ySgxO4OyPie8C/Ar7ZYK4ynV3iZsr7eRXT3s+raGM/X8lY+3hXTz11cfmPFTNFxMuBa4Bzp/RXw4qZMvOVmbk+M9cDfwP8YcO/PFX+3/0t8K8jYk1EHMJgVeEdDWaqmus+Bn/9EREvZbDa5ncbzlWmk0vctLCfr6iF/byKNvbzlYy1j3eyR5HNLf/RdKaLgZcAHxv+ZbMnG1xBsmKmqaqSKTN3RMQNwB3AXuATmdno0vEV/63+C3BFRNzJ4LTPRZnZ2FLREXEVsAE4LCJ2AR8A1i7JM9V9fBW5prqfV8w0dStlamM/r/DvNNY+7hIekqRSXT31JEnqCAuFJKmUhUKSVMpCIUkqZaGQJJWyUEiSSlkopAoi4msFP1sfEbsjYvvw9UJE/M6yNu+OiI9FxC8Nl5tenFJkqTYWCqmCzHz9iLe+k5m/Nnx+FYMZ30udA1yVmUvbSb1ioZAqqNgT+BvgzIj4meFn1gO/ANzcYDSpcRYKqSbDxfG+CZw2/NE5wGfT5Q/UcxYKqV5LTz+dM3wt9ZqFQqrX54DfisH9rQ/OzNtaziNNzEIh1SgzF4EF4HLsTeh5wkIh1e8qBjeo+UzbQaQ6dPJ+FFLXZObMKtr+T4pvYyr1kj0KaXzPAD+7b8JdmX0T7oAHmw4l1c0bF0mSStmjkCSVslBIkkpZKCRJpSwUkqRS/x+y0FA6RJ6XdAAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def _block():\n",
" lu = sky130.iolib.cells.LevelUp\n",
" tb = sky130.pyspicefab.new_pyspicecircuit(corner=\"tt\", top=lu.circuit, title=\"LevelUp\")\n",
" tb.V(\"vss\", \"vss\", tb.gnd, 0.0)\n",
" tb.V(\"iovss\", \"iovss\", tb.gnd, 0.0)\n",
" tb.V(\"vdd\", \"vdd\", tb.gnd, 1.8)\n",
" tb.V(\"iovdd\", \"iovdd\", tb.gnd, 3.3)\n",
" tb.PieceWiseLinearVoltageSource(\"in_\", \"i\", tb.gnd, values=((0, 0), (1, 1.8), (2, 0)))\n",
"\n",
" sim = tb.simulator(temperature=25)\n",
" trans = sim.transient(step_time=1e-3, end_time=2)\n",
"\n",
" plt.plot(trans.i, trans.o)\n",
" plt.axis((0, 1.8, 0, 3.35))\n",
" plt.grid()\n",
" plt.xlabel(\"i [V]\")\n",
" plt.ylabel(\"o [V]\")\n",
"_block()"
]
},
{
"cell_type": "markdown",
"id": "4b5bf35d",
"metadata": {},
"source": [
"# LevelDown verification"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "7e0c58ec",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning: vin_: no DC value, transient time 0 value used\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def _block():\n",
" ld = sky130.iolib.cells.LevelDown\n",
" tb = sky130.pyspicefab.new_pyspicecircuit(corner=\"tt\", top=ld.circuit, title=\"LevelDown\")\n",
" tb.V(\"vss\", \"vss\", tb.gnd, 0.0)\n",
" tb.V(\"iovss\", \"iovss\", tb.gnd, 0.0)\n",
" tb.V(\"vdd\", \"vdd\", tb.gnd, 1.8)\n",
" tb.V(\"iovdd\", \"iovdd\", tb.gnd, 3.3)\n",
" tb.PieceWiseLinearVoltageSource(\"in_\", \"pad\", tb.gnd, values=((0, 0), (1, 3.3), (2, 0)))\n",
"\n",
" sim = tb.simulator(temperature=25)\n",
" trans = sim.transient(step_time=1e-3, end_time=2)\n",
"\n",
" plt.plot(trans.pad, trans.core)\n",
" plt.axis((0, 3.3, 0, 1.85))\n",
" plt.grid()\n",
" plt.xlabel(\"pad [V]\")\n",
" plt.ylabel(\"core [V]\")\n",
"_block()"
]
},
{
"cell_type": "markdown",
"id": "204eae71",
"metadata": {},
"source": [
"# IOPadInOut verification"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "69c54c18",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning: vde: no DC value, transient time 0 value used\n",
"Warning: vd: no DC value, transient time 0 value used\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAK9CAYAAABlztkgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACMhElEQVR4nO3deZzcVZX//9ep7k46CVkgC4QsJEAMO2FfgtDiBoiiIypuuE5k1HF03IcZRUd/M45+1XFQERVxBRVBQNkUaVbZAgkkkEBIWDohBAJZOlt3V53fH7V0J2Ttrk996nPq/Xw8mu5acy73U/U5devce83dERERERGR2silHYCIiIiISCNRAi4iIiIiUkNKwEVEREREakgJuIiIiIhIDSkBFxERERGpISXgIiIiIiI1lFgCbmaTzOwWM3vUzOab2b9s5T5mZt8zs0Vm9pCZHdnnttPMbGHpti8kFaeIiIiISC0lOQLeA3za3Q8Ejgc+ZmYHbXGf04FppZ9ZwA8BzKwJ+H7p9oOAd27lsSIiIiIimZNYAu7uz7r7A6W/1wKPAhO2uNtZwC+86G5glJmNB44FFrn7YnfvAi4v3VdEREREJNOaa/GPmNkU4Ajgni1umgA80+dyR+m6rV1/3DaeexbF0XNaW1uPmjx5cnWClpoqFArkcpqSkFXqv+xS32Wb+i/b1H/Z9dhjj73g7mP7+/jEE3Az2w34A/BJd1+z5c1beYhv5/qXX+l+MXAxwPTp033hwoUDiFbS0t7eTltbW9phSD+p/7JLfZdt6r9sU/9ll5k9NZDHJ5qAm1kLxeT71+5+5Vbu0gFM6nN5IrAMGLSN60VEREREMi3JVVAM+CnwqLt/ext3uwY4t7QayvHAand/FrgPmGZmU81sEHBO6b4iIiIiIpmW5Aj4TOC9wMNmNqd03b8BkwHc/SLgOuAMYBGwHvhA6bYeM/s4cCPQBFzi7vMTjFVEREREpCYSS8Dd/Q62Xsvd9z4OfGwbt11HMUEXEREREQlDU29FRERERGpICbiIiIiISA0pARcRERERqSEl4CIiIiIiNaQEXERERESkhpSAi4iIiIjUkBJwEREREZEaUgIuIiIiIlJDSsBFRERERGpICbiIiIiISA0pARcRERERqSEl4CIiIiIiNaQEXERERESkhpSAi4iIiIjUkBJwEREREZEaUgIuIiIiIlJDSsBFRERERGpICbiIiIiISA0pARcRERERqSEl4CIiIiIiNaQEXERERESkhpSAi4iIiIjUkBJwEREREZEaak47ANk5Nz/6HDfMW552GIkZsqGbtrSDSEohDzd/BdatTDuSRGzsydO06FnunfOjtENJRFPOOGTvEQxubko7lEQMe6aTz60YiVvM8ZgTV17JhI2PpR1GYu7PH8afn9897TCkn5Yv38Sfn5+bdhiSAiXgGXHJnUu4b8lLjNltUNqhVN2qDd2Y5/lq2oEkZdXTcOf/wpDdoWVY2tFUnXfn2XdDF00bLe1QEpF3p7BhELQETMC7Ojlm4yo+t/xUNu02Me1oEvEfm35ME3nWslvaoVTdaFaR5xk+vejYtEORftq4Kc8TnS+kHYakQAl4RhQKcPikkfz+vBPTDqXqvnz1PK64/6m0w0iOF4q/T/sGHP6OdGNJwF/nLuOfL3uQv/7ryew/bnja4VTVwuVref13b+MHZx/JGYeOTzuc6nvw13D1Rzlo/HC+//FXpx1NMv6rCWacy7DT/zvtSKrvJ69l+rpN3PUvQfuuAbS3t9PW1pZ2GNIP9m8De3zM7xxFREREROqUEvCMcBwj5lf8ZoZ72lHUgMXsv96ui9e+cpeFPT5LDYzXc324h33tYYaFPThFYkusBMXMLgHOBFa4+yFbuf2zwLv7xHEgMNbdXzSzJ4G1QB7ocfejk4ozK6K/x4ZuXvDO8+Dtg+IH4MgsdPsit01EsirJEfBLgdO2daO7f9PdZ7j7DOCLwK3u/mKfu7yqdHvDJ98VQQdxGkfsDow4yBiwSVuwzX7FFbWBUdslEl9iCbi73wa8uMM7Fr0TuCypWCJw4r7VRkzcNlcagQve0IitUwlKAMFLUDTCL5JNqdeAm9lQiiPlf+hztQM3mdlsM5uVTmQiIiIiItVXD8sQvhG4c4vyk5nuvszMxgF/MbMFpRH1lykl6LMAxo4dS3t7e+IBp2HVqg3kjJDtW9qxCXcP2TaAoes6OBZ45JFHWLGyPe1wqm7+sh4A7r33Xp4elvpn+qpa1llcQnL+I48w/KV4m7nsuXwBBwKda1eHff29Mt/Dsmc6eCJg+2asXk2+EPe9sxF0dnaq/xpUPSTg57BF+Ym7Lyv9XmFmVwHHAltNwN39YuBigOnTp3vU9TS/v+AumnM52tqOTzuUqru98xHoWBJ3LdTnF8J9cNBBB3HQoW1pR1N1Lz3YAQ/N5fjjjmPKmFgbDS1a0Ql33MqBBx5I24wJaYdTfQ+tgAUwcsSIuK+/O3JMmjyJSRHbt2R3Vq1aHbfvGoDWAW9cqQ5XmdlI4BTg6j7XDTOz4eW/gdcB89KJUKSKotahBqYuExGRJCS5DOFlQBswxsw6gC8DLQDuflHpbm8BbnL3dX0euidwlRXPfM3Ab9z9hqTizIrQ84gIPo2oMoMvZgd64DmmAZu0hWILc6FfgaGnsBP83VMkrMQScHd/507c51KKyxX2vW4xcHgyUYmIiIiIpCvWjKnAnJgjjFBsV+wxnMBDxPQZAQ84ylj6Ji7+MoQWtYEE//pQI+AiWaUEPCPcY29FH/ocEr0EpfQ7Yo5TblL0nTBzQY/NosglKCKSVUrARURERERqSAl4RoQuQSH2AHj8EpS4vdcwO2GqBCWbzLCwB6dIbErAMyL6e2zo5gXvvNitKwrehVjoXozcNhHJKiXgkr6gg1MvF7uhEQcZo8676BW9fWVR2xn/+0ORqJSAZ0SxBCXmScQIPgkzeAlKb/Pita9SgpJuGMkpl6CkHEaigpegBD46RUJTAi4iIiIiUkNKwLPCPewoVfRVCOMvQ1hsX8zWFcWdaFreCTOyyMsQRm2XSHyx33cDib4KSmxRk7eiyFvRl4XtQa2Ckm1aBUUks5SAi9RK1CQgMHWZiIgkQQl4RrjHHSlWCUq29bYuXvss/ixMAHJxG0j8EpTIfScSlxJwEREREZEaUgKeEY6HXOYNiiOnscsYYxdJR64BLzfJo44yNsIyhBDz4IS47RJpAErAMyJ6CUposT9dNMgqKGlHkJTgJSjBy79UgiKSXUrARWomahIQV/gPhyIikgol4BkReiUtoo/hBK7RIPYgY3liadjjs7IMYcpxJCVyfRRoGUKRDFMCnhF6i82w4J0XvHlA5BKUIgvbi1HbJSJZpwQ8U+KO4jSG2O2MuQxh2hEkzbb4HVXU9kVtl0h8SsAzwt3DJgOVlSbCDjMG/xq81G8Rm9cwq6BE3QmzAUpQNMovkk1KwEVEREREakgJeIYEHcOpDE7FHQAPPEuRvjthBhT92Cw1MO5EvtBHJ40whV0kKiXgGRF7FZTgK00Ebhn0/ZY/6AFK4B4s9VkuatdVDs50w0hM4NecSHRKwEVqRefKzIk4sVRiiVq+LxKdEvCMcDxsMtBbghL0TBK9BKU8CTPlOJJgvTOEU40jOdG3oo/92lMJikh2KQEXEREREakhJeAZEbsGvCjuOE7spdAqY4wBmxf+2KzUgAdtoZYhFJE6pQQ8I5zg5xACf8sftmFFvfPcgh6gRO7CcglK1AZGL0ERkaxKLAE3s0vMbIWZzdvG7W1mttrM5pR+vtTnttPMbKGZLTKzLyQVo0htKQnImsgru4iISHqSHAG/FDhtB/e53d1nlH6+CmBmTcD3gdOBg4B3mtlBCcaZCe6RJ2GWlyEMPgoXNJmr9FrA5oXfpdU2+xVPA5SgxF3DXSS2xBJwd78NeLEfDz0WWOTui929C7gcOKuqwWVQI7zFhj2PhG1YUdjktI/oLYxfgiIiUl/SrgE/wczmmtn1ZnZw6boJwDN97tNRuk6CDuI0jtgdGHGQMWKbNhd9CLwsagM1CVMkq5pT/LcfAPZx904zOwP4IzCNrb9TbvMdxsxmAbMAxo4dS3t7e/UjrQPr163n+RUbQ7ZvyZIuAG677TYGNcU7UY5cNY8jgDlz57Lq6Xgny0VLugG48447GNIcq//WdRf76/HHF9He/VTK0VTf7i8+zOHAqpdeCvne0tSzgVcCTyxezDM97WmHU3UHvfACQwr5kH3XKDo7O9V/DSq1BNzd1/T5+zoz+4GZjaE44j2pz10nAsu28zwXAxcDTJ8+3dva2pIJOGVD729n3LgRtLUdmXYoVfcIi+CxhZx88sm0tjSlHU71PdkMc2DGjBkw9eS0o6m6RU2LYeGjnHTSSQxvbUk7nKpavb4bbr6J/fffn7aTpqYdTvU9UYCHYPfddyfke+emTrgD9ttvP/ab2ZZ2NNW34hLWrXs6Zt81iPb2dvVfg0qtBMXM9rLS7DszO7YUy0rgPmCamU01s0HAOcA1acVZL4rLEMYaXSwrTy4NW0ocfifM4u+Qx2d5icx0o0hQaR3wlKNITuzXXtx2icSX2Ai4mV0GtAFjzKwD+DLQAuDuFwFnA/9kZj3ABuAcL87m6jGzjwM3Ak3AJe4+P6k4s6K4CkpMlXXAw6Y5UdtVVO63qMcnBJ5oasHXAW+AVVBEJJsSS8Dd/Z07uP1C4MJt3HYdcF0ScYmkRifLzFGXSb3TMoQi2RT3m8dgQu+EWfod9jzSMCUo6caRhIBN2kJpBDzqVvQNUYISte9EYlMCLiIiIiJSQ0rAM8I98BhO+IlugYeI6TvGGK99lV1aox6cpfblojYw8tczELddIg1ACXhGOB5zlQn6roISPAkIKnqOA5EnCJdLUFIOIzGNUIIiIlmkBFykZnSyzBr1mNS/qB8ORWJTAp4RKkHJsthDxHFHh/scm1GbWFmGMKjoX8+YaRUUkYxSAp4RjfAeG7aNYRtWFLx5QOQPh0Vh1wEXEalTSsCzJOggTuOI3YERBxkjTizdXPT2lUVtZ9R2icSnBDxDoiYDFr4GJWzDNhP1+ITAo/wqQck20zrgIlmlBFykVqImAYGpy0REJAlKwDPC3cMmA5WdMKOO5FSaFbMDy8tHRj0+IfCxqZ0wM04j4CJZpQQ8I5zAp5DoK00EP0FWvuVPN4xEhT02yxvxRD1GG6IERUSySAm4SK3oZJk56jKpd2G/vBAJTgl4RrjHTQZ6S1CC8thfg1daF/AAjTyxtCj4JMy47yolKkERySol4CIiIiIiNaQEPCMcDzsaVx459bCFtrGLpCPXgPfOTwh6bGoZwmzTMoQimaUEPCNCl6CEXwY8bMuA3hVCoh6fELkLtQpKtkVtl0h8SsBFakYny6xRj0n9i/rhSSQ2JeAZ4cQdYaxMwgx7Hon9NXjvt/zx2lcpj0o5jsRoGcJsM62CIpJVSsAzIm5y2ivsZifBOy9264qCdyFxezFqu0Qk65SAZ0rUUZyg7XqZRmlnHPF7zLb4HVXU9mkSpkhWKQHPjPhb0cc9j4RtWJF72PSmLOy3M6WOCzsJM3wJihJwkaxSAi5SK1GTgMDUZSIikgQl4BnhHvhL1IZZhjBmD4btN/quUZ9yIIkpTcIM28DYr7247RKJTwl4RsReBSV6khO2YUDsNerLwvZgeSOeqP3XECUoIpJFSsBFakUnSxGpMos7ciESmhLwjHCPvBV98XfYiW7hS1BiT8IsznMLemyWd8JMOYrkxH7taRUUkexSAi4iIiIiUkOJJeBmdomZrTCzedu4/d1m9lDp5y4zO7zPbU+a2cNmNsfM7k8qxiyJXQNeFHaQsUF2wowq9BhjuQY8agtVAy4idSrJEfBLgdO2c/sS4BR3Pwz4T+DiLW5/lbvPcPejE4ovU7QKSoYFz1CduMdmWdwuDJ6AN0QJiohkUXNST+zut5nZlO3cflefi3cDE5OKRaQ+6GSZRaZRRqlrUT88icRWLzXgHwKu73PZgZvMbLaZzUopprri7mETgd5lCKOeSGJ/De7Bh8CLJShBj83SMVkvJ4Kqa4ASFK2CIpJNiY2A7ywzexXFBPykPlfPdPdlZjYO+IuZLXD327bx+FnALICxY8fS3t6edMip6O7poaOjg/b259MOpeoWdHQD8Pe/383YofFSgbEr5nMwcO9997F+2HNph1N1Tz/dBe5hX3vuzlNPPU17+/K0Q6m6YZ1LOAZYufKFkP3XuuFZjgceXbCA51a1px1O1U1bupSxxH3tNYLOzk71X4NKNQE3s8OAnwCnu/vK8vXuvqz0e4WZXQUcC2w1AXf3iynVj0+fPt3b2tqSDjsVze03MnHiRNraDk47lKpbcf8zMO8hjj/+eCbtMTTtcKpv3ovwCBx7zLEw7oC0o6m6v294FHtqMVFfe7m/XMfkyZNpa4vXdywfA/fD6NGjY/bfi4vhHjjwgAM5cEZb2tFU37o/0b3CYvZdg2hvb1f/NajUhhvNbDJwJfBed3+sz/XDzGx4+W/gdcBWV1JpKIF3GwzarD6Cf0UceIJwWdgerOyEGbSFDVCCIiLZlNgIuJldBrQBY8ysA/gy0ALg7hcBXwJGAz8o1Tb3lFY82RO4qnRdM/Abd78hqThFakYny0yKugGWRBH0w5NIcEmugvLOHdz+YeDDW7l+MXD4yx/R2Irz3GImAuXJpWHnEoXfCZOoTSuywMdm+J0wy6K2MPQq9SKhxZvxFlRxFZS0o0hGZSMenUgyyT32VvQQ+NisrIIStH0qQRGROqUEXKRWdLLMJPWa1LOo5fsi0SkBz4jISy1XdsKMeiIJ27CiyLu0VoTtwuglKLHLv1SCIpJdSsAzIngOB0Q+jcROAuL2W5FZ/DaGbWEjvHGKSCYpAc+QqBUMUdv1Mg3T0FiiTn4GepchTDmMxEV97ZlGwEWySgl4Rjjaij6zorarxAOvUV8W9tgsl6CE7b+o/VYWtuNEwtvmMoRm9g878fiN7n5dFeMREakrcZNTiSH6hwyRmLa3DviPgavZ/kfskwEl4DUQeaJbZRJmumEkKPZSaGGX6CsxAn+JUS5BidrABliGUKugiGTT9hLw6939g9t7sJn9qsrxyDaE3+yEwElO2IYVRf5wWBa3B4NvRR98ArSIZNf2asA/sKMHu/t7qhiLSHBKArIo6twLiSLqhyeR2LaXgC81sx+b2ammM1D6PO5qDL2HV9QTSdR29Yr+DhH2S4zoq6A0QAmKiGTT9hLwA4H7gf8AnjGz75rZcbUJSyQgnSwzSb0m9S3qp0OR2LaZgLv7Snf/kbu/CjgWWAJ818yeMLOv1yxCAcrLEKYdRTIq499RzyMeuw417hJ9JdYIE02jti/2ay9uu0Ti26l1wN19GfBT4IfAWuDDSQYlLxd5olvDrIISlBP32CwL+xlDJSjZFrVdIg1guwm4mbWa2dvM7ErgCeDVwBeBvWsRnEgoOllmknpN6lnYJSRFgtveRjy/AV4D3Ab8BniXu2+sVWDV0t3dTUdHBxs3Zi50WltbmThxIi0tLcVRxqCZQO9OmCkHkpSwDSuK/O1MfOUR8KjHaCOUoETtO5HYtrcO+I3AR9x9ba2CSUJHRwfDhw9nypQpmVpOzN1ZuXIlHR0dTJ06NX6dLZHrbGMnAXH7rcjMGuD1F7R94ftNRLJqeyUoK3eUfJvZmVWOp+o2btzI6NGjM5V8Q/GkP3r06M1G7uMuQ5h2BDUSuaGRmxa4bb014JEbSdxOjNoukQawvRHwb5rZUrZ/av3/gD9VN6Tqy1ryXdY37tglKEVhB6vCNqyoEUpQ4vagSlCyLWq7ROLbXgL+HPDtHTz+8SrGIhKcTpZZpF6T+hb1w5NIbNtMwN29rYZxNIwLLriA3Xbbjc985jO79LjIo4yVZQjDnkfCNgwoty7q0VkU9ti04CPgDbAMoVZBEcmmnVoHXOpE1JNIeRUUJQGZ5B62aUBpEmbUY7NcghK2/1SCIiL1SQl4DXz9619n+vTpvOY1r2HhwoVphyOp0ckyi9RrIiJSbdurAQ/nK9fO55Fla6r6nAftPYIvv/Hgbd4+e/ZsLr/8ch588EF6eno48sgjOeqoo3bp3ygvgRY1EVAJStZ52GOzLOqxWd7FNGwZQ/Bvn8K2S6QB7HAE3MyGmtl/mNmPS5enZWH5wXpx++2385a3vIWhQ4cyYsQI3vSmN6UdkqRFJ8tMUrdJfQv64UkkuJ0ZAf8ZMBs4oXS5A/g9GVh+cEvbG6lO0kCXQQw/iJN2AEnz2HWoUQdPe4WdooiXVgA3i9vCopivveIK7lH7TiS2nakB38/d/wfoBnD3DcR9N6u6k08+mauuuooNGzawdu1arr322l1+jt5TSMz/7eUPKHETubANA2Kv0FMW9dj0yjrgQVXePIO2MGq7RBrAzoyAd5nZEEpvZWa2H7Ap0agCOfLII3nHO97BjBkz2GeffXjlK1+ZdkiSFp0sM0ndJiIi1bYzCfiXgRuASWb2a2Am8P4dPcjMLgHOBFa4+yFbud2A/wXOANYD73f3B0q3nVa6rQn4ibv/9061pk6df/75nH/++f1+fGUSZtBEoLITZtSR4qjDpyWOhz02e8Xsw95v12K2rxFKUEQkm3ZYguLufwH+gWLSfRlwtLu378RzXwqctp3bTwemlX5mAT8EMLMm4Pul2w8C3mlmB+3EvxdW1FPjloLnqUQ9WUbvNyNuG30rf4USteO21CjtFAlkhyPgZnZk6c9nS78nm9lI4Cl379nW49z9NjObsp2nPgv4hReHd+82s1FmNh6YAixy98Wlf//y0n0f2VGs0cVM3+KO7L9MwzQ0ltjdFrwGvCxqJ/ZdwzVqG0WC2pkSlB8ARwIPUXyfPqT092gzO8/db+rnvz0BeKbP5Y7SdVu7/rh+/hshhF8FpXwOSTeM5AQfnSqvJR1Z1C4MPwlTJSgiUqd2JgF/EviQu88HKJWDfBb4T+BKoL8J+NbeObZ1Lt/m6c/MZlEsYWHs2LG0t7dvdvvIkSNZu3ZtP0NM38aNG7nttlsBWLxkCe3tS1OOqPoeWlH8IuWB2bNZ9URTytFU34SOx5kG3HnnXXQPGpF2OFW3fPkmCl542Wsviq5NXTy7/Fna219MO5Sqy218kZOBF1a+ELL/RqxeUBw9eughXlwab9+5fZ5cwlSg/dZbwOK9dzaCzs7OkK892bGdeUc6oJx8A7j7I2Z2hLsvHuD61h3ApD6XJwLLgEHbuH6r3P1i4GKA6dOne1tb22a3P/roowwfPnwgcaaqtbWVV558Mtx0A/vtuy9tbfunHVLV+YIV8MB9HHHkkRwxefe0w6m+exbCIpg5cyYMG512NFV37Yq5PLpyKVu+9qIYfNfN7LXXGNraDk87lKrbtOpZuBvGjh7NKRH77+kh8CAcdvhhsH9b2tFU3633wpPQdvIp0BTvA0YjaG9vD/veKdu3M+uALzSzH5rZKaWfHwCPmdlgSmuD99M1wLlWdDyw2t2fBe4DppnZVDMbBJxTum/Divr1d0WjlKAErSGKvgqKWdzXoIcvYVAJiojUp535yPx+4KPAJym+2u8APkMx+X7Vth5kZpcBbcAYM+uguJxhC4C7XwRcR3EJwkUUlyH8QOm2HjP7OHAjxWUIL+k7Ap91F1xwAbvtthuf+cxn0g5FRHaCUhypf0E/IYoEtsMEvLTz5f8r/WypczuPe+cOnteBj23jtusoJujSR9RRxso64GHPIWEbVtQIO2GmHUBiypMwg7Yw+LdP4V94IoHtsATFzKaZ2RVm9oiZLS7/1CK4KL7+9a8zffp0XvOa17Bw4UIAnnjiCU477TSOOuooXvnKV7JgwYKUo5TERU0CghvgXBeR5MUdvRAJa2dKUH5GsXzkOxRLTj5AVj93X/8FWP5wdZ9zr0Ph9G1v1Dl79mwuv/xyHnzwQXp6ejjyyCM56qijmDVrFhdddBHTpk3jnnvu4aMf/Sh/+9vftvoclUGcjP5v35HeBCfoScRj16EG7bXNRM1vtAxh1gV/7xQJbGcS8CHufrOZmbs/BVxgZrdTTMplB26//Xbe8pa3MHToUADe9KY3sXHjRu666y7e9ra3Ve63adOmbT5HeYv2qANxKkHJNvfYkzCh9zUYTSU9tZjti1+CErRdIg1gZxLwjWaWAx4vTY5cCoxLNqyEbGekOklbfoVdKBQYNWoUc+bMSSUeSYlOlpmkbpO6F3f0QiSsnVmG8JPAUOATwFHAe4BzE4wplJNPPpmrrrqKDRs2sHbtWq699lqGDh3K1KlT+f3vfw8URxDnzp27zefoLUGJSTthZlsj7IQZ9eCslKCEPUYbpQRFRLJmZxLwKe7e6e4d7v4Bd38rMDnpwKI48sgjecc73sGMGTN461vfyitf+UoAfv3rX/PTn/6Uww8/nIMPPpirr756m88R9dS4pbA5QPAkIG6/FZnFfQ32HplBWxj94KxolHaKxLEzJShfBH6/E9fJNpx//vmcf/75L7v+hhtu2KXnifpVeNTJpS8TtQODi3182ma/wor62qt8fagEXCRrtpmAm9npFDfKmWBm3+tz0wigJ+nApJeX3lyjJgK955CgJ5Go7SpphBKUqMdmZQQ8ZvOI/u1T3HaJxLe9EfBlwGzgTaXfZWuBTyUZlEhMOllmUdTBU4kk7CcokbC2mYC7+1xgrpn9yt0zPeJdXCYte2fR8qhb71Jh6cWSpPgr2cZtGZSO06DHZlnUHqxMwow6BN4oyxAG/YZGJLLtlaA8TOm8s7Xk1d0PSy6s6mltbWXlypWMHj06U0m4u7Ny5UpaW1vjv7dGP4cETwKil6AYcY9NrYKSdVHbJRLf9kpQzqxZFAmaOHEiHR0dPP/882mHsstaW1uZOHEi6zP9/YP00skyi7L0wV0aVdQPUCJxba8E5any32a2J3BM6eK97r4i6cCqpaWlhalTp6YdxsB0dwNxE4Hy5NKouw2GPznGr0CJ24PRB4iDf/sUtl0iDWCH64Cb2duBe4G3AW8H7jGzs5MOTCQcnSwzSb0mdS9sCZFIXDuzDvj5wDHlUW8zGwv8FbgiycCkV3lkOGoiYNFnYQY/OXoDDIGHXYawvAx40PbFH+KP/uYpEtfO7ISZ26LkZOVOPk6qJPy3qKXfcU8hsZOA8IugRN4J07UKSqZFbZdIA9iZEfAbzOxG4LLS5XcA1yUXkkhQOllmknpN6l7YbzBE4tphAu7unzWzfwBOonguutjdr0o8MqmIPX7aO7k07DkkbMOKwo+AQ9ghcLfyMoQpB5KY8O+eaQcgIv20wwTczD4F/N7dr6xBPLIVUetPtxR/FZSYJ8u4/VZkZmHbWH5vsaDti9qsl2uYhoqEsTO13COAG83sdjP7WGlJQklB2GUIYzbr5RqmobHE7jXb7FdYUV972glTJLN2mIC7+1fc/WDgY8DewK1m9tfEI5OKhtmKPuo5JGq7Stzjfjgsi3psVkpQUo4jObG/fYrbLpH4dmU1kxXAcoqroIxLJhyRyHSyzKLgny1ERCQFO7MRzz+ZWTtwMzAG+Ed3PyzpwKRXZSWtdMNITOVb1HTDSFDclkH01hWFHQEvL0MYtRe1DKGI1KmdWYZwH+CT7j4n4VhkGyoTwMK+2ZZXQVESkEXRV0ExAk/CrHRczPY1TAlK1PdOkcB2ZhnCL9QiEJH4oiYBsQX93CShKAEXyRrtaJkFKkHJuLgtK/LwSWrYAUYPPgmzUer3RCRzlICL1IpOliKShLCfEEXiUgKeAY2yDGHYgeLgJ8fgzQMCH5oWfBJm+Brwsqj9JxKXEvAM6P0WNeZJpLIVfdiTSPBJmMROb8ws7IeMyioocRtY/B30tRe2XSININEE3MxOM7OFZrbIzF42mdPMPmtmc0o/88wsb2Z7lG570sweLt12f5Jxiohsi1IcqXtRP0CJBLYzyxD2i5k1Ad8HXgt0APeZ2TXu/kj5Pu7+TeCbpfu/EfiUu7/Y52le5e4vJBVjVpRHhqMOdsTfCTNqw4rcvQGS1Jh9WF6GMOp7S/wSlKjtEokvyRHwY4FF7r7Y3buAy4GztnP/dwKXJRhPZgXP3yritjN2kUbYbisxi3tsVtoVvoHRNUo7ReJIbAQcmAA80+dyB3Dc1u5oZkOB04CP97nagZvMzIEfufvF23jsLGAWwNixY2lvbx945HVm5YYCAI8tXEj7+sUpR1N9S1bnAXh43sM0r3g05Wiqb8pTT7EPxq0Bj02AF1dupFDIh3ztAXR2buCF7nUh27dyfZ63AitXvhCyfWOen8chwP2zH6DzsVVph1N145c9znTgrrvupGvw6LTDkX7o7OwM+dqTHUsyAd/akN+2Pqa/Ebhzi/KTme6+zMzGAX8xswXuftvLnrCYmF8MMH36dG9raxtg2PVn6aoNcOvfOOCA6bQdMzntcKpudMdq+PsdHHLIobQdtGfa4VRf/nZ4GiIemwA/W3wvnc+tDNu+4Q/fzujhrbS1HZN2KFW3dNUGuBfGjBnNIRH779G1MB+OPvpoGH9Y2tFU3/1L4DE48YQTYcT4tKORfmhvbw/73inbl2QJSgcwqc/licCybdz3HLYoP3H3ZaXfK4CrKJa0iGRU3BKU6KKuPiSRqARFJGuSTMDvA6aZ2VQzG0Qxyb5myzuZ2UjgFODqPtcNM7Ph5b+B1wHzEoy1rnmpjjFqIlDZCTNsvWbUdhXFbl1R1GOz8t4Ss3lahlBE6lZiJSju3mNmHwduBJqAS9x9vpmdV7r9otJd3wLc5O7r+jx8T+Cq0vrQzcBv3P2GpGKtdx59In9J1BwA99AnyuiroJjFPTbdoeCGxc3AS7+jHqGV0Yt0wxCRXZZkDTjufh1w3RbXXbTF5UuBS7e4bjFweJKxidRW1AQgPvWc1D8l4CJZo50wMyRqImDhB3HCNqwi8AA/EPnYLB2dURuoEhQRqVNKwEVqQSfK7FLfSb2L+gFKJDAl4BnQO4gTMxHonVwa9CQS/OQYvHlA2CMTd/Cw07uhYWrARSRzlIBnQGUr+pTjSEpjlKBE7b3i8Rm3dcWeC7sKSqn3LOpHjIYpQQnafyKBKQEXqYWoCUADUNdJ3Qv6AVEkMiXgGdAogzhhTyHBT47BV1kMrViCQtwRcJWgiEidUgKeAVFPjVuKm6cGL0EJ229FxRKUtKNIhm/lr1CidtzLNEo7ReJQAp4hUUcZI08BE6l3sSdhloR98ww/gUYkLCXgGdAwW9FHHcUJXqMRfhKmWdhjs/jeErn3yqK2MWq7ROJTAi5SEzpRZpV6TupfzA+IIpEpAc+AyjSioJlAZSEtnUMyqRH6LWobneCTMBtlBruIZI4S8AyIevIva4hVUAKfKJ3QzcMs7muwvBFP3Fdfg6yCEvUAFQlMCbhITURNAOKLOvdCRETSowQ8E0qTMMMOMxbbFXW3wbijiyUe/+NF1EmY5Sm0YftPJSgiUqeUgGdA2Ly0UYQvQQl+gAYvQYHANeBh27WFqAeoSGBKwDMkagoXODcVqXtK3bJMb54iWaUEPAO0CkrWxV5rOfgAf/gpisUSlKAtbJgSlKD9JxKYEnCRWgh6/m8EUXM3CSTu6IVIWErAM6C3TjNmJlCeXBq2ljj4yTH2+H5J0C7sXYYwqujLEIpIVikBzwCvrIKSciAJUQlKtsVdvaaoWKARs41eaplKUDJKJSgimaUEXEREJMuCfwgWiUgJeAb0lqDEVNkJM+o5JPgsxeIIatz2Rd8JEwyL2sDwJShR2yUSnxJwkZrQiTKrAn92kjCifoASiUsJeAaEL2Ms74SZchzJidsyKB2fQY/Nsqg9WJyECWZBWxj+zTNou0QagBLwDPDgX6P2lqAETgICnyij59+GhT02vbQVfdhPGMHfOyvtCnp8ikSmBFykJqImAPEF/uwkYSgBF8kaJeAZEP1b1LK4p5C4LQPAY68kDXF7sLwOuJYhzKio7RJpAErApX4EzQEaoQQluvjf8EdtYNR2bSH+ASoSTqIJuJmdZmYLzWyRmX1hK7e3mdlqM5tT+vnSzj62EUVN4QLnpo1DfZhZjZG6RT1Ao7ZLJL7mpJ7YzJqA7wOvBTqA+8zsGnd/ZIu73u7uZ/bzsQ2h91vUmG+24beiDz5N0T32V2lmYQs0+pSgBNUwJShRj1CRuJI8bx4LLHL3xe7eBVwOnFWDx4rUn6gJQANQz0ndUwmKSOYkNgIOTACe6XO5AzhuK/c7wczmAsuAz7j7/F14LGY2C5gFMHbsWNrb2wceeZ1ZsjoPwLx5D9Oy4tGUo6m+lRsKACxYsJD2dYtTjqb6XrFsGaO7uvh7wGMTYM3aDQxvyod87QG8+OJGOrs9ZPuWrM7zRowXX3yBJwK2b/yyhUwH7vr73+kaPDrtcKpuzPPzOQS4//776Rz+YtrhSD90dnaGfG+RHUsyAd/awNGWH9MfAPZx904zOwP4IzBtJx9bvNL9YuBigOnTp3tbW1t/461buz+zCv5+J4cdeihtB+6ZdjhV9+zqDXDr33jF9Om0HTs57XCqb80fYO1gIh6bALs9dDvN3evCtu/SJfdi67poazsp7VCqbvdnVuEPwOg99uDwiP133xPwGJx44kwYvlfa0VTfgnUwH44++igYf3ja0Ug/tLe3h33vlO1LsgSlA5jU5/JEiqPcFe6+xt07S39fB7SY2ZideayIiIiISBYlmYDfB0wzs6lmNgg4B7im7x3MbC8rzcAzs2NL8azcmcc2kspebkGLUStb0UctY4y+DGHs5mHEPTaLzQq8Drh2whSROpVYCYq795jZx4EbgSbgEnefb2bnlW6/CDgb+Ccz6wE2AOd4cc/nrT42qVhFkhc1AYgv6upDEokScJGsSbIGvFxWct0W113U5+8LgQt39rGNyr13nCqicn4TexnCuGK3rijqsenuxWUIYzavgZYhFJGsibx8bxiVc2PQ99rKSrZhkwBCnyg9+Fb00UtQHIibgZdFPUJVgiKSVUrARUREMk0JuEjWKAHPgMq3qOmGkZxKCUpUsXfChNAD/JjFHWCs7IQZuYEQ9wCN2i6RBqAEPBOCnhy3FDkJCHyijNptveKuEdL73hK1hVHbtYUGaaZIJErAMyTqagxRJ5eKZEHsCv6yqG2M2i6R+JSAZ0D0EhRTCUqmefAUrliCEvPoLJagBD46G6YEJebxKRKZEnCRWgh6/m8E6jqpe0E/IIpEpgQ8A+LvhFkU9hwStmFFwZsXWnEZQiPuCGrUdpUFPSmINAAl4BnQW4IS8822XNse9Wv+4F/yR1/mvDFWQYmaqIYvQSn/EbT/RAJTAi4iIiIiUkNKwDOgshV98EGcsGM44ZchDD4JEwu9FT1EXmixUsCXahTJ0U6YIlmlBFykJqImAPEF/uwkYSgBF8kaJeAZEH4MJ/wgTtiGAdFbVxT12HTAPXiRO8T9FBW1XSINQAl4BnjwDLw8uTRoChC+BAUPe2gCpUmYaQeRkPI64HEFf/NUCYpIZikBFxERyTQl4CJZowQ8A8oTwKIuQ9g7iBP1JKJlCLPMsLDHppf2MQ07CVMlKCJSp5SAZ0HQc2PDCF6CEjU5rQhcglJpWNg+jNquLYTtP5G4lIBnSNQcLmq7RLLAsQZ4DUZtYNR2icSnBDwDGmQaUeBBnAYoQUk7iAQZhB1I9dJP2Bdfw5SgBO0/kcCUgIuIiGRZ1A9QIoEpAc+A3kGcmKM45XZF3W0wfg04oYfAzcJOUSwtQxh2ejeN8/2hiGSNEvAMqKyCEvS9ViUo2ebBUzgj7kTT8iooYUsYVIIiInVKCbiIiIiISA0pAc+AyiBOumEkprIVfbphJKcBSlDiti7+TphA3HXAG6UEJeg3NCKRKQEXqYmoCUB86jmpf0rARbJGCXgGVMZwgmYC5frhuIM4YRsGRO63XlHbWFyGUDXgmRW1XSINQAl4BvROAIv5ZttbghI4CQh+oozcvOIqKDGPTffoU2hjv3eqBEUku5SAi4iIiIjUUKIJuJmdZmYLzWyRmX1hK7e/28weKv3cZWaH97ntSTN72MzmmNn9ScZZ76KXoJTFHsSJ23nuHrh15WUI044iGZWdMIOO8Id/89QyhCKZ1ZzUE5tZE/B94LVAB3CfmV3j7o/0udsS4BR3f8nMTgcuBo7rc/ur3P2FpGLMDL23ZlvwEpTwh6fFTcArnRe+gcGF7T+RuJIcAT8WWOTui929C7gcOKvvHdz9Lnd/qXTxbmBigvFkXtQULnBuKlL3YteAl0VtYdR2icSX2Ag4MAF4ps/lDjYf3d7Sh4Dr+1x24CYzc+BH7n7x1h5kZrOAWQBjx46lvb19IDHXpbkregB48IEHWL24KeVoqq+nUBy9eWLxYtqtI+Voqu+QF56ndeM67g94bAJs3LiJntZCyNcewHPLN7FxYz5k++au6GE8xqpVLzEnYPv2eXIxU4H2224Fi/feOWL1Ao4E5j40l5c64rWvEXR2doZ8b5EdSzIB39pH861+T2Zmr6KYgJ/U5+qZ7r7MzMYBfzGzBe5+28uesJiYXwwwffp0b2trG3Dg9aaw4Dl44H6OPOooZkwalXY4VdfVU4CbrmffqVNpa5uWdjjV9+yPYNUGIh6bAIPvupmWlp6w7bt2xVyeXL8yZPsKC56DeTBq1KiQ7aP9HngS2k5pg1zABPWZofAgHH7oYTCtLe1opB/a29tjvvZkh5IsQekAJvW5PBFYtuWdzOww4CfAWe6+sny9uy8r/V4BXEWxpKUhNcxOmFHLGINvFRl1ib4ys75LgcbiXhwViXt4NsgyhCKSOUkm4PcB08xsqpkNAs4Brul7BzObDFwJvNfdH+tz/TAzG17+G3gdMC/BWOta+L0kSr9jpjgQPsWJ/fki8jY1pfeWwC0M/+YZ/91TJKrESlDcvcfMPg7cCDQBl7j7fDM7r3T7RcCXgNHAD6z4RtLj7kcDewJXla5rBn7j7jckFauIiIiISK0kWQOOu18HXLfFdRf1+fvDwIe38rjFwOFbXt+oer9EjTmKU/qgFbwEJWbfQfTx/XIJStpRJKO8Fb1FbSDBR8C1E6ZIZmknTJGaiJoAxBf1g69EogRcJGuUgGdAeQJY1EGc3irGqCeRqO0q8uhD4MQ9Nt09+E6YQdtVFvx1JxKZEvAMCH4KaZBVUCKfKYNvRd8AJShx32WifzqM/uYpEpcScBERERGRGlICngHxV9IqTcJMOY7kxB6FC78MocU9NnvXAQ/awujfPmkZQpHMUgKeCQ3y5hr1a9TgSUDQXuvDwh6ald6L3r7o4h6gImEpAc8QrcYgdUuHZmbFruCH2Adn5LaJxKYEPAOil6BA6L34iF+CEjuFK77uYh6dxRIUUwlKVqkERSSzlICLiIiIiNSQEvAMqOyEGXggBwKXMQYfhYvabWVG3GPTIfY64MG/fdIyhCLZpQQ8AyolKIFPJMWVJqKeRGInAVoFJbuK7y0qQckslaCIZJYScBERERGRGlICngHlkeHQAzkE/hY1+Cicu0duXnF8OOjB6XjwVVBif/ukEhSR7FICLiIikmlKwEWyRgl4BvTWgMcW9xQSexQubr8VRa8B9/IfEQX/9il020SCUwKeAY2wCopKUDIs+iRM4h6bxVVQAk/CDP7hVyUoItmlBFxEREREpIaUgGdA7wSwwCM5oZchhMh9F36M0QJPwvTyJMyY7Qv/7ZOWIRTJLCXgUj+inkOCJwFRk9O+wrewAfowNPWfSOYoAc+QwDlc6BHUhqAOzKz4qVvkgzNy20RiUwKeAY2wCkrgL8GJXqQRu3WlD75BD87iKiiBJ2EG//ZJJSgi2aUEXERERESkhpSAZ0DvTpiRR3IC1xIHH4Urdlvc9gUeH9ZOmJmnZQhFskoJeAY0TAlK2HNI2IYBxSQu8OeL4kY8QQ/OyntL0PZF//Abum0iwSkBFxERERGpISXgGVAZpQo82BF4nlv4UThvhJ0w0w4iIeVJmIFbSPyjk8hfH4qEpQQ8AxrlrTXuOSRsw4DorSuKemz6Vv4KJWrHvUyjtFMkDiXgGWKhR3KiU99lVeAvLwBwD97AyM2LfnCKBJZoAm5mp5nZQjNbZGZf2MrtZmbfK93+kJkdubOPbSTlCWCR32st8lb0wUtQiF6CYhb22CxuRU/odV5iH50lDTPSLxJHYgm4mTUB3wdOBw4C3mlmB21xt9OBaaWfWcAPd+GxIiIiIiKZ05zgcx8LLHL3xQBmdjlwFvBIn/ucBfzCi0O8d5vZKDMbD0zZice+THNnB49+/cSqNyRt0/PO7wblGXfFd6G5Ke1wEvHLphdpfiDHow/Fq4qa0rOYx1oO4GsX3ZV2KInoyhcofmaOyYBNPQXeFrD/Xujs4msYLc8/ApeclnY41ffi4tjfPpXbdus3YPbP0o1F+mXG6tWweGTaYUgKkkzAJwDP9LncARy3E/eZsJOPBcDMZlEcPQfYdNC//33eAGKW9IwBXkg7iOQ8B8xMO4jEfB/GfP8jkfsPnkw7gIScVHntLUs7lOR8IXASDmPgwdCvveCCn/tCmz6QByeZgG/tHW/LQrVt3WdnHlu80v1i4GIAM7vf3Y/elSClPqjvsk39l13qu2xT/2Wb+i+7zOz+gTw+yQS8A5jU5/JEXj7Esq37DNqJx4qIiIiIZE6SBbf3AdPMbKqZDQLOAa7Z4j7XAOeWVkM5Hljt7s/u5GNFRERERDInsRFwd+8xs48DNwJNwCXuPt/MzivdfhFwHXAGsAhYD3xge4/diX/24uq3RGpEfZdt6r/sUt9lm/ov29R/2TWgvjPX+qEiIiIiIjUTb803EREREZE6pgRcRERERKSGQiTg2rY+W8xskpndYmaPmtl8M/uX0vV7mNlfzOzx0u/d045Vts7MmszsQTP7U+my+i4jShueXWFmC0qvwRPUf9lgZp8qvWfOM7PLzKxVfVe/zOwSM1thZvP6XLfN/jKzL5bymIVm9vp0opaybfTfN0vvnQ+Z2VVmNqrPbbvUf5lPwLVtfSb1AJ929wOB44GPlfrsC8DN7j4NuLl0WerTvwCP9rmsvsuO/wVucPcDgMMp9qP6r86Z2QTgE8DR7n4IxQUKzkF9V88uBbbcYnar/VU6B54DHFx6zA8s8hbD2XApL++/vwCHuPthwGPAF6F//Zf5BJw+W967exdQ3rZe6pS7P+vuD5T+XksxAZhAsd9+Xrrbz4E3pxKgbJeZTQTeAPykz9XquwwwsxHAycBPAdy9y91Xof7LimZgiJk1A0Mp7o+hvqtT7n4b8OIWV2+rv84CLnf3Te6+hOLqcMfWIk7Zuq31n7vf5O49pYt3U9ynBvrRfxES8G1tZy8ZYGZTgCOAe4A9S+vAU/o9LsXQZNu+C3wOKPS5Tn2XDfsCzwM/K5UQ/cTMhqH+q3vuvhT4FvA08CzFfTNuQn2XNdvqL+Uy2fNB4PrS37vcfxES8J3etl7qi5ntBvwB+KS7r0k7HtkxMzsTWOHus9OORfqlGTgS+KG7HwGsQyULmVCqFT4LmArsDQwzs/ekG5VUkXKZDDGz8ymW0/66fNVW7rbd/ouQgO/MlvdSZ8yshWLy/Wt3v7J09XNmNr50+3hgRVrxyTbNBN5kZk9SLPc61cx+hfouKzqADne/p3T5CooJufqv/r0GWOLuz7t7N3AlcCLqu6zZVn8pl8kIM3sfcCbwbu/dTGeX+y9CAq5t6zPGzIxiDeqj7v7tPjddA7yv9Pf7gKtrHZtsn7t/0d0nuvsUiq+1v7n7e1DfZYK7LweeMbPppateDTyC+i8LngaON7OhpffQV1OcP6O+y5Zt9dc1wDlmNtjMpgLTgHtTiE+2w8xOAz4PvMnd1/e5aZf7L8ROmGZ2BsW61PK29V9PNyLZHjM7CbgdeJjeOuJ/o1gH/jtgMsWTzdvcfcsJLFInzKwN+Iy7n2lmo1HfZYKZzaA4gXYQsBj4AMXBGPVfnTOzrwDvoPjV94PAh4HdUN/VJTO7DGgDxgDPAV8G/sg2+qtU1vBBiv37SXe//uXPKrWyjf77IjAYWFm6293ufl7p/rvUfyEScBERERGRrIhQgiIiIiIikhlKwEVEREREakgJuIiIiIhIDSkBFxERERGpISXgIiIiIiI1pARcRERERKSGlICLiGSAmY0ys4/2uby3mV2RwL9zgZktNbOv9vPxvzazF83s7GrHJiIShRJwEZFsGAVUEnB3X+buSSW533H3L/Xnge7+brQbsYjIdikBFxHJhv8G9jOzOWb2TTObYmbzAMzs/Wb2RzO71syWmNnHzexfzexBM7vbzPYo3W8/M7vBzGab2e1mdsCO/tHSiPglZtZuZovN7BOl64eZ2Z/NbK6ZzTOzdyTaehGRQJrTDkBERHbKF4BD3H0GgJlN2eL2Q4AjgFZgEfB5dz/CzL4DnAt8F7gYOM/dHzez44AfAKfuxL99APAqYDiw0Mx+CJwGLHP3N5TiGTmg1omINBAl4CIiMdzi7muBtWa2Gri2dP3DwGFmthtwIvB7Mys/ZvBOPvef3X0TsMnMVgB7lp73W2b2DeBP7n57tRoiIhKdEnARkRg29fm70OdygeJ7fQ5YVR5BH8Bz54Fmd3/MzI4CzgD+y8xucvd+TdwUEWk0qgEXEcmGtRRLQPrF3dcAS8zsbQBWdHh/n8/M9gbWu/uvgG8BR/b3uUREGo0ScBGRDHD3lcCdpQmP3+zn07wb+JCZzQXmA2cNIKRDgXvNbA5wPvC1ATyXiEhDMXdPOwYREakTZnYB0Onu3xrAc1xKsS686uuUi4hEoBFwERHpqxOYNZCNeIBTgI1VjUpEJBCNgIuIiIiI1JBGwEVEREREakgJuIiIiIhIDSkBFxERERGpISXgIiIiIiI1pARcRERERKSGlICLiIiIiNSQEnARERERkRpSAi4iIiIiUkNKwEVEREREakgJuIiIiIhIDSkBFxERERGpISXgIiIiIiI1pARcRERERKSGlICLiIiIiNSQEnARERERkRpSAi4iIiIiUkNKwEVEREREakgJuIiIiIhIDSkBFxERERGpISXgIiIiIiI1pARcRERERKSGlICLiIiIiNRQzRNwM2s1s3vNbK6ZzTezr2zlPm1mttrM5pR+vlTrOEVEREREktCcwr+5CTjV3TvNrAW4w8yud/e7t7jf7e5+ZgrxiYiIiIgkpuYJuLs70Fm62FL68VrHISIiIiKShjRGwDGzJmA2sD/wfXe/Zyt3O8HM5gLLgM+4+/xtPNcsYBZAa2vrUZMnT04oaklSoVAgl9OUhKxS/2WX+i7b1H/Zpv7Lrscee+wFdx/b38dbcUA6HWY2CrgK+Gd3n9fn+hFAoVSmcgbwv+4+bUfPN336dF+4cGFi8Upy2tvbaWtrSzsM6Sf1X3ap77JN/Zdt6r/sMrPZ7n50fx+f6scud18FtAOnbXH9GnfvLP19HdBiZmNqHqCIiIiISJWlsQrK2NLIN2Y2BHgNsGCL++xlZlb6+9hSnCtrHKqIiIiISNWlUQM+Hvh5qQ48B/zO3f9kZucBuPtFwNnAP5lZD7ABOMfTrJUREREREamSNFZBeQg4YivXX9Tn7wuBC2sZl4iIiIhILWjqrYiIiIhIDSkBFxERERGpISXgIiIiIiI1pARcRERERKSGlICLiIiIiNSQEnARERERkRpSAi4iIiIiUkNKwEVEREREakgJuIiIiIhIDSkBFxERERGpoZpvRS8ikkU/vWMJjyxbw/97++FphyKyGXen/bHnmdexmlzO2GtEK8fvN5oJo4akHZqIbIMScBEJxd1xh4I7DpW/Kf3tOAUv3Q/wQvG64m2lx3mf6xw6XlrPf/7pEQAueNNBDG9tSa19Eof3OS4r121x2+bX9b1f8UJX3vnGDQu56NYnNntuM/js66fz0bb9qx22iFSBEnARqamungJ/emgZdzz+As+8tJ6V67rY1F2gK1+gO1+gJ++9ybFvnhyz5WXY7L618NyaTUrAA7v98ef580PPsvC5taxa383ajd10551Cwcm7ky/4Zh/oynY2cU7GE5xzzCQueNPBADz94nq++9fH+J8bFnLk5N05ft/RSQcgIrtICbiI1MzG7jzv/sk9zH7qJcbsNpj9xg7jwPEjaG1uYlBzjkFNRlMuhxkYxVE8M8MADAzb/LbiLZXrKN03Z733y+X63sfIWe/ffZ/fbPPHWeXv4u/1XXn+80+P8OK6rtr/j5Oa+PZfHuN7Nz/OyCEtHDR+BIdMGMrw1mZackYuZzSZ0VT620qPMet9fN/jsfe6l9+xz82Vq63Ptb3XbeV+fZ8cWLJ4MTOPPIizDp9QOdZfsedwvv32Gcx+6ha+85fH+O1HTtj5/wkiUhNKwEWkZn5+15PMfuolvvW2w3nrkRNelkzUs3lLVwMoAQ9q8fOdXPi3x3nzjL35n7MPZ1BzNtYoaLcO2o6Y+LLrW1ua+PBJ+/L16x7l0WfXcOD4ESlEJyLbko13GBEJ4Zq5yzhqn905+6iJmUq+AXYbXByv2NDdk3IkkoTr5y2n4PCF0w/MTPK9I2cfNZFBTTkuv/fptEMRkS3EeJcRkbq3an0X85et4VXTx6YdSr8MHdwEwLpN+ZQjkSTcs+RFDthrOHuNbE07lKrZfdggTjtkL656cCkbu3XcitQTJeAiUhNPPL8OILNfhQ8bVBwBX9+lEfCIFj23lgP2Gp52GFV3zjGTWLOxhxvnL087FBHpQwm4iNTEkheKCfjUMcNSjqR/hrRoBDyqdZt6WLZ6I/uN3S3tUKru+H1HM35kK1fPWZZ2KCLShxJwEamJp1euI2cwaY+haYfSL7mcMaSlSSPgAT27egOQ3WNze3I5400z9ubWx55nZeemtMMRkRIl4CJSEyvXdbH70EG0NGX3bWfY4CbWdWkEPJqVncWVbUbvNijlSJLxliMmkC84f3742bRDEZGS7J4JRSRTXlrfxe7Dsp3gDBnUxPpNGgGPpry05B4ZPz635YC9RnDAXsO56sGlaYciIiVKwEWkJl5c18XuQ7O9g2RrcxObegpphyFVtrKUgI8eNjjlSJLz5iMm8ODTq3hq5bq0QxERlICLSI2sWt/N7kOzPcI4uCWnBDyg8gj47sOy/QFxe950+N6YwR8f1GRMkXqgBFxEauLFdV2Z/4p/UFOOLiXg4by0vovdBjczuLkp7VASs/eoIRw3dQ+unrMUd087HJGGpwRcRGpi1YZuRg7J9gjj4OYmNvVoEmY06zflGTY4bvJd9uYZE1j8wjoe6liddigiDU8JuIgkLl9wunoKDC1tZpNVKkGJaV1XT+aPzZ1x+qHjGdSc02RMkTqgBFxEErehtA32kEHZfssZ3KwSlIg2dOUrGy1FNnJIC685cBzXzl1Gd17HsUiasn02FJFMKG9eMyTjo4yDtApKSOu78gwdFD8Bh2IZysp1Xdzx+AtphyLS0JSAi0jiNnYVk9asjzIObs6xqVs14NGs784zdHC2PxzurLbp4xg1tIUrVYYikiol4CKSuPXdxRHwrI8yDm7O0aWv7sNZv6mHoRn/cLizBjXnOPOw8dw0fzlrN3anHY5Iw1ICLiKJ29BVrgHPdpIzqDnHpm4l4NE0UgkKwFuOmMimngI3zFuedigiDUsJuIgkrpKAZ3yUcbBqwEPa0J1naAMsQ1h25ORR7DN6KH+cozIUkbTUPAE3s1Yzu9fM5prZfDP7ylbuY2b2PTNbZGYPmdmRtY5TRKpnfSkBz/ooY7kERRuZxLK+QZYhLDMz3jxjAnc9sZJnV29IOxyRhpTGCPgm4FR3PxyYAZxmZsdvcZ/TgWmln1nAD2saoYhUVWUZwoyPgA9qLr5lahQ8jkLB2dhdoDXjx+auessRE3CHa+Zoa3qRNNQ8AfeiztLFltLPlsNJZwG/KN33bmCUmY2vZZwiUj1RasAHKwEPpzyptty3jWLKmGEcMXmUNuURSUkq7zhm1mRmc4AVwF/c/Z4t7jIBeKbP5Y7SdSKSQRtL27cPbs54Al4aJdVmPHGUN6QZ1NRYCTjAPxwxgQXL1/Los2vSDkWk4aRS9ObueWCGmY0CrjKzQ9x9Xp+72NYetrXnMrNZFMtUGDt2LO3t7VWOVmqhs7NTfZdhO+q/R58sLnd27913Maxlay/vbFjSUWzHrXfcyZghMRK2Rn/tre0qnlqeWvIE7YWnU45m1w2k/0Z1OU0G/3v13ZxzwKDqBiY7pdFff40s1Vkn7r7KzNqB04C+CXgHMKnP5YnAVgvV3P1i4GKA6dOne1tbWyKxSrLa29tR32XXjvpvwa1PwIIFnHrKyZkuQ1k9ZynMm8MRRx/LfmN3Szucqmj0195zazbC327moAOm03bc5LTD2WUD7b+rn72fB5eu4vsnn0JTLrsfjrOq0V9/jSyNVVDGlka+MbMhwGuABVvc7Rrg3NJqKMcDq9392dpGKiLV0l0q2WhpyvYJvjlXfMvsyWsVlCi6ghyb/fWWIybw3JpN/P2JlWmHItJQ0vgOdTxwi5k9BNxHsQb8T2Z2npmdV7rPdcBiYBHwY+CjKcQpIlVSrrPN+ghbOUnr1m6YYZQnYQ5qsEmYZa8+cBzDBzdz5YMdaYci0lBqXoLi7g8BR2zl+ov6/O3Ax2oZl4gkpyvvDGrKYZb1BLyYpCkBj6ORJ2ECtLY08YbDxnPN3GX851k9DBvcOOuhi6SpMd9xRKSmevKFEF/x9ybgKkGJorun2JctDZqAA7zt6Ims78rz54dV6SlSK437jiMiNdOdL9AS4Cv+8oeIHo2Ah9GVLy6RGeH47K8jJ+/OvmOH8fv7n9nxnUWkKhr3HUdEaqYr7yFGGJtLbehSAh5GV2UEPPvf0PSXmfG2oyZx35MvseSFdWmHI9IQsn9GFJG6150vhKixLbdBq6DE0d2gO2Fu6R+OnEDO4IrZGgUXqYXGfscRkZrozhdoDjDC2KxVUMIp92WEb2gGYs8RrZzyirH8YfZS8gV9wBRJWmO/44hITXTnCyESnMokTCUoYfSuA57943Og3n70JJav2cjtjz+fdigi4ekdR0QS1x2kBryyDniPRsCj6NIIeMWrD9yT3Ye28Pv7tSa4SNL0jiMiiSvWgGe/BKWcpPUUlIBHUV5SstFrwKG4GdFZMybwl0eeY9X6rrTDEQlN7zgikrgoJSjlGvAuTcIMQzXgm3v70ZPoyhe4es6ytEMRCU3vOCKSuO4eDzEJs3cVFI2AR9FbA57947MaDtp7BAfvPYLfaU1wkUQpAReRxHWFGQHXVvTRVEbAVYJS8fajJzF/2RrmL1uddigiYekdR0QS11OIsQ54ZRKmSlDCKE/CjHB8VstZM/ZmUFNOkzFFEqR3HBFJXHdPkFVQchoBj6a7shNm9o/Pahk1dBCvO3hPrnpwKRu782mHIxKS3nFEJHHd+UKIr/hzOaMpZ0rAA+nOF8gZNOVUA97Xu46dzOoN3Vw/79m0QxEJKftnRBGpe8Ua8BgJTnPOtBV9IHl3Jd9bccJ+o5kyeiiX3aPJmCJJUAIuIonrzhcq5RtZN6gpV6kbluwrFJycKQHfkpnxzmMnc++TL/L4c2vTDkcknBhnRBGpaz35GMsQQnG1DI2Ax5EvOM0aAd+qtx41kZYm47J7NQouUm1KwEUkcZG+5m9WDXgoPQUnF+TYrLYxuw3m9QfvxR8e6NBkTJEqUwIuIonLB/qav6Upp2UIAykE+nCYhPJkzBvmLU87FJFQlICLSOIKhThJTkuTRsAjyRecpiAfDpNw/L7FyZi/uefptEMRCUUJuIgkLlIJSktTjp6CEvAoCq4SlO3J5XonYy5aocmYItWiBFxEElcoxFlnubkpR1ePSlCi0Aj4jmkypkj1KQEXkcT1FAphkpxBTaYR8EDygT4cJmXMboN5nSZjilSVEnARSZS7U3DCfM3f3JRTDXgg+UJBCfhOePexk1m1XjtjilSLEnARSVShVK0RZQS8pcnoVglKGHnXCPjOOH7f0UwdM4xf3a3JmCLVoARcRBKVL2XgTUHebZpzmoQZSXEnzLSjqH+5nPGe4/dh9lMvMW/p6rTDEcm8IKdEEalXBS8m4FFKUJpyVvlQIdmXD7REZtLOPmoiQ1qa+OXfn0o7FJHMUwIuIomqjIAHKUFpzhk9SsDDyHucTaKSNnJIC28+YgJ/nLOUVeu70g5HJNOUgItIovJeLkGJkeQ0N2kEPJJIm0TVwrkn7MOmngK/u19LEooMhBJwEUlUoZSsRhllLNaAKwGPoqfgNCsB32kHjh/BsVP24Fd3P60PoiIDoARcRBLVOwkzRpKjGvBYtBPmrjv3xH14+sX13PrYirRDEcksJeAikqh8sEmYxRpwrYIShXbC3HWvP3gvxg0fzM/v0mRMkf5SAi4iiSqPFkf5mr8pZ+TzGgGPIl/QCPiuamnK8a7jJnPrY8/z5Avr0g5HJJOUgItIosKtgtKkVVAiKbhGwPvjXcdOpjln/PJujYKL9EfNE3Azm2Rmt5jZo2Y238z+ZSv3aTOz1WY2p/TzpVrHKSLVUa7WiDLKqBrwWLQOeP+MG9HKaYfsxe/uf4b1XT1phyOSOWmMgPcAn3b3A4HjgY+Z2UFbud/t7j6j9PPV2oYoItXSuwxhyoFUiVZBiUVb0fff+06cwtqNPVz14NK0QxHJnJqfEt39WXd/oPT3WuBRYEKt4xCR2sgHW4ZQI+Cx5AsFJeD9dPQ+u3Pw3iP42Z1PVpYbFZGd05zmP25mU4AjgHu2cvMJZjYXWAZ8xt3nb+M5ZgGzAMaOHUt7e3sywUqiOjs71XcZtr3+W7q2WIOy8NFHaV/1eA2jSsaypV10dfeEOV4b/bW3es0GWrrXZfb/Qdr9N3NMDxc/tIkL/3Azh41NNaXIpLT7T9KT2qvFzHYD/gB80t3XbHHzA8A+7t5pZmcAfwSmbe153P1i4GKA6dOne1tbW2IxS3La29tR32XX9vrv0WfXwJ23c+ghB9N26PjaBpaAezcuwJ9eHOZ4bfTX3tAHb2PcmKG0tR2ddij9knb/ndhT4I9L/sZ9a4bzibcdl1ocWZV2/0l6UqnKNLMWisn3r939yi1vd/c17t5Z+vs6oMXMxtQ4TBGpgkoJSpCv+YvrgOvr9ijyrkmYAzGoOcf7TpzC7Y+/wMLla9MORyQz0lgFxYCfAo+6+7e3cZ+9SvfDzI6lGOfK2kUpItVS8FjLEDblcrijmtcgCgUPMz8hLe86djKtLTkuuWNJ2qGIZEYaI+AzgfcCp/ZZZvAMMzvPzM4r3edsYF6pBvx7wDnurrOdSAZF24q+uanYDo2Cx5B3D7NJVFp2HzaIfzhyIlfNWcoLnZvSDkckE2peA+7udwDbfbdz9wuBC2sTkYgkKVoCXm6HVkKJoSevnTCr4YMzp/Kbe57mV3c/xSdf84q0wxGpe0FW5hWRehUtAS+PlvaUdxiSTNNOmNWx/7jdeNX0sfzq7qfY2J1POxyRuqcEXEQSVd6IJ0qdrUbAY9FOmNXzoZP25YXOLq6ZuyztUETqnhJwEUlUeaA4SpLTOwKuBDyCgqsEpVpm7j+aA/YaziV3LEHTtkS2Twm4iCQq2lb0TbliQzQCHkO+oBKUajEzPjhzKguWr+WORS+kHY5IXQtyShSRelUIthW9RsBjUQlKdZ11xN6MGz6YH926OO1QROqaEnARSVS0SZiVGvC8EvAIlIBX1+DmJj540lTuWPQCD3esTjsckbqlBFxEEhVtEmbvOuBaBSUC7YRZfe86bjLDBzdz0a1PpB2KSN1SAi4iiSpEHQFXCUoIhUKcD4f1YkRrC+8+fh+un/csT76wLu1wROqSEnARSVTvJMwYSU65BrxbJSghFEfA044ing/OnEJzU46Lb1ctuMjW6G1HRBIVrwZcq6BEolVQkjFuRCtvPXIiV8zuYMXajWmHI1J3lICLSKIqCXiQJEc7YcZRWaEnyIfDejPr5H3pzhe49M4n0w5FpO4oAReRREUbAS9PwtQIePaVl5JsDnJs1pupY4Zx+iF78cu7n2Ltxu60wxGpK0rARSRRBY81ytikdcDDiHZs1qPzTtmPtRt7uOzep9MORaSuKAEXkUTly1vRhylBUQ14FNHKo+rRYRNHMXP/0fzk9iVs6smnHY5I3VACLiKJqqwDHuTdRiPgcURboade/dMp+7Ni7SaumN2RdigidSPIKVFE6lUh2Chjc2UdcE3CzLrKJMwgx2a9mrn/aI6YPIof3PIE3Xm9bkRACbiIJCzaJMzKCLjWAc+8aMdmvTIzPvHqaSxdtYGrHliadjgidUEJuIgkKtpEN+2EGYdKUGqn7RVjOWziSC68ZRE9GgUXUQIuIsmKNtGtkoC7EvCs0wh47ZgZH3/V/jz94nqumbss7XBEUqcEXEQSFW2UsVwvrBHw7Iv24bDevfagPTlw/AguvGWRXj/S8JSAi0ii8vlYCXi5HQWNgGdeeR5tlPKoemdm/POp+7P4+XX8+eFn0w5HJFVKwEUkUZUR8CCjjE2VEfCUA5EB6/12JuVAGshpB+/FtHG7ceHfHq+sQiPSiPS2IyKJqiz1FmSUsbyeuZKH7MtrGcKay+WMj5+6P48918mN85enHY5IapSAi0ii8u5hyk9AkzAjKZcRNUfZJSojzjxsb/YdM4zv/W2RPshKw9K7jogkKl+IU34CfUtQlDhkXU9eJShpaCqNgj/67BqNgkvD0tuOiCSq4B5mG3roLaXRJMzsq6xRH+gDYlacNWMC+40dxrf/8pg+zEpDCnRaFJF6lC+4RsClLmkd8PQ05Yx/fe10Hl/RybVaF1wakBJwEUlUvuBhJmBC7wi4EvDsywfbpTVrTj9kLw4cP4Lv/vUxurWskDQYJeAikqhC0EmYKkHJvoI24klVLmd8+rWv4MmV67nygY60wxGpKSXgIpKoaCUo5c8SGgDPPpWgpO/VB47j8Emj+N7Ni9jUk087HJGaUQIuIonKF2KNgGsr+jiUgKfPzPjs66azdNUGLr/3mbTDEakZJeAikqhoCXilBEUJeOb17oQZ5/jMopn7j+a4qXtw4S2L2NClUXBpDM39eZCZ/cNO3G2ju1/Xn+cXkTjy7qGWeausgqIa8MzTTpj1wcz49Oum8/Yf/Z1f3v0ks07eL+2QRBLXrwQc+DFwNbC9d62TgZcl4GY2CfgFsBdQAC529//d4j4G/C9wBrAeeL+7P9DPWEUkRYVgI+A5jYCHUdAIeN04duoenPyKsfyg/QneccxkRg5pSTskkUT1NwG/3t0/uL07mNmvtnFTD/Bpd3/AzIYDs83sL+7+SJ/7nA5MK/0cB/yw9FtEMibv8RKcppxpBDyA8sp3kSYJZ9nnXj+dM//vDi669Qk+f9oBaYcjkqj+1oB/YEd3cPf3bOP6Z8uj2e6+FngUmLDF3c4CfuFFdwOjzGx8P2MVkRQVCk6w/JsmM7RscfZVSlA0G6ouHDJhJG+esTeX3LGEZ1dvSDsckUT1dwR8qZldDVwG3OLev6EgM5sCHAHcs8VNE4C+06E7Stc9u5XnmAXMAhg7dizt7e39CUVS1tnZqb7LsO313/IVG9m4oRCrf73Ak089TXv78rQjGbBGfu09tLwHgAdnz+b5x7KZhUfrv5kjCvwpX+Bzv7iNDx06OO1wEhet/2Tn9TcBPxA4G/gP4BdmdgVwmbtvmUhvk5ntBvwB+KS7r9ny5q08ZKtJvrtfDFwMMH36dG9ra9vZEKSOtLe3o77Lru3136+fvp91tp62tpNrG1SCWv52AxMmTqSt7aC0QxmwRn7trZm7DOY8yPHHHcP+44anHU6/ROy/hYVHuOTOJfzH20/kFXtms192VsT+k53Tr4/87r7S3X/k7q8CjgWWAN81syfM7Os7eryZtVBMvn/t7ldu5S4dwKQ+lycCy/oTq4ikK9okTChOxNQ64NlX0Coodeljr9qfYYOb+cb1C9IORSQxA/7Ozd2XAT+lOFFyLfDh7d2/tMLJT4FH3f3b27jbNcC5VnQ8sNrdX1Z+IiL1Lx9sK3ooTsLUVvTZp4146tPuwwbx0bb9uXnBCu5evDLtcEQS0e8E3MxazextZnYl8ATwauCLwN47eOhM4L3AqWY2p/RzhpmdZ2bnle5zHbAYWERxycOP9jdOEUlXtI14oDwJUwl41pVXstEIeP35wMwpjB/Zyn9dv4B+TjMTqWv93YjnN8BrgNuA3wDvcveNO/NYd7+D7a8fTmlS58f6E9uWuru76ejoYOPGnQovE1pbW5k4cSItLVonVepfvuDhlnnLaQQ8hIJGwOtWa0sTn3rtK/jcFQ9x3cPLecNhWghNYunvJMwbgY+UlhGsax0dHQwfPpwpU6ZgAZIAd2flypV0dHQwderUtMMR2aF8wSub10ShEfAYyiPgzcGOzyjeeuRELrljCf99w6O85qBxDG5uSjskkarpbwnKyh0l32Z2Zj+fu6o2btzI6NGjQyTfUNyyd/To0aFG9CW2gscbAW/KaR3wCHrXAY91fEbRlDP+/Q0H8cyLG7jkjifTDkekqvo7Av5NM1vK9ktJ/j/gT/18/qqKknyXRWuPxJYvOIObYx2zuRwqQQmgMglT76l166RpY3jNgXty4d8e561HTWDc8Na0QxKpiv4m4M8B21rBpOzxfj63iASS93gjjCpBiUEj4Nlw/hsO5HXfuZX/d+NjfOPsw9IOR6Qq+pWAu3tbleOQrXjyySc588wzmTdvXtqhiPRboeA0Bctvcjmr1A9LdpW/xdAkzPo2dcww3n/iFH5yxxLee8I+HDJhZNohiQxYNvfeFZHMiLoMYUEj4JlXruNXCUr9++dXT2OPoYP46rWPaFlCCUEJeMKefPJJDjjgAN73vvdx2GGHcfbZZ7N+/Xq++tWvcswxx3DIIYcwa9asyhvK7NmzOfzwwznhhBP4/ve/n3L0IgNXcA+3znKTdsIMQSPg2TGitYV/fd0ruPfJF7l+3vK0wxEZsP7WgGfSV66dzyPL1lT1OQ/aewRffuPB273PwoUL+elPf8rMmTP54Ac/yA9+8AM+/vGP86UvfQmA9773vfzpT3/ijW98Ix/4wAf4v//7P0455RQ++9nPVjVWkTREHAHPWWkd8IU3QM8GOPgtaYck/dCTVwKeJeccM5lf/v0p/r/rHuXUA8bR2qJlCSW7BjQCbmZDzew/zOzHpcvT6mX5wXoyadIkZs6cCcB73vMe7rjjDm655RaOO+44Dj30UP72t78xf/58Vq9ezapVqzjllFOAYmIuknVRt6LPFxwuewf8/v1phyP91LsTZsqByE5pyhlfOvMgOl7awE9uX5x2OCIDMtAR8J8Bs4ETSpc7gN9TJ8sPbmlHI9VJ2XLZQDPjox/9KPfffz+TJk3iggsuYOPGjbi7lhiUcEKOgOeMXKEr7TBkgAoFJ2da2jVLTtx/DKcdvBcX3rKINx8xgYm7D007JJF+GWgCvp+7v8PM3gng7htM72Qv8/TTT/P3v/+dE044gcsuu4yTTjqJu+66izFjxtDZ2ckVV1zB2WefzahRoxg5ciR33HEHJ510Er/+9a/TDl1kwPL5Aod13gl33wOe73NL6a3CrPj3Zr/Z+m3bvf+W123tNvr/XH3uf3TXIxy54eGB/q+RlOXdmZ7rgHsuhkLPNu5V37X+E59ZBH+fn3YYNfXfE7q56PEnuOuXt/L2YyalHc6A7HL/uQMOXtjiZ2vXbXlb6XeuCZoGwfjD4aCzNn/PlZoZaALeZWZDKL1Dmdl+wKYBRxXMgQceyM9//nM+8pGPMG3aNP7pn/6Jl156iUMPPZQpU6ZwzDHHVO77s5/9jA9+8IMMHTqU17/+9SlGLVIdx/XM5kMdXy9+PxbEf/S9MHzvtMKQAbKeTVze/BW4fl3aofTb/gBPpB1FbY0CvpADXgRuTDeWgUqk/yzX+4NtftkMCnno2VgcEDn1P+Dkz1Q5ANkZA03AvwzcAEwys18DM4H3DzSoaHK5HBdddNFm133ta1/ja1/72svue9RRRzF37tzK5QsuuCDp8EQSNclLmfc/PwDDxhT/riwj5r1/l0d2+v692W+2ct2O7l/N5/LSXZzzr3oIw/na+DvhyTsH+H9I0tK6aSUjbR285itw1PvY5ubO5RFC9x3/vbXL27quCm6/4w5eedJJVX/eetfVU+Dsi+6iO+9c9dGZtLZkc1G3fvXfZgn1lj87eYwVCvDbd8Od/wsnfBxatMNorQ0oAXf3v5jZA8DxFN+5/sXdX6hKZCISwujCS3TbIFr22DfMV52LB/fQUyhA6/ztlC5IvRvUvbr4x+j9YMju6QbTT/nmYdDaeBvTDAI+/+bjePdP7uGie57nk695Rdoh9Utq/ZfLwVHvh4XXQce9MPXk2sfQ4Aa6CsqRwD7As8AyYLKZ7WdmDbW84fZMmTJFO1lKQxvMJrpyQ8Mk39BnFZRcsxLwDBvcU1qWNqPJd6Obuf8YzjxsPD9of4KnVma3jCg1k0vrZzxzT7pxNKiBfmfzA+Bu4GLgx8DfgcuBx8zsdQN8bhEJwN23+c1+VhW3oqf4la8X0g5H+qkpv7H4R/OQdAORfvv3NxxES8644Jr52iFzV7WOKM5heWFR2pE0pIEm4E8CR7j70e5+FHAEMA94DfA/A3xuEQkg4jmxyYpL2GEWs4ENwssfnoJ9QGwke41s5VOvfQW3LHyemx55Lu1wsmfMNFj5eNpRNKSBJuAHuHtl/Rx3f4RiQq4V8kWkxImW4fRuRR+rXY2mUPnyQv2YZe87cQoH7DWcL189n7Ubu9MOJ1tGTYI1z6YdRUMaaAK+0Mx+aGanlH5+QLH8ZDCgV4GIhPxauLIVPVDv60TLthUCHpuNqKUpx3/9w6E8t3Yj/3PDwrTDyZZh42Ddir6fRqVGBpqAvx9YBHwS+BSwuHRdN/CqAT63iAQQsQa8MgIeaGJpI6p8OFQ/Zt4Rk3fn/SdO4Vf3PMXsp15MO5zs2G3P4kTyDS+lHUnDGVAC7u4b3P3/uftb3P3N7v4td1/v7gV376xWkCKSXcUUJ1aCU5yE2XfdcMmivPoulM+8bjp7jxzCF/7wMJt68jt+gPTuzbDu+XTjaEADXYZwmpldYWaPmNni8k+1gotg3bp1vOENb+Dwww/nkEMO4be//W3aIYnUjLtjAZOcJrPiJEzJtsrX7rE+IDaqYYOb+dqbD+HxFZ1c1K5UZKe0jir+3rQm1TAa0UDX6/4Zxd0wv0Ox5OQD1PM72fVfgOUPV/c59zoUTv/vbd58ww03sPfee/PnP/8ZgNWrV1f33xepY/lKklq/bwv90dR3BFw14JnVe3jGOj4b2asOGMebDt+b79+yiDccthf7jxuedkj1bXDp/48S8JobaA34EHe/GTB3f8rdLwBOHXhYcRx66KH89a9/5fOf/zy33347I0c23o5l0rjy5e3cg+U3ObPi4KmWIcy0gtZwD+lLbzyIoYOb+MIfHtY3VTvSOqL4e9PadONoQAMdAd9oZjngcTP7OLAUGDfwsBKynZHqpLziFa9g9uzZXHfddXzxi1/kda97HV/60pdqHodIGqIu89aUQ8sQBuBBv6FpdGN2G8z5ZxzIZ694iF/d8xTnnjAl7ZDqV2UEXAl4rQ10BPyTwFDgE8BRwHuAcwf4nKEsW7aMoUOH8p73vIfPfOYzPPDAA2mHJFIzefeQqY1KUGIoqO/COvuoiZz8irH813ULeHrl+rTDqV+Ddiv+VgJecwNNwKe4e6e7d7j7B9z9rcDkagQWxcMPP8yxxx7LjBkz+PrXv86///u/px2SSM1UasCD1djmypMwg7Wr0XjQ41PAzPjGWw+lucn4zBVzVYqyLc2txd89G9ONowENNAH/4k5e17Be//rX89BDDzFnzhzuu+8+jj766LRDEqmZQsGxgKOMTVqGMITejXiUgEc0fuQQvnTmQdy75EUuvevJtMOpT02Dir97utKNowH1qwbczE4HzgAmmNn3+tw0AuipRmAikn35oAlOzrQVfQQaFY3v7KMmcv285fzPjQtomz6WfcfulnZI9SWXg1wL5DelHUnD6e8I+DJgNrCx9Lv8cw3w+uqEJiJZly8Ua8CjpalNub7rgCuJy67SLGGVoIRlZvzXPxzK4OYmPnvFQ32WRpWK5sEaAU9Bv0bA3X0uMNfMfuXudT/i7e5YoDdY11fekhH5cglKoNcf9ClB0TKEmRZ1lR7Z3J4jWvnKmw7mk7+dw0/vWMysk/dLO6T60jRII+Ap6G8JysOUhn22lti6+2EDC6t6WltbWblyJaNHjw6RhLs7K1eupLW1Ne1QRHaoPNoUbS2UyjrgwdrVaLQKSuM4a8beXPfws3zrpsd41fRxTNtTG/RUNA+GHiXgtdbfdcDPrGoUCZo4cSIdHR08//zzaYdSNa2trUycODHtMER2qODFEfBoaWpTDi1DGEBBq6A0DDPj6285lNd/9zb+5fI5XPWxExnc3JR2WPWheTDkVYJSa/0tQXmq/LeZ7QkcU7p4r7uv2NHjzewSikn8Cnc/ZCu3twFXA0tKV13p7l/tT6wtLS1MnTq1Pw8VkQGKugxhU3kSZrB2NRqV8zWWscMH8423HsY//uJ+vn3TY3zxjAPTDqk+NA3WMoQpGNAyhGb2duBe4G3A24F7zOzsnXjopcBpO7jP7e4+o/TTr+RbRNJVcA+Zo+ZyxUa5oxrwLNNOmA3ntQftybuPm8yPblvMnYteSDuc+tA8SJMwUzDQdcDPB45x9/e5+7nAscB/7OhB7n4b8OIA/20RqXP58iS3YFl4rtQe7/NfyZ5KDXiw41O279/fcBD7jh3Gp383l5fWKfGkabAmYaZgoAl4bouSk5VVeM6yE8xsrpldb2YHV+k5RaSGyqugREtvmkoj4IUd3E/qmxfUg41oyKAmvnfOEaxct4l/u+phlSI1tUCh7he0C6e/kzDLbjCzG4HLSpffAVw3wOcEeADYx907zewM4I/AtK3d0cxmAbMAxo4dS3t7exX+eam1zs5O9V2Gbav/nlydZzjQ1d3DPYH698klxVGzp556mn3duTXDbWvk197GrmI/3nvvfawf9mzK0fRPI/ffQL1l/2Z+N285X/31XzllYksqMdRD/x2+Zi3mzhwdRzU1oATc3T9rZv8AnESxiO5id79qoEG5+5o+f19nZj8wszHu/rKCLXe/GLgYYPr06d7W1jbQf15S0N7ejvouu7bVf3OfWcWi+51BgwaF6t/Hck/AYwuYNHkf7Bky3bZGfu3dcuet0A3HHnssjH1F2uH0SyP330CdfLLT8dN7uHzhKt77+hNS2SWzLvrv6THQtT79OBrMQCdhforiyif/6u6fqkbyXXrevay0aLeZHVuKc2U1nltEaqcn6K5z5RrwQnEWZrrBSP+5dsJsZLmc8f/efjiDW3J87DcPsrE7n3ZI6cg1qwQlBQOt1x4B3Ghmt5vZx0pLEu6QmV0G/B2YbmYdZvYhMzvPzM4r3eVsYJ6ZzQW+B5zjDV+kJZI9xXXACZfgNFVWQYnVrkbT+/lQ/dioxo8cwrfffjiPPruG//zTI2mHk46casDTMNASlK8AXzGzwyjWf99qZh3u/podPO6dO7j9QuDCgcQmIukrrwNuwRKcSgKu0e9Mc9ckTIFTD9iTj5yyLz+6dTHHTt2Ds2ZMSDuk2so1QaFBR/9TVK0VS1YAyymWiYyr0nOKSMYVSqugRFNZhrA8Aq4v6DKpdxnwWB8QZdd95nXTOWqf3fm3Kx9m8fOdaYdTWypBScVAa8D/yczagZuBMcA/uvth1QhMRLKvsl17sARHyxDGoBFwKWtpyvF/7zyCQc05PvrrBxqrHlwJeCoGOgK+D/BJdz/Y3b/s7g1aQCUiW5MPOgLeVJmEWbpCI+CZ5EEnCUv/7D1qCN9++wwWLF/LV65toHQm1wyF7rSjaDgDSsDd/QvuPqdKsYhIMIVSYmrBRsDLW9Fr8l62aSdM2dKrDhjHeafsx2X3Ps2VD3SkHU5tNDWrBjwF1aoBFxF5mXwhZopazr8LlZFvjaRmkipQZCs+87pXcNzUPfjilQ8zb+nqtMNJnkpQUqEEXEQSUylBCTbC2LsKimRZvlIDHuv4lIFpbspx4buOZI9hg/jIL2fz4rqutENKlhLwVCgBF5HERF2GsHcVlNIVqgHPHHfXJyjZprHDB/PD9xzF82s38YnLHqQnH/jrEiXgqVACLiKJyXt5BDztSKrr5augKJPLmoKDmWrAZdtmTBrF1958CHcseoFv3rQw7XCSk2uGvBLwWlMCLiKJKfQutJxqHNXWuxV9rHY1kvxmK6CoH2Xr3n7MJN593GR+dOti/vTQsrTDSYZGwFOhBFxEElOsAY+X3vRuRV+6QiUomRN1iUypvi+/8WCO2md3Pvv7h1iwfE3a4VSfEvBUKAEXkcTE3Yin+DtwVWh4+b4fmoIdn1Jdg5pz/PDdRzK8tZkPXXo/L3RuSjuk6so1g+c1kFBjSsBFJDHFEhQn2hj4yyZhaiQ1c/LahEd2wbgRrfz43KN5oXMTH/nl7Fg7Zeaai7+1FnhNKQEXkcTkg27Eo2UIs6+wWQlKrONTknH4pFF8++0zmP3US3zxyoeLK+lEkGsq/tZumDWlBFxEElMIWmfbVBkBL7Utyom4gfQUVIIiu+4Nh43n0699BVc9uJQftD+RdjjV0dRS/K068JpqTjsAEYmrsg54sAQnV1mGsNwuJeBZU3DXuLf0y8dP3Z8nnu/kmzcuZN8xwzj90PFphzQwlRIUJeC1pBFwEUlMTyFmklNZB1zLEGaWliGU/jIz/vuth3Hk5FF86ndzeKhjVdohDYxqwFOhBFxEElMIugpKKf/GUQlKVmkZQhmI1pYmLj73aEYPG8wHL72fZ15cn3ZI/VepAdcIeC0pAReRxOQLYMQbBX/5KiiSNQXvk4AH+4AotTFmt8H8/IPH0J0v8L5L7uXFdV1ph9Q/5RHwvCZh1pIScBFJTNQR8N4SlPI1ysSzpkclKFIF+48bzk/fdzRLV23gQz+/jw1dGSzjyGkSZhqUgItIYqLuhFnZij7lOKT/CkHnJ0jtHT1lD/73nCOY88wq/vmyB+nJZ+ydQTXgqVACLiKJqUx0CzoC7uXzrGpRMkc7YUo1nXbIXnzlTQfz10ef4z+unp+tNcJVA54KLUMoIokp19lasLHGSglK5ZoMnWwF0CRMqb5zT5jC8tUb+UH7E+w1opV/ec20tEPaOVqGMBVKwEUkMfmCF1cMCTbCWClBUf6WWXnthCkJ+Ozrp/Pcmk1856+PMXJIM++fOTXtkHaskoBrEmYtKQEXkcTkK5udxEpwyiPgFVn6ulmALdYBD/YBUdJjZnzjrYeydmM3F1z7CMMGN/O2oyelHdb2VXbCVA14LakGXEQSk887W+aqETRpBDzzCvrQJAlpbsrxf+86gldOG8Pn//AQ1z/8bNohbZ9qwFOhBFxEElMZAQ+WhOdK75yqAc+uzReqCHaASuoGNzfxo/cexRGTd+cTlz9I+8IVaYe0baoBT4UScBFJTKHgmMVLTl++DrhkTU+hoEmYkqihg5q55P3HMG3ccM771WzuXfJi2iFtnRLwVCgBF5HEFEfA460E3qSdMDOvUNqlFVANuCRm5JAWfvmhY5kwaggfvPQ+Hnj6pbRDernKTphKwGtJCbiIJCZfIOQIuFUS8FLblIlnzmbrgAf7gCj1ZfRug/n1h49nzG6DOPen99ZfEq4R8FQoAReRxFR2Gww2wqgSlOzTTphSS3uNbOWyWXWahCsBT4UScBFJTN6Dr4JSuUaZeNb0aBlCqbHxI4fUZxKuBDwVSsBFJDGFQsyNTiqroHisdjUS7YQpadgyCV+0qg7W3lYCngol4CKSmLAj4DnVgGddwZWASzr6JuHfum8j9z+Z8uoolXXA6+DDQANRAi4iiekJWgOureizTzthSprGjxzC5bNOYNRg470/vZfbHns+vWC0FX0qUknAzewSM1thZvO2cbuZ2ffMbJGZPWRmR9Y6RhEZuEIh+Ah4ynFI/xVckzAlXXuNbOWLxw1hyphhfPjn93PDvJR2zFQJSirSGgG/FDhtO7efDkwr/cwCfliDmESkyvJBa8C1FX329eS1DKGkb+Rg4/J/PJ5DJozgo79+gCtmd9Q+iKaW4m8l4DWVSgLu7rcB2yt6Ogv4hRfdDYwys/G1iU5EqqXgHrLOLadlCDMvrxpwqRMjh7bwyw8dx4n7jeEzv5/LpXcuqW0AlRFw1YDXUnPaAWzDBOCZPpc7Ste97PsZM5tFcZScsWPH0t7eXov4pMo6OzvVdxm2rf5b8cJG8vke1qxdzwPB+jdnsHJlcRzhzjvuoHvQiJQj6p9Gfe09+kw3uVICfvudd5JvHpZyRP3TqP0XRd/+O3eqs35NExdc+whzH32cN+3XUtn0K0lNPet4JbDosQV0bGhP/N+TonpNwLd2xG11qMLdLwYuBpg+fbq3tbUlGJYkpb29HfVddm2r/y5ZfC8tG5sZMWJEuP5t/sv1jNpjD1gDM2fOhGGj0w6pXxr1tbf0nqdYvKD49ytPeiW0ZvMDVKP2XxRb9t+pbQU+94eHuPKBpbTuMZ7/POtgmpsS/h6xax3cAfvvO4X9Z7bt8O5SHfWagHcAk/pcnggsSykWEemnQsFLW9HHK0Qx67MMoUoZMievnTClDjU35fh/bzucPUe08sP2J3h+7Ua+984jGDoowXRNkzBTUa9nxWuAc0uroRwPrHb3lKYHi0h/RU5ymnJGXnl3ZmkZQqlXZsbnTzuA/zzrYP62YAXv/PE9rOzclNw/WE7A80rAaymtZQgvA/4OTDezDjP7kJmdZ2bnle5yHbAYWAT8GPhoGnGKyMBUNuIJmOA0mfXuv6ONeDJHO2FKvXvvCVO46D1HseDZNbz1h3fx1Mp1yfxDuSbANAJeY6mUoLj7O3dwuwMfq1E4IpKQ3hHweAl4LmdaBSXDNt8JM97xKTG87uC9+M0/Hs+Hf34f//CDu7j43KM5ap/dq/8P5ZqVgNdYvZagiEgAkUcZm3JGIWjbGkGPSlAkI47aZ3f+8E8nsltrM++8+G6ufCCBtcKVgNecEnARSUzBvZjcBExwcn1LUJSIZ04h8PwEiWffsbvxx4/O5Mh9RvGvv5vLf1+/gEI1v4LLNWsd8BpTAi4iickXvLLWcjRNOW3Ek2X5Qt9LSsWl/u0+bBC//NBxvOu4yVx06xN85FezWbepSqPWuSaNgNeYEnARSUy+UBoBD5jgaBJmtuXVZ5JBLU05vv7mQ7jgjQdx86PP8dYf3kXHS+sH/sQqQak5JeAikpjiVvQxE52cliHMtEKhtEKPSMaYGe+fOZVLP3AsS1dt4E0X3smdi14Y2JM2tUChuzoByk5RAi4iiamsghKwBrwpZ9qIJ8N6+ibgAY9Pie/kV4zljx+byehhg3jvT+/hh+1P9HlP2kWqAa85JeAikphKBUpATWYUApbWNIqCawRcsm+/sbvxx4/N5PRDx/ONGxZw3q9ms3ZjP0ayVQNec0rARSQx0dcB7/dok6SuOEG4LN7xKY1j2OBmLnznEfz7Gw7kr4+u4KwL7+Sx59bu2pOoBrzmlICLSGIib0WfMyiUV9JQIp45+YJjGgKXIMyMD79yX37z4eNYs7GHN3//Tv744NKdfwIl4DWnBFxEEpMveGkRlHiJTs4MVUxmV77gNMU7LKXBHbfvaP78iZM4eO8RfPK3c/j07+bu3FKFqgGvOSXgIpKYvMfeCVOTMLMr7977uTDgB0RpXHuOaOWyfzyeT7x6Glc+2MEb/+8O5i9bvf0HqQa85pSAi0hiendqi5fgNOWMgsdrV6Mo7oSp/pOYmpty/OtrX8FvPnw867p6eMv37+Jndy7Z9ryVXAvktQxhLSkBF5HE5AOvNJGzPmP7qgHPnGIJivpNYjthv9Fc/y8n88ppY/jKtY/wj7+4nxc6N738jqoBrzkl4CKSmHw+9jrg2oo+u4rzEyo1KKnGIpKkPYYN4ifvO5ovnXkQtz32Aq//zm3cOH/55ndSDXjNKQEXkcT0FDxi7g2U1gFXBp5ZPZqEKQ3EzPjgSVO59p9PYq+RrXzkl7P59O/msqa8ZrhqwGtOCbiIJKa4DGHMJDWXgwKahJlV+YImYUrjmb7XcK766Ez++dT9+eOcpZz2ndu4a9ELKkFJgRJwEUlMT6EQvAQlXrsaRU+hQFPUCQoi2zGoOcenXzedK847gdaWJt71k3t47PkN5DUJs6aUgItIIgoFD70Vfc6MQnnypSZhZk6+EHeCsMjOOGLy7vz5E6/k/SdOYclLXSx+bjW3PvZ82mE1DCXgIpKIfCkpjboVvSZhZlt33slpEqY0uCGDmrjgTQdzzL5jabE877vkXv71t3N4cV1X2qGFpwRcRBLRk++bgMfTZNqIJ8u0E6ZIrz2GD2XyqMF84tT9uWbuMl7z7Vv544NLt71uuAyYEnARSURPoQAQdit6MyOvGvDM6ikUektQAh6fIrsk10zOe/jX103nT584icl7DOWTv53D+352H0teWJd2dCEpAReRRORL9Rm5oKPDTbk+pd8aJcqcns1KUEQaXJ91wA/YawR/+KcT+fIbD+KBp17i9d+5jW/duJANXVonvJqUgItIInrKBdLFIfBUY0mCasCzrafg5HQGFCnaYh3wppzxgZlT+dunT+GMQ/fiwlsW8Zpv38oN85arLKVK9PYjIomIPgKeM+uzDrhkTXEVFE3CFAEg17LVdcDHjWjlu+ccwW9nHc/w1mbO+9Vs3vez+1j8fGcKQcaiBFxEElEZAcdC1tg25QwvaBJmVnXnC1qGUKQs1wzbWQf8uH1H86d/PokvnXkQDz71Eqd993b++/oFrN2otcP7Swm4iCQiX1kFJWZy2mSGKiKzS6ugiPTRpwZ8W5qbcnzwpKnc/JlTOPPw8Vx06xO0fbOdX979FD35Qo0CjUMJuIgkYrNVUAJ+xZ/LmSZhZthmJSgBv6ER2SVb1IBvz7jhrXz77TO45uMz2W/cbvzHH+dx2v/ezi0LVqg+fBcoAReRRJRrwKOmNk1maNAnu7oLKkERqcg173QCXnbYxFH8dtbx/Oi9R9GTL/CBS+/jvT+9l0eWrUkoyFiUgItIInr6JuABRxhzOaM3/9aoT9bk8651wEXK+pGAQ3E/hNcfvBc3feoUvnTmQTy8dDVv+L/b+eTlD/Kk1g/fLiXgIpKIygi4xUxOm3JQ0Ah4ZvUUtA64SEWuGfB+v6kNai7Wh9/62TY+cvJ+3DB/Oa/+9q188cqHWLZqQ3VjDUIJuIgkortUn2EEXQdcyxBmWjEBTzsKkTrR1Fz83Y9R8L5GDR3EF04/gNs++yrec9xkrpjdQdu32vnqtY/wQuemKgQahxJwEUlEbw14zCTVrM9GPJp4lDk9+YJGwEXKcuUEvDrLCo4b0cpXzjqEv326jbMO35tL71rCyf9zC9+4YYES8RIl4CKSiJ6+CXjARKep7yookjl5jYCL9MpVZwR8S5P2GMo333Y4f/nXUzj1gHFcdOsTnPSNv/HVax9h+eqNVf23siaVBNzMTjOzhWa2yMy+sJXb28xstZnNKf18KY04RaT/emvAg5agaCv6TOvWVvQivSoJeDK7G+w3djcufNeR/OVTp3DGoeP5+d+f5OT/uYXzr3qYZ15cn8i/We+aa/0PmlkT8H3gtUAHcJ+ZXePuj2xx19vd/cxaxyci1dETfJfInBn5mE1rCPmCl0ag4n04FNlluabi7yqPgG9p/3G78e23z+CTr34FF932BL+/v4PL73uGN8+YwHmn7Mu0PYcn+u/XkzQ+/x8LLHL3xe7eBVwOnJVCHCKSoHx5Ix4IWoJC76YTqkXJFHdXCYpIXwmVoGzL5NFD+f/ecii3fq6Nc0/Yhz8/vIzXfuc23v+ze7lz0QsNsaFPzUfAgQnAM30udwDHbeV+J5jZXGAZ8Bl3n7+1JzOzWcAsgLFjx9Le3l7daKUmOjs71XcZtrX+m/Nc8Y18w/p1rGcl84L17zNPd2GlFbvuufceNgztSDegfmrE117525k1a1bjGLdmuP2N2H+R1Ev/7fXsExwA/P2uO9jUOq6m//Ypw+HIV7byt6e7uXnJ87x74fNMHp7j9VOaOW58M81BPymnkYBv7f/klh91HgD2cfdOMzsD+CMwbWtP5u4XAxcDTJ8+3dva2qoXqdRMe3s76rvs2lr/bXj4WXjwAYYNG0brHmPC9e+cnsdYvKT493HHHgdj9k83oH5qxNfexu483HQDe+w+CltLptvfiP0XSd3039znYCGccOzRsMe+qYTwRoqvzavnLOUnty/hxw93cs1TxvtOnMI7j5nM7sMGpRJXUtIoQekAJvW5PJHiKHeFu69x987S39cBLWY2pnYhishA9QRfhrBps7KamG2MqnxsNqn+W6SoXAOer00Jyra0tjTxjmMmc9OnTuZnHziGaeOG8z83LOS4/7qZT/9uLnOfWZVqfNWUxgj4fcA0M5sKLAXOAd7V9w5mthfwnLu7mR1L8YPCyppHKiL9lu+7REjAGvBcLubqLo0gny+v0APqQxFqXgO+I2bGq6aP41XTx7Fg+Rp++fenuOrBpfzhgQ4OmziS9xy/D288bG+GDGpKO9R+q/kIuLv3AB8HbgQeBX7n7vPN7DwzO690t7OBeaUa8O8B53gjVOSLBNI7Ah5TU9+6RL09ZUp3aYJwLmhtqcguq7MEvK8D9hrB199yKPf826v56lkHs6Erz+eueIjj/+tmvvanR3ji+c60Q+yXNEbAy2Ul121x3UV9/r4QuLDWcYlI9Wy2CkrANLw5F7W4Jr7ytzPKv0VK6jgBLxve2sK5J0zhvcfvwz1LXuSXdz/FpXc9yU/uWMLR++zO24+exBmHjWe3wamktrssG1GKSOZ052OvA97S1PcLxJhtjKr87UwOQpZHieyypmQ34qkmM+P4fUdz/L6jWbFmI1c+uJTf3f8Mn/vDQ1xw7XzecOh43n7MJI7eZ/fSRnD1SQm4iCSidydMQiY5zU2GBxzZbwQ9+VIJirpPpCgDI+BbM25EK+edsh8fOXlfHnj6JX5/fwfXzl3G72d3MHXMMM4+aiJnzdibibsPTTvUl1ECLiKJiF4DvtkIuGrAM6UyAl4cAk81FpG6kNEEvMzMOGqfPThqnz340hsP4rqHl/O7+5/hmzcu5Js3LuTofXbnrBl784bD9maPOlnOUAm4iCRi8xrweAY15TQCnlGVGnD1n0hRJQHvTjeOKhg6qJmzj5rI2UdN5OmV67n2oWX88cGl/MfV8/nKtY/wymljOGvGBF570J4MS7FeXAm4iCSip9BINeCSJd0qQRHZXC47NeC7YvLooXzsVfvz0bb9WLB8LVfPWca1c5fxyd/OobUlx6sP3JPTD9mLtunjaj55Uwm4iCSip7LWsoWsAW9p0kY8WVU+NnM5Qh6bIrusvBFPRktQdsTMOHD8CA4cP4LPvX46s59+iT8+uJQb5y/nzw89y6DmHCdPG8tph+zFaw/ck5FDWxKPSQm4iCSiO18gZ2BB66NbmnNKuzOqPALepORbpCjjNeC7IpczjpmyB8dM2YOvnnUI9z/5IjfMX86N85bz10efozlnnLDf6GIyftCejBvemkgcSsBFJBFd+UKpTMOJWAk+SJMwM6urRyUoIpvJlUZ8GyAB76spZxy372iO23c0XzrzIB7qWM3185Zzw7xnOf+qeZx/1TwOnzSKVx8wjlMPGMfBe4+o2tKGSsBFJBHdPd6bpAYcaWzRJMzM6iqPgOeMiB8ORXZZ0BrwXWFmHD5pFIdPGsXnT5vOwufW8tdHnuPmBSv4zl8f49t/eYw9Rwzm1AP25NUHjBvwv6cEXEQS0Z0v0NKcCzs63Kwa8MwqbxLVpNxbpKhcA57P/ioo1WBmHLDXCA7YawQfP3UaL3Ruon3h8/xtwXNcO3cZl9379ID/DSXgIpKI7nyhz0TFeJmOliHMrsoqKLmYE4RFdlkD1YD3x5jdBleWNuzqKXDfky9y0jcG9pxaR0tEErF5DXg8WoYwuzQJU2QLSsB32qDmHDP3HzPg59EZREQS0Z2PXgPep01By2yi0iRMkS0oAa85JeAikoie8gh40OS0OAlTsqhSA65JmCJFTZqEWWtKwEUkEcVJmIFrwJv7vn0qFc+Srp5ikpEL+M2MSL9oBLzmlICLSCK68t4ANeBK4LKodxWUmMemyC5TAl5zSsBFJBHdPYXeiYoBRxqbVQOeWV1aBUVkc5UEXMsQ1ooScBFJRHe+UJyEGTQ5HaQa8MyqrIKSchwidcNKrwbVgNeMEnARSUT0dcC1DGF2decLNOesNPgd79gU2WW5HFhOJSg1pDOIiCQieg14U85ozpXfQmO2MaruyrEpIhW5FiXgNaR3IBFJRGUreghbZzuoRUUMWdTVU9h8HXcRKdaBKwGvGSXgIpKI7nyBlpyFrQEHGFweRQ3cxoi68oXeZSSDfjgU2WW5ZtWA15AScBFJxMbuPK0tTRTLM2ImORoBz6bNVugRkaJck0bAa0jvQCKSiA1dpQTcPewo4+Bm1YBnUWUEXN9ciPTKNUNeyxDWihJwEUnExu4CQwZpBFzqz8buPEMqfRfz2BTZZaoBrykl4CJSdT35Al35QjHJcQKPgJeSOI2kZsqG7gKDK+VRIgJA8yDo2ZR2FA1DCbiIVN3GnuJGJ0OC14BXEnDJlI1deYa0aBKmyGYGj4BNa9KOomEoAReRqlvfVfwas3VQo9SAS5Zs7ClPEBaRitaRsFEJeK3o7CEiVbexq0FGwCtJnEoZsmRDV6kGXKVDIr00Al5TSsBFpOo2dBfXkq0kOTHzb3ZrbQGKq2pIdmzQJEyRl2sdoRHwGlICLiJVt65UgjI0+CooI0oJ+Or1XSlHIrtioyZhirzcbuOgczkUNKBQC0rARaTqVq8vriU7cmhL6BrwEUPKCbiW7sqSzZYhjHloiuy63adAvgvWPpt2JA1BCbiIVN3qDcUEfNSQFiKPgA8vj4Bv0NJdWVLcpVWnP5HN7D6l+PulJamG0Sj0DiRSQz+5fTGfuOxB1myMvdvYqlJJxqihg0KPgI8dPhiAZ1dvTDkS2Vnd+QI9Be/dpVVEivY8pPi74/5042gQqSTgZnaamS00s0Vm9oWt3G5m9r3S7Q+Z2ZFpxClSTc+v3cTXr3uUa+Yu43O/f4hCIe7Jf1VpBHxEazORR8BHNhVHvpcv11e2WbF2Y7FcaERrM3geTMsRigDFGvAx02HRX9OOpCHUPAE3sybg+8DpwEHAO83soC3udjowrfQzC/hhTYOU1Ln7Dn8KhR3/5Hfw05Mv7PCneyd+unp2/POru5/CHd557GRumL+c8341m7sWvcDzazfRnS/ggUbjnl+7id2HttDclAs9Am5DRgHw4lPzuGXBClas2ciGrnyovoxmTfnD4ZAWKOSL22+LSNHh74Anb4eHfl9cESXfrW+KEpLGO8+xwCJ3XwxgZpcDZwGP9LnPWcAvvHgWu9vMRpnZeHff7jDTsLWLWfflPXcqCN+FEbldOfR27XnrIYaknnfXYjgYeP6Wnbl31v7/9t73HOB9w3LsvmQQ54/sofOJHvwJ6AFeoO84cXWTVd9G8ru1a7fWtm1F0/d5p7nz7K2GmTG8tZlPbsrzCRy+OxjWv1BMdCKafAL5waP43KZfsOGyy4Hi/8MN7Pr6Glv9/7yN//m7cgzu6OmOAda3l243o6UpR3NuZ55/F2Po14ewXf03dnyXiQVn7uAehl7fDN1ack1kM8d+BB65Gq78cJ8rDXJNxd+WK76WLVe6HHNwpRbSSMAnAM/0udwBHLcT95kAvCwBN7NZFEfJATbt9tUV86oXqtTQGIp5qGTTDvrv/0o/Uof02vtKppMI9V+2qf+ya/pAHpxGAr71gbddv0/xSveLgYsBzOx+dz96YOFJGtR32ab+yy71Xbap/7JN/ZddZjag2appTMLsACb1uTwRWNaP+4iIiIiIZE4aCfh9wDQzm2pmgyiWxl6zxX2uAc4trYZyPLB6R/XfIiIiIiJZUPMSFHfvMbOPAzcCTcAl7j7fzM4r3X4RcB1wBrAIWA98YCef/uIEQpbaUN9lm/ovu9R32ab+yzb1X3YNqO9My2WJiIiIiNSOdsIUEREREakhJeAiIiIiIjUUIgHf0db2Ul/MbJKZ3WJmj5rZfDP7l9L1e5jZX8zs8dLv3dOOVbbOzJrM7EEz+1PpsvouI0obm11hZgtKr8ET1H/ZYGafKr1nzjOzy8ysVX1Xv8zsEjNbYWbz+ly3zf4ysy+W8piFZvb6dKKWsm303zdL750PmdlVZjaqz2271H+ZT8B3cmt7qS89wKfd/UDgeOBjpT77AnCzu08Dbi5dlvr0L8CjfS6r77Ljf4Eb3P0A4HCK/aj+q3NmNgH4BHC0ux9CcRGDc1Df1bNLgdO2uG6r/VU6B55DcWPo04AflPIbSc+lvLz//gIc4u6HAY8BX4T+9V/mE3D6bG3v7l1AeWt7qVPu/qy7P1D6ey3FBGACxX77eeluPwfenEqAsl1mNhF4A/CTPler7zLAzEYAJwM/BXD3LndfhfovK5qBIWbWDAyluD+G+q5OufttwItbXL2t/joLuNzdN7n7EoqrwB1bizhl67bWf+5+k7v3lC7eTXGfGuhH/0VIwLe1bb1kgJlNAY4A7gH2LK/3Xvo9LsXQZNu+C3wOKPS5Tn2XDfsCzwM/K5UQ/cTMhqH+q3vuvhT4FvA08CzF/TFuQn2XNdvqL+Uy2fNB4PrS37vcfxES8J3etl7qi5ntBvwB+KS7r0k7HtkxMzsTWOHus9OORfqlGTgS+KG7HwGsQyULmVCqFT4LmArsDQwzs/ekG5VUkXKZDDGz8ymW0/66fNVW7rbd/ouQgGvb+gwysxaKyfev3f3K0tXPmdn40u3jgRVpxSfbNBN4k5k9SbHc61Qz+xXqu6zoADrc/Z7S5SsoJuTqv/r3GmCJuz/v7t3AlcCJqO+yZlv9pVwmI8zsfcCZwLu9dzOdXe6/CAn4zmxtL3XEzIxiDeqj7v7tPjddA7yv9Pf7gKtrHZtsn7t/0d0nuvsUiq+1v7n7e1DfZYK7LweeMbPppateDTyC+i8LngaON7OhpffQV1OcP6O+y5Zt9dc1wDlmNtjMpgLTgHtTiE+2w8xOAz4PvMnd1/e5aZf7L8ROmGZ2BsW61PLW9l9PNyLZHjM7CbgdeJjeOuJ/o1gH/jtgMsWTzdvcfcsJLFInzKwN+Iy7n2lmo1HfZYKZzaA4gXYQsBj4AMXBGPVfnTOzrwDvoPjV94PAh4HdUN/VJTO7DGgDxgDPAV8G/sg2+qtU1vBBiv37SXe//uXPKrWyjf77IjAYWFm6293ufl7p/rvUfyEScBERERGRrIhQgiIiIiIikhlKwEVEREREakgJuIiIiIhIDSkBFxERERGpISXgIiIiIiI1pARcRCQDzGyUmX20z+W9zeyKBP6dC8xsqZl9tZ+P/7WZvWhmZ1c7NhGRKJSAi4hkwyigkoC7+zJ3TyrJ/Y67f6k/D3T3d6PN0EREtksJuIhINvw3sJ+ZzTGzb5rZFDObB2Bm7zezP5rZtWa2xMw+bmb/amYPmtndZrZH6X77mdkNZjbbzG43swN29I+WRsQvMbN2M1tsZp8oXT/MzP5sZnPNbJ6ZvSPR1ouIBNKcdgAiIrJTvgAc4u4zAMxsyha3HwIcAbQCi4DPu/sRZvYd4FyKuwVfDJzn7o+b2XHAD4BTd+LfPgB4FTAcWGhmPwROA5a5+xtK8YwcUOtERBqIEnARkRhucfe1wFozWw1cW7r+YeAwM9sNOBH4vZmVHzN4J5/7z+6+CdhkZiuAPUvP+y0z+wbwJ3e/vVoNERGJTgm4iEgMm/r8XehzuUDxvT4HrCqPoA/gufNAs7s/ZmZHAWcA/2VmN7l7vyZuiog0GtWAi4hkw1qKJSD94u5rgCVm9jYAKzq8v89nZnsD6939V8C3gCP7+1wiIo1GCbiISAa4+0rgztKEx2/282neDXzIzOYC84GzBhDSocC9ZjYHOB/42gCeS0SkoZi7px2DiIjUCTO7AOh0928N4DkupVgXXvV1ykVEItAIuIiI9NUJzBrIRjzAKcDGqkYlIhKIRsBFRERERGpII+AiIiIiIjWkBFxEREREpIaUgIuIiIiI1JAScBERERGRGlICLiIiIiJSQ/8/s9azWvZjHHIAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 864x864 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"def _block():\n",
" inout = sky130.iolib.cells.IOPadInOut\n",
" tb = sky130.pyspicefab.new_pyspicecircuit(corner=\"tt\", top=inout.circuit, title=\"GPIO\")\n",
" tb.V(\"vss\", \"vss\", tb.gnd, 0.0)\n",
" tb.V(\"iovss\", \"iovss\", tb.gnd, 0.0)\n",
" tb.V(\"vdd\", \"vdd\", tb.gnd, 1.8)\n",
" tb.V(\"iovdd\", \"iovdd\", tb.gnd, 3.3)\n",
" tb.C(\"load\", \"pad\", tb.gnd, 1e-12)\n",
" tb.R(\"load\", \"pad\", tb.gnd, 1e4)\n",
"\n",
" t_trans = 0.1e-9\n",
" tb.PieceWiseLinearVoltageSource(\"d\", \"d\", tb.gnd, values=(\n",
" (0, 0), (10e-9, 0), (10e-9 + t_trans, 1.8), (20e-9, 1.8), (20e-9 + t_trans, 0),\n",
" (40e-9, 0), (40e-9 + t_trans, 1.8), (50e-9, 1.8), (50e-9 + t_trans, 0), (60e-9, 0),\n",
" (60e-9 + t_trans, 1.8), (90e-9, 1.8),\n",
" ))\n",
" tb.PieceWiseLinearVoltageSource(\"de\", \"de\", tb.gnd, values=(\n",
" (0, 0), (30e-9, 0),\n",
" (30e-9 + t_trans, 1.8), (60e-9, 1.8),\n",
" (60e-9 + t_trans, 0), (70e-9, 0), (70e-9 + t_trans, 1.8), (80e-9, 1.8), (80e-9 + t_trans, 0),\n",
" ))\n",
"\n",
" sim = tb.simulator(temperature=25)\n",
" trans = sim.transient(step_time=0.01e-9, end_time=120e-9)\n",
"\n",
" time = np.array(trans.time)*1e9\n",
"\n",
" plt.figure(figsize=[12,12])\n",
"\n",
" plt.subplot(2,1,1)\n",
" plt.plot(time, trans.d, time, trans.de)\n",
" plt.axis((time[0], time[-1], 0, 2.0))\n",
" plt.legend((\"d\", \"de\"), loc=\"center left\")\n",
" plt.xlabel(\"time [ns]\")\n",
" plt.ylabel(\"voltage [V]\")\n",
" plt.grid()\n",
"\n",
" plt.subplot(2,1,2)\n",
" plt.plot(time, trans.pad, time, trans.s)\n",
" plt.axis((time[0], time[-1], 0, 3.50))\n",
" plt.legend((\"pad\", \"s\"), loc=\"center left\")\n",
" plt.xlabel(\"time [ns]\")\n",
" plt.ylabel(\"voltage [V]\")\n",
" plt.grid()\n",
"\n",
"_block()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "555450d0",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}