{ "metadata": { "name": "gridstaggering" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "\n", "import json\n", "\n", "import openearthtools.modelapi.bmi\n", "import matplotlib.pyplot as plt\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# Locate the libdflow dll\n", "DIRNAME = os.path.abspath('.')\n", "LIBFMNAME = os.path.join(DIRNAME, '../../src/.libs/libdflowfm.dylib')\n", "# This is a simulation of a river bend.\n", "rundir = '/Users/fedorbaart/Documents/checkouts/cases_unstruc/e00_unstruc/f04_bottomfriction/c016_2DConveyance_bend/input'\n", "VARIABLES = os.path.join(DIRNAME, '../../src/variables.json')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "# Wrap the dflow_fm library with the python BMI api (taking into account fortran memory order)\n", "fm = openearthtools.modelapi.bmi.BMIFortran(libname=LIBFMNAME, rundir=rundir)\n", "# Initialize the model with the input file\n", "fm.initialize('bendprof.mdu')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "xk = fm.get_nd('xk').copy()\n", "yk = fm.get_nd('yk').copy()\n", "flowelemnode = fm.get_nd('flowelemnode').copy()\n", "netelemnode = fm.get_nd('netelemnode').copy()\n", "\n", "\n", "netcellcoords = []\n", "for elem in netelemnode:\n", " elemx = xk[elem-1]\n", " elemy = yk[elem-1]\n", " cell = np.c_[elemx, elemy]\n", " netcellcoords.append(cell)\n", "\n", "flowcellcoords = []\n", "for elem in flowelemnode:\n", " elemx = xk[elem-1]\n", " elemy = yk[elem-1]\n", " cell = np.c_[elemx, elemy]\n", " flowcellcoords.append(cell)\n", " " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(1,1)\n", "nodes = ax.plot(xk, yk, 'k.', label='net nodes')\n", "Xflow, Yflow = xk[flowelemnode-1], yk[flowelemnode-1]\n", "netcells = matplotlib.collections.PolyCollection(netcellcoords, edgecolors='black', linewidths=1, alpha=0.4, facecolor='red', label='netcells')\n", "ax.add_collection(netcells)\n", "flowcells = matplotlib.collections.PolyCollection(flowcellcoords, edgecolors='black', linewidths=1, alpha=1, facecolor='black', label='flowcells')\n", "ax.add_collection(flowcells)\n", "ax.autoscale()\n", "ax.legend()\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 31, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAD/CAYAAAAe7cpbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXt4FEXW/789MyGEhCRMJEQSI2CiokguBpSXi8jFCxdB\nRFdkZQmor6iricDy/niXXXyj8gIbBNcIu3FhdxVXFiVZvCN5gxJQCYQoGNEkgFxDTCaZQCDJXPr3\nR5jZyTCXnu7q6e7M+TxPHuiZ6lNnZqrrVJ1Tp4rjeZ4HQRAEQQDQKa0AQRAEoR7IKBAEQRBOyCgQ\nBEEQTsgoEARBEE7IKBAEQRBOyCgQBEEQTgxSbm5oaEBBQQHMZjM4jsP48eMxadIkXLhwAa+88goa\nGhrQt29f5ObmIjIyEgBQVFSE0tJS6HQ6ZGdnIy0tjckHIQiCIKTDSclTaG5uRnNzMwYMGIC2tjYs\nWbIEixcvxq5du9C7d29MmzYNxcXFaG1txezZs3Hq1CmsW7cOK1asgMlkQl5eHtatWwedjiYsBEEQ\nakBSbxwbG4sBAwYAAHr27ImkpCSYTCbs378fd9xxBwBg7NixKC8vBwCUl5dj5MiRMBgMiI+PR0JC\nAmpqaqR9AoIgCIIZktxHrtTX1+PYsWNITU2F2WxGbGwsACAmJgZmsxkA0NTUhNTUVOc9cXFxMJlM\nHuWVlJSwUo0gCCKkGD9+vOh7mRiFtrY25OfnY+7cuYiIiOjyHsdxPu/19X5mZiYL9QiCIEKGiooK\nSfdLduZbrVbk5+djzJgxGD58OIDO2UFzczOAztlBTEwMAMBoNKKxsdF5b2NjI4xGo1QVVElZWZnS\nKohGy7oDpL/SkP7aRpJR4HkeGzZsQFJSEiZPnux8PSsrC7t27QIAfP755xg2bJjz9T179sBqtaK+\nvh51dXVISUmRogJBEATBEEmrj44cOYLf//73SE5OdrqBHnnkEaSkpHhdkrpt2zaUlpZCr9dj7ty5\nSE9P9yi7pKSE3EcEQRABUlFRISmmIMkoyAkZBYIgiMCRahSYrT4iulJWVoZRo0YprYYotKw7QPqz\n5sKFC2hpaQHgf+EIAJjNZmccUYuoWX/HGD46OhpRUVGy1EFGgSAIrzgWhlx99dWCDIKjrJZRu/48\nz8NkMqG9vR1xcXHM5VMqsUyoaaQXKFrWHSD9WeLoeIQaBEJ+OI5DXFwc2tvbZZFPRoEgCK+QMVAv\ncv02ZBRkQstrnbWsO0D6E4QUyCgQBEHIzIkTJxAXFwe73a60Kn4hoyATavILB4qWdQdIf0IYaWlp\n+OKLL5RWQ3WQUSAIIiThOA4qTdNSFDIKMqFlv7CWdQdI/1AiLS0NBQUFGD16NAYMGID58+d3WZXz\n6aefYsyYMRg4cCDuueceVFVVAQCefPJJnDp1Co888giSk5Px2muvXSG7rKwMQ4YMweuvv44bbrgB\nN910E95++23n+y0tLViwYAGuv/56pKWlIT8/32lk7HY7li1bhtTUVGRmZmLHjh1dZLe0tODZZ5/F\nTTfdhCFDhuDll192upaOHj2KKVOmYMCAAUhNTcX8+fOZf2++oDwFgiBEk5OTg9raWkRERKCwsDDg\npC+p93Mch3/961949913ER4ejnvvvRf/+Mc/MHfuXHz77bd49tln8Y9//AMZGRnYsmULHnnkEZSX\nl2PDhg346quv8Oqrr2LMmDFe5dfX1+P8+fOoqqpCaWkp5s6diylTpiA6OhpLlizBhQsXcPDgQZhM\nJjzwwAPo168ffvnLX+Jvf/sbPvvsM3z++efo1asX5syZ02W10NNPP434+HgcOHAAra2tmDVrFhIT\nE/GrX/0KL7/8MsaPH48PPvgAHR0dqKysDOg7kQrNFGRCy35hLesOkP7BpLa2Fnv27MHOnTuRk5MT\n9PsB4IknnkC/fv0QGxuLu+++G4cOHQIA/O1vf8PcuXORmZkJjuPw8MMPIzw8HPv37xcsOywsDIsX\nL4Zer8eECRMQGRmJ6upq2Gw2FBUVYdmyZYiMjMQ111yDp59+Gv/85z8BAMXFxViwYAH69++P2NhY\n5ObmOmcR9fX12LlzJ1566SVERETgqquuwpNPPolt27YBAHr06IETJ07gzJkz6NGjh3P36WBBMwWC\nIETjOD8lIyMDa9euDfr9ABAfH99FXl1dHQDg5MmT2LJlC/785z8737darc73hdCnT58uxwVHRESg\ntbUVjY2NsFgsuOaaa5zvJSUl4ezZswCAc+fOITExsct7Dk6ePAmLxYLBgwc7X7Pb7c4yy5cvx8sv\nv4yJEyciJiYGTz/9NGbPni1YZ6nQTEEmtOwX1rLuAOkfTAoLCzFt2jRs27ZN1H5BUu/3hMNNk5SU\nhOeffx7Hjh1z/p08eRL3339/l3JiiIuLQ1hYGE6cOOF87dSpU+jfvz8AoF+/fjh16lSX9xwkJiYi\nPDwctbW1Tr1++ukn7NmzB0CnkVu7di2+++47vPLKK1i8eDGOHz8uWtdAIaNAEIRoYmJisGnTJtEd\nutT7PeFw08yZMwebNm3CgQMHwPM8WltbsWPHDly4cAEA0LdvX9GdrV6vx/Tp0/HSSy/hwoULOHny\nJNavX48HH3wQADB9+nT86U9/wpkzZ9Dc3Ix169Y5701ISMCdd96J3/72tzh//jzsdjuOHTuGvXv3\nAuh0PZ0+fRpA5/fDcVyX2YrckFGQCS35hd3Rsu4A6R/qOGYA6enpWLt2LZYsWYJBgwZh2LBheOed\nd5zlcnNz8Yc//AEDBw7E66+/7lOWJ1auXIlevXohMzMTkyZNwsyZM51unjlz5mDcuHEYM2YMxo0b\nh6lTp3aR9frrr6OjowMjRozAoEGDkJ2djfr6egBAZWUl7r77biQnJ2P27Nn43//9XyQnJ0v+XoQi\n6TyF9evXo6KiAtHR0cjPzwcAbN26FSUlJYiOjgYAzJo1CxkZGQCAoqIilJaWQqfTITs7G2lpaV5l\n03kKBKE8Z8+eVf2uoaGKt99G6nkKkmYKY8eOxdKlS694fcqUKVi1ahVWrVrlNAinTp3C3r17sWbN\nGixduhRvvPGGJlK+xaIlv7A7WtYdIP0JQgqSjMLgwYOdx2y64mnyUV5ejpEjR8JgMCA+Ph4JCQmo\nqamRUj1BeOS1117D1KlT8dBDD8FsNiutjqahjF/1ItdvI8uS1E8++QRffPEFBg0ahDlz5iAyMhJN\nTU1ITU11lomLi4PJZPIpx/UEKsfoSSvXWtZ/1KhRqtLH9fq2226DyWRCSUkJzp8/j2uvvRZmsxkH\nDx5Ea2sr+vTpg2+++Qbnzp0DAIweNQr33HsvzGYzIiMjkZaWht69e+P06dOIiorC2LFjYTQa8e23\n34LjOMU/n9q+/8GDB6OxsRFGo5G20VYJPM/j3LlzOHv2rHO1k6f+RyySz2iur6/HypUrnTEFs9ns\njCds2bIFTU1NWLBgATZu3IjU1FSMHj0aALBhwwZkZGTgtttu8yiXYgrdA0fGalhYGPLy8mCz2dDc\n3Izm5maYzWaYzWa0tLSgpaUFZrMZTY2NaDGbceH8ebRevIiLFy+irb0d7R0dsFgssNntMOj10Ol0\n0HEcdBwH8Dx4dK71ttntsLq5JTkABr0e+sv3AACPzofLxvOw2e3g7XYYDAb0CAtDeHg4Inr2RK9e\nvRAVGYne0dGI6dMHfYxGREdHo3fv3oiJiUFMTAxiY2Odf2vWrMHp06fRq1cvUdm5aiXQ4zgJ+RBy\nHKfqzmh2fRDGjRuHlStXAgCMRqPzaD8AztFHd0Vt5+wGgljdrVYrvvvuOxw8eBCHDh3CocpKVB46\nBKvVCgAYM2YMehgM0HFcZ+fC87DzPOyXO3K7wPGJ1WYDbDbBevEALDYbLH7usVitsFitaL10yWsZ\ng07XaVx0OmcH6TAuFosFjk9w8003YfSoUUjLyMAtt9yCW2+9FQkJCYL0VVvbiYqKCug8YLXpHyha\n118qzI1CU1MT+vTpAwDYt2+fcylVVlYW1q1bhylTpsBkMqGurg4pKSmsqyeCgM1mQ1VVFSorK3H4\n8GF8e/Agjh49ClNzc+conuPQYbHA5tbJ8zyPdoslaHpyAFh7Xa0eZiKeuHjpEj797DPsKi2FXqdD\nu9WKsLAw9E9IwODBgzEkLQ1paWm49dZb0bdvX8ZaEoR4JLmP1q1bh6qqKrS0tCA2NhYPPvggqqqq\ncPz4cXAch/j4eDz++OOIjY0FAGzbtg2lpaXQ6/WYO3cu0tPTvcom95Hy2Gw2HDlypEvnX3v0KBpN\nJuj1eug5Dh1WK2zdeBWZXIQbDNDpdOiwWhHeo0ensbj5ZgwZOhRDhw7FsGHDuvVMmpAPqe4jyTEF\nuSCjwB5vO1LyPI8ffvgBlZWVOHToEL45eBBHa2vxs8kEPcdBr9PBYrUKGiET0uhpMIBzGIvwcCRe\nfTVuGjIEtwwdivT0dGRmZjoHWYD0XUaJ7ofqYgpEJ2r0Szp2pASAiRMn4ur4eNTU1ODnxkboOA6G\ny52Ra+cv3HPPBvcwpq8Ri2tZx4EpvsrrOgs6g3X+RkOB6MKKtsvxF6DTBVV99Ciqjx7Fpx9/DI7j\n0G61olfPnkjs3x83DxmCAwcP4qeffgLQaSA2bdoUBC19o8a2Hwha118qZBS6OTzPo6KiAlu3bsUB\nly2Dj9XWXpEn0iFD/d78+hy6nnzlKBNIx+taVsiE195ZUJR8V7zp7vo+awPS5hKLuXDxIn6oqcGP\nNTXOejiOQ92ZM/jLX/6C+++/n1xPhGjIfdQNaWtrw4cffoh/bduGL3bvRltbG3ie77L6hnXH5RhV\n816ulUCOzjkQdG6zl2DoE9GjBzqsVgxMTsbkadMwc+ZM3HzzzTLXSqgJiikQAIDTp0/jvffew7+2\nbcPhqioYdDq0Wyxel3mK7bTV2PmrgUA6fB3Hdfld5DIWPQwG8AB6R0biznHjMH3GDNx1110ICwuT\noTZCLVBMQaXI7ZfkeR779u3Du+++i08/+ghn6+sRptM53Qz+Fn4K9af76/xD3Rg4COR7cDfUjivW\nxqLjcnzCZDajqLgYH374Iew8j8z0dEybMQMzZsyQZTms1n3yWtdfKmQUNMTFixfxwQcfoHjbNuzZ\nswftHR3g7XanW8gWQEKXN5Ts/DkAuJzUJqROh65CgsyeygdSB1wyp+VCqLEQK7utozNq9FV5Ob75\n5hv89re/RXJiIiZNnYqZM2f63LWYCB3IfaRyTpw4gXfffRfbi4pQdeQIwvR6tFkskjbDCrav3Zuh\n4YLQ0cqFrwC61j5PD0Pn2LBXr14Yc8cdmPHAA7j77rsRHh6usGaEGMh91A1wXWv+5z//GYcPH8a2\n997Dpx9/jJ8bG2FwcQtZJc4G5Oy0Aok3cJB/B045P6s3uXK5gnzhKltMPQ43U0dLCz744AN89umn\nsNntSBs6FPfdfz++/fZbnDlzhnIhQgQyCjIRiF/SNX8gNSUFBr2+c2O3ywaApSFg0TGxiDcEYzQd\nLJeXp3qCFTdwle34P+f2byDYeR6XLruZyisqcPjQoc6Z6eX3FyxYgLffftunDK375LWuv1ToOE4F\n4Xke77zzDioOHHC+ZrPb0W6xiDIEnMu/rolXYjsddzkcOhsMjys7IjW7TOTc11NMp+vpfncdpejs\nOgCQ+tkvuRgEANj52WeY+6tf0Vko3RiKKShAe3s7CgsL8eratTh//nyXTeLEjhy16Mt2JdDsYdeg\nMXgeQjfgcA9m+6tLiazmYCClvRj0egDAiNtuw+9eeAG33norM70I6Sh6HCcRGGazGcuXL0fqddfh\n5bw8NJhMV+waGsiDymI24MC9IbAeXbvPOtzh3f784ShnD8AgOO+7HNwWUlcgegXjpAHO7V+xuM4i\nApVltdlgtdmw98svMenee3HHqFH49NNPJWpEqAUyCjLhes7umTNn8Oyvf40bb7gBf3r9dVy4eLHL\ntgVCYTFqdXcHOXDvWOV2OXnSgTXBPg6GtSvIkyFl6RqSKsvG87BYrThcVYVfPfooMtPS8Pbbb2P3\n7t0SNVOWUD8jmwLNMnLkyBG8+D//g8927gTH8+iQGDCW0lF7CjxKnV24r3rxJNPfCFtOd4ycsn25\nX7wF3N3vcc2XECLH1/tSVyBJ+a54dK5gOn7yJBbm5qJnz554ftEiPPHEE7SsVYPQTEEGvvrqK6x4\n8UXcMXo0duzYAYvVGrBB8DRyEzOak2PlEedypKUDtQSbvX1vrGcNYj7rFcbiskFgoZunFUisZAdC\nu8UC8/nzWPHii0i97josX74cZrM5yFpII5RXHgFkFJjB8zw+/PBDjPqP/8C0++7D1+XlsNhsAZ9B\nIHVPIhYrj/z6/mVamyC08+Zc/zjO7+d1N1gcOpeGBlqfXMjxbbJ0M4mhzWLBhYsX8afXX8eNN9yA\nZ3/9a5w5c0YBTYhAkeQ+Wr9+PSoqKhAdHY38/HwAnYd8v/LKK2hoaEDfvn2Rm5uLyMhIAEBRURFK\nS0uh0+mQnZ3dLdLqbTYbNm/ejPxVq3Cuvt6ZCCQUd9eOGFcLi9mAv7XtrFY3BeJ28UaXciIMVKCG\nTUhJf64gKbB0DUn9HQO9v/3y8/DPd97Bli1bMHHCBPz2d7/DjTfeKEELeaE8BQmMHTsWS5cu7fJa\ncXExhg4dinXr1mHIkCEoLi4GAJw6dQp79+7FmjVrsHTpUrzxxhuwa+wkr5ycHEydOhUPPfQQzp07\nh7Vr1+KG1FT81+LFOHnmTEAGgeVSR5axAVbdmnuw2d8MSI7RbDBHyN5cQWpzDbFKlAu07g6bDRar\nFTt27MAdo0dj8j334KuvvuryTGnNzdRdkTRTGDx4MOrr67u8tn//fixfvhxAp9FYvnw5Zs+ejfLy\ncowcORIGgwHx8fFISEhATU0Nrr/+eikqBBXXzOMhN9/s3IdIDIF2wixG6t5kCF0CKkSmI2M30IC2\nnC4Ulvj7HQQHmf3I8UUX15CIGYqnugPVR+zMxeFO/bq8HNPuuw9hYWG4eOkSAPWcHBfKswRAhpiC\n2Wx2niEbExPjtP5NTU2Ii4tzlouLi4PJZPIpy3VpWFlZmeLXrj5Rm90u2iAEgtSRpuuoMhgdr9Td\nPKXgzffPMiYgtSN3vWYyi/BzXoZgOYzuE3q//fJyVodB6NGjB+6++27n+2p43rV8LQXJGc319fVY\nuXKlM6aQnZ3dxdo7rjdu3IjU1FSMHj0aALBhwwZkZGTgtttu8yhXTRnNFy9exNNPPYWPPvywy+ll\nQlEq25hlvWrJmO7ilhK4ZbYnGY7MZqFbaAcLf7EdMbKCea9Q/d3fN+h06NmzJwrWr8fUqVNF1MwO\nrccUVJfRHBMTg+bmZgCdswPHjopGoxGNjY3Oco2NjZo4R/bAgQO4NSMDH3/0kUeD4GtkJHYlEStY\nrjxi+Rm8JdAJgXf5c3dTBSLD7nK/2JVe3q7FyoGLLg7XkBRYxKkCnQGIjU1Z7XZcuHgRj82fjyef\neALt7e0BSiBYwdwoZGVlYdeuXQCAzz//HMOGDXO+vmfPHlitVtTX16Ourg4pKSmsq2cGz/N48cUX\nMfnee1H/889eg8hiVgt5g2VgNBBZcrmY3HXQeclv8HUPy/pZ4c0V5C24LlTOFe+77abq6f+BIraT\nZ1G3L7kOLFYr/lVcjFszMvDNN98wqi0wtDxLYIEk99G6detQVVWFlpYWxMbG4qGHHsKwYcO8Lknd\ntm0bSktLodfrMXfuXKSnp3uVraT76OTJk5g9axaqf/zRuaQuUALpYJV0zchRN4uTwtSGFHcKRN7r\nT64UNxOr++WC4ziEGQxYtGgRFi5aJHnWFEpIdR/RLqlubNmyBc/n5sLS0RFw4pknfD08Sj2QSt8v\nB74S2BzxA62e8uYPKTkSLGMYgdQnlHCDATfdfDPeevttXH311XKp1QWKKRAAgNbWVvzykUfw3K9/\njUttbYIMgpCxi7dEMG/vCamP1VpzMXX7Sm4LBg63jI7jujRe11iDO45kNfcloZxLVrOS41CpriEp\n4zrW+SmA788Q6KqrdqsVhw4fxvCsLGzbtk2iZoQQyCigc6+izLQ07Ny5M+CMZDEE4lZy/ZdFjEJM\npyMkuU2qbjqB7gHXILOUeZyroRAabBYTN/Akw5Murv8Xk5zmLfithLHzGytx+b8Q/aw2G1ovXcJT\nTz6JednZuHjxogTt/KPlWQILQtoo8DyP5b/7Habddx8aTKaADYLQjiRQ3O9hOaPwt0zQE1JdTa54\nCjYDV+Y3sOjMWHeI7sbDcR2IsRDyXboaYKHG0pcMsfirmdWgQygdVis++vBDZGVk4IDLaYUEW0LW\nKPz0008YNWIE/rRhAyxWa8CjdxZIXZ3iLkeKe0mulUdik9tY6BKs+IEvYyEV9/OcfenAGjEJbYHO\nAgLVu8Nqxbmff8bke+/FSy+9JMt+U6F+nkJIGoW33noLI26/HdU1NQGtLhLTcYpZsirWQLFYl86K\nYAd0XWMEHt+D7xG8HPiKvYiKHUjQxZMOUuuVY0WVEHh0GofX1q3D2NGjcfr0acaahDYhcchOTk4O\namtrERYWBtjt2Lt3r2BXkRB/unt5oWWF1CnkfSlLXwM1dEovnwUur7YBuqwmclx7wtfqL/eVO946\nclaf2d01FOjSXRa6uM4AxMoScq+YAVQgOrVbrfj+yBGkp6dj0KBBuPbaa1FYWOhMmBVLqMcUQsIo\nuG5kF4xOTe7VQYH6i319ZqGGTo5li+7y/Ml3fm5GLgNHsFlIOXdjz8L4u7uGpHbWgd4npD6Wv3mg\nhkRIeccqwerqalRXV6tmUz0tE3LuI5buHwe+1sj7Ky8n7h2XqI7GMSoXeb9HmV7kKeWOEILQILMU\n+a7/FxOoFhMDECozkHuCyRWrrhgMGCim0M1paWnB0Zoanw9Kd82VZBKsFfGQsQqgSyUY9bgbC5Zy\npd4bzGWpgQaVpQShfeXMfPTRR/jD6tUCpBPe6NZGwWq1Yvp996GxoUHUaEgowZxNBNOAiVknr0TM\nQUggWalgs6NuT/+XIkcInuJH3mRqaWDka+baYbVi9erVeO+990TLD/WYQrc2Co/Nn4/vq6rQIWK7\nawdqe1jEugjkJNBgvFCZnl7j8O/zlR3wbn+e8FZG50Gee31S8eYaEtvJB3q/kN/E38IGFnUEUl6K\nsbJYrXjmqafw9ddfi7ib6LZG4cUXX8QnH38sekM7B6xXnfgikNmEVL2kPuiBznyE6uEv8Y6H+C2z\nPeG6hba3+gJJThOC+woksfe76iPmPm+vSUWqIWUxyOiwWPDQzJk4duxYwPdSTKEb8s477+CPr74a\n0LLTQFHTSN0VoVmowXCZidGD9eomFvf4CjJLRcpusu4dp9Df3t9r3uoRitDvRkwwPRAdLl66hKmT\nJtHZzwHS7YxCWVkZcp57DpYAZghiGqG/hi9XcpLYIK5YYyCX8QtWEFjOezyVFeP2YBU/Yv3b+5Il\nVRdvsSeW7c1mt6OhoQHTpkyBNYD+gGIK3YiamhrM+sUv0CHD2cneRpDeUNPSVEC8MZDLiLD67EID\nyMEKNLuO3pU8OU2oHDErgli5zvzpw4IOmw0//PAD5s2dy1hy96XbGIWmpiZMnTwZbTIc4ydmRY1c\nqzrkMjbu+orKaQjgPimfw9uW2f46P0/l/K1WEqsjAK8np3nSjQXBGmQIDRILfV0sQuW1W63YsWMH\n/ueFFwSVD/WYgmwZzU8//TQiIiKg0+mg1+uxYsUKXLhwweupbFKwWCyYMmkSTCYTbAwOxnFF7BJL\nIYEyoR0jy05DzgA2az29yWP5C/sbsfozkiyNoBDEtge5f3uh9bBsz66zFn8yO6xWFBQU4LqUFMye\nPZuRBt0TWbe5WL58OaKiopzXxcXFGDp0KKZNm4bi4mIUFxdL/oF4nscvZ83C0dpaWCQsPfUqX2A5\nsbMJOXzrYjowKZ8z0M/hr7wSHai3snLHPgL97oLxvUkh2PoFItNitWLh88/jmmuuwZgxY7yWo5iC\njLhnw+7fvx933HEHAGDs2LEoLy+XXMd//7//hy+++ELw0lM5prBSZhNiA8fuOkhBspskwLqC1Xmx\n6mz9ISU5zX1GoqbAvlTXmlTkqKPDYsEjs2ahurpaBundA9lmChzHIS8vDzqdDhMmTMCECRNgNpsR\nGxsLAIiJifG7VMz1rFSHn2/UqFHIyclBRUUFzGYz6s6cETRDYLkCwx01uFyk4Nox+ZtlSHVdsPy8\nYZddk112G+U4tHd0dPlMPcLCAJ4Hx3HQXd7LyWazSUpqdMV9uaoYwxfMmZpQAp1xsn7GAnEPBUJb\nWxtGjxqF61JSkJiYiMLCQhw6dAhAZ//iGlPw1P9o4VoKHC/HKRXoDPz26dMHLS0tyMvLw7x587Bq\n1aouOxhmZ2d73dGwpKQEmZmZHt+bOnWqc9fT7ozjYWf10AdzlM4CDkDPsDDwHIcOiwUcx8FmtyMi\nIgIPPPAA+vbti+joaMTExCA6OhqxsbGIjY3Fc889h++++w7p6enYsGEDrFYrzGYzzGYzmpubYTab\n0dLSgs2bN+PEiRPo2bMnjDEx+LmxEeB5hOn1sNhssrgjA/nscv5WvpaEChkkBCpXzUybNq1LP+Q6\nGNUiFRUVGD9+vOj7ZZsp9OnTBwAQHR2N4cOHo6amBjExMWhubkZsbCyamppE73seERHh8XX3vfHF\nIEejZhGslqqXUg+rmHoNej1Sr7sON99yC24ZOhRDhw5FRkYGeJ5HTk4O1q5d67PtfPDBB4LKPfHE\nE13K8TyPY8eOoaKiAocPH8a3Bw+iproap8+dY9aulOrs3fFnELyVESPXG8Fuk57qu+aaa7B27dou\nr2nZILBAlplCe3s77JdHdG1tbXjppZcwc+ZMHDp0CFFRUZg+fTqKi4vR2trqNdDsa6bwf//3f3jw\nwQe9PqhqGq2opROQU76vMr7eC9PrwXEcwsPDER4RgYaGBtxyyy3Yvn275INSWPLQQw9h586dSEhI\nQExUFGqPHUOYXo82FzeVO/5G4mLeF/pby9Um5BowQQa5rvg6zGjgtdfiwMGDMtYefKTOFGQJNJvN\nZvzud7/QXq0tAAAgAElEQVTD4sWL8d///d/IzMxEWloapk+fjkOHDuG5557D4cOHMX36dFHy/7R+\nvc89Y/z5PB3/D0awTG7jJCRYLVU+vNQh5IF2f0/HcdDrdEhOTET2/Pl4/8MPcfzECZSXl2PatGlM\nDALrdeaFhYWYNm0avvzyS3y5bx9qamuxes0ajB83DpERER6T1KTGZuSMU4ltL462xrK9+Wpf/nC/\nx1uf4GsrkVOnT+Ogm1EI9TwF2WIKUvE2U2hoaMDNN90U0DYWgRCMkYtY1OTaEoPBYMCSJUswe/Zs\nJCQkyFZPMH3CPM/jrrvuwoEDB8ABCDMYBO+5RQhDztwMPcfh7rvvxltvv+18LdRjCprLaH69oECw\n0mJGHzzkGRF5I5A6pCwrlOuz+JLbQ69HmMGA8XfeiTvvvBPV1dVYuHChrAYBCK5PmOM4vPvuu5g2\nbRp+rK7G/65ahcSEBISHhQVNB496+bkOFlLqlTpAE3Kfjefx2c6daG5udr6mZYPAAk0ZBZ7n8be/\n/lVwToLUKbhQN5SYL1FKfoM/ua64B6vdCWQppCc83d/DYEB4jx546OGHcbCyElvfew/vvfeequIE\nLImJicGmTZsQFxeHuXPn4tvvvsMbGzfi5htvRJjBELQO2lWu++8i9XcWi7e4iZA6hTx/vhBaTs9x\nWL9+vcDS3R9NGYVt27bh4sWLTGWKnU24/t/Ttgv+Zhq+jI4YhBgZKQ9ZILoOGDgQP/z4I1794x/R\nv3//AO5kg9I+YY7jMHnyZOzeuxfb338f0dHRXd6X6vMPtBMNBJazZG8bAoo1WIGWF1quzWLBpjfe\ncC5cUbr9KI2mjMIf165Fu4AdUOV2yQiVGyw3FItpNqus6LS0NHy6Y8cVHWGoctttt2HY8OEAOuMN\nYXq933t8/Y7BiAFJHbA426MM53sHWk4o5y9cwAcffMBYqjbRjFH44YcfUHXkiKCycrtkvJXx5p6R\nezUUi1mH2FlEmF6P6Kgo/PnyCp3i4mLF3URq8wk7Vi99e+gQpk+fjjCD//QgMS6VYA0+vF07kHPl\nlJg6hHwvHRYL1r3yCgD1tZ9goxmjsCY/n+kogvVsQkzH7O6G8uZ/VSpICHTVyV2PML0et99+Oyoq\nK/HAAw9g06ZNihsENeKIOfTr1w9/KizExk2bYPAQa3AgdpsMVoMhb8uPpbp9hLblYMQ1PJX59tAh\n1NbWMq5de2jCKLS2tuL97dsFbzsgNqNTCnI1dlc3lBRYGFT37+ymIUPwr/ffh9FoFKmVPKjdJzx5\n8mTceuutXg2uUsuhfcWlWMUrWD+bLJ87DsAra9aovv3IjSaMwsaNGwGB/km1zyaEEOgqISFuKNbT\n8pSUFBQXFwssTbjTu3dvAJ2ziB56vexZ6UJgFUtgoYtQWD53FpsNRUVFaJfhoC4toQmj8Of169Em\n8IhNlp0f62V8gTycgRBMN5TDZfTZZ5+p1lWkBZ+wI85w8OBB3D5iBMIFxBn8IdTt4+8eMWXgp55A\nygRSL/Nnz2YL+W21VZ3R/Pe//x0HDhxA1XffMV++yWoPmWBmBLOoV4q+Br0ef8jPx5w5c0RKIDzR\n3t6OO++4Az9UV0tasSP3bEOtzwJrwnv0wOgxY1BYWKjagY8vunVGc21tLb5zMQiO0S7HcZJGvWqd\nTQQympczy9OhizsDBw3ShEHQmk84PDwcH378MQxuswWh7cHX7NAf3WEWIAXO7Q8A2js6sHPnTuTk\n5ARBA/WhaqPgvkW2o/HzPC9pIy0lkGsFkzekuovc9YiIiMCOHTskSCR80adPHwy/nM/gQGp7YD2o\nUbORCRTX2ZXrn4OBAwdesaV2qKBqo1BYWIie4eE+y0gNjPmbdTgeBp3E2YlQfViUAYR3KELr3LFj\nh2am0lqIKXjirbfeQnJyMgw6No8ly+XMcqwccsd9xO6rjNTn0ZeeOo7Do48+qpn2zhpVG4WYmBhB\niT5icZ91eC2Dzu13WU+PPdXFokwg9QuRl56WhptvvlmgREIsMTEx2LJlC+BjW3gHUtxKasXTiN1b\nmUCfRwdCvjeDTofz58+LkN49ULVRAIBLbW2CyqnFR+nAa+bp5RGOv9GQjuMk/TisOoOeYWF48qmn\nGEkLDlqLKbhyww03IPHqq/2WC0ZnH8jIXWk3LstBUIfNhvr6einqaBpVG4XW1lbY7J62m7sSoSMn\nVojekuLyCMffaMjO8x432gs2FptN0koGInB69e7t8xApOXFPohM6clc6z8Lb5ntiOXfmDFN5WiLo\nRqGyshI5OTl49tln/SY/nTlzRtAGYoDnnUrFotQDKQeeVlf4K+v6+W12OxYuXCibfnKg1ZiCg9jY\n2C6nhQmZXQJs/O1ybpUhpgwgTCdfp6uJ4eeff2YqT0sE1SjY7Xb85S9/wdKlS7FmzRrs2bMHp06d\n8lr+7Nmz0AsIurHuwoU0MNZLUeXC2+oKX2VdP/+1114bsqswlCIyMrLLtZDZJRAcf7vcS6alwPI5\najKZGErTFkE1CjU1NUhISEB8fDwMBgNGjhyJ/fv3ey1/9uxZ5tNCfygxR1CrgdFxHFasWKG5VRha\njikAwLx58xAncD8pLXfkLPb0ChSh9bVcuCCrHmomqEbBZDLhqquucl4bjUaYfFjkr7/+GnYBMQXW\nK3JYoUSGJ8vvwqDXO4/OLCsr69LZ0rV811FRURiQnAwhsFp2LBQ1d+Qsn7XWixdV0x7EXEshqNtc\nfPXVV/jmm2/wn//5nwCAL774AjU1NZg3b94VZUtKSlBcXIwNr78Oq8Bgsz9YdtJaT/vXwX8cpofB\ngLK9e5GSkhIMlQgXsufOxb+2b1daDY9ove0LgQNQd+4cwhQ+a1sMmtrmwmg0oqGhwXnd2Njoc9vl\nLVu2qNIgQKAstbqFAGGBeTvPIyoqinHNhBAcu6iyQstuJkABty7HYcaMGTCbzcGuWXGCahSuu+46\n1NXVob6+HlarFXv37kVWVpbX8ixXAKh51BLslH+hD5jdbmfeOQUDrccUysrK0CsykukquGC3MdbP\nW9DdsDyPPXv2hOT+R/KlC3tAr9dj3rx5eOmll2C32zFu3DgkJSUFUwXBeHsc3RunjuPgOOuB91JG\nbQjVz87zsAjcspxgx2uvvYaqqipRO6aqGfdnyv3TeXrmlPwGkpKSQnLlXVCNAgBkZGQgIyNDUNno\n3r3RolC6eSAdZyC4Jwd5ey9QPeQiNzcXmzZtUliLwNB6nkJra6vPpdrBQMigyDV3QsiASMiSWrWg\n1+mwdOlSza28Y4GqM5qTExMFlWPpb5Tbd+krZ8A9p0AND0kojpSUxrE7sJIplJ7aont75NEZm7J7\neV/LhIeFoVevXkqroQiqNgpCp89McxkYylI6cU0qOp1OkyMlrccU5s2bh8GDB8u6GaQ3gp4Lw1AW\n88UYjBa5aA11GwUF6uS6mR9XCsFOHCQ6iYqKwowZMwR9/1r/jdQc3A5VVG0UQB00IQKtxxQC0p+e\nEYIx6jYKCsB06afGR3GE+tF6CyOTpj5UbRSowRBi0HpMQe36h8pgh2IKaiQEpsbd/xMShAYJgb7H\nG6o2Cj8JXKvNci91lk2B9R7vwcZms2kyzV/rMYV3330Xb775JjqsVr9lWY9llTi7QI20WSxYu3at\nJtu/VFRtFC5euqS0CiFPKKb5K01tbS1OnDjR7TKatYSd53H48OGQbP+qNgquuJ8g5smr6amM0HKE\nZ7SYvKZ2n7w/2gSeS65l5Hx+OXR2bO5/PuVwnPPPQWJioibbv1RUbRR6u+zQ6Su7kvNRRiuZw2pE\nq8lrWmfhwoUYPHgweiiQvBYshD6XYp5f10xr1z+fcnje+Qd0bnOxePHikGz/qjYKiZcPePEHy9UQ\nTLfM0PgqDa3qr/WYwj333KNY8poQad3pDHNv0DYXhCxofZsLQv1Q+yFYQ0aB6HZoPaagdf0JbdMt\njALLVRo08iII39Dz1r3pFkZBrdCSQmXQekxB6/orBRkYNjBf3rB161aUlJQgOjoaADBr1iznoTpF\nRUUoLS2FTqdDdnY20tLSWFcvHZeT1AiCIEINWda8TZkyBVOmTOny2qlTp7B3716sWbMGJpMJeXl5\nWLduHXQ675OVE6dPC6pPrVnIwT4XlzWOjGatLcsrKyvT9Gj74YcfxpEjR4RlNDMewGj5LGeWsto6\nOvDqq69i4sSJmmv/UpHFfeTJbVJeXo6RI0fCYDAgPj4eCQkJqKmp8SknlDOapSboeUre8ZjA45K0\n4568A1BGsxKcOXOmS0azlKQuIeWIK6GMZsZ88sknWLx4MdavX4/W1lYAQFNTE+Li4pxl4uLiYDKZ\nBMu8IvPQVxkE/vCojUASdzyV85S84zGBxyVpxzV5x4Ejo7OsrKzLqhg1X48aNUpV+gR6neCWnyMl\nqUtIOTUhdLDjeN9ftrLOT3+h47jOMi7XDq666ipNtn+pcLyIaGheXh6am5uveH3WrFlITU11xhO2\nbNmCpqYmLFiwABs3bkRqaipGjx4NANiwYQMyMjJw2223eayjpKQE90+fjvMXLgSqniQ4qO9BUQqd\nToeGhgal1Qg5zGYzJk2ahNrqakEuJII9ep0O+WvWYM6cOUqrEjAVFRUYP3686PtFxRSWLVsmqNy4\nceOwcuVKAIDRaERjY6PzvcbGRhiNRp/3JyYk4IgfFxOg3o5ciF6sdWdZp1YzmrUeUzh06BBmzJiB\nP6xa5besmtuPEHQcxywuwlIWZTQzpKmpyfn/ffv2ITk5GQCQlZWFPXv2wGq1or6+HnV1dUhJSWFd\nvfZQYJsCgiAIbzBffbR582YcP34cHMchPj4ejz/+OAAgKSkJI0aMQG5uLvR6PebPn6/ZkSjT0Rkt\nf2WOlmcJQKf+X3/9tdJqSEatM3jCN8yNwjPPPOP1vRkzZmDGjBmsq9Q2jPMieMqzIGSG6TJSaquq\nI2QympWYkwhq7vRQMEfrewdpXX9C24SMUQgVtOmQI9SClocoNOtgg6qNAsuMZqHNRcsZnYCwDFeh\nddIZzcoQyBnNau4GtfwsOTKatdj+paJqo9BdMprFJtV5S8xxzVD2KutyUo7rn6fAvnsZ9wNUQjGj\nU2ncz2hmmZTJOju6u0IZzYSsiM009ZaF7Jqh7FUWz8Pu9udpeu1exn2mocUzarXuk3c/o5nlMbOs\ns6O1ghjDl5SUpMn2LxVVGwXXM5oJYbAczdEZzcoQCmc0B5tADZ9ep8OiRYtCsv2r2igIPqOZURnW\nspRA0Lm+DGWpEa3HFAI6ozkI+ohFrc+lkHKU0Ux0G2gFBkEQUiCj4IagLlWjI+hQQesxBa3rT2gb\nMgoEQcgDDZ40CRkFMZCLRtVoPaagdf2d0HOiScgoiIFGQATBBDIb6kPVRkGJjGZB9al4BMTyu9Bq\nRrPWffIPP/xwyGQ0s5TFctcCymhWKVIymoOV+SnkHGRn5rGPs5ABz9nF7hnG3srJJSsUMzqV5ooz\nmj2co+2p/XR5H8HJaA62rGARyhnN3TY7xtdogOWow1PGsdcyfmYYQk+NElKOlSwtZnRq3SefkJCA\nw4cPO6+FzkyFlGM5mhZajnWdweKaa67RZPuXimij8OWXX2Lr1q04ffo0VqxYgUGDBjnfKyoqQmlp\nKXQ6HbKzs5GWlgYAOHr0KAoKCmCxWJCRkYHs7GyfdfSOigr6Gc3Ev6GMZmUoLCykM5oVRq/TYeHC\nhSHZ/kW7j5KTk7Fo0SLcdNNNXV4/deoU9u7dizVr1mDp0qV44403nCOYwsJCLFiwAK+++irq6upQ\nWVnpsw6hGc1CYDkVVXOYmWnmp0YD6lqPKTjOaA52RjPrXzvYulFGMxtEG4XExET079//itfLy8sx\ncuRIGAwGxMfHIyEhAdXV1WhqakJbW5vzXOYxY8agvLxcvOYEQRAEc5gHmpuamhAXF+e8jouLg8lk\nQlNTE4xGo/N1o9EIk8nkU9albrJ1tj+CPh4XOgNw8VGXlZV1GYGr+XrUqFGq0keM/sePHwdvFxKx\nIhywjEnY7Xb8+OOPzms1tQ8h11LgeB/Rqby8PDQ3N1/x+qxZs5CVlQUAeOGFF/Doo486YwobN25E\namoqRo8eDQDYsGED0tPTER8fj82bN2PZsmUAgO+//x7bt2/HkiVLPNZdUlKCZ558EkdqaqR9wstw\nHMdsKSkHtg2QpTwhsoR+F3q9Hj///DMTvYjAyM/Pxx9WrUK7xeKzXLDbjlLyBLVrgfUJKdcrPBxr\n//hHzJw5U4h6qqKiogLjx48Xfb/PQLOjAw8Eo9GIxsZG53VjYyPi4uKumBk0NjZ2mTkQBCvKyso0\nvQJJqZgIa6NAaBPm7qOsrCzs2bMHVqsV9fX1qKurQ0pKCmJjYxEREYHq6mrwPI/du3dj2LBhrKsP\nCvTgEIR/6DnRJqKXpO7btw+bNm1CS0sLVqxYgYEDB2Lp0qVISkrCiBEjkJubC71ej/nz5ztXUTz2\n2GMoKChAR0cHMjMzkZ6e7rMOoRnNQtB6FjJLWUK/C0dGs9aW5Wl5lgB0ntG8a9euoGc0qzmCoVRG\n88SJEzXX/qXiM6agJCUlJZgwYYLz2lM2rnvilacyQsuxlOWpnKdS7l+8t/CvkHJyyZo2bRo2bdrk\nRRohB1OnTsWePXuc12psF15leYhXeVtae0W5QOt0kStZlpdyWmz/UmMKqt7mwhV/Zwl7KyO0HEtZ\nnsrJfX6uXLK0mNGp9TwFtZ7RLEiWp7Z/+Xxw9z/JdbKU5aFccnKyJtu/VFRtFELljGa1pohRRrMy\n0BnNyqPX6fD888+HZPtXtVFQa0Yza4Ke+SkwT0GrGc1ajykodUazmn9vlrpRRrNvVG0UmKLiBh90\n1BlGIghCBYSOUSBCBq3HFJTMU1AtNJAJGqFjFFTcqNSrGUEQoUboGAU1Q64tpmg9pqB1/QltQ0aB\nIAiCcKJqo8A0o5mZJPawzB9kmflJZzQrg1JnNAs9rU8Jgp31T2c0qxTXM5q1dK6sGs6yZSUrFM+o\nVZorzmj28ueOltqY2vUP5TOaVW0UXFFFtqaK65RLlhYzOrXuk09wy89RY7uQKksL+lNGswqhjGZl\noYxmZSgsLKSMZoWhjGaVEjIZzUHO1hRam5ozXH2h9ZhCIGc0C0WIJG+bO6oBppnbAspQRjNBEARB\ngIwC0Q3RekxB6/oT2oaMQiiiYjcBQRDKIjqS9eWXX2Lr1q04ffo0VqxYgUGDBgEA6uvrkZubi8TE\nRADA9ddfj8ceewwAcPToURQUFMBisSAjIwPZ2dkMPgJBdIXOaCYI8Yg2CsnJyVi0aBEKCwuveC8h\nIQGrVq264vXCwkIsWLAAKSkpWLFiBSorK/0eyUkQBEEED9Huo8TERPTv319w+aamJrS1tSElJQUA\nMGbMGJSXl/u8J1QymllmkgrKaA7wjGatoeVZAtB5RrPQjGahCPnFKaP531BGM2Pq6+vxm9/8BsuX\nL8eRI0cAACaTCUaj0VnGaDTCZDL5lOOa0ezAW3ait/e9ZTKKlRdqODI6y8rKurg16Fq+69ra2i4Z\nzUTwcc9oVlP7EHItBY730fLy8vLQ3Nx8xeuzZs1CVlYWAOCFF17Ao48+6owpWK1WtLW1ISoqCkeP\nHsXq1auxZs0anDlzBm+//TaWLVsGAPj++++xfft2LFmyxGPdJSUlmDBhguQPSEjj2LFjmkvg0XpM\nYeLEiThw4IDSaoQ81157LXbt2qW59l9RUYHx48eLvt9nTMHRgQck0GBA1OVM5EGDBiEhIQFnz569\nYmbQ2NjYZebgid5RUTh/4ULAOmgNDup0b1FGszIsXLgQeXl5qK2uZupCIoSj1+mQm5sbku2fufuo\npaUFdrsdAHDu3DmcPXsW/fr1Q58+fRAREYHq6mrwPI/du3dj2LBhPmVRRrNLGaGyGJUBtJvRrOVZ\nAhDYGc1CoYzmwGSFckaz6NVH+/btw6ZNm9DS0oIVK1Zg4MCBWLp0KaqqqrB161bo9XpwHIcnnngC\nkZGRAIDHHnsMBQUF6OjoQGZmJq08IgiCUBmijcLw4cMxfPjwK16//fbbcfvtt3u8Z9CgQcjPzxdb\nJUEIQusxBcpTIJSEMpoJgiAIJ2QUuhlqDFgHGy3PEgDt609oGzIKBEEQhBNVGwXKaP43wc7oBLSb\n0ax1n3wgZzQLhTKaA5NFGc0qxVNGMxFcQvGMWqVxP6OZCD50RjNBeEGLZ9Rq3SfvfkYzoQwDBgzQ\nZPuXiqqNAp3RrCyU0awMdEaz8uh1OuTk5IRk+1e1UaCMZpcyLOsTWk7FGa6+0HpMQakzmtX8a1NG\nc/BQtVEgCIIgggsZBRVAAUW2aD2moHX9CW1DRoEgCIJwQkaB6HZoPaagdf0JbUNGgSAIgnCiaqMQ\nKhnNgs5VDnJ9gHYzmrXuk1fqjGatPyMsZVFGs0qhjGblCcWMTqWhM5qVhzKaCcILWszo1LpPvq2t\nDYC68wZCgVDNaBadMvnmm2+ioqICBoMB/fr1w1NPPeVM9igqKkJpaSl0Oh2ys7ORlpYGADh69CgK\nCgpgsViQkZGB7Oxsn3WEyhnNaoUympWBzmhWHspoFkFaWhry8/OxevVqXH311SgqKgIAnDp1Cnv3\n7sWaNWuwdOlSvPHGG85pcGFhIRYsWIBXX30VdXV1qKys9FmHmjOag51hSRnNwtF6TEGpM5qVaGNK\nyKOMZt+INgpDhw6FTtd5e2pqKkwmEwCgvLwcI0eOhMFgQHx8PBISElBdXY2mpia0tbUhJSUFADBm\nzBiUl5cz+AgEQRAEK5jsuFVaWoqRI0cCAJqampCamup8Ly4uDiaTCQaDAUaj0fm60Wh0GhJvXFJx\noDnYIUBFQo4ugU6Hn94xClfztWtMQQ36iNH/+PHj4O12aBWth8jtdjt+/PFH57Wa2oeQaylwvI8l\nDnl5eWhubr7i9VmzZiErKwsAsG3bNhw7dgwLFy4EAGzcuBGpqakYPXo0AGDDhg1IT09HfHw8Nm/e\njGXLlgEAvv/+e2zfvh1LlizxWHdJSQmeefJJHKmpkfYJL8OBbUNlKU+IrGDXBwB6vR4///wzo1qD\nR1lZmaZdSGVlZfj666/xh1Wr0G6xMJGp1jamhDwhsnqFh2PtH/+ImTNnMqo1eFRUVGD8+PGi7/c5\nU3B04N7YtWsXDh482KWc0WhEY2Oj87qxsRFxcXFXzAwaGxu7zBwIghVaNghAp/5ff/210moQIYro\nmEJlZSW2b9+OxYsXo0ePHs7Xs7KysGfPHlitVtTX16Ourg4pKSmIjY1FREQEqqurwfM8du/ejWHD\nhvmsQ83Ja8FOpqHktdAhJydH88lrWn/eQjl5TXRMYePGjbBarXjxxRcBANdffz0ee+wxJCUlYcSI\nEcjNzYVer8f8+fOdqygee+wxFBQUoKOjA5mZmUhPT/dZByWvKU9OTg42bdqktBoBoXX3UUVFBU6c\nOKG0GiGNa/Ka1tq/VHzGFJSkpKQEEyZMUFqNkOfYsWOaW6utdaMwceJEHDhwQGk1Qp6rr74ae/fu\n1Vz7lxpTUHVGc6gcx6lWtJq8pmWDAHTufUTHcSqLXqfDkiVLNNn+paJqo0DJa8rVB2g3eU3rxMTE\nUPKajPIoec03qjYKBCEGre99pHX9CW1DRoEgCIJwQkaB6HZoPaagdf0JbUNGgSAIgnBCRoHodmjd\nJ691/Qlto2qjQBnNytUHUEazUrz22muU0SyjPMpo9o2qjQJlNCuPFo8j1LpPvrW1lY7jVBg6jpMg\nvBCKxxEqTUREhNIqEOjMaA7F9q9qo0AZzcqi1Yxmrfvk582bRxnNCkMZzSqFMpqVqw+gjGaliIqK\nooxmGeVRRrNvVG0UCEIMWo8paF1/QtuQUSAIgiCckFEguh1ajyloXX9C25BRIAiCIJyIXt7w5ptv\noqKiAgaDAf369cNTTz2FXr16ob6+Hrm5uUhMTATw7xPZAODo0aMoKCiAxWJBRkYGsrOz2XwKgnBB\n6z55OqOZUBLRRiEtLQ2zZ8+GTqfD5s2bUVRUhNmzZwMAEhISsGrVqivuKSwsxIIFC5CSkoIVK1ag\nsrLS55GclNGsXH3AvzOaQ3FZnpLk5ORg165dlNEsk7xAMponTpwYcu1ftPto6NCh0Ok6b09NTYXJ\nZPJZvqmpCW1tbUhJSQEAjBkzBuXl5T7voYxm5dFiRqfWffKOM5opo1k5QjmjmUl2TGlpKUaOHOm8\nrq+vx29+8xv06tULDz/8MG688UaYTCYYjUZnGaPR6NeQ7Ny5k4V6hEQqKiqUViEgevXqpTmdXQnF\nLFo1o+W2JAafRiEvLw/Nzc1XvD5r1ixkZWUBALZt2waDweD04xqNRqxfvx5RUVE4evQoVq9ejTVr\n1gSsmJSDpwmCIAhx+DQKy5Yt83nzrl27cPDgwS7lDAYDoi5vTzFo0CAkJCTg7NmzV8wMGhsbu8wc\nCIIgCOURHVOorKzE9u3bsXjxYvTo0cP5ektLC+x2OwDg3LlzOHv2LPr164c+ffogIiIC1dXV4Hke\nu3fvxrBhw6R/AoIgCIIZHC8ymvXss8/CarU6ZwWOpadfffUVtm7dCr1eD47j8Itf/AKZmZkA/r0k\ntaOjA5mZmbQklSAIQmWINgoEQRBE94MymgmCIAgnqtiw/csvv8TWrVtx+vRprFixAoMGDQIATWRH\ne9MdAIqKilBaWgqdTofs7GykpaWpSnd3tm7dipKSEkRHRwPoXGWWkZEBwPtnURuVlZX461//Crvd\njnHjxmH69OlKq+SXp59+GhEREdDpdNDr9VixYgUuXLiAV155BQ0NDejbty9yc3MRGRmptKoAgPXr\n16OiogLR0dHIz88HAJ/6qq3teNJfK22/oaEBBQUFMJvN4DgO48ePx6RJk9h+/7wKOHXqFH/69Gl+\n+fLlfG1trfP1c+fO8c8//7zHe/7rv/6Lr66u5nme519++WX+4MGDQdHVHW+6nzx5kl+0aBFvsVj4\nc7L6C9YAAAPaSURBVOfO8c888wxvt9tVpbs7//znP/n333//itc9fRabzaaAhr6x2Wz8M888w587\nd463WCz8okWL+JMnTyqtll+eeuop/vz5811ee/PNN/ni4mKe53m+qKiIf+utt5RQzSNVVVX80aNH\nuzyb3vRVY9vxpL9W2n5TUxN/7Ngxnud5/tKlS/yzzz7Lnzx5kun3rwr3UWJiIvr37y+4vJjsaLnw\npnt5eTlGjhwJg8GA+Ph4JCQkoLq6WlW6e4L3EGLy9FlqamoU0M43NTU1SEhIQHx8PAwGA0aOHIn9\n+/crrZYg3L/3/fv344477gAAjB07VlVtZPDgwVfMWrzpq8a240l/QBttPzY2FgMGDAAA9OzZE0lJ\nSTCZTEy/f1W4j3zBKjs62DQ1NSE1NdV5HRcXB5PJBIPBoGrdP/nkE3zxxRcYNGgQ5syZg8jISK+f\nRW2YTCZcddVVzmuj0ah4ByQEjuOQl5cHnU6HCRMmYMKECTCbzYiNjQUAxMTEwGw2K6ylb7zpq5W2\nA2iv7dfX1+PYsWNITU1l+v0HzSgIyY52h1V2tFTE6K5WfH2Wu+66CzNnzgQAbNmyBX//+9+xYMEC\nj3LoqE525OXloU+fPmhpaUFeXp4zhuZAa9+1P33V+Hm01vbb2tqQn5+PuXPnIiIiost7Ur//oBkF\nf9nRnlBLdrQY3Y1GIxobG53XjY2NiIuLUzyzW+hnGTduHFauXAnA82dRYza60WhEQ0OD81qterrT\np08fAEB0dDSGDx+OmpoaxMTEoLm5GbGxsWhqalL9Tp3e9NVK23H9ftXe9q1WK/Lz8zFmzBgMHz4c\nANvvXxUxBW9oOTs6KysLe/bsgdVqRX19Perq6pCSkoLY2FjV6t7U1OT8/759+5CcnAzA+2dRG9dd\ndx3q6upQX18Pq9WKvXv3qn4m197ejkuXdwNua2vDt99+i+TkZGRlZWHXrl0AgM8//1w1bcQb3vTV\nStvRStvneR4bNmxAUlISJk+e7Hyd5feviuS1ffv2YdOmTWhpaUGvXr0wcOBALF26VBPZ0d50Bzo3\nCywtLYVer8fcuXOdZ0eoRXd3XnvtNRw/fhwcxyE+Ph6PP/6400/p7bOojYMHD3ZZknr//fcrrZJP\n6uvrsXr1agCA3W7HqFGjcP/996t6Seq6detQVVWFlpYWxMbG4qGHHsKwYcO86qu2tuOu/4MPPoiq\nqipNtP0jR47g97//PZKTk51uoEceeQQpKSnMvn9VGAWCIAhCHajafUQQBEEEFzIKBEEQhBMyCgRB\nEIQTMgoEQRCEEzIKBEEQhBMyCgRBEIST/w8M39vcBpu4SQAAAABJRU5ErkJggg==\n" } ], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [ "len(netcellcoords)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 35, "text": [ "400" ] } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }