{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Mislabel detection using influence function with all of layers on Cifar-10, ResNet\n", "\n", "### Author\n", "[Neosapience, Inc.](http://www.neosapience.com)\n", "\n", "### Pre-train model conditions\n", "---\n", "- made mis-label from 1 percentage dog class to horse class\n", "- augumentation: on\n", "- iteration: 80000\n", "- batch size: 128\n", "\n", "#### cifar-10 train dataset\n", "| | horse | dog | airplane | automobile | bird | cat | deer | frog | ship | truck |\n", "|----------:|:-----:|:----:|:--------:|:----------:|:----:|:----:|:----:|:----:|:----:|:-----:|\n", "| label | 5000 | **4950** | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 |\n", "| mis-label | **50** | | | | | | | | | |\n", "| total | **5050** | 4950 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 |\n", "\n", "\n", "### License\n", "---\n", "Apache License 2.0\n", "\n", "### References\n", "---\n", "- Darkon Documentation: \n", "- Darkon Github: \n", "- Resnet code: \n", "- More examples: \n", "\n", "### Index\n", "- [Load results and analysis](#Load-results-and-analysis)\n", "- [How to use upweight influence function for mis-label](#How-to-use-upweight-influence-function-for-mis-label)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load results and analysis" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "num tests: 5050\n", "dogs in helpful: 6 / 100\n", "mean for all: 2.45772849226e-06\n", "mean for horse: 2.44922575777e-06\n", "mean for dogs: 3.30800194102e-06\n", "all of mis-labels: [ 951 2130 2761 3050 3084 3170 3198 3210 3231 3315 3449 3489 3547 3644 3676\n", " 3765 3818 3876 3896 3912 4079 4276 4300 4320 4338 4372 4380 4429 4487 4519\n", " 4572 4584 4695 4753 4754 4762 4802 4819 4828 4831 4876 4879 4881 4939 4955\n", " 4978 5001 5011 5034 5048]\n" ] }, { "data": { "text/plain": [ "([,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ],\n", " )" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nSZIkSZKkjtNRQdLajVtZvnojhy00SJIkSZIkSRprHRUkLV25FoDnLpxTcyWSJEmSJEmdp6OCpFtW\nrAHgsAW2SJIkSZIkSRprHRUkLVmxhv13n87s6ZPrLkWSJEmSJKnjdFSQtHTFWp5jtzZJkiRJkqSW\n6Jgg6eHHN/OrtZt4jgNtS5IkSZIktUTHBElLV1bjI9kiSZIkSZIkqTU6Jki65f61TAp41t6z6i5F\nkiRJkiSpI3VMkLR05VqesdcMdp3aW3cpkiRJkiRJHakjgqTMZMmKNRy2wG5tkiRJkiRJrdIRQdKq\ntZt4ZP0WnruPA21LkiRJkiS1SkcESUtWONC2JEmSJElSq3VIkLSW3knBIU+bWXcpkiRJkiRJHatj\ngqRD5s9kl8k9dZciSZIkSZLUsdo+SHKgbUmSJEmSpPHR9kHSfas3sm7TNp670IG2JUmSJEmSWqnt\ng6RbykDbhxkkSZIkSZIktVTbB0lLV6xlau8kDp7nQNuSJEmSJEmt1PZB0pIVazl071lM7mn7pyJJ\nkiRJkjShtXX6sr0vWfartTx3oQNtS5IkSZIktVpbB0m/WvMEG7ds55nz7dYmSZIkSZLUam0dJD2y\nfjMAe86cWnMlkiRJkiRJna+tg6RHN2wBYPddDZIkSZIkSZJara2DpNXrqyBpt12n1FyJJEmSJElS\n52vvIKm/RdIMgyRJkiRJkqRWa+8gaf1mpk3uYfqU3rpLkSRJkiRJ6nhtHSQ9umGLrZEkSZIkSZLG\nSVsHSY9s2MLujo8kSZIkSZI0Lto6SHp0w2YH2pYkSZIkSRonbR0krV6/hd1nTK27DEmSJEmSpK7Q\ntkFSZrLarm2SJEmSJEnjpm2DpAfXbWbLtj7mz96l7lIkSZIkSZK6QtsGSbesWAPAYQvn1FyJJEmS\nJElSd2jbIGnpirX0TgqetfesukuRJEmSJEnqCm0bJN2yYg0Hz5vJLpN76i5FkiRJkiSpK7RlkJSZ\nLF25lucsnF13KZIkSZIkSV2jLYOk+x99gjUbt/Icx0eSJEmSJEkaN20ZJPUPtG2LJEmSJEmSpPHT\nlkHS0pVrmdI7iUVPm1l3KZIkSZIkSV2jLYOkW+5fw6HzZzG5py3LlyRJkiRJakttmcQsc6BtSZIk\nSZKkcddbdwE7amsfbN6y3YG2JUmSJEmSxlnbtUjauj0BWDTP8ZEkSZIkSZLGU9sFSduqHImFc6fV\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "scores = np.load('mislabel-result-all.npy')\n", "print('num tests: {}'.format(len(scores)))\n", "\n", "begin_mislabel_idx = 5000\n", "sorted_indices = np.argsort(scores)\n", "\n", "print('dogs in helpful: {} / 100'.format(np.sum(sorted_indices[-100:] >= begin_mislabel_idx)))\n", "print('mean for all: {}'.format(np.mean(scores)))\n", "print('mean for horse: {}'.format(np.mean(scores[:begin_mislabel_idx])))\n", "print('mean for dogs: {}'.format(np.mean(scores[begin_mislabel_idx:])))\n", "\n", "mis_label_ranking = np.where(sorted_indices >= begin_mislabel_idx)[0]\n", "print('all of mis-labels: {}'.format(mis_label_ranking))\n", "\n", "total = scores.size\n", "total_pos = mis_label_ranking.size\n", "total_neg = total - total_pos\n", "\n", "tpr = np.zeros([total_pos])\n", "fpr = np.zeros([total_pos])\n", "for idx in range(total_pos):\n", " tpr[idx] = float(total_pos - idx)\n", " fpr[idx] = float(total - mis_label_ranking[idx] - tpr[idx])\n", "\n", "tpr /= total_pos\n", "fpr /= total_neg\n", "\n", "histogram = sorted_indices >= begin_mislabel_idx\n", "histogram = histogram.reshape([10, -1])\n", "histogram = np.sum(histogram, axis=1)\n", "acc = np.cumsum(histogram[::-1])\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(20, 10))\n", "ax[0].set_ylabel('true positive rate')\n", "ax[0].set_xlabel('false positive rate')\n", "ax[0].set_ylim(0.0, 1.0)\n", "ax[0].set_xlim(0.0, 1.0)\n", "ax[0].grid(True)\n", "ax[0].plot(fpr, tpr)\n", "\n", "ax[1].set_ylabel('num of mis-label')\n", "ax[1].set_xlabel('threshold')\n", "ax[1].grid(True)\n", "ax[1].bar(range(10), acc)\n", "\n", "plt.sca(ax[1])\n", "plt.xticks(range(10), ['{}~{}%'.format(p, p + 10) for p in range(0, 100, 10)])\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKQAAAEyCAYAAADEJAgpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmYHVWdN/DvSULQgLKEMeMATqKEGWEYtrAJSiuj4viO\nwQUFnXnxlRncGMdtJICiImGHKBjAsC+BJLIGErL3zdLpLZ2tk0660+klnaXT6X3fz/vHrbvVrfXe\nWu/9fp4nT27XrTp1ajl1q351FiGlBBERERERERERkVcm+J0BIiIiIiIiIiLKLwxIERERERERERGR\npxiQIiIiIiIiIiIiTzEgRUREREREREREnmJAioiIiIiIiIiIPMWAFBEREREREREReYoBKSIiIiIi\nIiIi8hQDUkRERERERERE5CkGpIiIiIiIiIiIyFOT/M6AH0477TQ5ffp0v7PhiL6+Ppxwwgl+Z4Mo\nsFhGiIyxjBAZYxkhMsYyQmQs38pIRUVFq5Tyb6zMm5cBqenTp2PLli1+Z8MRkUgEBQUFfmeDKLBY\nRoiMsYwQGWMZITLGMkJkLN/KiBCi0eq8lprsCSGuFUJUCyFqhRBzNL4/XgixWPm+VAgxPem725Xp\n1UKIL5qlKYSYoaRRq6Q52WgdQojJQojnhRCVQogdQogCqxtPRERERERERETeMw1ICSEmApgP4EsA\nzgFwoxDiHNVsNwPokFKeBWAegAeUZc8BcAOAcwFcC+AJIcREkzQfADBPSatDSVt3HQD+CwCklOcB\n+DyAR4QQ7BuLiIiIiIiIiCigrARuLgVQK6Wsk1IOA1gEYLZqntkAXlQ+vw7gGiGEUKYvklIOSSnr\nAdQq6WmmqSzzOSUNKGleZ7KOcwCsAwApZQuATgCzrO4AIiIiIiIiIiLylpWA1OkAmpL+PqhM05xH\nSjkKoAvAVINl9aZPBdCppKFel946dgD4ihBikhBiBoCLAZxpYbuIiIiIiIiIiMgHudCp+XMAPglg\nC4BGAJsBjKlnEkLcAuAWAJg2bRoikYiHWXRPb29vzmwLkRtYRoiMsYwQGWMZITLGMkJkjGVEn5WA\n1CGk1jg6Q5mmNc9BIcQkACcBaDNZVmt6G4CThRCTlFpQyfNrrkNKKQH8LJaQEGIzgBr1RkgpFwBY\nAACzZs2SudLLfb712E9kF8sIkTGWESJjLCNExlhGiIyxjOiz0mSvHMBMZfS7yYh2Ur5UNc9SADcp\nn78BYJ0SKFoK4AZlhLwZAGYCKNNLU1mmUEkDSprvGK1DCDFFCHECAAghPg9gVEpZZWMfEBERERER\nERGRh0xrSEkpR4UQtwJYCWAigOeklLuFEHcD2CKlXArgWQAvCyFqAbQjGmCCMt8SAFUARgH8WEo5\nBgBaaSqrvA3AIiHEPQC2KWlDbx0APgJgpRBiHNFaVP+R+e4gIiIiIiIiIiK3WepDSkq5HMBy1bS7\nkj4PArheZ9m5AOZaSVOZXofoKHzq6ZrrkFI2APgHs20gIiIiIiIiIqJgsNJkj8h3/cOjKG9o9zsb\nREREREREROQABqQoFP739Z24/qliNHcN+p0VIiIiIiIiIsoSA1IUCnsOdwMA+oZHfc4JERERERER\nEWWLASkiIiIiIiIiIvIUA1JEREREREREROQpBqSIiIiIiIiIiMhTDEgREREREREREZGnGJAiIiIi\nIiIiIiJPMSBFRERERERERESeYkCKiIiIiIiIiIg8xYAUERERERERERF5igEpIiIiIiIiIiLyFANS\nRERERERERETkKQakiIiIiIiIiIjIUwxIERERERERERGRpxiQIiIiIiIiIiIiTzEgRURERERERERE\nnmJAioiIiIiIiIiIPMWAFBEREREREREReYoBKSIiIiIiIiIi8hQDUkRERERERERE5CkGpIiIiIiI\niIiIyFMMSBERERERERERkacYkCIiIiIiIiIiIk9ZCkgJIa4VQlQLIWqFEHM0vj9eCLFY+b5UCDE9\n6bvblenVQogvmqUphJihpFGrpDnZaB1CiOOEEC8KISqFEHuEELdnujMo+KT0OwdERERERERElC3T\ngJQQYiKA+QC+BOAcADcKIc5RzXYzgA4p5VkA5gF4QFn2HAA3ADgXwLUAnhBCTDRJ8wEA85S0OpS0\nddcB4HoAx0spzwNwMYDvJwfEiIiIiIiIiIgoWKzUkLoUQK2Usk5KOQxgEYDZqnlmA3hR+fw6gGuE\nEEKZvkhKOSSlrAdQq6SnmaayzOeUNKCkeZ3JOiSAE4QQkwB8EMAwgG7Le4BCRQi/c0BERERERERE\n2ZpkYZ7TATQl/X0QwGV680gpR4UQXQCmKtNLVMuernzWSnMqgE4p5ajG/HrreB3RYNURAFMA/ExK\n2a7eCCHELQBuAYBp06YhEolY2PTg6+3tzZltMdLf3w8AKCstQ9OJ7PqMrMuXMkKUKZYRImMsI0TG\nWEaIjLGM6LMSkAq6SwGMAfg7AKcA2CiEWCOlrEueSUq5AMACAJg1a5YsKCjwOp+uiEQiyJVtMTJl\nSwTo78Mll16Ksz5yot/ZoRDJlzJClCmWESJjLCNExlhGiIyxjOizUtXkEIAzk/4+Q5mmOY/SdO4k\nAG0Gy+pNbwNwspKGel166/g2gBVSyhEpZQuAIgCzLGwXhQmb6hERERERERHlDCsBqXIAM5XR7yYj\n2kn5UtU8SwHcpHz+BoB1UkqpTL9BGSFvBoCZAMr00lSWKVTSgJLmOybrOIBov1MQQpwA4HIAe63u\nAAoJjq5HRERERERElDNMm+wp/TXdCmAlgIkAnpNS7hZC3A1gi5RyKYBnAbwshKgF0I5ogAnKfEsA\nVAEYBfBjKeUYAGilqazyNgCLhBD3ANimpA29dSA6Wt/zQojdiNajeV5KuTPzXUJBxk7NiYiIiIiI\niMLPUh9SUsrlAJarpt2V9HkQwPU6y84FMNdKmsr0OkT7hVJP11yHlLJXb92UeyRrShERERERERGF\nHocro3BgzSgiIiIiIiKinMGAFIUDa0YRERERERER5QwGpChU2IcUERERERERUfgxIEWhwj6kiIiI\niIiIiMKPASkKB9aMIiIiIiIiIsoZDEhROLBmFBEREREREVHOYECKQoV9SBERERERERGFHwNSFCrs\nQ4qIiIiIiIjCYHBkDNXtY35nI7AYkKJwYM0oIiIiIiIiCpG73tmF+8oGUd/a53dWAokBKQoH1owi\nIiIiIiKiENnb3AMA6B4Y8TknwcSAFIUK+5AiIiIiIiIiCj8GpChU2IcUERERERERUfgxIEXhwJpR\nREREREREFEKsV6GNASkKB5ZgIiIiIiIiopzBgBSFCvuQIiIiIiIiIgo/BqQoVNiHFBEREREREYUB\n61MYY0CKwoElmYiIiIiIiChnMCBF4cCaUURERERERBRCkk19NDEgRaHCPqSIiIiIiIiIwo8BKQoV\nBpaJiIiIiIiIwo8BKQoH1owiIiIiIiIiyhkMSFE4sGYUERERERERUc5gQIpChX1IERERERERUSjw\nAdYQA1IUKuxDioiIiIiIiCj8LAWkhBDXCiGqhRC1Qog5Gt8fL4RYrHxfKoSYnvTd7cr0aiHEF83S\nFELMUNKoVdKcbLQOIcR3hBDbk/6NCyEuyHSHUEAxsExERERERESUM0wDUkKIiQDmA/gSgHMA3CiE\nOEc1280AOqSUZwGYB+ABZdlzANwA4FwA1wJ4Qggx0STNBwDMU9LqUNLWXYeUcqGU8gIp5QUA/gNA\nvZRyu/1dQYHGmlFEOWPl7ma8WnrA72wQEREREZGPrNSQuhRArZSyTko5DGARgNmqeWYDeFH5/DqA\na4QQQpm+SEo5JKWsB1CrpKeZprLM55Q0oKR5nck6kt2opEU5ik1wicLv+y9X4I63Kv3OBhERERER\n+WiShXlOB9CU9PdBAJfpzSOlHBVCdAGYqkwvUS17uvJZK82pADqllKMa8+utozUpnW8hPVgGABBC\n3ALgFgCYNm0aIpGI7gaHSW9vb85si5H+/n4AQGlpGZpOZNdnZF2+lJEw4nEJBpYRImMsI0TGWEaI\n9PV0DwAAKrZuRVfdRJ9zEzxWAlKhIIS4DEC/lHKX1vdSygUAFgDArFmzZEFBgYe5c08kEkGubIuR\nKRURoL8Pl156Kc76yIl+Z4dCJF/KSKisWAYAPC4BwTJCZIxlhMgYywiRvnm7i4CuTlx00UW46GOn\n+J2dwLFS1eQQgDOT/j5DmaY5jxBiEoCTALQZLKs3vQ3AyUoa6nXprSPmBgCvWdgeCiP2IUVERERE\nRESUM6wEpMoBzFRGv5uMaOBnqWqepQBuUj5/A8A6KaVUpt+gjJA3A8BMAGV6aSrLFCppQEnzHZN1\nQAgxAcA3wf6jch77kCIiIiIiIiIKP9Mme0p/TbcCWAlgIoDnpJS7hRB3A9gipVwK4FkALwshagG0\nIxpggjLfEgBVAEYB/FhKOQYAWmkqq7wNwCIhxD0AtilpQ28dis8AaJJS1mW6IygcJGtKERERERER\nEYWepT6kpJTLASxXTbsr6fMggOt1lp0LYK6VNJXpdYiOwqeebrSOCIDLjbaBQo41o4iIiIiIiChE\n+BhrjMOVUTiwZhQRERERERFRzmBAikKFfUgRERERERFRmLDrGW0MSFGosCATOa+wugUX/WE1BobH\n/M4KERERERHlCQakKBxYM4rINfcu24P2vmEcaO/3OytERERERJQnGJCicGDNKCLXjClVDyfyF4GI\niIiIyDHscsYYHz8oVFigiZwXawo7gQWMyBfj4xLj43zzQkRERPmFASkKFfYhReS8MeVBmAEpIn9c\ndM9qXHbfWr+zQRR48wtrsbj8gN/ZICIih0zyOwNElvA5mcg14/EmeyxoRH7o7B/xOwtEofDQymoA\nwLcu+ZjPOSEiIiewhhQRUZ6LNRViBalg6BoYwb6jPX5ng4iIiIjIVQxIUTiwqR6Ra8ZYQypQvvlU\nMT4/b4Pf2SAiIiIix/CBVgsDUkREeW6cnZoHSjVrRxERERFRHmBAisKBz8lErpEcLYCIiIiIkhRW\nt6B4f5vf2aAcx07NiYjyXKyGFONSRERERAQA/+/5cgBAw/1f9jknlMtYQ4rCgQ/KRK4ZG2cBIyIi\nIiIibzEgRUSU58YZkCIiIiIichx7njHGgBSFA0sykWvGlbZ6klURiYiIiIjIIwxIERHluTF2HkVE\nRERERB5jQIrCgc/LRK5hp+ZEREREROQ1BqQoZPjETOQ09iFFREREREReY0CKwoF9SBG5hk32iIiI\niIjcw9ttbQxIERHludgPJH8niYiIiIicIwRrVhhhQIpChZFlIiIiIiIiovBjQIqIiAAAkhFfIiIi\nIiLyiKWAlBDiWiFEtRCiVggxR+P744UQi5XvS4UQ05O+u12ZXi2E+KJZmkKIGUoatUqaky2s45+F\nEMVCiN1CiEohxAcy2RlERETkvD1HuvH42n1+Z4OIiIiIAsQ0ICWEmAhgPoAvATgHwI1CiHNUs90M\noENKeRaAeQAeUJY9B8ANAM4FcC2AJ4QQE03SfADAPCWtDiVto3VMAvAKgB9IKc8FUABgxOZ+ICIi\nIpfMnl+ER1bXcERHIiIiyku8A9JmpYbUpQBqpZR1UsphAIsAzFbNMxvAi8rn1wFcI6K9d80GsEhK\nOSSlrAdQq6SnmaayzOeUNKCkeZ3JOr4AYKeUcgcASCnbpJRj1ncBhQkLcnhJKfHY2n040jXgd1ZI\nB1vskVuGR8cBAOzXk4iIiIhirASkTgfQlPT3QWWa5jxSylEAXQCmGiyrN30qgE4lDfW69NZxNgAp\nhFgphNgqhPiVhW0iIo/VHO3Fo6tr8MNXtvqdFSLyCYOeRERERBQzye8MOGASgKsAXAKgH8BaIUSF\nlHJt8kxCiFsA3AIA06ZNQyQS8Tqfrujt7c2ZbTHS398PACgvK8fhD7Ev/jA60B2tuNjW2e3pOZsv\nZcQJJSUl2D/Fu/LF42LMq/3jZRmJrI9gQpbVpKrbx/CBScDff3iiQ7kKDpaJYOLvSPDweAQLy0hu\n47HNTpfSOmTbtm3oa8i9e5dsWQlIHQJwZtLfZyjTtOY5qPTpdBKANpNltaa3AThZCDFJqQWVPL/e\nOg4C2CClbAUAIcRyABcBSAlISSkXAFgAALNmzZIFBQUWNj34IpEIcmVbjEypiAB9fbjk0ktw9rQP\n+Z0dykDV4W5g80accMIJKCj4jGfrzZcykpUVywAAl19+Oc48dYpn6+NxSfeVP2+Kf/Zq/3hSRpRj\nfvXVBZg4IbuA1HfnRNNquP/LWWcrMFgmAo2/IwHCshJILCM5iuXNEY/v2Qx0duDCCy/EJdNP9Ts7\ngWPlVXg5gJnK6HeTEe2kfKlqnqUAblI+fwPAOhkdP3wpgBuUEfJmAJgJoEwvTWWZQiUNKGm+Y7KO\nlQDOE0JMUQJVVwOosr4LKEzY3IOIctnOg11+Z4GIiIiIHMLuM42Z1pCSUo4KIW5FNPAzEcBzUsrd\nQoi7AWyRUi4F8CyAl4UQtQDaEQ0wQZlvCaIBolEAP451OK6VprLK2wAsEkLcA2CbkjYM1tEhhHgU\n0SCXBLBcSrksq71CRJSHGPAlt0XfI/HWjIiIiIgs9iElpVwOYLlq2l1JnwcBXK+z7FwAc62kqUyv\nQ3QUPvV0o3W8AuAVw40gIiIiIiIiIqJAYO/QREQEAJBgFSlyF88wIms+ccdy3Lt8j9/ZICIichUD\nUhQqfGDODVJKjI/zWBLliywH1iPKO2PjEgs21PmdDSIiIlcxIEVEnkgOJj6wohofv2M5RsbGfcwR\nEXmN/ZQRERFRPuI9kDYGpIjIcy9ubgAABqQChj+URERERETkFQakiMgTgiNrEeU9NrsmIiIiohgG\npChUWIODiCj/DI2OYc+Rbr+zQURERJSRNXuO+p2FQGJAiog8x1oSwcSjQm7L9KXCb97ehS/9aSOO\ndg86myEiIiIiDyzYUIeaoz1+ZyNwGJAiIiKiQKto7AAAdA+M+JwTIiIiIuuSRxruGxr1LyMBxYAU\nEXmO/UkFk2SbWAooIXjNICIiIso1DEhRqPB5mYgofBhOIiIiIiI1BqSIiIjIst6hUVw3vyijfhCy\nfanAdxJEREREuYMBKSLyRHJH5uzUPJh4VMiKzbWt2N7UiQdXVHu2TtawIiIiIso9DEgRERGRZdkE\nLrMNRrPZNhEREYVJct+57BMzHQNSFCqsWUPkHj7sU1Dx/o2C7M63KnHNIxFX0p4+Z5kr6RIREQXB\nJL8zQEREROmklDn3Ji37PqQYNaXgWVh6wO8sEBERhRJrSBGRJwR7gSEiIgq8Hy2sQKS6xe9sEBFR\nHmBAioh8wyZiQcMDQu7iGUYUfMsrm/Hd58v9zgYREeUBBqQoVBjAIKJ8kUvXu2ybHsZqWObSPiEi\nIiLKdwxIERHliIrGDjS192e8PB/2/SOlxF+3NPmdDdfJDE+yHOtKi4iIiIjATs2JyEeMfzjr609u\nBgA03P9ln3NCdhXVtuF/X9/pdzYCj0FTIiIiotzBGlJEREQ+6x0aSZuWi7GXXNwmolySaS1GIiKi\nTDAgRUS+4Y1vsPBoEBERERGRVxiQIiJPSIY7iPIeY9BEwcYySkTkMKH5kRQMSBGRb3jfGyx8EAkW\n1iBMx8A2ERERUe6wFJASQlwrhKgWQtQKIeZofH+8EGKx8n2pEGJ60ne3K9OrhRBfNEtTCDFDSaNW\nSXOy0TqEENOFEANCiO3Kv6cy3RlEZJ+UEs9uqkfXQHofOEREKTKMJwllmD3G6Ijy18rdzX5ngYiI\nHGYakBJCTAQwH8CXAJwD4EYhxDmq2W4G0CGlPAvAPAAPKMueA+AGAOcCuBbAE0KIiSZpPgBgnpJW\nh5K27joU+6WUFyj/fmBrD1Co8GEkeErr2/GH96pw/u9X4eWSRr+zQ0RERBkK8m3W91+u8DsLRETk\nMCs1pC4FUCulrJNSDgNYBGC2ap7ZAF5UPr8O4BoRfZ05G8AiKeWQlLIeQK2SnmaayjKfU9KAkuZ1\nJusgIh8NjY7HP//m7V268wmNVtMMMAYLm0MFC48GEREREeWySRbmOR1AU9LfBwFcpjePlHJUCNEF\nYKoyvUS17OnKZ600pwLolFKOasyvtw4AmCGE2AagG8CvpZQb1RshhLgFwC0AMG3aNEQiEdMND4Pe\n3t6c2RYj/f39AICKii1oq53oc24oWeWx0ZS/9c7HA91jAIC+vj6Mj0WDWJs2bcIJx7kbV86XMpIs\n0+0tL9+C5g9517Vgvh0XI7uaR9OmrV+/HpMmuP/exW4Z2XU0mte2tlbLy8X6w9q4aRNOnGx/m/p6\nBwBEfwNicvH8ycVtygVWy4hbx8/L82JsPBEKD/L5GOS85aN8vNfKJzy22enqHIh/rthagY79fJZN\nZiUgFXRHAHxMStkmhLgYwNtCiHOllN3JM0kpFwBYAACzZs2SBQUF3ufUBZFIBLmyLUamVESAvj5c\nfPEsnHfGSX5nh5KImmNARVn8b73zsepwN7B5I0444QRMGOwDxsdx1ZVX4aQpx7mav3wpIwCAFcsA\n6B8Ds+VmzZqFT370ww5nSn99eXNcLBjcdQTYvjVl2tVXX43jJrofILRbRoZ2NwPbKnDaaaehoGCW\npWXEquWAlLjqqitx8pTJtvN44o6NQE83Lr54FrB5E4AcO39YJgLNtIy4cfyUNB1P18To2Diw6n3P\n12uJT/uEzOXVvVbIDAyP4ZN3rcDPP382fnLNTHsL87fJEU9WFwMd7QCAiy+6GOefebLPOQoWK3e6\nhwCcmfT3Gco0zXmEEJMAnASgzWBZveltAE5W0lCvS3MdSnPANgCQUlYA2A/gbAvbRSHEJkVElC/C\n0KR116EuXHHfWnT1WxvUINNtYgN9ouyMjUvMnl+EwuoWw/lCcNnJab9buhvT5ywzn5HIop7B6O8z\n+3mloLISkCoHMFMZ/W4yop2UL1XNsxTATcrnbwBYJ6P185cCuEEZIW8GgJkAyvTSVJYpVNKAkuY7\nRusQQvyN0kk6hBAfV9ZRZ30XEJFfcjnAeLhzAGf/+n3sbe42n5kopB5buw9HugZRXNdmOJ9T8aQw\nBOmInCYdOPE7+4exo6kTP1+83YEckVte2NzgdxaIckpFY3u05mdA8AVbOtOAlNKf060AVgLYA2CJ\nlHK3EOJuIcRXlNmeBTBVCFEL4OcA5ijL7gawBEAVgBUAfiylHNNLU0nrNgA/V9KaqqStuw4AnwGw\nUwixHdHOzn8gpWzPbHcQkVtyOfikZdXuZgyPjuO10gN+Z8UyPuyT2zI9xXgDR5QdjgNElJ/y+dZu\ne1Mnvv5kMeatqfE7K2TAUh9SUsrlAJarpt2V9HkQwPU6y84FMNdKmsr0OkRH4VNP11yHlPINAG+Y\nbgQRBcLe5h6/s6Bre1MnPvnRD+H4ScadDTa19+MbT23GGz/8FM44ZYpHuaN843YQd+mOw7hsxqmu\nroOIsidl9kHZ2OKxq8rw6Dj+XFiLH179CXxwcuI3jy8miChXtHQPAgCqA/zsQdaa7BEFBm+UckuQ\njmdjWx+um1+E3y2tMp13yZYmHO0ewptb1d3pBd+Tkf2ob+3T/C7farHls4HhMfzktW248ekS85kd\nlG3TI56jRJmJBbRiRXBR+QE8tnYf5hfW+pcpIiIXsWZoODAgRUQEoFPplHnXoS6fc+Kezv5hPLBi\nL77tcRCCgmdceSo90jnoc06sEY71QkUUPk6EYWNlKBYUHhwZS/k/sS4GfYlyEX9FnfV8UT1uf3On\npXlL69mbkBEGpIhCrLN/GLe/uTPthtJLVms8aD1QBum2N/72OFC5clbsUA34eL6QdW7WIHTqfLe7\ndLabFKRalUShEi/zqsl8SiXKafzddGcf/P7dKrxW1uR8wnmIASkKtOHRcfxpzT4MjQRndIQgeWRV\nDV4ra8JfKw76nZXQy4caGGa/x7xp8Y/X+z5RW8Kh9FwuPnxopnyiftHjxCh7icTU6zL+m4hIbWRs\nHL95e1e8j6ag0rp1WF55BAPDfDEbJAxIUaAtLG3EvDU1ONQ5ACBYNWqCYDzkd45O3mQvLj+A77+8\nxbH0iPKB11eQkF+yiEJL6NSQIqL8MzI2julzluGxtfsyWn5DzTG8XNKIO96qdDhn7ohd97Y3deJH\nC7fid0t3+5ofSsWAFAXaIGtGkUW3vVGJlbuPZp0OH5gpH8Sb6nl0vjtVw4nFk/JBWq0lR9NOTS0f\nah+WN7SjvIF9uFB+Sy7rw6PR56un1u/PKK3YZcTre+am9n5btbLU17eewWh/sQc7+53MFmVpkt8Z\nIDKSy/35OIF7xznqEYhyWR48f5BFXl9jM10fz1mi7EhvY9CBcv1TxQCAhvu/7HNOiILBqXter68n\nn36wEADLcq5hDSki8oTWg2g+3hhT7qtv7UNzV7D7VfDr7Wa2HO1LJ0e8uLkBrb1DfmfDsr6hUUyf\nswxvbzvkd1ZCw9EupFiEcoaUEs9uqsexnvCUfwqWjF8ShewtUZDuHfKhz1q7GJCiUAnSBSUIeElz\nXj6fYSxe5gZHxjAyZtyU+LMPR3D5fWuzXpebx0Oq/vdMpisM292vR2pbevDbpbvx44Vb/c6KJd2D\nIzj3tysBAPMLa33OTXC5Ui4tdl6eyXXnv17agjc4uIrnao724g/vVeG/XwtH+Sd/aAWdnB7YJKjU\ntw4MBgUTA1JEIRb235Eg/RAmqi8HKFMOy+VtGxwZw+baVtfX84+/WYGvPlHk+nq8ksk5kcOnkeMW\nljbiv1/b5lr6I2PRg9E1MOLaOpx0qGPA7yyEkhNNa2NpqNMSDgR7V1cdxS/+uiPrdMie2MuR7oFR\nn3NCYZUvv+fqzcyX7Q4LBqQo0HjBsIbx/uw5/dYkjKdumPts+/27Vfj2M6Wobu5xfV27DnW7vg63\nxQJRno+y5/PyXrvzrV14d8dh19fD38rcYiVQ/M72Q3ipuCGDtE2+D10pIx4xMqJ1f5sv5Zw1osKB\nASmiHBDWn5V8+UH02sLSRhR5UFsoSGpbooGosNQUscLN8hFvsheSIshbSm1hbsno9alX0die8RDn\nftMqp/80JKTBAAAgAElEQVSzaDvuesf60OX53Kl5rmrpCXZfhRQMRvcS2d5n5HLNe/IOA1IUKrzs\nUVj4+Zx451u78J1nSnW/d6KJhp5jPUMo3t/mWvp6eE/kj9h+//7LFTjQZj6MctYj+gT4OB/qdK85\n2qHOAUv7N+j8PH5ff7IYj66u8S8DNri6m0wCU0EuY356blN94Aar+N4LW/zOAoVUrJyP50l5j22v\nmy9xRsfGcaSLzdIzwYAUUQ5w4vr6fuURV2vVWKk2+18vbcGf1vjzBtupIXDDzIlt/9qTRbjx6ZLs\nEyJXuXGe7z7c5XyiiqDXBNpQcwxX3r8OyyuPuJL+lfevw2ceKkybHu+Ylq9ryATPkMw1tffj7veq\n8F8vMQCkp21gHE3t4Q+a5xu/ajhFqlu8GQhB597Bjc3+w3tVuOK+dejoG3Y+8RzHgBQRAQB+uHCr\nYa2abGk+MKkmra46inlr/HmDHfQH3rBoaufbIae4ep/o09NprgZOdh+O9iu242Bn1mmN23hlzUB6\nblIfTyePb66WQTeNKmWyZzCYTcKD0GzqF+sH8OkH04PmVm2oOYavP7kZY/lSZccHPYOJzu+TR9p9\nMrIftS29ttLK9p75u8+XezoQQrZnVWNbH664b61hDajC6mMAoqPJkj0MSFGoBOA3N5C4W4IniMfE\nLE9BzHOysXEZH1Xop4u24d7le9LmYWDRGq8fSnO9Y1Gn9mdTez8+fsdyvLXNgzfHPmAwxD/xgQxU\nh0BdMnPlCEWqW3DPe1WOppkr+yaIfrp4OyoaO9DZn3ntkqfW78+oo3+rWnuH0DsUvhENY2W+f3gM\nkeoWZVrievDAir24/qnNmaXtSA7d49SdxysljTjSNYil2/UHKbH6+8b71HQMSBGRJ7SCiUH8IbPz\nwMQAqbf+/ZlSzLzzfQDA29sPY8GGOp9zRHZlX2aCXeiyDbzFRol8d4e9pn/B3isJvGZmJva71Ds0\nivN+uxIb9x3LIi3l/xw/Ft99vhzPbKr3OxsZ23/MXo0VAu5/f6+tjv7tmnXPGnzh0fWupe+FisYO\nzelDo+Me58Qf2caCrASTcv0FnBsYkKK8JaXEY2v3obV3yO+sYP+xXvy/58swODKW0fK89GUv3heL\nQzfpPCYJyyuPYFHZgazTKa7zvrN0r2iddtmcisX72/C9F8p1m3+F7WE0Vp7Clm+7Ek3wLL5phb35\ngySMeXbLo6trsKWhPf633ouR6uZu9AyNZtQ5eyIQZbzfeVyC4ZpHwh34yFWHA9axfabUpXxihtV2\nsr3X3by/FUt36Nc6ckq21zVeFt3FgBTlrYrGDjy6uga/9LANs57fLd2NwupjKMnBB+6uAf221EG6\nwJv9Fo+MjeOl4oaU/g3CWu1WL9tuPYj8aOFWzHmz0pW0Sdv3X96CdXtbUvqMSOZX0ct0vW6ODOkE\ns6LzvtLZ+ejYOB5auVe3jwm7mxnw3UIWPbZ2H77xVLHu97HzK/b/hCwOfIB+dh31k9e2YfqcZa6k\nncvF7O1thzB9zjLfm6IxEOoN9bUkZsKEzM7ybI/at58uxU9e25ZlKvqcuneIbadR7adsTuH1Nccc\nb2IcJgxIUchkVtrve39P2o3KyFg0rf7hzGolOSl2wcy1n+OlOw7j/N+vQuVB90bfcpreMXhmYz3u\nemc3XnOgpo+WHy2swH+/tg2vlDTiK3/e5Mo6wmZDzTF8Yd56DOdJVfJckE3/H1Ykl8+aoz2urstJ\nP351KwBgWeURzC/cj/uW79WcLzFqXrC9s/0Q3s3yrXbQg4x+0nuwSTwUZZ5mWtqqxIJ+7unxppaF\n66vw3PzCWgDA4U4OSJLP7Majwt4szW5/hrGyb6nJXtI8Y+Myraa61nXkpufKQt3EOFsMSFFe+Mt6\n/b5mgnBJjf8Q5NjNzsaaaD8XVUe6DG/kxsela8OlW2XW9KVzIPqgrVfjRM3uoVxe2Yx3dxzGr9/e\nhZ0uBfDMbqaDdvrd8VYlao724mi3eRV5u3kfGB7DoTy7AS+rb8fb2w4BcOdt9JItTbjg7tXY29yt\nO4+T631xc4NjaWXL7CY1FnyJvQgZGtV5EaKkY3egKa/L7v8s2o7/dvGtNqXKl36fMlFztMf12jWM\nnbqPAWr3aJYO1cSJGdaQCrq0rfJgM5MvR5+4Yzm+8McNhvNzVD4GpChgOvqGsabqaPzvfKnCG7s+\njufo9uq9SYm9oXiltBE/WrjVyyzZlwOHxssRropqWzPuEy0bVu81vv9KBa68f52ttH++ZLv9DGXB\nietf8jH/5l+K8dPF25XpztuwrxUAsO8oO+MFEjUPNOkcAPv3yuF6iEg+pf36fZ8+ZxkK97b4su5s\nxfZZJs/uVq//YboNKa1rwxfmbcArJY1+ZyVvHO4cyJt781yhdbzU1wMGBN1T25J6T6Te9//8u1Ve\nZieQGJCiQLnl5S34z5e2oL3P3WYfQG4MPx2We4Kaoz2G+9tKDRi3Wd2VVn+zA/nTbqPKcba+80wp\nfpvlaDdunt8blNp7dpoDvrn1kGPrP9w5gPKkToydZnZz6ca+tVLRM9P1anVqHqTLn3q7hkbH8NDK\n6izSC3gVqZB7rihcTSPiQ7Qrf1tpLpM2RH0OniMNbX0A4FqtYkq1+3AXPnX/OrxU7HwAMHaOt/UN\n45t/KcaxHv8HHMonmXZqHmQNrX3oH45eA9U/qfZ/YmMvA3JvPwUBA1IUKA1t/QCiHb9qceUhKgDX\nllgHpRk/rAVgG4zotYvW7dPCRVJKPLepHl39I6rpyv/eZSVwnD4OtQEetnrypOjP34BPfch97pEI\nrjfoxDjnOHSNCvqbeb1rsdXNt3uzGx+Vz9ZSBESbigf1fNLtQ8pGJ1Kz7lmDf8nxkdpytf/NoGpo\njd6jl9a7NwDPKyWNKKtvx8us9eYYreuJelqmTfYCegkFABQ8HMEPXkltfZFp31fxPqQszGv2Mx7k\nfeYXSwEpIcS1QohqIUStEGKOxvfHCyEWK9+XCiGmJ313uzK9WgjxRbM0hRAzlDRqlTQnm61D+f5j\nQoheIcQv7e4ECp58K6uxi1emTfb8vLhZXXVQLsBl9e24+70q3PGWzqhvAcmnG9zctOHRcY0gX3Zr\ndDPQOmXyRABA/4g/IwsNjpjXzMpm75kO7e7C2ZDN8Xpo5V7c/EK5adphLZ6x/JvtIq2aYFbmD4ug\n1EwWQuDjdyzHrR71g9XY1offvL0rZZRWO+J9SCmfrD47NifVPra85mAcIkvslpdseX3+tvUGq5aQ\nm9svVC9mw3ZtC7ugv9jOlvrcDdFlLi+YBqSEEBMBzAfwJQDnALhRCHGOarabAXRIKc8CMA/AA8qy\n5wC4AcC5AK4F8IQQYqJJmg8AmKek1aGkrbuOJI8CeN/qhlMw+XU97OofsfzwHKluwZ4j+p32Ziaz\nLffrB+TP6/YZ94+ikDqfjaa5bVBpoqXuRNDpGy2t1I50+dP3QqwWkPmqM8/bjxZuxfl3p7aDz3ZL\n7ewqo/0qpUzrwHzKcdGAVJ/PQ11nat3eo7ZGlUob0tuF0zCbU3t+4X6sDWm/PnaY7aIwPhRUNLZj\nRKdWc1DFdvOynd4MpvGT17bh5ZJGVB7KrmlZ4mE9+xMlKMFBJ+TStiSb86bOizMVr28r3Bhhzeze\nqKVnEJ99OIJGpZkmZUe9t3O1U3OnWOm/z2o5zM2rVXas1JC6FECtlLJOSjkMYBGA2ap5ZgN4Ufn8\nOoBrRDTUPRvAIinlkJSyHkCtkp5mmsoyn1PSgJLmdSbrgBDiOgD1ALLrsIR850chPdI1iPPvXoWn\nDEbiS/bd58vxpT9tdDQPmb79d+MmZHxc4oWiesMOqR9eVRPvH8XqT1hQOmzXu+kxa7KXbe63HujA\nFfetw18rDmaZkj2b97fik3etwOb9ra6uZ82eo+YzeUDrZuHZTfW48v51qG7uiU+bNDH68xcb9Sxs\nvvfCFvzEoHaHuumXG00T1bs6tieN8qVV/FZXWT93AnIZMZVtPq0+YCdqFfizYyoPduHrTxbj4VWZ\n95eVD2y0tFPmV73NVx3e5OJ9w4JiXHbvGvM0dTvST81VUII7Xf0j8f5f9OR6fy5eDAySydF2t6aU\n9vSl2w+jvrUPL252tynf/32uDNc8EnEsvdvfrMR5v1vpWHqZ0G6ylzpxgt2y5FHRq23pwfQ5y7DL\noWB+xssr/+tt9l3v7Mq7kZudNMnCPKcDaEr6+yCAy/TmkVKOCiG6AExVppeolj1d+ayV5lQAnVLK\nUY35NdchhBgEcBuAzwPQba4nhLgFwC0AMG3aNEQiEcONDove3t6c2RYAGB6OdmZevHkzTv7ABNTV\np3ZuvnXbNrTtn4DjJmRw8QRS9lVVW/SH/lB7tE38GyU1+GTKaWk9rWy1tUar1VdW7sLxx/ZaXu7I\n4Wh17n01NYgM6nfSOjgqMTIOfGiy+T57cPFaPLVjCAsK9+Deq6YYzhuJRLDz2GjatJjm5kR1860V\n6aPolRQXY+oHJ6CxMfU4Z7Nv1cuqy0gsvx0dHSnTm3qib/j7+/s113/gQDSPdXX7MaBscn19PSIR\n7Y6uaxujNbAOHjqESKQV6w9G/363uAof6d1vezsyEYlE8Na+aL6XFG7FZ86IXvKHh4c109+6dRt6\n6idmvd6Y7q7ulPWo12m2jUND0XJRUlKC/VMS70+00uzujt4IaG3DuxXRdJZvKMWRj0T3wcBAdP7y\n8nIc/bD9bbZyfOzMs7s5/cFr48ZNOOE44zKrt47R0ej5tmlTEU6cLNA5NJ6yTMdg4m+7vyO7j0bz\n2tramvpYknTHp05vfDy6vpLSEtQlHcuOwXH8LDKgu1xMV1d0nu3bEyMdHj58GJGIe32Z2FFXFy1n\nTQcOIBJpxrAq0CnHJSKRCKoPRY9L89Gjmtu6c8dOAEB7e4fm9+ppzX3KdWtgwJd7gbWbo80sS6oa\nEfmgeWCxrivxgJ18rT3UM46/mSIweaK13/WuIYmJAjjRwm+alvb2xIACVvab1TKiN0+Pcn2q2FqB\njv3615vCwkJsODiKCz6Senu+aVP0WrC7Nbr/Ojo64t+V1LUbrjs2PbnMRyKR+Dl7QDlnY3qH9cux\nGSfPwe+u6MNJxwv86bPa9yGRSAR7Y+Wp+WjKdL08ZZq/lv7ovhscGPS0nLW3t1taX19f5s8C/X3R\ne+DysnIc/pBxPYWqI9Frf0vLMdPzza6RkcQ9EwA0NDQgEknUAt7foHx/sAmRiHFtWqt5GBiVmLNx\nAD86/3j8w6nRcrmhJloD671VhThuInC8xjXJzja+VtZnexmnxc5fAKhraMTMO2rx1ZnHpcwzoHPv\nG6P+rlK5l7Z6jprRS+M95Tr1xHul+OY/TDadX0/snn9ve/Qa2tXZaSuNQ4eizzO1tbWIjKQGRSOR\nCF4qTtTcU9+zqlVUVKBT53cgl57p7bASkAq63yHaxK/X6E2JlHIBgAUAMGvWLFlQUOBJ5twWiUSQ\nK9sCAJOL1gBDQ7jiU5/CtA9/AJVj+4B9NfHvzz//AnxrQQm+c9nHMPer51lPeMUyAEjZV8fVtgLl\npZgwcQIwOo6TTjoJBQWfQvH+Npx+8gfxsak6wRiNtLL1WtMWoOUozj33XBSc91HLy61srwQOHsDM\ns89GweV/rzvfpXPXoKVnCA33f1k/MWW7Zpx1NrCjEod7pf42Ju+D6hagItH3S/Iy77bsAA5FawRd\neNGFQGlqJ86XXX45zjhlCkoH9wL1+zXTsEznuKjLiFTyO/XUU1FQcGl8etXhbqBoIz74wQ9qrn9z\n/x6goQ4f//gnos289tdixowZKCiYqZmdhqJ6YE8Vzjj9dBQU/BNaypuAXTsx7W//FgUF5+vmPyab\nfZCcxtaRGmD/PkyfPh2XzzoTiKzD5MmTU9NXlrvwwgsxa/qp9tersW4A+NCHP4yCgivTj43FMvSB\n0nXAwAAuv/xynHnqlNTlVGk8VlUEdHbGt6GhtQ+1Lb34l3Om4eWGcuBYC877p/NQcM40AMAHywqB\ngX5cdPEs/NPpJ9neRsO8W9k+1Tz9lUeA7alB26uuugonffA49ZKW1jFp/SpgZARXXXUlTp4yGS3d\ng0Dh2vgyzV2DQCT694knnmjrfBvc1Qxsq8Bpp50WrfnYEn04EELEg1Lq9CaseR8YH8dll12Gv596\nQnx6Y1sfkHQDppePJ/YWAx3tOP/884HyUgDARz/6dygosPE74KLdshbYV42PfexjKCj4x2jNhtUr\n4t9PmDABBQUFaKs4CFTuwN9Om4aCggsSCSjH84ILzge2lOLkk09BQcHlad+r90/dsV5g43rd65YT\nDncO4NQTJuMDxyXdQCv5OfefzgO2bsFpU6eioOAS07RObuoEiosAAFOmTEFBQQHa+4bx3T+sxtcu\nPB2PfusCkxSips+Jrt/wN00tqfyeeuqpQGt0pE0r+830XsukPD66axPQ3YWLLroYF5x5su7yx595\nHp5fWYp/m3QagP7411ddeRVOmnIcJu47Bmwpw6mnngK0pwZj09atytORrgEgsi4+rQq1QE3inI3p\n6BsG1q023B69/Kvn7+wfxqOra3Dnlz+J4yelP4DtaOrE1BMn44xTNO63VixD15DEb8rGsfiWK3D8\npAnAikRNsOTyNG3aNODwodQ8GPxe2HWgrR/YUIjjP/ABwzSa2vvR3jeM87WOsVVJ5+kpp5yKggJ1\nHYD0eU844UQUFHwmo9WdsHU90NeLSy69BGdP+5DhvL07DwM7tmHaRz6CgoKLNPOS6T6evHE1MDKM\nv/u7vwMOHMCMGdNRUHB2/PvajXXA3j0444wzUVCg7jkmszyU1LWha00J1h6bgu9/7YqUNG5d149/\nmPYhrPxZ0n7NZBtdeGawq7GtD9gQAQCc/JGPYqT+AJZUp3ZbEbsep9HJf+xe+lTVvbRlFu95065T\ndvZn0jpiv6kfqGsDykpw0skno6DgCsvZXde1CzjQiJkzZ6LgU9NT0k++xgBI3LOq8hBz0UUX4cKP\nnaKZz1x6prfDSpO9QwDOTPr7DGWa5jxCiEkATgLQZrCs3vQ2ACcraajXpbeOywA8KIRoAPBTAHcI\nIW61sF154c2tBzHzzuVpQ5tXNHak9aETBGbvOseUh53F5dZrMlkVq75649Ml+MxDhY6nbyRWZd6t\nStAtNobPTQ7sanXA+uNX02s6aVlTdRTv7ky83QpMU5tYHxxCPdndDGbbcT1ZE9vPBQ9H8J8vbTGd\nT8+KXc24bn6R76NwdQ+OYH5hLcYz7Qw54Keb5b5IdJo1b9x3LBDDg6vPk7T9bm8zbV+P3DzOn7p/\nHf7zRe2yNB7vVyPz9huxftzKGtpN5nSO1y29rK6uR9kX7X3a57SjfUh5cG14YMVevFTciHe2afd3\nN3t+Ea56oBCDI2PYrzMqa1P7AD51/zpcfE96s8R4dwcBudB9+sFCzJ5f5Fh6QWk+6YWgHMNk1Ud7\nzGcKgQDuWsucynu2ZUnqPDtoMZvnq09sxis6o0jqXQdznZWAVDmAmcrod5MR7aR8qWqepQBuUj5/\nA8A6Gb2yLAVwgzJC3gwAMwGU6aWpLFOopAElzXeM1iGl/LSUcrqUcjqAPwK4V0r5Zxv7IKfdu3wP\nRsYkOgcSTaK6Bkbw9Sc342eLthssad0f19Tg4ZXe9h/h5LU1CD0QJG6qslveCclNIT9xx3K09Aym\nfG+1E9j/fGlLSiBU63najx/J2ANUpPoYfvnXHWl5Me10OOmzUf7VX02I9/ViLZ9uMFt10O5ZkveV\nWUDGbt7NRme69dWt2N7UidEMA0GOkMDc9/bgoZXVWGWxn6XmrsForRnTpN0dZc+rh4v/eLYMNz5d\nYj6jRxL9AaZuv+VLtM3fAq/Ozk212n3QxY7zREtjNqeeF17l/bzfrsRja/d5tLbsxK5z6i4JYudT\nvB+TDH7z/fjtib3UMrve/GLJDlzzyHrbg0x4Pfqm14FML45ZkH/3KaG8oT1ayzEDybvU6f0b2sNl\nkPHi/W1pfVvGrmFOXQJ+/fYuzekPvG+925ZcYnoLofTndCuAlQD2AFgipdwthLhbCPEVZbZnEe3P\nqRbAzwHMUZbdDWAJgCoAKwD8WEo5ppemktZtAH6upDVVSVt3HWTfUWUY4HqHRqr445p9+LOFEddI\nn95DjB/UF9umdmc66QvK26/kbLyu0cG4XjazzX8Q3uQm1h2EMKx1d769Cx+/Y7mjacZqdAS9xlqv\n0qmv1VHMLr9vLT73yPr437qd9Lu82XqBvKw7FtUIUta2BOeNYjywbbKdel/brS2bCKT7cx7HTstM\n+nRUc+uc7BkaxaOra3S/7xoYwfQ5y7Bur/8DM8RqgevVOJMm3zvBjzOpSBl0Q12b34wbo70ZCfjP\nheu82P7YT0c2x3ZwZAzra445lKN0Q6Njno/2d/1Txfjcw+vNZ0yyanez5VHEM32p5xWnLnlWkrnx\n6RL8l6qGvVdlP18vMZbeaUkpl0spz5ZSfkJKOVeZdpeUcqnyeVBKeb2U8iwp5aVSyrqkZecqy/2D\nlPJ9ozSV6XVKGmcpaQ6ZrSNp2d9JKR/OfHfkruQLe0ef0jnzseAPnaoumImb/eyLbJBuLOIPIQHI\n0wSLb7rt8rOiSbJss5H8o2j0A6n+yus3uWp+nFvqVb5c0mj4YNjaO5RSAy+2zzZYuLHM9F4lIKel\nvqwDOKk1KxxK1pRWc18tVm8ytZqyJR7e9ZcbH5fY50GzC3WAwOvzyq/fjlhAd4ILQ4YPDI/hrnd2\noddmrRm7YufH/ELzwSaypXXvkjwtVmzUu1Md6Mxkb+sGQbM8dEb3Y5Zr+mVZO9zt89+vwfys15TM\nfAdktGmu7g/j63ppvflAFvcsq8JNz5VlPTKbntte34mrH4rYrtFn1aHOAc20B2yMutjSPYhbXq7A\nDxdWOJk136hPh7N//b7mfHocu0bk+MiefnHp0ZOCbEyjVDa198eHl/3mX4o1h+3uGhjxvd8prQtK\nQ2sfps9Zhk37MhvW3qlry9HuQfzb45syq1Lrc7AimRNvurUEofYXoH/zbFTT4JK5a/D0xnp761H9\n7XbQUW+7rDYxtPK9baoEf/P2LsOmMze/UI4fv7o1HjS3kx/9mkASfRpDh8f2i1kNKc/eimk1aU3a\nKtsjMvtwTUl+8aFbQyrLdWjVkDLaNY+vq8Xn523A3ubuLNdsli/jLVMfP708i0Tkzeqarc7oinhA\nyuIJapRbdRIvFjfgpeJGPBVxPlDk+SOFxf2j32Qvo+QyYvWFX3VzD2osBnvdrskUjLsL5zlx3zQ8\nOo6xcYklW5o0XxQEbd+ZnX67D5tfy2Mv3LsG3Hlm2aA8b9gJENlx5f3r8O1nSrNKY0ipbdjY1q86\nxnr3wM6eCbUtvRi1WLPbiF6+7NamzDofduYNWqEKAQakCKNj4/j0g4XxIFRZfTuW7kjvgPL836/C\nP/9uldfZ05Rc1mMdob61Td3XvsW0ZPLnxB/LK4/YukC/UtKIykNdGXW4nujPJnV9rb1DaX04hVbA\nL9BGN35OdJrsdoBAt6mhS+tzw6HOaDB3ZDybG43UB5/Xypriw6JryebGobN/2HwmhwyNZLZPMm2C\nWt/al9UN6thYZsvqBlY1ys+o6uG96nB32gPIlsbosW/u8uY6KkS0Zs+Q6kFFvVn6TfZi31vbf37f\n+MYCUhojo2ct9vCs9RItW242edNksRbRmE5AKj5vFld0px84v/jHDfjCvA2OnINu1tIKs0w3q613\nCGv3HMXm/a04+9fv46eLt+NXr+/ES8UNussEpd5HGA6lF/tqR1OnY2m5vU/HxiW2HeiI/13f2od/\neXQ9Hl6lXyPerqyvEWl/29sp2dRONaJuKq7uuypfMCCVJ1LetKuKU+xmL1LtXnvrmPU1xyxVcdV/\nuE7/ws4NvNFNixAiZdSDHy3cimWV1jrwBoA2pVbH1BMmW14mRu/mc9Y9a3Dp3LUGSzr/K2O3hpTV\nHGjNFzsceqNNGOkdGtV8yMy282u3frj97rPIymH1/6be+du81VXNhqsy22a968qGmmO44O7VlpoT\nOuEXSR3wW5EWADH5O1l5Qzs++3AEr5YdsLXOZKM6QUWz/W3WiXxq86bUh/d/fWwj/uNZ7bfKXgYg\nPnnXCnz24UjKNKtFK9N8+tZkz2YfUpnk06sj58X1T+v4Jq91LH5Oq+aJNb3Npsme5eZfestLLClv\nitemN5vf7DsneB1Y9LqcZbI6KSUuvmcNbn5xC1btjj7cvq/cy8ZqHzu1Ljc4UStsS2OH+UwOmHXP\nGs9r6mTL6ZeXUko8vm4fvvrEZmxVglKxl7gVjdmPnOp0mcv2muHkJaeothXfe0F/NOh8woBUzjMv\nOV79wB5o68dNz5XhV6/v1J1HXdDVedN6VhE2qp6k1IZStVPff6wXOw+mtjdvtVEzpmcwGmj70AeO\ns7xMjFf9IFjhWpM9nW073DkQ33d2/Nvjm3D5fenBuifXGzfvUOejrXcIJXVt7vdBEc+AtfntPhxp\nza2u2aWXpFv39PaqOEu09g7ZXzBLmQYoYze8Ww84c+P70Mr0kVWkzP7mPDE6l/V09iudhGu9oW1s\n68PBjn7TNNRNQ0ybqOksZ2Rc4+lcfQ1Xe2f7IbyhMZiBXaV1baht0W+u1J3BNS1ZtsEDr8SOQUY3\n+RYz/0Rkv6WRIzPlZUzDNABu0gQyfso7mGmrKa2vOYZfvbET9y3f4/hKMu5DKrZ8ZotbsudINx5e\n5e1I0nGW7xcSnxva0q/PiWtl+oGwcyb9t0Z3Hk5z4l4sFiTyomh39A+jo28Y//FsqSO16Z2Seqit\nvLDPfF17jkSbUR5VXhL/4q/OjOKezOlmv+UNHTY7vre+g6zuy/g9LzEglQuGRsds9Vuk+2Di8JX7\nza0HUzoUjHVMut/gxtK8jxujGlLmkudJPMtEU+jsH8Ffs3hQSYx+Y39Zu8003ORC37QAtGsGSUiM\nZmtrGOYAACAASURBVNi0p75Vu1N+sxG31OfQ9X8pxg0LSuJ73qnAlH6n5u40xdEqG5fMXYMiZbj2\n5OCGWeDXD83d7jSp0ntwi/ch5WJv+//+TKnl0fG0HiKyYb8vooTYIlo3gFc/FME9yxIPpHrnTqZ9\nSJnWkEqedyxRm8Ssb7jYlvzPou22a5tp+daCEvzLoxvwy7/uwI6mTvPfLpOOemPsNu3VWu/gyBh6\nHOrv0SyAkqil5sS6on2+aPUHmUlTeCNB6kNKs1Nz1d25VP3vR/Oq2D3csV71iw7nrqEZ95VnMQ+Z\ndJB//VPFeGd7ejcWXsj2nvCFzQ0Akl7mat6HBUssP26Onvro6hpsrs2s31ktr5YdwMZ9rXiuqN7W\ncoc6B9JqHDp9TyKlVHVN4mjyKWLlMTY6txPryiSJt7cdwvQ5y0wTuum5Muv5SHpm3N7UiZ8v1g+6\nBeFZLmwYkMoBP1+yA1fct86RzuOc9PMlO/B/Ht8U/9uJAqqVgp0bEs2AlsENUCY5zuTNZbw5l+1D\n6PxtqVtV4L26PBudB+UN7WlvOu2ONmn1LY06F3Y7NXdqf1Um1Rgxf2gOL7s3PrHzPONttrDCTbWt\naNAJnFqxp7kb7QZNLKzQb35jvmw2lwLro+ypmpDrBKjj5S7p63jtHAjd9VkNBGXq9YqDuPnF8vR8\nqvNh8URT9yfY1juUfmOtmX5iBVc/VIjzHOrv0Szfsd0+0SAitb2pM6lWTVKCGovc+upW/PuzpVhe\neQQPrTSvlXKwox9zl1Vl9RDnR0B++pxl+L/PlUUfFpOmx85jvd/hxIsveyf0d58vs7Q/o+tIn9bU\n3q/7G+bn74aV3+PvPFMS/3zXO7tsr0Ov+bEbKlU1PL08NwWi59eaqqO2aqo6LXZd1+rL1imPrd2X\nVafhesXP7s/Mlfevw/deKE+ZZvZSxirda4hep+Y2S3Jy+l6cp3YueUu2OPMC4863KuPdACRXMvze\nC+V406Df4iC85A0bBqRywGqljbhTFzG3Gd1ImV5wlE1MLux23ijb3UN2LirZ7P3MKzPYW+KPa2pw\nz3tVhvO4VUNKtwaDh7ez1z9VjP06ASi3+w9xu1mmk8lmNFKkBj9+lK2OZhZjXitTZ3o8feM1ZBMI\n+fbTpYYdsic70Nav+VIik2PgxHHTrSGlmqzuf0OvQ3utGoaJDqD1O75W14R1g5PnubomTHWzdrPA\ndXuPoralV/P6ebTbuWYAZptmFkABgOvmF+EvG+qi6RkkKESiueiPFm61lL+fvLYNT2+sR6VLw7u7\naUPNMTxX1KA5sEraKHvKPLFiZbcGXKT6WMoDfvH+NrxmsY+4nQc78ekHCzPq69GqbH9/jRYvqm2L\nf27rtR/g9/J3TF1T2MufUIloh8r/+dIWPGXS9YHR1fR1g5YG4+MSkeqWAPRXGRWEbGze35bytxv9\njCanaPao2NIziIv+sFr3t8dY6pnhxIsgu7sj2pl/W9r0TJ41FpZGa74lE3CuKsD/LHK+aWNYMSCV\nA2JVuy1fxNRvt1RNGoLAagS/s38YP1scbX5hZfNtN4OyNzuADPejzWrn6YtbW+sf1+zDM5vqcbhT\nP+DgZQ0pN24GMk3S7XjuBI0H6q7+Ed0mXbb7kNINnMikz+ZpbD3QgSvuW4e/OvCGKdNgYzaHwmy3\n7WjqxLGeId2RLdPzYvy9eXFx/8ra0j2IzzxUmNKULibeh1RarQb97XKiVtGYxVoFv1Q1n1O/md+n\nGlY+eTtGk4Ihuue/Mt2tQDsQPV9Ny5bVtNQvXXTy/b0XtuBfHl2fmN9i+nZZ7/Mog7SUP/cpfXFJ\nCUyaaO+2NHa+ZPVCyMs+pFR/7zyY2k9bcpBV7RdLduAHr1QAAErrs+ss+ManS3CwI3ofkNaEW5XL\nWC3iCqXfvLTD6ONDvdsvegqrWzCUQafVNUczeZhPLyNW7wPigWwpDZeRAFbtbo7XKBwflylN42LN\nMWPnxlvbDuKAzebk6mt6smc31eO7z5dj5W6DkcQsHsv3K4+Y92dmsWzHZmtss1qjWR0wdu4EdLpy\ngURq+TD7rVy7pwXtfcN43mbzw6C4+UX3Owk3+80IQJwzdBiQygETlZJhtYqteq5tTd6MRmGH2QUz\nZuXuxAhatms/WcqHN1Wk4lXhbS6XeBixt6TRueJ1DamgiAV07eTT3iYpzTKTljn/7lW49VXtmgBu\n7K14cw91zpImxG5O3zKojuw2N0+V2fOL8OXHNibW5XJeXipuwJ4j3bjrnV3o7M+u+Z2ezoFobYki\ngz4x1JthtF2J7zK/GIzo9g2XOr1CNRpS8s346qqj+Py8DXhnu/a5mPwyJfma9tNF23D7m9HBM7Q6\nPrdrYHgM0+csw6x7VuvkI7FuvRtVqw+a8dHUlL/dHL3OCfE+jyzkM9qPXbrYKEPdAyOYNFGvmYmz\nPB6cTb9Tf6hq/ensTwmJN7Zm3xm/FrNzJ54V5X/1y08najln+iLMbv+bWxrsBfJ+8HJFyt+HDF7m\nJbv+qWJb64lJu06r/m7tHcKvXt+R1u8QEO1/bcbty/HMJv1AwuPranHLyxVYqNSOGxxNpKN1BH62\neAf+z+MbNb6xr761D6uUUW9bevT7jLT6cv2HC7fGa1465eqHIlkt78R1Ra/Zul16WdF94Z9FoNnN\nn5/4C7Js04ndCmSYUOqLOuNEgv68E0QMSIVcdfsYhpUaFpk2c//200r72AyWtdK3RYwjndsZXDAt\n9SGlsZVO35f2Do2iucteB82ZdEDc1juERRl29Gq0q9IfLJy5sGqtU/3mRs/YuHR99JJxB960J9Pt\n1DwtqKr9pjDeRGNc4sEVe9Fi0ul3Ng8FyXk6Tnkg1Kry7JXR8fGMRx+xcrPR0jMUn8/s5jfb8+Gl\n4kZ86U8b8VJxo2YfLk7cuMSCyFrN1hI1btQPkQkjOgHqbG6uM92s5GaH1c3dyv+J2gbJ6Saai6Ue\nx7e3H8ZrZdFrY6KiUeYbc1hpwtqq09ynoz/RfCrbwxlb/Fj3IO58q9L0RZPb971myds5R0yDvwCO\nU/fmnWRzbSteVDppdoNfjxBa9zFeB8xS6OyITLoWsF0r3eb8dmtI9Q2nB3Luf3+v7r2sVrL9w+Yd\no9vt01VKiQ6N/gLV23XPe1VYsuUgVuxqTpkuABxTgjxWBgCI3U9YCUJkO2JozGcfjqC8Qf8FuB/l\nrzbD0TvdLJ92+iwbGh3Dt/5SjO0aI+LGRF8EyJS/jWSzaa5et3y9KCa/ABN+ZyUnMSAVYgfa+nFf\n2WD8TbTVi5jfgVsr5Xh9zTGls8/UzHaoahhInc963Nz2WF5vf7MSl9+31taysX3yqzd2Wh5GPvlN\nnaP9o6iSOtQ5iLve2YXRsfGMq5MD2TWJe3DFXlwyd42lDp4zPcZ6fdCoJf8Q2ekQX+h+o7d8dL6y\nhnY8EdmPX76+03h+C8maPxBKTDJ4ILTL6rHYeqADjUnNAuYu24NZ96xxbKQwLVY7mZ91z2oU7m0x\nTa9rYMT0QUWrDDhxTYp30K4T9DVbzzM7VaNmZZyR5DSsvYVV02quIIR2X4Fj8Yd3of9CJsu3ooAz\nLy3Srge6nVZH/z/cNYiFpQewTuPc+/27u5PSdfcHXX28OvqGMb+wNn0+C/kYlxKHOhK/W3Wtfbjw\n7tTO1/VqSAHAt58pxW+X7tb93h6h8zlVY1sfqg53O7TOqNQadRbPLhcPs92ykUlNCvO+/DLdwOxL\np1l/SWpWmlTZrfH1fFEDLvzD6rRBMNRrGhyJXugmT5pgOJ/V/Okt5+cDd79G0NAp180vSqnxtfeI\ns2XbCVbuRfuHR7Fgw35UN/egtL4dd7xZmTZP/Lcf6lH2jNO3OiJ08ikSS1J9D+TkM9fI2LjhKO1u\nS94Ui90dkw0MSIVYt+phzfBNavLFSKeoBCnge/ublZq1f/7X4KHcfp87iYcZJ2Rz4U3OwuNr92F7\nUyeeiKTf9DvF6IdGXUPql3/dgZeKG1He0JG2jXZGYtE6PnrH7NXSAykda6+uitYiUgcknRR7oFVn\nadnOI7rLWO62TUosrzxia5lEvqILDI9mf5NmZd3HaTwQXje/CG8YdFSara89sRk3LEiMhLRCaYrb\nY2OIbvs35NH/zWpIDY6M416zfioAnP/7VRlV93fixmVCPCCV9KAbSz/eFFW13qQJO46Nqb9MSWNH\nUyeu/eMGSzUDVEkk8mPxMpt8TUlOIxFATEwcT+pvJxGcUuUjy+r+L25uwOceWZ/h0kn50Nn/zV2D\nKbUz1NdmrdPz+aKG9PRdugVWp3vn25UpNf309uvgyFja78Nvl+7GT1VDZSfXLgPs9yGVqdTzRH/f\nXf1QBP/6mDNNluJrs/T2LLt1ZNYhsfaqne5XsqV7MK2GT/K6h0fH0dRur98i1x4ANRJ24165sDoa\neG5Ub7fqZBlS7gOOn6RfTqzcC0/Q+f0LwoP0qiqD/qWytL2pE7sOBSMIpT5O//5MKb77fJml++pH\nVtXg3uV78Z7h/anOSyGTtGO/tVZv75NXE+vT1+q67KT/ZGQ/rjH5LTYakEcvL9PnLIs/Y1gizO9n\nsq4p7XfNER8wIJVDjKLqKTWJPD7PS+u0m/70DY3i3uV7NNvCAzDseDvGSkd9evNb4dW+Sq7hNDIm\ncd38Ijy4wtoQzZkw2q6DHak3RIk+TdIXstP5ot6cWtPveKsSNz1XZrqsnvmFtdhhUIVZi15gwqiD\nzpdLGiyl/VpZE97eHh3hyOq2xLPjYaS4vW9Ys4bU9qZO/MJgPwSZE51PaqWhdbpk0qzUsyZ76kBH\n0me9GIAQwG2v78Ts+UXY29yDHU3Zj2RmtrXJnfwnioB2/cLReEBKxMtvWoPjeA0p7ROh8mCX7sAC\nACwFI5PZfXZX96Gl3kFmgaZEk8z079QdZmdCnW7vkLXA+D/+ZgVufjF1OPNXS41HdRMAjrPQieF4\nli9CjNbvheQc7TnSrRk8Ug8pbvcq8cU/brCfMcuyu2bd8HQJfvBKRdoIm0D0eP126S58+sFCS2m5\n3am5nqb2flxx31rdPqXcOpdiHawfP2liVunEXmLolSWB9LJjtSxpvdTSSh+I/r589YmilGlecuq0\nyeT8Uy+zqbYVkepjGLXQh1SX0m/kkM7zkzr95M+ml8+MDkQi0UdWOfvsYmfXlloYlVhr86zkOdFk\nz+FWKRrcHmQpiBiQyiFaFzG/fqyTfSup5kOyJyP7sWBDXcpQwtkUcmtNlpLevsfXaW1+NyXHAIYt\n9j2QzTE1WvTOt3al/B0/JjJ9OTvD09rNr/rNueX1AHhoZTVmzy+ytdy4TuDN6AGztXfYNAixvakT\nd7yVqE7txpC+gP7+Te1cWufmU9nGW1/dFoi28W5dr8o0OrS1cpOtdV1yqqPNby0oQX2r1ZF9tMUe\nLoyGNDfsN049b9LnxRmOtphx01mNGlIpTfZSbrITtaLG4/1JqTuDTqShVtvSg3/78yY8uGKvbn7c\n/gVQx1+cXN9X/lyE9yv136A74emN9brfRaqP2UpLwlrn6IMatUWdCOx6dZuUnNe9zT22f6u8Fjsi\niVqlqd8b7Xqteyij2k8SQFGt9f4L7TaFd4IQAgtLD+BI1yDeqDio3b9jph0npwWkU8UDUsfpP75Z\nqdEWm8PowXfG7ct18+ZUrbnFW5qw7UA0cK6VlcXlxkFsv6ibq2m9PDGjt+vttDyI58fkpVlyOdS7\nB1VfQ1+3WCteiNR1Pb4u0brD65o+hqMHG+RFr3/ImI6+4figEkJY6UMqu+1mDSkKFTvNp6wM/e7V\ng2hsPSNKGymjAIxRmfzaE0UpD/oZB4+M+gGykWR2wzAn15CyGJDKYm22JPXdor5I2hueVqP2hvlq\nbcv0Qq73I51p3xex5apUfRRYb+YHXPXAOjxj8MBnl966k6fHriOnTDnOtfW5yeh4Pasx+lAsj796\nfQdufqE87XvA+NqY7XWzorEDD9t4o7jrUFfaCEWxPBj1vZF8KOqO9Ro+XCTeBKqDOw489JskkXxN\nidd60tnJyX1IxT6nBXh0ak4BwNHuaDDZsAmHw+ewelOcqvrf0jOErz5RlHY9qssy2GnmgBJc8LKs\nDySf5yY70Fq+UtOYX1iL9TXGwbSu/hHTefTyk8musrIdn/zNCqzard0UzkhaOddZV2y+7U2dKbXv\nrFwX7AQwjJqjWU03k/sAKSV2H+5Kqbmld38aazr36OoaXHrvWgf7O1TXSor+/97Ow/j3Z0rjeZs4\nQX3M7G3vBGV5O8EP9T3SvqM9qG1Jr93nZO2R2/4/e9cdHrWRvt/ZdcUFg+kYMGCq6ZjeTIeQkHDp\nvZdLL5f8SHLpIeUu7ZJcLsldeo5LuSSXQiCEYkILvfdmerMxxRS31e8PrXZHoxlptKv1rkHv8/Dg\nlUYzo9GUb775vvf7Zo3tIEGRqotUeTaKE30zmUNLOwfwisKkt3hW9ApC4n9ThXTNAG1pxvPaYXkT\nrfcF4dXHtZByUaNh6rLHOVWONnikwrRgYzXgl+/SuyNExGXP///sjYcMnF0sZAi3ZSCrkAoHQ18p\nkOaYCHLRGBcXO+FpRROsqD/yTspl1vpQe3eVgEMq1JNAUT206/R7r9tndIU6ePwM9pSc5pIa8/N1\nZlxrAior8IaCcGskM16tLNT0PETi+18t3YOZkm0dTZz/1jwMe0XPo2DWR7UoQnR/UzmRgr9Fnzqc\ngJuh9keupa+gElpaguD8YlSi+a9z3tHRvh5yZ5dTBsiUu2LXUWkL21DyN00nuP72rC02ypIrTDYA\nBRDaHPTXXzbpXMZ5uP3zpbj+w8U4KslrSPc/sw1nOOLZ6Yoq/IUTyTNcsGPnyMlyjH87aNUVap/l\nzRGKYm79Y5VnqHUCgJ3FpzDuzXmYNGW9RVlKwFJJw0nGlTX0AzXmt7+N7p68AvO2FunqQGPb4ZOB\nUqWsfgMWp9aH1aL7I1//DSNe47iGSry8nQPcSFmVhwMnDvBFbyWjjAhYaJtUJDjO+M/K1kcEumih\nvOvEp5PIJHviFDz303qp8riyAPVg+yemGatgyMPiIMS6GqaIxT4fabgKqRoMdlKp8il4ceoG3Pbp\n0mAaTp+OlW7uwB5AB5n3svvuiqJyWd348RLc/8VKYboVkpHxRKDboqJSrpbhKha/XS5vjgvwFzFb\nGwNeXzR5PNQF34yE3AxBlz2mHhbP7Tl6GsWl8txBiqJgxa4SfLow6KpaWGR0Ych/pUA6TzVfiTQS\n+VQKXJ9iFQc1dwmb40F7P5mFP9baopQhezer3Y0fqVZfZm/JUn6ESoZKWxYIrfEsctG57PGepy5q\n385DSJALxfAu2l/GVgpYVZksRnYVa3Z7itFlz155Bhdjg4LLXn7Ld5Xg4a9XBb5DuIruV6ZvDut5\nDXoy+9Ceo8E7kDFrqtOVis4qaPth1fJMi3omQsnJcox/ex52H1G5hjYeOI4fV9lfo6qLPoAtq7LK\nFzw8DKUOZtYTXPlUscWP5AnIJ9LFCvtEsf9QcaUF/6QCoMziu4vWjAPHzgQOUWZuOIjsiVNQYnKY\nKWPVrMHOJlY78KNlOKvHrQ537OCn1fu5HGI8OHFgEGkElD8KpK3lxO1t/iGmrN4vTLKn5BSO+eku\nhAovi2Z3Ut5xYtbacsg8sp42nnkW8LJ1sTN2ZFrnpaliGgAXfLgKqbMIlVUK3puznRuhIpRJgesX\nHwbY8c4jVaSF6TdnbcXfZsqfrv66/iDynp9hUQf7LaG5wbDheGlMeGeB7Xxp0PN/dbnsyZpq05Zs\ndtxEWdjV+Ot99CMnjAd4MUTvYrH6/OGdBej9wkxx/pwMJryzQBe+vDo2GwqC348Q1fXr7snL8f1K\nPXluwGokxpQwIrCWdGYbEzop4dwXwawlptlwkfnP4l34YdU+4w3Jz8+ajdt53EhQG/xbxGNkMJBi\nCpq+/qDQqizUHq2bUwIuefx8q3zB+0JSc///vO7sC/T1ECvrAETukrJg08sEAxHnpeAP7yzA18v2\nYIPf1TgWD2orJTVSh06cwRnBpneXzShub684g/Fvzw+4c2ibZKtDmR9X78PqPcdQ5D+0ePy7taaB\nMsKF02tlzuNT8YvFHEeXuH6f3v2VJWdn0xuuKXZd9vyPGeY3cTuIxRbZw0CjK5/sctn3xZnoNUmV\nU9//bTsAlUeMzpst63+cNuS9g51PHwiEIWgM/jeSlRnlIBvZzKptfT7FMtABL+pnOBC5Ar49eys6\nPz09oBQSoaJKHL3X6jveNXm58N7Al2ej16QZWLS9WG/9Ri+rIgsp/plOWLA7H1VW+XDF+wuxcFuQ\nR26qICJnsIyQqqaDVdfQKWOJdZ+U9WwQ1ycGF94Iw1VInUXgdWB6sQ5MkMJ9t36E7Q/Db9sMWp1E\nBJnhoMjCUkXh/DCbV3QTdwQ3LXTb2+NlCh2yxQQtpIwLmSFClAlEYo+oGrxTmkhYqmg5au2hDaMR\nr83Biz9vkPrspoKO0GIjiFA/+enyKvSeNAO/bT5sWwFw9+Tl+Gn1ftzHWP5VMm5M4WxwqsM92ONR\nXUhW7TnmL1PuOdFGxozgmob2mN0Q0vf+Z4Wt9DT+KnDH4bWzlaKD/mnkXeLnYQdsnTRLEqvvozux\n9///xowtmLulyPC89vf+Y2fwx8+X++tsqIh6nVcWx2Vv2tr9IfHB2LdssnddFqwrkZ1vSM9DMuTi\n0YKshVTvSTNxk4AXjgezV952VC2Ujuyo1sX8i8lEzJJBde5P2LJmbFAVB6JNOD3Wz3tzLgCVW+mZ\nH9dx04vK0WBHIaVhNkOgb9ZcQgtQ2TZWzKObyYLvNsco1gDc/6XROp/3DnbmIK3/GhQVEXIn5cFM\nsULDigeq/ZPTMPy1Odx7Whu3f2Ia7vsi9LXXDLx2P8Jx5aW/2c9r9uPjBYWC/KyxZq+e5oGeu8qr\nfLj8/d8Dh+nsdxPSZ4Sx+oQ9pvzYd/QMft9+BA//V05p/+r0TRjxOv/b26mLncitMgqpcOFySLmo\n0TBTZMzfWoSuz07HnM2HhZPO6YoqnCoPuoJEesAFLRScHXmny6u4pHRAqKfPkZ8ZoiH7y2rggxxS\niqH9Pp5fKF2eXeVEdbcJvRFeu/cYth4qxXu/bQ9fCWYQBjiCZIiS3rbDpTh0ogwvTt1omQeB3Fir\n8u/2tMiPsX5Q4yEED30ldqel24UbLY95v3cKthnLsFgp37RhyRkJyHwj9kRfZCG1o+ik0MrGzlxN\np7QTRbDKZ+32p4Em7NaCB1hZzOnL0iukthw8gTs+X47OT0/Hk9+vlaqDATbnCxEJuwaWwJ4FWz3D\nhtbGC9BzU2D8M2lEb+fEPCGbhR1X8cU2uGpOlVVhq4V7iAatfazWUaesMmQjFiqKvFLdLux07Tdn\nbsFHFvIBl0MKQFK8vMueWEkmfkb0SWQ/lU9RLNPy2ormG+v+7HTKFVIMdvyaHeSGMgbZqKZO9Fan\nZbdek2bgn35rMh7KK31Sa8xPHDqHUOctndWuZB6KoroK7yg6aZtHju0HVm5sgH5u0gW2CqHvmsHJ\nPdypCnUPWitBbg54a9bWgPs0EPr3tO/BEdkNSqxwPVcnXIVUDYZR6x28cNfk5boJfGmhasmyrPCI\n6YDlcdnYRcnJcm40BgPXBeeExgl0eHIauj/7K06XVxndY9jTIBuI5PRjlffv241hkFkTUrs4yfDQ\niBD4Tpx77Run2S+Ygej7OyXUKIoiVFCq5bCWQAouosJwh10PCQupUOEx1N0c+tNQPgIWUibfPZZA\nABw7TVu0GE+Yuc/ZsNC0Ej5e+9UZnpxQwUZyBIx94s//W6v7fZI6fKCVIkNfKcC/BFwMdvounZa2\nOLK0kKL0ZvwNq7XiVVQPFtq3/2XdQVT5FB03l8bxFqn+r9WTnV/Y8n5eo3dX+AejMDVzxbQLenPq\ntTm3OAGzouh7PCUPe8VKkcfDpoMnMEJgacFCax8rhZNdi2dR/6YjCpthR/FJrlLdDFZrnNUSKPOG\nPBd8nQwTuAckhGAhZayTuFa7jpzClNX78eT3a7nKd6v3UaRSBXGyrBJ3/Xs5elKUEiWnKigLKSpv\ni2y1+yJCeEDOKjJg4ce4dT35/TphPaStj5keYxUQCFBd2I6auLm9ZSM4gj2oLxWOnKeAs78RpBv9\nxm8Y+kqBqUwxZbXRrV/U9sEoshyPAvrYXzE+I1uGDJxYJSqqfAGrrloJcQ7kKA870zQBcS2kIgBX\nIVWDwfZX2hVkyur9mMTxT/Yp5pOOnmMlKJB+tWS3dL2sNPdavnY303ZwuqIKT/+wDvf+ZwWW7TQ/\nITWPUmG0CooE6DrwBI2NnA0n3QNCqePXy+RIzTWrOZ7g1q1ZhnR5fMsgCEP6OuUyMnNXJdo/MU3I\nAaaVQruu0ZsIthai/vL1Urkxwvu+ofqL0wKtnBBtjSrGJSXSG9J5W4qsE5mAEKIfP0x1LQV8iZbh\nffJQWyUSgsztny2zTLOCiUr6LrVpFY01K2WJOcznpy+X7OK6WNMbfLbOorxosONTFKwA0FvabD1U\n6ozySVY57P/fsJGwePxlC+sXu/1flNbsIELwdOAvUXhw6xzkSqPnS9FwOu9vc6XLDWVMakT4VnN3\ndXOBRNJSzWnrOEXwtx2XPSs+HB7GvPEb7pq8HJ8u3KlzDZI/2DHKhQY5gfr72xV7MWXNfoPyMrDG\n0nOlVdmaOoynMLLlsqf+T/dPfV+VPwz4YvEuYTlT1+xHl6enWxLFfzSffwgSLr602Ls4Ml44mfDm\nlElTNgjvz94U5Bx6c5aRK1JUTTPFRajR9Kzmwz0lp3TeNGaw0yef/H4dTgcUUvJWkvryrO+F8s0/\npPonIXIGCpXhRLx1FVIuajL2lBgVBlo0j00HVdJEy9NlYvx79qZDeOSb1c5UklOWTwHKKqvw2cJC\nnHbAL1/Dl34FQSkVjpf3/nrrCj14ArqGKp8aLU3W0igcHOGcHDmpQZchAH38u7WObXZoXPPBlDes\nEgAAIABJREFUIu51p/btn29QzeR5ViQAZ9PNCpqSu5UXJaNq8NpBOxWyC1qglfkWMmkq/Jwn2oYr\nnG6mKNYuM6LvLwuPpHDAQlMEVPdJVHVx81j1Wzp4wp4TPr5QHcYoFJ7oQsH2w6X4v2/W4AEON4q2\nadt88AQWbONYhlqUKxrPvPrQ7oGVPp+Uq4QIb8wI8QTfoI8KVe0X2vM0aAVdkENOn8aq+4ajwJYd\ni1wLKeZSUak4cpnVszxo1Fza+wUtpMyfs+uyF4ueGpGKMiriQbLjssdrrwe+XInHv1trvOEHfeBE\nc3xpARqsDzE48xDTRDJtxrOQ+q/FQaHZfKZdk+lz2vpO91/WfY/GL+sOCN1GJ36rt96jX13jGV3E\nsfKnUWwSaZCHVwR8iiy+4xDCOw2Fc9DPWzs/NFG6adFwxWXwv6mZwpvmRdWpGkUWUqY1CGLgy7Nx\nw4dy3HxsUZsPnkDnp37hHnDP31oUoBaI98a2eoId3zyLXJbP0Q5cUnMBCCFjCCGbCCFbCSETOfcT\nCSFf+u8vIoRkU/ce9V/fRAgZbZUnIaSlP4+t/jwTzMoghPQmhKz0/1tFCJkQamOczVhNEf7a7ebH\nT+sVLv8o2IbjZyrCtpzQhvM/527Hgm3FeOL7dabKoVDBmiTz/haBK3j48e6cbZjwzoKwSIo1WMku\nZZVGhQUtPExduz+s7yHtA8+0hp1Jk8t5YJK+sPhUwNXOialZ5LZnCJNuuC8HUTqDCxEnjZnwbFqm\nDbcztWzFXyfxW2mCQtBlJ6SqAVAV4e/Osec+YhceQnRteuiE3upGf+ZLWVYENgPWL+jkdiwWI1gr\nAL7gnCQblTvynaG8yocHv1rJ5fY4fkZdU3guGppSZNTrv/HralEH8XgzPqdzD1T4aWzXQXLz/ttm\ndXNn4LyyOd5kNs80fD4FD365Est3lWDV7qPYfjho0SxjeWRVj5MhKtfVTOSS0WtfdXENVvqL1Ir2\nCiykfD5F1z+qK0iJkzDwFlk+YJ3nF0t2ocdzv6rWRSaPKQqQYGMzyuv/363Yi2+Wy1mA08+/b8JT\nxD7jpOWwAnmlnxLoh9ZKWRn4BH2Vzev2z5bhzn8HScjNqkvfqpOSAEANPGIKiXlsNxUZ821BxNnq\nAv2OvDFu6QYr+b2rfAqWFh4RNo9Zs+kVjGYroZbGXzeJ2X9xYfCgkaeQ08A2zeRFu3CirBLTOJHz\n1INVv8I/REHJdFyaWEvbBVu73pOMkbZdhZQ9WM76hBAvgL8DGAugI4ArCSEdmWQ3AyhRFCUHwOsA\nXvY/2xHAFQByAYwB8A4hxGuR58sAXvfnVeLPW1gGgLUA8hRF6eYv4z1CSPU6n0YJoSyIisVzl7/3\nO+cZffqXp23Esz+uF05AonmWTa+d0JRV+hyJWCJCVZV+Ivb5FGw5eEL8gADsa2kRr7ToXjzc+e9l\neO6n9ZZ505sSXrvyIkDQE9bcLUUGrhE7CHXys7GHC6m/skIMr2vJWqhpUb4MsBQcpLKXh4PrjIdW\nqljkSyAnsH7g5w8KWkiFV+Fww99agf0+tNDMQvT+49+eZ6+QMMAT9qasMZKtOgmZSGObDhjnRBll\nqghLC0vw7fK9mPjNauZ0NqgcToo3iiBVPp+lW5oZaEF/8Y4jXL4aQHUr+9PXtLuOnGI3e+KUsARN\n7fuX+JVxjk8vzDtsOVSKF6duCLTDsdMV+HbFXtz08RJc+Pf5GPZqkDNJ0fF3sX/IIexDJZH8QP0t\nCgxREaKLhK3hrW3aBBxSrR77GRPeWRD4XSUbEjCKkD50ETSUzBqxpLAER06WWx4KqsoZyQoh/OU0\nFNlH4bzxgWNnUE7NC/QrCA+rODxO1mXr/2frZRd0/9UpMBwSVDTXKzMeT7U8c5w4U4lP/Lx+sYbx\nb80zWqpKyGMyeGvWFlzy7kIsKeRbmptFhxNbVVnUTbJyMt12w/7junrE+eXKSs68qCjBCKqxeHCn\ngUj67IWjVDr31FFyFlK9AWxVFGW7oijlAL4AcCGT5kIAn/j//i+A4USdaS8E8IWiKGWKouwAsNWf\nHzdP/zPD/HnAn+dFZmUoinJKURRtR5qEc/M7SkNRzE3ZecIkb0yVnqkMm0MllCgVoUAXRlxR8MG8\nHRj5+m9YZeHTrtUrnLr9vOZAYINvBqu5jSdns/P5kZNGPhYZXPDWPOQ8PlUqrdFlz74gZZYfC9ak\nnZc896lfpMq3EohMaiGXSnIBXSwQLEJD0IrJ6WiV2iH1zxFUlhw8bp94mIXVabXonmY16lOUwN8i\n8D6tiPtq4wG+a6gGNtpduPjrL9bKG1mloCiiUzCBbK2CiuKUROP5UFAhZXTNqfIZibvtgK7zJwsL\nA3+fOFOJoa8UCJ8rOlnGFe55r3zijHNu2lYuw9bQP8BGNvtx1T68N2c7Dvv5ukxP1KnCg9xblAVF\nlS/A8SFCOLwZspQCPJek2z5bhjaS61g40NrFaxJlj+bLqZkWUswFf7uXOkBPoND5Cw81q283GpJi\nhyMXjn97Ph6XJJ7XEHhLG11Em6N5/S6UrkZn41RESN73s/qmNS2q2D6K+/QEZ1xYKSNku7jGybv/\nKF9W0srh5Rdw2QNjKR6WN4X+gF8r2yzHX9YFD8vj/fxwFVX8J4IuqwSPfrsa/5orZ7VoB2avP3eL\ndTRTArldAa8PtKotZ/15LlpIyVgSNQVA2/LvAdBHlEZRlEpCyDEAmf7rvzPPNvX/zcszE8BRSsFE\npxeVUUQI6QPgQwAtAFxLPR8AIeQ2ALcBQMOGDVFQUCDx6rGNrUftb7B37dqFd+cElU5m7bBs2VIU\nbfFiw16jkupw0WHDs9rvzSXGehUUFGD7MfX6ieMnUFBQgB3bg4qxtevW2XgLe1i9JugONfGzAhwv\nUwf6ovXWiqLCwh1YclrtqidKT2LW7NmGNOXlfAUf3T5W/W33nqAy6cwZ48Kza/duFBToN5VrDuu7\n+eYtW1BQVmhaDq+Oa/bKh2T/7y9zdL83btyEA0n6qVn0rhs3GjfOS5aYW278vnAh6iR5cPq06ka2\naNEi7EwxTuif/GA0l2Xr8qzAUk1hNHvs92R/b9u6FScqjItFUWk5Pv1hJpqne3HkjA9/W6h+R59D\nJ+RHjx41tO2Bk2reJ0+dwrx58zlPBVFYWIilp9S+XFZWBp/F3uJkaSkKCgrwwLRg/3B63uzzAv+7\nWYGux++LFmH5rtPC+0eO0Kblxu+2fr0x+MPs2bN1aU8cP2549zV7+UqsMW9Ykyk72Y5/n81X3lQI\n5iUNxcV6xejevXswm5ljdu/Wu/GtWi3PJbhph0p0W3q0GMuWBZV0X8xYjHrJ6pxx7GiJ4bn1G4zf\ng8Y6zveiUVkRXK8OHzqE0lJ1jHw9ZyV2FImtd278aAk6ZeoVZAUFBVzhdd588VjbWVgovFdQUID1\n+yp1v9cV6dfLNWvtbWqXL9e7jItclRbMX4CMJA+Ol6svVFZulAO0tREApv+2CB0yvSgtD167+I3p\nWHWYL3fs278fBQVHAnNSKPD5FBw7yj8o2rN7d2DXs3RZ0Ary+DG1b2nWtKGMreXL+VaVvLyGvDwD\nbwxNxslSdX5fsnQZjmw1Kla1Zwt32jso2rbNeRdnqzYp3LkTBQXBg4fDp/TfsKrSfLEY/7p+Hjcr\nj743d17QMrXSX8bChQuxe7ec4qugoABrDoanJDtQbOxvx46Xmr7D/AULUHzEOL9OWxMce+Xl5YE8\ntuzizzsl/rVp1erVOHKE/x6lpaXc36tXrwbZr9/CLV1mHdxCw4p1m/HVvI0Y3iKYx4qVQU6//fvN\nLe4PHjyo+023V2VlJf7yxQzM2V2BbvXV/PfsMXeh/HyhtTxuBdE3M/uW+/ar/Z4nX8k8r4Gd96fP\n/R1p8QSNU/kKiLemruJeZ1F8WF2T1wnWxX3+76Ttq2gsX6GuDeXl5VhOzZm0TERD67MbmDWKRr/n\ngkr/1atW+fMrMXWxW7JyLZKKVI+SvbvVcbN1m1HRdObMGUxbp8pyxcVFmLHB/h6Xt8/QcNzfRpuO\n8PMtKCjADdOs90Pr169Hks/aEnj+/AWok6T//lVVVZBRZ/GePdtxVri2KYqyCEAuIaQDgE8IIVMV\nRTnDpHkfwPsAkJeXp+Tn51d/RR1G+q4S4PcF1gkpLNSvIfA16gBgKTdtXl4ecpvURtGyPcAa/eRZ\nr149DBrcA5genJy0Nk0pPAIsWqhLn5+fjzq7jwIL5yMtPQ35+QOx1rcF2KyGS8/NzQVWil1twkFp\nciMAqqnvrzsrcVG3JsCBfcisXx84YL7otsjORl6nRsD8uThwSsE/NiUCOKVLk5CQAJQbhc78/Hxg\nmhpt6GBKK1zeq3ng3smySkxetAvX9muBpHgvFpzaABSqE3RiYhJwWr/BbtK0KfLzO+muKZsOAcuC\nCp3P1pfj8uG90alpbeOLTONHPaLrKIOnFuiVZW3atkPj2km6egTGFpNvu3btAGaz1atXL2A+nysG\nAPr374+G6UmotWQ2cPoU8nr1Rk6DVEP+bL10dbF4P6/XgwpKaVTKrDPHy/U70pycHJScKge2GTkM\nXlhSjo3PjcVFf5+Po2XqN/R4PEZzthCQkZGB/Px+ums7ik4CcwuQnJyMAQMGALN+FT7fIjsbPTs0\nBBbOQ1JSohpa+9QpYfq0NHWc0u33yPxKLH58BP8BG/0oXNDftaxOKwDrhPfr1q0LFKvWTLxDuXbt\nOxjmt/IGHUDI8sBRWu3a6cjPH+DYO9odd6EgPiEBqBArpepm1gWKgqeBWVlZGDS4A/BLcE5v3rx5\nYF4CgDeWy2+u69ZrCOzei+ZNG6NHj+aBterzDeX44Po8YPlS1KlTFzisP5HMaWOcJ2h06NAeWC0W\n5hMTElDqf+/69RugxHcCKC1F06wsYIf5pmdtsV5QFX2n3n37AQWzuHl8v00sqObn5+Poir3A6pWB\n3/Fbi4ClQWL/3NxOwHL5jWX37t0N6y0P/fxzaVFpGTBrBjweL4CqQD0A4NDxM8BsVbnw8pIzWPjo\nMPR7MfieImUUAJzypqF77144XHoGmCue082gAKidkQGUGDdMjZtmQdlZCADo2i34zmWeRADB9VK0\n/pihR48eXFmK9/2Plyvo1W8gdvwyHQDw3O9nsHXSWGDaVOOzAOacWAeYKClZtGrdGtgcussqD1bz\nTXaLFsjPbxf4vfvIKeC34OFbXFwcYKKU2nVCv76ZlTdo8JCA3EivWVoZffr0xRZlJ7DD2jIiPz8f\nZesOACvkxwuLvaXGRSEpuRb69B+I5AQv9z0KvVlYW2QMYpCYkIAT/oOA+IQEtO7SG18u2Y02bZOA\n9UaeyHr1MoGiQ+jcuTOWnSgEioxWt6mpqUBp0J06JUX93alTZ+R3aKirX/fu3YHfrecCAFhcFIe9\nR08jKTUdgDqv53buAixZDABo3LgRsFesRPp9v3iujIuLwzsr1Twv6Z8DbFyPrKwsYFehML/TDhid\nivrdkCFDgGk/c59p1KgRsGcPMjIykJnTEYDRfV+3XxT06xbZ2cC2YJ94YZEqkxa+NI77zKYSOZmw\nUcOGwP59aNOWvy42bKh+p/R0o7zWpWtXYPEilFYAHbt0BRap60xGnTpAsZFkPiEhHq279MbMo9uh\n7ZnYNj1wKjheOnfpAixbgjp16qgKKU7/BYD27dsjP68ZAGB11RZg22ZkNW8BbNXL0PTep0H9esCh\ng4a8rPDBWrHMo+09k7cXA4uN9DSycllubkfsIwexrnifabo+ffuhSUayLk913bX+9v369Uej2kmW\n6c4myKjf9gJoRv3O8l/jpvHzN9UGUGzyrOh6MYAMigOKLktURgCKomwAUApAv3M/SxGKRV8JQyJ7\n08d8ZRSgRjwAgNd/3cwtO5xoQAu3FeOV6cZ8IwHW71zjxhGZjNJg23hJofFEX8be+v++0S8kj3yz\nGpN+3oBBf1GFPlpfzjPV5JlS89xLnp9izVflJOz0AT6puYVZs5YukMx5M9ZwIomx0HiqaF6r6vA+\nYE2ypZ6x8krguMKxhOEarNzUIok9JWKlGiDznsYExxnX5ep0IYkW+JGCwgeBsW+aEfNWWXwwWTdf\nDVoZTnpKVkmsHSya163FvR4OT5ed9AG3ZxP3Z3aOFkXV4mHpzhLc/+WKsNrZ7F3owB70esiLLhxp\nHDyunwftRPSriTjuoIsqveYLv7cdDqkIeLZsOVSKDk9Ow1qBFezfZlpH1FQUBXf+eznenr0VWw+V\nctNor1npU7D9MN8yg32/QMRsznvzOGCtsHRnUKal+c7YvYIVsicGN92xtlqa9RF6zrvAiksy1ELC\nQDAaIj//oAun8R59DvrJgkLudX1ewKC/zMZnv8txdd1gERkwkC+A2RsPYdvh0kD0PCvqgkhEI65u\nLziuW20Yz57tkFFILQHQxh/9LgEqSfkPTJofAFzv//sSALMUdZT8AOAKf4S8lgDaAFgsytP/zGx/\nHvDn+b1ZGf484gCAENICQHsAhdIt4EKIF35WT+n2csJzAuLBbTWNEABX/jO4cDaunVStE4UW5leG\n60KmWnbrvvVQKWb7OV0Oaxt8qtFkuQF4C9Tv253kJ7KGHcoBJ76x3TykIqhFQHqKFD/a0VPlaPno\nFMzZrN8oypZhR4GoRjwxXufxiMi4qUUKPMWynufAvoIjzqvvFE53kVeny4WsDgeh1DkSQpACYxsH\n+Il485rFvGxdRSpABJTAHOXku4XCA7bryCnufMQqO+1WUzYy2OXvL9RtGrnBM5iLdoONLN1ZEhYP\njey7R1tYZwl5v15qjFCpwf6aFUqNwsOhE2Uor/Th+JmKsDjAZEC/3+o9lLtcDO6/rLgFWdBjWQEC\nJOciOURLfvtny4Rytgi8MRAuXxn96X9db986hYdY2FebVSEW6mcGjyTxPU/OueaDoOUtHdTHab5R\nK5ypqMKNHy/B8FfnIN4vW1VUmtchkmeA1fX23KAN0rL6uQdLhZSfj+luAL8A2ADgK0VR1hFCniWE\njPcn+wBAJiFkK4AHAUz0P7sOwFcA1gOYBuAuRVGqRHn68/o/AA/688r05y0sA8BAAKsIISsBfAfg\nTkVR+HaDLmxDtJDuLD7lCMElwCe9jSR+WKWaWcos3psPnDCchrKwKwSMeG0OTlHEsGWVVXhvTnBT\nwT/pkFNSadiw/zgWbjOa5DoOG6u5E2GKnbYCAuxv3J/9ab3lhtRJqysay3aWQFGAD/1E+XTkLF7U\nEhZ22tvnA9bvN1o+dWJI5E+VO3d6Lgt9WHXje9Njw9JCitOrvB790ui0cPTWrOiGrObh66W7sesI\nY20Wznv7n/UpimHsmymJQjA+0hcrsJCSGR+yGPHaHOtEHKzbJ2NJaK8BZDeOO4v13/Y0o2wqr/QZ\nlEmbbEajJYicsoj+fE6RL4cKtnyR5WgoiET7WclqXyzZjQe/WokuT0/HY9+tCXuTbhasgu6HPAsL\n+4FkItcXvDJH9hRE06WohjM2WAebEI3BSLy1Y+PK4oC1umFWB6eUM29GaE3XqJkqBQujdtWqmek2\nEKUNpyXMyn/y+yClgjdg8WW+HocTNdwMxaVlKA7TojWcgxPZNjaLnni2QkoToCjKzwB+Zq49Sf19\nBsClgmcnAZgkk6f/+naoUfjY69wyFEX5DMBnli/hIiSs3csXoDcdPIEr3rdvHsyDovCC6EYe5RKh\nu6etO4Bp68wnRpl8NPBMt2cxQglPCVilKCgqLUPe8zPw+uVdMaF7lukiO/ZvqsVK4UvjMG1t5KKk\n2Zkzl+/kuTvK5a/1j48XFGLyol1Y+eRIqedlqnfSImoUD1aRpiJ1ulPkj5Q1Z/NhZE+cgpkPDQGg\nKqSO2jSxt4IC4Py3rE3YOz4pF+XQSdBdnyeo0WPjlMW34vVhL2EtpGLNCcEaVn2fnT5Ollfh4nf0\nPDpOvPfcLUX4drney98sUpSVoGr1XmyNI+GyFyr4Aqr+WqT3b6K1tu2fp6Jtw1Tdtf8sFlv+8POO\nnLKIduW0cuu0C7u9nH3HWNh0m0Hmm0xdq8o5Xy/bg0vzmlmkNodZsIrRb5jzi6mWuTYseSPY9HZd\ntUWW0ZFYPd6cuQXdm2WE/DzPIisSY7c6h8bRU3xFg2kd/PdOV8TAAsGBdkhk5bJ38HiZtKzv9DdR\nFEh38mhKUgoU9Hx+hjN5SbRhOMMpxpeUiODconA/6xD5Hmsm+In84kXQ3FTYHO2fiDmDCod2KHaE\nY97JuvFE3/icz6cE2vuBL1ehYNMhaeFh4rdigmDahSMUKIoivcJ8u4KlnrP+7n1fnKkLoT15kRq5\nS5Y3JFIbBTvZOqmcYhVhdD00ZZUIb87cYsvVSGZTEAuhmnkue/R3p/sPD7xXMESMqXn6KEuwbp+A\nMXx1OH1XU2Yd5liPaFMXbxzzefqCsOpzNPfEr+sPYvcRtYxYOXE0tKli+tN5cArQ3LQ2H7S3pvPy\nDtdtSAT6+z38tXy0x0ig+GTkOKOi1U+1caUowKXvyhFjR64uNtJGrhq2eWyq8+Bi3b7juO+LldYJ\nbcApRe8JinOsOpW1oj2JuYWUilUWcgIQHXlHo+Gw+jZFpWW443NxYCidhZRg1ITzfrJGBU//WL08\nt3Yga1wg20q8PZpsG0fDSCPacBVSNRjVMTeGsryK1vC5W1RPSnZxqFIU28otJyBDai4DpwVIEdEv\nbQny5swt0gv9GZs8IHZQHbLzlNX7DAsFTXBrhhjQlzgmpC7bWRIYQxroxe2YhIWUZkW1/9gZR1xu\nb/8s9OhG4YD+rDyLGnsbGmPiOJMQxjUFRxzYNEeKMFqbu85wTqWtXNAOWyhe6YMGeo532qomFHA5\nJaq5Dlw+QgfbJlIbUNqiw0z5frKsEj+viZxVMADcyLiamb2xXaVuJFpPZhMUI/paKErs1MW2yx71\nrY+drrDt8moXTrvLW1mnhoLq/JahyPQySojsiVPw0+p9UZUnw7Veoz+t6NCHV0IsHDo6BatXeWuW\ndbCCQF4SaUa8NgdbD+nngHCUWWc7XIWUC1M4ybuhgc3y+OkKqaglTsOpk9zwhXm9xMqbiKp8iu5b\neAgRCv63faqPnFhmw6XQLsJ985s/sY7SUVGlGNyyZN8pGq4UpWWV2HjAeUG0okrBzI16987fdwRJ\n7J/+cR37iAF0T7NSWMg03XSHiE/tghaSKrinUPJ5cV32GIVUnIc4ZlFZk/DjKvOwxmYwO+ELkprb\nH59/mWZOCC+yXokVCykW7Bz1MRUNqTrKA5xTPJ4oq8RXS+y5+cli0Q65gB1//t9a3PlvsaVAJCDq\nxj6fYrvfRWLNqkmbGwX2rANiab8s0j3WlCitkVjiqlMGE/VzszpMkVRe3z15BY6fcZYWwQ7CHcML\nt1tzyvJoH1o+amDWiRiirfw6cEzMfadPJ79e/mvuDt1vVyElRvWySbuocbj/S2dMgjdTJ0UsUbJT\nlkp24dTkJ5uNaDFjZRVRZAZaKeMhRCg8sEqCSM7xiqKEpZXaL7EAVFT5DEVIm9ZG6N0Li/khmgHg\ni8W7dL9Z8mAn8cT/1gb+tiLfBwCPjSOIWOdF0cCLCmWn7nQbamAVUvFeD3azhN8uTGH2CaLRt3gu\nw9UN3lvPYObrxZKKl1DBixx2+XvOuWh9vWyPY3mFgrlbjK6oVpjAcKfZhUjp1O3Z6Th+xp4VSySG\nhlO8KdWBKTYtUSLp2vLk/6wPeWjUFMWTCJGwkNLk7OpomgpB/Z3iubxrcvUqumkIOaSquR48qLxv\nNbvvA/J99IWfN+KCrk2k0rL7Ptm5LZRIvjUdroWUC1No/BvhYtTrYiLLaGmCq3tP9LcZfCswEQkv\njSqfghkbghsXQmJDYVAdVaisMpKcyvt6R6aCrOvc2Qizlov2SRZduhWpeShgXfbivZ6oKc5rKuZt\nFY8R9tTwXMYnC3dWa3l3fG50sy0KM+pQLCEa78Kzkp66Zr9tZRQQGxvMaEB771emb7b3XAQbjOXU\nizVsPyw+GAsFkbGQUv+vDpGBdaV1GvO3VkPkagHONosZnvI20uPNqg9GggPuBLMGyH5FO8Gyzha4\nCqkajNidnuwN6mhNtNWt0PlgntwmjOuypyj4gnKF8BASEy4oojZ8Y4Y9odIMFVXGcOSybx4DTRRT\nsHXybJLYpwBr9xotLaoLdNV4fTDc7+5hFFKJcZ6IuC9XJ8Z1blyt5fHIzDWs26daydZwg4KwEUl+\nv5qKmtgleGvxH0N0G4y2sj8WYEc2i6XWErl1r9pjTZgdCpzewEeCZ8/tzs5ANCbW7+NHQq9OEBDb\n33lHkVGZyipvqhtfLpV3N5edp9nvJm0hdQ4qpFyXvRqMs2Wij9ZGL9IKqQXb5KxobmOIoXnVYol+\nPZ4YIekVXH9DYA0WCniuNi9N3Sj1rJOuKGcD7ChqzJJW+nxRNV+3gtObusMnyjDuzXmO5lndkOXK\ncFF94AnlLmoenJQlYmBZjwpoReSn1Ww16BQOCZTwK3ZFRiHlNKoiYCK1xU/qHGluvFiFU4cOomlh\nSxQCQrHwKYrtiJS8KL+RBksXUx04cjI03rFz0SLftZBy4RhC3QRGy4ol0oLf9R8uDuk5GeFWJTW3\nzivS0YZ8ihKV8KSyG7l1MXB6FEu4lSG8N4NZN6zyKVwCzOrCGSrKIq+a4c4p7LsvLowsr8+5inNt\n882ukTx303MdCXE1Tyx18jPGgit+NBCqtc/vEmTNLuTgVKAfGj+tPrcPQnpPcoa/7R8F2xzJJxJQ\nEBsH5NUJ2dfdwCjBZIdYedW5Zz1d81Z+FwHEmmn3wm01SzDYHuHT6VA13DICKZF02Yt0tKEY64Iu\nHITZ/FLpU3AyivwaT31vTjYbrhtwNJSs5yJEEfHOVny2cCfKKoJWCCIS3nMZdk/aYwFOus+7bub2\nMHnRLutELqRABx9y4QxC4ZGraTh+ugIrd9cMK0CnEOmDA9dlz0WNQqzJLSfLVY1uLGsGbdu1AAAg\nAElEQVTyawJkBFIPiQ2SQ0VRdEqpdg3TolcZF46isFgcVa7L09OrsSZG0PxVPLkgbGEh+kPLxVmI\nb1fs1Vl0uBZSRsSShZCsosnJOn9tg8fEhfMg5Nw9aPtqaXQjZLqomdh44NxTZIa6/5ImNT8HZQPX\nQqoGI5YENyAYmYqOBuciMlBd9qL//WOgCi7OQVjxJoTrenDX5OWuTspFRECfmJsRv5+riKU1RXYe\ncfJw6FyzGgwHw14pcDS/h0e3cw/VXLhwYYkVIVqE0fa/X97WV5iue7OMkPKvyXAVUjUZMSS4AYDX\nU/NM7WsqPCQ2FJI+Rb+B2HTwBJ77aX30KhQD+HHVvmhX4ZwCbxSs2FUSVp4lUeTHcnF2o5RydY3l\nwADRQiysaxpkFU2xVOdzCU7TLtRNSXDlWBcuXFgi1MOknDpBtUufVpkofGmc7n7PFnXwzR/7oVnd\nWmHVrybCVUjVYMSaCBTnLuTVBkIIIhAQxTZ4XDsfzNsRhZrEDlbtOWadyIVj4HFd3T15Rdj5xoJL\nrIvo4jYbQQBcOINYUu7IEvW6c0X1o35aYkTydRVSLly4iBSappqrXe4b3gY9W9StptrEFlyFVA1G\nDMltANyFvDoRKxZSmw6ciDnFqAsXLlw4genrXffz6kYs6XaqJHk8zkG6j6jDSSJ5DQQ1k1TfhQsX\nNQOu0kUMt21qMGJBIUFj/rZi7D4iJkLmwVVihYZ5W4qw7bA5j46TuK5fC+71qWsPVFsdXLhw4cLF\n2Y3FO45EuwoBVEpGQYyEcsSFOSIVZt6VSV24cBEpEBOFd7O6yeje/NzjjtLgKqRqMGJNBHpz5hYM\ntUky6S7+oeFkeRW+Xb632spr0yBVeI/nMuXCRXXB7X4uoo3nL+oU7Sq4iACOSBKMx9rh4LmASLhJ\nEqJan7tw4cJFdWPuI8OQlhQf7WpEDa5CqgYjFhUBdqNbubxTNQPJCXHRroILFy5cxCRcN5+zE6/9\nulkqncshVf2IlFWaO5ZduHARKbhbXjFchVQNRuVZQFzgdRf/GoGkePFUUfN7oYuaDB6xvgsX1QlX\nyDw7IeuS7lpIVT8qIsIhRVyr/TDRO/vcJGR2EX3cN7xNtKtgCXd2EcNVSNVgPPXDumhXIWx43MW/\nRiA53hvSc2aufi5cOIH5W4ujXQUX5zgSTRT2Ls5+LCksiXYVzjmUV0YmzLCrkAoP8XFu+7mIDuqm\nJES7CpZwbTDEcKWoGoy9R09HuwphI97rjs6agOQEsULqVHml8J57buzChYuzHaEq7F24cBFDcMVR\nFy5qLGqCMjn2axg9uAqpGoxW9VOiXYWwkeA174Lf3tm/mmriwgyJceLv9MCXq4T3ouGSadWnXLhw\n4cJJJLoKKRcuXLhw4SJqqAmcxMfLFUy5dyD+dkW3aFcl5uDu3GowRnZsGO0qhI14E0UHAOREwOXr\nkTHtHM/zbEeoRJ/RME+V4RS6sFuTsMvp1uzcDc/qIjRMu39QxMu4uEdWxMuIFMbkNop2FUJCogNK\n8HFdGjtQExcuXISK2N/Oxj5cOrWai79e0sWRfAbm1HMkH7uIJQsp0d5nYNM45DapjQu7Na3eCtUA\nuAqpGoxIRRmpTkTDmuXO/JxqL7Omg6eQenBk2yjUxBk4sWxd1ae5A7m4OJfQNCM54mWkJtZca50O\njdOjXYWQEOfAOpYeoXDPqYluhFQXZz8SLA43ZaDAqFAZ1r5B2PnaxYgO0TtsHt81vMO62snnbtj6\nmo5Bbeo7kk/rCHjvpCVZr2NxMUQBI1LMNqjlql1EcFumBqMqMpyO1Yp4C0E+dqaXyKFXdp1oV8ES\nPG2/jAAYjRDKMid0oiSX9JS3LqkJ5sE1AbVM+MnM0K5hmsM1iTys5jsnQGowa2ZN9bZNcUAJGKnP\nNutPQyKTcZSw8bkx0a6CixiEUzxurIV1ZlSIkqN32JwqsfE3w4t/6OxQTVxUN5wSaR8b18GZjGzC\n64ltAaJ3SzcCpRmkvh4hZAwhZBMhZCshZCLnfiIh5Ev//UWEkGzq3qP+65sIIaOt8iSEtPTnsdWf\nZ4JZGYSQkYSQZYSQNf7/h4XaGDUNZ0OoYSuXvXMBNWEDyVMsySxeobzaqqdG2X8oBGTUMp7k3TGk\ntTB9vdRE3W+vh7jh3h3Aa5eF5kvfrpGrkOKhBkwnQrBRV50YX+9f2zOs+1b487gOjkT3idRnq5UQ\nexZSNw7IDvnZJJevK6YQjYMZnmuvE3yjBICPOeiNhhtQTbVq7JTpRUat2I905oIPJ/YiE7o3RWJc\nBOZoie2uGddtNHHHkNZY+8xofHV7v2hXJaZh+fUIIV4AfwcwFkBHAFcSQjoyyW4GUKIoSg6A1wG8\n7H+2I4ArAOQCGAPgHUKI1yLPlwG87s+rxJ+3sAwARQAuUBSlM4DrAXxmrwlqLqpsuOw5cXoUCXeT\nK3s1M71PT5BdzwLOnlsGtjRcqwn7R3ad6tA4Xcr6SUuTVScZK58cKUz35pXdA3+Ha/ItMyp8CnD3\nUKPrppnsqTAKYFUhZd0GMgJtvdRzV4hLjDcuQ5kpCeiaVdv0uWv6tgi5zGhZV7F9IT3M02gAuCxP\nb9Wn9UlWgVoT4YQyxWpzFy5PYY8WdUAEs/iQtvIuEJFSVsbi+nI29M1II1xFaXUhJQrKE96a2rp+\natgWCOkc2YNVklcHnrmwU7WXqSGUtxVFy3bCjfJsw4CczGhXQQg7Xb1BmnEOf/niznjuosj0XRm5\nvk6MKkMnjm1fY5XM1QmZ2aI3gK2KomxXFKUcwBcALmTSXAjgE//f/wUwnKiahAsBfKEoSpmiKDsA\nbPXnx83T/8wwfx7w53mRWRmKoqxQFGWf//o6AMmEkHNC2qmyYSEV7pr6woTO+O4uZyPe/eXiLmiQ\nLvepvB6CLk3NN6jRwuV5zXCFQLHWhtnstOZsfmqCRQO74erWrLbUaYqWJDUxznBy9s0fg/2pDsda\nKVSwiiM7MHsn1iKRwDmF1M/3RZ7sOhoQjQsaBMYxQAhBv9bmxJjhzGn1OcJUNNCynp5rYVQIgSpY\nIUxrlvSkuBqn6GSHbjhjWQNP4UkjVLdibVx7COHO4Rm14qU5sf48rkPEzPlj0ZJa1uqkU1Pz9vvs\n5t5OVCciqJ+WiEkTQtucDWvfAKOiRPB/6yD9oVkfi375zPjcSFaHC9GQpaP6srKXDEZ1bIjDpWXC\nPFk4YZEx9b5BKPhTvu5aJHiYrDbE1/UL/YAnMMUwTRXKehYNsIc6kUTD9KRqK8su7KyFFRzOmMt7\nNY+Y4kVmHRMpRu0gyUJecBE5yPScpgB2U7/3AOgjSqMoSiUh5BiATP/135lnNWp5Xp6ZAI4qilLJ\nSS8qo4jK52IAyxVF0a8oAAghtwG4DQAaNmyIgoIC05euCdiz1/CaQlRVVYVVVnzxVqxftj2sPFjU\nK92KDTvFRFhXtEvAvLlz1R+Kgv379oZd5p/ykkL+9hmJBEfLjJPi2HpHUHTahy84z9zQtgqPHwr+\n3rp5kyHN0aNHQ6pPdWLZsqW63/v378fGwn2C1EGcOHECAHDy5EkUFBSgVW0Pth9Tv/n2dSsC6Vav\nWh34O9yxKbP/OnjwILaVFRmuL1m8SPhMeUWF7veqteugKOZEbo/1ScKrS89Y1mf9st8t0/xlcDIe\n+e20ZbpYAjlx0DLNmtWr4QVQSV1rlFiJPbt3mT63YsUK0/tmKCk5EvKzIuRmerCu2NgfOmZ6sN5/\nne3bSlkpAKBOIkFJmYKrmpdi+np75e7cpW+nk0XqPDmiSSXm7K6EsZcHMSEnHt9trTBJET4mDUzG\n4/Pk+u327fo15mR5eOsWAKxdZd5PFpuMeTNoyrKVy5ehMNEoCFdUVKBwp3kf1pBTtQsrNlRaJwwB\nv82dJ7z35tBaeO730zh8unqVVju2y8kSWfGnsZa5Ro+hA1vWOFcphzE6S0HdE6HJTAMzjkdNRt29\ne4/u94gGp7Bohzj9zq0b0L2BFysOhT9WZVF0+JDhWkFBAY4fC84zJ0+etJ3vnDlzsPeI/jkzuVNR\nfLi8XQK+3FRuuywNBzctx6kK/fhjv/1V7RMweWPoZQDAXwYm4M6Z4jlm3171Pffts5brWKTEA8fK\ngDpxlbq6d0suwU+2c6t+dE4sxlfVVNahg9YyUbQwf/586bSny4xyQyTnrEqLPWyjFIIVK5aHlHdW\nKsGeUnUMPtIzAc/+bi2z2wHdLqWlpcJ2Ohv0EuHgrLEhI4TkQnXj4xLQKIryPoD3ASAvL0/Jz8+v\nvspFCFMOrwL26IWHly/ujFPlVXjmR/2uJj4+DmeqQhd48wcNUK0Kpk0JOQ8Ww4YORcr2YmCpcTPe\nNCMZL904DKfKK4EZv8DjIWjerBmwy0QyksDdlwxX/xC8x5W9m6FXdl08+NUqw73pDw1D7xdmGq7n\n5+dj39HTwJxZhntXnz8Mc0uWYdq6AwCABy8dig/W/qJLUyejDnCkWFjnd6/pgTs+D22idQp9evfC\nl7nluPx99Vs1btwEVSWngENm212gdno6cOwoUlNTkZ8/CNOKV2P7ElUXPWhAf+A3tT27dO0CLF0M\nQG3PcPoZIXqlVINaBIdO6QW++vUboE2LOsDG4Di5vl8L9O3TCvhtNjdfrzcOqAiOoZw27RC/cR0q\nmE1zSoI3sJG+bcJwvLXqF5SZjL2eLeogP7+/5Ttfdt4wXHYekD3RuTEYSUya0AlX9W6OS3aV4OJ/\nLBSm69atK+JXL0NlRbAd/3PPcPzzt+3A9q3C5zp37QYsslbk8ZCZmQkUH9Zda5CWiEMn5JX8LOrW\nrQsUG8dDw3qZWO8vi+3bH98xDJMX7cQf83NQ6fOp3As2+37TrGZAYXBezG3fFoU3qKfdd54qx00f\nL8HyXUGl979v6YOr/6UqYV6/ZRS+i3B/uvr8YeiZdxwHjp3BDR8tMU2bnd0S2LLZ0fIH9O0NLPiN\ne++HuwcgIzlBOObNQPwTTV5enmrpW6BfG7zeOOS0bAEUqn34f3cNwEV/5wv8+fn5GORTUJG+Ce8U\nbLNdFwB47bKu3HVr5NAhwMyp3GfGjx6KV1fPBk6fCqnMUNEmpzWwaYNluqZZWbq+DejHUL9+fUP6\ndk6CXW80tG/XFoO7NwVm/GK8aYGePXuqFAUOyluyaN68GVAYVKT16NEdWCSevy8dOQBrvl8HHKq+\njXaTRo2A/XpFUX5+Pj7YtigwB6enpWLfyRO28s3Pz4d39i9AZXC9btYsC9hVyE1PiAetW7cCNm20\n9wJMmaVllcDMX3TX6G9/7eg+mLxxbshlAMDAQQOBmdOF94fndcCMXWswtk9HzN69WpiOxQ39s3Hn\n0NZYuesocGCDru59e+cBi8QKcRZdm2Xg1Uu7YMRr/Pk6UhjSvy8wnz+PPDiyLV771bk1qXGjRsDe\nPdYJqxkPjWyLQf2zgVniPkKjXnoy9pToD5p0+2qbc1f/1plYsE3dB/3fmPYor/Th9RnBdvd4PECV\nD9f3a4EZGw5h71F92b8+PBI7ik4CC+WVahpSUlKBUnWuyMvrCfxuPw8e2jVMQ+sGKcjPD7pfFxQU\nwKB/8LfV2aCXCAcytml7AdB+F1n+a9w0hJA4ALUBFJs8K7peDCDDnwdblqgMEEKyAHwH4DpFUUKT\n5mogeC57DdKTkN/OGKY2XEPGSEUaocNld2+egev9ZsMsPxYBcTQCU6t6/LCkz13YCX/okYXJt7JG\ngOahvc0sXZ+nzPZTEuMwmOEVET17bd8W+OaP/TGmU2NsfG4MXrm0q7iQCINAz6VQ5fNJmfdqSbSU\ndB5xXoI/jWoLIDwSzxv6Z+t+s6Pi+o5G9ywFioHf4PFxHU2/I0vZVlZZxW2Dtc+M1v3W3FM+vrEX\nN99mdexxsy2YOAyD2pi7s4UC0Zgww1SBq+GkCZ1wdZ8WIISgjQVfEwExhOtNS4q3dAk9UyF3Is9z\nm+Ll3K1ZBmY8OFgqTx5E40HEo1EvNRF1UxJw97A28HpIyESgrCk77eaWUSvBEMq5U5Pqd31u3ygd\nvbLrwkPMOTQiYadj1q65TWqH7DKthaH2eoiQQ4o2/29vQcLv9RA8Mqa9aZotk8YK7/HIvgtfGmfJ\n48LWvPClcabpnYCsa4gVrxadzy/32x+78V4SNjemyKWLkNDdQWPLyVL8DhPHtkeTCHCLWkHE60S3\nd6hu2cb5VJxWUfj3J441H8caPr1JdTm18mB1IlqxleV4v1aZ+O3hofhD96bmCRk8PT4XDdKSMCq3\nERKYddwuv1iVz4ecBtXP75iUEJxnujFctTyuUTPQ7n9X9jZSFhAC/PbwUJs11CPLpszIwz+vy0Ph\nS+Pw2mXqvuKmgS1t0SC8fHGXsOtAo7QsqASO9xplwl7ZquswIcTg8l340jikJcWHPE4qqEgGTkYG\n/+WBwXjn6prBBRgLkNniLwHQxh/9LgEqSfkPTJofoBKKA8AlAGYpqlT8A4Ar/BHyWgJoA2CxKE//\nM7P9ecCf5/dmZRBCMgBMATBRURRn1Jo1BD4OqXlllcIVH0IhZhzXuTH+dV0eru3bImLEjnSEltG5\njfDoeWq40LuGqtHONEGfEPN3ePEPnW0J0g+MbMu9rm2C+3P4a8yaQLQhUZ/T32N5UUTz36PntUfP\nFnUAqJuNS3pmIbeJfnN9+5BW4ko5CEL0fEmVPkVqI6c9o6Wl2zDe48FdQ3Pw0z0DDUKAHTzNcFi8\nOKGzTmHDk8N8PiP3TkKcx0Ihpc+prNLHTc8qUrQ2aFVPz2nx9R1qxI2BbeSJjwGgSUaylEDC2wAn\nmG3wQhjiIo4ceiNpFYWJEP7G04xn5r1re+JMhdE9jre5nHrfIPx8r15xxsu60qeA1wh3D83BbIbj\ngwdR3xEpRETKL5GSTwR2o8EuC4b5JkoUCSmJcdj+4jhc2E284YkE3ZEZh5SHhMbhV/jSOMT5Q0yL\nOKSAoJJofNcm0oLuj3cPFN4zU9DUACrCAGQ5pNgNLgu6SUOJutmhcTrGd2ti+zkaZnJJqHsbOwFr\nNOT5ZYVwwVZZZk2Ufc9VT4YXQVfjORIpAel+dRMngAyN3CbpOh5LDewc1L+1OQk170slSXJLaYeT\nVnODE3tkGT6+5pm1pCOtNc1IxuLHh5umybTJYVhZFR1VbKI3uEazB4d29j5xHoI/nx+M+XVVbyMv\nFwFB88xaIdQyCCcjP/6hRxYKXxqHlMQ4W8qYATnmh6JPnM/GPjPH7iNBK12fohj6q2ZoQYjzkS/L\nKFkyGpy+q54ahdVPV0908ViG5azp53O6G8AvADYA+EpRlHWEkGcJIeP9yT4AkEkI2QrgQQAT/c+u\nA/AVgPUApgG4S1GUKlGe/rz+D8CD/rwy/XkLy/DnkwPgSULISv8/o4nQWQje3C0SZLQxxhJWAsB/\nbu3LfcbrIRjRsSE3asJHN/ZyZOCyE0tSvBeFL43Dtf2yAaiWLID1aeOVvZvbKleUl9krmS3UZm3B\nzp2sYoNVVGjgTbqTb9F/q1EdjcSn14YRfUwED9G/R5VPkVq8JjCnbZkpwVPLOC8BIQSdmsoRpMsi\nu14K3rm6B3WFPyZ40bXoerCWBex38ymK1MLIKuU09Mqui1VPjsIlPe0TarKhqTXQVk50vi9M6AwA\nGNJOrPwqr/RxBXQRWviFKp5ihX5VXhs9dUFHXdpaCUaljWjzPXFse4zObYSySqOFVAtG0OvsD4TQ\nkVHk8vpbRRVfwZiWFGcgH+dBRHCbEOfBvcNUxWvgmtcjDI9tZUnDgtcvabDk8KGONHrD++41kTn1\nUyJgG2JmIUUICSiWRGAtMINQ6+r18NtUAXBZr2YY26kRnji/o/Tpc2eL6JIimE2hb1/VXWgJRI+F\nzc+LLbCcxGV51sEOAOCWweYHLuGeZqckxHEP9uxApBxRlNDrZ5eI/oUJnW1ZBPEiZJlhHWP1q8Gu\nArm2Q8FL2CGrWfXQ7T2U4ylA48rezQMHfjTYOWhUbiOsfnoUmtU1jh/R+p/MWc809M62H7zA9CBJ\nEmF2cx1+e3gopj8wGA3SzAm602xbSEVHIUVb42TUSgh4athFrQSv7gAuPo7gz+M66NLwlhveod2/\nrssTlmNGtB8OnLQOumlAtq30w9oHCfB9HMtDrY0S47zCcRdq9U+cCfJhWckDkUDt5HikJzkfyKCm\nQarlFUX5WVGUtoqitFYUZZL/2pOKovzg//uMoiiXKoqSoyhKb0VRtlPPTvI/105RlKlmefqvb/fn\nkePPs8ysDEVRnlcUJUVRlG7UPyPj4VkIWpAa3l5dfH2Kwl0MtYmGJ0CIBGXeJHl9vxa4fXArDG3X\nADteDN+0n14IeHXTrhGQwCQcaiSFZMqlQbS+21EsyT7HWk+xyoTHx3XAPcNykJYYp4uuEs+ZGFmB\njhcRwglzXhasmWylj2+JR2NQm3ro4t9cae1zF2X+zCp8pt43CJNvMbpKahjXuTEeHt1Oqr70wspb\nZBUoaNcozWCNQn9j9ilaVrqmb3Nc07eF1AJO56kpwTRTfZ6A/vO9gyxPSx4axbfwe+EPnQN/0+Mp\nw18OK8i8eWX3wN9nKnwBBY4MtLxoE/uuHEs33gJPj0VRRxIpArTrPJe9v1JurVf2bo4f7+Fbm9Df\nZEQHde4UWZemJomF6tG5DQN9sq7ArTkhzoMHR7VDJ3/brn56FJY/OVKYp5VydkQHfeSi24e01v3O\nYPpUv9aZ2Pz8WNwxpDUm39JHmL+VFdjnt/TB8idGovClcRjTyagIp60SX5jQGW0apOLlizsb0pmB\ntwbIjnkRrCz0rNaTxrXNN12qhVQwjzkP56t/KEB6Ujz+cU1P1E9LdFTYt4vzuzTB/SPacO/RtdLa\n4n93DQhcy7Zxmi9rsWu2YadhJaQTqCfxrBu8DG4ckI3XL+8WUhRCWkEt6l/lAgtaGdjdmGemJtgq\na+ZDQ4TWLTyLEJHrlWwUzHYN0yytaWho1sMisGNJo0Ww0wZaX2fL4jV9OuUORCt24zyEO2dd3CML\nj53Hd9u71O/S1Y5yZbeaG9KS4jCWM+fagdU8JwiUx0XzzFpS7niEGBUyAPDRDUErJNoNWbbf/+2K\nblLpZKHtQ7SxfG2ICinWk4CA6A4G0xLjcD1HrrE7T0TKY8WqHnaiP4rkjAdG8GXX+4a3CVhA+hQF\nf2AOaq/o3Qy3D2mFe4bl4FLBIS7Pbd0MLTJrYXDb+jhBuQua6X7/0MPanXVY+3PCHiYicOMb1mDQ\nk7c2oVb5FG5YUW1u4PFO0YqGx88LLh6NOIL4Mxd2CrjVOQF6g8w7HQ8skiQ4CctosMd1bowbKQ39\n36/qgVVPBTf5Xok8HjuvPdo2DFrRmAkNPJc9TUhmXWTY90yK9+KhUe2w5pnRujrKLDqJcV68f62c\ntUI4IeA9jIVaz+Z1LDfOFVU+nUIRUDfnWyaNxZLHRxgsYDo0Tkd/EzPgiWPb42YLM3wNdJ9uX9dj\ncNnShg7rckZ/R3ajku5XTGTVScbzF3VGrYS4gGKje3NVEcOWw9bl+7sGYNFjw7kbqG0vnIcdL56H\njk3SLTdiDQShg2lLI7qflVeqWlBWCRhP1e1MRZUtwYi3qWzt36gRnULQ/FkCvlCfnODFPcOM/A1a\nvxmd2wgdme+ntwIxE27VSr13bU/c4VfoeDxGIeqhkW1xud+ag1UEASrvRne/Em5IW70gkuJ/x3Gd\nG+uupyfFh8yZ9tENvfAeM96bZiTjmr6qhWi3Zhm4sKtRaEqI82Di2Pbon1Mv0MPZDQq9yW5VLwU9\nmmfo3KCT4r1cpdujfr4Uuu2u6tMcvz44BJf34liumnwWMwu+UGFlxUiPCV7/562ZNDxEP/vXESgm\nI6mP6ppVGxUW7i5CJRCthPdXknah/v7ugVwrzmZ1kw0WEP1ambs30fj+rgFh8yKmJcXj5oEtAwp+\nO3jqglw0qp0ETvRyLv7YNWhVRCti6HV6XJfgWC8tqwzZksGO1db71/bEqI4NbVkZpyXFo0FaEv59\nSx/8dM9A3Rx9cQ95i12Zaq57ZjR+vGegpTUNjexMvkWqVk32VZP8VpDsUGXXu79fFbSc1uTIXtl1\n8bcrugUOp0RKNu1b1kkJrs1eL+HKrXFeD24b3NpwnUYn6vDHStRL8yu27fA75TRIxfQHBuO/d/TD\n/+4agDRJCwyrbrTVhMeOh1sGGZXU/Sg3SFoOrJTs9xd2axpY+5+9MJfr+WEH8R4Pvr6jH357ZCgA\no6x/Qdcm6CppuUorqFn3sjXPjEb7Rmq9f7x7YOAdePuHBunB+WZEh4YBeQKInIWUWbZf3tYXix4b\njsWPDceSx0eEXMadQ/njIj6OoIV/3GckJxgsehPjvHh0bAekJMbhtsGtuNa8GTYUZoA6H3x6U29c\n3Scop/D2hprs36JucF7ieQ4BwIc39MK71/TAl7fxPY9ciOEqpGowaEFZm9R5p32vXtoV2lLOtZCi\nJkzNGiAhzoP7BZpsJ0FP1j2ac8yn/RX2EIIlO9RQ7aclyIwvycvSuYvFe4lOOBFbSAXrc9vg1pj+\nwJDAb1OFlP8WfYLw1hXduc85aZWcFO8xKlWYamrm+fcN55+QA9BNyDx4mJOfGyXMcS/o2kSnUNQQ\n7/WERDjK67s8NxTClOchxOCyRed1Td/m+IffxY9ei9jTun/43ZTovDUh771reqLwpXGGcrTyNaQk\nxnEVxoCfHNmEINcKXo/eiq0FJdRr1kRJ8R4sfHQY+rZS3QboN7xlUEtbVhw8NzveKSv7Tjf0z8YF\nXZqgjt+Sp9LnE24CeIo57RUzaiVgyr1ivh3WElHnJujPQ1HUeeeOIa3xyqVddfVu3ygN9wxvEwhm\n8K/rjSb0FVUK+ufUw6LHhuushibf2gfzJw5D4UvjLLkW7CA5QWyuDqgneFaKbO3dzfKZ9ad8fHvn\nAOF9Gm1tuhiaueXx1oBwwXvPO/NbB5Qh9IbolUuMCpIqC0WPOm6N19mnRGM73yQXHKkAACAASURB\nVAElnIKg0lmEZMHpcV8LJVLt5HidNYeGuY8MM/D0+BQFzevKWVR1bZaBwW1DGxv3DMtB04xkaUsr\nM4sKWma6e2iO8ICnWwNa2R8E3b9oC9OMWvG6sfjchUGuQ57LK334ZaUE1TCqY0OMym1ksMyQxYCc\neujUtLbukC85wYtnqbpmmZCWa2ukWckpiXFcYn12/aDdrUWvkpmqyg1NM2rhFqrvBdtZrc+Tfv6a\ntU/rXQ3rUNajtHX+hd2aBuQouul1FtPavElVTmQhZRf0t+Otq1aBCVg8d1EnzHhwCNo2TENedl1b\nHJ2EEKx8ciSevsDIAfTo2PamwX1kIbIqfP8668NVzc1Sa/Yezevg8XEd0akpn89SBh4PQa/sugGC\nfvaTvnVld3xvwu2ngRBVGalZwhOID9A7Z9VGQ7/SibdGdckKfrPnLsrFumfHBH5PkLDUYbH4seG6\ndud9AxG9BKD2waR4LxqkJwXk91/uH2w7mIRonorzeHBD/2z89ZIuuLyXegio8bd9dbveipEQwh0T\n6TYVUtrc/+z4oHKJp+zTFKhVlFA53MQSakynxuhj43DGhQpXIVWDQZ+iaUI1z+T14p5ZSE5gLCOo\nxZg3QUzo1lRqEfzmj/1MzeWbZiQHtMs8aALGTQNacgVjjf/jun4tsPVwqWV9NBDoBQsR0bQdmLvl\nafkGr2nuWOy8T2++L+QQqtox+UyM8woXj0CaeI+Ol4tX3p9GtbPkydEm73qpiSCE6IRWFlsmjcVV\nFK+X3db+Y77xFMWnGHmrRG5GvO9LRz+hRY7nL+qMsX4rFtpNMrteCnplBzfImrBCk6F/elNvPDKm\nnamCTcsyFNcQAPjwhjwUWLhTzZ84DNteOE+3uR6dG1SQlPk3q4lxXjSunRxQnBIgQJR//4i2tr4T\nax5Nu9iZjZXr+2fD4yEB5cPJsiqdALhg4jDTcumxzNvkPzJGdfFiFR83DghuYGi7TI+HYOLY9mhc\nO1lXb83qjQZ7Equd6LJKxv6t6wk5ouyANZEXcifY+HLaGhGpU9ZGAoVrqKCreUFXMQH1W5T7qYYn\nzu/Ifc8J3ZsGrH7oMdO4dhL+y7jwWJ3aE6Jv/8DWmDPe/3qJMTLRxzfat+7hocLC1EekkHr6Av48\n/p9b+wbcbXiu4Tz4fLCcq2jY6bc0HhrVDvMt5gka9OaOBS0ztWmYilG5jSzdy+hP6/UQ5DRIxR96\nNMW1fVvgkp5Z+MslXXB1H73bD73+0tYPGqY/MCTAU2TlujRxbHtsf+E8nbUkPTWIXK8vz2vGJRan\n98xexgWVtcalXVgPl5aZ1tMM66kNNgBc0CU4tlMS+DLjBV2b4O2ruuO2wa105NEatO/SzK8UpeWg\nD2/I0x0GiniZtCSf39xH18eCm3V6U+/MFoqeok6V6w9cZcfTpAmdAmP8YgmFBauQYKOzxnPkf9Y9\nPFSIlFqa9ZAZWJ5Lre1Ec8nrl3fFd3eKuTFpRbCGcMnVtbZkLaRY/OWSrrh/RBsDlxkboIm1qLbL\nE/vTPQPRID1JJxfXSzXOQWazcRpnH9euUZpUMIlXKUtYURnageqlec0CbTb51r4ofGkcereU412L\n93rwxPkduets+0ZpAS5VDdp8QB8ceDmurbX88xEtC9Dj58MbxHxfLuThKqRqMOjFQZtoWOF5x4vn\nAQA+vakP7h3eJrBxvrZvdiBNOBuTni3q4o8mi1TTjGR8fYdxMZj1kGp5VDs5HmufGc31MwdUgWL7\nC+fh4dHtdALE4+d14E6oGgghulNG9g3ZRaIHZ/PJwtxCym+BBvUUjo7Mwi6UtOk0L8d3r+lpGo2G\ndltLjPdw60UrAa30IK9c2hV1UhK47mYA0LtlXdRPSwxYWj1xvvqtzMI9x3s9IIQENjIiFzMR/s8i\n/LkGntKUEMLt02Mp1ylRm9BCWILXg6/v6I+VT47E4seGo2lGMp67MBf/pMgmm9WthTvzcwyKkc9v\n7hOwyNHqEqpl3LD2DXXWTjxolmIaf9jrl+stPTQCcI14++aBrdAlqzYGtKmHb+/sjzV+zirtNZpY\n8OYA0AlRhS+Nw9Pjc3WCmAhaHTQB51R5ZUBZ9/nNfXT9KhSS60y/y5RZvxdx6tFjtRZnU8R+5/Tk\n0FzvZEErRAGgwsIKRgbamLlCMhDEP67ugY+YyEMA8MPdAwKWCBqm3jcIP0tGCeRZ3Zjh9iGtuEon\nDTx3vw6N07gWY0k6PsHg/f459ZCXXVdHQE8rB/q0rGuwyvN6CNftrTqhKEC5hUIqSWBNlBDnwTd/\n7G8Q4vu1zgy42yQKlFmskr1KUSwt9Ob63WLMUC81QUikHQoS4jzCvkPLCdqfPPcy+q3euKJbYEy8\nc3UPzHhwCF67rBtSEuPwyqVdcRm1qeKBVrjcPTQnsMl+7bJuqJXg5Vq0aAErBretjzuGtIaHsail\nS/vy9r6Y+dAQsKhdK57LW0grVjwecxeyZy8MWhPwZL/eLevimfG5+PbO/vjEwpXys5vV+63qpwSU\ndM+Mz9VZvjVIS9RZT53fpUmgbdlNsvYl6frf0D8bH93QC8PaN9R965EdjS7YQFCZ0KNFBhrXDq5F\n2ppB5/34uA6mPFo/cTgMeanp73gX49KULRFQA1DnU83DQUbRu/WF80zvh6ostkI4lkxm4E27Izs2\nxITuWehOWd5ufG6MLvgL7QWhwYw3kgXNFaa301OvaIoLHu9R/bREKU8Udi6xe6AecA+lHmtRz2jJ\n6vUQeAgM6zqg5wqVxfQHBuPpCzri4p5ZAblMVHWnaLFuHtgSl+Y1wxuXd9O5ck8c2x5X9WmOSROC\n8xdP8e8lBG9cHrSofWZ8bkBeoNPT69xgf6RsXuADF/KIrDTtIqKgtcaaroblHtAWupb1UvDgyLb4\n++ytAPShsHmHPHbmu0pRyC+oAitv0LeqHzyVsOJT0QY+HcXq1sGt8Ov6gygSnNARmPMwtGU2Q+9f\nl8clSaZBKz8uy8vCV0v36MoDVIF25VN6ZRLbln+9pAuu/WAx1u8/zhVOEuI8ptZpT5zfER/M2wFA\n5U44SSp19wmITvlhtjFf9ucRAV4YXj8Yk9sI7/pPYZPivdjx4nk64alV/RRsP3xSmH/7Rul49dKu\nGCEQ/mRx99AcQwQ1M1j1X1GT8MyYaUsXkZUZi4Ft6mGgn+RZEx6qI4JMrYQ4w+kaDU3Q6t2yLn6g\nTNA1S0RCCD67uTdyGqSi34uzTMu6d5jRBVR7RTNhVhvHtfzj/mR5VaCPspEPQ2kyrWxTBinCz59W\ngPH4COh+9cqlXQ1RJJ3GCxM641/XJ+Gmj5dg1sZDhtPzUJAY58XG58ZwLQQWPz7cEExhLMOBpaFL\nVga6ZGXgwLEzAIArejUzuA/zoH3rrs1qY9PBE5bpZTdG9Ca/U9N0rN17XJzWYs2h+V3oTexfL+lq\nCNmtkpr762pj3klNjNMRwfPQtVkGVu0+ap4p1H5r5bLHRoGkT9l7tqjDjTimIV9gBc3mKXO41ayu\n2DXr90eHo++LM/HM+E5SpMmyqBXvDQTYYEErFGSsWBvXTgpYd5rNtRqa162FXVRIcwA6q4I/UaT9\nvbLrGiyHAJW/pbSsEjd/slSoAGHJlHmbVlEkUHrDmxzvRacmYr4crY1GdmwY+JZ0jVj3GhZD29XH\njiJVZgi4SCnANX1aIDMl0UDerQC4pEcWXv11s4HDbuZDQ1BcWm6oG/3qT48PWgBqm+LbBrcSWulo\na4JBCeDRFFLq/4+MaYcLujbBWzO3AFCt0tbsPaZ7xiyaoWioPDxa7jCORV52XXx1ez/M3nhI2pXV\nDJHSq99EWSpbYXDb+vht8+GQy6LnuASvBwoUJMV7MetP+bj/ixX438p93OdEEUkn39oHDdOTcOh4\nGa785+9okVkLtw1ujRd+3gggyDMZr1PwEqx6apSOA4pFm4apmLe1CIAqc7Ngx3Ko30br0v+8Lo9L\nh0AIwXZ/sKpnflwfuM6zFpdB24Zpgb3Wd3cOwKIdxSCEYP2zo3H9h4uxpLAkWLcQNFLz/m+o0NLx\nIr9sNmlCJzz+3dpANPOr+7TAN8v2YPmuo9y51OshuKh7U3y6sBDLdx3FNX1b4Kkf1gLQG3x4CME/\nr8tDw/RExHk9WPvMaMsAKi7M4SqkzhJoRGyy3AOKop6obDp4gnuSZ8e7qE/LoDVQYpwn4B4EqNrq\nUF2VWLBKGp71xICcTMzfWgxC9AoAdgJvmJ6EwpfGIXviFACqECayuPr6jn44crJcdy0hzoPJt/YJ\nPKMJAKNzjYoXdjHJTE3EbYNb4f4vV3LLk8EN/bPx8YJCxHsJd8OmTbRJ8R4ddw6LTOqdWfPzSRM6\n4fwuehcZ9vS/Y+N0U4UUoLqMhgtaaP/3LX1w9b8W6Rb4xY8Nx9S1B/DUD+vQun4K10qhDaXsEPVJ\n2n3HKUsHbaGVjUgUCVzXLxvFpeW43YJoFQAGtalvWddbB7XkChA8zjAW2jge3r4BJi/ahdwm6cLn\nQmkymh9KhICFFDOH0AIH72Q61a/0eHh0Oy7Rs9PQLAu7ZNXGrI2HLMOmy7aXKBqNHeJhDY1qJ0lt\nzDUEecYIvr2zP+qnJmLQX2YH7s96aAhKTlXg4n8s4D/oR06DVGw9FHTjptexwCGHoD14PC0iaAcb\nD4xoa1BGAZrLnr8OhHBOyYOgXak+vbm3JWfWv2/pg8MnyjD0lQLTdDwLKdatQ1M6t6qXglk23OoA\ntR/mtaiDpTtLdNdvGdQKr0zfDEBtHyt3c9YFlZ0meH3JQ1QlQePaSeiVLee6wSI5wYs6KQnY8OwY\n7D16Wje/0XICfVCmYf7EYVi79xgSDm/EksdH2N7sT7l3IE6WhadI7tMqE3O3qBtzoTyls9LTWxz8\n+5Y++O+yPVyCaUB/EJOaGMeNlqpBU/w2pNwOL+zWBL+uP2j1GgCAjygXVS2v1vVT4fEQHSm8BkUB\n7h6Wg9uGtAr0YQ0N0pJ0cxYbRIVFp6a18fUd/aQ4lVjFvNZEHZukY+nOErTxW4xoX2NI2/oGhZSm\n9EpNjENpmf7g0AptGqRiyyE9TYXV9N6yXgpaSgZ+sUI40k/bhqk4eqrCcH3KvQORa6LsZPHpTb0x\nZfV+3DV5ueEeK6No9W3bMBWbD6rtRtOJsJGLX7usG17muHaZoX9r9QBB6xva3PHM+FwUbDoUiHL8\n3rU98Z/Fu9C6vipDWEWne3RsB4zJbYSOTdK5a7NdC6knzu+I535ab7iujYs8k8MHFj/fOwhZDlj+\nNM+sFVg/ayXE4es7+gf2X0AwMIEdZNWxPqS+qndzTOjeVGfxrrUf78BTa+uPbuiNbUWl8HpIYG9E\nu717iN7KMtRANS6CcFvwLEDzurWEFlIs6HlMU16FG446Ic6D/q0zsWBbMTY+Nwa9Js1Akf/Uamzn\nxjjGWZhCgUZCqUUC1F6VViRpa5SHcdmzglkT8ITgBK83sDgB6gZvyeMjDCHXrfIOFU9d0BF/HtcB\nhBgJdQkJCi4LJw4XRn1i4fUQvHppV/y8Zj9mbjyEQTn1LRdSjXcqo1Y8HhndHo99t8buq9jGgJx6\neO7CXAxsExQ2GqQn4fr+2dyQuhqy6tTCB9fn4eZPlgrT0Av/368SuwfZgZalnf7oNJLivbaiYxJC\n8NQFHfHi1I0Gy4t3r+mBoYKNZ9es2vhx1T6dFQSLgEKqQ0Ose2Y0UhLjghsJpi9f1ac5lu8qMd3s\n/HTPQFz9r0UBt0QiUDYBqkC8tLAE9VITMWXNfkOUPnr+PJ+zObp1cCsQAtwq2NhFCvcMa4N+rTID\nc9Hix4ej96SZgftR8BJzBDyFDKsUCCgYmXSatUfXrNpYzWwErayqWEuRxrWTMJ7D5wcElZRxgrDp\nBEHXKZrgnDfcOzROR/tGadh44ISU8jA1MU5K0FUUI6k5Sy6uvXNZiG6fvD5Gb57uG8EPmvHaZV1x\n/HQFBuTUM6xFtNJf5DZfNyUBRaXl+P6uAdKu329c3k134KO9e3KC12CFqenxHhzZVqeoeOy89njh\n541oUjsJTTOSUVCwMaRgHGlJ8QE3/acv6Cgd7YxFYBMl+HysHKdtwEZ2bIgBOfVMgyvQhwtWBzED\ncjLx10u66Pjczu/SBEPbNdBZK8mgUe0kfH5zH3QzscBQFAWEEIMyiptW+8OmPEfjrSu7473fthkO\nXDTZYHzXJrimb4uA5YdmedetWQbmPJyvU1hqXK2hHMr+947+2H/8NPfepAmd0K5hGi55d6HtfAE1\nWisAPH9RJ/z5f2u5adpwuJVkwbrBdWycjrzsOjpl1G8PD8X/t3fn0VFU+R7Av7/OHggJBAgkQNgC\nCAlrCCAgCTs4CgoqqIAKg29EBx0HFZdBRT3D85yH+7jPMD4dhuPoG59HUZ4sPp8K6iCiLI/IovBE\nZJFNhEHv+6Nudbo7VdXVnV7T3885nHRXV1dXN32rb/3q3t/vh38GD9JNrGiDFdcOwaVPWb/XwGP9\nkim9cdET79dbLzDQ4/EIsjzhjSRroStWmxelAvueHVs2Cam/lZnucUyCHTjyVMTI33vqzM+48rn1\nAIwKp3sOncSb889Dfq5RfdQ34APU9UXd9BfaNMtGcUG2ZaGeSOpelIeVNw6P2lR3EamXfsFs21bt\n0mzn+bkZ3v5JVacW+NP7uzGsrCUe07OMojWlNZUxIJXkllbnYEzNcDy40hgyakbs35w/HEd+qN85\n8G1/Pds2Q+2BE37z8M3OWv/S0IZoPjOzEodOnIGI4N1batDzd295H8vPzcBF/Uqw78gpbNh9OKTt\n+jITDZodK/Ng8tSMulK+dVfInEdIBQr14GI1pc6us9rQgJ8VEbE9QQLqTqxDfekpA9rhgj7F2HHg\nuOVogEC/HlWGoV1behPSxyIgBbifOheobrRS8HWtrpaH9ZphTtn7yy8HR2x0YTiuHtoJKz/fj/W7\n/Nvs+HLrKVyAMSJyeFmreokul0ypwMnTP2Hf96f8hlib03K8uacC2mF+TgaemVlZr2Plq7wkH5sW\nWeRcs/joehXnezvF48sn1rvyaAYNuxflWXaQsjPScL3FVMVoS/OIX4c1nJFMicIM8PgmD51Y0Qab\nvj5q9xRLw8pa4ov/O4YnZwzwy/Xiy/wKVHdvhbXbv8OvqrvUS9oMAB8srJ/E2hyZY35HrS42BErz\niHeUpV0lpAcursDtr2yuFwz1lZnusb24NK+mC1Zv+w5bvzmG3u3yUZyfg/mjy/Cfm/ynnwTmQTFH\nhVkl1HYj3A74xf3tRxKaWyxskmlb1fHpmZV4et1Ov9G8wUzuV+IXkHI62WmZZ5xc9gg4Zs09rwvm\nuhhRGoqrQpiuFKhumrHdlD3/+63ysrDi2iHeohVO3Ew1eWnOIGSkG7khL6lsX+/xJlnpYU2zHGYz\nbXV4WUv8946DIZ0QqwhcZL2gT7Fl8QTzOyTin/KhuntrrL99lGX1XHNkhdvfcd+pUXb5vgBjNInd\nKFc3zAtKVw4uxXPv7cKugyfr/VwOKG2BdxfU4MgPZzDp8f/xy7sUKqu8gm76l4DxuVsltZ5Q3hbb\n9h+v63f75HGNtqZZ6fjf+yb4FYeKpsDgqEcEA0r9P5MX5wxyUWHX/f5+eLtzYQdf7y6oCSvf56ZF\nY5GljymxZH5MVr+xVjOGJla0xYY7RqF1Xjb+ePVAPPrOjpDyjJE7/ESTXPNsD5pmpWPGkFK8unEf\nxun593a5PMykxx1a5GL+qDLMOrfUrzM/sKPxIxRqcjbfzohVMuClOkmc04llMOPL22Db/uPeoeJ1\noyrqDiC+B0W/gFSQznSox8NQyvCax7doJbwLvDLeJj8b911Ugfte3xLWMNLMdI/rYdUZaZ6gZcPj\npahZljGS5aevvMtydSfOzcllpNxzYS/c+R+fo0uIAa4hXdx9rm4TwIfDbEGZ6Z6gOWoAoy1aVV25\nbKBzAu2fvScS1o9/uHAUnntvp6t9MLcRrHtk1fEwjxnh5DMwX9tpugsBp84YV8VzfU6onrjCutx3\nSUGON8AT2Pm/ZVwPXDmo1DIYFRisH9uzDdZu/w6XVrYPWk3U9Pjl/fHkui9xXXUX5OdkYJrDd9hb\nuVAHpD67e6xtpbD+HZpjZZBS2Z9ZBVi1BeN6YGSPIkz5w/vwiHhz/P3tk71+610aEDQobJqFR6f3\ni+nxetvi+vmQfBXkZuCW8d1xoUP1xP4dmnvfYyg23jUGB0+c9uYrsnPT6G4oa51nm+Q6UbTX01NG\nnWM9OtUqCOO2OpVTAnbTuQ4jrKLhhdmD8Mmew/XyfTrxvSAZaad1jlGrQJBVMAqoOw71a98cH+w8\nBAAo1SMXAwOF6xZUOxbqAeoCYcUFOejZthnmDOuE4oIcx9FvgQJ/n37Ruy0eXV2LFhZVYc1pVmZx\npERyw8iuuOrcjt6gXazHq4RyDhBpvs31+pqueGxNratzmGAVCcPlNrgYKNgMjGhJ846QsnjM5oM0\nLwLWdG+Nmu7uK6GTewxINRJdW+fhs7uDV6W5sE8xCptkYWjXQohPlP2xy/t5Dw7hHlx8pXskaLns\nUP16ZBmuHtrJu59WV8O8F6IktPwzoQakQqkQJSJ4asYA9HEoPd0Q5sn8wI7NMa+mK0Z0awURsezk\njz6nNboV5eGJtV9GZV8WTy5Hb5uS0+GySzAZzPrbRwMA1q6tC0hVdWqBeyf18iY8jIVBnQux6jcj\ngq8YpquHdozats2ozp+vqcKOAydQFWYOl2AGlLbAf2391raaV5v8bNxxvn0uNF/BRhI4MTsqLZu6\nm+YayEwIGi/xzFPmlpmYPVgunk2LxiIzzQMR4MDxHzGvpqvf42kesZ0a+q9Te+OpdTu9wZfpVe1x\nQZ+2IU2XmlDR1pvQfbZFXpaCXGMqmUfgrSZqrmeVMDYUwUY/WMUPJvcrwbO62AVgHWSwGvnhms/m\n3MZrg70PEcF11V0d1wnFhjtGeU8omjfJRPMmmSgL8ludnZEWk3xwDdW+RS423jXG9mKK74W5UJPr\nlrVuir1HrKeHxVPgKJBgzAuS0RiVfvxHI5AeStvOSPPg9RuGobQwFxV3vw3A6A+8OX94vRF5wSrp\nAsC153XGoM4tvFOJ7rSohubkywcm1gtF3DS6G+YM7+wYHIj1CJYHp/YOGkj2eMRvBJl5DE6FiVS+\n/x+/HdfdL8eq4/P033BGMzUm3lkLDlP2KPYYkEoxImI5RDoweXVDfbporO383HCrjXk84vej+bPF\n1bBzu7TE+l2HUZyf45fwNlgSy1CvGFgl33QyzqJyRqSUFjbBAxdVYFyvoqDTGp6dpUtVRykgFZhI\nNxKsyleHS0Qw08V0v3ByhcRLLH5ABdH5vzU9Mr0vdh08GZHEkN4qe2EcZroX5eGeC3tZ5o9KZMnU\nhTr1T3cBKd9j/cIJ7vNxAEDb/By/6loiEnbuHjvLrqnCO1u/9R5zQ0ns3lC92xVg5pBSzBlWl8us\nvCTfr1BHpJnfsYv6leC66rqpbCO6tcK6BlTCiqRknsrqhlM+SPMcdfHkctsKcnYent4Pve9+G78c\nHv6UwkRgl4swEooLsrHv+1NBC0sEKre4QOemGqkVj0eCFkJwYtVXCOxXJwKrKaHBPDytH/79wz3o\n274APds2w5Zv7KusurHsmiocOxWZ/LfhuqBPcb2p2A3hcRgZlErqkpozIJVIGJCiqLA7sdz4uzHe\nXFANdUllO2zed9Q7DREwhvFe3L8E7VvkekuKjz6nKGhi71gnBTZzdZ3rclpWMJcPcp4Slcwakish\nHKtvHoHmFsPXE5XT1eCX/2UIDhw/HcO9CU9uZnpI1XecmCMI2uSHfnIqIo6J8RNVMvUvu+qpq+e0\nCe+k7IOFI21LPa+66Ty/CxHRVFKQ4yq4HQnv3VrjdyEnzSO4d1J5TF7bdEGfYqzfdRgLxnVHsc+o\n1WdmVuKHM6FVECPg4Wl98Y+AqoWBzNxnbnjPo8KIxDfLzsCXD0x0PfItUUVzgOiTVw7AZ3uPhj36\n8fUbhnlH8VDkFTXLxs1jjZFCL/9qCI6datgxaYRPhb54eeiyvngwxEqATpwCManEKYdUsh8DkxkD\nUhRTDZ3K4GvmkI6YMbjUb/iqx2caR7HOLeImQXusj0HlJfn46I7RYU8NSgUvzK7CV4d/iPnrRiqZ\nebSZZe+dfkArGzjFLhmHdo/o1gqPTO+Hcb0SOyeMkxfnDIrqyZWvO88/B999vTM2LwajMlF5SX7Y\nowTsEpgDQFlRXtApWsnITXlr0/xRZfWmA0XCFYM6YOqAdvUuEGSme5CZ7v87FhhAo/om9S3BpL7O\nU8efmjEAJ0//5Gp7TqXM3QgcGbBkSgWaZiXWyJlgzN+raFxgLGyaZVtd1g2rkVIUHbmZ6Za5bJNN\nmkeQ5lMJ8PJBHfDS+q8cnuHMm18zxQ/NVsfKJVMq8OS6nTGfnkp1kr/FUkpzOnhUtMvH2zed570i\n78RtzoE/XjUQ+4/96Hr/nCTTtLB4GF4W/ytUiWz53MHY+s2xqP6AWhUOSHR2+dOSSShJagGj7PQb\nm/d7cx6FYs7wzn551qJNRMIORlFwN43pFpXtiojr0aqhBNDIXlZ6GrLS3X3m82q6YtfBkxHLjxis\nEEUiqkvjkDy/V2RfFZz83T+5HItDGBl785hu3tkYBjOdQWpHpMRipNhlAzsk5TGvMWFAiho1txVa\n3J5vN+QKWaJJtLwBFJqWTbNiFrRLonhUSmmmSw93adUUH985Os57Q0TxUtQsGy/MHhTv3YivKOaQ\nouhxe4Gis8sKqY2ViCAthO/2DaPK/O67rUDc2JlpXvIikLOUIof/G0RIrhEgkbDxrjHIiGPZWkoO\nqd5xSWQrbxyOwiYcZUlEBAD9SguwYfdhtObo80Zn2+LxUamemEp+M6Ybbntlc8pfjL5tQg/0L22O\nIRHK4UuRwYAUUQoKluSdCABmDinFJ3uOpPyVyUTUI8yk4EREjdGCsd0xI+jydwAACF9JREFUpX+7\npMkDSe7FurhNYzStqgOmVXFaWnZGWtKndWiMGJAiIiJLbhLvEhERxVt6msd1mgYiIkocnLNDRERE\nREREREQxxYAUpbTzw6hKRUREREREREQNw4AUpbSHpvXFpkVj470bRERERERERCmFOaQopWWkeZCf\nw7gsERERERERUSzxTJyIiIiIiIiIiGLKVUBKRMaLyHYRqRWR2ywezxKRv+rH14tIR5/HFurl20Vk\nXLBtikgnvY1avc1Mp9cQkUIRWSMiJ0TksXA/CCIiIiIiIiIiio2gASkRSQPwOIAJAHoCmC4iPQNW\nmw3giFKqK4ClAJbo5/YEMA1ALwDjATwhImlBtrkEwFK9rSN627avAeBHAHcB+G2I752IiIiIiIiI\niOLAzQipKgC1SqmdSqkzAJYDmBSwziQAy/TtlwGMEhHRy5crpU4rpXYBqNXbs9ymfs5IvQ3obU52\neg2l1Eml1HswAlNERERERERERJTg3ASkSgB87XN/r15muY5S6iyAowAKHZ5rt7wQwPd6G4GvZfca\nRERERERERESURFKmyp6IzAUwFwCKioqwdu3a+O5QhJw4caLRvBeiaGAbIXLGNkLkjG2EyBnbCJEz\nthF7bgJS+wC097nfTi+zWmeviKQDyAdwKMhzrZYfAlAgIul6FJTv+nav4YpS6mkATwNAZWWlqq6u\ndvvUhLZ27Vo0lvdCFA1sI0TO2EaInLGNEDljGyFyxjZiz82UvY8AlOnqd5kwkpS/FrDOawBm6dtT\nAaxWSim9fJqukNcJQBmADXbb1M9Zo7cBvc2/B3kNIiIiIiIiIiJKIkFHSCmlzorI9QDeApAG4Hml\n1Bcici+Aj5VSrwF4DsALIlIL4DCMABP0eisAbAFwFsA8pdRPAGC1Tf2StwJYLiL3Adiotw2719Db\n2g2gGYBMEZkMYKxSaku4HwoREREREREREUWPqxxSSqk3ALwRsOx3Prd/BHCJzXPvB3C/m23q5Tth\nVOELXO70Gh0d3wARERERERERESUMScVZbyLyHYA98d6PCGkJ4GC8d4IogbGNEDljGyFyxjZC5Ixt\nhMhZqrWRUqVUKzcrpmRAqjERkY+VUpXx3g+iRMU2QuSMbYTIGdsIkTO2ESJnbCP23CQ1JyIiIiIi\nIiIiihgGpIiIiIiIiIiIKKYYkEp+T8d7B4gSHNsIkTO2ESJnbCNEzthGiJyxjdhgDikiIiIiIiIi\nIoopjpAiIiIiIiIiIqKYYkCKiIiIiIiIiIhiigGpJCYi40Vku4jUisht8d4folgRkedF5ICIfO6z\nrIWIrBKRHfpvc71cROQR3U4+E5H+Ps+ZpdffISKz4vFeiCJNRNqLyBoR2SIiX4jIfL2cbYQIgIhk\ni8gGEdmk28g9enknEVmv28JfRSRTL8/S92v14x19trVQL98uIuPi846IokNE0kRko4i8ru+zjRBp\nIrJbRDaLyKci8rFexr5WiBiQSlIikgbgcQATAPQEMF1EesZ3r4hi5k8Axgcsuw3AO0qpMgDv6PuA\n0UbK9L+5AP4AGD8YABYBGASgCsAi80eDKMmdBXCzUqongMEA5unfB7YRIsNpACOVUn0A9AUwXkQG\nA1gCYKlSqiuAIwBm6/VnAziily/V60G3q2kAesH4TXpC98+IGov5ALb63GcbIfJXo5Tqq5Sq1PfZ\n1woRA1LJqwpArVJqp1LqDIDlACbFeZ+IYkIp9S6AwwGLJwFYpm8vAzDZZ/mfleFDAAUi0hbAOACr\nlFKHlVJHAKxC/SAXUdJRSn2jlPqHvn0cxslECdhGiAAA+rt+Qt/N0P8UgJEAXtbLA9uI2XZeBjBK\nREQvX66UOq2U2gWgFkb/jCjpiUg7AOcDeFbfF7CNEAXDvlaIGJBKXiUAvva5v1cvI0pVRUqpb/Tt\n/QCK9G27tsI2RI2enjbRD8B6sI0QeempSJ8COADjBOBLAN8rpc7qVXy/7962oB8/CqAQbCPUuD0E\n4BYAP+v7hWAbIfKlALwtIp+IyFy9jH2tEKXHeweIiCJNKaVERMV7P4jiSUSaAvgbgBuVUseMi9UG\nthFKdUqpnwD0FZECAK8C6BHnXSJKGCLyCwAHlFKfiEh1vPeHKEENU0rtE5HWAFaJyDbfB9nXcocj\npJLXPgDtfe6308uIUtW3eugr9N8DerldW2EbokZLRDJgBKNeVEq9ohezjRAFUEp9D2ANgCEwplCY\nF2t9v+/etqAfzwdwCGwj1HgNBXChiOyGkRZkJICHwTZC5KWU2qf/HoBxYaMK7GuFjAGp5PURgDJd\n7SITRsLA1+K8T0Tx9BoAszLFLAB/91k+U1e3GAzgqB5K+xaAsSLSXCcPHKuXESU1nbfjOQBblVL/\n5vMQ2wgRABFppUdGQURyAIyBkWttDYCperXANmK2nakAViullF4+TVcY6wQjWe2G2LwLouhRSi1U\nSrVTSnWEcY6xWil1BdhGiAAAItJERPLM2zD6SJ+Dfa2QccpeklJKnRWR62F8YdMAPK+U+iLOu0UU\nEyLyFwDVAFqKyF4Y1Sl+D2CFiMwGsAfApXr1NwBMhJFI8wcAVwOAUuqwiCyGEdwFgHuVUoGJ0omS\n0VAAMwBs1jlyAOB2sI0QmdoCWKarfXkArFBKvS4iWwAsF5H7AGyEEdiF/vuCiNTCKKgxDQCUUl+I\nyAoAW2BUt5ynpwISNVa3gm2ECDByQ72q0yGkA3hJKbVSRD4C+1ohESN4TUREREREREREFBucskdE\nRERERERERDHFgBQREREREREREcUUA1JERERERERERBRTDEgREREREREREVFMMSBFREREREREREQx\nxYAUERERERERERHFFANSREREREREREQUU/8PC3DPfMWJBL4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(20, 5))\n", "ax.grid(True)\n", "ax.plot(scores)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "



\n", "\n", "## How to use upweight influence function for mis-label \n", "\n", "### Import packages" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "env: CUDA_VISIBLE_DEVICES=0\n" ] } ], "source": [ "# resnet: implemented by wenxinxu\n", "from cifar10_input import *\n", "from cifar10_train import Train\n", "\n", "import tensorflow as tf\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import darkon\n", "\n", "# to enable specific GPU\n", "%set_env CUDA_VISIBLE_DEVICES=0\n", "\n", "# cifar-10 classes\n", "_classes = (\n", " 'airplane',\n", " 'automobile',\n", " 'bird',\n", " 'cat',\n", " 'deer',\n", " 'dog',\n", " 'frog',\n", " 'horse',\n", " 'ship',\n", " 'truck'\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Download/Extract cifar10 dataset" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "maybe_download_and_extract()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implement dataset feeder" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reading images from cifar10_data/cifar-10-batches-py/data_batch_1\n", "Reading images from cifar10_data/cifar-10-batches-py/data_batch_2\n", "Reading images from cifar10_data/cifar-10-batches-py/data_batch_3\n", "Reading images from cifar10_data/cifar-10-batches-py/data_batch_4\n", "Reading images from cifar10_data/cifar-10-batches-py/data_batch_5\n", "target class: horse\n", "[21961 21986 27093 41046 11712 16494 24378 42274 24006 43962 35684 36899\n", " 28777 37099 14932 6202 18096 5135 33765 44823 6358 42089 19335 11610\n", " 10737 38555 43315 19835 9665 25727 13960 13911 42538 29577 42578 324\n", " 42384 27401 1647 34188 17670 32919 45007 29459 4203 25826 22079 31240\n", " 13067 17121]\n" ] } ], "source": [ "class MyFeeder(darkon.InfluenceFeeder):\n", " def __init__(self):\n", " # load train data\n", " # for ihvp\n", " data, label = prepare_train_data(padding_size=0)\n", " # update some label\n", " label = self.make_mislabel(label)\n", "\n", " self.train_origin_data = data / 256.\n", " self.train_label = label\n", " self.train_data = whitening_image(data)\n", " \n", " self.train_batch_offset = 0\n", "\n", " def make_mislabel(self, label):\n", " target_class_idx = 7\n", " correct_indices = np.where(label == target_class_idx)[0] \n", " self.correct_indices = correct_indices[:]\n", " \n", " # 1% dogs to horses.\n", " # In the mis-label model training, I used this script to choose random dogs.\n", " labeled_dogs = np.where(label == 5)[0]\n", " np.random.shuffle(labeled_dogs)\n", " mislabel_indices = labeled_dogs[:int(labeled_dogs.shape[0] * 0.01)]\n", " label[mislabel_indices] = 7.0\n", " self.mislabel_indices = mislabel_indices\n", "\n", " print('target class: {}'.format(_classes[target_class_idx]))\n", " print(self.mislabel_indices)\n", " return label\n", "\n", " def test_indices(self, indices):\n", " return self.train_data[indices], self.train_label[indices]\n", "\n", " def train_batch(self, batch_size):\n", " # for recursion part\n", " # calculate offset\n", " start = self.train_batch_offset\n", " end = start + batch_size\n", " self.train_batch_offset += batch_size\n", "\n", " return self.train_data[start:end, ...], self.train_label[start:end, ...]\n", "\n", " def train_one(self, idx):\n", " return self.train_data[idx, ...], self.train_label[idx, ...]\n", "\n", " def reset(self):\n", " self.train_batch_offset = 0\n", "\n", "# to fix shuffled data\n", "np.random.seed(75)\n", "feeder = MyFeeder()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Restore pre-trained model" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from pre-trained-mislabel/model.ckpt-79999\n" ] } ], "source": [ "# tf model checkpoint\n", "check_point = 'pre-trained-mislabel/model.ckpt-79999'\n", "\n", "net = Train()\n", "net.build_train_validation_graph()\n", "\n", "saver = tf.train.Saver(tf.global_variables())\n", "sess = tf.InteractiveSession()\n", "saver.restore(sess, check_point)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Upweight influence options" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "num test targets: 5050\n" ] } ], "source": [ "approx_params = {\n", " 'scale': 200,\n", " 'num_repeats': 3,\n", " 'recursion_depth': 50,\n", " 'recursion_batch_size': 100\n", "}\n", "\n", "# targets\n", "test_indices = list(feeder.correct_indices) + list(feeder.mislabel_indices)\n", "print('num test targets: {}'.format(len(test_indices)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run upweight influence function" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# choose all of trainable layers\n", "trainable_variables = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)\n", "\n", "# initialize Influence function\n", "inspector = darkon.Influence(\n", " workspace='./influence-workspace',\n", " feeder=feeder,\n", " loss_op_train=net.full_loss,\n", " loss_op_test=net.loss_op,\n", " x_placeholder=net.image_placeholder,\n", " y_placeholder=net.label_placeholder,\n", " trainable_variables=trainable_variables)\n", "\n", "\n", "scores = list()\n", "for i, target in enumerate(test_indices):\n", " score = inspector.upweighting_influence(\n", " sess,\n", " [target],\n", " 1,\n", " approx_params,\n", " [target],\n", " 10000000,\n", " force_refresh=True\n", " )\n", " scores += list(score)\n", " print('done: [{}] - {}'.format(i, score))\n", "\n", "print(scores)\n", "np.save('mislabel-result-all.npy', scores)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### License\n", "\n", "---\n", "
\n",
    "Copyright 2017 Neosapience, Inc.\n",
    "\n",
    "Licensed under the Apache License, Version 2.0 (the \"License\");\n",
    "you may not use this file except in compliance with the License.\n",
    "You may obtain a copy of the License at\n",
    "\n",
    "    http://www.apache.org/licenses/LICENSE-2.0\n",
    "\n",
    "Unless required by applicable law or agreed to in writing, software\n",
    "distributed under the License is distributed on an \"AS IS\" BASIS,\n",
    "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
    "See the License for the specific language governing permissions and\n",
    "limitations under the License.\n",
    "
\n", "\n", "---" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 }