You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2016/12/02 05:13:13 UTC

[10/17] incubator-singa git commit: SINGA-268 Add IPython notebooks to the documentation

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/6ef4bbee/doc/notebook/mlp.ipynb
----------------------------------------------------------------------
diff --git a/doc/notebook/mlp.ipynb b/doc/notebook/mlp.ipynb
index 0f0153b..ea21ee6 100755
--- a/doc/notebook/mlp.ipynb
+++ b/doc/notebook/mlp.ipynb
@@ -1,6 +1,15 @@
 {
  "cells": [
   {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Train a multi-layer perceptron (MLP) model \n",
+    "\n",
+    "In this notebook, we are going to use PySINGA to train a MLP model for classifying 2-d points into two categories (i.e., positive and negative). We use this example to illustrate the usage of PySINGA's modules. Please refer to the [documentation page](http://singa.apache.org/en/docs/index.html) for the functions of each module."
+   ]
+  },
+  {
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {
@@ -8,43 +17,107 @@
    },
    "outputs": [],
    "source": [
-    "# pls install PySinga before running the code\n",
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt\n",
+    "%matplotlib inline"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "To import PySINGA modules"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [],
+   "source": [
     "from singa import tensor\n",
-    "from singa import device\n",
     "from singa import optimizer\n",
     "from singa import loss\n",
     "from singa import layer\n",
-    "from singa import initializer\n",
-    "from singa.proto.model_pb2 import kTrain\n",
-    "import numpy as np\n",
+    "from singa.proto import model_pb2"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Task is to train a MLP model to classify 2-d points into the positive and negative categories.\n",
     "\n",
-    "import matplotlib.pyplot as plt\n",
-    "%matplotlib inline\n",
-    "\n"
+    "## Training data generation\n",
+    "\n",
+    "The following thress steps would be conducted to generate the training data.\n",
+    "1. draw a boundary line in the 2-d space \n",
+    "2. generate data points in the 2-dspace\n",
+    "3. label the data points above the boundary line as positive points, and label other points as negative points."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "We draw the boundary line as $y=5x+1$"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [],
+   "source": [
+    "# generate the boundary\n",
+    "f = lambda x: (5 * x + 1)\n",
+    "bd_x = np.linspace(-1., 1, 200)\n",
+    "bd_y = f(bd_x)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "We generate the datapoints by adding a random noise to the data points on the boundary line"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "# generate the training data\n",
+    "x = np.random.uniform(-1, 1, 400)\n",
+    "y = f(x) + 2 * np.random.randn(len(x))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "We label the data points above the boundary line as positive points with label 1 and other data points with label 0 (negative)."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
    "metadata": {
     "collapsed": false
    },
    "outputs": [
     {
      "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhIAAAFkCAYAAAB1rtL+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsvXt8VPWd//86M6ngEDIzFQKoqBRyQSGQGyZoELwEmCQo\n2nV/8EVoCfXntdyrQNjWC63fosvF3fXS5fertGit7a5bwVqxZoJdISoU7La63oJ1+7W1kMF2f3ar\nybx+f5w5mdu5fM5kJjfez8djHpLJmXM+c84x79d5XzWSEARBEARByARPfy9AEARBEITBiwgJQRAE\nQRAyRoSEIAiCIAgZI0JCEARBEISMESEhCIIgCELGiJAQBEEQBCFjREgIgiAIgpAxIiQEQRAEQcgY\nERKCIAiCIGSMCAlBEARBEDImp0JC07Q6TdN+omna7zRNi2qatiDl9/9v7P3E17O5XJMgCIIgCNkj\n1x6JEQCOArgFgNVQj58CGANgbOy1KMdrEgRBEAQhS+TlcucknwPwHABomqZZbPZXkn/M5ToEQRAE\nQcgNAyFHYramaX/QNO1NTdP+SdO0z/f3ggRBEARBUCOnHgkFfgrgxwA6AEwE8C0Az2qaVkuL+eaa\npp0FYC6A4wD+p4/WKQiCIAhDgeEALgDwM5Ins7HDfhUSJH+Y8OOvNU37FYB3AcwG0GrxsbkA9uR4\naYIgCIIwlPlfAB7Pxo762yORBMkOTdNOAJgEayFxHAC+//3vY/LkyX21NCGHrF69Gtu2bevvZQhZ\nQq7n0EOu6dDhjTfewJIlS4CYLc0GA0pIaJp2LoCzAHxos9n/AMDkyZNRUVHRJ+sScovf75drOYSQ\n6zn0kGs6JMlaakBOhYSmaSOgexeMio0vaJo2DUBn7PV16DkSv49t978BvAXgZ7lclyAIgiAI2SHX\nHokq6CEKxl4PxN5/DHpviTIASwEEAPwf6ALi70h+l
 uN1CYIgCIKQBXLdR6IN9iWm83J5fEEQBEEQ\ncstA6CMhnOYsWiTNTIcScj2HHnJNBTtESAj9jvyRGlrI9Rx6yDUV7BhQVRvZ4re//S1OnDjR38sQ\nBgGjRo3Ceeed19/LEARBGLQMOSHx29/+FpMnT8Ynn3zS30sRBgE+nw9vvPGGiAlBEIQMGXJC4sSJ\nE/jkk0+kYZXgiNGY5cSJEyIkBEEQMmTICQkDaVglCIIgCLlHki0FQRAEQcgYERKCIAiCIGSMCAlB\nEARBEDJGhIQgCIIgCBkjQmKQ8Y1vfAMejwednZ39vRTXXHDBBVi+fHl/L0MQBEHIIiIkBhmapkHT\nNOcNByCDdd2CIAiCNSIkBEEQBEHIGBESwqDkr3/9K0j29zIEQRBOe0RIDFL++Mc/4vrrr4ff78eo\nUaOwatUq/PWvf+35fXd3N+655x5MmjQJw4cPx4QJE7Bp0yZ8+umnSfvxeDy4++670/afms/w2GOP\nwePx4OWXX8aaNWtQWFiI/Px8XHvttTh58mTa5++9916MHz8eI0aMwBVXXIHf/OY3adtEIhGsW7cO\nZWVlGDlyJPx+P0KhEF5//fWk7dra2uDxePDkk0+ipaUF5557LkaMGIGjR4/C4/Fgx44daft++eWX\nez4jCIIg5I4h29lyKEMS119/PSZMmID77rsPhw4dws6dO3Hq1Cl897vfBQA0Nzdj9+7duP7667Fu\n3Tq0t7fjW9/6Ft588038+Mc/djyGVT7D7bffjs9//vP4xje+gePHj2Pbtm247bbb8MQTT/Rss3nz\nZmzZsgWNjY2YP38+jhw5gvr6enz22WdJ+3rvvffwk5/8BH/zN3+DCRMm4A9/+AMeeeQRzJ49G7/5\nzW8wduzYpO3vueceDBs2DOvXr8enn36K0tJSXHLJJdizZw9WrlyZtO2ePXtQUFCAq6++WuWUCoIg\nCBkiQmKQMnHiRPzLv/wLAODm
 m2/GyJEj8dBDD2HdunWIRqPYvXs3brzxRjz88MMAgJtuugmjR4/G\nAw88gLa2Nlx22WUZHXf06NF47rnnen7u7u7Ggw8+iD//+c8YOXIkTpw4ga1bt6KpqQn/9m//1rNd\nS0sLvvnNbybtq6ysDG+99VbSezfccANKSkqwa9cubNq0Kel3f/3rX3HkyBGcccYZPe8tXboUN910\nE9566y0UFxcDALq6uvDUU0/huuuuw/DhwzP6noIgCFaQRFvbAdx///fw4YcfYdy4QqxfvxSzZtWd\nlknlp72Q+OSTT/Dmm2/m9BilpaXw+XxZ25+mabj11luT3rv99tvxT//0T3j22WcRjUahaRpWr16d\ntM3atWtx//33Y9++fRkJCU3TcOONNya9V1dXh+3bt+P999/HlClT8MILL+Czzz7D7bffnrTdqlWr\n0oTE5z73uZ5/R6NRnDp1Cj6fDyUlJThy5Eja8b/0pS8liQgAuP7667Fy5Urs2bMHd911FwDgueee\nw8mTJ7FkyRLX31EQBMGOSCSC+vplePfd6YhENgMYD+ADvPzyLkyceD/279+NQCDQ38vsU057IfHm\nm2+isrIyp8c4fPhw1geITZo0KenniRMnwuPx4Pjx4yAJj8eTts2YMWMQCATw/vvvZ3zc8ePHJ/0c\nDAYB6P9zAejZd+qxR40a1bOtAUls374dDz30EDo6OtDd3Q1AFyyjRo1KO/YFF1yQ9p7f70dTUxMe\nf/zxHiGxZ88enHPOOZgzZ04G31AQBMEckqivX4bDhzeDrE74zfmIRO7G4cOvor5+Gdrbnz6tPBOn\nvZAoLS3F4cOHc36MXGN20/bmRjaMeiperzftPZIZVVBs2bIFf/d3f4cVK1bg3nvvxec//3l4PB6s\nXLkS0Wg0bfszzzzTdD9Lly7Fj370Ixw6dAhTpkzBM888g9tuu831egRBEOw4cOAlvPvu9BQREYes\nxjvvlOG
 ll36BWbPq+nh1/cdpLyR8Pt+gHDf+9ttv4/zzz+/5+Z133kE0GsUFF1yAaDSKaDSKt99+\nGyUlJT3bfPTRRzh16lTS54LBIE6dOpW0788++wwffvih8loSBYux77fffjvJg3DixIker4XBj3/8\nY1x++eV49NFHk94/deoURo8erXz8efPmYdSoUdizZw9mzJiBv/zlLxLWEAQh62zdujsWzrAmEmnG\n1q1bTishIeWfgxCS+Md//Mek93bu3AlN0zB//nyEQqGesEEiDzzwADRNQ0NDQ897EydOxIEDB5K2\ne+SRRyw9Ek5ceeWVyMvLw4MPPpj0/rZt29K29Xq9aZ6Mp556Cr/73e9cHdPr9WLRokV48skn8d3v\nfhdTp07FlClT3C9eEATBhg8//Ah6ToQd42PbnT6c9h6JwUpHRweuvvpqzJs3Dy+//DL27NmDJUuW\nYOrUqQCAZcuW4dFHH0UkEsFll12G9vZ27N69G9dee21SouWKFStw00034Ytf/CKuuuoqHDt2DM8/\n/7ypR8AqfJH4/qhRo7Bu3Trcd999aGxsRCgUwi9/+Us899xzaftsbGzEPffcg+XLl2PmzJn41a9+\nhT179mDixImuz8fSpUuxc+dOhMNhfPvb33b9eUEQBCfGjSsE8AGA8222+iC23emDeCQGIUajpWHD\nhmHDhg346U9/iq9+9av453/+555tdu3ahbvuuguvvfYaVq9ejXA4jE2bNiX1ewCAr3zlK7jzzjvx\n0ksvYd26dXj//fexf/9+jBgxIi3HwirnIvX9LVu24K677sLRo0fxta99DR0dHXj++efT9rlx40as\nXbsWzz//PFatWoWjR4/i2Wefxfjx45WPbVBRUYGLLroIHo8Hixcvtt1WEAQhE9avX4pgcJftNsHg\nLqxfv7SPVjQw0AZbm2FN0yoAHLaqhDhy5AgqKytzUikhDGwqKipw1llnYf/+/Urby70i
 CIIbSGLG\njKtNqjZ0NO1VVFXdO6CrNoy/ewAqSabX2WeAhDaEIcFrr72Go0ePYvfu3f29FEEQhiiapmH//t2o\nr1+Gd94pQyTSDOA8AL9FMLgLkya9jueff2zAiohcIUJCGNT8+te/xmuvvYa///u/xznnnIPrr7++\nv5ckCMIQJhAIoL39aRw48BK2bt2C3/8+3tmyru7u005EACIkhEHOj370I9xzzz0oLS3FE088kdb5\nUhAEIdtomobLLpuFyy6b1d9LGRBIsqUwqPn617+Orq4u/Md//AcuvfTS/l6OIAjCaYcICUEQBEEQ\nMkaEhCAIgiAIGSNCQhAEQRCEjBEhIQiCIAhCxgzZqo033nijv5cgDHDkHhEEQeg9Q05IjBo1Cj6f\nT6Y/Ckr4fD6MGjWqv5chCIIwaBlyQuK8887DG2+8gRMnTvT3UoRBwKhRo3Deeef19zIEQRAGLUNO\nSAC6mBDjIAiCIAi5R5ItBUEQBEHIGBESgiAIgiBkjAgJQRAEQRAyRoSEIAiCIAgZk1MhoWlanaZp\nP9E07XeapkU1TVtgss3dmqb9H03TPtE0bb+maZNyuSZBEARBELJHrj0SIwAcBXALAKb+UtO0OwDc\nBuBGADMA/H8AfqZpmsyCFgRBEIRBQE7LP0k+B+A5ANA0TTPZZCWAe0jujW2zFMAfAFwD4Ie5XJsg\nCIIgCL2n33IkNE2bAGAsgJ8b75H8E4B2ALX9tS5BEARBENTpz2TLsdDDHX9Ief8Psd8JgiAIwqCB\nJMLhNjQ2rkBl5QI0Nq5AW9sBkGmR/SHFoO1suXr1avj9/qT3Fi1ahEWLFvXTigRBEITTlUgkgvr6\nZXj33emIRDYDGA/gA7z88i5MnHg/9u/fjUAg0KdreuKJJ/DEE08kvffxxx9n/ThaXyklTdOiAK4h\n+ZPYzxMAvAtgOsnXE7YLA/glydUW+6kAcPjw4cOoqKjI/cIFQRA
 EwQaSmDHjahw+vBlkddrvNe0V\nVFVtQXv70zBPF+w7jhw5gsrKSgCoJHkkG/vst9AGyQ4AvwdwhfGepmkFAC4G8HJ/rUsQBEEQ3HDg\nwEt4993ppiICAMgZOHJkAn7605/2OvwxEMMnOQ1taJo2AsAkAIYE+4KmadMAdJL8AMB2AC2apr0D\n4DiAewD8F4B/y+W6BEEQBCFbbN26OxbOsKa7exUWLWpEcfHDGYc/BmL4BMh9jkQVgFboSZUE8EDs\n/ccALCf5bU3TfAAeARAA8BKA+SQ/zfG6BEEQBCErfPjhR9CNuh3n4k9/+gsOH24BOSPh/fMRidyN\nw4dfRX39MsvwB0nU1y8zCZ+ofT6X5DS0QbKNpIekN+W1PGGbb5A8m6SP5FyS7+RyTYIgCIKQDYww\nwwcffAjgA4etfwzg6hQRkbivarzzThleeukXpr93Dp/Yfz6XyKwNQRAEQXBJJBLBjBlX49prf44/\n/nE9gH92+MQ/QO/BaLfPZmzdutv0d3r4pDnjz+eSQVv+KQiCIAj9QXqYgQC+D+BVAGYeg1cBdMI5\n/DE+FiZJRy18Yv35XCJCQhAEQRBckB5m0ADsBrAMQBmAZgDnAfgtgF0AXoeeMvgBgPNt9vwBxo0r\nNP2N/n7mn88lEtoQBEEQBBeYhxkCAJ4GcBWALQBCAK4HUB97fya83u22+w0Gd2H9+qWmv1u/fimC\nwV0Zfz6XiJAQBEEQBBdYhxk0ALMAfAfAPujTHsYjGPw7VFXtQ1nZW9C0V033qWmvYtKk11FXd6np\n72fNqsPEiUcz/nwukdCGIAiCILhANcwAdKCw8Ho89dQDqKu7Gx9//DHq65fhnXfKYh4NPfwRDO7C\npEmv4/nnH7Ms3dQ0Dfv3787487lEPBKCIAiC4IL165c6hin03IgHMX78OMyaVQdN0xAIBNDe/jT+\n9V+vQkPDFlRWLkRj4xY8/XQ92tufdmwm1d
 vP5wrxSAiCIAiCC2bNqkN+/q34+ONXAJj1hXgVeoLl\n8rTkR03TcNlls3DZZbPSPkUSbW0HcP/938OHH36EceMKsX790h4h4vT5/kKEhCAIgiC4QNM0fP/7\n9+Gaa25Bd/d8mFdpPIZg8AHl5MeB2v5aBQltCIIgCIJLGhpCmD59HIBzoVdpLIz9V6/S0LS3lZMf\nE/tSRCJ3Q8+98CDe/noz6uuX9etgLjtESAiCIAiCSzRNwwsvfA/V1c8iGBwLYAf0sVFGlca9ysmP\nA7n9tQoS2hAEQRAEFyTmMnR3EyUlvwZwGz791IOzzx6D9euXoq7ubuUKCpXpoXr76y2YNasuC98g\nu4iQEARBEIYUKkmLmWKVyxAM7sLEiUfxve9tdZ3LMJDbX6sgQkIQBEEYMuQyaTFXo7wHcvtrFSRH\nQhAEQRgSOCUtvvbaJtTWXotoNJrR/nOVyzCQ21+rIEJCEARBGBI4GXrgYrz5ZgUmT67DqVOnXO8/\nV6O8B3L7axVESAiCIAhDAhVDD9yGt946O6NyylzlMhjtr6uq7kUwuBnAcQBRAMcRDG52VQHSH4iQ\nEARBEIYEqoYe+DSjEEQ8l8EO51wGkgiH29DYuAKVlQvQ2LgCx469jkOH/nXAtb9WQZItBUEQhCGB\n+jCtwozKKdevX4qXX94Vy78wxymXQSUZdO/e7yivaSAgHglBEARhSKCStKi3sF4K4Fz853/+Jskr\n0NZ2wDbc0dtchsHewdIKERKCIAjCoMEsLGAIAMPQA+0WnzaGaV0EoAEdHTXYt28zjhx5Gvv2bcbC\nhS9gxoyrLRMxe5vLMNg7WFpCclC9AFQA4OHDhykIgiAMDKLRKFtbw2xoaGZFRRMbGpoZDrcxGo1m\n7RidnZ2sqmpiMLiZwHEC3QSOMxjczKqqJkYiEUYiEZaWziGwlkBHbJsOAi0EFhDoJNBE4BABpr00\n7RVWVy+wXXc0GmU43
 MaGhhWsrFzAxsYVbGs74PhdGxqaY+tOP2781cHGxhU5O6+HDx8mAAKoYJbs\nsuRICIIgCL2iLyZX0kUzqF//+gVMnlyHt956H8CnAAqhhzPuBvASgCkALrY4TtwrYJU/kekob7dV\nH4NlIqiENgRBEAYAtHHZD2QSDXwu4/5uwgIejwft7ftQXf0pgsEyAJsAXALgfQB3APi/bY8ViTTj\n299+zPS79uYauan66KvzmhWy5droqxcktCEIwhBDxWU/EDBzs2/fvpPBYIutuz4YbGFb24FeHTvT\nsEBiCKK2diE9nqmx82u3ny76fBcmnfdsXKNwuI2BwCbbYwcCG9nWdoDhcFvsWNk9r7kIbfS7MHC9\nYBESgiAMIaLRKKuqmqhpr2Qcs+8LrAxpXt6lrg18JlRUNCkJgMrKBZb70MXIYqX1Al/sOe+9vUaG\nAJs//8vUtAsItFsct50jRkxmd3d3RsJJhVwICQltCILgCDk43e6DgcGQyU9au9m7uoLoi8mVqmGB\nDz740PIe1dfwFegloHbsAvDVnvPem2sUiUQwY8bVuPban+OnP50H8osAtgBIrvrQf96CvLwG/OIX\n/z64JoJmS5H01QvikRCEPmWgud37ojqgL8nVk2c2sXez9836VVz9wBoC1QROmt6j+rnuoF3VBvAK\n9eqOaM+6M71G6Z4MYz9RAm0EVsSOtYLAgawc0wkJbYiQEIQ+ZaC53QeaqFHBSfhkw2Wfa+yNWhuB\n7MfyE89beXkjZ8yYzxEjLiRwecwgt8UMb6oAaE8QAsn3aFyMRAiUEthE8xLRSNJ5z/QapYsf9f1k\nI0fC7N579NHvZF1ISPmnIAiWuHHpumk1nAmkevmfynAjkmhrO4D77/8ePvzwI4wbV4j165di1qy6\nrA1H6uzsRG1tI957z4uurhEAzgFQj3//9/2YNEkv31Nt6+w0vyGX2LvZ6wDcD+AVADPSfhvv9mjd\n
 VjqV5LLHr0KvuigH8BCMEkjgUQBboYcJnoLeaOoxAAEAZQB+AaAu7R6dOPF+HD78NsiZse22APgI\nySWixvWPV1Bkco30IWKbE95Rv9bxtb5q+v+f03m1Kh09cOBem2NnSLYUSV+9IB4JQegzBpLbPZtZ\n7H3h2Th58iR9vlICG5KOoT+9NxH4OaurF7C1NZzR9+rLEI/zfRAhMJd5eauTnvCDwRZWVy9wdT6T\nvWDR2Lky94gBBwlMNfFOdFAPF6Tfo5FIhNXVC5iffwOBjUrnPdN7L92T4c57Y6xVr4pRP6/2nkQJ\nbYiQEIQ+ZCC53bMlavoiXBONRllSMptOcfhAYBPD4TbX6+nrEI+KIQ0ENnHHjp2uuz3aH8vZ8Orh\niANp96QeojC/Rw0R5vdPjYkR+/Oe6T2Tfs86CaN2lpTMZCi0vEcctraGY4JR/bzaXy8REiIkBKEP\nGUgeiWyJmlzV56ceIy9vjYIBfJKNjStcPXl2d3ezuLiWwHUxo5ScL5CLvJW+zJVJvufU7r9k74PZ\ne+b3qJvzrrptoqeoqGimyX0QiYmc5P14vTdz+PCiWJ+J3olD+/9vRUiIkBCEPqQvjK4q2RI1fSGO\nVI8BNPcIH5X5DZ2dnTFPx1qah0siObsmmbrZ3ZIsGNXEY7L3gUz1UtidDzdzM5y2TfcUdRGoZ7pn\nyqjauI560udyApeYbKe/3Ao1e9EtQkKEhCD0IQOpaiNboqYvwjWqxwDmKgsW41q4KVvMNpkOq3JD\n7z0Sieeh7+5R6/9XDA/EnUyuELmT8QqRzCtfotEow62tbG5oYFNFBZsbGlhTc43NeRMhIUJCEPqY\nvnoSdSJboibeSyAcM1Tp4YG+8kjk5dUpew7U+igYT+L9Wy7aG9znSGyIXcsO6p6audT7SGT3HjVL\nbm1tDfPFF1tjYYw5sS6fqYmfpOGByMur4/jxNczLq2O8b4S6YEq9Jzs7O9lUV
 cXNwSCPA+wGeBzg\nDfn5zPOuFCFhuWAREoLQ5/TFk6gK2RA1zzyzl15vRcxAmYcHspEj4TR/AriTJSWXKJ/DuDiJ2oig\nDupP5+6E0EBq8uWmakPT2un3T+1Z844dOxkKNWf9HjVPbj1Gr7eCXu8qy/vITAwUFlabiAb3XrJo\nNMqmqiq+omlpG0cBTsZYmieSipAQISEIpzm9ETXx8IB5pr5usK5gVVVTr6s2dGNoNVPhEEeMmMzO\nzk7lferhkhMxo2Mlgk4QWOBKCOWiAqS3wiRZMB6LfbcNGYvH3mDuCXOqvkgOrySKgTPPvNBENLj3\nSOx95hnekZ/PKMAwwGaATbH/tgHsBDjWcw5HjFifdN5GjmzOupDQqBvnQYOmaRUADh8+fBgVFRX9\nvRxBEAYRbW0HsHDhC7F5EeZ4vavwk5/UIxQK9epYp06dQn39MrzzzlREIisAnAfgt8jL24lJk47i\n5Zd/jGAwqLy/hoZmPPvsfwG4F4BZg7BXoc9ryEd19WdKjblIYsaMq02afOlo2quoqrpXuckXkNoI\nqRlGI6RgcBcmTjyK/ft3IxAI9BzfqikYoDdE27r1e/jwwz/gjDOi0LQz8Omn3Rg3rhDr1t2AaDSK\nBx74fs4aigFW98wBAC9Ab15lxSoAewGMADARwEoA56Gw8G/x0UdPIbkplfP+Cgo24Ctf6UJn50kc\nPHgQkTffxPMAWgBMBxA/0/qkkKMA7gGwsaYW2lkX4fe/18/R1VdfjK985SsAUEnyiItTYU22FElf\nvSAeCUEQMkQ1d6G2dmFWXOLZCAkZT/eTJ9dQnyVht/Y1PPfcKcpP6dmuynGTx9IbT0hf9tEwv2fM\n3ksNOS0icCX1pNrjBFbR45nGb37zPpNzrtJ4ayw9Hg/Ly8t58803s/b889kI8BWLC/dKzEPRVFGR\n9H2G5KwNAF+HPv4s8fUbm+1FSAjCaU6mrnPVagqvt2pA
 zO5INpiLlERQQ0Oz8v6zXQqrKkwyacJl\nkJ5DkWi8lxNYy4KCqVnL9TC/Z1Lf66R5yGkVk/MlDtLvm8jp0+fbVHfcwcRQxOc+t5LnnlvFZ555\nhn/+85971hWqqeFG+wvHDQAba2uTvk8uhMRAmbXxHwCuQLzBeVc/rkUQhAGM1QyBl1/ehYkT709y\nnaeiOteiu3s6Dh++0dXsjmxDps4WWQCVsdK///0flY+R7VHV6bMl0olEmnHnnbfh3XcrYD/DZSp2\n7vwH7N9/LCl0QTI2/2USgKuhO/bj9wHwIP70p3E4cuS7AP6sdF+kHz8ecnnnnfeRfs8k3kcEsCy2\nhuQZMMA26CGnZQCeBlCDzz6Zi64/PI2xY2/CH/9Yh66uVdDDXqfg8ZyHkSOfwvjxRwB4cP755+Jr\nX1uGurptaffgMAA3OnyPGwGsUfrGvSRbiiTTF3SPxBEX24tHQhBOU3pbAuquhFLNrZ+riof0tWa/\nkVa2PRKqHp+CgjKl4+plksmhC79/CoGjdJPs6KaXRHrYpJXpMzkSy1LdtvHu4PkYw4KRI1lbO5Ml\nJbNZXDyH8+Z9SSnsZfSNKCsoYLeDR6IL4ILKyqTPD+XQxp8B/A7AuwC+D2C8zfYiJAThNKW3MX0n\nIZKebW9vRHMZq0838tkf153tHAlVYaILiUw6VpJ6vsDMmHFWNd7qolCtQiPxPbdNs7o4FWezuaFB\n+ToZJPaNWAy9Z4TdgTsArmhsTNrHUBUScwFcB2AKgKsA/DuADgAjLLYXISEIpynZeII2Sgu93pVM\n7jTYwninwbgxs2rslOuun+lP9049FdwfL9vfQVWY1NQsdGl8U1+XZPB5Z8+K9frN5mMco8dTTmA6\n3YmiDjZgTJqnQOVaJfaNaAO42UFItASDPNDWlrSfXAgJT65DJ06Q/BnJH5P8D5L7AYQABAFc389L\nEwRhgJGNmH4gEEB7+9Oorn4bwCY
 ACwFsAVAPPY6dGEf/IJZXkc6BAy/FYvV2cf4yvPTSLxzWa048\nn8NAA7AbevnnZgDHoeemH0cwuBlVVffi+ecfc5XPoWka9u/fjaqqexEM9n6fs2bVYeLEo9C0Vy2O\n9yomTXod3/rWSgQC33HY23cALLX4XT5U7gPgo6SfnXI99ByPZpPfBKDfG1cB2IS8vGJ4vSFEo79E\nHj5E8nUy4wPoeRXASGzFDfgDCseNc/hMMi8dOIDp776Lav2BGnXQSzzNzzTwqqbh9UmTcGldnavj\nZMJASbbsgeTHmqa9BWCS3XarV6+G3+9Pem/RokVYtGhRLpcnCEI/oposaWX8DTRNw3333eHYUyIY\n3IX1682S9tdBAAAgAElEQVSNmWpi4datW3r6IqhCEldeWYaf/WwnuroeSPiNYdBeArAFXu8vMWPG\nebjvvtWoq7s7o6RQQ1jpPRu29PQbWL9+qet9GsJE759RFjPKev+MYHAXJk16Hc8//xgKCgrw6ac3\nQU8gnWGyp1cA/Cv0TghmnAOV+8Aw3sbPTveFvVDVAMwCcAlGjJiKr31tOfbv3o2//c//xEZsRQT/\nYLPnXdBF0SGU4l/wq0AAS9evt11LKru3bsXmSCRpNbuhp3GWQe8joZ9pYGdeHo5OmoTFN96Iq6++\nOmk/H3/8savjKpEt10a2XtClZieA2yx+L6ENQThNaW0Nx1oSW3t0vd6VDIfbHPfVW7d+roZ/GXkX\ngUAL9cmR5t0x+3Jgmluc+meEw230+9ebhAs6GA8xrWNijkPy6wcEvupw7tVzJDo7O/nss8/ynHMq\nlUImtbUL2RYOc3MwyCjAKoylZtkttZ3AXHpwCyswlj8HuKC62vV1a6qoME2ujMbCHCug940oA/h1\ngDM9Hp53xhmsHDWKc4qKuDwUYls4zNdeey3roY2BIBy2Qpd55wOYCWA/gD8AOMtiexESwoBnIM0u\nGEroQqKCdt
 n6Xm+FkpAgeze7QzVfY+7cZcrfL13cmMXmOxgMburTgWlOuL3fk+eGtFHPZVgQ+68x\nzKqDVjkSgcAmlpTMtmlBbl210dXVxddff52PPPIIv/zlL7O0tNQwrBzt9dKPW22vqR+3sKG2ls0N\nDT3JjhGA1RjLIG5JEUW30YPzWY3R/AHATYEAF1RXZ3TdEo9n9eqICYl1AOsBtgBJw7w2BQKsmzx5\nSAqJJwD8F4C/xLwyjwOYYLO9CAlhQNOXXfdON3QDdMzUuMafZI+5Hljl1H3SzFBu374z64O5zJP9\nko1tXl4dd+58cMCI0kzud/Ux6+lVG4Yo6OzsZHX1AgYCG1Pug9VMnADq92/guedWs2bCBJaOHMlz\nvF4CSOoSuXv3br799ttsLC+39S5oOMgqjGVTRUWah8CYedGAsazE2WzAGN4GcJLHwwt9PlYXFnLn\njh3s7u42PY+p48CXh0LcsW0bl4dCbKqo4MKaGi6NzdawOmkrAT4c80xYdbx8LCaahpSQcL1gERLC\nACbXmfynO3EDZPckm90R2laGMhBo4bBhkwgcsn0qDgQ2Zb18sjcjzrNJpve7mzHrdp6i7u5u1haX\n8JIE470DYAhjWImzeTHGcDTAW1KezO/Mz2eooiJN5DQ3NPCYhXchiFtYjbE8Br2k0s5D0Bkz5htT\njrs5GGRTVVXacVPHgZ+IeRTWpnz+qwAvh+4BST1mO8DKmJixq+Y4LEJChIQwsMl2Xb6QTF8bWue+\nE02xp18r70jE1XpylXeRjVCblVdGz+Vwd7+r/X+yiTt27LT1FBkTMM12EI0Z80MWB3hF09JyFRLz\nHhK9C40Yw7bYPo2SytRtjembywHOjBl2leOmlnUa67byKBwEOB3gezGB0QE9hDEV4LHYOuxCICIk\nREgIA5zB9kQ52OhroeZ8vCbqLnjDO9JEoIHAwti/mwm8yIqKJqXj5eL+cRN6sBIcJ0+eNN1
 HXt4a\n6gmhEVfrzcSTYZbbMMbGaGbSZyHVqNuJgGg0yrnTp/Py2HESPQdrY2LAzHOQelxDkLhZ9zqAE30+\nlhUUcDHAAwAbY8dviv1XhITdgkVIDFmGQoJirp4oe0t/nNtcHDOboSOV9Tkb9sTfWw1u2ki/f6pS\nbsxAnMYZCLTQ5yu1SWxsZ3I3ULX73SnRtaOjg88++yw3b97MK6+8kiNHjiQAer3entyGmRdcYGk0\nnZ7MCfPOj5FIhAuqq9kSDLIDCU/9wWBSomQ0GmWovJwHLfb9CsAFgGlOQwfQ09kyNUSiuu66vDzu\n3LGjR4QYnxOPhMqCRUgMSYZKguJA9Ej0x7nN5TF7U2nhdn3OwrCNehjDqetkO6urF7C7u9tWvBiG\nXzfOiVMtm2PHas9Jp0n7aZxtBDY43NPJpZaq97uR6BoKNfPCC6/i1KlXcf78+SwpKTGMHUeNGsWm\npiZ+85vfZGtra9IETLs8Bacnc8J8FoWxrrZwmCsaGrigspIrGhvZFg6z9cUXe5IhQzU1vNMirGK8\nWqB7C8yOe6HPx0gkkpa0qbruuTExYnhQDE+Gk0dDhARFSAxFhlKC4kDLkeiPc5urY6Z6EGpqFrKm\npoEVFU2m8XO19aWOoW4m8DCrqpoYjUYVhGGUumv/ITrNwQgENrK4eKajeOno6KDPV0pgLZM9G2vp\n85Xy+PHjyudMVdjW1DTY3LduZ0k43+9G3wY7b4NRSWF3TVPDAomvTD0SZqQmQ3YD6rMuLN7/IvR+\nEjdcdVVGHolm6CLI8KBsCgRYDz0nRKo2nBYsQmLIMdCMb2/IteF2Gy7oj3Obi2Nm08MRX59VKGIz\nvd4K7t27T3Fa6DoCFyka2y/a3hfd3d2x+8eqCZU7j0R2pnH2plSznaP8pbyitJRXTpnC+fPmKXsb\nVOju7ubskhLThMo2gBscDLLZLIpUrPImlD0eZseF7qnYGAiwdPTopH
 Uq5XYAfBJxEWR4UG6or+dk\nn483e72cC3ATkBSe2RgIcNaFF1KEhAiJIcdADAe4IdW419cvZUnJJQwENjFT17sZmRjTbJ/b7OQV\nuD9mNsWZvr4O2o+hbqffPzXBsFtvpxvQxoyNrfEKBlu4Y8fOATiNU20fHlycdL8Pwy08E2P5EuJJ\niCs9HpaNHs2HHnrI0tuQ2k+huaGBbeFw2raGl2C9329qNDf4/Sz1+diukDhph5XXQ9njkXpcxHMn\nfgC9pDPRg+BUtWF8flMgYCqCDFHRHArxkqIiVhcWck5JCZsbGnigrW1odrZ0vWAREkOOgZqgqIK1\ncW9hScls1tffYFm65oZMjWk2z2328grcXc9sezj09bXSKRTh9a5kW9sBy5yMvDyj8VEkZmw7mBwm\nuYZAiLrIaKbe1rnZ1hgXFlYrGO33WFPT0CPmQqHl3LZtB0Oh5WniLjvTOJ3Hl4/ELdyB9HLJdqQn\nHNoZcLMQgln/BbOSSaNN9ALoYYNLSkp48uRJpcRJO6zyMFQ8B2ugew4SyzQXIF7NsTz2/SKx91ti\n252EngOxFsniyPh8pm22ySE6Rtz1gkVIDDkGq0eiL/MPMjWm2Tq3br5rtq9nbva32NU+zbpf7tiR\n2ENhL4EKmlVs6ELiGIE1BEpj25pVOHTR57uQ9iKsk0BjbN7IcQInqOdoJOdTGOLOEH9O1621NWxz\nfxmJpFaNtw6yGmMtOy6aJRyahRTclF5a9XBoBtL6PZglThrvq2A348LOc3AI4KWxNS2ALnIOIFlU\nzUU8PJIqhpoB7oQuNkpjPz+J3rXZJkVI6AsWITHkGKw5En257kyNabbW6GY/ufEgOHs4/P4y5bwR\nr7dSaZ92XpPkCosmwnJoU+Lch3YCldTFRWrvBSePhGHQ22P/biUwxfK4qa2k7apcnBtvPc8RGJ/W\n7fFzuIVlGGvZL4Ewd+93ID3J0S5x0ngZ4sDoQ
 NmE9B4Om2PvHzM5RibYVYYYnoQNQJrHY05pKdf7\n/bbf51KohUeqCwszEkFmiJAgRUgMQQZr1UZfelIyDRdk69y6+a7ZOGZiLoZ9ImD82LqXwTlvJBqN\n0u9X26fTtYtEIiwpuYS6R8BuX4nlkS0EHmFq7wXnHAkjxGAkiS6l7vGwPq4h2FTmiXR0dLC4+DIO\nH76WqbkO1RjLTqR3e6yFnlBotwizhEOzskvVoVQrGhvZWF7ORtjnETQBbKqosL1+KjgJnCjAG/Lz\nubC2lnOKi1ldWMiZRUX88vz5nFlcbNnhsh3gJdA9Nnbf+Y6RI9lQU2ObL+IGERKkCIkhSjZ6A/Q1\nfZnb0RvRko1z6/a79uaY6bkYrY4G06yPgZ1g2bt3r+M48kSviV2SaSi0XOnaxMsjjX/H15xetWEm\nwlKTRDO/J+wmYBYU+FlYOI3nnFPNMYFSPgnzpkpE5gmHHdCfshONolUIIfFlCJBQTQ03Omy7AWBj\nba3jve2ESshlXnm5aW7HpkCApT4f1/n9SR6L1Xl5nIv4TA67dtiVXm/PZ+3mdagiQoIUITGEUXlq\nGkj0pUeit+GC3p7bTL5rJsc092bYN3tKHRmtck7ix7Eqs3Tu+Gh4PaZNC9FdxYbx7w4Ci9PElZUI\n08MxrYwnPqqLu0z7NsyfNs3WuLfB+YnaLEdiE8AfphhFNx6JhTU1StsuzIKQMK6JVdJmU1UVQ+Xl\nlkKjXdM4p7SUzaFQT3hi544dbAkESKQnWhr7XgOwBuZttlUrTswQIUGKkBAGDH2ZI5HtcIHbltWt\nrWHm59+Z8+9qfU4jNB8dvoHx4Vhm67IWcipek+7ubhYX1xK4jskdJqM95101TJLukdDzOszElZkI\n0ysrEpNE1cTd8OEXGIbDVd+GaDTKMr/f1mBHgZ4mSGa/N2sTnfqeYRTDra3KORJuvBfZwipp0826\nE/dlV3VyHcBiTbP9jio9
 MMwQIUEREsLAoa9zOzINF0SjUf7kJ8/Q75+SkO2v3tCps7OTlZWN9Hor\nqCf65e672ns+jNHhi+n3l8VyJ8K0nvFAqiRMWnlNOjs7WVIym+kdJjfHRIUuXvLzb+DIkfYiKz1H\n4gBVvVVGX4VQTQ2B6Yx7IZzLMv24hZMLxyh1iUylLRzm0vx8xxLHlfn5nFNamva0vtLrZYXXy2Ow\nLn9MNIpt4bBy1YYb70WuyXQtdl6OqX4/j+Xo+4mQoAgJYWDR17kdbsMFvRUByWLJ3Cvg9a7M2nd1\nk4uRy9BSvCLDquQxMZzyHv3+qTYVD4nbxv+t4sFJ7KvwHsAROD/hOzvM98BBVmFsWsKhasOn5oYG\ndsA+ht8OcKrfz+7ubtPZFOHWVlYXFnIezMsfU42i6sAsNxUeuaY33hErL0djeTm7YF3aardPJ0RI\niJAYsAyFyZ2ZEI1G+eKLraypCbGgYBr9/jLW1i4cEN89bgwfpv7kajZXos3WqKWHGgyvwIqYQVzB\n/PylDIez8wfbjTjIVmjJ7N7dvn1nTBzarcPwLHRx2rT5rK5ewJEj72B66KWJeh+JFhphGJVW19Fo\nlPPLy9muaT1JeX8L0IPbE9ZgLu5GxiotUksgVRs+kXEDaRXDb4mtaf60abbnV9XQNlVUMNzayuWh\nEGcaHRmLi3s6MiaeKzc9J3JNLrwjS+rrWQ/r0tZIBvs0ECEhQmJAMlQmd7ploH/vuKFtjhky87kS\nhqEze3Lv62ZhbsRBNkJLVtcwL+9Spe+tC6p42WtNTYh6HsOC2HmdSL1R1WLqIu49AhtMx4qnVlKM\nP/dcXoN4Q6JDsafRKoylltQ7IlHcXUE/zmcYyU2ZSPfGN9FApsbwDe/CewrGTMXQHoXu2UgUOB0A\nl+bns8zvZ2jatDTPiar3Itdk2zsSjUYt54cQzi2ynRAhIUJiwDFYe0D0lsHwveMioDH2snO9N7Gi\noil
 tH9ahhkTvRiMLCsqy4oVxe15VQktW3jL7Ukv1QVXB4Cbu2L6DzQ0N9J85KeVz6R4coJUVFU22\nlRRTp07lxDPO4Ebo3QwTKyMiAKsxNq05lOGFMPIPUoWBW4OXuL1VB0kVY6bSh6HC602aiWF4YNKe\nyE1aZfema2U2yLZ3pC0cZovDdboTegtwqdrIdMEiJAYUg7UrZW8ZDN87LgJCdO7DsIG1telPluYe\nCfOpmdnyxLjNO3FKmLTyGhUXz4wNVjM7H6qjs69jwDeRLYEAjwMMYYzS50aMmGj8MU+rpPjTn/7E\npqoqHox9wKxXg2HYjeZQl2MMr4AeIuiA+VO5Wxe8YSBfsDDqGwCW+nzs7Oy0vZ5OhvZhgKu83qTv\nZju0qg/DFqpk0zuiep2WzZ2b0VpFSFCExEBjsM7J6C19/b0zyUGJr9FuIFN8rbW1C9P2oQumxFwB\nhwS/LHlistFTxLnt83U258W5IgJYwxFnnM2fJ7wZBhjErbaf83pv59VXX21ZSZH6BK86rrostu20\nggLTp/JMkgI7OztZ6vNZutnbFY26naFNLTFVGqPdR4mUbsiWdyTXpa0iJChCYqAxmCd39oa+/N4n\nT55kScls5uWtYeqEUTsPQNxrkvlaT548SZ+vlPHqBWcD69YTk6tEXWuvkRGWKWN8Mme8N0SyYDKv\ndAEO8bzzLuamlFkK5jkM8ZdKkmXqE6mb7pEdsM5ZyCQpUMXNnjgcy64axMrQphpO1e+b2hlzqJDr\n0lYREhQhMdAQj4T9966tXdgrA5luyNUNU7xqw+7J2/oaxT//c8YrAxZl9XrnMmHVTVgmtTeE/ooQ\nmBsbF95BI8QSCGxkcfFlrJkwwfQPvlUOg2pJcKphVXpCh578aPeknklSoBs3u2o1SCrLQ6GkY6h6\nYOYp7F+11HUgkevSVhESFCEx0BgMuQK5QOV7e70rmZ+/zNJAOj2JR6NRFhfPpF5C
 mLr/eLKj11vJ\nmhrzklPVoVJm1ygcbouNyQ4TWE5gDoEiZssTk+uE1XSvkftW24HARt5xx52cOvUqnnVWWVJuw3le\nr6XBM3IYQhhLv2+Sq9BMqvF2zBmAnsXfDtiGGTJJClR1s1/o82WUbNjZ2cmZxcVcm7C92/kdVvt3\nU+pqR1+LkVyXtoqQoAiJgcZgqF7IBc7x94MErqBZ10VNe4Xl5fMcn8TD4TaLMkR3yY7d3d2xDo1W\nXg3za1Rfv4RAfcpxFpusJ/Vlnm+RSq5FaLpHQiXvIbED5UF6POfQaiZF6pO0pcFz6YI2eyK16uWw\nCeBcgOv8fqWkPjdJgdFolNcozrSoy8sj4a66wzCY7UgWSm48MD0/O7SgztQY90aM9EaA5LK0VYQE\nRUgMRAbj5M5sYPW9R468IzZgyWr+Q5Reb4XjwCh9quRcunmqthIFmVRC6CGV1DWqJSH6fF9wvO65\nDoulJ4qqVmIsJnArA4FSbt682XImhaoL2ujwmGhQwq2tbH3xRVMjY2UEjV4OXwRYMnw4qwsLeYlF\nwyY7VJICDQO6ND/fccrm6rw8/hA2JZvQ53HckFJlkHj+EoXSewAbAcvx22bzOzqQntvR2/BAb8RI\nNrwhVtepu7u7Vx4SERIUITFQcZtlP1Q6YZoPV2qIGSSrv2FtdCrHDAZbWFQ0k3pIwd1Ttd3Ey8S1\nGh0cQ6HladdA94asMdm/anjgZUdPVK4TVqPRaMwTYyQ+qh1vGC5gbXGJY1ljd3c3Z5eU9JRpmhma\nUHk5GysrkwzKMeh9E1Z5vZZGpj+bLSUaUJVSzFKfj585bNcOcLLPl3Q/mIVwjKZX8wFOBbge6d00\nzWZ1pFYxZCNhMVMxksvQRDYEiggJipAYCgz0jpC9xdlAqj0ZFxZWE3gyRThk5yne6RpUVYVsjmO0\nZd7A5HbQ8RbQABkMbrINS+TSI2F0ibxs8mSW9SQ+KiaKYoz
 jH/vOzk7OnT6dZR4PywH+L4CLoD9J\nLwL4RU3j/OnTOW/69CSD4qZHQn81W0o1oFZhlTtGjuSC6mouqa/nk3AOR6zOy0syuk75F1GALwIs\nApRndajum3AuocxUjOQqWTJbAkWEBClCYpBzOuRUOBtItSfj4uI5sWTHRA9A75/i1fI7JlLv3Gh1\njCiBFwlMY7xj4wEm54R0cO7cZZbrcJsjYRdztuoSeU7MYIQB1uDz9CbNqTA5Hm5hm8Mf+2g0ysbK\nSl4O9DRruhPJ7vz1AIuGDeO6goKkA6jE/1d6vWyoqem36gIzA5raInsxwMba2h6xc2lenmujq2qo\nFyqcs0yrTew8EpmKkVyVb2ZLoIiQIEVIZJm+DjGcDlUezt9R7Um8oaE5Vn75ArNZfhlfn/UQL2A1\ngR86HkcXEFa/76LPd6FteEtVVFq5dFefcQYvGD7c+MOY1iVy2dy5SfMibHs84CCrMbbnidfqj70x\nXtsYWmXlXTgE8NLYWo0ExDKoVSQshvvqgmzh1oBGo1FO9vlcG10lwwhdwLjtdJkNo5upIMhVQ6ls\nCRQREqQIiSySqxCDnTgZyH0nsiWqnJ/4H6bXu8r2HBhiqqOjI5b0uIbAD6i3u1b7rBX6NXAe4gXU\nOVynDYxXOJhfx7y8urS1JHoW5pWVcZS/NG1qZmIS6MmTJzmrqMiyu+IhgDMnTOBbb72VdK2i0Sh3\nbNvGS/PyeioI9kLv8fC51B4PKXMqjD/2xvTJRA/I8lCIiwEld/4qgDMRT0BshFqPhAU2RjLXZGKw\nltbXu/6Mk6v+IPRckvcAnoRenbIWUMoZyUYYIFMxkiuPRLYEiggJUoSEC+wMY65CDE7iZNq0EAdi\nJ8xsiyq7KomqqiaWl4ccz70xVEqvnDAGPzURmEqrjotW1824F0Kh5TzjjGKqDPECJtts006gkmbl\nrfFXC4En9fsuJhzmlpVxit/PO/Pzk6
 Y83pCfz0J/CadNC3HWrOu5du06fulLX2JpaSkB8FaHP6Cp\nf9AND0ZLalIadGN+JcDLY3MqGjGGbUiPvXdAL2tMTWqb7POxEfpUThWD8cWEn5W7NgI9a1JxV6uW\nGqpsl4kBddMBM/X/E7uk0r3PPNOTI9Lc0MCdO/ThaCo5I71NWM1UjOQqR0I8Ell8iZBQw8kwPvPM\n3qyHGFTEid9fxlx6JBIN5qRJtRw9uopFRXMYCi3ntm07TCsUciWq7CpZVMoxrUMkRrKjWimncS/o\nA6qOU3WIF/AFAg0Ekr0F8aTKeXSu3viMZ3rGs9Lr5SKAtYClZ+EgwHM8Hqb2bZg7bVpGw6asDEA7\n9LHc0xHvc2CWwHcn4r0KEvsjXASwAvoTshvvAqGWI7EJ4A9j2zVBr/KwMw6qmfyq22ViQHvjAchl\nUmlv952JGMlV1YbkSGTxJULCGTWDPpX2JYqkW4Oukv+Qn38DR46803abTHMkDIPp96+j3kiphclu\n+7Wx908y16JKBaeSWfswkDGeejH9/jLLcttoNMrKykYCDzGeCzHVZr/xaw9cFds+RL23QmpSpbmg\nSa7e6ODlGNNjtFbGjPgSCwO+9swzedttt+ktl2NPzHOKily5dFX+4G6ALgwML0UTkksKDyHeq8Cs\nP8KT0EMWbjowEupdKqMJPzcBbKqosLyHVIxWd3e3K+OWiQHtz5LVXJKJGMnFuZCqjSy+REg4o9q+\nWU+0s/s76C7EoJb/8B79/qk5efqPhwHs+hy0M7ENcq5ElbGm3uRcZKPPwjPP7KXXW8HkXIjUJlfm\n+42LhJk22xuCppnAhUyt3kisgjBe7dCf5o1kxUQD3oH0cILbigBlF3DKmpqgN0NanZfHubF1WRn+\nKHQhscHhOJuQ3IGRsC6ntOqRsAF6hYQZKqLpjpEjuXP7dtdPs24NaDQaZeuLLzJUU8NpBQUs8/u5\nsLZ2wM+2yBW58
 LRkQ6CIkCBFSCigmtCoP2Xab+PGeKoavmnT5me9E2ZcPLltg5wbUeU258JMdNTU\nhNgbgRONRun3T2F6PoXq/bEi9t9qF9vH30utgkgyWjEDazyBG5UNywF+AWAVwJ2x99sUDHaiEVRO\nSkt5b6XXy8baWs4sKmJX7D27UEQndO+KXRLoXJiHTYxyysUAp8C5R8LC2lrT3AbVNt1FGZRnuiFb\ncy0EZ3orUERIkCIkFFA16B5Phe02bt35bioy3HbCVD+2GyOZ+HP2RFWyd8SsvDJ5YqeV6MjPv4N6\nnwarVtv21ygcbrOoDnEjtroIXEqnoV96ueiTNESh36QKIs1oxf69FuBspLdWXhsz1B3QvQJWBjvV\npZuJRyLRkCZ+3ik5shN6iedtSJmBEQxyTmkp16eMGU99rfR6GXZYaxf0rpBmRlq17LIEivkcLksS\njfs9l0OmhOwiQoIUIUFnl7mqQfd4JjL5aTWxr8Dl9PvL2Nqq7pZUDans27cv6+ckLp7URJTuto//\n7PVW2X7GjagKh9tieRrW5ZV+/7oe4aTns5hXYdgN/wIO2oaBrO8Do821+RCv5CmYeofNCy6otdn+\nIEeNmsqLL76G5eWNLCwoZivMn66TjFZsm3pYi4R2gJMRL/9bnZfn6NJtC4d5Z36+3Q2QNvTJWNOc\n4mIurKlhpdfLZujhiy6b/RDgZwAvKSoynYngZGCn+v3scNh/B5IrPxJf10G9CiRXHolcj70WsosI\nCfK0FxIqLvNwuI35+fYJjUALR4xYwpKSS2IhhqPUSwI3Wu7XifiTuHnDH91AXcGqqqasP5301iPh\n95dlLW9DH7ZVT/uKhrlsaGiO5TDY94UAVhJYytSERq+3gnv3Wosye89UhPpY8LVp+01sc52Xt5LD\nh5/JQoCFGEt/Sv+Fz3lvZ0VFQ9L94cYj0BYz6nbbrgX4oI3BNkswneL3uxr6ZKwpNT9jDXShY+
 VZ\ncTLAKuWNTkZ4LdJFj/Fqi/3e7vMt0MNEKsO3du7Y4fr/zVz1TRBygwgJ8rQWEqplit3d3RaxceNl\nPHG+x4aGZra2hmMJhxYd/1wYUt0wVtIukz8XFRC9yZEIBlu4b98+x7wN1eRJfdhWi8MaNrG4+BLl\nclhgIXXxk1g58Z5tuMXZM9VNoIrAdTRvc32Qfn8pK88+m+2xAU5hgA0J/RceBthUVeW+D0HMOLrp\nq+DGGM0rK2MT1BMaieRyz8RXYgWH6XdRmCJpFdNOHZBllJgaDbQegi5krI5teHQsB4chnoPSaLOd\nkQB7w4gRLPP7GZo2TXmqZK46OQq5QYQEeVoLCTftpcvK5lF3X9uV5ukJhNlsW60brw7GGyiZGSjn\nfAO3FQ+9qdowRJJd3oab5MnRo6scDLh+DgKB6THR5TYUE3/fLgFU5boCNxEoJXBr0n3i929gdfUC\npSdms2x/W5d+gmFuglrs/kIFg51Ic0MDO5A8H6IM4CMWRtlJLNwBc5GRjfh/JBLhvPJyVni93Ijk\nPJGvQp+EaecROQHwCx4PN8BeNB0DONXv56ZU7wjAEPTBWGkjwBWSJcUjMbgYskICwK0AOgD8BcAh\nAH7fI5AAACAASURBVNU22562QsJNMqMbg57NttXZKFnMtMuk0eRJz0+YS2ATk0XUmtj7J+mmSsRt\nw6qiojlK52DEiMnUkzxVPRKpeRL21+Szzz7jRRddSbvchmHDivj3f7+Nzz77U1MBlamRMFz6ZkYr\n0bipxvinA64MtplXxKrsMrHc024NdQr5GZlgCK92mwZadiKnA2Do4ou5ND+/RzSZVYG0BINsC4e5\nc/t21uXl9WzXBt1b4WaWhdO5Tn1JjsTAYUgKCQB/C+B/ACwFUArgEQCdAEZZbH/aCglnIx0l8HMW\nFJSxqGgO8/IuZXwIU/r2hpchG8bfoLeixI3RNvNatLaGY50tm1lUdAkLC
 6tZUjKHDQ3N3LFjJ0Oh\nZtdVIm49NnqOhF0jqTCBRbFk12uo5z/YtZreQGAZdU9LvILjc97bGaqJ1+lbTcAExtHrvZ3JIZtN\nSiKqN25rw6W/rL6eF/p8rMvL45Ox7Q1DXD5+vGOMfw3AQq+XS+rrlXsSWHlFjLLLLwK80Odjc0ND\nUrmn3XecU1yck+6LbkJBVka6LRxWrpxIFYcq3TbthIBUbQwuhqqQOARgR8LPGoD/AvA1i+1PWyFh\nb6Q7Y4YmOVlSN0KzCSyhVQliNj0SvQ2TqH5+7959ORk45v68p5+fcLgt1o7a6hqlVnKsInA5zcs8\nEyso4v/WcJBVGKs/UTtMwPzTn/6UcaltttzWVnkCXV1dLPX5LBMj2wEWAfwU7vsSqDbv6W/XfKbl\nqqlGWvX7popD1TwVu+8/VLtaDkWGnJAA8DkAnwFYkPL+dwH8q8VnThshkfrEXVOzkPn5Zk+vRjmf\nVV7AIeou/S4araJ9vlIeP36cpHrZZk1Ng2OewosvtsYSPdUTNxO/Z0FBGXV3v7UnJRfdMe1yMtx6\nbMxLOp2u0UEC5QTeo1UFhf7awHxck9ajwWoCZm/pC7f18ePHOXnEiLTJjmugl36mGjk3T7gqzXv6\n2zWv6vWp9HodjbTK900VLqp5Kk7JkrmcmSFkj6EoJMYBiAK4OOX9/w3goMVnTgshYZUnoJcKpj69\nuq9U0LT2pBCB/dhrI4Gxw/KJ/+TJkywurmVe3kwCRbHXeia6073elWmlglbfMz7O2uwp/UXlMdy9\nOdfGd62vX0K3Hpv0oVytdB6UtZLAlTTPZ4kfpxZjzLtFmhg71amQVvSV27q7u5s7t29ndWEhS4YN\n44WaxgdtDFw2DXt/u+ZVPRILa2uzYqRThZPqFFNJlhwaiJBgXEjMmjWLTU1NSa/HH388aye7P3E2\n7Adj8xOMp9dFSoYutYVxorG1mkZp9lSc+sR/8uRJ
 +nyl1MMoxxM+u5R6Z8aG2LEfTuoh4fw9E936\nie+rfd+GhuZen2tNe4WlpXMYCNiXc5oJl8QqEN3TonKNmh226WIlzlb6Y5+ttsV97bbuj1BDf7rm\n+9ojkiicOqE33XLsRSHJkoOSxx9/PM1Ozpo1a8gJCQltmKASahg58g7W1DSysnJBzEhlUkKY/BRt\nGL7a2oWxTo9WT8VxwxmNRllSMptqXRKTDa5aeWKyJwWI0uOZovR9fb7JjgZALSdjE4uLZ7oKpaR6\nAs4qmKx4jeY5bNPBRowx/WWi+9npKfsQwFKfj8tDISUPRV+6rfurL0F/ueb7wyMSiUTYVFXFCq+X\nh2A/kbRdkiWHFEPOI0HSKtnyAwDrLbYftEJCtTeC2+Q+9SFdK1LeM6/EcHP8cLiNeXlrXIiB3qy7\nk3pYp0bxc1c55kqormHu3GXKg8bMPAFzMEbpOHl5dbbbmE3TNF4diD+lqzzlbgL4Q+R+sJLb8Ep/\nJz/2B/3hEQm3tva0ErcqjV0LcE5pqSRLDiGGqpC4HsAnKeWfJwGMtth+UAoJN70R3Cb3ZfZkT1pV\nYrg5vnsxEF+36nH0XIl36fFcRD0pcS/1Sge7z20g0OiYK+HmuzoNGuvq6uKxY8dYc/75abMjwgCD\nuNVeJPR4PqznblhN0ySS3c9uKwFylQeQSXilv5Mf+4pUgbU8FOLO7dvZHAr1iUck9R4xSmMTe1E8\nCbC5oSEnxxf6hyEpJEgCwC0AjkNvSHUQQJXNtoNKSMQrGcqoP00b5ZfxcEGqa9ytR6K7u9tVeCFu\nuMyNrJvjq4uBBUxdt+pxRo6cSp/vC9TnQkSpzwS5nPYVEE00EkR710aalvvo7Ozkvn37uPSGGzjl\nrLM43uPhGIALkd48KAqwCmOpWVaz6MmvnZ2dLC2dzeEpnSaDuIUBjOXPLRaZKgQyGaWdbeOcqcu+\nv5Mf+4KBMHZbWlufngxZIeF
 qwYNISBheCH2Aln1FgtvcAWN74xh+/3qad3O8k+klhPYlkm6O79Yj\n4f576k/p+jyI44xXqERi38ssObSCwP8TO2bv20gHgy1sbW3l66+/zkceeYRf/vKXWVpaSgAcC/B2\nJLcV3gg95pzaKTECsNpk8NVw3MrS0jk9xmN5KMQfID7TogFjuAPgDdBbRV8K8AdIbuyU6v7OpDdB\nB7IbLuiNZ2Eo9yUYKELpdAwhCSIk9AUPEiHhviIh/tSrUrXh90/liy+2pmwXZXJL7Gs4bNj5DAQ2\n0imu72btiSKktTXM/PwbqHtaEhteJXo/9LBKYsmp6nHiFRNN1D0bIep9JpoILCewM3bM5GFWQF3s\n3/YeCedzfYgFBSXMz88nAHq9XpaXl/Omm27izAkTLNsaW02YjAJ8EWABxrIkNvjqB0h2Hyc+KXbG\nREnqDIQ1ACdoGm+YO9fU/Z1Jt8RsP3321lAN1b4EAyV0M1DWIfQtIiQYFxKlpXWOg5z6E/d5C8lP\nztblmBtiRvQY8/OXOvZTCAQ2cceOna67GlodP1GEGN4QfQ1WHpd2AnN7hkClihen48R7OCyhPprb\n7ljG9+4icCGBqFI/iRMnTnDKlCvp861LOde3MC/vXM6bN6+nS+Sf//xnkr1ra9wBcDHi3oAugGV+\nf08ComGAjaFWVtn0h2A9f8LN4CwVo54JuXKd97Y3Rn8zUDwBA8UzIvQtIiQShATwKnvbEtnthEk3\nn3GfhJj+5Gwcy++fRuAKppdjZq+1tdV3tUouVGtiNY3DhhWxvn6JrXixO46eg9FFvc23ag5IB4Fl\nluGbkydPms6k0DQPCwqKOXr0dE6fPo979jzO7u5u0zX3pq1xC8BWxPMTDGFhxMeNiZu9nYFgGR6A\n+SjtbD995sJgDoTcgt4ykHIThnIISTBHhESSkDjc8/9dJi2RrasoWlhSMpv19UvShEIuKi+MJESv\ndyX37d
 uXtk57z4b71s1uhZMVqr0uwuHeGSZdkD1J3Xtj9z0TvTsbmJ+/lNXVC3jixIme3IYvfelL\nLCkpMf4nSptJ8d///d/K68okmZGIewLeSxAZiZ4L4ymwoaKCs2ICown6PIQ2pIdKrAyx8dS+PBTi\nzKIiVhcWsnjYMF6H9KmQUYD/CLAoL4+zi4qUe0vYEY1GuWPbNq7Jy7M9R27Ey1B5gh4oHgmDoRpC\nEswRIUFzIQG4a4msEhdPnE0RDG5mZWUjy8tDyk2J3HkkXiFwRVLXRwP7/agdY8SIyayvX8KSktmx\nEELvh1xlc9CX1TUKt7YyVFNDTblvxAoChzh8eBGXLLmBFeXlPMfr5dnQkyKLJk3izTffzO9973t8\n++23e/WHUtUYLIa5J8AQD2YhhrV+P+uKivhVJOdFbEZ6EqfZk6vVU/umQIClPh/X+f09T59HAZYD\nXJVyrFUeD6f4/dz7zDOuz5Nx/JZAgPWA5UAut4Z/qMT0h8r3EAYnIiRoLSSA91hT06D0tJ1Z34WH\nXc13UDvGBuptpPWqisTPG94D+66VKjM2NlBPUKynVWggE49ONkePp5JoCDsA+nC+0rGASuoCcDTP\n9Xq5Ki8vZ+5vFWOwDmAj4jX5hiegHeBc6A2hUkMMUYD1QFofih7ji2Th0YHkJ1enp/Z2TePs0lKW\nFRTwcoBTbQx9O8Byj4cXFRRwXlmZUi5C6vGtGh1tysB1PtCe5DNlqHhWhMGJCAlaCYlOAo1pSX9W\nT9uZdYJ09wSuUnkBTCKwI8FI6p9PDqEstjmuMVHSqoHRK7Hfz6ST4HDj0Uk/h1ECYaZXbrzn2iNh\n9ke2XrErJLCQwGccOXyidTVFlv5IG+s8aGOEJ8fEQqIBvQ1gKfRSztQQA6GHL1ocjGViKCT1yVVF\n4NwxciSX5eer5WAAfBi6J6QDcTHW2dlpmvAYbm1NO35qo6O6vDw+uHOn62uQGk6KQm/
 01Yx4+OdF\ngE0VFb26tn2B5CYI/YUICdJESNgbU7OnbbWn6c9iBtgwjmXUJzhajbYmM6m8SK460D+fLECcvA4R\n6n0T7mB6P4UFsWNUKxliN0Y/7nHpjK0/fXqn11vBvXvT8z7sMDOEKl0h4x6kDhblnWtvHLPkNo5E\nIpzq93NDilgwQhidMQO6GGBZzJA2xLaxWlszFCcxwlwUuQm5uDlWonh5AfqcjhaThMcpfj+Pqewz\nA69B4nezKovdCHCq3z8oDLHkJgj9gQgJ0kRIOLv3U5+2nT0SndRDAWtSjONGWo+2pqkxNjpbejzn\nELiIuiBZSP0J3hAlRtXBe6ytXZgSEjGEkplnI0rgn2L7nE1dMFxCXfwY1R0tBOYw22GIaDTKykrn\nDpOqIROjkuLSSZPSjJtTV8jEqo0z8lbyyRwZMjPCra1cmp+f1FY41dOQaISdvABNsB6dbby6AFZ6\nvaZPrqpJoE0ujrUAcUFhlKRahV4Oxn5v1ca7Z58ZVCQYItOpLFaGTAmCNbkQEh4MenYDaLbdIhJp\nxtatu0ES4XAbTp78EF7vdoutCWAZgLsBPADgfACe2H+3ANgc+z3TPhkM7sL69UuT3jt16hRuvvku\nRKP/F4B9AH4JYBuAnwO4GsApANUAypCf/w2QnyISSfw+Wuw73hs79nHok9ePweutBPAmgJ/E9vcU\ngMsBfARgKoBXAbwOYAL0OWh2fIBx4wodtklYlabhrrtugtdbFlu/GTV4550yvPTSL5Le7e7uxq9+\n9Ss8+uij+PKXv4zS0lKcddZZCIVC+G1HB8anHgvAfvweVVgIL25D/Bwch35O7gXwGDTtNfjO2Ivr\nHNY+HsBHH36o/F3tmHXZZYiUluJGTcO/AfgOgLrYmoH4Fbg09nMdgKMAXrHY3xlQuVLAeTNm4On2\ndgQCgaTfFY4bp/T5kQAKFY9ViNg5A/ASgOkALrbYvgbAFAC/sP
 h9zz7HjXM4cjp1s2bh6MSJeDS2\nBqu7bgaJsnfewS9eesn1MQRByIBsKZK+eqHHI/EwgUXU8wyWM72bYuKri9OnhxLyDjqoz2swC4e0\nUQ892D2obWK8o6KRE/BwWtWFkSeh1v+gg37/NJaXN9Lce5DYtbKRHs8XbIY7tVMPd1RQH0u9l9nO\nkSDVc03q65ea9m0wukTecsstPZUUy0MhS3d7FOBegCNxPoFy6vkjYQLv9TSwWlJfr+Suz+YgIrf9\nGiKxJ+rbgbT4+CUlJdwUCNiuf3VeHmcWFZkmP+YiR+JAbH1lAJdCPRxiuc9ehJYikQjL/P4hkXQp\nCP2BhDbIHiHh8RhJiHYdDuPGbMSIC1MMr9WshkuUjCNwadLxvd5VLC8PJbma3VWHdHH69AZF4/wD\nhdHdd1AXHkbCpVV4JLOqDdJNr4yzCaj1bVAxhF/Lz2fN5AtZWFDMUf7JrK1dyHC4jd3d3dyxbRsv\nzcuz7b2wFuDM4uKsxtET491lBQVcDPNkSuP1HsBQTU1afLy7u9s2o/8Q9IqPLphXoqhWBDRWVrId\nuqCxLM9EvEKkBeAj0Gd9OIVDPgNYgeQkSOM6ZCPZdSA1dBKEwYYICTLBI5Fa/klaTbkE1hP4W5Pt\n40/5Xm8lq6ubOGxYsaJxXJD2fu96Sej5FSriIy/vUhf7JXWxspd6HsUqJgonr3cl/f6pfOaZva7/\nuKt+v+nT5yn3bXAyhAeh5wd0IDnJb+706QyVl6cnACK594JhHNth3V66N3R2dnJmcTHXOhi6TDpS\n3glzD0eqcVapCDC2Wef3cy5MvCMJx0oUFJfC3iPRCb18NbUHxkaAFV4v55eX91rADZUyUEHoD0RI\n0ElIGEYzsf/DKwSmxoyn3d8evQ/F6NFVLo108svrXcmamgaGw22uulsaoQX7stEogYfp8UxU3G9D\n7N9HqSd6rqE+FbOMes8FIzTQodSYqqurK
 6lL5LnnjiccqikyCZlYGcKVXi+vMDGkUYCXA7almGZ9\nG1qCwZ6SxWzMbTBEkPGkb5cMONXvZ2N5ueXxEj0cc4qLWZeXZ+vhSBUmKhUBxjbNoRAvOPNMTgJY\nCb2iIwzda5IanvkBwNUWa3BKxMxWEqQ0dBKEzBEhQRUh0UE9Z6GD8RLIeQ6G9ySBywh8le7bMZsd\nfzGDwc30+8uoJkqm0+e7kKHQcobDbezs7DQpGz1Kr7ci1itjkeJ+p8U+20i9b4VdBUi6R8VqJoWR\n23DzzTdzwoSZlrkamYZMyHRDuLC2lsvy800NqUqsfzXAB5E+pKrM73c9t8FqaFRiDwWrRky3Q2/y\ndMzF8friCbwtHGaFx8NWwLYC5TPoU0fN+nS0AdzgsM5sGHhp6CQImSNCglQQEsbkx8QBV3Yu+JME\nShlPiLQ3tnoio1n4JPH4RtjDuRum7iX4IY1ci/z8O+n3T2FZ2TzW1CxkTU0Dy8sb6fdPTTDYOwms\ndthvC3WPw07qZaukSqmsz7eO8+bNV55JoTIlNBvYGVM3/RASmxg1ArwI5nkUVsbIbmhUag+F1EZM\nZdCbO5mJITvj1xc5AdFoVDmJcUl9vanH6NJYJ1HH65CFkIM0dBKEzBAhQSp6JBamGHorAxql3nQq\ntUrDPBEzL28V9RbMVn0kjOOv6Nm/11vhUF1hJkraqYsZPeRQUjKbfv/6hN8vpx6qsOtoqfelSG5G\n9f+3d//hcZV13sffdxMQ6Y8kAmmL1iLpT8S2JC20QlIQTZW2IOo++7Bqo1vUfVAEhKD8qLpdkEtb\nVlp/odhlKa5VuJ7HKgUthW3SYttQkqXFVbSFslZpKdBppahgk+/zx5lJzkzOmTlzMpNM0s/ruuaC\nzJw5cyenyf099/29v3e0nIZRoyalraTIdWeXbffOfIXd7WfrTKPWQ7iI4CJGQXtYGMHTBbnyN8Jq\nKPRlJ8/+yglYt26d
 XV1WFqmNQVMnF0ya1K9JkCroJJI/BRJmEQKJqw2aLH0FR9goQ6v1rL7IPI9/\nueU8q6iYbieddJp5qzr8ZaAzg4DMaY8dVlHxjoDqltdaao+N4O/Df56t5gUwqc9amPx6ofVedXKz\n77xHzRtt6fS9rzj7YxRCtrv9bHfLUUckphGetxC0eVZm5xxlbv4GeopPxWljUDDQXzkB3TkeMacM\nlAQpUvoUSJjlCCTaDKYmO9zMFRypUYZrfR3vZckOOVfn+qLB6QZXWfYlp0GrRo5abe3CtDv2ysrp\n5k1nZCu3vcfSEzpvsp7AYrF50xZ7rCfYudjSp3O8c5TzNst3RGLBgstDRwaKdbeX627/Tgi9W45y\nt/95sKYcx/grUBq9754jd5QBz0euIhlwt96fOQF9mTJQEqRI6VMgYeYLJFIJlf478XkGH/X93coc\nHWiznhLS86y8fKJ50wTZOtcuy7ZzpnfOecmOPmiEoadsdmozrrKyOst/ieke6wksWs3bNTRHvgNX\n2B3496nInSNxfPlVNuv0GjuzosK+MGJE1iTEQgYbuTqhLrzlg0F3y7lWbWwFq8FbcZCtdHNmELCH\n9LvnqLkKFwY8n8+IRNDPdd26dd7W3P2QExB3ykBJkCKlT4GEmS+QuMt634lfbT0bbXm7T/ZewZHq\n6I8mt+j+cY7OtdW8UYxsfcA1Bt+woBGG4GWdcXYf9QcWXeatxMixzwVjrBP/PhW5Ekm32jTG2HzC\nixRtA7tgyhR76aWXQqch4mzVHeVufwfehkxBnen7zjrL5tfW9nrtBrzRgB14Iw5BuRD+IOBi39eZ\nd89RRySmB7TxoyNGRMo/eDAZMIT9XNc98ECfcgKKPdKkJEiR0qZAwizL1MY280YGjlrPtMMCg8nW\ne8jf66hnz55vlZU35+hcPxij0/ce/uWP6YWmco8M9B5N2ZNsS+rrhMH7zCuDfYOlFZni01bLmO4O\
 nMwE2izFWwRXm7Qa6sNd7RnKFzWKMrSP3NMG1YG89/viCbtUddLefuU30P4K9c+JEa9m4MbAzTXWS\n0ysq7EKCly8G5UL4g4DLs3wPUYfuW1taet3Rt7a05LxbXzhzZuw7+igBQrYclDjBXxglQYqULgUS\n5g8kHrCeaY2rzUsq/IilJ0C2mVeMKnikoKWlNbkXxqMWXC77C+blRkSZhqhLe2/m8sf0KpC5RgZ6\n51pUcoVN5k1WxRW+z3nWhnGJDWO0nch4ewPjbQ6jrSWgo+wC+wDYHMZYLWNtNlU2hzE2iVNtAqO7\nl0BGHYI/L8cx+c6FZ97th20T/bny8qydXqTOnuCEyJvAfkz43XNfh+5z3a2vW7cuVo5BlABB0w4i\nYqZAIi2QOOGE0wxqzJvKuM/SRyL8CZDXW2bxKP9IQaoOQmXlTQY/slT+BNSbl0+xyKKNSLzHhg9/\nu500aqpVj5pkF82eYy0bN3b/Ye5d5TJsr4/MKRgz55umaAGbzxir41R7F6NtPt6d+h5yVFMEOz3Z\nWfo7sTnOpXXgUZMC3xsh2MgnO98fAKQqJLaRPiKR2rMhW3nruAmR28CmnniiLZ4/P+vdc1+H7rPd\nrcdZ9RA1QPAXy8onSBGRoUWBhPUEElOn1pu3LDLob2L6rpreCofwQkmpqYc5cy61srKZlj4VEmUa\n4nM2/PhTrTm5RDHzjvCBBx6wN598ZkBA4l9iOt/gTBvGpebldiTbm5xyCJrXvxJvNUNq1UJYNcWb\n8TZRWkd6gaT68nI75y1vSQscoo5ILI4QbORTL8DfIbaCXUf2mg/XVVQEdnpREyLnxQgC/G0txtB9\nnMJTUadbLp09W0szRUSBhPkCiZEjg/e66Hn07Ko5fPjUSIWSgve5yDUNsc2Gv+G00P0FtoLNwFsx\nUJVjX4pK/o+toGfEoZrRoZUQ28AuwBtluAZvo6Q2eldTvBxv18bMQkmpO9XM
 bbujlpu+rwid0sGD\nB+2dkyfbVLApYB8kpOpkMhAI2go86l39rOrqkpu/jzMiEfU900aN0o6ZIlKUQGIYg9Qrr7w/xxGL\ngdXAXv72t67MYCSQc44NG1Yzc+YtVFbeBDyH9/O+hTI+wTA+k3yuC3iOqqolTJnyBf7pDQc5J+Sc\ns4EFwFighv+LY1vwZ7ONifyEK4F17OcJnue3vMBDwJK0T/W+vhV4A7AGeD8wGvgYcC3wVuC7wApg\neFkZ3y0r45bkd/IcsKSqiltmzuSehx+m6frrWVVV1d2OeuBJYHvI97M9+frOkNdTVlVVsai5OcdR\nPRKJBE2NjbzrwAF+Dvw3cDvwCHAJcMh37CxgJvD0rl29zrOouTnt+wlr2+33389Pn3iCux54gPqG\nBpxzkdtaLFHb7v+5Hti3j3E5zpt6fW+O4/YC1WPH5mqmiEi6QkUk/fWgO9lye44RidRyyZsMzrZU\nEakou1x2dnbanEmT7dzkyMCCZALjxuRowRROtco3vs3mzXuvnX7iiZHn5FOrJ9ITJvdYOVfYyckV\nE0FJkj8CO8O5tI2UWpIjB5krGy4Fm5/8//ryclu5YkXoKgez4Dn2bFMkF9OTCBk2CpNv4l7OeX6C\nq07Oqq7O/1wlnFSYre1deNNY0yoq0lZlZI4ohf37mz97tnIkRERTG5YWSKzLEUjsMfiQeYmTi9Ne\ny7UrZZR55yvAJk6YYNNPPjnSkPE0epYw3gZWzRgbk0yY3Jj8Yx+258M15eW9phIW49VGyJZHsINo\n0wtBCYTPgn3IOTszGZhkLqV8FGzq8OF2UwHqBcRZaXEU7ILJkyN/P3Hb1t+C2v4kXjGuq8vKeuXg\nnD95sjVXVOQMEKIsPy3VAEtECkeBhC+QyJ0jca15qy6us6Atv1OFovyOHj1qO3futHefeWbkueqo\nc9T/4OsArsarxBiUQJl59/24czblxBPtaMZxC5KPbHt
 HLARbWFsb6R9XUALhgw8+mLWa4sGDBwuS\ndBhnpcUegnMksn0/pZILkYu/7Qtra+0dFRWhNTvakv8+wgqI+QOEwRxgiUhhKJDwBRJTp9Zn2VVz\nm8EFyf+Gbfm9xxobF9lDDz1kS5YssXe/+902cuRIA+zNRN8XIW7dgmyFkTLrGXyksbFXR3sR2I05\n2ngD2II5c3r9Q8qnumF/dMiRVyv4vr66vPyYGIaP8u/rxspKO3fy5EgBwmAOsESk7xRI+AKJlpaW\nZP2HGy29DsNN5k1n5Npd86jBqQbYySefbAsXLrSvfOUrtnHjRmuaNy/aEsj582PN72cLMFLnnlVd\nnbZdc2ZncinRlmlemhFI9Fd1w3zkOyLRhlfzodQ6v2KUn476s0l9lgIEEcmmGIFEeRHyN/vFyJEj\naWtby6ZNm1m27BZ27XqWQ4eOUFl5PInEa7z44jnAMiAsG38vM2ZM4/77W6mpqUnL2n9qxw6+sX49\ny7N8/jeBGfPm4Zxj9YYNNDU2Mm33bhYnErwV+D3wPbzVB/eEtGIx3uqL+oznxwFjx42jvqEBgPqG\nBpbX1LC9vZ1ZXjDFUYiUrd/5+uvdX5sZTY2NLPGdB2A8sDSR4PEnnmD+7NlMqanhxf37qR47lkXN\nzUVb1WBmbGptZd/LL3NHWRlf7+wMPfb7wHvwVqxsB2bW15fESouU1KqTGc88w5JEgnF4qyBWbdnC\n8poaVm/YQGVlZd7njboq48X9+2mYO5eGuXNjtF5EJL5BG0iAt1xz7twGzjvvXH7961+zdetWtm7d\nyiOPPAq0An8X+t6qqlWsWHEjEyZMwMxobWnh3uXLObBvH8///vechNdhzQp473bgV8Ch9evhgb+L\nswAAF99JREFUyiuprKxkbVsbmzdt4tZlyziwfz/P7drFyj/9iVsJD2XGAQcCns9chhcUrJySPG58\nlp9P5nk2b9rEjGeeSQsiUhLALc
 Cc3/6WK3/724J1hGH8He+3EgmuBB4Hzg44tg34f8B+oAmwykrm\n3XhjwdrSV7kCtO3t7TQ1NrK2rS3v4Kd67Ni8r7OISL8q1NBGfz1ITm2sXLmyV25DWVmZzZgxwy6+\n+GIb9cbTLazypX/VRtBQ/zywl8m+BPIlshfviTwkTe8y0B8dMcJaW1p6ndM/v33uxIn2ufLyrOeP\nuntlqiR1aOJmgTP64yw5TRSpLXHanjl9sfKOO+zmIi2tjFq58ljIFxGRvlOOhC+QgN65DXv37u0O\nCnbgbZ9dkVGzwV8iOyy/IVUmOqhKZGoJ5B6yL62M0gFcC3Y+vZdvXl1WljNfIU69hLCkxijVLAvZ\nWYX9bPw/77PA6srK7Md4iZZ7GPjVBWH5JeeVlxet/PRgroshIqVHgYQvkFi7dm3aH8+gP7ipYk2p\nIlKjKyZbS0tPAlpYh1aIjjVXB7AFr7x1lGV7YfJdzhc2IhF1f41C7cMQdbTm0jlzSiZ5MNv1jLrR\nWdzy01q2KSKFomRLn7uXL2fV0qXdCYFm1mv+3wFzgbnsB2DJsCqGObrnqVcvW8aSRKLXueuB5WTJ\nkXCOnRMmsLQ+M02yR7YkzFVVVWysrubv/vhHzj5yJPD9s8yYtns3j23e3J10mSkoNyP181gakIy4\nqLmZVVu2sDTjez5AtMTNA/v25TgqmqgJhJ2vv85d69YV5DP7Klt+STX556vkI9/rLCLSrwoVkfTX\ng+SIxDrSly6eWVFhO/K8q85WvyA1Z5+57XahdoqMWtq4kLsx5prKKbURicztsgu9tLJQbe7vqSER\nkbg0teELJNoz/lBvpfcOl0HDyxdMmtTdGc085ZSsHVon2BfBphx/vJ3xxjfarOpqW7lihXV2dvb5\nYsbZMroQgobJf4SXr9FfHWG+CYSlUPsi2/VKJav2ZZpKRKQ/aPfPLGYDZwKPZTlmL3D02WdZ8uCD\nrO3ooPnFF
 /lGyLEJvF01XwV+8frr7PzLX7j2wAHuu/Zazhw5kqZ589jU2poKbvKWWtaXTTGW9aWG\nyd/zk59w6/z5XFpXx4b582mfPJnHQ4bIU1M552WZyslHfUMDT9bUsD3C55n1LK1cmkgwHhhGz9LK\nJcmllXGvQ1TZrpfD22f2i8DnysvTd2r17bSqKQgRGZIKFZHEedCzO3bq0Qlcn+M9gSMS3cPhIXeM\nLWDngl0A9n68EtML8DbTujNjJCPzDjO122Xm6oqb+3BHHOWu/Jrk7p39cSfb3wl9UT+vVJY/RmnH\nTZWVtnLFipJJEBURyTTkpjaAPcCNwCl4OWvVwBtzvCc0kDgKdmHGc6kg4IaMIODGZCCxA28TrRnJ\n/88c6i9WjYVcqzra8OpZ3FxZ2W/D9/29D0OUz4uTT1GstmoZpogMdkM1kPhsnu/JOiIxvaKi+y73\nKFgj2LawIICefTC2gU0oL7eFtbU2q7q6u/MqZiJd6q6811bcRCvCNNAJiHHk2+aByiUJEmUUZTBe\nExE5dgzVQOJ54CWgA7gOKMvxntBA4uaqKmttabHWlhZbfNFFduab32xznOuuGNlK72RM/8ZZV5WV\n2abW1rTOq9grGrq6umzlHXdYfXl5r6JX2YKVUkhA9H8PUTrPOG0ulREJ//caNopSStdERCTIUAwk\nrgYa8PIkPwkcBJbneE9gIOG/a0/9Qf9csuJg9x90vGmKRGYnlNEh+TuvYhYbSnXAM085xeZlCXYy\nO8tSGmaP2nnGbXOp5EjkUkrXREQkzKAIJIDbMhIoMx+dwKSQ934MeA04Lsv5awE7Gy/H4UKwt4GN\nLC+35uuus87Ozry29T6a/NofEPg7r6gjEtMqKvK64wztgAOCncxgpVQ613w6z7htHiwddKlcExGR\nlB/+8Ie2cOHCtEdDQ8OgCCROAibleJSHvPeMZKAxMcv5awGbMHy4vWPYMKsFmwN2GdiiES
 NszsSJ\ndlNlZdY/6NeArcS3Z0bGXb+/84qUIwH2XYjcoeXsHDOCncwRiVIZ7s+n8+xLmwdDiehSuSYiItkM\nihLZZvYy8HLMt5+FN2oRtLt2mqpXX+W9wGLo3vL6+0eOsG3XLj6R472fBRYBG4DJyf8Hr3T1oubm\ntPLW79i1i+2HDoVucb0d2AksBfbmKGmdkq3cMnhluafh1cRIVW5ItQ2il5guVEnrMGElxv0WJxJe\nWec+tHkwlIgulWsiItLfBmyvDefcbOAcYCPwCvBO4F+Be83scK73Xwl81Pf1KGAHMIJo+0ZUATfh\nzaV8ld77Z/g7r99/5Stc9sgj/H1XF5+Enj0z8IKIe/CKEqU6zVyBxD1f+xqNiQSX40VM1XjBTH3y\nPOAFSLcmn8tsW6o40vgsn1GMYlaZ8uk8+9pm5xwNc+fSMHduvMYWWalcExGR/jaQlS1fA/430AL8\nCrgBuB34VJQ3v933/wY0AUvwhjQiVYzEG2G4BPj4iBGB1QdTndfq9es5Y/p0GvE690uT/20E1gKV\nyePHAc//4Q9ZPzuRSLClpYVfJdu7NvnfR5JtOeQ7116CKyMuam5mVVVV1s/xj2AUSz7VOUulzcUy\n1L8/EZFQhZoj6a8HAas2/HkMUXMaNvnmrS+dMydnbsOls2dHmgOfOnx46LlSuRFR6lrsAZtVXR1Y\nEKpUEhDzyZEolTYXy1D//kRkaNBeGyFW400FgDcV8CRe7kKQVE7DecmvU9tV55pnfw34Xo52fA84\n7i9/4bHNmwNfT+VGnBPyfn9uxKqqKm6//37qGxp6tS2Vw3HLzJksqaoasL0d8tkzo1TaXCxD/fsT\nEQkzYDkShXSAnryI1AZKTUANXmJlWE4DRJ+3Hvbaa+zEC0RmBby+HW9+ZkxXF6tD8iQiJScCzcDr\nvpyIIKWQgOhPSp22ezeLE4men3VVFTsnTEjrPEuhzcU01L8/EZEgz
 kJWDpQq51wt0N6ON8cBcDle\nnoE/0c2AbwL34yVWphIaz6MniADvbrFx7dqcCZKXL1jAZx98kCV4owaL6R2g/AuwEnixro6fPvFE\nr3NcXFfH2o6OrMNAncC0E0/kl3/8I5WVlVmOLB1mxuZNm7g3o/M8T52niEhJ6ejooK6uDqDOzDoK\ncc5BOyLxFD2BxCK8znyp73UHfAZviefNhIwiZKyGyGZRczP3rF/P2qNH2YyXbOlfcbEUbxvpRmBD\nyAhH1Mz+ORdcMGiCCCj9FRUiIlI8gzZH4t/OOIMvjBzJc8C5QFvy4Zea5rgBuLqsrE/z1vUNDXTU\n1PA4Xk3vu4CfJv9bDzyBNyqxs7IyLTPfzGhtaeHyBQt49ne/4yPl5WzCGzEJsqqqiqbrr4/0Mygm\nf7svrqvj8gUL2NTaymAbwRIRkeIatFMbTzzxBK8eOdI9nF5x8sn84X/+h3e+8AKXZ8zV76ip4VNf\n/jJrv/OdPg29Hzx4kLPGjmXc668zAngz3gjEU8nHVcCKWbNY29aGc45EIkFTYyMznnmGxYlE95LO\n7+LlU6ymZ+koeCMkt8yc2f3+gRLW7lVVVTxZU8PqDRsG1YiJiIh4ijG1MWgDifb2dmpra9NeK+Zc\nfapznbZ7N584dKi7c12JNxIye9Qodk2ezD0PP0xlZSVmxiVnn82S9vbACpZtwJeAB+nppFPJiQPZ\nSedqd6kEOyIikj/lSORQrLl6M6OpsbFX5zoer4JWG3DDqafyyLZtDBvmzRZllsE2YBNwLz25FaOG\nDaOhpoYzJk8umcz+nOW7zZgWsRS4iIgMfYM2R6I/5epczwHOfeEFfvnYY93PrV62jMXJpZ4JvKqV\nj5JezXJiVxevHDjAsnvvDawXMRD87Q6zOJFg9bJl/dQiEREpZQokIojTuab2ofCX716KN4oxLPnf\nW4HvHT5Mw2mn0drSUhKJjNp8SkRE8qFAIoI4
 nWtqqedmYAbBy08BZgMLDh/m7oULueTsszl06FDI\nkf0jn/0zREREFEhEEKdzTW3i5C/fHeaTwHFHjrCkvZ2mxsYBHZnQ5lMiIpIPBRIRxOlcU/tQ7CHa\ntuYHSE9kHCj57J8hIiIypAKJYhVRitO5pvaheKmiIvK25jDwiYzafEpERPIxZJZ/+osoLfEXUdqy\nheV9LKLk35xq6tNP80+vvNJd8OrOkSP5zZQpgZ1rZWUlK9eu5c6FC7ntyJHQ86/CK7MNpZHIqM2n\nREQkqiERSGSr87A0kWB7MvegL0WUzIyuri72mXET8AowEjgu+XyYhrlzuX3KFLaHFXjCK62d2iek\nVBIZtX+GiIhEMSQCiWIXUUoFKl/s6Oj9GUeOsL2jIzRQyTaaEbStuRIZRURkMBkSORLFLqKUT6AS\nJDVV8L6f/Yz3V1TQiFdDohGvOFVqwkWJjCIiMtgMiUCi2EWUChGoOOeYe/75tDz3HMNnzWJMVVV3\nwarnUCKjiIgMTkNiaiNV52F8lmP6kntQyEBFiYwiIjKUDIlAYlFzM6u2bGFpllGDvuQeFDpQUSKj\niIgMFUNiaqPYRZRU7VFERCTYkAgkil1ESdUeRUREgg2JqQ0obu6BfwnntN27WZxI9CzhrKpi54QJ\nSpIUEZFj0pAJJKC4uQdKkhQREeltSAUSxaYkSRERkXRDIkdCREREBoYCCREREYlNgYSIiIjEpkBC\nREREYlMgISIiIrEpkBAREZHYFEiIiIhIbAokREREJDYFEiIiIhKbAgkRERGJTYGEiIiIxKZAQkRE\nRGJTICEiIiKxKZAQERGR2IoWSDjnbnTO/dI596pz7mDIMeOccw8mj9nvnPuac07BjYiIyCBRzE77\nOOA+4DtBLyYDhoeAcmA20AR8DFhaxDaJiIhIARUtkDCzfzazFcBTIYfMA6YAHzazp8xsPbAE+LRz\nrrxY7RIREZHCGchphNn
 AU2b2ku+59UAF8PaBaZKIiIjkYyADiTHACxnPveB7TUREREpcXoGEc+42\n51xXlkenc25SsRorIiIipSXfXITlwN05jnk24rn2A7Mynhvtey2ra665hoqKirTnLrvsMi677LKI\nHy8iIjJ0rVmzhjVr1qQ9d/jw4YJ/jjOzgp807QOcawK+bmZvynj+vcADwNhUnoRz7pPAV4FqM/tb\nyPlqgfb29nZqa2uL2nYREZGhpKOjg7q6OoA6M+soxDmLtjrCOTcOeBMwHihzzk1PvrTbzF4FHgZ+\nDdzrnPs8MBb4F+CbYUGEiIiIlJZiJlsuBTqALwEjkv/fAdQBmFkXsADoBLYAq4F/Tx6f09Uf/jCX\nL1jAptZWij2qIiIiIsGKPrVRaKmpje3AKcCqqiqerKlh9YYNVFZWDnDrRERESlcxpjYGbTnqYXhz\nJksTCZa0t9PU2KiRCRERkX42aAMJv1lmTNu9m8c2bx7opoiIiBxThkQgAbA4kWD1smUD3QwREZFj\nypAJJMYBB/btG+hmiIiIHFOGTCCxF6geO3agmyEiInJMGTKBxKqqKhY1Nw90M0RERI4pQyKQ2O4c\nOydM4Lz6+oFuioiIyDGlaJUti60LeA5vJGLnhAnc8/DDOOcGuFUiIiLHlkEbSFw7dSqTampY1NzM\n0vp6BREiIiIDYNAGEl//wQ+0aZeIiMgAGxI5EiIiIjIwFEiIiIhIbAokREREJDYFEiIiIhKbAgkR\nERGJTYGEiIiIxKZAQkRERGJTICEiIiKxKZAQERGR2BRIiIiISGwKJERERCQ2BRIiIiISmwIJERER\niU2BhIiIiMSmQEJERERiUyAhIiIisSmQEBERkdgUSIiIiEhsCiREREQkNgUSIiIiEpsCCREREYlN\ngYSIiIjEpkBCREREYlMgISIiIrEpkBAREZHYFEiIiIhIbAokREREJDYFEiIiIhKbAgkRERGJTYGE\niI
 iIxKZAQgbcmjVrBroJUkC6nkOPrqlkU7RAwjl3o3Pul865V51zB0OO6cp4dDrn/lex2iSlSX+k\nhhZdz6FH11SyKS/iuY8D7gO2Av+Y5bgm4BeAS359qIhtEhERkQIqWiBhZv8M4JxrynHoYTN7sVjt\nEBERkeIphRyJbznnXnTOtTnnPj7QjREREZHoijm1EcUS4D+BPwONwLedc8PN7JtZ3nMCwG9+85t+\naJ70h8OHD9PR0THQzZAC0fUcenRNhw5f33lCoc7pzCz6wc7dBnw+yyEGTDWz3/ne0wR83czeFOH8\nXwY+bmbjsxzzD8B/RG60iIiIZPqwmf2wECfKN5A4CTgpx2HPmtlR33vyCSQuAh4ATjCzv2Vpwzzg\nOeCvEZsuIiIi3kjEacB6M3u5ECfMa2oj+aEF+eAQZwGJsCDC14aCRFEiIiLHoC2FPFnRciScc+OA\nNwHjgTLn3PTkS7vN7FXn3AJgNLANb2ShEbgB+Fqx2iQiIiKFldfURl4ndu5uYFHASxeY2Sbn3Dzg\nNqAGr4bEbuDbZvb9ojRIRERECq5ogYSIiIgMfaVQR0JEREQGKQUSIiIiEtugCCSibAAW8r6lzrnn\nnXN/ds5tcM5NKGY7JRrnXJVz7j+cc4edcwnn3Pedc8NzvOfugE3eHuqvNksP59ynnXN7nHN/cc5t\nc87NynH8+c65dufcX51zv4tQNl/6UT7X0zk3N2Szxer+bLMEc87VO+d+5pz7Y/LaXBzhPX3+/RwU\ngQQ9G4B9J+obnHOfBz4DfBI4G3gVWO+cO74oLZR8/BCYClwIzAcagO9GeN/P8Vb6jEk+LitWAyWY\nc+7vgduBL+Et196B93t1csjxpwHrgEeB6cAK4PvOuff0R3slu3yvZ5IBE+n5PRxrZgeK3VaJZDjw\nJHAF3nXKqlC/n4Mq2TLP4lbPA8vM7OvJr0cBLwBNZnZfcVsqYZxzU4BfA3Vm9l/
 J5+YBDwJvMbP9\nIe+7G6gwsw/0W2OlF+fcNqDNzK5Kfu2AvcBKM+u1dNs591XgfWY2zffcGrxreVE/NVtCxLiec/G2\nNagysz/1a2MlL865LuD9ZvazLMcU5PdzsIxI5MU59za8SPnR1HPJf/RtwJyBapcA3s8/kQoikh7B\ni57PyfHe851zLzjnnnbOfds5lzOglMJxzh0H1JH+e2V41y/s92p28nW/9VmOl34S83qCt1z/yeS0\n8cPOuXcWt6VSRAX5/RySgQReEGF4IxB+LyRfk4EzBkgbBjWzTuAg2a/Nz/HqkrwLuB6YCzyUvIOS\n/nEyUEZ+v1djQo4f5Zx7Q2GbJ3mKcz33AZ8CPgh8AG/0osU5N6NYjZSiKsjv54Dt/hlnAzApXVGv\nZ9zzZ0xH/bdz7ingGeB8YGPc84pIdMm/x/6/yducczXANYCSaI9RA7mN+HLg7hzHPBvz3Pvxht9G\nkx5tjQb+K/Ad0ldRr+d+IC3D2zlXhldOPTA/IoiZ7XHOvQRMQIFEf3kJ6MT7PfIbTfi12x9y/J/M\n7LXCNk/yFOd6BnkcOLdQjZJ+VZDfzwELJIq5AViyk9mPtypgJ3QnW54DfKsYn3msi3o9nXNbgUrn\n3Fm+PIkL8QK/tqif55x7C95OtPtiNFdiMLO/Oefa8a7Xz6A7Oe9CYGXI27YC78t4rjH5vAygmNcz\nyAz0ezhYFeT3c1DkSDjnxiU3/ereACz5GO475mnn3CW+t90B3OycW+icewewGvgD8NN+bbykMbOn\n8ZJ57nLOzXLOnQt8A1jjX7Hhv57OueHOua85585xzo13zl0IrMUbYl0/AN/GsexfgU845xYlV+Dc\nCZwI/Dt4U1zOuXt8x98JnO6c+6pzbrJz7grgQ8nzyMDL63o6565yzl3snKtxzr3dOXcHcAHwzQFo\nu2RI/q2c7stZOT359bjk68X5/TSzkn/gDZl3BjwafMd0Ao
 sy3vdl4Hngz3gdzoSB/l70MIBK4AfA\nYSAB3AWcmHFM9/UETgB+gTcM91e8KZLvAKcM9PdyLD7w1qg/B/wF785lpu+1u4H/zDi+AWhPHr8L\n+OhAfw96xLueQHPyGr4KvIi34qOhv9usR+i1nAt0BfSV/xZ0PZPP9fn3c1DVkRAREZHSMiimNkRE\nRKQ0KZAQERGR2BRIiIiISGwKJERERCQ2BRIiIiISmwIJERERiU2BhIiIiMSmQEJERERiUyAhIiIi\nsSmQEBERkdgUSIiIiEhs/x/h1FHpF5BsuwAAAABJRU5ErkJggg==\n",
       "text/plain": [
-       "[<matplotlib.lines.Line2D at 0x7f0a6529af90>]"
-      ]
-     },
-     "execution_count": 2,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEACAYAAAC08h1NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvX18FOW5//+ZEbOKAcUlO5u0ftVEWixiFQk+LEci4mKj\nBHsK9JScYw+KtaKAVNqklmrCg4Q2COcAp6ftqX7bXxGVYyKplSTUVpLjAw+rFJqqa5Naz3d3s0Rs\ny8aHoOT6/TE7u7Ozc8/M7s5uNsn9fr32Bdmdh3tmdq/7uq/7uj+XQETgcDgczuhBHOoGcDgcDie3\ncMPP4XA4owxu+DkcDmeUwQ0/h8PhjDK44edwOJxRBjf8HA6HM8qwxfALgvAzQRDCgiAcVb03QRCE\ndkEQ3hIEoU0QhHPtOBeHw+FwMsMuj/9xAHM179UC+A0RfR7AbwF816ZzcTgcDicDBLsWcAmCcCGA\nXxHR5dG/3wQwi4jCgiC4AbxIRJNtORmHw+Fw0iabMX4XEYUBgIh6AbiyeC4Oh8PhWCSXk7tcG4LD\n4XDygDFZPHZYEARJFeo5rreRIAi8Q+BwOJw0ICIhnf3s9PiF6EuhBcC/Rv//dQB7WDsSEX/Z9Hr4\n4YeHvA0j6cXvJ7+X+frKBLvSOZ8A8DKAzwmC8K4gCEsANAC4SRCEtwDcGP2bw+FwOEOMLaEeIlrM\n+GiOHcfncDgcjn3wlbsjjIqKiqFuwoiC30/74Pcyf7Atjz/tBggCDXUbOBwOZ7ghCAIozcndbGb1\nZMRFF12Ev/zlL0PdDA6ACy+8EO+8885QN4PD4dhE3nr80d5sCFrE0cKfBYcz9ASDQXR3d6OsrAwl\nJSUj0+PncDgcDtDf34/q6vU4dMiNcPgySNJulJeHMjom9/g5pvBnwRlJaD3nfGf+/Fq0tKwCIKne\nDQNwp+3x86weDoczKujv78f8+bWYPv1pVFQMYPr03
 Zg/vxb9/f1D3TQmwWAQhw4VI9HoQ+fv1OCG\nP8+44YYb8Nhjj1nadv/+/bjgggtif1922WXo6OjIVtM4nGFNdfV6tLSsQih0PwYH5yAUWomWllWo\nrt4w1E1j0t3djXB4iu3H5YY/TS6++GL89re/zegY9fX1uP322zM6hiDER3p/+MMfcP3112d0PA5n\nJGLkOR86JCEYDA5Fs0wpKyuDJHXZflxu+LPE6dOnh7oJHA4nipHnHA5PQU9PT45bZI2SkpLoRG5Y\n84n279Tghj8Nbr/9drz77ruYN28exo8fj8bGRvzlL3+BKIp47LHHcOGFF+LGG29MCsUA8ZFCW1sb\nHnnkETz11FMYN24crrzyytg277zzDmbOnInx48fj5ptvxvvvv2+pXepRSH19Pb761a/i61//OsaP\nH4+pU6fitddei20bCoWwYMECuFwulJWVYdu2bTbcGQ4nPzHynCWpC6WlpTlukXV27lyDqqotKC7e\nClHch+Liraiq2pLRMbnhT4Nf/OIX+D//5//gueeew8mTJ7F69erYZx0dHXjzzTfR1tYGIDEUo2bu\n3Ll48MEH8dWvfhWRSASvv/567LNdu3bh5z//Ofr6+jAwMIDGxsa02vmrX/0Kixcvxt///nfMmzcP\n9957LwBZDXXevHm48sorEQqF8MILL+Df/u3fsG/fvrTOw+HkO0aec3l5b15n9xQWFmLPngYcPrwI\n+/efjcOHF2HPnsw0L4e14a+rq4MgCEmvuro6y9uztrWCNsVREATU19fj7LPPhsPhSPu4S5YsQVlZ\nGRwOBxYtWoQjR46kdZyZM2di7ty5EAQB//Iv/4KjR48CAA4ePIj33nsP3/ve93DGGWfgoosuwtKl\nS/Hkk0+m3WbO0BIMBtHZ2Zm3sep8gOU579y5ZqibZomSkhLMnDnTlk5qWC/gqqurS8lwp7p9Onz2\ns5/N+Bhutzv2/7Fjx6adbqY9
 zscff4zBwUG8++67CAQCOP/88wHIHdjg4CCfGB6GsBb37Ny5BoWF\nhUPdvLxC8ZyDwSB6enpQWroorz39bDKsDf9QwgrhqN8/55xz8OGHH8b+Pn36NPr6+kyPkW0uuOAC\nlJaW4q233hqS83PsQ0lRVLJVQqE5aGkJo7p6A/bs2Ti0jRsizBZolZSUDEuDb+fCs2Ed6hlK3G53\nUiaANvTzuc99Dh9//DH27t2LTz/9FOvXr8epU6din0uShHfeeSdnq2KV88yYMQPjxo3DD37wA3z8\n8cc4ffo0urq6cPjw4Zy0g2MPwzVFMVsMxwVaVmBdVyZww58mtbW1WLduHc4//3w8+uijAJI9+PHj\nx+M//uM/cOedd+Kzn/0sxo0blxAKWrhwIYgITqcT06dP1z1GKpjtq3wuiiKee+45HDlyBBdffDFc\nLhfuuusunDx5Mu1zc3LPcE1RzBbDcYGWFVjXlQlcq4djCn8W+UkwGMT06bsRCq1M+qy4eCsOHx49\nMeyRei+CwSCuvPK/cPz4DQDKAKivIX11Tu7xczjDlOGcomg3I3H009/fj0WLHsbx4wUABgDsBlAL\nIPPQFff4OabwZ5G/JGb1TIEkdaG8vHfUZfWMRI+frcq5FcBGZOLx86weDmcYw1MUZZTRT0tLGFpD\nmavRj51ZN8aqnBKA32d0fO7xc0zhz2JkMdz06K0yVKOf5LUUXRmvpejs7ERFxQAGB+fofNoKj+eX\neOmlnWl7/Nzwc0zhz2JkkA0DlY/ERz+lOenYWCGZqqqtaa+lMApdSdJmvPba1/CZz3yGT+5yOBxj\nRlK6o5FEhZ3SBlbakelaCr1rMZq4v/rqvoyvLW9j/BdeeOGQrWzlJHLhhRcOdRM4GWLFQA2HsE+u\nJCqshsOsZBOx9je7lp071zBDVxlDREP6kpvA4YxsAoEAdXR0UCAQGJLzd3R0kCjuI4CSXqLYTp2d\nnUPSrlS
 pqqohoFdzDb1UVVWb0XGV5+P3+6mqqoaKi7eQKO6j4uKtVFVVQ5FIhLlfcfFW3ftaXLzF\n8HlbvRafz0fbt28nn8+X8H7UdqZld3moh8PJIvkiIzCc9egVsiFRoX0+U6d+L6VwWLprKaxci9K2\nW2/twIoVn8ett3ba991Jt8ew6wXu8XNGMNnyUO1tS03O25IO2Ri1JN6TAAGpe++RSEQ1Smin4uIt\npqOEbdu2kSDsMrwWs+8OMvD48zbGz+EMd/Itrp7VmHEOkEctuxEKJac4yqOWRSkdL/n5dANIPV5v\ndS2FNt1UEA6CqBbAGgDx+QlJ6sLYsddnVYCPG34OJ0tkMvGXDYb7Yi+7F2klP58yyLII2o4liAkT\nWjB27BLT9hm1QSuhDdwEOUS0AfJKXEC5lg8++CCrEhQ8xs/hZIl8javnMt3RbuysopX8fEoAqOP1\n/ZC1cXbhxIlbM4qxG43+RPEcCMKTCdeS7e8O9/g5nCyRDzICIw07Ry36z2cNgDVwOM7HwMA7kD1x\npcjN3LSL3BiN/oAZ2L79T7jttvi1FBYWZvW7k7crdzmckQAXUctvWM/n29++Fbfd9jJOnPhO0j5O\n5ya0t9+EadOmWT5P4krcIOT5BFlmmSUiZ/bdia6oH1mSDRzOSCLXMgLq845EXR670T4fY62cNjid\nz8PjOTulDvyWW76F558fBHARgMsAdAH4MyorRfz6149abptCJoafh3o4nByQ6zqvo7kIezqdnfb5\nGGUQAW/gxIkatLSckWLYRwRQg3joZg7k+YTGlNpmB3xyl8MZgYwkXR6r9Pf3Y+7ce3H55Rsxa1Yg\no8VyRguzgF7IE8ESDhyYiObmZtP0ymAwiNdfvwB6k7uvv/6ZnNdH5qEeDmeEMRKLkpjR39+PSy5Z\njHB4FoAvQg6jhAB8A1VVP01LJVMZNb300gScOHEFgDcgG3113n0rBOFNuN2C7ohKGX28
 9957WLBg\nnG7oSBTbsX//WMycOTOl9mUS6uErdzmcEUa+6vJkU6/I612hu8oVqDXVzDHD5/OR07kiurJXe0+3\nqN6Pr6pNXM27j1yuenI41jKeyTryepcZrvTVu2/gWj0cDkfB7hxwIwlkK2RbrygYDMLn+wxY1ap6\ne91JC55SuaZp06bB4zkbwBmaT9RhH/l8yqpabajt+PGHMDBwAnqho8HBfrS3P5QUhlPft1mzArj8\n8gbMnXsv1+rhcDj6pKPLo/UstV6rmVJl6m2xR69IHuG063rTQDs5ncvTviZ91c5WAjYSUENAJGlE\n1dzczFDsjFBBwXwSxXUEtEdHC/FjaEcm8n3rjm6zhYB9BGwmSZpH3d3dGXn83PBzOCOQVITDWMaw\nsnJVxgY7E9liO84BNJLXuyy2bbIoWwcBR5KuiXVP/H4/NTc3k8tVz7ympqYmZqhNEDZHxdk6k0JH\n6jBc/Jr0O80xY6Zyw8/h5BO50t63ch6WlrsalkfucCzM2GDnar6BdQ2CMJsqK1dRJBJRGdOIxove\nSg7HAvL7/TrHUzqHQEKnZzSiMuqIXK46kqTNpve1o6Mj2kHoH8fp3MgNP4eTD9gVGrHjPFbbYuwt\nb0zySlM12Lnw+NXX63DUE9BGwCYCVkSNvGyw452QvtH2eO6KtVmSNiV1DkANSVIDBQIB0xEVq2Pw\nepeRx7OYgCO6nYb6vjmdy6Pn1us027jh53DygVxp71s5j9W2GHnkwF6SQxKZGexc1QEIBALREExy\nGKW4eAv5fL7o5/odkSQ1xkZRwB2aNgcIeJaAf0oIxzQ1NVFzc3PS/dB2DJLUQJI0j9zuzSSK7eRw\nrCWHYwEJwh4qLt5CXu9K2rx5M9XWxp+P17uMAPboIBPDz1fucjg2kCvtfatVqKy2xWiFqsNxEAMD\n8zXvpi4Slqs6AHK+/HUAkvPhw+Ep+PDDDzFp0ls4fvxfdffv67s
 cPT09OOeccyCKpRgclCArdK4H\n4IYsszAFtbWP49xzn8Xrr382uiq6C+Xlrybk8GvF5NatC6K9/adQnsnAgCzJXFp6J1yuEzhw4A0U\nFd2Kr33ta7H2PPPMpujahGroCbW1tGRws9LtMex6gXv8nGGM4iEaTejZGcu2EjNPNa7O8sgrKx9I\nqbKU9p5oveBAIECdnZ1Zm/uwElby+/3MfHplG9njb42+r3dvVqY0sjNql8PxfaqpqaHu7m7dfUOh\nEF1UdD2NFb5DIp6n8WINXSLdQKFQiHv8HA6QW0EyrRbOxInHcOaZAgYG7KkOxcJqFapUKlWxPfI6\nFBYWWpZANtMHsqI5ozzDc845Bx988EHKejtTp/oRCu0BUI54fr3sIQNAb28vZs3qRXu7sdyx2/0U\nenunAtCOnIIALkYqIzsjSeZTA9fC/YNb8Ktf/AKh8nKs2bkzYeXv1rvvxqt9HTiNDvTgBygdBM4I\ny+9nQtYNvyAI7wD4O4BBAJ8Q0Yxsn5MzuhgKQTJtNaXjx+cAuB/yAp3sae9b1fhPRcvdTOPeqkiY\n9p6EQnMs69crz/DAgQkIh/0QxYsxOFgOt/spzJgRNn2Wyv5Hj5YBOAui+DgGB7shSZ/HVVeF8emn\nIqZPfxrh8GVwuS6BJN0FwIO+vmlJoaeSkhLMmBFGS8shyKUY1TLKxuUZDx48CKfTiXHjxuGll17C\nL3/5S0ybNg0TJ5ZGvyOJuPFbLCJCSSiEcEsLNlRXY+OePQDkTrD40CFI0RZQdB8JgHTokOH9NCXd\noYLVF4AeABMMPk9tPMfhaMh1QXP20D1CDscCkqTGlEIjqWIlRz/VAuDpoA7pZJq9E3+G6T1LdhbN\nSsPPWKGnSCRCs2ffRcCXKTGzZxkBj+pe5zmONfTtwkJqBahGEOgfHA56+LzzqF0UqViYon9dmJxw\nkC3FxQkpnS2CQDUAbQFoH0BbAaoBaI8gZB
 TqyYXh/zMAp8Hnhg+UwzEiV+mCasxi6M3NzVmNZStY\niZlnI66ulyrq8SwlQWixPK+g32kEiJVxY/Qs082bV7J4WLA6DOAW3ffnaox4L0C1AAUA2gRQFSZT\nMVaTiOfJidVUhckU0TSqXRQTsoYWOhzUq9mmF6CFDkfex/gJwD5BEE4D+AkR/TQH5+SMEoaioLlZ\nnH3GjNyoX1oJwWRDy10vpBMKheFwLMfAwLyk7SdOfBl9fZcjGAxi/PjxSWG50tI/oLe3CmZhFNaz\nNPoO9PWNgyBMZR5z0aLvoLX1P5PCSEbZU7L65zoAlwCYAlF8FZPGPIP/PvVm0pYSgAMApgH4Dt5E\nEG/iIBpxFMBDOm3qkiQsUmkpTWW04DLIZeHTJReG30NEIUEQiiB3AG8Q0f+oN6irq4v9v6KiAhUV\nFTloFmckYHWy005GWy1d9aQ5wE4Vlc3R7yEbRkBOhVyDv/1tAhYsGAdJ2o3BwRcQDsfTGhM7ja2Q\nzVlqz9LoO1BUFIEgHEM4fJPOnm/ipZe+rTsHYVwjtwLA2QBKAfSAqAzf/OQo9GYgpgD4ALJI9BzI\n0823AXgVerNBQG95eez7093djWs++ST2+YvRFwB0Dwww2maNrBt+IgpF/+0TBKEZwAwATMPP4aTC\nUBnhXOWm5wJWNpTepHlp6UGEw/+qe5xPPrkGHs8P0d09Db29XwDwYwD/iVOnFCP/BQCnwe40+iBr\n6Kf2LI2+A9dc8xGAj6KfnUZ8kvYMyMqaX8ShQ79LysYxrsDVBWARZDNeApdrM05SEXD8eNKWRyF3\nD37NVa2Jvs53OHDtJ5+gS5LQG83qUbdhtyThplAIgNzdVEQ/21pcjF9G30+LdGNEVl4AxgIojP7/\nHAAvAfBqtjGIJnI45uRiIpNFtnPTs4mZrIN+jPuIaR68vOL0MUpeddpBRhIEHk81SVIDAUuiCpZ7\nye3enNAm1hoBo+9AK
 BSiCRPmErCWZDmH9QTMIyDEnINgX78yAR3/u6qqhmqqqnRj8Quik7KPAlQJ\n0IMFBdQuirSluJhqqqrI7/cbfn9Yx62pqsrfyV3ICa9HALwO4BiAWp1tLH1JORwzhrMRHgqMsqGM\nFx0tYOynFijTM/Lmk7fKM/T5fAnPMhXtIe13gG3Aa2OTvPv27Uu6P9rOxO2WJZElqSGpc4lEIlRT\nVUVbioupXRSpzuGglUDC5G0vQPfNnp3Sd1R93DZRpAank1Z4vRSJRPLX8FtqADf8HBNypXY5mjDL\nhjKWFt5DHs9SXe86nvHEMvLp6fYkG+8AAY9RefmXTbOa2CJ0Wwg4QmPGTKX169cbHkNtrI0cjEAg\nQM3NzVTvcumdMCFd0yqRSISWeb203OmkXYJAW6OjBW74OSOSXKldshjJHY6VlFSzNFk9A5hoaJeR\nLGymFkzrJkmal1JYLvGYEQJWEbCAZPXQNiooqKfKygd0j2EmQjd58lzq6+uz9d42NTXRo4JAAZ2T\nqtM1rRAIBGixx0NHdMI93PBzRiS5XpilMNQdTi6IK1l2kJ6SZSAQSFtVUy7gspLkGH8ryTH1JVRQ\n8GDsPqYSlmtqaiJBeDTazhpKRSvHyOM3y+NPFSUs0yhJ1Ib4Yit1uMeqx2/lWNzwc0Yc2VqYZcWL\n1w8rPEte773pXk5ekahd306K1nxcu74mYTur3rlyb2fPvlvXMM+efV9a7ZSkRpInZTcTcCuxVs4q\nhjwUCtGOHTvof//3f4kod7LQrInYWtX/a6qqbDkWN/ycEYndlZvSK0ySWKlJFNeT17si5rEO1zCQ\nUcUtqxOmarQdhCiuJ716tA5HfUKVq/Ta+SzFlTMTX4Kwl6644go699xzqbq6OnauXMlXbC0uTm4U\nQBsBqnO5qKaqytI5jY61BYiFkLjh54w47Pb40ytMor+P2z1v2IaBshH6MMuaib/klM3M2hkgOXSU\n
 3H6H4/v02GOP0UcffcQ8pt6chLYDT6dT7+jooH2iqGusW0WRmpubbTlWO0CdyDzGL6a/AoCTzwSD\nQXR2dsYKcww3lEU58rIXNakvzLJavARQFu50QdZD1N+nt3cWQqFFGBycg1BoJVpaVqG6eoPl9gwl\nxvIGciGSVDCWNlB0JRX+iLffnmTpO8luZwnkRVjJ34u5c09hyZIlOOuss3SPWVJSgpkzZ6KkpAT9\n/f2onT8fT0+fjoGKCuyePh2rb7kF37rlloT3aufPR39/v+nvqaysDF2S9h7IvCFJmDHDuiix0bF8\nAF5wubClqsry8XRJt8ew6wXu8dvKSJqYtGuInl5hkmeJtdhIjosnliTMliCc3dg9kjLOmlHfJ3nh\nk9UwnVE7CwoepIKC+SRn9ewlh4Od1cOCFUO/X/PeEYCuO/98qnO5aJ8oxlIp9c5ltNgqVVjHWurx\nxJ4ReKiHozBUmTDZxOfz0fbt28nn86W1f6rGLhKJkNe7LBqr1jNoW0ibCWNnla1sY+dkp3Ge/DoC\ndkXvlxzzt9K5KLnwl1wyj9lOZRu9erdW2mwWQ48AMTnkNoA2I55V0wtQrY4x1y7i2mLQSZiRtCDM\n5aLFHk/CHAk3/BwiGhqJ4mxi5+glHWPn9a7Q3Sdxyb499zeXk8WZjqS0bWXH+L9JiYXPje+3Yuw2\nu93UCtD3ALoAk2mcWEOCjnyD1fZpsRJDr4kaeK3HrWTVGKVl2rmC3O/301KPhxolKWnEwQ0/h4js\nz4QZatIZvaSj5cJCbx9JmkdAd0besrqNdnVu6XQcqRooVltDoVDSfaqsfIAqK1eZ3u/BwcHY/1nh\njXsB2gPQvV6v4XWrvWSjsIyZx++DnDdvNCJIdSFWujDTOvnKXY7CSPL40wnPpKvlYqUtyj6ZeMt6\nbWR3JNZCc7mc0zHriJXwS1NTk6G8gZJnX1FRQRs3boxtZxZ+aZSkBO0erZGfJ
 0lMI6mFZVBXAtQB\nWVjNaESQjvRCqhjek+Jibvg5cXK1WCXbpDchm9vyi6l2INbTHq131KlcdybhJLOO2O/3J3VAXu8K\nam1tpUAgQCdOnIgZ+3PPPZcWL15Mzz77bCz10kr4ZS9A1R4PRSIRWuH1JhjuAOQ4PMtI6jkK2nj8\nA5WVtKqykupcLmow8PiPIL0J21QxvCeiyA0/J85QShTbSSoe/3AY6bAlEgIE3EeAz7Rz0ztm4nUH\nYsdXX7cdowKzjtjjqdbtgK7FpbS1uJjuqaighQsXJhh77bU86nbrGrnNUcO+BaCXAbpp4kRarzGI\nhl66QViGldu/1OPRl1l2ONKesE0V7vFzUibdkEY+rUZlSycsS9gu3+c2IpEIeTxLSU4/VIp2ryLg\nAZIzXtoI2ETq1a5WOqz4dSeuMJaPv4SeeOIJIrJnNBQIBAxr18qdmk7Hi9UUADvkooYVqpkX/bcm\n+npWx8gHYBCXV3n8Vr/j2hFBoyTRUk1WTS4Ylnr8lhrADX/O0X758zX3P67Voi7O0Upu96NJxTny\n2ePXN7z6QmNy2MdaaC5+3fqGvaDgy+T1LiO3W6ttI48MXK46prSw3veDpcNfXn47CUKbfseL56lT\nxwBrz+Xz+WiTJMVSKNuj/9YAtAagZQD5o8adZeRZmTiKh25l4lfvXgxljQejFFFu+DmWUBt4QdhF\nTudy8nqXUWXlAxl7hNmElVapbl++zm3od0rsgiSiuI683mWWO1252pW+Jy6PAB6juLaNdmTQQB7P\n0ti5/H4/eTxLSZIaExwAWW2zV7N/G5155kPkdM6kcePG0dlnP2zo8RMSQy5aQ7zc6aRWlffeibgm\nTVv0b3U4R8/IdwM0T5J0jaRRdsxwQK8D4oafYwnZOHZrfvwPkSg+lLfeslVv3mhuYyhDWPphKHYJ\nQmBvSqGp1tZWYomWyStnm1UL0fQ7x8rK1YYevcOxUKfj
 6qRzz62NaeMwO15Mjr2h9vi1hthwcjb6\nuXob9QKrdoDWAvSloiJdyWezWPlQf8fTJRPDn/Vi65z8IK6p8hMAqxDXVnFgcPBj3X3C4Sno6enJ\nWsFyKxhpy6jbV1hYiD17GhAMBtHT04PS0kUYP358UrHw8vIQdu5cg8LCwpTawSpIboZ+0e4yALsB\nJBfyFsXDGDu20vCYr732Gl5++WVcd911mDp1KoqLdyMUmquzpVwUfHCwBcDvwdIeeuGFcRgYuJb5\n+cDANMiaO8p1y0XGI5GPMGnS2TjrrLNixecPHCiSi8/jBVyN57ATbwKQlXV6y8tRUlKCYDCI4kOH\nEs5UAuA49MqsAy85HJgSLUj+m08/RXVfHyQADdFWHYZcNt07ZgxOnjyJkpKShGfU3d2NKWGtto/M\nlHB4yL/jQwE3/KOE7u5u9PYqPyn1T0sxQjcl7SNJXSgtXZSD1rHRN5wyeu1T/+jnz69FS0u8kwuF\n5qClJYzq6g3Ys2ejpfP39/cndB5FRU/ikkvewOOPfweTJk0y3V8Rm2tpUZu0EgB/hp6ZGxx8C6+8\nMgFutzvJGPX29uKKK76Bvr4ZGBycAVHci6KiA/jiFy9CKKRnMv8MoBsTJ7px8cXrcOjQN3TbODAw\nA4AfgH4HC1wBoAdxwy+jvf+X4g1Mo8dxFo7jfwoKcJUg4OVPRPxRktBbXo41O3cCYBviNQBWAJjs\ndOLKv/4VXdH9HmlsRDgcxqLSUlx67BgevPlmTI22tguy0d8E4BWGES8rK8NuScKcUCjpnF2ShEWl\npYzrHsGkO1Sw6wUe6skJgUCAnM7ljBBDfsbHFdKJ36cz4asXEkpVu14PJQzldm8mYC+J4loC/pmA\nfySgnuJFRuaRIKyJhqqSJ9jlxV7JbXG5blUVVokfC2ggoJ3OPPNhuv76O8jlamSEhDaSnE7KKq5e\nT8ARw/uvF0M/AjnvXm9C1yj0oi2
 0rrevdh7ALGxjp4Aai1yHFMFj/BwrsCcCI+RwLIhO6uVf7n86\naxNSSfFkZTX5/X7TQt3aCXCjH798//dQYh7/EQKqSa5Py57A9vl8TNE4UVxHPp8vOjlbTQUFtzA6\nqwpmJ2bkAFRWPmB4/9OJoWdiiNPZ104BNaNjp5IxlCnc8HMsEYlEmF6jonho5GkNdY5/Kql1qXj8\nLK/e47nLVHJYOZZZSqyxiuV3SRDWGba1sVEpP6i3fyvt2LGDiOQOYsKEe0mrHiq/NpDTOZfOPXcd\niWJbzICzsnYcjvqka9C7/2YrTPUmqzMxxGb7Gn1Xs5GeOVQZQ9zwcywjSw6vIKdzU8KPn/WDsyPH\nf6g6Ddl7D3EXAAAgAElEQVSgH6HE1bKJIQojg2y0MEmRZlZGD2aLpIxGIILQyM6Djx7/+uu/TqzK\nU6K4LtYGp3NTtINQ19FVd1aL6eabb6af//znCRlR8neigUSxjVyuOvJ4qi0vVsokayYTQ6zddyg8\n72xlDPl8Ptq2bZuhFDk3/JyUsfqDYxk0r3elqTHP5cIwvUVHlZUPqOLeDeRwLKDKylUJ509XikCR\nZi4u3kI+n890dGHUwUyY8CBNnPhD3c8cjnrq7OyM7qs/WisqqrSoA7SFBOGJpDCXYix3CQKtcDpp\nmdeb8jPKRQydyNiJGArPO53RjhGhUIjmSRKtE0VqA2i9KNI8SaJQKEREidfPDT/HEql63kbGShTX\nkSDsMjTmuRBOY3Uu8fCF8bmtio/FO5B4URFl9GB1PoFtnO+Ixtn1PltJHk919PihqPGXVzDL/3rp\nscceM5mLCMQ6K7d7c8LzT2VS1uw56IVf/H6/LaM9M29+qHL17T4vS7bi1mixdvX1c8PPMSRdzzuV\nsnqpGlS7fohGWTdWz20la0iZOHW56nQXiKW6yAzYS0CjqhOJkCzjUB+9t/EOxuWq0+jk+AjYQYCP\nJkx4hBYvXk
 zsRVytBCyPHqubLpFuSHhGaqOVVHVKklIOlSgjSb/fb2vYxcybt9vztqNtqY52fD5f\nkvic8qqHvFBN/R43/BxD0vW8jSckE8sPag1qLoTTjNu3kfQmOPXOnUrWECtElkrKqc/nI6dzhW77\ngDoCmhM+E8V2Ki+/Xff412Ayfeuss+jsM7+nex8EfJ+Af6dirKYqTKYGlaa91lgyq05ZNGDqEaVW\nNtnqsfRGpVa86qFcnWtXxtC2bduoTf/LTK0A7eCGn2MVs8nLdGP82vKDWoOaC4/feESyN2pAE2WQ\njXL4m5qa0qrhShTvPFyuOhKEzeRy1TE7D+sjKfl1jmMNfXfiRLoWl9J4sYaA50mKGvJIdKO5mKz7\nnLyYnJDvrvZ+1cbSqrol69rVhm91QQE9FN03AFljJ2ByLG0op15VY9aqN5+reQYWmWYMGXn8ayFX\nBuOGn2MJM+Po8VSnUH6wLaqQqc0WST+EkgnGcxBrCPg+xWWK5VCH9tx2TUDHlUTltRCSxK4PazxS\naaTEkUAvzVXp3fgglyIMaHaMADTFcUX0/G00XqxJ6BhYRlwxlunq2auPoWzfAblUohI22hftVGoA\n2iMIusdSjpGkweNw0AqvlzZJkmmnlM1c/VzBivHPFoSka+eGn8PEPFyTvAiJdZzOzs7oIiRrxjwX\nRWHYI5KVSe+53fOSzm3XBLSV46jDGKzti4oq6dxz1xGwl8aOfZimOK5IMN5mBrq5uZk6OztpGSPU\novZ+A4EAtba20jKv17jqlElhcW2IJQDQQuiHjRY6HElhnKamJqp3uYjADjfNc7ste/PZyNXPFeqs\nnlaA1kWzeu7VeZ6ZGH6u1TPC0deKAaKyWQC+iEOHfodgMGgoVKVo4DzzzBUq7ZopkKQulJf3YufO\nNUn76Amn2S2GpYiDKe0pKjqKv/3tAAYGHtNsKUEQZuPkyZMxgba4cF2yMNmhQ5LpPVEwO87
 bb7+N\n1at/liAWd+WVp1BZ+UO8/vpnEQ5/AePGHcSYMW0YGDiKG290oLz8DFx88WRMrF4HtZwcW94tqjsz\nYwZKSkpwxTPPYH11NdyHDmFKOIyXJ06Ef9Ik1DU2or+/P/bZZeEwPidJ6LniCkROnkT41VeTvyVR\ncTU9WLo7U3XvBnBZ9P/qNkwJh+EYHMS9AIogqwadRlwZSAJQAWCt14tJx45hSjgc0/FR9H/UaEXa\nhhNutxstvb147bXX8Oqrr6LymmuwZtq0pPvVJUmAjvaQZdLtMex6wcTjz4cVo8OdxApQiRkjQHqT\nrfnmVSntaWpqsjypbNcEdLprAaqqaikQkAuU33bbbUllCVkTlkYFR7T4/X5a6vFQoyQlFCXv1tn/\nW5WVKYdK9NrYgeQMFOXVFg0bacNDEYBuB2gjEkNDymhHCTdl63s3FHbG7JysiW7l+pGBx5+3hj9f\nq0INVwIBpeZrJ2mzSfJFd9+OH14qk8p2TUCnu/pXrz3ae6A3YWlUcEQLMw3SIKSTqnFNSVs/KsKm\n7SyYGUWattnNUKz2NTun1TaNSMOfi8U/o418rFKVjQ4+leu0656wjmNYllBso87OTsMfutGEpZmB\nNkxxRPIEcbr57uo2toki1TscNFsQmKMSbZaOYUYR5AVl2crMGYrVvmbntNqmEWf4c7X4J1/J1rAz\nF5OtqZKNDl7vOr3eFdTa2pp0T+26J9rjTJjwiGlZwvFiDS3zemlVZaXpDz2dEIdhGiQQq4Wr9fjT\nRd1GdYhJr8NSd0hGE9Z7Ia8izpbMh5X1AXb+Fs3OqTcaYj2fEWf4c7H4Jx/JVXgrX+Lz6XbwVn+M\ngUCA2trayOtdZnpPU7knRudXjvPkk0/GYvZGZQmVTBcrP/RUMTIyjRqPP1v57qz7qvZqjTz+hwsK\nUhKLS8VIG3WMbaJI1R6P7SEgszUJ27dvt7wCedgbfr0JDLs9/uEwSZ
 yK96tcj8/ny/vrYmGsWLmL\ntm/fnnBdsorkMnI67zPVCVKwc0ShDclsliS687rrTI2Bon45XqwhEc/HVtEqE5cbkRx20fuhpwMr\nbKA3R2CXro4VtCGsBQ6HbjtXwjzskm6c3qhjrHc46IhOezINAXGPX2X49Twxu2Kv6XjRQzXDn4re\niyQ1EHBHdEFVK7ndjw552CZV9K9Z1oQXxXUJlahCoVC0lkAjJS/K0jfidjsQmcSDOzo6aJcgJFWN\nIsjhDG3YhQBqcDoNZXmtYGWOQK2rs0sQaHmaCp0srIyQOjs7aaHDEVu4tQXxrB6zkU8mz4W1b7ZG\nYUbnrDGJ8WtHZMPe8Ot5YnbFXlPx+FLtJOzsIFJXeMy/ye907kfy82EvbGLJDrOMuJ0hw3fffZfW\nFBSkbQyMPL2HzjxT17u8A7AtxGAUyqqpqqJuJK603Qx5VJDJea144sp3pqmpifaJom5JRaORj5U4\nvdU2Kh3jUo+HWnRWypq1JZ37opeVZXUF8ggy/PopbpkUakjF47PaSWQjFm+lrfFtAsSqjzoUk9+Z\n3A/1voKwi1FeMMCsUCVrzO/S/THa6fF3dHRQOyP2uhegtrY202OwPLnbAVrgcFC9w0F7Icff1Tns\n2cwyUQwnK51ypdeb9rGNPHE9bZ61aXjZdqlyqu1Mpp2JVaxkZRl9PqIMv52Tt6l4fKkYiWylmpqF\nt+LX00H6RdOHZvLbjvsRCARo+/btJIrtOtfVQeyyg+3kdC5n/jhSCRmGQiHasWMHvfzyy7rtM5oo\nvdeCgVQbOz0D3w7QnWeeqRvvtyPso4cSgmJNrm5yOtN2uoyMp56kxEpG52M06ZwtIz3Ugm9WGFGG\n306PNRVjbrWTyGaqqVl4Kx89fjvvB/tYAWahcaCRvN5lzGOa3VPF2M+aNYvOO+88qq6upsOHD+se\niyU1XJOikfH5fLoGvgMwlOW9Y8KEmGKlXQQCA
 VrudDLTKdvSDG2YZcyscDqT3o9AHvnopYAakQ0j\nPRwE30aQ4bd/MZFVj8+qAcuVzjxriGce49e/f9masLb7frCeF6tIvCQlC6/poXdPn3/++Zix18ol\n6NHa2kp3ALoTkKmEFZqamnQNvA+gu6GvvLkA8ghBUay00wgt83oNV9ra7fE3OJ20yyCGrgjNWT1v\nNo10vqQ+6zHsDX82FxOlMklspZMY6sVliVk9S6JZPXvJ7daXAc722gC774dWBtrpbCCvdwWFQiHN\n+5vI612R0XV89NFHpsZejWLM9CYgUzGQTU1NCUqYainiVsgTq+oQECsEYlfcPxKJMOWAM/GaWZ74\nCq83K+GZfDbS2WDYG/5cPCy9L4XWC7baSeSD9IFyPT6fz/D+2TUfYTRisNphKvuzjqW87/f7o/n6\ny5Py9a1MiCnHVsI4X/rSl1Iy8EYoxkxdYCRVAxkIBGihKm+dNbF6B0B1kItw2G0ktUQiEVn33umk\nNpu8ZiNPfDjE0POdYW/4c42ZF2xmXPJR+kAPO7xxKyMGlpeuaM3Es3ZayOFYSA5HfVKOvvocDsda\nkvX0I5Y7K8WYNEoStQkCrSkooKljxtCiRYvo2WefpVOnTtlyT9V66W0ArY/qpYdCoZSOs6qyklZG\nDTtLB79OEOi/kH6BlHTQZrfYJZyn/T0Nhxh6vsMNf4rY6QUP5dDS7IdpR/w9lRRXPS+9snJVdP8A\nAYtJloVWl0Nkx++BWsudVa7Etuw6j2L4lpx3HnNCdy9AjyH9kojpkkvFyqH+DQ1n8trwA7gZwJuQ\n6yvU6Hyepduiz1DH6JU2pKrDrcZq3D7Ta7UjxbWg4MskT0RvIGAJAfJKY+DR6Pt+g4ydxILu6s7q\n008/TWhnJjFjq55tNlIHW1tbqZ4x0blWFOmO669nyhmMJMVKTupkYvjF9Eu4mCMIgghgO4C5AKYA\n+JogCJOzeU4twWAQnZ2d
 CAaDAOSKQeHwFN1tw+Ep6OnpyVpb+vv7MX9+LaZPfxoVFQOYPn035s5d\niba2NgSDQd3P58+vRX9/f8JxqqvXo6VlFUKh+zE4OAeh0Eq0tKzCV75Sm3CtSvUtuY5SwpWivLzX\ntEoR+14F0ds7iIMHD8p/GVSgOnVKALAKwEkAGwGsgfx1WBV9/RCDg+WMFkwBEH8eRUVHsX//flRU\nVODOO+9MaKdeFSgAmBIOM59pf38/aufPx9PTp2OgogK7p09H7fz5Sfc70/MYMXbsWPyFSOcJAX8e\nHMSSDRvwyLFjWOPxYLMkYZ8oYmtxMbZUVelWn0oF7W9Dea/40CHd6lnSoUMJ23KGMen2GFZeAK4B\nsFf1dy00Xj+y5PGzvGK/3591j5/lQbLrw95JxcVbmSEPdVjF5/OR07lJs00k6j2vJVFsT8h4yWQ+\nInHdQAcB/uh5thDQFiso3trayggpBQhoIKN1B0AjCcJ3LHj8vTRmzFT68pe/TBs2bKDu7u6EdirZ\nNk3Rl5JxY+SJG3m2es8wGx5/IBCgTZKUUGBcSRNtkKSk89sRFjEK5di1EpaTfZCvoR4AXwHwE9Xf\n/wzg3zXbZOWmGMWms5WVYxSCMQqbyAbOR8BmZofk9/upqqqGnM77KHkVq/71qIuLp2M0IpGIRhht\noe55vN6VjGtTVtyyVxoDbTRhwnW6x3U4FpAottHZZz9E06b9M31j1iza5HRSu06xki8VFdFXICtd\ntkHOhLkPoFWVlbrXZmTE6x0OqnO5YkZxmdcb0/LXqzb1LEDLbJA2UKeJDlUoJ1dyBZzMycTw50Wx\n9bq6utj/KyoqUFFRkdHxzIpf799/C4AtlgqGp4ISglHOGwrNQUtLGNXVG7B6dSV6eyUAnZBLZqvD\nLFMAvALgct3jhsNTsGRJPV56aTPkMtRPAvAqVwtA/1p7e2fhK1+pRVvb9rQKUFdXr0c4/NPosYMA\nPLr
 nOXbsIkyd6kcopC3oPh4FBb/FqVN3gVUi3OF4Fb/97Q7U1GzEsWMXRouRy8+jsfERhMNhSNI/\n44F/+AesDYdjR78pFEK4pQUbqqtBAD7X14fvqs7uhRwuaWRcm1HY5pqBAYw9fhxXAPhNKITSUAho\nb8fu4mJ8euWV2FRZCcnnw1vhMEpFEeWDg7jk6FHUzp+POxsb0dvbi7KyMsv3e83OnQmFtJ82KCSe\nKWahHAAIlZcj3NKSUtF1TvZ58cUX8eKLL9pzsHR7DCsvyKGeVtXfOQn1pCK/YFdGgZFHL0kNdP31\nd0cXW6klhZV0RcXjN6vbqoRcbld5yB0kZ8roOWmyjk06mv3J12OsD/TEE0+Qx7OYXK66hJDSxIlf\nIqOVxpMnf5kqKiro3HPPpT179ug+j2VeLzXqXyD9sKiIHnA6mZkvjZpwifr6zMoSMuvAVlUx5RsW\nOBxpZ8LkIsPFSiiHp1oOD5CBx59tw38GgD8BuBBAAYAjAC7VbGP7DRmKzB2jzkbOZmGlKypGkZjG\n8ZprlhBwR7SD2EfAgwTcSnL8/AkC6hjn3ULAL8npXJ7yqt3k62HF6SPkcCwgSWokUdxHkrSZPJ6l\n5Pf7KRAI0Pnnr41eVwPFs3r2ErCWgMVUUVFhKJcQCATojvPOo1aGYd8LOaTDynVvNYhLMxcRwbgq\nVJ3LRZslybDTUHcS+UQqoRyeapnf5K3hl9uGmwG8BeBtALU6n2flpuR6dW16AmNrCVhGcc+/myRp\nXtJE7OzZ31RdizKRW0fALgJWEOBldCw1JMfnA5R4D8zXK+hfj949Xcm4z7XRzkMZjQQI6CR5ZNNJ\nwC5yOu8zNCqRSISWejxUC/Yip7WCQHdPmJCyx68cX+3ZNkoSLXQ4KALjOrCbBYHaWFozSCyqko9x\ncb5qdmSQieHPeoyfiFoBfD7b59Gyc+caVFevT4jjT536NpYtq0IwGLQ9VqmkTra0
 aOPchzA4OJ2x\nVzmczufx17++oppneAInT55ET08PSksXAQCmT9+tOuZ6yGmQyt//BDnlcSGA+ZDnCboA9AL4BoCf\nIHE+QZ7nMLsH+tezBsAaOBzn45NPrsXEiS/j7393YmAgOWJ84MBE+Hw+SJKAUOimaBvU59uMq64a\nNGzD+upqrH/pJUiQY4TaOxsG8GcinPrCF/Dnl17S/bzv6quZ5ygsLETDnj0IBoPo6enB10pL0XfP\nPfigpQVlYM1KAJGiIrz6t7/Be+pU0mddABap/lbSPPMpNq6dU+jK4pwCJz8R5I5jCBsgCJTNNgSD\nQfzhD3/A5s2/xrFjF6smD0PYuXMNCgsLbTtXf3+/bmdz9Ogl6O1dlbR9cfFWPPfc9fjwww9RWlqq\naxw6OztRUTGAwcE5kCdYdwNYmbRdUdEjuPTSbnR1nYP3378O55//F5w44QfwbwASr1EU92H//rMx\nc+bMlK9HnnS9E+FwGH19fViwYFy0bVr24pZbdkAUp+BXv/oWtCZZku7Cn/70BPP+v/baa/i/Xi9q\nT5xACYB+yF2eG8BkyAa2D8AEScI/dnbiR/ffj/994QVcNTCAKwAcdDhw8sYbUffUU4bPOBgMoru7\nOzYZ29/fHzOKR0MhbExqObDW60Xf/v3YNjCQ9NkWAA2q97YWF2PR4cN5ZfgVlA6P9d3j5DeCIICI\nhLR2TneoYNcLFkM9meiGZKtwCquNWuG0TMJOiSEX8wIsavE2K/McVu4rK9ZrPJfyKAUCAR0dH2NV\nTSX8ssnppLZonF2tVBkA6FGAmnXCE4FAgJqbm6m5udn0e2ImSxAIBKitrY1WeL1Jk5ytra3UIggJ\nuff1kFU0I6qbwMMnnGyCfI7xmzbAxPCnIyvs8/lo27Zt5PP5bJEtaGpqoqamprQlFDIVdYt3HKkV\nYDHqcOySa06l3oGViUJmjrnq742QJ1gzyTRJRZZA23b1BKm
 Se++PdlDrIK8jqLdZM98u7BJe4ww9\nI9rwp+Kth0IhkqR50bTJNhLF9TRhwlwCnjL0kvWIRCJUWfkAORz1JC9CaiCHYyFVVq5KQaa5NkmO\nOJ0sCbWRZmUI6Y0ejDqcVEdBisRxa2tr7L1AIECtra3k9a6wRanUSoplL0BLPZ6MDJcdi5RYHcct\nBQVUbXOVLDvIpfAaJzcMe8PP8kBS9dZZkgeCcKPOMQLkdN7HrGPKlle4P8E4GrXR4aiP5rXbV5C9\nra0tZUOr57Faua+KsVfy7Kurq+nll1/WNSLLvF5qa2vLyCAb5Zi3ArTkvPNsKT1ohyyBXkbQ0jw0\n+ApceG3kMewNP8swpiIr7PP5DNIm6ym+yElJh2wkoFX3vIFAgCRJXz4B2EIuV13MwBnn77eRnLoY\n7zjsmlfIJMfayn195ZVXmGUJs2VEjDzxh848k74/caIt3qqdsgTDIdedyzCMTIa94WcZxlQ8/m3b\ntlGyho3yaqWpU28yCZXEz5uYf659tZMgPGqp+LpWVpg1UsmUVOO2Vu7rJ598oruoym4jom07q1NZ\naXNHM5py2bnw2sgkE8OfVVnm1InnmAOpyQpfd911EMVDukcVxYNYufKrePzxS+F0TgZLw0c5b1lZ\nGYqKjjHa2IWiopMoLS01baOcS18COQ2zE0DQNunnYDCItrY2zJ27UiPzfG9M5plFSUkJpk79s26b\nlfs6ZswYnHXWWbFzKfK9dkkTsySR7//xj/HDykqsdTjQCuARAPdATuVUIwGYeOAAmpub05IKXrNz\nJ7ZUVWFrcbGtUscKepLHQ0VZWRm6JO13XqZLkmLfZc4oIt0ew64XEjz+5BBOKhkx7Bj/bBLFfeR0\nLie5CEiy86M9LzvGX0mVlasSzqttoyQ1ksOxkIAQxWWMZY0eh2NBQhw4VW/d7/fT9OlfowkTlhHw\nT6o2moewlJj9rFmzaPz48fSZz8yhCR
 MeIVFs072verH8FV4vbWLJFaTg8RuFi2qqqugI5GyZJrBX\n0O4FaIsgmIZ+jO6x3aGafJ1EHU0jnNECRk6oRz8UoqRUmuVnJ2b1tJIc26+MGmCKhl3Y0sfqY0ci\nEXK5bo0a0vao8a4hoJsqK1frnl9tROSOQ1/OwOO5KyazbDWdUs4yWkWCMFvVpvUUF3szz9JZvXp1\nUszeyPCxjMU8tzsjI2IULtLq4Bhp5mwByAdZXuGITugnV0ZY3bHkchI1FaeBC6+NPEaQ4U9MS0w3\n19zn89GGDRvI6XxAx15YzzuPFyHpJHWs3kqc3u/3R4uG69msjVRQcJupoVYjdyTf1N0HuJdSye+3\ngpFx3ux20zKdhU1WjYhRzHmzIFC75jOWSua8qPHfF+0cFjgcCaOpbBthbcdS73LRWodDv5OycRI1\nkw5tOExGc6wx7A0/K4STyYpbduZKhIAl5HRuMgwddXR0kCDsosTC4PLLSqFy42yfXQRoq2ixDXUg\nEIjKMuvvA9xHLGlmq0XVtd6jlQnBdI2I3+9nGkg95ctI1PivE0VqFUXaGDX63TpG/S6PJ3Y92c5k\nUUJSHZBHJh2QV/Ea3TM74KmZHKLMDH9eTO7u3382Dh9ehD17GmK6KmbFVMwmzcrKyiBJXTqfFKK4\n+HK0t8/RPS8gTzyuX//fEIQ/ARiArI9TC1kxBpCkrqQJMe1kHvv8APASgCt1PwmHv5A0Ydnd3Y2+\nvnHMfeQCKa/rfqLXVjWsSVa32206IVhSUoKZM2emrPPys9WrcWJgQHc6/KNrrsHxq69O+KwQsixd\naM4cfPTMM3jP6cSNALRXJQFwv/UWmpubceDAAdvr46p5++230dPWht8h/g35b7Cegn2TqLwmLscW\n0u0x7HrJTUgmlRx+LYr36vUuY4wYjDVy2BO7tUn7G4Wj2MdZRqzQjCiuI0HYlVS2Ufb4WWmjawmo\nTutazSZZ7Z4QV
 DxxxYtX15lVQjVm8ejFHk+SZ60cb2PUu96sklhWvPFA9HWf08lcuGeVpR4PM/yU\nzUlUnprJUUAGHn/eGv50NHa0RtjtfpQkaR5JUkNKq1xZ5xXFdeT1LmOEo5TqWAFSwlFKeySpkeTi\nI8oEMXsyNl6UhWLH+dOf/kSlRbOINVlcVPQlevbZZ9Na0WsUDvH7/bZPCGoNl7rOrNZwsUJJeqEi\nvXmAboBuiXYqLQAtBKgO8ipgJS7u9/vTqk7GKsSyGbJsQ6MkZWUSVXlm6s5M/cx47H70MCINP1Fq\nAmBGHr7Xu9JyLNp4pNGWsHCrqamJJk78HmlTNoEakqSGBIkEj6eagCOqDsJPwEpyOOpJFNuimUjq\ncozyq6DgQZp8xhnUDVAlPkcO3ErARgL2kih8l2bPvjdp1XEq12rFezQ6ZiqZJco9q3e5mJ1NOumg\nrMwfdWfAmiBemEapRKP71gZQdVRLKBuTqJFIhOZJEjUiPqldE+3keGrm6GLEGn6zHH7t57JkQ7Lx\nTEWG2GykkZiG2U7Aw1FPXH3OXgLuSPBe9QTkJGkevf7667R9+/boRLJeZ9NKy88/P/ZGALIkcTPk\nidChEitTh2N2CQItdzppmderazi1WShrHY6MJYzVx9wsCNSmab+6MzBLCU21VKLRfavXZBbZjVGK\nLU/NHF2MGMPPMsos78k4Fq82nu3U1tZmOTXUaKRh/ZzrEuLIZgqerM5m/Ph1tINhtOyI6aYbx6+p\nqpK9TMRTKjcDNE+Sku4p6xwLHY6MwyGBgKzBrw29qEsnGpVRTLdUotX7ZqcMMtfc4agZ9oY/EomQ\n17uMnM77CNhBTufypFi6FjMhNW3ePXuiNzk1lDXS8Pv9Kejy7LWk56OMRlgdwzW4lNaLYkIxEjt/\n7Oks7FEMECt8stLrTdpW7+IbJclS0RQraA1xINoRKf+34vGn0pma3bdsLB5LZ2LXzo6Hk18Me8
 Mv\nSy1sIOAOApRVt40kSfOYoQOPZzGxRdnaKa6K2Rud9NQ3vE5nAzPDQzvSMM7NV5+T6PzzN8aOayT6\npmQoqTsbAXtJwmqqwuSYsdcWI7F7uX2qcwO7BIFpTDc5nSmtB7ADPUM8T5JMY/w1GXamrPuWjVz7\nVDz+fJWO4NjHsDf88WwW/YlZLbJ3fITY6Y3rSF4ktZE8nqXU2tpqYLBbyelcYWlFsHUlzl66FpfG\nfmxVVVUkCDW6+2kzlHw+H907YUKCF6q81oki7RKEIV9uHwgEaLnTyQyftGkmhrXGSslIyXSOgtU2\nxRArxm+z201NAN0G0EOQNX7WiCLdh+R5hhWq0UombchWSMZqiIkv8hr5ZGL482IBF3AagP5iLZ+v\nJGFRSnxh1xcBsFQx+wB8Fi7XAJ5+uh5Tp06NLqYKAmiOvpRjvoETJ2rQ0rIK1dUbDFtppMTpcLwE\nAUch4duoQgXa8QZWhkJY1dKCCyIRVFae1t1PrTLa39+PzStWoOqvf4XekqgZAN7fvh2LDh9Gw549\nthaKT4WSkhKcvuoqHGV8/kfVYqWSkhKEyssRhrz8rRbA0wA+BiD+/e/493vuQX9/v61tUxaVFRYW\nog/TmeUAABlXSURBVGHPHnRffjnOALADwN2QF4QtGBzEX9xu/MTtRiuA9aKIBwF85ve/R+38+Rm1\nyS4FUz2sqIryRV4cU9LtMex6ASDjIuJtCeGAxHCLkg+/JRpq2Uiy3n6EgF6qrHyAiBTBtVsIqCOl\njCKwkIB7CFjF9L710Iv/e70radWqVXR3YaGup67kxLMylJQ47DKvl47AIB4d9RbzIW4biUToVpdL\n16t8oLIyaduaqipa4HDk3AvVet/q/PctxcX09euvpz2Ii70FbGhTLiZhjUJzfJHX6AAZePxjhrjf\niVIGedH7nKRPJOmPKC1dFN+yrAyStBuh0BzIvlsDZO+9B8CHAD4C8F8A3
 gFwBgCguno9jh//GeIj\nCi9k77shtg2AmFa+kQRBYWEh9uxpwJEjR/CLX/wCr7zyCg4ceANEM/DtDz7Q9dSnhMMIh8P40Y9W\n4MCBAxCEDzBjxiKMHz8e66ur4T50CFPCYRQTYTsAIdo6tccWBvD/rrwS/37PPXAfOoTLwmHsliSE\nysuxZufOnHv/hYWFmDR9Ouqefx4XA7gCwB+hvuuJ26740Y/w5LRpkDSesNoLNbrvSi2AsrKylCQi\nFO+7H7KmvxvAZZC/bUdDIYz56CO8rHk/BGDCgQOmbWIRG+W0tCQ9w97y8rSOqXcO1nHKysqwW5Iw\nJxRK+qxLkrCI6+9z0u0x7HrBJMavJzng9a7Q3VY+xiYCfDEP3ufzmWT/1MVi81aVLN96661YDVpF\n4tjIy2uQJFoRVbPcF5UTWOrx0L2zZ+t6wAsgL/1vgJxuuBFygfFVlZV5E7dVX6969S3Lq03XC810\nktIsA2kO4/07gIw846GWQeb6+yMfDHePv6pqCw4cmIBw+LsQhItBVA63+4+YMeM4du5cE9tO8fq+\n/vWr0d7+IICpAKYA6IJc7WoNgFcge/6yB//KK6+gr28q5FFBN+TRheIpTQHwB8ijhTOSqnqxmDRp\nEnp7e2MVqgBjL+8lAD9tb4+9Pyccxu/DYTRBb1ZDlly7AcDjAM4G8L4gYPCMM+D2+QzjtmZtDwaD\nOHDgAADg6quvzsjzVMexS5BYZ8zd25s0ckrXC11fXY1Vqns6JxRCuKUFG6qrsXHPHtN2lpSUwD91\nKspCId17dz3kGSbt+xeLIsaOHWt6fBbK/EIwGERPTw8WRUXtcsWanTsTRpNdkoTe6OiQw8kLw79n\nT0PsBzJ27Fh8+OGHKC39p4RJz+rq9Th0yI1w+DIUFfXC4YhgYOAWyKZ1EeLGvCv6NzBx4ssAJmLM\nmB/j1KmZSBzMr4lu2weX6wVcc81zsU6mt7cXTU1N
 2L17N/7zP/8Tn//85xPaKwhCgtFX0P7YjhYV\nwXfBBZj17rtJRuckZAOvxxQAEQAXARgHQCTCIx0d+B5r++iEIcuw9Pf346GvfhX/+8ILuGpgANMA\n/MzhwN9vvBF1Tz2VVphIbci1YZRuQcAr69bhimeeiR07nfCHlUlKK8a06lvfAtrbdT+bAbnb1x5l\n+uAgPvzwQ9Njm2EUkskmQ93xcPKcdIcKdr3kJhjDXi17PyPcEyFFB0deG8DadyV5PEspEAgklCU8\n77zzkipVpYLf76dqj4fqXC56VEdOQAmPNLAmcaOf7wWoGvGUw3WiyJw8NgpR1VRV0UpGSCOTMNEy\nr5eeBWiFxWOnGv6wa5LSKAzHuqeb3W6+6ImT12C4h3qMSNblj4dsHI4JOPfcerz33rU488xXARzD\nqVP/goKCJRgY2I6BgdOQPXw9n3EcZs/uxZ49W1BYWIgf/OAHOHr0KFatWoW5c+fqevRW+dnq1dj8\n0kuQoq3dDXk6WU0JgMPQn8RVSrT/FMDDkKewAdkLPQygSru9wYRhMBjE2FdfZSTLygXLU53E7O/v\nx/rqapQdPYoPABQxjq31ylP1Qu2apDQabRwsKsJdmgnnMIDjM2YwRyHpTDJzOPlE3hv+7u5uhMNf\nAHTyMgYG3sHWrTfhggvGorR0KQDg4MGD+OY3r0U4LEGOOE/RPa4ozkR9/dhYKOI73/lO0jZGP3LW\nZ9rwRAniqw20RucCAFsAFACYCTkrRpmpCAP4K4DHAGyM7vNHtxvdl1+OnmPHLMdtu7u7Ma6vj3EX\ngMv6+kwzmbSo4+6dAFyM7VghKKvhDzuzY1gx75/8+MfYcvfdprFwpbPLh4wqDidj0h0q2PWCJtSj\nzVEPBALR2rV64Z4jVF6+gHw+X2yfxDz/AJnVotXLiTfKJDFTpdQLTyhFQh6CLNu7Jfp3JBoSWezx\n0A1nnkl1iBclUT5Xwj7qjIx
 U5BUCgQDVu1zMtQGNkpSS3LJeXrzZuoNMsDs7hnXvzO5pJith82Hd\nBWfkgQxCPXlj+FmVrPx+PxUU3EqAOiVTvXCrlQqFWroWl9ImSaJlXi+53Y+qttWfH6isfIBp3M2q\nUhmpUhrFkx+cOJEWlJdTncuVYMRaW1tpXzTWrE6LJMhFQ5Y7nRkZO6MYvza9zyx9Uq9jY+rgDJGW\nkN2kuyCL6+VwssmIMPysCVyP5y6SV+S2mhrzKlxKvQBdIt2g+lzpJBoJeJ7GizV0iXQD3ev1MpUl\njdQk610uU1VKsxxqrREzMiybbCgTGIlEaFVlJS1wOGgj5EnjeoeDHqisTKpAZebZavP3OwDyI14M\nvW0IctazTbqTzFwvh5NNMjH8eRHjN5rA/dOfPg+nM4QTJ94EMDf6GaMIO27BabyBpfgjfut9BMeO\nXYze0GS4cBpfxI/wALpx2SBwRhhYvt+hOyFZ7PNBev993XYWHz+O3xDhIt2zAyU+H4LBoGkOtTbG\nbRTLft/jwbRp06zcRiaFhYV49Ne/RjAYxMGDB/ExgK9NmYKfrV6NX8+aFYtZ+6dOxSVHj5pO1P7l\nyitxfyiEiyDPtjwPWXvn/YoKVNTXj7jUwXQmme1KReVwskK6PYZdLwCquLw6hKOUMVxC11yziOL1\nZg10ffA8daq8MJ/PRyucTt10vY2akIryahNFWuF0JrynxOjXiSK1Qk7D1NPHbxOt1YzVI9crPfW8\n0WejoSUzz/YBxgriW1yuEePla0l1JSzXy+FkGwz3UE9c7lg/hDN79n3k9S4nUagi4Lski6wl/6aK\nsTomvqVMqLF+fHuRWHlJea0TRbpp4kTqVr3HCu3Uat6zYzIzF7FsVmgpANB6xv1SC8QxQ2EA3Wsg\nazycJzlT7Zh5tSxOtsnE8OeFLHNJSQmmTvVDTgxMHhx3dV0E5/uv4DVqQTM2ohz/F7oSx3gOZyCe\n6ldWVo
 YuSXs8mYMOB8YlHQHoHxzE//fee7jf7cbW4mI8KQgYJ4r6Q3YAr0FOafw97BHgUmSFAaCz\nszMrEros2eASAN2Dg7pC18q1dXd34wsMyeHLAYjRcJea/v5+1M6fj6enT8dARQV2T5+esfRxrlHW\nICw6fBhn799vKo2tlqNWY6dQG4eTNun2GHa95CYQtba2UuIEbvwl4Hn6pib0UoXJ5MZqUiZsr8Gl\n1CBJSV4Ya4j+QGUlrfB6aZ0oJqVQKl6Zz+ej7du3U7vBqOFuyCmaa6OTpVaKuRh5vbnIBLEqKKfn\n2QYCAdqkCYXFPFmAdglCUhhjtE5yDrVQG2dkg+Ee6gmFQrRhwwYqKFija/idWE07ENdLV4cmHhUE\n+tnPfsYMjxj9+JQSgtoUSnUc1iy0ETAwZmojb9Wg58pIppp5pGYFIyOqRieMwUMeQ5uKyhm5DHvD\nr2jjlJffrhvjvxiTaR3knPmtOp653mIcrVetl0LZ1NREmyXJ1CgxjSRjP7/fn2Tk1fVfjTqKXBnJ\nTLzRSCRC8ySJGpG44KwbyZOdfJKTw8kOw97wK0JoiYu4WsmJ1XQJJidMtMYMJpKzKlhetTpXXbvN\nQkZVKNZx20WRGpxOugPJWT2KMav2eBKOGYC8yMvMoA+FkUzXG41EIrTM66XlTqdhHWDu8XM42WHY\nG34tgUCAmpub6QGnkykHsFYUE6QSiNie+UKHI8HzVnckEYBWQl7QZOb5KkbS5/OZLvJSv9cRHa3o\nbd8qitTc3Bw7/nAzklY6Dl4UhMOxnxFn+BUWezzUzjCYejnzTKOJeCxeLw2TAKpzuai5udmycWUZ\ns6UeT5LXbqRnsxGQVwObyEUMZyPJJzk5HPsZsYbf7/fTWodD35irPOBAIEDbtm2jXYKgu207EnP2\nlY5AXXg71VAKy5j5/X7dDoipZ6PukFTGfyQaST7JyeHYRyaGPy8kG9So5Y4nTZqED+b
 OZcryjh8/\nHrXz58ekEQ4KAmqJsAZxDXtAXZNLphSyzv0UxGty/c+ZZ+IRnZx/lvyykba8nvzCNwDcJUmYBVmu\n+E3EJZiB+FL+kydPjtjKSUNVjYrD4SQiyB3HEDZAEIiIkvTOu6J65/f/+MfYytBL19ZjBeROYSvi\nGvZhyJr3DaptFgDYgWR9/K1VVbE6rqz23NnYiN7eXsNCHOp9tW3et28ffv+P/4gvArgaiSX/9oki\nzt6/P7aAi8PhcFgIggAiEtLaOd2hgl0vQJZsWKrJhFGHP4hSU7RcJ4q0SxCo3uGglUjMvjkC0EMm\nsgRE1iaKzUIw2jZHIpHYojGrqalDyXCWWOBwRjrIxxg/5GjK/4OsavAagJsZ21Gdy8WuP8swhkap\nj22iSDt27EjIp1fi5Ys9HuZKXCuLtpImilOYdGUuzsrCBG4mRpvryHM4+U8+G/5vWdjOMN2RNema\nSuqjkh7a1NRkmIppJO6mTATv0k4UW/TSzUYo2tTUdLHDaI9WiQUOZziRieHPtkibpfhTGeQJWD26\nJAmlOnrnVkWw+vv78e/33IN3li3DuAUL0HnrrXjBRIhMLe7WD6AWwNMABiBXCdgdfR+I15U1Q08Y\nLQhZ4K2MCF/7/vdtqd2qzHvcHwphzuAgVoZCWNXSgg3V1Zb2t6Ijz+FwhjfZzuq5TxCEfwFwGMAD\nRPR3vY2MCpIbKRkaFTxRsnGeXL8e32hvx0nIHcycUAjzIGfYzBZFZqEUJTNnC4BVqnbNibZrA+QJ\nZFYhDi3qYh7asvE9goBX163DFc88EzP+RoXeWdhR/IOl3Amwi6dzOJzhRUaGXxCEfUi01QIAAvA9\nAP8BYC0RkSAI6wE8CuBOvePUARABVAH4IoB/hGxQ+66+OmaM9QyhXkrl+PHjEzqDiYODWA/gdsie\neghyCuVsUcT1zz2HDz/8UDdlcs3Onaj5yldQ8pvfQBocTPhMkW
 RORYrZsDMZHES4vR0bqqvxPVVn\nplTGCkU7JbMRgR1GO51qUxwOJ/u8+OKLePHFF+05WLoxolReAC4EcJTxWazC1ZZoDP3OM8+Mxbyt\nxKzVE5lGE6jq/1tZsNXR0WEoyVzt8aQUO1f0bYyKnSxjKF9aia/bJfkwElcPczgjDeTp5K5b9f9V\nAJ5gbEcLGEJptVVVhhON2k6h3uVir/RVZeNsgZxJZGYIDSWZJSmtjBmjzkSv7GOqhtsOoz2SVw9z\nOCOFTAx/NmP8PxAE4QoAgwDeAXA3a8NrzzsPkiZEIQGYeOAATp4+zYxZ13zlK3iovT32ueP4cXzM\nOMcUAD2Q5xO+AOAXkybphj20ISVWEfS+q69OK9athFJu0gmlvD5hAq5lFHq3GqoxK/RuBaNVyRwO\nZ/iTNcNPRLdb3XZqX5/u+1PCYbyCaOYLEle5fiEcxp9PnUowyGWQ4/g36RxLLdvwqsOBhx9/POFz\n7Urd3aqVw1uAjAypGqPOJHjVVTjr2DEgg/i6nUabSyxwOCOTvNDqOQh9Y/0qgI8gp1GqJ2YLoe8d\nG2YHRT8PA/hw7lxMmjQpYV+t/MOcUAjhlhZsBWz3flle+Ybo+yxtolTOy402h8NhkReGPxLNq9ca\nu79B1t0BEtMo74e+dxwEcAOAuwsK8A8TJmBqXx86AfxhcBBfB7BeFHGwqAg/+fGPE85vNQ3SLkNq\n5JXbEarhcDgcI/JCpC2CeF77FACvAPAB2IlElU0AWAfgjenT8ZPf/S7mpZ+j2f9VhwO9s2bhvZMn\n8eCrr6IIcny/FMAZSBRjA4DOzk4MVFRgjiZtExg64TSlUyjl8XUOh6NDJiJteWH4lRYEIRvodyGH\nZr6ls30rgI+bm3HbbbfF4vLdbW3YPjCQNGJY7nDg6YGBpGNsLS7GosOHYwY1GAxi9/TpWKkTW9du\nO9Sks7CLw+GMPDIx/NmWbEiJEgAzIcfpk
 02wzEGHAzNmzAAgh0xW/OhHclaQZjsJwLSBAegJDGhl\nFqzKPwwl/f39qJ0/H09Pn46Bigrsnj4dtfPno7+/33xnDofDUZEXMX41YQB9kJf/6sX9T954Y4Ih\n7u7uxuWMrKArEE/hVKOXIZPvsXXW5POG6uqEsBWHw+GYkReGf2txMaaEwzhaVIQDf/sbHouGZ9YD\nKIKsZ3NAFHFizhxseOqphH2NJAYOOhyYrwn1sLz4fM5dt0ODh8PhcBTywvAvOnwYPT09+FppKfru\nuQcfRD3bBshx/8MAwnPmYEdbW9K+RnnxJ2+8EbvGjMHvUvDi8zENkguncTgcO8mPyV1VG4zKFrJE\nysz2Ge4ZMsNp8pnD4eSG4Z/Vo9OGdIz1cDfwRtTOn69bX3hLVRUaeIyfwxl1jEjDz0kknZEQh8MZ\nuXDDP4oYyaMaDodjnVFt+PmCJg6HMxoZlYZfq6bZlUKlKg6HwxnujErDz5rs1OrwcDgczkhkxEg2\nWMXKgiYOh8Ph6DMsDb+VBU0cDofD0WdYGv6ysjJ0SVp/X6ZLklBqoVIVh8PhjFaGpeEfDmqaHA6H\nk68M28ldvqCJw+GMZkZlVo8CX9DE4XBGI6Pa8HM4HM5oZNSlc3I4HA4nfbjh53A4nFEGN/wcDocz\nyuCGn8PhcEYZ3PBzOBzOKIMbfg6HwxllcMPP4XA4owxu+DkcDmeUwQ0/h8PhjDK44edwOJxRBjf8\nHA6HM8rghp/D4XBGGdzwczgcziiDG34Oh8MZZXDDnyHBYBCdnZ28wDuHwxk2cD3+NFFXALssWgEs\nxCuAcTicHMELsQwBtfPnY1VLC9Ql38MAtlZVYeOePUPVLA6HM0rghVhyTDAYRPGhQwlGHwAkANKh\nQzzsw+Fw8hpu+NOgu7sbU8Jh3c+mhMPo6enJcYs4HA7HOtzwp0FZWRm6JK2/L9MlSSgtLc1xizgc\nDsc63PCnQUlJCULl
 5dD6/GEAveXlKCkpGYpmcTgcjiX45G6aqLN6pkSzenp5Vg+Hw8kRPKtnCAkG\ng+jp6UFpaSn39DkcTs7ghp/D4XBGGUOWzikIwgJBEP4gCMJpQRCmaT77riAIbwuC8IYgCN5MzsPh\ncDgc+8h0cvcYgC8D2K9+UxCESwEs+v/bu5fQuMowjOP/R0oXKhRvVVHrwnrfqItQcWE3XiJCshDU\njTeQonTnwopCN266ElSKKEUqVEo31aittqJB3GixVpHWGhetNdQoaBdeFlUfF+coYzKXk0lyZibz\n/GDIOck3k5ePd96ZfPO9J8C1wCiwVVJXr0wxP5OTk70OYVnJfC6ezGX/WFDht33U9hQwu6iPATtt\n/2n7GDAFjCzkd0U1eXItrszn4slc9o+l2s55CXCi4Xy6/F5ERPTYik4DJO2H/12dQICBp22/tVSB\nRUTE0liUXT2SPgSesH2wPN8E2PaW8vxdYLPtT5rcN1t6IiK60O2uno7v+OehMYAJYIek5yiWeNYC\nnza7U7eBR0REdxa6nXNc0glgHfC2pL0Atg8Du4DDwB7g8WzWj4joDz1v4IqIiHrVfpG2dk1fs8bd\nKelrSd9IerLOGAeJpHMk7ZN0VNJ7kla1GHdM0heSPpfUdNltWFXJNUnPlw2JhyTdUHeMg6TTfEq6\nVdIpSQfL2zO9iHMQSNomaUbSl23GzDs3e3F1zqZNX40knQG8CNwBXA/cL+maesIbOJuA921fDXwA\nPNVi3N/Aets32k5PRalKrkkaBa6wfSWwAXip9kAHxDyeux/Zvqm8PVtrkIPlVYq5bKrb3Ky98Ldp\n+mo0AkzZPm77NLCToiks5hoDtpfH24HxFuNELsPdTJVcGwNeAyh3pq2S1PwfMkTV5242dVRg+2Pg\nlzZDusrNfi0EsxvAvicNYK2stj0DYPsHYHWLcQb2Szog6dHaout/VXItDYnVVX3u3lwuTbwj6bp6\
 nQluWusrNxdzO+Z80fS2uNvPZbG201af1t9g+KekCiheAI+W7iYi6fQassf17uVTxBnBVj2MaKktS\n+G3ftsCHmAbWNJxfWn5vKLWbz/KDnwttz0i6CPixxWOcLL/+JGk3xZ/kKfzVcm0auKzDmCh0nE/b\nvzYc75W0VdK5tn+uKcblpKvc7PVST6t1vgPAWkmXS1oJ3EfRFBZzTQAPlccPAm/OHiDpTElnl8dn\nAbcDX9UVYJ+rkmsTwAMAktYBp/5dXos5Os5n4xq0pBGKbeUp+q2J1rWyq9xcknf87UgaB14Azqdo\n+jpke1TSxcArtu+2/ZekjcA+ihenbbaP1B3rgNgC7JL0CHCc4nLYNM4nxTLR7vLyGCuAHbb39Srg\nftIq1yRtKH7sl23vkXSXpG+B34CHexlzP6syn8A9kh4DTgN/APf2LuL+Jul1YD1wnqTvgM3AShaY\nm2ngiogYMr1e6omIiJql8EdEDJkU/oiIIZPCHxExZFL4IyKGTAp/RMSQSeGPiBgyKfwREUPmH9tV\n9Mrph8RbAAAAAElFTkSuQmCC\n",
-      "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f0a6842b090>"
+       "<matplotlib.figure.Figure at 0x7fcfcf3b5e50>"
       ]
      },
      "metadata": {},
@@ -52,42 +125,15 @@
     }
    ],
    "source": [
-    "\n",
-    "# generate the boundary\n",
-    "f = lambda x: (5 * x + 1)\n",
-    "x_tr = np.linspace(-1., 1, 200)\n",
-    "y_tr = f(x_tr)\n",
-    "\n",
-    "\n",
-    "# generate the training data\n",
-    "x = np.random.uniform(-1, 1, 400)\n",
-    "y = f(x) + 2 * np.random.randn(len(x))\n",
-    "\n",
-    "\n",
     "# convert training data to 2d space\n",
-    "dat = np.array([[a,b] for (a, b) in zip(x, y)], dtype=np.float32)\n",
-    "label = []\n",
-    "posx, posy = [], []\n",
-    "negx, negy = [], []\n",
-    "for (a, b) in zip(x, y):    \n",
-    "    if 5.0 * a + 1.0 < b:\n",
-    "        l = 0\n",
-    "        negx.append(a)\n",
-    "        negy.append(b)\n",
-    "    else:\n",
-    "        l = 1\n",
-    "        posx.append(a)\n",
-    "        posy.append(b)\n",
-    "    label.append(l)\n",
-    "    \n",
-    "label = np.asarray(label, dtype=np.int32)\n",
+    "label = np.asarray([5 * a + 1 > b for (a, b) in zip(x, y)])\n",
+    "data = np.array([[a,b] for (a, b) in zip(x, y)], dtype=np.float32)\n",
     "\n",
-    "#plot the training data and the boundary\n",
-    "plt.plot(x_tr, y_tr, '--k', label='truth line')\n",
+    "plt.plot(bd_x, bd_y, 'k', label = 'boundary')\n",
+    "plt.plot(x[label], y[label], 'ro', ms=7)\n",
+    "plt.plot(x[~label], y[~label], 'bo', ms=7)\n",
     "plt.legend(loc='best')\n",
-    "plt.plot(posx, posy, 'ro', ms=7)\n",
-    "plt.plot(negx, negy, 'bo', ms=7)\n",
-    "\n"
+    "plt.show()"
    ]
   },
   {
@@ -98,8 +144,23 @@
    "source": []
   },
   {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Create the MLP model\n",
+    "\n",
+    "1. We will create a MLP by with one dense layer (i.e. fully connected layer).\n",
+    "2. We use the Softmax function to get compute the probability of each category for every data point.\n",
+    "3. We use the cross-entropy as the loss function.\n",
+    "4. We initialize the weight matrix following guassian distribution (mean=0, std=0.1), and set the bias to 0.\n",
+    "5. We creat a SGD updater to update the model parameters.\n",
+    "\n",
+    "2 and 3 are combined by the SoftmaxCrossEntropy."
+   ]
+  },
+  {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 6,
    "metadata": {
     "collapsed": false
    },
@@ -108,15 +169,11 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "(2L, 2L) (2L,)\n"
+      "(2, 2) (2,)\n"
      ]
     }
    ],
    "source": [
-    "\n",
-    "\n",
-    "tdat = tensor.from_numpy(dat)\n",
-    "tlbl = tensor.from_numpy(label)\n",
     "# create layers\n",
     "layer.engine = 'singacpp'\n",
     "dense = layer.Dense('dense', 2, input_sample_shape=(2,))\n",
@@ -124,18 +181,37 @@
     "print p[0].shape, p[1].shape\n",
     "\n",
     "# init parameters\n",
-    "p[0].gaussian(0, 0.1)\n",
-    "p[1].set_value(0)\n",
+    "p[0].gaussian(0, 0.1) # weight matrix\n",
+    "p[1].set_value(0) # bias\n",
     "\n",
     "# setup optimizer and loss func\n",
-    "opt = optimizer.SGD(lr=0.03)\n",
-    "lossfunc = loss.SoftmaxCrossEntropy()\n",
-    "\n"
+    "opt = optimizer.SGD(lr=0.05)\n",
+    "lossfunc = loss.SoftmaxCrossEntropy()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "* Each layer is created with a layer name and other meta data, e.g., the dimension size for the dense layer. The last argument is the shape of a single input sample of this layer.\n",
+    "* **param_values()** returns a list of tensors as the parameter objects of this layer\n",
+    "* SGD optimzier is typically created with the weight decay, and momentum specified. The learning rate could be specified at creation or passed in when the optimizer is applied."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Train the model\n",
+    "\n",
+    "We run 1000 iterations to train the MLP model. \n",
+    "1. For each iteration, we compute the gradient of the models parameters and use them to update the model parameters.\n",
+    "2. Periodically, we plot the prediction from the model."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 8,
    "metadata": {
     "collapsed": false
    },
@@ -144,19 +220,33 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "0.704925477505\n",
-      "0.466226756573\n",
-      "0.39766433835\n",
-      "0.352448284626\n",
-      "0.320274919271\n",
-      "0.296036958694\n"
+      "training loss =  0.245654\n",
+      "training loss =  0.236532\n",
+      "training loss =  0.228489\n",
+      "training loss =  0.221329\n",
+      "training loss =  0.214903\n",
+      "training loss =  0.209094\n",
+      "training loss =  0.203810\n",
+      "training loss =  0.198976\n",
+      "training loss =  0.194531\n",
+      "training loss =  0.190426\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAADSCAYAAABNc6vdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvX98FNW5+P8+K2QVAgKBbJL6q0R6rYgVC0obLyJi8MYS\ntFX8wdVbFatFBVFvoS2WIHiFGgRbva9rW+ur91PA6ucrQv1IAv6ApLYKRFGKrdFQW7vZBKqtBq1R\nyPP9Y2Z2Z3dnZmd/JNmE83695pXszuyZM2dmnvOc5zzPc5SIoNFoNJojh0BvV0Cj0Wg0PYsW/BqN\nRnOEoQW/RqPRHGFowa/RaDRHGFrwazQazRGGFvwajUZzhKEFv0aTJkqpE5VSXUop/f5o+iT6wdVo\nMiOtABil1Eql1N+UUgeUUiu6q1IajR8G9HYFNJr+jlLqRqAaGGd+9axSap+I/KQXq6U5gtEav6bP\no5QqVUr9X6XUfqVUi1LqVtu+JUqpJ5RSjymlPlRK7VJKnW7bf4pS6gWl1N+VUnuUUjNs+45WSq1S\nSr1j7m9QSgWt3cC/K6X+bJ73ex5VvAZYJSIREYkAtcA3c9oIGk0aaMGv6dMopRTwa+BVoBQ4H5iv\nlLrAdlg18CtgOLAeeEopdZRSaoD52zpgFDAPWKuUGmP+bhUwHpgEjAC+A3TZyq0AxgDTgB8opf7F\npZpjgddsn18zv9NoegUt+DV9nYnASBG5R0QOi8g7wM+AK2zHNInIBhE5DNwPBDGE+SRgsIisFJFD\nIvIC8DRwpdmhXAvME5E2MXhJRD4zyxSgRkQ+FZHXMYT5l1zqWAh8YPv8ofmdRtMraBu/pq9zIvA5\npdT75meFodA02I551/pHREQpFQbKzGPfJZ4/A58DRgJHA/s8zt1u+/9j3IX5QWCo7fOx5ncaTa+g\nBb+mr/MusE9E3MwsAMdb/5ia/HFAK4bgPyHh2BOAN
 4G/AZ8A5cCeLOu4F2M0sMv8fIb5nUbTK2hT\nj6avswPoUEp9x5yMPUopNVYpNcF2zJeVUhcrpY4CFmAI9JeAl4GPzN8OUEpNAb4GrBcjX/nPgfvN\nyeOAUmqSUmqgWaZKo47/C9yulCpTSn0OuB14NKur1miyQAt+TZ9GRLowhPUZwJ+A/cBPiTetbAQu\nB/4OzAYuMecDPgNmAFUYGv6DwNUi8pb5uzswtP2dwHvACmLvTKIfv6tfv4g8jDGJvAdjLmCTiPw0\nk+vVaHKBysVCLEqpRzBevnYROd38bjiGJ8WJwDvALBH5wLUQjaYbUEotAcpF5JrerotGky/kSuN/\nFJie8N0i4FnT9vo88N0cnUuj0Wg0WZATwS8iv8EYRtuZCfzC/P8XwMW5OJdGo9FosqM7vXqKRaQd\nQETalFLF3XgujcYREVna23XQaPKNnnTndJxMUErp1d41Go0mA0QkHe+yKN3p1dOulAoBKKVKMLwt\nHBERveVoW7JkSa/XoT9tuj11W+brlg25FPyKeN/mTcQSUf0HhkudRqPRaHqZnAh+pdQ64LfAF5RS\nf1FKXYvh83yBUupNjMRZOge5RqPR5AE5sfGLyFUuu6blonyNf6ZMmdLbVehX6PbMHbot84ecBHBl\nVQGlpLfroNFoNPlOa2srLS0tlJeXU1ZWhlIKyXByN2+TtJ100kn8+c9/7u1qaIATTzyRd955p7er\nodHkhEQBmu8cPHiQ2bOXs3NnCe3tpxEKPcHEiZGsysxbjd/szXqhRppE9L3Q9AeSBeheJk6MsHbt\nYgoL83d5hJkzF7Fp0wIgZPu2HSjJWOPXgl+TEn0vNP0BNwFaXb2GjRvv7a1qedLa2sqECU8Qicx3\n2Ju5qUdn59RoNP2e1tZWdu4sJV7oA4TYuTNEa2trb1QrJS0tLbS3536VTi34NRpNv8dLgLa3j2Xf\nPq+F1nqP8vJyQqHcr9mjBb9G
 0w9obW2lsbExbzXX3sZLgIZCexk9enQP18gfZWVl5kRue8KexM/p\noQV/nnHeeefx85//3Nex27dv5/jjo6sKctppp9HQ0ODxC01/4+DBg8ycuYgJEx5nypROJkx4gpkz\nF3HwoF7S146XAJ04sS2vvXvWrl1MdfVqSkvXEAhspbR0DdXVq7MrNA/yTYgTbt/nCyeddJI899xz\nWZVRU1MjV199ddx3U6ZMkUceecTX77dt2ybHH398VnXwQ77fiyOZ6uqFAm0CYtvapLp6UW9XrdcI\nh8PS0NAg4XA47vuOjg6prl4opaWrJRDYIqWlq6W6eqF0dHT0Uk3To6mpSR588EFpamoSkeh7mZHc\nzVs//r7O4cOHOeqoo3q7Gpp+jJ8Jy3zWZHONm7+75a5ZWFjIxo0raG1tZd++fYwePatPtE/ydTUy\nceLj2RWaaY+Rq40+qPFfffXVEggEZNCgQTJkyBC577775J133hGllDzyyCNywgknyLnnnivbtm2T\n4447Lu631kihrq5OCgoKpKCgQAoLC+WMM84QEUPjv+uuu6SiokKGDBki06dPl/fee8+xHokav30U\nUlNTI7NmzZJrrrlGhgwZIqeddlpUUxARaW1tlW984xsyatQoGT16tPzoRz9yvd58vhdHMg0NDRII\nbE3Q9o0tENgijY2NvV3FHqW/jn4qK+cKPCUQjrsustD4tY0/A/73f/+XE044gaeffpoPP/yQO++8\nM7qvoaGBP/7xj9TX1wOGD7wT06dP53vf+x6XX345HR0dvPrqq9F969ev5xe/+AUHDhygs7OT2tra\njOr561//mquuuooPPviAGTNmcPPNNwNGZz9jxgzGjx9PJBLhueee44EHHmDr1q0ZnUfTO/TVCcvu\noK+6a3px8OBBpk+fz7PPlgKDgScwVrQ9SPJ1pkefFvw1NTUopZK2mpoa38e7HesHSQhqUkqxdOlS\njjnmGIL
 BYMblXnvttZSXlxMMBpk1axa7d+/OqJxzzjmH6dOno5Ti6quv5vXXXwdgx44d/O1vf+P7\n3/8+Rx11FCeddBJz5szhsccey7jOmp6nL09Y5pp8cNfMtWfV7NnL2bLle3R1LcbIdzkfWADck3XZ\nfdrGX1NTk5bgTvf4TDjuuOOyLqOkpCT6/6BBgzL20Egs55NPPqGrq4u//OUvhMNhRowYARgdWFdX\nF5MnT86u4poeZ+3axTb771gzDUEba9cudv1NX8tV4wdj9PMEkUhyQmBj9DOr286dam4hE7xGMMaW\nXefSpwV/b+JmwrF/P3jwYD7++OPo58OHD3PgwIGUZXQ3xx9/PKNHj+bNN9/slfNrckc6E5bdIaB6\ni8TOyxr9bNrUTmJKhu4e/cyevTwuFUQkMo1Nm9qZPfuejFNBeEfsjgV2ZVSuRZ829fQmJSUlScPH\nRNPPF77wBT755BM2b97MoUOHWL58OZ9++ml0fygU4p133umxPDjWec466yyGDBnCD3/4Qz755BMO\nHz7M3r172bUru4dJ03uUlZVxzjnneAo4S0BFIrfR1TWNSGQ+mzYtYPbs7E0HPYVX3IKbv7vX6McN\nv2abXMwtOJ3La/4mEHiZysr6lOV6oQV/hixatIhly5YxYsQI7r//fiBZgx86dCj//d//zfXXX89x\nxx3HkCFD4kxBl112GSJCUVEREyZMcCwjHVL91tofCAR4+umn2b17N5///OcpLi7mhhtu4MMPP8z4\n3Bpvejuytr9Mfnp1XtboZ9euWWzffgy7ds1i48YVvkYz1v1566230gqIy2ZuwasTi5+/aQUazb/t\nTJt2gPr6h1JekyeZugPlaqMPunMeaeh7kTnxQUNbpbR0Ta8EDfUH189wOCylpWscr6G0dHVSwJYf\nEu9PMHhZWi6hmdTJCjAz3DTdzxWJRCQUmiGBwDKBegkElksoNEMikYiIRN/LzORupj/M
 1aYFf/6j\n70Xm5ItveXcIzZ6mOzqv+PsTFki/jdzv8cK44xIjhwOB5QILBTocz5Xq2clG8GtTj0bTTeSTeaU/\nuH7mOm4h+f60YEycJh1JW1sXO3bscCzH79xCvJnqArq6vo+Te2Z7+1h27NjRrc+OFvwaTTeRD77l\ndnI5+dkb5LrzSr4/5YC9YzmIETD1OCKncdNN+xzt/X7mFtJxzwyF9iIi3fvsZDpUyNWGNvXkPfpe\nZEa+mlfC4bA0Njb2CfNOIrlMtOZ8f+zmldyZ6bzMVLBFoDHOROTn2UGbejSa/CMfzCtO3kR+XD/z\nlWw8dxJxvj+LgXspKLgTGI6Thv7ii8N45ZVX0jpXvJnK7qVjuGcq9de4EVh3Pzt6zV1NSvS9yJz4\noKn4yNruDJrqqwuL54J0IpPd7s/ll5/O1VePoqvrAodf1VNU9AwVFcdQW3s9bW1tvs510UW388wz\nXcBJwGkYZqU/MXVqJ0uXzmb06NFxZaR6dsz3MjP/70yHCrnacDEjnHjiiQLoLQ+2E088Me2hrSae\nnjav5Is3UU/S0dEhlZVzpajoFlFqfVqus4n3x8vUAqvF8ABqk2DwMt9uulVVdzjek6qqO9OqmwVZ\nmHryNmXDO++809tV0GhyhpVWoCfI1zz93Zkj6ODBg5x88lW0t58LfAnYSyQSYdOmbzmmTnBK+WCv\nk1cKCGgDjGM7O78KnOqapsE6z+DBg3n11eNxuidNTSUp78mBAwc4cOAAZ599dk7aLm8Fv0ajyQw/\n3kTpCI9sBXZP5Aj6xje+T3v7T4kJ1mkYQnpNXGeXTl2sBHgvvjic9947A/gDhtC3e0GNBfZhdASx\njnXo0KFx5xk+/Anee+8ix7q3t49l1qzvUFf3P3F1OHjwIJdf/gOee+5dOju/DJxJMPgI55//Ab/6\nVU12DZbpUCFXGy6mHo1GkxmZehMlLlmYq6jj7jY7hcNhKSpa6Wq
 WUWp9NLgrOWCrQWC3Z2Tuz372\nMxk+/GaJXwgl0exjfLYCyZKvOSywysN0lFwHo4z5rm1HfzT1aDR9lZ5Ke+x2nngzxWGMwKRy4ChH\njxA3LfjQoU955pmFZJN1sifMTi0tLfz97+Nd9o5lwIDHCIUW2eoyGMM/vwRjknUb9fVv89ZbbzFm\nzBgg1iYvvXQMBw4MZeDAMJC4lGq82QcMH/xBgyY7XHMZsN/8jZPp6Evs3PlCtD1aW1t56aVBgHPb\nvfzySJ+t40KmPUauNrTGr+kn9FReHj/nSZXnxY6bRm7krUlv1JBIT+QI8p6IrRW4XqqrF9nq4ny9\nFRU3RMusqlpgaturBbYKrBSokmCwRgKBLRIMLjX3d0i8Jr7Q45o7BGYKGPfEKDuWssHeHtu2bROl\nVpnndmq7uqw0fi34NZoc0VOeNH7O47cu3kLzXkfzRjoCu6eC2NyuF2YIdEhp6WppamqS4uKl4paP\nJxSqlXA4LOFw2CFZW1jgKRk4cJps2LBBmpubEzyIYoFkztfcIbBQlLpbYJ3APIG5cR2HvT2mTZsm\ngcCttrpaZqlwtK7ZCH5t6tFossDutdETnjR+8//4rYv3gh9nEJu4tJWSYkWrRBNUTyyQsnbtYi68\ncAEvvlgOnAnsBsLAOqCQ9vaxfPzxx4wZ8yb793/TsYwDB05n37595lrXXzbrexBYjmUW+uyzc1m2\n7HFKSsrYs2cMf//7WEaMeJVx48KsXWukhi4sLHS45uXAAkSsz1dimHkWA98Ahsa1x69//Wsuv7yG\nTZveBG4j5vv/BPAnvvzlAM88k3l7acGv6Tf05JKCiXbxVF4b6XrSuOHHY0ckdZ4Xqy5eSxYGgzvo\n7JyZWIKrwHabK3j44duA1b6Wh7R3pB999JHve1lYWMjjjy/l9NPv57333sLw6jkzut+yvc+dexE7\nd27h00+TA7OsDs1YJc+aM1iOIaQ/xJgnmc
 Yrr9wG/CeWUH/vvQvYsiV+7sO+JGZbWwlKDaGryylP\nTxHwV4LBtzl06BAHDx6ksLCQo48+mrVrF1NefgX79z9CbK7mMoy5htqUbeJJpkMFvxvwDvAa8Cqw\nw2F/ToZ6miOX3sh5n47XRi5NGn5MJ+maV9zMJFVVd3jmxUn0AkplXvIKYrPuYSi0QuA6c26iTkpK\n7vd1L63fG7b3LaaJxLKft0goNMOWc/9ucbPPW/U0jmkWuExidv41pnnmfte2bWpqimuTpqYmue22\n2wTqXMxpiXl6Yqa4cDgsodBK8zrsdbDaKXNTT08I/n3AcI/9njdUo0lFT0epugtWf3nZs8VP/ne/\nOeJFUic+SxTYTh1tZeU8U0j562zcO43M7qXXBHUoNMNl36Wuid6MKNtrHH73lIcQ3yxDhnxLAoGt\nUlJyv4RCMyQUWiFKrRf4gctv4t1B7W3V0NAgcJ1j3Y3v81vw/wko8tjveUM1Gi96IwOmt9fGtVJU\ntDLrzJFe+MlQmUkWSzeN3K9mD9c73gel1smDDz4o4XA4RaeR2UIoXs/AyJF3SSjkPBILBJbKhAmX\nSHNzc1KZzc3NUlBQ4/C7sMByFyFeK/GT4W0Ci8zvnFf2Mjo6e51iE+dNTU3mYi1OdV+WleDvCRu/\nAFuVUoeBn4jIT3vgnJojhFxHqfrB3S5eSGnp6Tz99GQ+/vhjRo+e1S1zDVaGytbWVvbt2+d4Hj/H\nWNjnRs4555zo9042+3Hjmnn99ZNxmjgOBE6iq6uV2GSwMTEqMphbbjmL5ct/hcgLcRG2kcg0Ip

<TRUNCATED>