diff --git a/.ipynb_checkpoints/jamin-checkpoint.ipynb b/.ipynb_checkpoints/jamin-checkpoint.ipynb new file mode 100644 index 0000000..e2dba08 --- /dev/null +++ b/.ipynb_checkpoints/jamin-checkpoint.ipynb @@ -0,0 +1,492 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Written text as operational data\n", + "\n", + "Written text is one type of data\n", + "\n", + "### Why people write?\n", + "\n", + " - To communicate: their thoughts, feelings, urgency, needs, information\n", + "\n", + "### Why people communicate?\n", + "\n", + "1. To express emotions\n", + "1. To share information\n", + "1. To enable or elicit an action\n", + "1. ...\n", + "\n", + "### We will use written text for the purpose other than \n", + "1. To experience emotion\n", + "1. To learn something the author intended us to learn\n", + "1. To do what the author intended us to do\n", + "\n", + "### Instead, we will use written text to recognize who wrote it\n", + " - By calculating and comparing word frequencies in written documents\n", + " \n", + "See, for example, likely fictional story https://medium.com/@amuse/how-the-nsa-caught-satoshi-nakamoto-868affcef595" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 1. Dictionaries in python (associative arrays)\n", + "\n", + "Plot the frequency distribution of words on a web page." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "class=\"menu-item\t54\n", + "\t38\n", + "\t35\n", + "
  • \t28\n", + "\t21\n", + "\t21\n" + ] + } + ], + "source": [ + "import requests, re\n", + "# re is a module for regular expressions: to detect various combinations of characters\n", + "import operator\n", + "\n", + "# Start from a simple document\n", + "r = requests .get('http://eecs.utk.edu')\n", + "\n", + "# What comes back includes headers and other HTTP stuff, get just the body of the response\n", + "t = r.text\n", + "\n", + "# obtain words by splitting a string using as separator one or more (+) space/like characters (\\s) \n", + "wds = re.split('\\s+',t)\n", + "\n", + "# now populate a dictionary (wf)\n", + "wf = {}\n", + "for w in wds:\n", + " if w in wf: wf [w] = wf [w] + 1\n", + " else: wf[w] = 1\n", + "\n", + "# dictionaries can not be sorted, so lets get a sorted *list* \n", + "wfs = sorted (wf .items(), key = operator .itemgetter (1), reverse=True) \n", + "\n", + "# lets just have no more than 15 words \n", + "ml = min(len(wfs),15)\n", + "for i in range(1,ml,1):\n", + " print (wfs[i][0]+\"\\t\"+str(wfs[i][1])) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 2\n", + "\n", + "Lots of markup in the output, lets remove it --- \n", + "\n", + "use BeautifulSoup and nltk modules and practice some regular expressions." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import requests, re, nltk\n", + "from bs4 import BeautifulSoup\n", + "from nltk import clean_html\n", + "from collections import Counter\n", + "import operator\n", + "\n", + "# we may not care about the usage of stop words\n", + "stop_words = nltk.corpus.stopwords.words('english') + [\n", + " 'ut', '\\'re','.', ',', '--', '\\'s', '?', ')', '(', ':', '\\'',\n", + " '\\\"', '-', '}', '{', '&', '|', u'\\u2014' ]\n", + "\n", + "# We most likely would like to remove html markup\n", + "def cleanHtml (html):\n", + " from bs4 import BeautifulSoup\n", + " soup = BeautifulSoup(html, 'html.parser')\n", + " return soup .get_text()\n", + "\n", + "# We also want to remove special characters, quotes, etc. from each word\n", + "def cleanWord (w):\n", + " # r in r'[.,\"\\']' tells to treat \\ as a regular character \n", + " # but we need to escape ' with \\'\n", + " # any character between the brackets [] is to be removed \n", + " wn = re.sub('[,\"\\.\\'&\\|:@>*;/=]', \"\", w)\n", + " # get rid of numbers\n", + " return re.sub('^[0-9\\.]*$', \"\", wn)\n", + " \n", + "# define a function to get text/clean/calculate frequency\n", + "def get_wf (URL):\n", + " # first get the web page\n", + " r = requests .get(URL)\n", + " \n", + " # Now clean\n", + " # remove html markup\n", + " t = cleanHtml (r .text) .lower()\n", + " \n", + " # split string into an array of words using any sequence of spaces \"\\s+\" \n", + " wds = re .split('\\s+',t)\n", + " \n", + " # remove periods, commas, etc stuck to the edges of words\n", + " for i in range(len(wds)):\n", + " wds [i] = cleanWord (wds [i])\n", + " \n", + " # If satisfied with results, lets go to the next step: calculate frequencies\n", + " # We can write a loop to create a dictionary, but \n", + " # there is a special function for everything in python\n", + " # in particular for counting frequencies (like function table() in R)\n", + " wf = Counter (wds)\n", + " \n", + " # Remove stop words from the dictionary wf\n", + " for k in stop_words:\n", + " wf. pop(k, None)\n", + " \n", + " #how many regular words in the document?\n", + " tw = 0\n", + " for w in wf:\n", + " tw += wf[w] \n", + " \n", + " \n", + " # Get ordered list\n", + " wfs = sorted (wf .items(), key = operator.itemgetter(1), reverse=True)\n", + " ml = min(len(wfs),15)\n", + "\n", + " #Reverse the list because barh plots items from the bottom\n", + " return (wfs [ 0:ml ] [::-1], tw)\n", + " \n", + "# Now populate two lists \n", + "(wf_ee, tw_ee) = get_wf('http://www.gutenberg.org/ebooks/1342.txt.utf-8')\n", + "(wf_bu, tw_bu) = get_wf('http://www.gutenberg.org/ebooks/76.txt.utf-8')" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAApMAAAGZCAYAAADVZboGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VNX9//HXhwBhCWKVRRYVG0BRdtMAihgEBQRxqUuR\nKhE1ivL7ulEBayutdS1abVVqWgFbrV/br1r3FYiIgBgEZBVBQUEEEWVJZM35/XHuxGGYCZNJSGbg\n/Xw85jHJveeee+525jP3nHvGnHOIiIiIiCSiRnUXQERERERSl4JJEREREUmYgkkRERERSZiCSRER\nERFJmIJJEREREUmYgkkRERERSZiCySpmZgVmts94TGZWy8x+Z2afmtkOM3Nmdl7Y/P8xsyVm9kMw\n78aqLXnqM7PcYN/lVndZJHGxrqH9LOPMrOAAFanapeK5nchxTGAdOcF+GVfV604VZtYq2EeTq7ss\nFVVd14GZrTGzFVW5zmSjYDIBwcka/tphZt+Y2Udm9nczG2BmaeXM9hbgt8BXwHjgd8CyYH2/AB4G\ntgMPBfNmV9oGSaWJ9eF1KItyvewxs41mNtXMLq3u8h2Kwj50I+uxz81sspmdWN1llOQUFnyu2k86\nl6oBe1g9XtarVXWXM5nUrO4CpLjfBe9pwOHAScBlwJVAoZkNdc4tj1jmcqBelLwGAduAM51zO6PM\nAxjknPuqUkouUvVC10st4ATgXKC3mWU5524uRz6xriEpvwXAf4O/GwI5wDDgYjM7wzl3IL+0Vudx\n1Dkk8VgNTI4x7/uwv08HUjJwriwKJivAOTcucpqZNQX+AlwEvBN8UG4IW+aLGNk1B76NEkiG5qFA\nUlJZ5PViZn2At4EbzezPzrlVceYT6xqS8psfflzMzIBJ+IDyHqD3gVpxdR5HnUMSp1XRPucjOedW\nVkFZkpqauSuZc2498AugADgauC18fmRfnaBJyQHHAceG3UJfZWbjgnm9g7QuWtOBmZ0Q5POlme00\ns/Vm9i8zOz6yfKH1mdlPzez/mdnHQT/Mgoh0/czstaA5coeZrTSzP5rZ4VHyXBW86gdpvgiWWWFm\no4MPqH2YWbaZPWtma4P068zsLTO7OErabmb2f2b2dbCNX5rZ42bWPMahKJOZDTSzmWZWZGbfBXm3\niZG2npmNNbP5QfptZjbLzIZEpJsMTAv+vSOiSSQn2KfOzO6KWK53WLqjI+Y9GzpeEdPjPubl2YYg\nbWlTvZl1NrNXzex7Mys2s3fN7JT97uA4OOem4LtyGPCzYN2l/bfMrG2w/RvMrMTMcoI0sfod1zaz\n3wTnaqjJ9g9mlh6rDGZW08yuM7PZZrYl2MZ5ZjbSzOKuH83sZDN72MwWmNkmM9tuvv/zA2b2kyjp\nS/t2Bce/wMy2BmV41czaxVhPazP7T3DOFgXn8MB4y7k/zv++7mPBv9lh6x0Xdh5famYfBOfQqojy\nxX2dRjuOtp8+bxaj76uZNTWzJ4Lr4IfgPB8WaztjnUPBvLPM7OXgvNsRbMOLZtY3Stq468kyytLc\nzH5rZu+H7bevgut5n+4GEddIKzP732D9282s0MwGxVhPAzN70Hz/vu1mtszMbqYK4wDbTzcgCz5L\nYsy7xMymhF1fq8zsGTPLimO9PzGz6UE9MrZiWxE1/336TJrZVcG2/tLM+pivO7eZ2ebg/Ir2+fxU\nsMzRQb20KNjWr83sr2Z2WGWXvbLozuQB4JwrMbM/4JuMhpjZTS72j6D/F1gFhB6oeSh4/x6YH/yd\nCxzLj82EpcysP/A8vunwZWAF0BK4ABhoZr2dcx9FWe/DwGnAq8BrwJ6wPO8AxgGbgFeADUBHYBRw\ntpn1cM5ticivFvAm/i7q68Bu4DzgXqBOZNnN7GpgQrDel4BPgSZAFnAd8O+wtMOBfGBHkPZLoA1w\nFXCOmXUv552GC4ABwAv4oL8z8HN8k+spzrlPwtZ9ODAV6AJ8BEzEV779gH+Z2UnOuduD5KHmwmHA\nu0HeIavw+3En0Af4ddi8PhF/Tw7WbfgvEqucc5+Flalcx7yc2xAuC7gVmAX8HTgm2E9TzKxz+H6q\ngNAXjcjrIxP4AFgOPA3UBSLPuR8z8fvq3/im85XAI0BtYDjQIcYyof3XD/gE+Be+X3JvfOtCN3y3\nlXhcDZyPP+7v4PfvycDNwAAz6+ac2xpluUFBmV8H/gqcCJwN/MzMTnTObQwrbxv8sTgySD8faI0/\n716Ps5zxiHVMwPftPhO/36bhm8ZD5avs6zS+wpo1AmYCPwVmBK9m+P35Vjnz+h2+7/o2/H79El+n\nnQL8En9sQ2kTqSej6QWMwe/P54J1twEuBAab2anOuQVRljsWmAN8BvwTOAK4BHjRzPo650JfbDH/\nhWoK/kvbAvw1dTjwG3wTbdIKru3Q3fKN+LrvG3yd1xt/7RaWsfwxwBv4a+Vy59xTB7rMEc7DX+Ov\n4T/z2uOv+9A1vinKMg/gr7NX8J+rfYBr8PXimVVR6HJzzulVzhe+knX7SZMO7ArSHhc2vSDasvhg\nY1WMvGIt8xPgO/wFdmLEvPb4SumjiOmTgzKtDS9X2PzewfyZwOER83KDeX+KUnaHv1jqhk1vgg+K\nvwdqhU0/Mdg3m4CTopShZdjfbfEB2AqgRUS6Pvhg9IU4j1uo/A7f/zR83g3B9Ckx9tetEdPr4Cuo\nEqBz2PScIP24GGWYjg+0G4ZNm4UP8jYC/wyb3inI64lKOubl3QYH5EYsc00w/bGKXi9A32DdJcCx\nwbRWYeu+O97rAbg0WGYWUCds+hH44NIBBRHLjAum/wVIC5ueBjwRzDs3zm08NjyPsOlXBvmMjnEu\n7gb6RMy7J8bxeiuYfkPE9HNjHa84roXJEdMNeJKIayFsXxUBXaLkV+7rNMZxDJUr6nbEOI75RK+X\nsvixDh4Xx7rPCtJ+FrkNwfzweqnc9WQZx6IJ0CDK9E746/n1iOmtwo73HRHz+gXTX4uYflsw/Tmg\nRtj04/D18D7nQhnlDa3/++C8iPXa57pn//XjKiI+B4G8YJk5hNWb7sdrtVms8yfYh18Bm4G+8Wxf\nRDlXxdi2nIj0a4AVEdOuCvLYFSX9H4N5N0dMfyqY/nnE+VYrONcc0DXe7ajKV7UXIBVf0S6SGOm+\nDtJmh00riLZstIsojmVCAdD1MZb7UzD/xLBpk4nygRQ2/4Vg/j5BXjB/HrAhStkd0DpK+tAHU/uw\naX8Jpt0Uxz4MbcPAMsq7myiVcZS0oYpmSpR5afgPQsePgc2RQd4fxsgvFOzdHzYtVAmNi7HMHcH8\nwcH/DYLK5j7gP8DasLQ3B2kvTfSYV3AbZkRJXysob2F5rxd+rIjvAv4vKJcDHgxL2yqY9jWQHu/1\ngO976YDeZRz3grBpNYBvgXVAzSjLHI4Pcv8d73bGKKvhP8imxijTU1GWOS6Y939h01ryY6ATLWgt\nILFgcn7YcfkT/vp2QDHQPSz9OMoIkEjgOo1xHEPlirodUY5jLXyAu4WIQCOYP5ko12OMdb8cpD0/\njv1X7noywfPnJfzd8vAv46FrZFWMc2E1sDFi2qf4gD4zSvrQsZ0cZ5lC64/rFbFsTrTjETZ/FfsG\nkwuDZfb5ElPGeZ2Lv4O3BX/jpFM593tOrO2JcT6VFUzus1/xd54d8L8R00PB5D7nP771wwHXVvS8\nOhAvNXMfWGU1F1WGHsF7pxh9UNoG7+2AJRHz5pSR5y7gIjO7KMr82kBjMzvSOfdt2PTNzrlo42x9\nGbyH9xvrHrzH0zQX2sbTzexnUeY3wQeCbYG5ceQHvilyL865PWY2A9+M0AVfIf8syDtWH59awXvU\n/m0xTMVX3n3wHxSn47ubTMFXpBeaWTvn3FLgjLBlQsp7zCuyDfs0HTnndpnZevY+nvG6I5QN/q7G\ne/i7rtGanRY453aUI++u+OBvRpR5BVGmtcXftfwUuN2id+v9gTiPbdBkfg2+v/SJ+Obf8L5oLWIs\nGq15Lto10yV4n+Gc28O+CkisubJT8AJ/3a/DN5ne65yLrDOg7HoDKvc6jccJ+Key33PObY4yvwDf\nPBqP7vhz84040iZaT0Zlvt/rtfi7qY3YtwtaI/yxCTc/xrnwJT8eD8ysAb6J90sX/UGRAn68Nstj\ntXOuVayZVgnDAplZfXyLy3rn3LxyLHoh/k7zp8AAl3j3inedczkJLhsS7zVe0WWqlYLJA8TM6uA/\nrMD37zgQjgzer95Puowo074uI8+a7L9yycDf2Qn5Pka63cF7+Liboc7pa/ezjlB5AH4VR3nitT7G\n9NA+CfUDC637Z8GrMtY9G38nJdRPsg++eXAGPpgE6GNmn+L7Ui1xzoUfq/Ie84psQ1nHtLzjqOKc\nixqxxRDr/IylIbDJObcrzrxC+6UNZZ/r8R7bZ/F9Jj8DXgzWGQqGb8R3e4lmn33snNsdBLfh+zh0\nTu7v3C2vJ51zueVIX1a9AZV7ncajMvfL4cB3zrkf4kibaD25DzO7Ad9X/jv8HfYv8HeGHb6/XSei\nnz9lXZ/hX2QO1LlTFcrzWRGuB/6L8gf8GIRVl2jHKdrnYkWXqVYKJg+cnvj9u97FOeRJAkLfxDs5\n5z4u57KxvjVuxvepOSLG/MoQulBaEAzMXobQNjZ08XVmj0fTGNOPilhn6P1PrnzjIMYU3NmbAfQz\ns6PwweQs51wxsNzM1uD7En6EbwKfGpFFeY95pW9DFSnvXY3NwBFmVitKQHlUjPTg+/FdUO7ShQme\nJj0f/3DGAOfc7rB5NfAPMVVUqLz7O3cPtLLqDaj4dVoSvO/z2WTRn5CuzP3yPXCkmdWNI6CslHrS\nzGriWyq+xveFWxcxv0e05copWc4dKOP4Bg5n70Aq/LOiPG7DP8h2Bf4ZniudcyX7WUYqQEMDHQDB\nB0joad1/HcBVhQYUPq2S8/yJmZ1UiXlGWwf4J6rjTVuZ27hPc6D5XyzqGfwbak6Zg6/8yrPuULNT\nWd8epwTvQ/BNOFPC5k3F99c5MyJtSHn3RyLbkIo+wtdnPaPMy4kybRn+g6p70ERdEa2D95fCA8lA\nNv5J9IoKnZM9Lfqva+VUwjoqorKu0++C96OjzIs2BMwy/F28zmbWMMr8nHKseza+a1L/ONNWRj3Z\nCB9AzYwSSGbgu29UiPOjCKwAWphZZpQkORVdRznEPL5m1pqw0QEAnHNFwCKgqZl1iVymDDvwTd3/\nwfeffCoI3OUAUTBZycysCfC/+Av0C+DuA7i6SfgPxDvMLDtyppnVsGBsvnL4U/D+N4s+Nlx9M+se\nOb2cJuBv2f/Goo+j1jLs30fwfZP+ZGZto6StbWbl/QA7w/Ydi20kvr/kNOfcagDnB5t/GsgyP37h\nPh/iZpZpZseFTQo1aR1TxvpDdxvH4D+8IoPJhvjhkUrYt79fuY55gtuQiiYF73cFXUwAMLMjgH2G\nPQqCvr/gh5D5s5ntE/CZWbNo52cUq4L3nIjlmwCPxlP4/XHOrcE3gR6HP1fD13Mu1T+8S2Vdp4X4\n8/5SMyv9hZrgON4fmTi4C/00/i7+uIh1ZgFDy7ENfwneHzCzfe6ERUyrrHpyAz4YPjkIHkPL18IP\n39Yo3sLvxyT85/19FjZ+anDd/08lrSMey/APxZwbXB+hctQF/hxjmdD0xyO/MAT1XbNoCwXnxhD8\nQy1DgGcr4YujxKBIvQLCHmiowY8/p9gT3/l6DjDUhY0TV9mcc9+a2YX4Jwtnm9kUYDG+KepofL+R\nI/FDwMSb5xQzG4MfnuRTM3sNP0xBBn74k9Px/fvi+fYeax1LzOw6/Dhw88zsRXxH6SPx/fq2EAzU\n7pxbFoxfNxFYbGZv4McerIUP2E7D90k9oRxFeBl4wcxewH9j74y/S7oJH8SFG4nvV/d74LKgiXo9\nfuy5dkF5h+D3Efgxz9YCvzCzXfgHeRx+yJ/VQZp5+G/oTYCt7P1QQyiwbIJ/YnqvvjMJHvPybkMq\negY/xt5gYFFwTtXC3534EP9FIdKd+P5o1+LHQZyKP3ZN8PvrVHwLQ7QHUcJ9CLwPXGBmM/HXR1P8\nOfUJfmiSynA9fuijh8zsLPx4ga3xTewvA+dU0nrKrbKuU+fcOjN7Gj++53wzexU4DN9kOZ0fH0QK\ndxu+u8iNQQAZGmfyEvxwZYPj3Ia3zI8PfDuw1MxC40w2xdfrs/F3uSqtnnR+TOI/479YLgzO29r4\n+u8I/NiTlfErRA/g+1/+HPjIzN7Ef2ZdjN+vce2jigq6+TyMH99yXlAH18S3xHxF9Gvl7/jz5zL8\nvn4Rfy41xz+kOJGILxJh69tjfvD67finq583swvL+XCfxKO6HydPxRf7DhOwAz/u31zgb/gKpEaM\nZQuopKGBwua3wt8Z+BR/0WzBfwP8J3BeRNrJQZlb7Wcbe+IHgf4K/4DIN/hhRB4EsspR9nHB+nKi\nzOuBH/csNJj3V/gnKS+MkrZDUPbVwf7ehG/+eBw4I87jlsuPw0YMwn8wF+Hv9D0HtI2xXG18QDYT\n3/9oB/6u8xT8wxVHRqT/WTBvM/4uyz7bH6zPAa9GWd8nwbz7KuOYl3cbSGD4jniulzjTtmI/w5QQ\n+xqqjR9w+rNg+1bhhyFKJ2JImbBlDP8hNSU4p3biA8oZ+CDl6DjLfQT+l2NWBcdjJb5Vol60/UUC\n4ykG01vjh1X6Pjh3ZwED95dfGddCzP0c73Wc6HVaxnFMx4/Dt4Yfx64ciw86Yu2Xo/BBxTf4p/Dn\nB9sY9VyOte5g3tn4emhTsA1f4r+87VPPUI56sox9VhM/DNiSoOxf46/jY4lSX7Ofa6SM/XpYUK61\nwTm6DD8I/U/LeS6E1l9mHUCM6x5/zY3BXyM78fXQ/cS4VsKWG4ofiWNzUP7P8Xelu4alCZ3XuVHW\nGRqS7k3CxkOOsa7QebPPuRYjfVlDA/0yxjF3wDsR00NDA7WMskzfYN7t8ZSpql8WFFJERKTKmNls\n/NiBMX/uUkRSg/pMiohIlQr67v4Uf0dHRFKcgkkREakyQV/zN4HG+CZ7EUlxauYWEZEqY2Yl+H5y\n/wF+45zbXs1FEpEKUjApIiIiIglTM7eIiIiIJEzBpIiIiIgkTMGkiIiIiCRMwaSIiIiIJEzBpIiI\niIgkTMGkiIiIiCRMwaSIiIiIJEzBpIiIiIgkTMGkiIiIiCRMwaSIiIiIJEzBpIiIiIgkTMGkiIiI\niCRMwaSIiIiIJEzBpIiIiIgkTMGkiIiIiCRMwaSIiIiIJEzBpIiIiIgkLJWCyQuBvwDvAVsABzyV\nYF4tgYnAV8AOYBXwEPCTCpdSRERE5BBSs7oLUA63A52AbcAa4IQE88kEZgJNgBeBZUA2cAPQHzgV\n+LaihRURERE5FKTSncmbgLbAYcCICuTzGD6Q/B/gPGAMcAbwJ+B44K6KFVNERETk0GHOueouQyJy\ngGnA08Avy7FcJrAC36ydCZSEzWsArAMMH2wWVUI5RURERA5qqXRnsjL0Dt7fYu9AEmAr8D5QD+he\nlYUSERERSVWHWjB5fPC+PMb8T4P3tlVQFhEREZGUl0oP4FSGhsH75hjzQ9MPjyezRo0auVatWlW0\nTCJSTqtWrWLjxo3VXQxJQKNGjVC9KVI95s6du9E517iy8z3UgslK1apVKwoLC6u7GCKHnKysrOou\ngiRI9aZI9TGz1Qci30OtmTt057FhjPmh6d/HysDM8sys0MwKv/nmm0otnIjIwSg/P5+srCyysrJQ\nvSly8DnUgslPgvdYfSLbBO+x+lTinMt3zmU557IaN670O8UiIgedvLw8CgsLKSwsRPWmyMHnUAsm\npwXvZ7HvtjfAD1heDMyuykKJiIiIpKqDNZishf+FnMyI6SvxwwK1Aq6PmPc7oD7wTzTGpIiIiEhc\nUukBnPOCF8BRwXsPYHLw90ZgVPB3C2ApsBofOIa7Dv9zin8G+gTpuuHHoFwO/LrSSy4iIiJykEql\nYLIzMCxi2k+DF/jAcRT7txLIAn6P/y3us/G/fPMw/u7kd5VRWBEREZFDQSoFk+OCVzxW4X8WMZYv\ngSsqVhwREREROVj7TIqIiIhIFVAwKSIiIiIJUzApIiIiIglTMCkiIiIiCVMwKSIiIiIJS6WnuZPO\nwrWbaTXm1eouhshBYdW9A6u7CFIFVG+KVK5kqDt1Z1JEREREEqZgUkREREQSpmBSRERERBJWKcGk\nmTkzuzDW/xXMu1WQX1Zl5FdVeYuIiIgcCg7UnclmwMsHKO+EmNlkM3ulusshInIwmTx5MhkZGdVd\nDBGpRgfkaW7n3NcHIl8RERERSS5x3Zk071YzW2lmP5jZQjP7ZRnpS5u5gzuCLsorN5jf38zeM7Pv\nzGyTmb1pZu2iZNvWzGaY2XYzW2ZmZ0Ws80Qze9XMtprZBjN7xsyOCuaNA4YBA8PWnxO2+LFm9raZ\nFZvZEjM7M579IiKS6oqKirj88svJyMigadOm3HPPPQwaNIjc3FwAvvvuO4YNG8ZPfvIT6tatS9++\nfVm8eDEABQUFXHHFFRQVFWFmmBnjxo2rvo0RkWoRbzP3H4ArgeuBE4F7gMfNLJ7BjW7AN3uHXr8G\nioHCYH594CEgG8gBNgMvm1ntiHzuB/4MdAbeBl40sxYAZtYMmA4sCvLpC2QEaWoA44F/A++ElWNm\nWN53BXl3Aj4E/tfM1G4jIge9W265hXfffZcXXniBqVOnsmDBAt57773S+bm5uXzwwQe8+OKLzJkz\nh3r16tG/f39++OEHTjnlFB566CHq1avHunXrWLduHaNGjarGrRGR6rDfZm4zqw/cDJzlnAvVMJ+b\nWTY+uCxz9Fnn3GZ8gIiZnQb8FhjinFsUzH8uYn1XAFvwQeGMsFkTnHP/DtLcAPQDRgC3B+8LnHOj\nw/K5HNgEZDnn5pjZD8CO8CZ4Mwv9+Sfn3MvBtNuAy/FBa/j6Q8vkAXkAaYc1LmvTRUSS2rZt25g4\ncSL/+Mc/OPNM3yDzxBNP0LJlSwA+/fRTXnrpJd5991169eoFwD//+U+OOeYYnn76aa666ioaNmyI\nmXHUUUfFXE9+fj75+fkA7CnefIC3SkSqWjx9Jk8E6gBvmJkLm14LWBXvisysFfAc8Hvn3Ath0zOB\nO4FuQGP83dIawDERWcwK/eGcKzGzD4KyAZwM9DKzbVFWnQnM2U/xPg77+6vgvUm0hM65fCAfIL1Z\nGxctjYhIKli5ciW7du0iOzu7dFr9+vVp3749AEuXLqVGjRr06NGjdH7Dhg3p0KEDS5YsiXs9eXl5\n5OXlAZDerE0llV5EkkU8wWSoKfwc4IuIebviWUnQZPwS8KZz7u6I2a8Aa4BrgLXAbmAJENnMvb8y\nvgpEa19ZH8fypdvhnHPBHUuNwSkiEkNYy46IHOLiCZiWADuAY51zKyJeq/e3cNBn8WlgK3BVxLwj\ngROAu51z7zjnlgINiB7kdg9bzvDN4EuDSR8BJwGro5Rxa5BmJ5AWx/aKiBwSMjMzqVWrFh9++GHp\ntOLiYhYtWgRAu3btKCkpYdas0oYhtmzZwsKFCznxRN8wVLt2bfbs2VO1BReRpLLfYDIIxsYD481s\nuJm1NrPOZnZt0H9wf+4AeuD7Nf7EzI4KXnWB74CNwNVBvqcDf8XfnYw0wswuNLPj8Q/sHAtMCOY9\nCjQEnjWzbmb2UzPra2b5ZtYgSLMKaG9mx5tZIzOrFUfZRUQOWhkZGQwfPpzRo0czZcoUlixZwlVX\nXUVJSQlmRps2bTj33HO55ppreO+991i4cCG//OUvOeyww7j00ksBaNWqFdu3b+ftt99m48aNFBcX\nV/NWiUhVi7cp9zfAOHwz8mL809Q/Bz6PY9nT8X0hFwDrwl6XOOdKgEuAjvgnsR8N1rUjSj5j8A8C\nLQD6A+c759YAOOe+Ak4FSoA3gjI+GuQTyutv+DuZhcA3QXoRkUPa+PHjOe200xg8eDC9e/emY8eO\nZGVlUadOHQAmTZpEdnY2gwcPJjs7m+LiYt544w3q1q0LwCmnnMK1117LkCFDaNy4Mffff391bo6I\nVANzTs+QJCq9WRvXbNhD1V0MkYPCqnvjGWnMy8rKorCwcP8Jpdx27NjBsccey69+9StuueWWSs8/\nvVkbVG+KVJ7y1J1mNtc5V+k/IX1AfgFHRERSw7x581i6dCnZ2dls3bqV++67j61bt3LJJZdUd9FE\nJEUomBQROcQ9+OCDfPLJJ9SsWZPOnTszffr00rEmRUT2R8FkBXRo0ZDCctxeFhFJNl26dKnSLgOq\nN0UOPhpLUUREREQSpmBSRERERBKmYFJEREREEqY+kxWwcO1mWo15tbqLIVIlyjP8hEgsqjclGal+\nqxjdmRQRERGRhCmYFBEREZGEKZgUERERkYQdUsGkmY0zs0X7SfOImRVUUZFERJJebm4ugwYNKjPN\noEGDyM3NrZoCiUhS0QM4IiJSpocffhjnXHUXQ0SSlIJJEREpU8OGDau7CCKSxJKqmdu8W8zsUzPb\nYWZrzOyeYF4HM3vHzH4ws01mNtnMGoYtO9nMXonIr8xmbTNLM7PxZvZd8HoISDtgGygiUk2mT59O\n9+7dycjIoGHDhmRnZ7No0SK+/fZbhgwZQsuWLalbty4nnXQSkyZN2mvZyGbu4uJicnNzycjIoGnT\nptx9991VvTkikkSSKpgE7gZ+A9wDnARcBHxpZvWBN4FtQDZwPnAKMLGC67sFuBq4BuiBDySHVjBP\nEZGksnv3bs4991x69uzJggUL+OCDD7jxxhtJS0tj+/btdO3alVdeeYXFixdzww03cM011zBlypSY\n+Y0aNYq3336b5557jilTpjBv3jymT59ehVskIskkaZq5zSwDuAm40TkXChJXALPM7GqgPnCZc25r\nkD4PmGZmrZ1zKxJc7Y3A/c65fwd53gD0208584A8gLTDGie4WhGRqrNlyxa+//57zjnnHDIzMwE4\n4YQTSuf/6le/Kv07Ly+PqVOn8swzz9CnT5998tq2bRtPPPEEEydOpF8/X11OmjSJli1bxlx/fn4+\n+fn5AOwp3lwp2yQiySOZ7kyeCKQD0b4OtwM+DgWSgZlASbBcuQVN5M2AWaFpzrkS4IOylnPO5Tvn\nspxzWWk9mV3ZAAAgAElEQVT11I9IRJLfEUccQW5uLv369WPgwIE8+OCDfPHFFwDs2bOHu+66i44d\nO3LkkUeSkZHB888/Xzo/0sqVK9m5cyc9evQonZaRkUGHDh1irj8vL4/CwkIKCwtRvSly8EmmYDJR\noUcMSwCLmFerissiIpKUJk2axAcffECvXr146aWXOP7443nzzTcZP348DzzwAL/61a+YMmUK8+fP\n57zzzmPnzp3VXWQRSRHJFEwuBXYA+7ar+HkdzKxB2LRT8OVfGvz/Df5OY7jOsVbmnNsMrAO6h6aZ\nmeH7ZIqIHHQ6derE6NGjKSgoICcnhyeffJIZM2ZwzjnncNlll9G5c2cyMzNZvnx5zDwyMzOpVasW\ns2fPLp1WVFTEokVlDuErIgexpAkmgybsh4F7zOwKM8s0s2wzGwE8DRQD/wie6u4FPA48H9ZfcirQ\nxcyGm1lrM7sVOHU/q30YuNXMLjSz44GH2DcgFRFJaZ9//jljxoxh5syZrF69mmnTpvHxxx9z4okn\n0rZtW6ZMmcKMGTNYtmwZI0eO5PPPP4+ZV0ZGBldeeSWjR4/m7bffZvHixQwfPpw9e/ZU4RaJSDJJ\nmgdwAmOB7/BPdLcE1gP/cM4Vm1k/fLA3B9gOvAjcEFrQOfemmf0OuAuohw9AHwMGl7G+B4CjgL8H\n//8zWK5dJW6TiEi1qlevHsuXL+eiiy5i48aNNG3alKFDhzJ69Gi2bdvG559/zoABA6hbty65ubkM\nHTqUJUuWxMxv/PjxFBUVcf7551OvXj3+3//7fxQVFVXhFolIMjH9qkHi0pu1cc2GPVTdxRCpEqvu\nHVjdRSiVlZVFYWFhdRdDEpDerA2qNyXZJFP9diCZ2VznXFZl55s0zdwiIiIiknqSrZk7pXRo0ZDC\nQ+TbjIhIZVC9KXLw0Z1JEREREUmYgkkRERERSZiCSRERERFJmPpMVsDCtZtpNebV6i6GyD4OlScT\nJfWo3pRkorqycujOpIiIiIgkLNWCyZbAROAr/E8vrsIPZP6TcubTEz/o+Sr8AOhfAK8B/SupnCIi\nIiKHhFQKJjOBucAV+F/B+RPwGf5XcGYBR8aZzwjgPfxvgL8X5PMucDrwOvDrSi21iIiIyEEslYLJ\nx4AmwP8A5wFjgDPwweDx+J9RLFNaWtqTAwYM+DP+buTJwGX4n3C8DMgCdpx99tm/r1Wr1j8OyBaI\niIiIHGRSJZjMBM7CN0s/GjHvDqAIHxDWLyuT+vXrp6elpdUElgOfRMxeCiyvUaNGjdq1a9eqjEKL\niIiIHOxSJZjsHby/BZREzNsKvA/UA7qXlcnWrVu37969eyfQFmgTMbst0KaoqGhLcXHxjooXWURE\nROTgV23BpJn1N7OtZlYz+L+1mTkz+2tYmj+Y2TvA8dOnT6dly5b9zWy7ma03sz+ZWe0g6ac5OTmc\neuqpv4lYx2QzeyV82rJlyxbht3vu999//1SvXr0+rlOnzq4mTZosGzNmzLcfffTR3AO75SIiyWH6\n9Ol0796djIwMGjZsSHZ2NosWLQJg5syZnH766dSrV48WLVowYsQItmzZUrqsc47777+fzMxM6tat\nS4cOHXjqqaeqa1NEpBpV553JGUAdfF9FgBxgY/BO2LSCJUuWNBswYADNmzf/HOgCXAkMAe4J0m0G\nSE9PT9/fSlevXr0O39fy+9tuu23oypUrO7z44os133rrrU2vvPLKhi1btmTtLw8RkVS3e/duzj33\nXHr27MmCBQv44IMPuPHGG0lLS2PhwoWcddZZDB48mAULFvD8888zf/58hg8fXrr87bffzhNPPMGj\njz7KkiVLGDt2LNdccw2vvqoxJEUONdU2aLlzbpuZzcU3Yc/GB46PAGPMrBk+QPwZMObuu+++oHnz\n5syYMePp2rVrLwWWmtkY4HEz+41zLu71HnfccS2Ad7799tuX/vrXvx512GGH5fXr12828JvZs2df\n2rRp013FxcUxlzezPCAPIO2wxolsuohItduyZQvff/8955xzDpmZmQCccMIJAFx++eVccskl3HLL\nLaXpJ0yYQJcuXdiwYQP169fnwQcf5K233uK0004D4LjjjmPOnDk8+uijDBy490DQ+fn55OfnA7Cn\neHNVbJ6IVKHq/gWcAnwQeQ9+aJ4/44PLHOAbYDcwZ9myZRndu3endu3ah4UtOwOoDbQGGgLs2LGj\nzL6OjRo1Oqxdu3adgI9atmx5j3Pu4s2bN0/HDzF0WUZGxvFdu3Y9ee3atUfFysM5lw/kA6Q3axN/\nFCsikkSOOOIIcnNz6devH3369KFPnz5ceOGFHHPMMcydO5cVK1bw7LPPlqYPfWlfuXIlNWvWZPv2\n7fTv3x8zK02za9cuWrVqtc+68vLyyMvLAyC9WWR3dRFJdckQTI40s3bAYfhxJAvwAeUGYJZzbucJ\nJ5ywLUjfNkoeDmhTo0YNNm3aFPmVd6+nso899tjm5mu+d7dv3x4ZCJYA04GTGzduHO+YlSIiKWvS\npEnceOONvPHGG7z00kv8+te/5r///S8lJSVcddVV3HTTTfss06JFCz7++GMAXn75ZY455pi95teq\npcEwRA411R1MzgDSgVuBGc65PWZWAPwNWA+8AVBUVDRr9uzZXfbs2XNWWlpaDXzg1xPY+cADD6wH\nTj3yyCP3zJgxIzL/TvjhhABIS0tLC/5sDKwEduGfAP8M4Lvvvjtq0aJFZGZm7jkQGysikmw6depE\np06dGD16NAMGDODJJ5+ka9euLF68mNatW0dd5sQTTyQ9PZ3Vq1dzxhlnVHGJRSTZVGswGdZv8pf4\nwcPB959sCRyHH5icNWvW3F2nTp1rrr/++lYDBgz4/XnnnTcLuBd45Oabbx4D1M/MzJy+a9eus8xs\nMPBJy5Ytx9SoUePYkpKSVaH1ffXVV+sbN24McKFzbryZPQHcZ2bf3HbbbQ2WL19+8Z49e1izZs3X\nVbUPRESqw+eff87jjz/O4MGDadGiBZ999hkff/wxI0aMYPDgwXTv3p1rr72Wa665hgYNGrBs2TJe\nfvllHn/8cRo0aMCoUaMYNWoUzjl69erFtm3bmD17NjVq1Cht0haRQ0MyjDNZgA9qCwCcc9uBD/C/\nvT0nmLa2b9++v/zwww93X3zxxb8+/PDDnxs4cOAXRUVFXYGbgOUXXHDBxfjf7Z4IvD98+PDcyy67\nLCN8RWvWrNm4fv36L4G6wIebNm1q1LNnz8116tR57W9/+9tzHTt2TMvMzPx8/fr131fNpouIVI96\n9eqxfPlyLrroItq2bcuwYcMYOnQoo0ePpmPHjkyfPp1Vq1Zx+umn06lTJ8aOHUvTpk1Ll7/zzjsZ\nN24c48eP56STTuLMM8/kueee47jjjqvGrRKR6mDleRI6CRwN/B7oj/8t7nXAC8DvgO8i0oY2zCKm\nGzAMyMU3gzcAtgDz8M3r/xtvYdKbtXHNhj1Urg0QqQqr7h24/0QpLCsri8LCwuouhiQgvVkbVG9K\nsjjY68pIZjbXOVfpQyBWd5/J8voSuCLOtJFBZIgDJgcvEREREamAZGjmFhEREZEUlWp3JpNKhxYN\nKTzEbpGLiFSE6k2Rg4/uTIqIiIhIwhRMioiIiEjCFEyKiIiISMLUZ7ICFq7dTKsxr1Z3MSQFHWrD\nUYiEqN6UA0l1a/XQnUkRERERSZiCSRERERFJmIJJEREREUnYIRdMmtlkM3tlP2leMbPJVVQkEZGU\nM27cONq3bx/zfxE5dByKD+DcQOyfWhQRERGRcjjkgknn3ObqLoOIiIjIwSIlm7nNrJeZzTazbWa2\n2czmmFl7MzvSzJ4xszVm9oOZLTazKyKW3auZ28zqBdO2mdl6M7ut6rdIROTAeuONN2jQoAG7d+8G\nYMWKFZgZ1157bWma22+/nb59+wKwZMkSBg4cSIMGDWjSpAlDhgzh66+/rpayi0hyS7lg0sxqAi8C\nM4BOQDfgIWAPUAf4CBgEnAQ8DDxuZn3KyHI8cCbwc6AP0AXodaDKLyJSHXr27Mn27dspLCwEoKCg\ngEaNGlFQUFCapqCggJycHNatW0evXr1o3749c+bM4Z133mHbtm2ce+65lJSUVNMWiEiySrlgEjgM\nOBx42Tm30jm3zDn3L+fcUufcWufcH51z851znznn8oHngSHRMjKzDOBK4Fbn3JvOuUXAFUDM2tLM\n8sys0MwK9xSrxVxEUkNGRgYnn3wy06ZNA3zgOHLkSFavXs26desoLi7mww8/JCcnhwkTJtCpUyfu\nu+8+2rVrR8eOHfnHP/7BnDlzSoPR8sjPzycrK4usrCxUb4ocfFIumHTObQImA2+a2atmdrOZHQNg\nZmlm9msz+9jMvjWzbcAFwDExsssEagOzwvLfBiwsY/35zrks51xWWr2GlbRVIiIHXk5OTumdyHff\nfZcBAwbQrVs3CgoKmDlzJjVr1iQ7O5u5c+cyffp0MjIySl9HH300ACtXriz3evPy8igsLKSwsBDV\nmyIHn5R8AMc5d4WZPQT0BwYDd5nZeUBn4Bb8E9sLgW3A3UCT6iqriEiyyMnJ4ZFHHmHp0qVs2bKF\nk08+mZycHKZNm0aTJk3o0aMHtWvXpqSkhIEDBzJ+/Ph98mjatGk1lFxEkllKBpMAzrkFwALgPjN7\nHRgGNMA3f/8TwMwMaAt8HyOblcAuoDvwWbBMfaB9ME9E5KDRs2dPduzYwf3330/Pnj1JS0sjJyeH\nq6++mqZNm9K/f38Aunbtyr///W+OPfZYatWqVc2lFpFkl3LN3GZ2nJnda2anmNmxZtYb6AgsAZYD\nfcysp5mdADwCHBcrr6BJ+wl8QHqmmZ0ETATSDvyWiIhUrVC/yaeeeorevXsD0L17d9asWcPs2bPJ\nyckB4Prrr2fz5s1ccsklfPDBB3z22We888475OXlsXXr1mrcAhFJRikXTALF+LuN/8EHj08CTwP3\nAX8A5gCvA9OBomBeWUYB04AXgvdFwbIiIgednJwcdu/eXRo41qlTh27dupGenk52djYAzZs35/33\n36dGjRr079+fk046ieuvv5709HTS09OrsfQikozMOVfdZUhZ6c3auGbDHqruYkgKWnXvwOouQkrL\nyspK6KliqX7pzdqgelMOFNWtZTOzuc65rMrONxXvTIqIiIhIkkjZB3CSQYcWDSnUtyARkbip3hQ5\n+OjOpIiIiIgkTMGkiIiIiCRMwaSIiIiIJEx9Jitg4drNtBrzanUXQ6qYnhYUSZzqTYmX6trUoTuT\nIiIiIpIwBZMiIiIikjAFkyIiIiKSsKQOJs3sFTObXN3lEBE5lOXm5jJo0KAy0wwaNIjc3NyqKZCI\nJJWkDiZFREREJLkd1MGkmdWq7jKIiIiIHMySJpg0s3pmNtnMtpnZejO7LWL+L83sQzPbamYbzOw/\nZtYibH6OmTkzO9vM5pjZTqBfMO9sM/vAzH4ws2/N7GUzq2NmvzWzRVHK8r6Z/fmAb7SISDm98cYb\nNGjQgN27dwOwYsUKzIxrr722NM3tt99O3759AZg+fTrdunWjTp06NG3alJtuuomdO3eWps3JyWHk\nyJF7rWN/zdrFxcXk5uaSkZFB06ZNufvuuytzE0UkxSRNMAmMB84Efg70AboAvcLm1wbuADoBg4BG\nwDNR8rkPuB04AfjAzPoDLwFvAycDvYF38ds+ETjBzLJDC5vZ8cApwBOVuG0iIpWiZ8+ebN++ncLC\nQgAKCgpo1KgRBQUFpWkKCgrIyclh7dq1DBgwgC5dujBv3jyeeOIJnnnmGcaOHVuhMowaNYq3336b\n5557jilTpjBv3jymT59eoTxFJHUlRTBpZhnAlcCtzrk3nXOLgCuAklAa59xE59xrzrnPnHNzgBHA\naWbWMiK7cc65t4J03wC/Af7POXe7c26Jc+5j59x451yxc24N8AYwPGz54cBc59yCGGXNM7NCMyvc\nU7y50vaBiEg8MjIyOPnkk5k2bRrgA8eRI0eyevVq1q1bR3FxMR9++CE5OTk89thjNG/enMcee4x2\n7doxaNAg7r33Xh555BGKi4sTWv+2bdt44oknuP/+++nXrx/t27dn0qRJ1KgR++MkPz+frKwssrKy\nUL0pcvBJimASyMTfeZwVmuCc2wYsDP1vZl3N7EUzW21mW4HCYNYxEXkVRvzfBZhSxrr/BvzCzOqa\nWRpwGWXclXTO5TvnspxzWWn1Gu5vu0REKl1OTk7pnch3332XAQMG0K1bNwoKCpg5cyY1a9YkOzub\npUuX0r17970CvZ49e7Jz505WrFiR0LpXrlzJzp076dGjR+m0jIwMOnToEHOZvLw8CgsLKSwsRPWm\nyMEnJX5O0czqA28C7+CDvQ34Zu738EFouKJyZv8qUIxvXt8MHA78qyLlFRE5kHJycnjkkUdYunQp\nW7Zs4eSTTyYnJ4dp06bRpEkTevToQe3akVXj3swMgBo1auCc22verl27DljZReTgkyx3JlcCu4Du\noQlBANk++PcEfPB4m3NuunNuGdAkzrzn4ftgRuWc2w1MxjdvDweed86pHUZEklbPnj3ZsWMH999/\nPz179iQtLa00mAz1lwRo164ds2fPpqSktMcQM2bMoHbt2mRmZgLQuHFj1q1bt1f+CxZE7eUDQGZm\nJrVq1WL27Nml04qKili0aJ9nGUXkEJEUwWTQpP0EcJ+ZnWlmJ+EfjkkLknwB7ABGmtlPzWwgcGec\n2d8FXGRmfzCzE83sJDO7yczqhaX5O3A6/sEePXgjIkkt1G/yqaeeonfv3gB0796dNWvWMHv27NJg\n8rrrruOrr77iuuuuY+nSpbz66quMGTOGkSNHUq+erwLPOOMMXn/9dV566SU++eQTbr75Zr788ssy\n133llVcyevRo3n77bRYvXszw4cPZs2fPAd9uEUlOSRFMBkYB04AXgvdFwHSA4EGaYcB5wBL8U903\nx5Opc+414HxgAP4u5bv4J7rDH+75LJj+BVBQGRsjInIg5eTksHv37tLAsU6dOnTr1o309HSys/0A\nFS1atOD1119n3rx5dO7cmeHDhzNkyJC9hvIZPnx46evUU0+lQYMGnH/++WWue/z48fTu3Zvzzz+f\n3r170759e3r16lXmMiJy8LLIvjKHKjNbAjztnLsr3mXSm7VxzYY9dABLJclo1b0Dq7sIh7ysrKzS\noXEktaQ3a4PqTYmH6trKZ2ZznXNZlZ1vSjyAcyCZWWPgQqAV8Hj1lkZEREQktRzywST+yfCNwDXO\nuY3VXRgRERGRVHLIB5POOUt02Q4tGlKo2/AiInFTvSly8EmmB3BEREREJMUomBQRERGRhCmYFBER\nEZGEHfJ9Jiti4drNtBrzanUXQ6qAhqgQqRyqNyUa1bGpTXcmRURERCRhqRZMtsT/zOJX+J9XXAU8\nBPwkgby6Av8C1gR5rcf/Cs7llVFQERERkUNBKjVzZwIzgSbAi8AyIBu4AegPnAp8G2deI4GHge+A\nV4G1wBFAe+Bs4B+VWXARERGRg1UqBZOP4QPJ/wH+Ejb9QeAm4C7g2jjyOQv4M/A2/pdvtkbMr1Xh\nkoqIiIgcIlKlmTsTHwSuAh6NmHcHUARcBtSPI68/Aj8Al7JvIAmwK+FSioiIiBxiUiWY7B28vwWU\nRMzbCrwP1AO67yef9kDHIJ9N3377bV9gFHAL0IfU2R8iIiIiSSFVgqfjg/floQlmVmBmE8zsgfr1\n65/euHFjhgwZco2ZpZvZo2b2vZl9YWaXBelbmdnCZ555hvbt22enp6fvfuaZZ97evHnzHy+77LLx\nTZo0eSc9PX137dq1vzCzG6tlK0VEEuCc44EHHqBNmzakp6fTsmVLxo4dC8DChQvp27cvdevW5Ygj\njiA3N5fNmzeXLpubm8ugQYO47777OOqoo2jYsCFjxoyhpKSEcePG0aRJE4466ijuu+++vda5efNm\n8vLyaNKkCQ0aNOD000+nsLCwSrdbRJJDqvSZbBi8b46YPhR48LXXXptYWFg4YtSoURcBDYA3gCxg\nGPB3M3sntMDYsWP54x//eFTnzp3XLVu2bGyzZs1Odc71+s9//rOqQ4cOA5YuXcqFF164PlZBzCwP\nyANIO6xxJW6iiEhibrvtNiZMmMCDDz5Ir169+Oabb5g3bx5FRUX069eP7Oxs5syZw6ZNm7j66qsZ\nPnw4zz33XOny06dPp2XLlhQUFDBv3jyGDh3K/Pnz6dKlCzNmzGDq1KmMGDGCvn37cvLJJ+OcY+DA\ngTRs2JBXXnmFI444gieffJIzzjiDTz75hGbNmu1Vvvz8fPLz8wHYUxxZjYtIqjPnXHWXIR75wNXB\n6+/g70wC6c65HsBdzrnbMjIyioqLi6c65wYHaWrh+1NeChQCn48fP55bbrkF4BRglpm9BGx0zl0J\nzMEHoZcCz+yvUOnN2rhmwx6q3C2VpKQBdZNLVlaW7oIFtm3bRqNGjXjooYe49tq9n0H829/+xqhR\no1izZg0NGjQAoKCggN69e/Ppp5/SunVrcnNzmTJlCqtWrSItLQ3w+3fXrl0sWLCgNK9WrVoxcuRI\nRo0axdSpUxk8eDDffPMNdevWLU3TuXNnLr30Um699daY5U1v1gbVmxJJdWzVMLO5zrmsys43VZq5\nQ19lG0ZM/zg03cyoW7fuFmBhaKZzbhd++J8moWlZWVkAXwOzgkkTgEvMbP7ZZ5+949133wU/5JCI\nSNJbsmQJO3bsoE+fPvvMW7p0KR07diwNJAFOOeUUatSowZIlS0qnnXjiiaWBJEDTpk1p3779Xnk1\nbdqUDRs2ADB37lyKi4tp3LgxGRkZpa9FixaxcuXKyt5EEUlyqdLM/Unw3jZieujJ6zYAO3fu3MG+\nT2M7woLm+vXrA3xfOtO5183sWGDAhg0brh84cCDdu3cf8M4779xUieUXEUkqZlb6d61atfaZF21a\nSYl//rGkpISmTZvy3nvv7ZPvYYcddgBKKyLJLFWCyWnB+1n4wDD8ie4G+AHLi4uKior3l1FJSckP\nQCv8MEJFAM65jcA/gVOeffbZbr/4xS/amlm6c25H5W2CiEjla9euHenp6UyZMoU2bdrsM2/ixIls\n3bq19O7kzJkzKSkpoV27dgmvs2vXrqxfv54aNWrw05/+tELlF5HUlyrN3Cvxw/m0Aq6PmPc7fGD4\nz5KSkvAOoCcEr7189dVXLwJ1gD8AZma/N7Pz7rzzzoGLFy++4rnnnnO1atX6QoGkiKSCBg0acMMN\nNzB27FgmTZrEypUrmTNnDhMmTGDo0KHUq1ePyy+/nIULFzJ9+nSuueYaLrjgAlq3bp3wOvv27cup\np57Kueeey+uvv87nn3/OrFmzuOOOO6LerRSRg1uqBJMA1wEb8L9e89+2bdseN2TIkPPwv36zHPh1\nRPqlwWsvv/3tb/8KzAduBGYNGzbsjKOPPnryPffc88ppp52WvmDBgmW7du0acEC3RESkEt1zzz2M\nHj2aO++8k3bt2vHzn/+cNWvWUK9ePd588022bNlCdnY25557Lj169GDixIkVWp+Z8dprr3HGGWdw\n9dVXc/zxx3PxxRfzySef0Lx580raKhFJFanyNHfI0cDv8b/FfSSwDngBf3fyu4i0oQ0z9pUBjAUu\nAo7F/yLOHGA8/g5oXPQ096FDTxomFz3Nnbr0NLdEozq2ahyop7lTpc9kyJfAFXGmjRZEhmzD38mM\nvJspIiIiIuWQasFkUunQoiGF+jYlIhI31ZsiB59U6jMpIiIiIklGwaSIiIiIJEzBpIiIiIgkTH0m\nK2Dh2s20GvNqdRdDKomeJhQ58FRvSjjVuwcH3ZkUERERkYQpmBQRERGRhCmYFBEREZGEHdLBpJmN\nM7NF1V0OERERkVR1SAeTIiIiIlIxCiZFREREJGFJE0yaWYGZTTCzB8xsk5l9Y2Y3mFm6mT1qZt+b\n2RdmdlmQvpWZOTPLisjHmdmFYf83N7OnzexbMys2s/lm1jtimV+Y2Uoz22pm/zWzRlWz1SIiVW/H\njh3ceOONNG3alDp16tC9e3dmzJgBQEFBAWbGlClT6NatG/Xq1SMrK4uPPvporzxmzpzJ6aefTr16\n9WjRogUjRoxgy5Yt1bE5IlLNkiaYDAwFtgLdgHuBh4D/AsuBLOBJ4O9m1iyezMysPvAu0Ao4D+gA\n/D4iWSvgEuB84CygC3BXxTZDRCR53XrrrTz77LNMnDiRefPm0aFDB/r378+6detK04wdO5Z7772X\njz76iCOPPJKhQ4finANg4cKFnHXWWQwePJgFCxbw/PPPM3/+fIYPH15dmyQi1SjZBi1f7JwbB2Bm\nDwJjgF3OuYeDab8HRgOnAoVx5HcpcBTQwzm3MZi2MiJNTSDXObc5WEc+cEWsDM0sD8gDSDuscXxb\nJSKSJIqKipgwYQJ///vfGTjQDxj917/+lalTp/Loo4/St29fAO6880569/aNOL/97W/p2bMna9eu\npWXLlvzxj3/kkksu4ZZbbinNd8KECXTp0oUNGzbQpEmTvdaZn59Pfn4+AHuKN1fFZopIFUq2O5Mf\nh/5w/ivwBmBh2LRdwHdAk30XjaoL8HFYIBnN6lAgGfiqrPydc/nOuSznXFZavYZxFkNEJDmsXLmS\nXbt2ceqpp5ZOS0tLo0ePHixZsqR0WseOHUv/bt68OQAbNmwAYO7cuTz11FNkZGSUvkL5rVwZ+X0d\n8vLyKCwspLCwENWbIgefZLszuSvifxdjWg2gJPjfQjPMrFYlrTPZgmwRkQPOrLQ6pVatWvtMLykp\nKX2/6qqruOmmm/bJo0WLFge4lCKSbJItmCyPb4L38P6TnSPSzAMuM7NG+7k7KSJySMjMzKR27dq8\n//77ZGZmArBnzx5mzZrFpZdeGlceXbt2ZfHixbRu3fpAFlVEUkTK3oFzzv0AzAZGm9lJZnYKMD4i\n2b/wTeUvmtlpZvZTMxsc+TS3iMihon79+owYMYLRo0fz2muvsXTpUkaMGMH69eu57rrr4spj9OjR\nzC6tTtIAACAASURBVJkzh2uvvZZ58+axYsUK/n97dx4eRZX2//99B5KwBGNQlgAKiKyyKS2IigY3\neIQR14dxHCWgE1QYN5gBB78O4jMqjCjMgEsYwHUWd8fxpyhowEEWg8uwCYJGFILIyBYiAZLz+6Mq\nsckCSdNJd4fP67rq6u6qU6dOVXVO7j51TtW//vUvRo4cWc2lF5FoFMstkwAjgL8AH+ENrLkVWFS8\n0Dm318zOB6YCbwAJwDqg7LUZEZFjxOTJkwEYPnw4O3fu5PTTT+ftt98mNTWVdevWHXH97t27s2jR\nIu655x7OP/98CgsLOeWUU7jiiiuqu+giEoWs+FYPUnWJqe1d6rBpkS6GhEnOQ4MiXQSppEAgQHZ2\nZW7oINEmMbU9qjelmOrdmmVmK5xzgSOnrJqYvcwtIiIiIpGnYFJEREREQhbrfSYjqlvLZLLVRC8i\nUmmqN0VqH7VMioiIiEjIFEyKiIiISMgUTIqIiIhIyNRn8iis3LyLNuPfjHQx5CjothQiNUv1Zu2k\nuvTYppZJEREREQmZgkkRERERCZmCSREREREJmYJJEZFabPDgwaSnpwOQlpbG6NGjD5u+a9euTJw4\nsfoLJiK1hgbg+MwsC1jlnDt8TSsiEqNeeeUV4uPjw5pnTk4Obdu25aOPPiIQCPsjf0UkBiiYFBE5\nRjRu3DjSRRCRWigqL3ObWZaZPW5mU83sBzP73sxuN7NEM5tpZjvNbJOZXe+nb2NmzswCpfJxZnZ1\n0Od7zexrMysws61m9ow//yngfGCUv44zszY1tsMiImGQn59Peno6SUlJNGvWjAceeOCQ5aUvc2/b\nto0hQ4ZQv359WrduzZw5c8rkaWZkZmZyzTXX0LBhQ0455RSee+65kuVt27YF4Mwzz8TMSEtLq56d\nE5GoFZXBpO86YA/QB3gImAa8BqwHAsDTwF/MLLUymZnZVcBY4FagPTAYWO4vvh1YAswFUv3pmwry\nyTCzbDPLLszfFdqeiYhUg7Fjx/Luu+/y8ssvs2DBAj755BMWLVpUYfr09HQ2bNjA/Pnzee2113jm\nmWfIyckpk27SpEkMGTKEzz77jKFDhzJixAg2bdoEwPLlXjX69ttvk5ubyyuvvFJm/czMTAKBAIFA\nANWbIrVPNAeTq51zE51zXwCPANuBA8656c65DcAkwIBzKplfayAXeMc5t8k5l+2cmwHgnNsF7Afy\nnXNb/amwvEycc5nOuYBzLlCnQfJR7qKISHjk5eUxe/ZspkyZwoABA+jatStz584lLq78an79+vW8\n9dZbZGZmcs4553D66afz9NNP8+OPP5ZJe/311/PLX/6SU089lfvvv5+6deuWBKlNmjQB4IQTTqB5\n8+blXkrPyMggOzub7OxsVG+K1D7RHEz+p/iNc84B24CVQfMOADuAppXM70WgHvCVmc02s2vMLDGM\n5RURiZiNGzeyf/9++vbtWzIvKSmJbt26lZt+7dq1xMXF0bt375J5rVu3pkWLFmXSdu/eveR93bp1\nadKkCdu2bQtj6UUklkVzMHmg1GdXwbw4oMj/bMULzOyQIYvOuW+AjsBIYDcwFVhhZg3DWGYRkZhi\nZkdMU3oEuJlRVFRUQWoROdZEczBZFd/7r8H9J3uWTuSc2+ece9M5dydwJnAaP10m3w/UqdZSiohU\nk3bt2hEfH8/SpUtL5u3du5dVq1aVm75Tp04UFRWV9HkE2LRpE1u2bKnSdhMSEgAoLCy3Z5CIHANq\nxa2BnHM/mtlSYJyZbQSSgQeD05hZOt7+LgPygKF4LZ1f+ElygN7+KO484AfnnH56i0hMSEpK4sYb\nb2TcuHE0adKEFi1aMGnSpAqDvI4dOzJw4EBGjhxJZmYm9evX56677qJ+/fpV2m7Tpk2pX78+8+bN\no02bNtSrV4/kZPWLFDmW1JaWSYAR/utHwJPAPaWW7wRuBD4AVgFXAVc6577ylz+M1zq5Bq+l8+Tq\nLrCISDg9/PDD9O/fnyuuuIL+/fvTtWtXzjvvvArTP/XUU7Rt25YLLriAn/3sZ/ziF7+gTZs2Vdpm\n3bp1+dOf/sRf/vIXWrRowZAhQ45yL0Qk1pg3tkVCkZja3qUOmxbpYshRyHloUKSLICEIBAJkZ2dH\nuhgSgsTU9qjerH1Ul8YGM1vhnAv7o6pqU8ukiIiIiNSwWtFnMlK6tUwmW7/GREQqTfWmSO2jlkkR\nERERCZmCSREREREJmYJJEREREQmZ+kwehZWbd9Fm/JuRLoaUQyMLRaKT6s3aRXWtgFomRUREROQo\nKJgUERERkZApmBQRERGRkFV7MGlmWWY2I0zZtQLmAFuAArznaU8DUo4iz/OAQsAB/3eU5RMRERE5\npsRSy2Q7YAUwHFgOPAp8CdwOLAFOCCHPRsDTQD5A48aNR5vZ2LCUVkTkGJCVlYWZsX379kgXRUQi\nJJaCyceApsBtwOXAeOACvKCyI/CHEPKcDiQDD4apjCIiIiLHlJoKJuua2XQz2+FPfzSzOAAzSzCz\nyWb2rZnlm9lHZjageEUzSzMzt2DBgkvOOOOMAj9ttpmd4Sf5/ezZswuSkpJGtmrVapCZrTKzvWb2\nvpm1DS6Emf3MzFaY2b6kpKTvJkyYMHznzp13AlvS0tLYsWNHMvBHM3Nm5mro2IiIRMzevXu54YYb\nSEpKolmzZjz44IMMHjyY9PR0APbv38+4ceNo1aoVDRo04Mwzz2TevHkA5OTk0L9/fwCaNGmCmZWs\nJyLHjpoKJq/zt9UXGAlkAHf4y+YC5wO/ALriXXZ+w8x6BGdw9913c+edd74LnAH8F3jezAzYs2PH\nji8KCgo4cODAJGCEv53jgSeK1/cD1OeBGddee22/V155JeHpp5/OS0lJ6QbwyiuvkJycvBuYBKT6\nk4hIrTZmzBgWLlzIq6++ynvvvcdnn33GBx98ULJ8+PDhLFy4kL/+9a+sWrWKYcOG8bOf/YzPPvuM\nk046iZdffhmA1atXk5uby/Tp0yO1KyISITV10/Jc4DbnnAM+N7MOwF1m9jpwLdDGObfJTzvDzC7C\nCzpvLc7g/vvvZ8CAAVnXX3/952Y2Cfg30BL4dvfu3d8dPHiw66xZs9647LLLlgOY2cPAHDMzf7sT\ngD865+YCrwOFycnJd2zevHlmYWHh6MaNGxMXF+eAPc65rRXtiJll4AXD1DmuSTiPkYhIjcrLy2PO\nnDk888wzXHzxxQDMnj2bVq1aAbBx40b+9re/kZOTw8knnwzA6NGjmT9/Pk8++SSPPfYYjRs3BqBp\n06aceOKJ5W4nMzOTzMxMAArzd1X3bolIDaupYHKpH9AVWwLcD5wLGLDGa2QskQi8Fzyje/fuAMW1\n0Bb/tSnwbUFBwY+JiYlcdtllBUGrbAES8EZ6/wD0AnrHx8dPSExMTCwoKCg4ePDg40D9ZcuWJZ99\n9tmV2hHnXCaQCZCY2l6XwkUkZm3cuJEDBw7Qu3fvknkNGzaka9euAHz88cc45+jSpcsh6xUUFHDB\nBRdUejsZGRlkZGQAkJjaPgwlF5FoEg2PU3TAmcCBUvN/DP4QHx9feh0Iukxft26ZXSmdJq5169bT\n33nnnVv37NnzXiAQuK04YY8ePc4LregiIrVXUVERZsZHH31Uug6mfv36ESqViESbmgom+wRdbgY4\nC6/lcAley2Rz59z7lcgnubyZiYmJxbXazsOs+3H37t1v6NChQz5wg3Mu+D4W5wLUrVu3EKhTiXKI\niMS8du3aER8fz0cffcQpp5wCQH5+PqtWraJdu3acfvrpOOfYunVryUCb0hISEgAoLCyssXKLSHSp\nqQE4LYBpZtbRzK4GfgM86pxbjzco5ikzu9rMTjGzgJmNNbMry8mnQ3mZH3fccc38t+sPU4ZJb731\nVvN777236apVq77//PPP3UsvveR++9vfOrxBQPTs2bPxoEGDHlq/fv3bZlZ+5x8RkVoiKSmJESNG\nMG7cOBYsWMCaNWu46aabSlokO3TowHXXXUd6ejovvfQSX375JdnZ2Tz88MO88sorALRu3Roz4803\n3+T7778nLy8vwnslIjWtpoLJ5/Fa/JYBs4DZePeHBO8m5HOBKcDnwL/wnkrzdTn5XELZMjdKSUkp\n7oSztKICOOfmzZw58/UXX3zxu169ehWefvrpB8aNG7fdObcEWAQwfvz49StXrvyhS5cuFwLfh7Kj\nIiKx5OGHH6Zfv35cdtll9O/fn+7duxMIBKhXrx4Ac+fOZfjw4fz2t7+lU6dODB48mEWLFtG6dWsA\nWrZsyX333ceECRNo1qwZo0ePjuTuiEgE2KHjYqLaPLxg8jbgz0HzHwHuBJ4Ebg6a38l//bwSeafj\nBbR/AO6pbIESU9u71GHTKptcalDOQ4MiXQSpRoFAgOzs7EgXo1YqKCigdevW/OY3v2HMmDFhzz8x\ntT2qN2sP1bWxxcxWOOcC4c43GgbgVNatwIfAn4ALgbVAH6A/3uXtCaXSr/VfDRERKdcnn3zC2rVr\n6d27N3v27GHy5Mns2bOHoUOHRrpoIhIjYimY3AgE8G4qPhC4FO/+ldOB+4AdkSuaiEjseuSRR1i3\nbh1169alZ8+eLFq0qORekyIiRxJLl7mjTiAQcLrUJlLzdJk7dunciUROdV3mrqkBOCIiIiJSCymY\nFBEREZGQKZgUERERkZDF0gCcqLNy8y7ajH8z0sWQILpNhUh0U71ZO6iulWBqmRQRERGRkCmYFBER\nEZGQKZgUERERkZDV2mDSzJyZXR3pcoiIRJPBgweTnp4e6WKISC1Sa4NJIBV4I9KFEBGpzSZOnEjX\nrl0jXQwRiaBaO5rbObc10mUQERERqe1iomXSzLLM7HEzm2pmP5jZ92Z2u5klmtlMM9tpZpvM7Pqg\ndQ65zG1m95rZ12ZWYGZbzeyZoGXnmdlSM8szs11mttzM9FNbRGJafn4+6enpJCUl0axZMx544IFD\nlu/YsYNhw4aRkpJC/fr1ueiii1i9enXJ8qeeeoqkpCQWLFhA165dadiwIf379+err74qWX7fffex\nevVqzAwz46mnnqrJXRSRKBATwaTvOmAP0Ad4CJgGvAasBwLA08BfzCy19IpmdhUwFrgVaA8MBpb7\ny+oCrwP/Bnr4+U8DCssrhJllmFm2mWUX5u8K5/6JiITV2LFjeffdd3n55ZdZsGABn3zyCYsWLSpZ\nnp6ezrJly3j99ddZvnw5DRo0YODAgfz4448laQoKCnjwwQeZM2cOS5YsYefOndx8880ADB06lDFj\nxtCxY0dyc3PJzc1l6NChZcqRmZlJIBAgEAigelOk9omly9yrnXMTAczsEWA8cMA5N92fNwkYB5wD\nvFRq3dZALvCOc+4AsAnI9pcdBxwPvOGc2+jP+7yiQjjnMoFMgMTU9u7od0tEJPzy8vKYPXs2c+bM\nYcCAAQDMnTuXVq1aAfDFF1/wz3/+k4ULF3LeeecB8Oyzz3LyySfz/PPPc9NNNwFw8OBBZs6cSceO\nHQEvQB0xYgTOOerXr09SUhJ169alefPmFZYlIyODjIwMABJT21fbPotIZMRSy+R/it845xywDVgZ\nNO8AsANoWs66LwL1gK/MbLaZXWNmif56PwBPAfPM7E0zu8vMTq6+3RARqX4bN25k//799O3bt2Re\nUlIS3bp1A2Dt2rXExcUdsjw5OZlu3bqxZs2aknmJiYklgSRAixYt2L9/Pzt27KiBvRCRWBBLweSB\nUp9dBfPK7JNz7hugIzAS2A1MBVaYWUN/+XC8y9uLgMuAdWY2IKylFxGJEWZW8r5u3brlLisqKqrR\nMolI9IqlYPKoOOf2OefedM7dCZwJnIZ3Sbx4+WfOucnOuTQgCxgWkYKKiIRBu3btiI+PZ+nSpSXz\n9u7dy6pVqwDo3LkzRUVFLFmypGT57t27WblyJV26dKn0dhISEigsLLeLuYgcI2Kpz2TIzCwdb1+X\nAXnAULxWzS/MrC1ei+U/gc3AKUB34PGIFFZEJAySkpK48cYbGTduHE2aNKFFixZMmjSpJPBr3749\nQ4YMYeTIkWRmZnL88cczYcIEjjvuOH7xi19Uejtt2rTh66+/5uOPP+bkk0+mUaNGJCYmVtduiUgU\nOlZaJncCNwIfAKuAq4ArnXNfAflAB7x+levxRoU/D0yOTFFFRMLj4Ycfpn///lxxxRX079+frl27\nlgy2AW9ATu/evbnsssvo3bs3+fn5vP3229SvX7/S27jqqqu49NJLufDCC2nSpAl/+9vfqmNXRCSK\nmTeWRUKRmNrepQ6bFuliSJCchwZFughSAwKBANnZ2UdOKFEnMbU9qjdjn+ra2GRmK5xzgXDne6y0\nTIqIiIhINTgm+kxWl24tk8nWrzMRkUpTvSlS+6hlUkRERERCpmBSREREREKmYFJEREREQqY+k0dh\n5eZdtBn/ZqSLcUzRCEKR2KZ6M3ap/pWKqGVSREREREKmYFJEREREQqZgUkRERERCpmBSRERIT09n\n8ODBZd6LiByJBuCIiAjTp0+n+PG6we9FRI5EwaSIiJCcnFzuexGRI4npy9xmlmhm08zsOzPbZ2ZL\nzexcf1mamTkzu9DMlplZvpllm9kZpfI428wW+ss3m9njZnZcZPZIRCQyDneZOy0tjVtuuYUxY8bQ\nuHFjmjRpwvTp0ykoKGDUqFEcf/zxnHzyyTz77LORKr6IRFBMB5PAFGAoMAI4HVgJvG1mqUFpHgTG\nA2cA/wWeNzMDMLNuwDvAP4EewJVAT2BOTe2AiEgseP7552nUqBHLli1j/Pjx3HHHHVx++eV06NCB\n7Oxshg0bxk033URubm6kiyoiNSxmg0kzawjcAoxzzr3pnFsL3Ax8B4wKSvr/nHPvO+c+ByYBnYCW\n/rLfAP9wzk11zn3hnFvm53mVmTWtYLsZfgtndmH+rmraOxGR6HLaaacxceJE2rdvz1133cWJJ55I\nfHw8t99+O6eeeir33nsvzjkWL15cZt3MzEwCgQCBQADVmyK1T8wGk0A7IB4oqbmcc4XAEqBLULr/\nBL3f4r8WB4q9gF+aWV7xFJRfu/I26pzLdM4FnHOBOg3Ur0hEjg3du3cveW9mNG3alG7dupXMi4+P\nJyUlhW3btpVZNyMjg+zsbLKzs1G9KVL71NYBOMHDEA+UMz8u6PUvwKPl5LG5GsolIhKT4uPjD/ls\nZuXOKyoqqsliiUgUiOVgciOwHzjHf4+Z1QH6An+tZB4fA6c55zZUSwlFREREarmYvcztnNsLPA5M\nNrNLzayz/7kZ8Fgls5kM9DazJ8zsdDM71cwGm9mT1VRsERERkVolllsmAcb5r3OB44FPgIHOuVwz\n63iklZ1z/zGz84D/AxYCdYAvgVerqbwiIiIitUpMB5POuQLgDn8qvSwLsFLzcsqZlw0MrLZCiojE\ngIKCApKSkgB46qmnDlmWlZVVJv2qVavKzNu6dWt1FE1EolzMXuYWEZGjd/DgQdasWcOSJUvo2rVr\npIsjIjFIwaSIyDFs1apVBAIBTjvtNEaNGnXkFURESonpy9yR1q1lMtkPDYp0MUREQtazZ0/y8/Nr\nbHuqN0VqH7VMioiIiEjIFEyKiIiISMgUTIqIiIhIyNRn8iis3LyLNuPfjHQxjhk56mclEvNUb8YO\n1blSWWqZFBEREZGQKZgUERERkZApmBQRERGRkMVUMHn88ce/cOaZZ24CtgAFQA4wDUipZBYNgeuA\nvwKfA3uBPUA2MAZICHORRUSiRk5ODmZGdnZ2pIsiIrVILA3AaffVV1+lmVkT4HW8YLA3cDves7XP\nAf57hDz6Ac8BPwDvA6/hBaKXAQ8DVwIXAvuqYwdERGpSWloaXbt2ZcaMGQCcdNJJ5ObmcuKJJ0a4\nZCJSm8RSMPlYSkpKE+A24M9B8x8B7gT+ANx8hDy2Ar8EXgT2B80fC2QBZwOjgKnhKbKISPSoU6cO\nzZs3j3QxRKSWiZXL3O2AS37+85/nmdkAADMbaGYfmNnwxo0bc/HFF9/Uo0ePM4pXMLM2ZubM7Coz\ne9fM8s3sr2a2jaBA0sy6mNnf4+PjuzRt2pRLLrnkLjNTbSsiMS09PZ2FCxcyc+ZMzAwzK3OZOysr\nCzPjrbfeolevXtSvX59+/frx7bffsnDhQnr06EFSUhKDBw/mv/899MLP3Llz6dKlC/Xq1aNDhw48\n+uijFBUVRWJXRSTCYiWY7A+wffv2LUHzGuL1l+z9z3/+88OUlJQ6GzZseMPMSvd7/APwJ6AH8BHw\ndzNLAjCzVGARsGr27Nl3z58/n7y8vDjgdTMr99iYWYaZZZtZdmH+rrDupIhIuEyfPp2+ffsyfPhw\ncnNzyc3NpbCwsNy0v//975k2bRrLli1jx44dDB06lEmTJpGZmUlWVharV69m4sSJJelnzZrF7373\nOyZNmsTatWuZOnUqkydP5rHHHis3/8zMTAKBAIFAANWbIrVPrFzm7giwZ8+e3cUznHMvBy3/5PTT\nTz+7UaNGqXj9KP8dtOxR59wbAGb2O+AGoKef5hbgM+fcOOAtgLlz507p1KnTI0AAWF66IM65TCAT\nIDG1vQvbHoqIhFFycjIJCQk0aNCg5NJ2Tk5OuWnvv/9++vXrB8DNN9/Mr3/9a1asWMEZZ3gXe4YN\nG8ZLL710SPopU6Zw9dVXA9C2bVvGjx/PY489xujRo8vkn5GRQUZGBgCJqe3Dto8iEh1iJZhMBti/\nf3/w5el2wP1An8TExFZ169bFOWfAyaXW/U/Q++KWzab+ay/gvISEhIKEhISEoqKioh9//PF+f1k7\nygkmRURqm+7du5e8b9asGQDdunU7ZN62bdsA+P777/nmm28YOXIkt9xyS0magwcP4px+X4sci2Il\nmCzPv4BvgZFvvPHG1W3atBnZqVOnoqKiotKXuQ8Uv3HOOTODny7vx7Vp0+bjd955p1dhYeH3s2bN\nGvrII4984y/7rtr3QEQkCsTHx5e89+vIMvOK+0MWvz7xxBOcffbZNVhKEYlWsRJM7gJISEhIADCz\nE4BOwK3OufeByz/++GOKioqq1Ae0b9++ed9///3A1q1b5yYkJPSfOnXquqlTNZBbRGqHhISECvtJ\nhqpZs2a0aNGCjRs3csMNN4Q1bxGJTbESTK4DaNSo0XF4LYY7gO3Ar8zsm1dffbX3Aw88gJkVVuEy\nyzUvvvji5T169Chq1qzZyp07dx4PnOJP/wuMcc7tCf+uiIjUjDZt2rB8+XJycnJISkoK22jr++67\nj1//+tccf/zxXHrppRw4cICPP/6YzZs3c/fdd4dlGyISO2JlNPf7ACeeeGILAOdcETAU6A6smjBh\nQq/77ruvwDlXqZuNjxo1qh/wt5YtW265/vrrL965c+ce4G1gNTAT7+k6BdWwHyIiNWbs2LEkJCTQ\npUsXmjRpQlxceKr8m266iTlz5vDss8/So0cP+vXrR2ZmJm3btg1L/iISWyyGOkzPu/baay9Zs2bN\nx5999lmvoPnFNy1/kkNvWt7Jf/28VD7DgDnA13i3HPo61AIlprZ3qcOmhbq6VFHOQ4MiXQSJEoFA\nQI8EjFGJqe1RvRkbVOfWPma2wjkXCHe+MXGZ28zq3nzzzY8sXrz4ooyMjDPwHoO4FuiDFxCuByaU\nWm1t8epB8/rjBZJxeK2dw8vZ3E68+1eKiIiIyBHERMukmfUEPmzYsOGSdevWbW3ZsuUFwAlALvAq\ncB9eP8pgxTsWHEymA3OPsLmvgTaVKVcgEHBqHRGpeWqZjF06dyKRc0y3TDrnPgUaVHE1K2feU/4k\nIiIiImEQKwNwRERERCQKKZgUERERkZDFxGXuaLVy8y7ajH8z0sWo9TSiUKT2UL0Z/VTnSlWpZVJE\nREREQqZgUkRERERCpmBSREREREJWLcGkmWWZ2YxQlx/Fdp2ZXR3ufEVEjmUTJ06ka9euh00zevRo\n0tLSaqZAIhJVIjUA50rgQIS2LSIiIiJhEpFg0jn3QyS2KyIiIiLhVZ19Juua2XQz2+FPfzSzOCh7\nmdvMcszsHjN70sx2m9m3Zvab4MzMrIOZLTSzfWa2zswuNbM8M0uvqABm1tLM/h5UhjfNrL2/rI2Z\nFZlZoNQ6vzKz7WaWENajISJSTZxzTJ06lfbt25OYmEirVq24++67AVi5ciUXXXQR9evXp3HjxqSn\np7Nr166SddPT0xk8ePAh+R3psnZhYSFjx44lJSWFlJQU7rjjDgoLC6tn50Qk6lVnMHmdn39fYCSQ\nAdxxmPR3AiuBM4DJwBQz6wvgB6GvAgeBs/Cesf17ILGizMysAfA+sA843y9HLjDfzBo453KAd4ER\npVYdATzrnNtf+V0VEYmc3/3ud9x///3cfffdrF69mhdffJGTTjqJvXv3MmDAAJKSkli+fDmvvvoq\nH374ISNGlK72qmbq1KnMmjWLJ598kiVLllBYWMjzzz8fpr0RkVhTnZe5c4HbnHMO+NzMOgB3AY9U\nkP4d51xxa+Wfzew24EJgCXAx0BG4xDm3GcDM7gQWH2b7P8d7PvdwvwyY2UhgGzAYeAGYBcwys7uc\nc/vMrDNesPqrijI1swy8wJg6xzU5wiEQEaleeXl5PProo0ybNq0kSDz11FPp27cvs2bNYu/evTz7\n7LM0atQIgMzMTPr378+GDRs49dRTQ9rmtGnT+O1vf8v//u//AjB9+nTmzZtXYfrMzEwyMzMBKMzf\nVWE6EYlN1dkyubQ4iPMtAVqa2XEVpP9Pqc9bgKb++07AluJA0vcRUHSY7fcC2gJ7/MvhecAuIAVo\n56d5HdiPNyAIvFbJ5c65VRVl6pzLdM4FnHOBOg2SD7N5EZHqt2bNGgoKCrjwwgvLLFu7di3du3cv\nCSQBzj77bOLi4lizZk1I29u1axe5ubn07du3ZF5cXBx9+vSpcJ2MjAyys7PJzs5G9aZI7RNNj1Ms\nPbrbcXTBbhzwKV4LZWk/ADjnDpjZM8AIM3sBuB649yi2KSISE8wM8ALBQ3/3w4EDutmGiFRenvY7\nXQAAFv1JREFUdbZM9rHi2spzFl7r4u4Q8vocaGFmLYLmBTh8+T8GTgW2O+c2lJqCR5P/BegP3Ao0\nAv4eQvlERCKic+fOJCYmsmDBgnKXrVy5kj179pTM+/DDDykqKqJz584ANGnShNzc3EPW+/TTTyvc\nXnJyMqmpqSxdurRknnOO5cuXH+2uiEiMqs5gsgUwzcw6+jcS/w3waIh5vQusA542sx5mdhZe38uD\neC2Y5Xke+A543czON7O2ZnaemU0tHtEN4JxbB/wb+CPwUojBrohIRDRq1Ijbb7+du+++m7lz57Jx\n40aWL1/O448/znXXXUeDBg244YYbWLlyJYsWLWLkyJFceeWVJf0lL7jgAj755BPmzJnDhg0bmDJl\nCosXH647Otx+++1MmTKFl156iXXr1nHHHXeUCUhF5NhRncHk80AdYBneQJfZhBhMOueKgCvwRm8v\nB54G/oAXSO6rYJ184DzgS+BFvNbNp/H6TO4olXw2kOC/iojElAcffJBx48Zx//3307lzZ6666iq+\n/fZbGjRowLx589i9eze9e/dmyJAh9O3blzlz5pSsO2DAAH7/+98zYcIEevXqRU5ODrfeeuthtzdm\nzBiGDx/OTTfdRJ8+fSgqKuK6666r7t0UkShlpfvKxAoz64HXJzLgnFtxlHmNA250znWoynqJqe1d\n6rBpR7NpqYSchwZFuggSZQKBANnZ2ZEuhoQgMbU9qjejm+rc2svMVjjnAkdOWTXRNADnsMzsCmAv\n8AXQBu8y92d4fSNDzTMJaA3cjtfSKSIiIiJVEDPBJN7gmMnASXiXqbOAO93RNa3OAK4F/gk8WdWV\nu7VMJlu/4EREKk31pkjtEzPBpHPuGeCZMOeZjvc0HREREREJQXUOwBERERGRWk7BpIiIiIiETMGk\niIiIiIQsZvpMRqOVm3fRZvybkS5GraJbUojUbqo3o5PqXjkaapkUERERkZApmBQRERGRkCmYFBER\nEZGQRV0waWZZZjYj0uUQERERkSOLumBSRERiS1paGqNHj450MUQkQhRMioiIiEjIoj6YNLMLzWyn\nmd1sZk+Z2b/M7HYz22xmO8xsrpk1CEqfaGbTzOw7M9tnZkvN7Nyg5UvNbHzQ5+fMzJlZc/9zAzMr\nCF5HRCRWvP322zRq1IiDBw8CsGHDBsyMm2++uSTNPffcw0UXXQTAmjVrGDRoEI0aNaJp06Zce+21\nbN26tSRteno6gwcPZvr06bRs2ZKUlBSGDx9Ofn5+yfKFCxcyc+ZMzAwzIycnp+Z2WEQiLqqDSTO7\nGngVyHDOPeHP7gd0BS4ChgJXALcHrTbFnz8COB1YCbxtZqn+8iwgLSj9+cD2oHlnAweB5RWUKcPM\nss0suzB/11HsnYhI+J177rns27eP7OxsALKysjjxxBPJysoqSZOVlUVaWhq5ubmcd955dO3aleXL\nlzN//nzy8vIYMmQIRUVFJek/+OADVq1axfz58/nHP/7Bq6++yvTp0wGYPn06ffv2Zfjw4eTm5pKb\nm8tJJ510SJkyMzMJBAIEAgFUb4rUPlEbTJpZBjAbuNo590LQot3Azc65tc65d4AXgQv9dRoCtwDj\nnHNvOufWAjcD3wGj/PWzgHPNrK6ZnQokA08C/f3lacAS59z+8srlnMt0zgWcc4E6DZLDt8MiImGQ\nlJREr169eP/99wEvcBw9ejRff/01ubm55Ofn89FHH5GWlsbjjz9Ojx49mDx5Mp07d6Z79+4888wz\nLF++vCQYBTjuuON44okn6Ny5M5dccgnXXHMNCxYsACA5OZmEhAQaNGhA8+bNad68OXXq1DmkTBkZ\nGWRnZ5OdnY3qTZHaJ1qDycuBmcBAP2AMtsY5Vxj0eQvQ1H/fDogHFhcv9NMuAbr4s/4NJAJn4gWO\n/wbm81PLZBpewCkiEpPS0tJKWiIXLlzI//zP/9CnTx+ysrL48MMPqVu3Lr1792bFihUsWrSIpKSk\nkqm4VXHjxo0l+XXp0uWQALFFixZs27atRvdJRKJXtD5O8TOgG3CjmS11zrmgZQdKpXVULih2AM65\nPDNbgdcS2QV4H1gKnOy3VJ4JjK8wFxGRKJeWlsaMGTNYu3Ytu3fvplevXqSlpfH+++/TtGlT+vbt\nS0JCAkVFRQwaNIiHH364TB7NmjUreR8fH3/IMjM75DK4iBzbojWY/Ar4NV4LYaaZZZQKKCuyEdgP\nnOO/x8zqAH2Bvwaly8ILJjsB051z+8xsGTCBw/SXFBGJBeeeey4FBQVMmTKFc889lzp16pCWlsav\nfvUrmjVrxsCBAwE444wzeOGFF2jdunWZgLEqEhISKCwsPHJCEamVovUyN865L/ECvoHAk2ZmlVhn\nL/A4MNnMLjWzzv7nZsBjQUmz8C5nHwd8HDTvlxymv6SISCwo7jf53HPP0b+/1x38rLPO4ttvv2Xp\n0qWkpaUBMGrUKHbt2sXQoUNZtmwZX375JfPnzycjI4M9e/ZUentt2rRh+fLl5OTksH37drVaihxj\nojaYBHDObcQL+v4Hb5DMEQNKYBzwD2Au8CnQHa/vZW5Qmn/7rx8E9b/MwmupzTracouIRFpaWhoH\nDx4sCRzr1atHnz59SExMpHfv3oDX93Hx4sXExcUxcOBATjvtNEaNGkViYiKJiYmV3tbYsWNJSEig\nS5cuNGnShE2bNlXHLolIlLLKXT2W8iSmtnepw6ZFuhi1Ss5DgyJdBIkBgUDgkNHGEjsSU9ujejP6\nqO49NpjZCudcINz5RnXLpIiIiIhEt2gdgBMTurVMJlu/5kREKk31pkjto5ZJEREREQmZgkkRERER\nCZmCSREREREJmYJJEREREQmZgkkRERERCZmCSREREREJmYJJEREREQmZgkkRERERCVmsBZOtgDnA\nFqAAyAGmASlVzKexv16On88WP99WYSqniIiIyDEhlp6A0w74EGgKvA58DvQGbgcGAucA/61EPif4\n+XQA3gP+DnQChgODgL7Al2Euu4iIiEitFEstk4/hBZK3AZcD44ELgEeBjsAfKpnPA3iB5CPAhX4+\nl+MFpU397YiIiIhIJcRKMNkOuATvsvTMUst+D+wFrgcaHiGfJD/dXmBiqWUzgK+BAcApR1VaERER\nkWNErAST/f3Xd4CiUsv2AIuBBsBZR8jnLKC+n35PqWVFwLxS2xMRERGRw4iVYLKj/7q+guVf+K8d\naigfERERESF2BuAk+6+7KlhePP/4GsoHgBUrVuSZ2brKpD1GnQhsj3QhopSOzeEd6fi0BprUUFkk\njFasWLFH9Wa5VCeUT8elrKM5Jq3DWZBisRJMRqt1zrlApAsRrcwsW8enfDo2h6fjU6up3iyHvvPl\n03EpKxqPSaxc5i5uMUyuYHnx/J01lI+IiIiIEDvBZPElkYr6Mrb3XyvqCxnufERERESE2Akm3/df\nL6FsmRvh3bA8H1h6hHyWAj/66RuVWhbn5x+8vSPJrGS6Y5WOT8V0bA5Px6f20rktn45L+XRcyoq6\nY2LOuUiXobLm4QV7twF/Dpr/CHAn8CRwc9D8Tv7r56XyeRLI8NcbEzT/NmC6v52BYSu1iIiISC0W\nS8Fk6ccprgX64N0Tcj1wNoc+TrF4x6xUPqUfp7gc6AwMAbb5+Wyslj0QERERqWViKZgEOAmYhNdy\neAKQC7wK3AfsKJW2omASoDHek3MuB1LxgtC3gHuBb8NeahEREZFaKtaCSRERERGJIrEyAKcmtALm\nAFuAArzngE8DUkonNLNbzewrM9tnZivMrF/Q4sb+ejl+Plv8fFtVa+mrmZndbWYfmdluM/vezN4w\ns66l0piZTTSzLWb2o5llmdlppdKkmNmzZrbLn541s0rdJP4IKn3+KtAQuA74K14/2714j9zMxutb\nm1CVwvjHy5nZjKB5kTw+EWdmqWb2tP/92Wdma8zsfPxzV1RUtOXee+892KxZs4MJCQkHExIS/n0U\nx+c8oBDvCsX/Vf/eHdPCVXcCnIH3N/itn9d3wELghuorfvWIgTqz2NHWncXOxeuClgPsAzYB/x+H\nGYOgevInh6kfi5cfclxatGixesGCBc8DHwC7Abdly5YXQjwuR/8dcM5pcq6dc+4753nNOfeQc+49\n//PnzrkTitMCQ4EDwK/w+lr+GcgDTvbTrfPXW+Dn85r/+Tvn3ClRsK8hTXgDk4YDXYFueN0LtgKN\ng9KMwwvArvLTveB/ORsFpXkLWA309afVwBs1df4OMw300//XOfeSn8eTzrlcf/5i51y9Sh6rs4Cv\ngM+AGVFwfCI+4T1V6kvgGaA30Ba48NZbb72k+NzdcccdqxMTEwsyMzNXrly50g0ePHh3XFxcbgjH\np5Fz7ivn3B7/3P1fpPe/Fk/hqjtxzo12zhU657Y75552zj3gnHvCOfdv59zfo2BfqzRFeZ1Z5fN3\nhOkWf50859yzzrkH/de9/vwJ5Rwf1ZM/7U+59SPQuaLjcumll+5ITU11u3bt2uOcW+ucc7169doc\nwnEJy3cg4gcxSqZ5/oH7dan5j/jznwg6ocuAWaW+CF8ADzov+HDOuaml8rnNn/92FOxrWCYgCa/l\n52f+Z8PrwzohKE19/8s/0v/cGa+l6JygNOf68zrWxPk7zNTTOXedcy6h1PxGzrkVfj5jKnFckvEG\ncPUHsooryQgfn4hPwAPA4orO3cGDB39d6vg8kp+f7xITE/eHcHzmOOd+cM79zj9vCiarbwpX3XmJ\nc67Iz69ROduJj4J9PaopyurMKp+/w0zxzrmdzrkfnXOly9TZObfPOZfvnEsM2gfVk4d+NyqqH4uX\nlzkuX3755QAzyzOzkc65tDVr1rgQj0s4vgMKJp0XlTvntWTElVrWyHm/tPY65xriXeo8CFxT6kTP\nrFOnzgfO+4PJc2UrwzjnXI6/nZhtnSy1z6n+l/Rc//Mp/uczS6V7E3jafz/CrxQsaLnhtU4Mr+7z\ndxT7+wt/G0f85Qv8A5jsvw+uJCN1fKJiAtbg3Y7rH3h3Tfi0U6dOE4uKipxz7qukpKR2pY5PI+dc\n3sCBAw8mJCQ8X4XjM8Q/V790zqX77xVMVs8UlroTWOic+8xPW9mWsJiboqjOrPL5O0I+zfx8Pqtg\n+X/85cGt1KonD92/MvUjMLp4HytxXNJmz57t6tWrd6CKxyVs/z/VZ9L7ZQTwDlBUatkeYDHQAK9J\n/kSgDl4/nmDf1atXrw3eL6jF/nrBivAueQRvL9ZNx/vCL/E/N/dfyxyboGXNge+d/y0H8N9vC0pT\nVVU5f6E64L8ePFwiM/sVcCpwTzmLI3V8osUpwK14l3IGANM3bNgwfubMmQDv5OXlNfPTFR+fPcDi\n1NTUOikpKcVPrDrS8WkKzAJeA56r5v2RMNWdiYmJJwPd/Xx+8PMdi9dX+UJqT9/+aKkzi4Wr7twG\nfI93u732pZYVz/sU/9Z9qifLVaZ+BB4CRvnLj3hctm7dynHHHbevisclbP8/a8sf6dHo6L9W9AjF\nL/zXih7BCEBCQkLxAI2jyicWmNkjeM3nVznnCiNcnLCcvyMY4b++XVECM+uId6niF865AxWlO4bF\nAR875+52zn3inJt7+eWXf+oHk4c9dw0bNmxYyW3M8rdz85ESSliE5W+vfv369fy32/Baqd4D/gg8\nDMzHC0ROPZqCRlqU1ZnFwlV3OrygJw5YATwNPIjX/28FXr+9a0D15GGUqR+BP/FTMFldwvb/U8Gk\n13cDYFcFy4vnHw9sx+vz0qxUmmYpKSn5VcgnZpnZo8C1wAXOuS+DFm31X8scm6BlW4EmZlZy70//\nfdOgNFVVlfMXitF4oxE/xRvtVpG+eK0vq83soJkdBM4HbvXfF99Qv6aPT7TIxbuUU6J79+4/btq0\nCbxzVN73Z9d3331HkyZNfvQ/V3h8RowYcSpwGd6v+9K/3qV6hKvuLD6/NwJtgEF+3h3wWpi74V3O\nq9IdFaJFFNaZxcJZd74IXADsxBt5Px64Hu+uGHPxWtxA9WRFytSPeA9mOdl/f8TvSvPmzdm9e3e9\nKh6XsH0HFExWgXNuP94vrYtLLbq4S5cuX0egSDXKzKbzU6VY+jGVX+F9YS8OSl8P6If3xCHwLu8k\n4VUoxfri3ZbnQ6LPlXi3R9iKN4LucL+kX8P7p9czaMoG/u6/X0/tOz5VsZiffgUDsH79+uTWrVsX\nfyzz/dm1a1edDz74gDPOOGOTP6vC4zN27NiheP/QXqie4svROELdWXx+6wA/x7udzG68VpEb8P6O\nOuD9DcaUY6jO/CVeK/IHeANkGvivC4AZePUgqJ6sSJn6Ee87XxxXHPG70rdvX/bt21eXSB2XSHc8\njYLpj34H1IpG6s7wl9/id0UYCuwHbsL7Y5kO5L3//vv/z0/35wryGesvnxwF+1zlCa+j/G68X5/N\ng6akoDTj8H7JXIl3S4e/U/4tHVby060LVnJ0t3So0vmrwnS5c26/c26LKztCsbLHLIuyt7yo6eMT\nFRNwJl4wPgHvkuU19erVK5gxY0bJuSt9fM4555z1qamp7uuvv77jcMenX79+2513a4sTS2033T/3\nGoBTPVNY6s733ntvgp8ut4J87vGXPxoF+1zpKYrrzJDO32GmDs6rK7Nd2UEccf5855xLq+A4HfP1\nZHn1o38MRlXyuKQ5V3JroKocl7D9/4z4QYyC6Sb/YD1ZwfLiYfMXBp3UW/nppuQrgPOccxf56eZV\nkE/xbYNujIJ9rvKE1y+mvGliUBoDJuI12e/Du9lw11L5pOBdutrtT88Bx9fk+avEdI1z7oBz7hvn\nXPujOGalK8lIHJ+omfAuX37m7/v6oUOH/s0fzf1kecenZ8+eP6xcufKQc1fe8fnhhx92ucp5LdLH\noJZN4ao7L/DTra0gn1H+8krdoiRapiiuM0M+fxVMo/10pW+JVzwV32Km3IBF9WTJPh1SPwK3UXZk\ndkXHJc055zZv3vxCFY9L2P5/6nGK0A7YgFfBtePQEU2N8E5ccb+DvYfJJwmvA3kR3i0ggkd0x+Hd\nU6uNv40vS68sIQvX+St2HV4H8s14I910rqpPuM7dn/Auq5XWHu9JOJ/iBS6f4LUWSXiE6/w1wKs7\n6+D1pyud9nG8QVXjgclhKLd4wnX+xuANlnqW8p9U9CzeZfDb8G5UL+GXBrwPPI93rCsrbP8/1WfS\nC/LewQv0So+cug+vv8GzHHogO/lTsDw/XUO8Xw/BRvv5z0PBSbiF6/wBDMMbgbgJLwjRuape4Tp3\nt+FdOi09zfWXv+l/ViAZXuE6f/nAbKAe3qMvLWhZNyAd77ZcL4Wn2OIL1/n7wH+9Gu8WT8F6+vMd\n3ih9iYx4vPPWrtT8UL4D5VLLpKcdXgfVpnjPFl0L9MFrmVoPnM1Po8zA+8OAQys9gBP8fDrg/eEs\nx+sbNATvl/fZeCdPwisc568/XgfyOLxR29+Us52deANyJHzC9bdXnnS8gPIPlH9POzl64Tp/x+Fd\ntuuJ96ScxXgjVa/Eu3/vHXh9LCW8wnX+5uA9OnI/3mMjv8YLUC7HG4U/DbizOnbgGHa5P4HXF3cA\nXgNIcXC/He9+reCdi6/46bwEq+p3oHyR7icQRdNJzrm5zusEvt8597VzbppzLqWctMXKy6exc266\nv/5+P785zrlWUbCPtXk62vOX7o4sJwr2szZO4frbKz0Vn1MNwImN85fknPuDc269c67AeY/oe8d5\nj1qM9D7W5ikc58+c9/eW5Zzb4Zw76LxHmi5wzv08CvaxNk4T3eHlBKVtU868UL8D5U5qmRQRERGR\nkKnPpIiIiIiETMGkiIiIiIRMwaSIiIiIhEzBpIiIiIiETMGkiIiIiIRMwaSIiIiIhEzBpIiIiIiE\nTMGkiIiIiIRMwaSIiIiIhOz/B8E7OmYNDGa6AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Plot the results: are there striking differences in language?\n", + "import numpy as np\n", + "import pylab\n", + "import matplotlib.pyplot as plt\n", + "\n", + "%matplotlib inline\n", + "def plotTwoLists (wf_ee, wf_bu, title):\n", + " f = plt.figure (figsize=(10, 6))\n", + " # this is painfully tedious....\n", + " f .suptitle (title, fontsize=20)\n", + " ax = f.add_subplot(111)\n", + " ax .spines ['top'] .set_color ('none')\n", + " ax .spines ['bottom'] .set_color ('none')\n", + " ax .spines ['left'] .set_color ('none')\n", + " ax .spines ['right'] .set_color ('none')\n", + " ax .tick_params (labelcolor='w', top='off', bottom='off', left='off', right='off', labelsize=20)\n", + "\n", + " # Create two subplots, this is the first one\n", + " ax1 = f .add_subplot (121)\n", + " plt .subplots_adjust (wspace=.5)\n", + "\n", + " pos = np .arange (len(wf_ee)+1) \n", + " ax1 .tick_params (axis='both', which='major', labelsize=14)\n", + " pylab .yticks (pos, [ x [0] for x in wf_ee ])\n", + " ax1 .barh (range(len(wf_ee)), [ x [1] for x in wf_ee ], align='center')\n", + "\n", + " ax2 = f .add_subplot (122)\n", + " ax2 .tick_params (axis='both', which='major', labelsize=14)\n", + " pos = np .arange (len(wf_bu)+1) \n", + " pylab .yticks (pos, [ x [0] for x in wf_bu ])\n", + " ax2 .barh (range (len(wf_bu)), [ x [1] for x in wf_bu ], align='center')\n", + "\n", + "plotTwoLists (wf_ee, wf_bu, 'Difference between Pride and Prejudice and Huck Finn')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "and\t2836\n", + "of\t2676\n", + "to\t2646\n", + "a\t2217\n", + "in\t1422\n", + "his\t1205\n", + "he\t928\n", + "that\t920\n", + "was\t823\n", + "for\t798\n", + "with\t797\n", + "as\t672\n", + "I\t505\n", + "you\t497\n" + ] + } + ], + "source": [ + "#In case Project gutenberg is blocked you can download text to your laptop and copy to the docker container via scp\n", + "#Assuming the file name you copy is pg4680.txt here is how you change the script\n", + "# Please note the option errors='replace'\n", + "# without it python invariably runs into unicode errors\n", + "f = open ('pg4680.txt', 'r', encoding=\"ascii\", errors='replace')\n", + " \n", + "# What comes back includes headers and other HTTP stuff, get just the body of the response\n", + "t = f.read()\n", + "\n", + "# obtain words by splitting a string using as separator one or more (+) space/like characters (\\s) \n", + "wds = re.split('\\s+',t)\n", + "\n", + "# now populate a dictionary (wf)\n", + "wf = {}\n", + "for w in wds:\n", + " if w in wf: wf [w] = wf [w] + 1\n", + " else: wf [w] = 1\n", + "\n", + "# dictionaries can not be sorted, so lets get a sorted *list* \n", + "wfs = sorted (wf .items(), key = operator .itemgetter (1), reverse=True) \n", + "\n", + "# lets just have no more than 15 words \n", + "ml = min(len(wfs),15)\n", + "for i in range(1,ml,1):\n", + " print (wfs[i][0]+\"\\t\"+str(wfs[i][1])) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Assignment 1\n", + "\n", + "1. Compare word frequencies between two works of a single author.\n", + "1. Compare word frequencies between works of two authors.\n", + "1. Are there some words preferred by one author but used less frequently by another author?\n", + "\n", + "Extra credit\n", + "\n", + "1. The frequency of a specific word, e.g., \"would\" should follow a binomial distribution (each regular word in a document is a trial and with probability p that word is \"would\". The estimate for p is N(\"would\")/N(regular word)). Do these binomial distributions for your chosen word differ significantly between books of the same author or between authors? \n", + "\n", + "Project Gutenberg is a good source of for fiction and non-fiction.\n", + "\n", + "E.g below are two most popular books from Project Gutenberg:\n", + "- Pride and Prejudice at http://www.gutenberg.org/ebooks/1342.txt.utf-8\n", + "- Adventures of Huckleberry Finn at http://www.gutenberg.org/ebooks/76.txt.utf-8" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Single Author review by KEVIN PURDY about to differnet tech products" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt \n", + "import requests, re\n", + "from bs4 import BeautifulSoup\n", + "from collections import Counter\n", + "\n", + "\n", + "def main():\n", + " common_words = {\n", + " \"with\": 0, \"the\": 0, \"a\": 0,\"for\": 0,\".\\n\": 0,\".\": 0,\"it\": 0,\"is\": 0, \"on\": 0,\"of\": 0,\"to\": 0,\"and\": 0,\"an\": 0,\"which\": 0,\"it's\": 0,\"when\": 0,\"can\": 0,\"will\": 0,\"are\": 0,\"|\" : 0,\"as\": 0,\"this\": 0,\"that\": 0,\"has\": 0,\"or\": 0,\"·\": 0,\"be\": 0,\"gm\": 0,\"you\": 0,\"we\": 0,\"by\": 0\n", + " }\n", + " all_Art = ['https://arstechnica.com/gadgets/2022/09/iphone-14-battery-replacement-costs-quietly-rise-to-99/',\n", + " 'https://arstechnica.com/gadgets/2022/08/apple-watch-pro-rumored-to-have-new-bands-price-close-to-1000/']\n", + " all_words = [] \n", + " \n", + " for book in all_Art:\n", + " r = requests.get(book)\n", + " soup = BeautifulSoup(r.text, 'html.parser')\n", + " text = soup.get_text().lower()\n", + " words = re.split('\\s+', text)\n", + "\n", + " for i in range(len(words)):\n", + " words[i] = words[i].strip()\n", + " finalWords = [word for word in words if word not in common_words]\n", + " \n", + " all_words.append(finalWords)\n", + " freqs = []\n", + " for i in range(len(all_words)):\n", + " c = Counter(all_words[i])\n", + " freqs.append(c)\n", + " \n", + " make_graph(freqs[0].most_common(25), freqs[1].most_common(25))\n", + "\n", + "def make_graph(article1, article2):\n", + " \n", + " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))\n", + " ax1.barh([wordCount[0] for wordCount in article1], [wordCount[1] for wordCount in article1], color='blue')\n", + " ax2.barh([wordCount[0] for wordCount in article2], [wordCount[1] for wordCount in article2], color='red')\n", + " ax1.set_title('IPhone 14')\n", + " ax2.set_title('Apple Watch') \n", + " ax1.set(xlabel='# of Words', ylabel='# of Frequency')\n", + " ax2.set(xlabel='# of Words', ylabel='# of Frequency')\n", + " plt.show()\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Word Frequency between 2 authors" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt \n", + "import requests, re\n", + "from bs4 import BeautifulSoup\n", + "from collections import Counter\n", + "\n", + "\n", + "def main():\n", + " common_words = {\n", + " \"with\": 0, \"the\": 0, \"a\": 0,\"*\" : 0,\"for\": 0,\".\\n\": 0,\".\": 0,\"it\": 0,\"is\": 0, \"on\": 0,\"of\": 0,\"to\": 0,\"and\": 0,\"an\": 0,\"which\": 0,\"it's\": 0,\"when\": 0,\"can\": 0,\"will\": 0,\"are\": 0,\"|\" : 0,\"as\": 0,\"this\": 0,\"that\": 0,\"has\": 0,\"or\": 0,\"·\": 0,\"be\": 0,\"gm\": 0,\"you\": 0,\"we\": 0,\"by\": 0\n", + " }\n", + " all_Art = ['https://www.macrumors.com/2022/09/13/apple-watch-ultra-76-larger-battery/',\n", + " 'https://arstechnica.com/gadgets/2022/08/apple-watch-pro-rumored-to-have-new-bands-price-close-to-1000/']\n", + " all_words = [] \n", + " \n", + " for book in all_Art:\n", + " r = requests.get(book)\n", + " soup = BeautifulSoup(r.text, 'html.parser')\n", + " text = soup.get_text().lower()\n", + " words = re.split('\\s+', text)\n", + "\n", + " for i in range(len(words)):\n", + " words[i] = words[i].strip()\n", + " finalWords = [word for word in words if word not in common_words]\n", + " \n", + " all_words.append(finalWords)\n", + " freqs = []\n", + " for i in range(len(all_words)):\n", + " c = Counter(all_words[i])\n", + " freqs.append(c)\n", + " \n", + " make_graph(freqs[0].most_common(25), freqs[1].most_common(25))\n", + "\n", + "def make_graph(article1, article2):\n", + " \n", + " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))\n", + " ax1.barh([wordCount[0] for wordCount in article1], [wordCount[1] for wordCount in article1], color='blue')\n", + " ax2.barh([wordCount[0] for wordCount in article2], [wordCount[1] for wordCount in article2], color='red')\n", + " ax1.set_title('Apple Watch by Mac rumors')\n", + " ax2.set_title('Apple Watch by arstechnica') \n", + " ax1.set(xlabel='# of Words', ylabel='# of Frequency')\n", + " ax2.set(xlabel='# of Words', ylabel='# of Frequency')\n", + " plt.show()\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "One author uses the words iphone and battery more while the other author uses the words apple and share more" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/MiniProject1.ipynb b/MiniProject1.ipynb deleted file mode 100644 index 59b489b..0000000 --- a/MiniProject1.ipynb +++ /dev/null @@ -1,382 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Written text as operational data\n", - "\n", - "Written text is one type of data\n", - "\n", - "### Why people write?\n", - "\n", - " - To communicate: their thoughts, feelings, urgency, needs, information\n", - "\n", - "### Why people communicate?\n", - "\n", - "1. To express emotions\n", - "1. To share information\n", - "1. To enable or elicit an action\n", - "1. ...\n", - "\n", - "### We will use written text for the purpose other than \n", - "1. To experience emotion\n", - "1. To learn something the author intended us to learn\n", - "1. To do what the author intended us to do\n", - "\n", - "### Instead, we will use written text to recognize who wrote it\n", - " - By calculating and comparing word frequencies in written documents\n", - " \n", - "See, for example, likely fictional story https://medium.com/@amuse/how-the-nsa-caught-satoshi-nakamoto-868affcef595" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Example 1. Dictionaries in python (associative arrays)\n", - "\n", - "Plot the frequency distribution of words on a web page." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "class=\"menu-item\t54\n", - "\t38\n", - "\t35\n", - "
  • \t28\n", - "\t21\n", - "\t21\n" - ] - } - ], - "source": [ - "import requests, re\n", - "# re is a module for regular expressions: to detect various combinations of characters\n", - "import operator\n", - "\n", - "# Start from a simple document\n", - "r = requests .get('http://eecs.utk.edu')\n", - "\n", - "# What comes back includes headers and other HTTP stuff, get just the body of the response\n", - "t = r.text\n", - "\n", - "# obtain words by splitting a string using as separator one or more (+) space/like characters (\\s) \n", - "wds = re.split('\\s+',t)\n", - "\n", - "# now populate a dictionary (wf)\n", - "wf = {}\n", - "for w in wds:\n", - " if w in wf: wf [w] = wf [w] + 1\n", - " else: wf[w] = 1\n", - "\n", - "# dictionaries can not be sorted, so lets get a sorted *list* \n", - "wfs = sorted (wf .items(), key = operator .itemgetter (1), reverse=True) \n", - "\n", - "# lets just have no more than 15 words \n", - "ml = min(len(wfs),15)\n", - "for i in range(1,ml,1):\n", - " print (wfs[i][0]+\"\\t\"+str(wfs[i][1])) " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Example 2\n", - "\n", - "Lots of markup in the output, lets remove it --- \n", - "\n", - "use BeautifulSoup and nltk modules and practice some regular expressions." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "import requests, re, nltk\n", - "from bs4 import BeautifulSoup\n", - "from nltk import clean_html\n", - "from collections import Counter\n", - "import operator\n", - "\n", - "# we may not care about the usage of stop words\n", - "stop_words = nltk.corpus.stopwords.words('english') + [\n", - " 'ut', '\\'re','.', ',', '--', '\\'s', '?', ')', '(', ':', '\\'',\n", - " '\\\"', '-', '}', '{', '&', '|', u'\\u2014' ]\n", - "\n", - "# We most likely would like to remove html markup\n", - "def cleanHtml (html):\n", - " from bs4 import BeautifulSoup\n", - " soup = BeautifulSoup(html, 'html.parser')\n", - " return soup .get_text()\n", - "\n", - "# We also want to remove special characters, quotes, etc. from each word\n", - "def cleanWord (w):\n", - " # r in r'[.,\"\\']' tells to treat \\ as a regular character \n", - " # but we need to escape ' with \\'\n", - " # any character between the brackets [] is to be removed \n", - " wn = re.sub('[,\"\\.\\'&\\|:@>*;/=]', \"\", w)\n", - " # get rid of numbers\n", - " return re.sub('^[0-9\\.]*$', \"\", wn)\n", - " \n", - "# define a function to get text/clean/calculate frequency\n", - "def get_wf (URL):\n", - " # first get the web page\n", - " r = requests .get(URL)\n", - " \n", - " # Now clean\n", - " # remove html markup\n", - " t = cleanHtml (r .text) .lower()\n", - " \n", - " # split string into an array of words using any sequence of spaces \"\\s+\" \n", - " wds = re .split('\\s+',t)\n", - " \n", - " # remove periods, commas, etc stuck to the edges of words\n", - " for i in range(len(wds)):\n", - " wds [i] = cleanWord (wds [i])\n", - " \n", - " # If satisfied with results, lets go to the next step: calculate frequencies\n", - " # We can write a loop to create a dictionary, but \n", - " # there is a special function for everything in python\n", - " # in particular for counting frequencies (like function table() in R)\n", - " wf = Counter (wds)\n", - " \n", - " # Remove stop words from the dictionary wf\n", - " for k in stop_words:\n", - " wf. pop(k, None)\n", - " \n", - " #how many regular words in the document?\n", - " tw = 0\n", - " for w in wf:\n", - " tw += wf[w] \n", - " \n", - " \n", - " # Get ordered list\n", - " wfs = sorted (wf .items(), key = operator.itemgetter(1), reverse=True)\n", - " ml = min(len(wfs),15)\n", - "\n", - " #Reverse the list because barh plots items from the bottom\n", - " return (wfs [ 0:ml ] [::-1], tw)\n", - " \n", - "# Now populate two lists \n", - "(wf_ee, tw_ee) = get_wf('http://www.gutenberg.org/ebooks/1342.txt.utf-8')\n", - "(wf_bu, tw_bu) = get_wf('http://www.gutenberg.org/ebooks/76.txt.utf-8')" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#Plot the results: are there striking differences in language?\n", - "import numpy as np\n", - "import pylab\n", - "import matplotlib.pyplot as plt\n", - "\n", - "%matplotlib inline\n", - "def plotTwoLists (wf_ee, wf_bu, title):\n", - " f = plt.figure (figsize=(10, 6))\n", - " # this is painfully tedious....\n", - " f .suptitle (title, fontsize=20)\n", - " ax = f.add_subplot(111)\n", - " ax .spines ['top'] .set_color ('none')\n", - " ax .spines ['bottom'] .set_color ('none')\n", - " ax .spines ['left'] .set_color ('none')\n", - " ax .spines ['right'] .set_color ('none')\n", - " ax .tick_params (labelcolor='w', top='off', bottom='off', left='off', right='off', labelsize=20)\n", - "\n", - " # Create two subplots, this is the first one\n", - " ax1 = f .add_subplot (121)\n", - " plt .subplots_adjust (wspace=.5)\n", - "\n", - " pos = np .arange (len(wf_ee)+1) \n", - " ax1 .tick_params (axis='both', which='major', labelsize=14)\n", - " pylab .yticks (pos, [ x [0] for x in wf_ee ])\n", - " ax1 .barh (range(len(wf_ee)), [ x [1] for x in wf_ee ], align='center')\n", - "\n", - " ax2 = f .add_subplot (122)\n", - " ax2 .tick_params (axis='both', which='major', labelsize=14)\n", - " pos = np .arange (len(wf_bu)+1) \n", - " pylab .yticks (pos, [ x [0] for x in wf_bu ])\n", - " ax2 .barh (range (len(wf_bu)), [ x [1] for x in wf_bu ], align='center')\n", - "\n", - "plotTwoLists (wf_ee, wf_bu, 'Difference between Pride and Prejudice and Huck Finn')" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "and\t2836\n", - "of\t2676\n", - "to\t2646\n", - "a\t2217\n", - "in\t1422\n", - "his\t1205\n", - "he\t928\n", - "that\t920\n", - "was\t823\n", - "for\t798\n", - "with\t797\n", - "as\t672\n", - "I\t505\n", - "you\t497\n" - ] - } - ], - "source": [ - "#In case Project gutenberg is blocked you can download text to your laptop and copy to the docker container via scp\n", - "#Assuming the file name you copy is pg4680.txt here is how you change the script\n", - "# Please note the option errors='replace'\n", - "# without it python invariably runs into unicode errors\n", - "f = open ('pg4680.txt', 'r', encoding=\"ascii\", errors='replace')\n", - " \n", - "# What comes back includes headers and other HTTP stuff, get just the body of the response\n", - "t = f.read()\n", - "\n", - "# obtain words by splitting a string using as separator one or more (+) space/like characters (\\s) \n", - "wds = re.split('\\s+',t)\n", - "\n", - "# now populate a dictionary (wf)\n", - "wf = {}\n", - "for w in wds:\n", - " if w in wf: wf [w] = wf [w] + 1\n", - " else: wf [w] = 1\n", - "\n", - "# dictionaries can not be sorted, so lets get a sorted *list* \n", - "wfs = sorted (wf .items(), key = operator .itemgetter (1), reverse=True) \n", - "\n", - "# lets just have no more than 15 words \n", - "ml = min(len(wfs),15)\n", - "for i in range(1,ml,1):\n", - " print (wfs[i][0]+\"\\t\"+str(wfs[i][1])) " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Assignment 1\n", - "\n", - "1. Compare word frequencies between two works of a single author.\n", - "1. Compare word frequencies between works of two authors.\n", - "1. Are there some words preferred by one author but used less frequently by another author?\n", - "\n", - "Extra credit\n", - "\n", - "1. The frequency of a specific word, e.g., \"would\" should follow a binomial distribution (each regular word in a document is a trial and with probability p that word is \"would\". The estimate for p is N(\"would\")/N(regular word)). Do these binomial distributions for your chosen word differ significantly between books of the same author or between authors? \n", - "\n", - "Project Gutenberg is a good source of for fiction and non-fiction.\n", - "\n", - "E.g below are two most popular books from Project Gutenberg:\n", - "- Pride and Prejudice at http://www.gutenberg.org/ebooks/1342.txt.utf-8\n", - "- Adventures of Huckleberry Finn at http://www.gutenberg.org/ebooks/76.txt.utf-8" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "import requests, re, nltk\n", - "#In case your text is not on Project Gutenberg but at some other URL\n", - "#http://www.fullbooks.com/Our-World-or-The-Slaveholders-Daughter2.html\n", - "# that contains 12 parts\n", - "t = \"\"\n", - "for i in range(2,13):\n", - " r = requests .get('http://www.fullbooks.com/Our-World-or-The-Slaveholders-Daughter' + str(i) + '.html')\n", - " t = t + r.text" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1323653" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(t)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.5.2" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} diff --git a/jamin.ipynb b/jamin.ipynb new file mode 100644 index 0000000..e2dba08 --- /dev/null +++ b/jamin.ipynb @@ -0,0 +1,492 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Written text as operational data\n", + "\n", + "Written text is one type of data\n", + "\n", + "### Why people write?\n", + "\n", + " - To communicate: their thoughts, feelings, urgency, needs, information\n", + "\n", + "### Why people communicate?\n", + "\n", + "1. To express emotions\n", + "1. To share information\n", + "1. To enable or elicit an action\n", + "1. ...\n", + "\n", + "### We will use written text for the purpose other than \n", + "1. To experience emotion\n", + "1. To learn something the author intended us to learn\n", + "1. To do what the author intended us to do\n", + "\n", + "### Instead, we will use written text to recognize who wrote it\n", + " - By calculating and comparing word frequencies in written documents\n", + " \n", + "See, for example, likely fictional story https://medium.com/@amuse/how-the-nsa-caught-satoshi-nakamoto-868affcef595" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 1. Dictionaries in python (associative arrays)\n", + "\n", + "Plot the frequency distribution of words on a web page." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "class=\"menu-item\t54\n", + "\t38\n", + "\t35\n", + "
  • \t28\n", + "\t21\n", + "\t21\n" + ] + } + ], + "source": [ + "import requests, re\n", + "# re is a module for regular expressions: to detect various combinations of characters\n", + "import operator\n", + "\n", + "# Start from a simple document\n", + "r = requests .get('http://eecs.utk.edu')\n", + "\n", + "# What comes back includes headers and other HTTP stuff, get just the body of the response\n", + "t = r.text\n", + "\n", + "# obtain words by splitting a string using as separator one or more (+) space/like characters (\\s) \n", + "wds = re.split('\\s+',t)\n", + "\n", + "# now populate a dictionary (wf)\n", + "wf = {}\n", + "for w in wds:\n", + " if w in wf: wf [w] = wf [w] + 1\n", + " else: wf[w] = 1\n", + "\n", + "# dictionaries can not be sorted, so lets get a sorted *list* \n", + "wfs = sorted (wf .items(), key = operator .itemgetter (1), reverse=True) \n", + "\n", + "# lets just have no more than 15 words \n", + "ml = min(len(wfs),15)\n", + "for i in range(1,ml,1):\n", + " print (wfs[i][0]+\"\\t\"+str(wfs[i][1])) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example 2\n", + "\n", + "Lots of markup in the output, lets remove it --- \n", + "\n", + "use BeautifulSoup and nltk modules and practice some regular expressions." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import requests, re, nltk\n", + "from bs4 import BeautifulSoup\n", + "from nltk import clean_html\n", + "from collections import Counter\n", + "import operator\n", + "\n", + "# we may not care about the usage of stop words\n", + "stop_words = nltk.corpus.stopwords.words('english') + [\n", + " 'ut', '\\'re','.', ',', '--', '\\'s', '?', ')', '(', ':', '\\'',\n", + " '\\\"', '-', '}', '{', '&', '|', u'\\u2014' ]\n", + "\n", + "# We most likely would like to remove html markup\n", + "def cleanHtml (html):\n", + " from bs4 import BeautifulSoup\n", + " soup = BeautifulSoup(html, 'html.parser')\n", + " return soup .get_text()\n", + "\n", + "# We also want to remove special characters, quotes, etc. from each word\n", + "def cleanWord (w):\n", + " # r in r'[.,\"\\']' tells to treat \\ as a regular character \n", + " # but we need to escape ' with \\'\n", + " # any character between the brackets [] is to be removed \n", + " wn = re.sub('[,\"\\.\\'&\\|:@>*;/=]', \"\", w)\n", + " # get rid of numbers\n", + " return re.sub('^[0-9\\.]*$', \"\", wn)\n", + " \n", + "# define a function to get text/clean/calculate frequency\n", + "def get_wf (URL):\n", + " # first get the web page\n", + " r = requests .get(URL)\n", + " \n", + " # Now clean\n", + " # remove html markup\n", + " t = cleanHtml (r .text) .lower()\n", + " \n", + " # split string into an array of words using any sequence of spaces \"\\s+\" \n", + " wds = re .split('\\s+',t)\n", + " \n", + " # remove periods, commas, etc stuck to the edges of words\n", + " for i in range(len(wds)):\n", + " wds [i] = cleanWord (wds [i])\n", + " \n", + " # If satisfied with results, lets go to the next step: calculate frequencies\n", + " # We can write a loop to create a dictionary, but \n", + " # there is a special function for everything in python\n", + " # in particular for counting frequencies (like function table() in R)\n", + " wf = Counter (wds)\n", + " \n", + " # Remove stop words from the dictionary wf\n", + " for k in stop_words:\n", + " wf. pop(k, None)\n", + " \n", + " #how many regular words in the document?\n", + " tw = 0\n", + " for w in wf:\n", + " tw += wf[w] \n", + " \n", + " \n", + " # Get ordered list\n", + " wfs = sorted (wf .items(), key = operator.itemgetter(1), reverse=True)\n", + " ml = min(len(wfs),15)\n", + "\n", + " #Reverse the list because barh plots items from the bottom\n", + " return (wfs [ 0:ml ] [::-1], tw)\n", + " \n", + "# Now populate two lists \n", + "(wf_ee, tw_ee) = get_wf('http://www.gutenberg.org/ebooks/1342.txt.utf-8')\n", + "(wf_bu, tw_bu) = get_wf('http://www.gutenberg.org/ebooks/76.txt.utf-8')" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAApMAAAGZCAYAAADVZboGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VNX9//HXhwBhCWKVRRYVG0BRdtMAihgEBQRxqUuR\nKhE1ivL7ulEBayutdS1abVVqWgFbrV/br1r3FYiIgBgEZBVBQUEEEWVJZM35/XHuxGGYCZNJSGbg\n/Xw85jHJveeee+525jP3nHvGnHOIiIiIiCSiRnUXQERERERSl4JJEREREUmYgkkRERERSZiCSRER\nERFJmIJJEREREUmYgkkRERERSZiCySpmZgVmts94TGZWy8x+Z2afmtkOM3Nmdl7Y/P8xsyVm9kMw\n78aqLXnqM7PcYN/lVndZJHGxrqH9LOPMrOAAFanapeK5nchxTGAdOcF+GVfV604VZtYq2EeTq7ss\nFVVd14GZrTGzFVW5zmSjYDIBwcka/tphZt+Y2Udm9nczG2BmaeXM9hbgt8BXwHjgd8CyYH2/AB4G\ntgMPBfNmV9oGSaWJ9eF1KItyvewxs41mNtXMLq3u8h2Kwj50I+uxz81sspmdWN1llOQUFnyu2k86\nl6oBe1g9XtarVXWXM5nUrO4CpLjfBe9pwOHAScBlwJVAoZkNdc4tj1jmcqBelLwGAduAM51zO6PM\nAxjknPuqUkouUvVC10st4ATgXKC3mWU5524uRz6xriEpvwXAf4O/GwI5wDDgYjM7wzl3IL+0Vudx\n1Dkk8VgNTI4x7/uwv08HUjJwriwKJivAOTcucpqZNQX+AlwEvBN8UG4IW+aLGNk1B76NEkiG5qFA\nUlJZ5PViZn2At4EbzezPzrlVceYT6xqS8psfflzMzIBJ+IDyHqD3gVpxdR5HnUMSp1XRPucjOedW\nVkFZkpqauSuZc2498AugADgauC18fmRfnaBJyQHHAceG3UJfZWbjgnm9g7QuWtOBmZ0Q5POlme00\ns/Vm9i8zOz6yfKH1mdlPzez/mdnHQT/Mgoh0/czstaA5coeZrTSzP5rZ4VHyXBW86gdpvgiWWWFm\no4MPqH2YWbaZPWtma4P068zsLTO7OErabmb2f2b2dbCNX5rZ42bWPMahKJOZDTSzmWZWZGbfBXm3\niZG2npmNNbP5QfptZjbLzIZEpJsMTAv+vSOiSSQn2KfOzO6KWK53WLqjI+Y9GzpeEdPjPubl2YYg\nbWlTvZl1NrNXzex7Mys2s3fN7JT97uA4OOem4LtyGPCzYN2l/bfMrG2w/RvMrMTMcoI0sfod1zaz\n3wTnaqjJ9g9mlh6rDGZW08yuM7PZZrYl2MZ5ZjbSzOKuH83sZDN72MwWmNkmM9tuvv/zA2b2kyjp\nS/t2Bce/wMy2BmV41czaxVhPazP7T3DOFgXn8MB4y7k/zv++7mPBv9lh6x0Xdh5famYfBOfQqojy\nxX2dRjuOtp8+bxaj76uZNTWzJ4Lr4IfgPB8WaztjnUPBvLPM7OXgvNsRbMOLZtY3Stq468kyytLc\nzH5rZu+H7bevgut5n+4GEddIKzP732D9282s0MwGxVhPAzN70Hz/vu1mtszMbqYK4wDbTzcgCz5L\nYsy7xMymhF1fq8zsGTPLimO9PzGz6UE9MrZiWxE1/336TJrZVcG2/tLM+pivO7eZ2ebg/Ir2+fxU\nsMzRQb20KNjWr83sr2Z2WGWXvbLozuQB4JwrMbM/4JuMhpjZTS72j6D/F1gFhB6oeSh4/x6YH/yd\nCxzLj82EpcysP/A8vunwZWAF0BK4ABhoZr2dcx9FWe/DwGnAq8BrwJ6wPO8AxgGbgFeADUBHYBRw\ntpn1cM5ticivFvAm/i7q68Bu4DzgXqBOZNnN7GpgQrDel4BPgSZAFnAd8O+wtMOBfGBHkPZLoA1w\nFXCOmXUv552GC4ABwAv4oL8z8HN8k+spzrlPwtZ9ODAV6AJ8BEzEV779gH+Z2UnOuduD5KHmwmHA\nu0HeIavw+3En0Af4ddi8PhF/Tw7WbfgvEqucc5+Flalcx7yc2xAuC7gVmAX8HTgm2E9TzKxz+H6q\ngNAXjcjrIxP4AFgOPA3UBSLPuR8z8fvq3/im85XAI0BtYDjQIcYyof3XD/gE+Be+X3JvfOtCN3y3\nlXhcDZyPP+7v4PfvycDNwAAz6+ac2xpluUFBmV8H/gqcCJwN/MzMTnTObQwrbxv8sTgySD8faI0/\n716Ps5zxiHVMwPftPhO/36bhm8ZD5avs6zS+wpo1AmYCPwVmBK9m+P35Vjnz+h2+7/o2/H79El+n\nnQL8En9sQ2kTqSej6QWMwe/P54J1twEuBAab2anOuQVRljsWmAN8BvwTOAK4BHjRzPo650JfbDH/\nhWoK/kvbAvw1dTjwG3wTbdIKru3Q3fKN+LrvG3yd1xt/7RaWsfwxwBv4a+Vy59xTB7rMEc7DX+Ov\n4T/z2uOv+9A1vinKMg/gr7NX8J+rfYBr8PXimVVR6HJzzulVzhe+knX7SZMO7ArSHhc2vSDasvhg\nY1WMvGIt8xPgO/wFdmLEvPb4SumjiOmTgzKtDS9X2PzewfyZwOER83KDeX+KUnaHv1jqhk1vgg+K\nvwdqhU0/Mdg3m4CTopShZdjfbfEB2AqgRUS6Pvhg9IU4j1uo/A7f/zR83g3B9Ckx9tetEdPr4Cuo\nEqBz2PScIP24GGWYjg+0G4ZNm4UP8jYC/wyb3inI64lKOubl3QYH5EYsc00w/bGKXi9A32DdJcCx\nwbRWYeu+O97rAbg0WGYWUCds+hH44NIBBRHLjAum/wVIC5ueBjwRzDs3zm08NjyPsOlXBvmMjnEu\n7gb6RMy7J8bxeiuYfkPE9HNjHa84roXJEdMNeJKIayFsXxUBXaLkV+7rNMZxDJUr6nbEOI75RK+X\nsvixDh4Xx7rPCtJ+FrkNwfzweqnc9WQZx6IJ0CDK9E746/n1iOmtwo73HRHz+gXTX4uYflsw/Tmg\nRtj04/D18D7nQhnlDa3/++C8iPXa57pn//XjKiI+B4G8YJk5hNWb7sdrtVms8yfYh18Bm4G+8Wxf\nRDlXxdi2nIj0a4AVEdOuCvLYFSX9H4N5N0dMfyqY/nnE+VYrONcc0DXe7ajKV7UXIBVf0S6SGOm+\nDtJmh00riLZstIsojmVCAdD1MZb7UzD/xLBpk4nygRQ2/4Vg/j5BXjB/HrAhStkd0DpK+tAHU/uw\naX8Jpt0Uxz4MbcPAMsq7myiVcZS0oYpmSpR5afgPQsePgc2RQd4fxsgvFOzdHzYtVAmNi7HMHcH8\nwcH/DYLK5j7gP8DasLQ3B2kvTfSYV3AbZkRJXysob2F5rxd+rIjvAv4vKJcDHgxL2yqY9jWQHu/1\ngO976YDeZRz3grBpNYBvgXVAzSjLHI4Pcv8d73bGKKvhP8imxijTU1GWOS6Y939h01ryY6ATLWgt\nILFgcn7YcfkT/vp2QDHQPSz9OMoIkEjgOo1xHEPlirodUY5jLXyAu4WIQCOYP5ko12OMdb8cpD0/\njv1X7noywfPnJfzd8vAv46FrZFWMc2E1sDFi2qf4gD4zSvrQsZ0cZ5lC64/rFbFsTrTjETZ/FfsG\nkwuDZfb5ElPGeZ2Lv4O3BX/jpFM593tOrO2JcT6VFUzus1/xd54d8L8R00PB5D7nP771wwHXVvS8\nOhAvNXMfWGU1F1WGHsF7pxh9UNoG7+2AJRHz5pSR5y7gIjO7KMr82kBjMzvSOfdt2PTNzrlo42x9\nGbyH9xvrHrzH0zQX2sbTzexnUeY3wQeCbYG5ceQHvilyL865PWY2A9+M0AVfIf8syDtWH59awXvU\n/m0xTMVX3n3wHxSn47ubTMFXpBeaWTvn3FLgjLBlQsp7zCuyDfs0HTnndpnZevY+nvG6I5QN/q7G\ne/i7rtGanRY453aUI++u+OBvRpR5BVGmtcXftfwUuN2id+v9gTiPbdBkfg2+v/SJ+Obf8L5oLWIs\nGq15Lto10yV4n+Gc28O+CkisubJT8AJ/3a/DN5ne65yLrDOg7HoDKvc6jccJ+Key33PObY4yvwDf\nPBqP7vhz84040iZaT0Zlvt/rtfi7qY3YtwtaI/yxCTc/xrnwJT8eD8ysAb6J90sX/UGRAn68Nstj\ntXOuVayZVgnDAplZfXyLy3rn3LxyLHoh/k7zp8AAl3j3inedczkJLhsS7zVe0WWqlYLJA8TM6uA/\nrMD37zgQjgzer95Puowo074uI8+a7L9yycDf2Qn5Pka63cF7+Liboc7pa/ezjlB5AH4VR3nitT7G\n9NA+CfUDC637Z8GrMtY9G38nJdRPsg++eXAGPpgE6GNmn+L7Ui1xzoUfq/Ie84psQ1nHtLzjqOKc\nixqxxRDr/IylIbDJObcrzrxC+6UNZZ/r8R7bZ/F9Jj8DXgzWGQqGb8R3e4lmn33snNsdBLfh+zh0\nTu7v3C2vJ51zueVIX1a9AZV7ncajMvfL4cB3zrkf4kibaD25DzO7Ad9X/jv8HfYv8HeGHb6/XSei\nnz9lXZ/hX2QO1LlTFcrzWRGuB/6L8gf8GIRVl2jHKdrnYkWXqVYKJg+cnvj9u97FOeRJAkLfxDs5\n5z4u57KxvjVuxvepOSLG/MoQulBaEAzMXobQNjZ08XVmj0fTGNOPilhn6P1PrnzjIMYU3NmbAfQz\ns6PwweQs51wxsNzM1uD7En6EbwKfGpFFeY95pW9DFSnvXY3NwBFmVitKQHlUjPTg+/FdUO7ShQme\nJj0f/3DGAOfc7rB5NfAPMVVUqLz7O3cPtLLqDaj4dVoSvO/z2WTRn5CuzP3yPXCkmdWNI6CslHrS\nzGriWyq+xveFWxcxv0e05copWc4dKOP4Bg5n70Aq/LOiPG7DP8h2Bf4ZniudcyX7WUYqQEMDHQDB\nB0joad1/HcBVhQYUPq2S8/yJmZ1UiXlGWwf4J6rjTVuZ27hPc6D5XyzqGfwbak6Zg6/8yrPuULNT\nWd8epwTvQ/BNOFPC5k3F99c5MyJtSHn3RyLbkIo+wtdnPaPMy4kybRn+g6p70ERdEa2D95fCA8lA\nNv5J9IoKnZM9Lfqva+VUwjoqorKu0++C96OjzIs2BMwy/F28zmbWMMr8nHKseza+a1L/ONNWRj3Z\nCB9AzYwSSGbgu29UiPOjCKwAWphZZpQkORVdRznEPL5m1pqw0QEAnHNFwCKgqZl1iVymDDvwTd3/\nwfeffCoI3OUAUTBZycysCfC/+Av0C+DuA7i6SfgPxDvMLDtyppnVsGBsvnL4U/D+N4s+Nlx9M+se\nOb2cJuBv2f/Goo+j1jLs30fwfZP+ZGZto6StbWbl/QA7w/Ydi20kvr/kNOfcagDnB5t/GsgyP37h\nPh/iZpZpZseFTQo1aR1TxvpDdxvH4D+8IoPJhvjhkUrYt79fuY55gtuQiiYF73cFXUwAMLMjgH2G\nPQqCvr/gh5D5s5ntE/CZWbNo52cUq4L3nIjlmwCPxlP4/XHOrcE3gR6HP1fD13Mu1T+8S2Vdp4X4\n8/5SMyv9hZrgON4fmTi4C/00/i7+uIh1ZgFDy7ENfwneHzCzfe6ERUyrrHpyAz4YPjkIHkPL18IP\n39Yo3sLvxyT85/19FjZ+anDd/08lrSMey/APxZwbXB+hctQF/hxjmdD0xyO/MAT1XbNoCwXnxhD8\nQy1DgGcr4YujxKBIvQLCHmiowY8/p9gT3/l6DjDUhY0TV9mcc9+a2YX4Jwtnm9kUYDG+KepofL+R\nI/FDwMSb5xQzG4MfnuRTM3sNP0xBBn74k9Px/fvi+fYeax1LzOw6/Dhw88zsRXxH6SPx/fq2EAzU\n7pxbFoxfNxFYbGZv4McerIUP2E7D90k9oRxFeBl4wcxewH9j74y/S7oJH8SFG4nvV/d74LKgiXo9\nfuy5dkF5h+D3Efgxz9YCvzCzXfgHeRx+yJ/VQZp5+G/oTYCt7P1QQyiwbIJ/YnqvvjMJHvPybkMq\negY/xt5gYFFwTtXC3534EP9FIdKd+P5o1+LHQZyKP3ZN8PvrVHwLQ7QHUcJ9CLwPXGBmM/HXR1P8\nOfUJfmiSynA9fuijh8zsLPx4ga3xTewvA+dU0nrKrbKuU+fcOjN7Gj++53wzexU4DN9kOZ0fH0QK\ndxu+u8iNQQAZGmfyEvxwZYPj3Ia3zI8PfDuw1MxC40w2xdfrs/F3uSqtnnR+TOI/479YLgzO29r4\n+u8I/NiTlfErRA/g+1/+HPjIzN7Ef2ZdjN+vce2jigq6+TyMH99yXlAH18S3xHxF9Gvl7/jz5zL8\nvn4Rfy41xz+kOJGILxJh69tjfvD67finq583swvL+XCfxKO6HydPxRf7DhOwAz/u31zgb/gKpEaM\nZQuopKGBwua3wt8Z+BR/0WzBfwP8J3BeRNrJQZlb7Wcbe+IHgf4K/4DIN/hhRB4EsspR9nHB+nKi\nzOuBH/csNJj3V/gnKS+MkrZDUPbVwf7ehG/+eBw4I87jlsuPw0YMwn8wF+Hv9D0HtI2xXG18QDYT\n3/9oB/6u8xT8wxVHRqT/WTBvM/4uyz7bH6zPAa9GWd8nwbz7KuOYl3cbSGD4jniulzjTtmI/w5QQ\n+xqqjR9w+rNg+1bhhyFKJ2JImbBlDP8hNSU4p3biA8oZ+CDl6DjLfQT+l2NWBcdjJb5Vol60/UUC\n4ykG01vjh1X6Pjh3ZwED95dfGddCzP0c73Wc6HVaxnFMx4/Dt4Yfx64ciw86Yu2Xo/BBxTf4p/Dn\nB9sY9VyOte5g3tn4emhTsA1f4r+87VPPUI56sox9VhM/DNiSoOxf46/jY4lSX7Ofa6SM/XpYUK61\nwTm6DD8I/U/LeS6E1l9mHUCM6x5/zY3BXyM78fXQ/cS4VsKWG4ofiWNzUP7P8Xelu4alCZ3XuVHW\nGRqS7k3CxkOOsa7QebPPuRYjfVlDA/0yxjF3wDsR00NDA7WMskzfYN7t8ZSpql8WFFJERKTKmNls\n/NiBMX/uUkRSg/pMiohIlQr67v4Uf0dHRFKcgkkREakyQV/zN4HG+CZ7EUlxauYWEZEqY2Yl+H5y\n/wF+45zbXs1FEpEKUjApIiIiIglTM7eIiIiIJEzBpIiIiIgkTMGkiIiIiCRMwaSIiIiIJEzBpIiI\niIgkTMGkiIiIiCRMwaSIiIiIJEzBpIiIiIgkTMGkiIiIiCRMwaSIiIiIJEzBpIiIiIgkTMGkiIiI\niCRMwaSIiIiIJEzBpIiIiIgkTMGkiIiIiCRMwaSIiIiIJEzBpIiIiIgkLJWCyQuBvwDvAVsABzyV\nYF4tgYnAV8AOYBXwEPCTCpdSRERE5BBSs7oLUA63A52AbcAa4IQE88kEZgJNgBeBZUA2cAPQHzgV\n+LaihRURERE5FKTSncmbgLbAYcCICuTzGD6Q/B/gPGAMcAbwJ+B44K6KFVNERETk0GHOueouQyJy\ngGnA08Avy7FcJrAC36ydCZSEzWsArAMMH2wWVUI5RURERA5qqXRnsjL0Dt7fYu9AEmAr8D5QD+he\nlYUSERERSVWHWjB5fPC+PMb8T4P3tlVQFhEREZGUl0oP4FSGhsH75hjzQ9MPjyezRo0auVatWlW0\nTCJSTqtWrWLjxo3VXQxJQKNGjVC9KVI95s6du9E517iy8z3UgslK1apVKwoLC6u7GCKHnKysrOou\ngiRI9aZI9TGz1Qci30OtmTt057FhjPmh6d/HysDM8sys0MwKv/nmm0otnIjIwSg/P5+srCyysrJQ\nvSly8DnUgslPgvdYfSLbBO+x+lTinMt3zmU557IaN670O8UiIgedvLw8CgsLKSwsRPWmyMHnUAsm\npwXvZ7HvtjfAD1heDMyuykKJiIiIpKqDNZishf+FnMyI6SvxwwK1Aq6PmPc7oD7wTzTGpIiIiEhc\nUukBnPOCF8BRwXsPYHLw90ZgVPB3C2ApsBofOIa7Dv9zin8G+gTpuuHHoFwO/LrSSy4iIiJykEql\nYLIzMCxi2k+DF/jAcRT7txLIAn6P/y3us/G/fPMw/u7kd5VRWBEREZFDQSoFk+OCVzxW4X8WMZYv\ngSsqVhwREREROVj7TIqIiIhIFVAwKSIiIiIJUzApIiIiIglTMCkiIiIiCVMwKSIiIiIJS6WnuZPO\nwrWbaTXm1eouhshBYdW9A6u7CFIFVG+KVK5kqDt1Z1JEREREEqZgUkREREQSpmBSRERERBJWKcGk\nmTkzuzDW/xXMu1WQX1Zl5FdVeYuIiIgcCg7UnclmwMsHKO+EmNlkM3ulusshInIwmTx5MhkZGdVd\nDBGpRgfkaW7n3NcHIl8RERERSS5x3Zk071YzW2lmP5jZQjP7ZRnpS5u5gzuCLsorN5jf38zeM7Pv\nzGyTmb1pZu2iZNvWzGaY2XYzW2ZmZ0Ws80Qze9XMtprZBjN7xsyOCuaNA4YBA8PWnxO2+LFm9raZ\nFZvZEjM7M579IiKS6oqKirj88svJyMigadOm3HPPPQwaNIjc3FwAvvvuO4YNG8ZPfvIT6tatS9++\nfVm8eDEABQUFXHHFFRQVFWFmmBnjxo2rvo0RkWoRbzP3H4ArgeuBE4F7gMfNLJ7BjW7AN3uHXr8G\nioHCYH594CEgG8gBNgMvm1ntiHzuB/4MdAbeBl40sxYAZtYMmA4sCvLpC2QEaWoA44F/A++ElWNm\nWN53BXl3Aj4E/tfM1G4jIge9W265hXfffZcXXniBqVOnsmDBAt57773S+bm5uXzwwQe8+OKLzJkz\nh3r16tG/f39++OEHTjnlFB566CHq1avHunXrWLduHaNGjarGrRGR6rDfZm4zqw/cDJzlnAvVMJ+b\nWTY+uCxz9Fnn3GZ8gIiZnQb8FhjinFsUzH8uYn1XAFvwQeGMsFkTnHP/DtLcAPQDRgC3B+8LnHOj\nw/K5HNgEZDnn5pjZD8CO8CZ4Mwv9+Sfn3MvBtNuAy/FBa/j6Q8vkAXkAaYc1LmvTRUSS2rZt25g4\ncSL/+Mc/OPNM3yDzxBNP0LJlSwA+/fRTXnrpJd5991169eoFwD//+U+OOeYYnn76aa666ioaNmyI\nmXHUUUfFXE9+fj75+fkA7CnefIC3SkSqWjx9Jk8E6gBvmJkLm14LWBXvisysFfAc8Hvn3Ath0zOB\nO4FuQGP83dIawDERWcwK/eGcKzGzD4KyAZwM9DKzbVFWnQnM2U/xPg77+6vgvUm0hM65fCAfIL1Z\nGxctjYhIKli5ciW7du0iOzu7dFr9+vVp3749AEuXLqVGjRr06NGjdH7Dhg3p0KEDS5YsiXs9eXl5\n5OXlAZDerE0llV5EkkU8wWSoKfwc4IuIebviWUnQZPwS8KZz7u6I2a8Aa4BrgLXAbmAJENnMvb8y\nvgpEa19ZH8fypdvhnHPBHUuNwSkiEkNYy46IHOLiCZiWADuAY51zKyJeq/e3cNBn8WlgK3BVxLwj\ngROAu51z7zjnlgINiB7kdg9bzvDN4EuDSR8BJwGro5Rxa5BmJ5AWx/aKiBwSMjMzqVWrFh9++GHp\ntOLiYhYtWgRAu3btKCkpYdas0oYhtmzZwsKFCznxRN8wVLt2bfbs2VO1BReRpLLfYDIIxsYD481s\nuJm1NrPOZnZt0H9wf+4AeuD7Nf7EzI4KXnWB74CNwNVBvqcDf8XfnYw0wswuNLPj8Q/sHAtMCOY9\nCjQEnjWzbmb2UzPra2b5ZtYgSLMKaG9mx5tZIzOrFUfZRUQOWhkZGQwfPpzRo0czZcoUlixZwlVX\nXUVJSQlmRps2bTj33HO55ppreO+991i4cCG//OUvOeyww7j00ksBaNWqFdu3b+ftt99m48aNFBcX\nV/NWiUhVi7cp9zfAOHwz8mL809Q/Bz6PY9nT8X0hFwDrwl6XOOdKgEuAjvgnsR8N1rUjSj5j8A8C\nLQD6A+c759YAOOe+Ak4FSoA3gjI+GuQTyutv+DuZhcA3QXoRkUPa+PHjOe200xg8eDC9e/emY8eO\nZGVlUadOHQAmTZpEdnY2gwcPJjs7m+LiYt544w3q1q0LwCmnnMK1117LkCFDaNy4Mffff391bo6I\nVANzTs+QJCq9WRvXbNhD1V0MkYPCqnvjGWnMy8rKorCwcP8Jpdx27NjBsccey69+9StuueWWSs8/\nvVkbVG+KVJ7y1J1mNtc5V+k/IX1AfgFHRERSw7x581i6dCnZ2dls3bqV++67j61bt3LJJZdUd9FE\nJEUomBQROcQ9+OCDfPLJJ9SsWZPOnTszffr00rEmRUT2R8FkBXRo0ZDCctxeFhFJNl26dKnSLgOq\nN0UOPhpLUUREREQSpmBSRERERBKmYFJEREREEqY+kxWwcO1mWo15tbqLIVIlyjP8hEgsqjclGal+\nqxjdmRQRERGRhCmYFBEREZGEKZgUERERkYQdUsGkmY0zs0X7SfOImRVUUZFERJJebm4ugwYNKjPN\noEGDyM3NrZoCiUhS0QM4IiJSpocffhjnXHUXQ0SSlIJJEREpU8OGDau7CCKSxJKqmdu8W8zsUzPb\nYWZrzOyeYF4HM3vHzH4ws01mNtnMGoYtO9nMXonIr8xmbTNLM7PxZvZd8HoISDtgGygiUk2mT59O\n9+7dycjIoGHDhmRnZ7No0SK+/fZbhgwZQsuWLalbty4nnXQSkyZN2mvZyGbu4uJicnNzycjIoGnT\nptx9991VvTkikkSSKpgE7gZ+A9wDnARcBHxpZvWBN4FtQDZwPnAKMLGC67sFuBq4BuiBDySHVjBP\nEZGksnv3bs4991x69uzJggUL+OCDD7jxxhtJS0tj+/btdO3alVdeeYXFixdzww03cM011zBlypSY\n+Y0aNYq3336b5557jilTpjBv3jymT59ehVskIskkaZq5zSwDuAm40TkXChJXALPM7GqgPnCZc25r\nkD4PmGZmrZ1zKxJc7Y3A/c65fwd53gD0208584A8gLTDGie4WhGRqrNlyxa+//57zjnnHDIzMwE4\n4YQTSuf/6le/Kv07Ly+PqVOn8swzz9CnT5998tq2bRtPPPEEEydOpF8/X11OmjSJli1bxlx/fn4+\n+fn5AOwp3lwp2yQiySOZ7kyeCKQD0b4OtwM+DgWSgZlASbBcuQVN5M2AWaFpzrkS4IOylnPO5Tvn\nspxzWWk9mV3ZAAAgAElEQVT11I9IRJLfEUccQW5uLv369WPgwIE8+OCDfPHFFwDs2bOHu+66i44d\nO3LkkUeSkZHB888/Xzo/0sqVK9m5cyc9evQonZaRkUGHDh1irj8vL4/CwkIKCwtRvSly8EmmYDJR\noUcMSwCLmFerissiIpKUJk2axAcffECvXr146aWXOP7443nzzTcZP348DzzwAL/61a+YMmUK8+fP\n57zzzmPnzp3VXWQRSRHJFEwuBXYA+7ar+HkdzKxB2LRT8OVfGvz/Df5OY7jOsVbmnNsMrAO6h6aZ\nmeH7ZIqIHHQ6derE6NGjKSgoICcnhyeffJIZM2ZwzjnncNlll9G5c2cyMzNZvnx5zDwyMzOpVasW\ns2fPLp1WVFTEokVlDuErIgexpAkmgybsh4F7zOwKM8s0s2wzGwE8DRQD/wie6u4FPA48H9ZfcirQ\nxcyGm1lrM7sVOHU/q30YuNXMLjSz44GH2DcgFRFJaZ9//jljxoxh5syZrF69mmnTpvHxxx9z4okn\n0rZtW6ZMmcKMGTNYtmwZI0eO5PPPP4+ZV0ZGBldeeSWjR4/m7bffZvHixQwfPpw9e/ZU4RaJSDJJ\nmgdwAmOB7/BPdLcE1gP/cM4Vm1k/fLA3B9gOvAjcEFrQOfemmf0OuAuohw9AHwMGl7G+B4CjgL8H\n//8zWK5dJW6TiEi1qlevHsuXL+eiiy5i48aNNG3alKFDhzJ69Gi2bdvG559/zoABA6hbty65ubkM\nHTqUJUuWxMxv/PjxFBUVcf7551OvXj3+3//7fxQVFVXhFolIMjH9qkHi0pu1cc2GPVTdxRCpEqvu\nHVjdRSiVlZVFYWFhdRdDEpDerA2qNyXZJFP9diCZ2VznXFZl55s0zdwiIiIiknqSrZk7pXRo0ZDC\nQ+TbjIhIZVC9KXLw0Z1JEREREUmYgkkRERERSZiCSRERERFJmPpMVsDCtZtpNebV6i6GyD4OlScT\nJfWo3pRkorqycujOpIiIiIgkLNWCyZbAROAr/E8vrsIPZP6TcubTEz/o+Sr8AOhfAK8B/SupnCIi\nIiKHhFQKJjOBucAV+F/B+RPwGf5XcGYBR8aZzwjgPfxvgL8X5PMucDrwOvDrSi21iIiIyEEslYLJ\nx4AmwP8A5wFjgDPwweDx+J9RLFNaWtqTAwYM+DP+buTJwGX4n3C8DMgCdpx99tm/r1Wr1j8OyBaI\niIiIHGRSJZjMBM7CN0s/GjHvDqAIHxDWLyuT+vXrp6elpdUElgOfRMxeCiyvUaNGjdq1a9eqjEKL\niIiIHOxSJZjsHby/BZREzNsKvA/UA7qXlcnWrVu37969eyfQFmgTMbst0KaoqGhLcXHxjooXWURE\nROTgV23BpJn1N7OtZlYz+L+1mTkz+2tYmj+Y2TvA8dOnT6dly5b9zWy7ma03sz+ZWe0g6ac5OTmc\neuqpv4lYx2QzeyV82rJlyxbht3vu999//1SvXr0+rlOnzq4mTZosGzNmzLcfffTR3AO75SIiyWH6\n9Ol0796djIwMGjZsSHZ2NosWLQJg5syZnH766dSrV48WLVowYsQItmzZUrqsc47777+fzMxM6tat\nS4cOHXjqqaeqa1NEpBpV553JGUAdfF9FgBxgY/BO2LSCJUuWNBswYADNmzf/HOgCXAkMAe4J0m0G\nSE9PT9/fSlevXr0O39fy+9tuu23oypUrO7z44os133rrrU2vvPLKhi1btmTtLw8RkVS3e/duzj33\nXHr27MmCBQv44IMPuPHGG0lLS2PhwoWcddZZDB48mAULFvD8888zf/58hg8fXrr87bffzhNPPMGj\njz7KkiVLGDt2LNdccw2vvqoxJEUONdU2aLlzbpuZzcU3Yc/GB46PAGPMrBk+QPwZMObuu+++oHnz\n5syYMePp2rVrLwWWmtkY4HEz+41zLu71HnfccS2Ad7799tuX/vrXvx512GGH5fXr12828JvZs2df\n2rRp013FxcUxlzezPCAPIO2wxolsuohItduyZQvff/8955xzDpmZmQCccMIJAFx++eVccskl3HLL\nLaXpJ0yYQJcuXdiwYQP169fnwQcf5K233uK0004D4LjjjmPOnDk8+uijDBy490DQ+fn55OfnA7Cn\neHNVbJ6IVKHq/gWcAnwQeQ9+aJ4/44PLHOAbYDcwZ9myZRndu3endu3ah4UtOwOoDbQGGgLs2LGj\nzL6OjRo1Oqxdu3adgI9atmx5j3Pu4s2bN0/HDzF0WUZGxvFdu3Y9ee3atUfFysM5lw/kA6Q3axN/\nFCsikkSOOOIIcnNz6devH3369KFPnz5ceOGFHHPMMcydO5cVK1bw7LPPlqYPfWlfuXIlNWvWZPv2\n7fTv3x8zK02za9cuWrVqtc+68vLyyMvLAyC9WWR3dRFJdckQTI40s3bAYfhxJAvwAeUGYJZzbucJ\nJ5ywLUjfNkoeDmhTo0YNNm3aFPmVd6+nso899tjm5mu+d7dv3x4ZCJYA04GTGzduHO+YlSIiKWvS\npEnceOONvPHGG7z00kv8+te/5r///S8lJSVcddVV3HTTTfss06JFCz7++GMAXn75ZY455pi95teq\npcEwRA411R1MzgDSgVuBGc65PWZWAPwNWA+8AVBUVDRr9uzZXfbs2XNWWlpaDXzg1xPY+cADD6wH\nTj3yyCP3zJgxIzL/TvjhhABIS0tLC/5sDKwEduGfAP8M4Lvvvjtq0aJFZGZm7jkQGysikmw6depE\np06dGD16NAMGDODJJ5+ka9euLF68mNatW0dd5sQTTyQ9PZ3Vq1dzxhlnVHGJRSTZVGswGdZv8pf4\nwcPB959sCRyHH5icNWvW3F2nTp1rrr/++lYDBgz4/XnnnTcLuBd45Oabbx4D1M/MzJy+a9eus8xs\nMPBJy5Ytx9SoUePYkpKSVaH1ffXVV+sbN24McKFzbryZPQHcZ2bf3HbbbQ2WL19+8Z49e1izZs3X\nVbUPRESqw+eff87jjz/O4MGDadGiBZ999hkff/wxI0aMYPDgwXTv3p1rr72Wa665hgYNGrBs2TJe\nfvllHn/8cRo0aMCoUaMYNWoUzjl69erFtm3bmD17NjVq1Cht0haRQ0MyjDNZgA9qCwCcc9uBD/C/\nvT0nmLa2b9++v/zwww93X3zxxb8+/PDDnxs4cOAXRUVFXYGbgOUXXHDBxfjf7Z4IvD98+PDcyy67\nLCN8RWvWrNm4fv36L4G6wIebNm1q1LNnz8116tR57W9/+9tzHTt2TMvMzPx8/fr131fNpouIVI96\n9eqxfPlyLrroItq2bcuwYcMYOnQoo0ePpmPHjkyfPp1Vq1Zx+umn06lTJ8aOHUvTpk1Ll7/zzjsZ\nN24c48eP56STTuLMM8/kueee47jjjqvGrRKR6mDleRI6CRwN/B7oj/8t7nXAC8DvgO8i0oY2zCKm\nGzAMyMU3gzcAtgDz8M3r/xtvYdKbtXHNhj1Urg0QqQqr7h24/0QpLCsri8LCwuouhiQgvVkbVG9K\nsjjY68pIZjbXOVfpQyBWd5/J8voSuCLOtJFBZIgDJgcvEREREamAZGjmFhEREZEUlWp3JpNKhxYN\nKTzEbpGLiFSE6k2Rg4/uTIqIiIhIwhRMioiIiEjCFEyKiIiISMLUZ7ICFq7dTKsxr1Z3MSQFHWrD\nUYiEqN6UA0l1a/XQnUkRERERSZiCSRERERFJmIJJEREREUnYIRdMmtlkM3tlP2leMbPJVVQkEZGU\nM27cONq3bx/zfxE5dByKD+DcQOyfWhQRERGRcjjkgknn3ObqLoOIiIjIwSIlm7nNrJeZzTazbWa2\n2czmmFl7MzvSzJ4xszVm9oOZLTazKyKW3auZ28zqBdO2mdl6M7ut6rdIROTAeuONN2jQoAG7d+8G\nYMWKFZgZ1157bWma22+/nb59+wKwZMkSBg4cSIMGDWjSpAlDhgzh66+/rpayi0hyS7lg0sxqAi8C\nM4BOQDfgIWAPUAf4CBgEnAQ8DDxuZn3KyHI8cCbwc6AP0AXodaDKLyJSHXr27Mn27dspLCwEoKCg\ngEaNGlFQUFCapqCggJycHNatW0evXr1o3749c+bM4Z133mHbtm2ce+65lJSUVNMWiEiySrlgEjgM\nOBx42Tm30jm3zDn3L+fcUufcWufcH51z851znznn8oHngSHRMjKzDOBK4Fbn3JvOuUXAFUDM2tLM\n8sys0MwK9xSrxVxEUkNGRgYnn3wy06ZNA3zgOHLkSFavXs26desoLi7mww8/JCcnhwkTJtCpUyfu\nu+8+2rVrR8eOHfnHP/7BnDlzSoPR8sjPzycrK4usrCxUb4ocfFIumHTObQImA2+a2atmdrOZHQNg\nZmlm9msz+9jMvjWzbcAFwDExsssEagOzwvLfBiwsY/35zrks51xWWr2GlbRVIiIHXk5OTumdyHff\nfZcBAwbQrVs3CgoKmDlzJjVr1iQ7O5u5c+cyffp0MjIySl9HH300ACtXriz3evPy8igsLKSwsBDV\nmyIHn5R8AMc5d4WZPQT0BwYDd5nZeUBn4Bb8E9sLgW3A3UCT6iqriEiyyMnJ4ZFHHmHp0qVs2bKF\nk08+mZycHKZNm0aTJk3o0aMHtWvXpqSkhIEDBzJ+/Ph98mjatGk1lFxEkllKBpMAzrkFwALgPjN7\nHRgGNMA3f/8TwMwMaAt8HyOblcAuoDvwWbBMfaB9ME9E5KDRs2dPduzYwf3330/Pnj1JS0sjJyeH\nq6++mqZNm9K/f38Aunbtyr///W+OPfZYatWqVc2lFpFkl3LN3GZ2nJnda2anmNmxZtYb6AgsAZYD\nfcysp5mdADwCHBcrr6BJ+wl8QHqmmZ0ETATSDvyWiIhUrVC/yaeeeorevXsD0L17d9asWcPs2bPJ\nyckB4Prrr2fz5s1ccsklfPDBB3z22We888475OXlsXXr1mrcAhFJRikXTALF+LuN/8EHj08CTwP3\nAX8A5gCvA9OBomBeWUYB04AXgvdFwbIiIgednJwcdu/eXRo41qlTh27dupGenk52djYAzZs35/33\n36dGjRr079+fk046ieuvv5709HTS09OrsfQikozMOVfdZUhZ6c3auGbDHqruYkgKWnXvwOouQkrL\nyspK6KliqX7pzdqgelMOFNWtZTOzuc65rMrONxXvTIqIiIhIkkjZB3CSQYcWDSnUtyARkbip3hQ5\n+OjOpIiIiIgkTMGkiIiIiCRMwaSIiIiIJEx9Jitg4drNtBrzanUXQ6qYnhYUSZzqTYmX6trUoTuT\nIiIiIpIwBZMiIiIikjAFkyIiIiKSsKQOJs3sFTObXN3lEBE5lOXm5jJo0KAy0wwaNIjc3NyqKZCI\nJJWkDiZFREREJLkd1MGkmdWq7jKIiIiIHMySJpg0s3pmNtnMtpnZejO7LWL+L83sQzPbamYbzOw/\nZtYibH6OmTkzO9vM5pjZTqBfMO9sM/vAzH4ws2/N7GUzq2NmvzWzRVHK8r6Z/fmAb7SISDm98cYb\nNGjQgN27dwOwYsUKzIxrr722NM3tt99O3759AZg+fTrdunWjTp06NG3alJtuuomdO3eWps3JyWHk\nyJF7rWN/zdrFxcXk5uaSkZFB06ZNufvuuytzE0UkxSRNMAmMB84Efg70AboAvcLm1wbuADoBg4BG\nwDNR8rkPuB04AfjAzPoDLwFvAycDvYF38ds+ETjBzLJDC5vZ8cApwBOVuG0iIpWiZ8+ebN++ncLC\nQgAKCgpo1KgRBQUFpWkKCgrIyclh7dq1DBgwgC5dujBv3jyeeOIJnnnmGcaOHVuhMowaNYq3336b\n5557jilTpjBv3jymT59eoTxFJHUlRTBpZhnAlcCtzrk3nXOLgCuAklAa59xE59xrzrnPnHNzgBHA\naWbWMiK7cc65t4J03wC/Af7POXe7c26Jc+5j59x451yxc24N8AYwPGz54cBc59yCGGXNM7NCMyvc\nU7y50vaBiEg8MjIyOPnkk5k2bRrgA8eRI0eyevVq1q1bR3FxMR9++CE5OTk89thjNG/enMcee4x2\n7doxaNAg7r33Xh555BGKi4sTWv+2bdt44oknuP/+++nXrx/t27dn0qRJ1KgR++MkPz+frKwssrKy\nUL0pcvBJimASyMTfeZwVmuCc2wYsDP1vZl3N7EUzW21mW4HCYNYxEXkVRvzfBZhSxrr/BvzCzOqa\nWRpwGWXclXTO5TvnspxzWWn1Gu5vu0REKl1OTk7pnch3332XAQMG0K1bNwoKCpg5cyY1a9YkOzub\npUuX0r17970CvZ49e7Jz505WrFiR0LpXrlzJzp076dGjR+m0jIwMOnToEHOZvLw8CgsLKSwsRPWm\nyMEnJX5O0czqA28C7+CDvQ34Zu738EFouKJyZv8qUIxvXt8MHA78qyLlFRE5kHJycnjkkUdYunQp\nW7Zs4eSTTyYnJ4dp06bRpEkTevToQe3akVXj3swMgBo1auCc22verl27DljZReTgkyx3JlcCu4Du\noQlBANk++PcEfPB4m3NuunNuGdAkzrzn4ftgRuWc2w1MxjdvDweed86pHUZEklbPnj3ZsWMH999/\nPz179iQtLa00mAz1lwRo164ds2fPpqSktMcQM2bMoHbt2mRmZgLQuHFj1q1bt1f+CxZE7eUDQGZm\nJrVq1WL27Nml04qKili0aJ9nGUXkEJEUwWTQpP0EcJ+ZnWlmJ+EfjkkLknwB7ABGmtlPzWwgcGec\n2d8FXGRmfzCzE83sJDO7yczqhaX5O3A6/sEePXgjIkkt1G/yqaeeonfv3gB0796dNWvWMHv27NJg\n8rrrruOrr77iuuuuY+nSpbz66quMGTOGkSNHUq+erwLPOOMMXn/9dV566SU++eQTbr75Zr788ssy\n133llVcyevRo3n77bRYvXszw4cPZs2fPAd9uEUlOSRFMBkYB04AXgvdFwHSA4EGaYcB5wBL8U903\nx5Opc+414HxgAP4u5bv4J7rDH+75LJj+BVBQGRsjInIg5eTksHv37tLAsU6dOnTr1o309HSys/0A\nFS1atOD1119n3rx5dO7cmeHDhzNkyJC9hvIZPnx46evUU0+lQYMGnH/++WWue/z48fTu3Zvzzz+f\n3r170759e3r16lXmMiJy8LLIvjKHKjNbAjztnLsr3mXSm7VxzYY9dABLJclo1b0Dq7sIh7ysrKzS\noXEktaQ3a4PqTYmH6trKZ2ZznXNZlZ1vSjyAcyCZWWPgQqAV8Hj1lkZEREQktRzywST+yfCNwDXO\nuY3VXRgRERGRVHLIB5POOUt02Q4tGlKo2/AiInFTvSly8EmmB3BEREREJMUomBQRERGRhCmYFBER\nEZGEHfJ9Jiti4drNtBrzanUXQ6qAhqgQqRyqNyUa1bGpTXcmRURERCRhqRZMtsT/zOJX+J9XXAU8\nBPwkgby6Av8C1gR5rcf/Cs7llVFQERERkUNBKjVzZwIzgSbAi8AyIBu4AegPnAp8G2deI4GHge+A\nV4G1wBFAe+Bs4B+VWXARERGRg1UqBZOP4QPJ/wH+Ejb9QeAm4C7g2jjyOQv4M/A2/pdvtkbMr1Xh\nkoqIiIgcIlKlmTsTHwSuAh6NmHcHUARcBtSPI68/Aj8Al7JvIAmwK+FSioiIiBxiUiWY7B28vwWU\nRMzbCrwP1AO67yef9kDHIJ9N3377bV9gFHAL0IfU2R8iIiIiSSFVgqfjg/floQlmVmBmE8zsgfr1\n65/euHFjhgwZco2ZpZvZo2b2vZl9YWaXBelbmdnCZ555hvbt22enp6fvfuaZZ97evHnzHy+77LLx\nTZo0eSc9PX137dq1vzCzG6tlK0VEEuCc44EHHqBNmzakp6fTsmVLxo4dC8DChQvp27cvdevW5Ygj\njiA3N5fNmzeXLpubm8ugQYO47777OOqoo2jYsCFjxoyhpKSEcePG0aRJE4466ijuu+++vda5efNm\n8vLyaNKkCQ0aNOD000+nsLCwSrdbRJJDqvSZbBi8b46YPhR48LXXXptYWFg4YtSoURcBDYA3gCxg\nGPB3M3sntMDYsWP54x//eFTnzp3XLVu2bGyzZs1Odc71+s9//rOqQ4cOA5YuXcqFF164PlZBzCwP\nyANIO6xxJW6iiEhibrvtNiZMmMCDDz5Ir169+Oabb5g3bx5FRUX069eP7Oxs5syZw6ZNm7j66qsZ\nPnw4zz33XOny06dPp2XLlhQUFDBv3jyGDh3K/Pnz6dKlCzNmzGDq1KmMGDGCvn37cvLJJ+OcY+DA\ngTRs2JBXXnmFI444gieffJIzzjiDTz75hGbNmu1Vvvz8fPLz8wHYUxxZjYtIqjPnXHWXIR75wNXB\n6+/g70wC6c65HsBdzrnbMjIyioqLi6c65wYHaWrh+1NeChQCn48fP55bbrkF4BRglpm9BGx0zl0J\nzMEHoZcCz+yvUOnN2rhmwx6q3C2VpKQBdZNLVlaW7oIFtm3bRqNGjXjooYe49tq9n0H829/+xqhR\no1izZg0NGjQAoKCggN69e/Ppp5/SunVrcnNzmTJlCqtWrSItLQ3w+3fXrl0sWLCgNK9WrVoxcuRI\nRo0axdSpUxk8eDDffPMNdevWLU3TuXNnLr30Um699daY5U1v1gbVmxJJdWzVMLO5zrmsys43VZq5\nQ19lG0ZM/zg03cyoW7fuFmBhaKZzbhd++J8moWlZWVkAXwOzgkkTgEvMbP7ZZ5+949133wU/5JCI\nSNJbsmQJO3bsoE+fPvvMW7p0KR07diwNJAFOOeUUatSowZIlS0qnnXjiiaWBJEDTpk1p3779Xnk1\nbdqUDRs2ADB37lyKi4tp3LgxGRkZpa9FixaxcuXKyt5EEUlyqdLM/Unw3jZieujJ6zYAO3fu3MG+\nT2M7woLm+vXrA3xfOtO5183sWGDAhg0brh84cCDdu3cf8M4779xUieUXEUkqZlb6d61atfaZF21a\nSYl//rGkpISmTZvy3nvv7ZPvYYcddgBKKyLJLFWCyWnB+1n4wDD8ie4G+AHLi4uKior3l1FJSckP\nQCv8MEJFAM65jcA/gVOeffbZbr/4xS/amlm6c25H5W2CiEjla9euHenp6UyZMoU2bdrsM2/ixIls\n3bq19O7kzJkzKSkpoV27dgmvs2vXrqxfv54aNWrw05/+tELlF5HUlyrN3Cvxw/m0Aq6PmPc7fGD4\nz5KSkvAOoCcEr7189dVXLwJ1gD8AZma/N7Pz7rzzzoGLFy++4rnnnnO1atX6QoGkiKSCBg0acMMN\nNzB27FgmTZrEypUrmTNnDhMmTGDo0KHUq1ePyy+/nIULFzJ9+nSuueYaLrjgAlq3bp3wOvv27cup\np57Kueeey+uvv87nn3/OrFmzuOOOO6LerRSRg1uqBJMA1wEb8L9e89+2bdseN2TIkPPwv36zHPh1\nRPqlwWsvv/3tb/8KzAduBGYNGzbsjKOPPnryPffc88ppp52WvmDBgmW7du0acEC3RESkEt1zzz2M\nHj2aO++8k3bt2vHzn/+cNWvWUK9ePd588022bNlCdnY25557Lj169GDixIkVWp+Z8dprr3HGGWdw\n9dVXc/zxx3PxxRfzySef0Lx580raKhFJFanyNHfI0cDv8b/FfSSwDngBf3fyu4i0oQ0z9pUBjAUu\nAo7F/yLOHGA8/g5oXPQ096FDTxomFz3Nnbr0NLdEozq2ahyop7lTpc9kyJfAFXGmjRZEhmzD38mM\nvJspIiIiIuWQasFkUunQoiGF+jYlIhI31ZsiB59U6jMpIiIiIklGwaSIiIiIJEzBpIiIiIgkTH0m\nK2Dh2s20GvNqdRdDKomeJhQ58FRvSjjVuwcH3ZkUERERkYQpmBQRERGRhCmYFBEREZGEHdLBpJmN\nM7NF1V0OERERkVR1SAeTIiIiIlIxCiZFREREJGFJE0yaWYGZTTCzB8xsk5l9Y2Y3mFm6mT1qZt+b\n2RdmdlmQvpWZOTPLisjHmdmFYf83N7OnzexbMys2s/lm1jtimV+Y2Uoz22pm/zWzRlWz1SIiVW/H\njh3ceOONNG3alDp16tC9e3dmzJgBQEFBAWbGlClT6NatG/Xq1SMrK4uPPvporzxmzpzJ6aefTr16\n9WjRogUjRoxgy5Yt1bE5IlLNkiaYDAwFtgLdgHuBh4D/AsuBLOBJ4O9m1iyezMysPvAu0Ao4D+gA\n/D4iWSvgEuB84CygC3BXxTZDRCR53XrrrTz77LNMnDiRefPm0aFDB/r378+6detK04wdO5Z7772X\njz76iCOPPJKhQ4finANg4cKFnHXWWQwePJgFCxbw/PPPM3/+fIYPH15dmyQi1SjZBi1f7JwbB2Bm\nDwJjgF3OuYeDab8HRgOnAoVx5HcpcBTQwzm3MZi2MiJNTSDXObc5WEc+cEWsDM0sD8gDSDuscXxb\nJSKSJIqKipgwYQJ///vfGTjQDxj917/+lalTp/Loo4/St29fAO6880569/aNOL/97W/p2bMna9eu\npWXLlvzxj3/kkksu4ZZbbinNd8KECXTp0oUNGzbQpEmTvdaZn59Pfn4+AHuKN1fFZopIFUq2O5Mf\nh/5w/ivwBmBh2LRdwHdAk30XjaoL8HFYIBnN6lAgGfiqrPydc/nOuSznXFZavYZxFkNEJDmsXLmS\nXbt2ceqpp5ZOS0tLo0ePHixZsqR0WseOHUv/bt68OQAbNmwAYO7cuTz11FNkZGSUvkL5rVwZ+X0d\n8vLyKCwspLCwENWbIgefZLszuSvifxdjWg2gJPjfQjPMrFYlrTPZgmwRkQPOrLQ6pVatWvtMLykp\nKX2/6qqruOmmm/bJo0WLFge4lCKSbJItmCyPb4L38P6TnSPSzAMuM7NG+7k7KSJySMjMzKR27dq8\n//77ZGZmArBnzx5mzZrFpZdeGlceXbt2ZfHixbRu3fpAFlVEUkTK3oFzzv0AzAZGm9lJZnYKMD4i\n2b/wTeUvmtlpZvZTMxsc+TS3iMihon79+owYMYLRo0fz2muvsXTpUkaMGMH69eu57rrr4spj9OjR\nzC6tTtIAACAASURBVJkzh2uvvZZ58+axYsUK/n97dx4eRZX2//99B5KwBGNQlgAKiKyyKS2IigY3\neIQR14dxHCWgE1QYN5gBB78O4jMqjCjMgEsYwHUWd8fxpyhowEEWg8uwCYJGFILIyBYiAZLz+6Mq\nsckCSdNJd4fP67rq6u6qU6dOVXVO7j51TtW//vUvRo4cWc2lF5FoFMstkwAjgL8AH+ENrLkVWFS8\n0Dm318zOB6YCbwAJwDqg7LUZEZFjxOTJkwEYPnw4O3fu5PTTT+ftt98mNTWVdevWHXH97t27s2jR\nIu655x7OP/98CgsLOeWUU7jiiiuqu+giEoWs+FYPUnWJqe1d6rBpkS6GhEnOQ4MiXQSppEAgQHZ2\nZW7oINEmMbU9qjelmOrdmmVmK5xzgSOnrJqYvcwtIiIiIpGnYFJEREREQhbrfSYjqlvLZLLVRC8i\nUmmqN0VqH7VMioiIiEjIFEyKiIiISMgUTIqIiIhIyNRn8iis3LyLNuPfjHQx5CjothQiNUv1Zu2k\nuvTYppZJEREREQmZgkkRERERCZmCSREREREJmYJJEZFabPDgwaSnpwOQlpbG6NGjD5u+a9euTJw4\nsfoLJiK1hgbg+MwsC1jlnDt8TSsiEqNeeeUV4uPjw5pnTk4Obdu25aOPPiIQCPsjf0UkBiiYFBE5\nRjRu3DjSRRCRWigqL3ObWZaZPW5mU83sBzP73sxuN7NEM5tpZjvNbJOZXe+nb2NmzswCpfJxZnZ1\n0Od7zexrMysws61m9ow//yngfGCUv44zszY1tsMiImGQn59Peno6SUlJNGvWjAceeOCQ5aUvc2/b\nto0hQ4ZQv359WrduzZw5c8rkaWZkZmZyzTXX0LBhQ0455RSee+65kuVt27YF4Mwzz8TMSEtLq56d\nE5GoFZXBpO86YA/QB3gImAa8BqwHAsDTwF/MLLUymZnZVcBY4FagPTAYWO4vvh1YAswFUv3pmwry\nyTCzbDPLLszfFdqeiYhUg7Fjx/Luu+/y8ssvs2DBAj755BMWLVpUYfr09HQ2bNjA/Pnzee2113jm\nmWfIyckpk27SpEkMGTKEzz77jKFDhzJixAg2bdoEwPLlXjX69ttvk5ubyyuvvFJm/czMTAKBAIFA\nANWbIrVPNAeTq51zE51zXwCPANuBA8656c65DcAkwIBzKplfayAXeMc5t8k5l+2cmwHgnNsF7Afy\nnXNb/amwvEycc5nOuYBzLlCnQfJR7qKISHjk5eUxe/ZspkyZwoABA+jatStz584lLq78an79+vW8\n9dZbZGZmcs4553D66afz9NNP8+OPP5ZJe/311/PLX/6SU089lfvvv5+6deuWBKlNmjQB4IQTTqB5\n8+blXkrPyMggOzub7OxsVG+K1D7RHEz+p/iNc84B24CVQfMOADuAppXM70WgHvCVmc02s2vMLDGM\n5RURiZiNGzeyf/9++vbtWzIvKSmJbt26lZt+7dq1xMXF0bt375J5rVu3pkWLFmXSdu/eveR93bp1\nadKkCdu2bQtj6UUklkVzMHmg1GdXwbw4oMj/bMULzOyQIYvOuW+AjsBIYDcwFVhhZg3DWGYRkZhi\nZkdMU3oEuJlRVFRUQWoROdZEczBZFd/7r8H9J3uWTuSc2+ece9M5dydwJnAaP10m3w/UqdZSiohU\nk3bt2hEfH8/SpUtL5u3du5dVq1aVm75Tp04UFRWV9HkE2LRpE1u2bKnSdhMSEgAoLCy3Z5CIHANq\nxa2BnHM/mtlSYJyZbQSSgQeD05hZOt7+LgPygKF4LZ1f+ElygN7+KO484AfnnH56i0hMSEpK4sYb\nb2TcuHE0adKEFi1aMGnSpAqDvI4dOzJw4EBGjhxJZmYm9evX56677qJ+/fpV2m7Tpk2pX78+8+bN\no02bNtSrV4/kZPWLFDmW1JaWSYAR/utHwJPAPaWW7wRuBD4AVgFXAVc6577ylz+M1zq5Bq+l8+Tq\nLrCISDg9/PDD9O/fnyuuuIL+/fvTtWtXzjvvvArTP/XUU7Rt25YLLriAn/3sZ/ziF7+gTZs2Vdpm\n3bp1+dOf/sRf/vIXWrRowZAhQ45yL0Qk1pg3tkVCkZja3qUOmxbpYshRyHloUKSLICEIBAJkZ2dH\nuhgSgsTU9qjerH1Ul8YGM1vhnAv7o6pqU8ukiIiIiNSwWtFnMlK6tUwmW7/GREQqTfWmSO2jlkkR\nERERCZmCSREREREJmYJJEREREQmZ+kwehZWbd9Fm/JuRLoaUQyMLRaKT6s3aRXWtgFomRUREROQo\nKJgUERERkZApmBQRERGRkFV7MGlmWWY2I0zZtQLmAFuAArznaU8DUo4iz/OAQsAB/3eU5RMRERE5\npsRSy2Q7YAUwHFgOPAp8CdwOLAFOCCHPRsDTQD5A48aNR5vZ2LCUVkTkGJCVlYWZsX379kgXRUQi\nJJaCyceApsBtwOXAeOACvKCyI/CHEPKcDiQDD4apjCIiIiLHlJoKJuua2XQz2+FPfzSzOAAzSzCz\nyWb2rZnlm9lHZjageEUzSzMzt2DBgkvOOOOMAj9ttpmd4Sf5/ezZswuSkpJGtmrVapCZrTKzvWb2\nvpm1DS6Emf3MzFaY2b6kpKTvJkyYMHznzp13AlvS0tLYsWNHMvBHM3Nm5mro2IiIRMzevXu54YYb\nSEpKolmzZjz44IMMHjyY9PR0APbv38+4ceNo1aoVDRo04Mwzz2TevHkA5OTk0L9/fwCaNGmCmZWs\nJyLHjpoKJq/zt9UXGAlkAHf4y+YC5wO/ALriXXZ+w8x6BGdw9913c+edd74LnAH8F3jezAzYs2PH\nji8KCgo4cODAJGCEv53jgSeK1/cD1OeBGddee22/V155JeHpp5/OS0lJ6QbwyiuvkJycvBuYBKT6\nk4hIrTZmzBgWLlzIq6++ynvvvcdnn33GBx98ULJ8+PDhLFy4kL/+9a+sWrWKYcOG8bOf/YzPPvuM\nk046iZdffhmA1atXk5uby/Tp0yO1KyISITV10/Jc4DbnnAM+N7MOwF1m9jpwLdDGObfJTzvDzC7C\nCzpvLc7g/vvvZ8CAAVnXX3/952Y2Cfg30BL4dvfu3d8dPHiw66xZs9647LLLlgOY2cPAHDMzf7sT\ngD865+YCrwOFycnJd2zevHlmYWHh6MaNGxMXF+eAPc65rRXtiJll4AXD1DmuSTiPkYhIjcrLy2PO\nnDk888wzXHzxxQDMnj2bVq1aAbBx40b+9re/kZOTw8knnwzA6NGjmT9/Pk8++SSPPfYYjRs3BqBp\n06aceOKJ5W4nMzOTzMxMAArzd1X3bolIDaupYHKpH9AVWwLcD5wLGLDGa2QskQi8Fzyje/fuAMW1\n0Bb/tSnwbUFBwY+JiYlcdtllBUGrbAES8EZ6/wD0AnrHx8dPSExMTCwoKCg4ePDg40D9ZcuWJZ99\n9tmV2hHnXCaQCZCY2l6XwkUkZm3cuJEDBw7Qu3fvknkNGzaka9euAHz88cc45+jSpcsh6xUUFHDB\nBRdUejsZGRlkZGQAkJjaPgwlF5FoEg2PU3TAmcCBUvN/DP4QHx9feh0Iukxft26ZXSmdJq5169bT\n33nnnVv37NnzXiAQuK04YY8ePc4LregiIrVXUVERZsZHH31Uug6mfv36ESqViESbmgom+wRdbgY4\nC6/lcAley2Rz59z7lcgnubyZiYmJxbXazsOs+3H37t1v6NChQz5wg3Mu+D4W5wLUrVu3EKhTiXKI\niMS8du3aER8fz0cffcQpp5wCQH5+PqtWraJdu3acfvrpOOfYunVryUCb0hISEgAoLCyssXKLSHSp\nqQE4LYBpZtbRzK4GfgM86pxbjzco5ikzu9rMTjGzgJmNNbMry8mnQ3mZH3fccc38t+sPU4ZJb731\nVvN777236apVq77//PPP3UsvveR++9vfOrxBQPTs2bPxoEGDHlq/fv3bZlZ+5x8RkVoiKSmJESNG\nMG7cOBYsWMCaNWu46aabSlokO3TowHXXXUd6ejovvfQSX375JdnZ2Tz88MO88sorALRu3Roz4803\n3+T7778nLy8vwnslIjWtpoLJ5/Fa/JYBs4DZePeHBO8m5HOBKcDnwL/wnkrzdTn5XELZMjdKSUkp\n7oSztKICOOfmzZw58/UXX3zxu169ehWefvrpB8aNG7fdObcEWAQwfvz49StXrvyhS5cuFwLfh7Kj\nIiKx5OGHH6Zfv35cdtll9O/fn+7duxMIBKhXrx4Ac+fOZfjw4fz2t7+lU6dODB48mEWLFtG6dWsA\nWrZsyX333ceECRNo1qwZo0ePjuTuiEgE2KHjYqLaPLxg8jbgz0HzHwHuBJ4Ebg6a38l//bwSeafj\nBbR/AO6pbIESU9u71GHTKptcalDOQ4MiXQSpRoFAgOzs7EgXo1YqKCigdevW/OY3v2HMmDFhzz8x\ntT2qN2sP1bWxxcxWOOcC4c43GgbgVNatwIfAn4ALgbVAH6A/3uXtCaXSr/VfDRERKdcnn3zC2rVr\n6d27N3v27GHy5Mns2bOHoUOHRrpoIhIjYimY3AgE8G4qPhC4FO/+ldOB+4AdkSuaiEjseuSRR1i3\nbh1169alZ8+eLFq0qORekyIiRxJLl7mjTiAQcLrUJlLzdJk7dunciUROdV3mrqkBOCIiIiJSCymY\nFBEREZGQKZgUERERkZDF0gCcqLNy8y7ajH8z0sWQILpNhUh0U71ZO6iulWBqmRQRERGRkCmYFBER\nEZGQKZgUERERkZDV2mDSzJyZXR3pcoiIRJPBgweTnp4e6WKISC1Sa4NJIBV4I9KFEBGpzSZOnEjX\nrl0jXQwRiaBaO5rbObc10mUQERERqe1iomXSzLLM7HEzm2pmP5jZ92Z2u5klmtlMM9tpZpvM7Pqg\ndQ65zG1m95rZ12ZWYGZbzeyZoGXnmdlSM8szs11mttzM9FNbRGJafn4+6enpJCUl0axZMx544IFD\nlu/YsYNhw4aRkpJC/fr1ueiii1i9enXJ8qeeeoqkpCQWLFhA165dadiwIf379+err74qWX7fffex\nevVqzAwz46mnnqrJXRSRKBATwaTvOmAP0Ad4CJgGvAasBwLA08BfzCy19IpmdhUwFrgVaA8MBpb7\ny+oCrwP/Bnr4+U8DCssrhJllmFm2mWUX5u8K5/6JiITV2LFjeffdd3n55ZdZsGABn3zyCYsWLSpZ\nnp6ezrJly3j99ddZvnw5DRo0YODAgfz4448laQoKCnjwwQeZM2cOS5YsYefOndx8880ADB06lDFj\nxtCxY0dyc3PJzc1l6NChZcqRmZlJIBAgEAigelOk9omly9yrnXMTAczsEWA8cMA5N92fNwkYB5wD\nvFRq3dZALvCOc+4AsAnI9pcdBxwPvOGc2+jP+7yiQjjnMoFMgMTU9u7od0tEJPzy8vKYPXs2c+bM\nYcCAAQDMnTuXVq1aAfDFF1/wz3/+k4ULF3LeeecB8Oyzz3LyySfz/PPPc9NNNwFw8OBBZs6cSceO\nHQEvQB0xYgTOOerXr09SUhJ169alefPmFZYlIyODjIwMABJT21fbPotIZMRSy+R/it845xywDVgZ\nNO8AsANoWs66LwL1gK/MbLaZXWNmif56PwBPAfPM7E0zu8vMTq6+3RARqX4bN25k//799O3bt2Re\nUlIS3bp1A2Dt2rXExcUdsjw5OZlu3bqxZs2aknmJiYklgSRAixYt2L9/Pzt27KiBvRCRWBBLweSB\nUp9dBfPK7JNz7hugIzAS2A1MBVaYWUN/+XC8y9uLgMuAdWY2IKylFxGJEWZW8r5u3brlLisqKqrR\nMolI9IqlYPKoOOf2OefedM7dCZwJnIZ3Sbx4+WfOucnOuTQgCxgWkYKKiIRBu3btiI+PZ+nSpSXz\n9u7dy6pVqwDo3LkzRUVFLFmypGT57t27WblyJV26dKn0dhISEigsLLeLuYgcI2Kpz2TIzCwdb1+X\nAXnAULxWzS/MrC1ei+U/gc3AKUB34PGIFFZEJAySkpK48cYbGTduHE2aNKFFixZMmjSpJPBr3749\nQ4YMYeTIkWRmZnL88cczYcIEjjvuOH7xi19Uejtt2rTh66+/5uOPP+bkk0+mUaNGJCYmVtduiUgU\nOlZaJncCNwIfAKuAq4ArnXNfAflAB7x+levxRoU/D0yOTFFFRMLj4Ycfpn///lxxxRX079+frl27\nlgy2AW9ATu/evbnsssvo3bs3+fn5vP3229SvX7/S27jqqqu49NJLufDCC2nSpAl/+9vfqmNXRCSK\nmTeWRUKRmNrepQ6bFuliSJCchwZFughSAwKBANnZ2UdOKFEnMbU9qjdjn+ra2GRmK5xzgXDne6y0\nTIqIiIhINTgm+kxWl24tk8nWrzMRkUpTvSlS+6hlUkRERERCpmBSREREREKmYFJEREREQqY+k0dh\n5eZdtBn/ZqSLcUzRCEKR2KZ6M3ap/pWKqGVSREREREKmYFJEREREQqZgUkRERERCpmBSRERIT09n\n8ODBZd6LiByJBuCIiAjTp0+n+PG6we9FRI5EwaSIiJCcnFzuexGRI4npy9xmlmhm08zsOzPbZ2ZL\nzexcf1mamTkzu9DMlplZvpllm9kZpfI428wW+ss3m9njZnZcZPZIRCQyDneZOy0tjVtuuYUxY8bQ\nuHFjmjRpwvTp0ykoKGDUqFEcf/zxnHzyyTz77LORKr6IRFBMB5PAFGAoMAI4HVgJvG1mqUFpHgTG\nA2cA/wWeNzMDMLNuwDvAP4EewJVAT2BOTe2AiEgseP7552nUqBHLli1j/Pjx3HHHHVx++eV06NCB\n7Oxshg0bxk033URubm6kiyoiNSxmg0kzawjcAoxzzr3pnFsL3Ax8B4wKSvr/nHPvO+c+ByYBnYCW\n/rLfAP9wzk11zn3hnFvm53mVmTWtYLsZfgtndmH+rmraOxGR6HLaaacxceJE2rdvz1133cWJJ55I\nfHw8t99+O6eeeir33nsvzjkWL15cZt3MzEwCgQCBQADVmyK1T8wGk0A7IB4oqbmcc4XAEqBLULr/\nBL3f4r8WB4q9gF+aWV7xFJRfu/I26pzLdM4FnHOBOg3Ur0hEjg3du3cveW9mNG3alG7dupXMi4+P\nJyUlhW3btpVZNyMjg+zsbLKzs1G9KVL71NYBOMHDEA+UMz8u6PUvwKPl5LG5GsolIhKT4uPjD/ls\nZuXOKyoqqsliiUgUiOVgciOwHzjHf4+Z1QH6An+tZB4fA6c55zZUSwlFREREarmYvcztnNsLPA5M\nNrNLzayz/7kZ8Fgls5kM9DazJ8zsdDM71cwGm9mT1VRsERERkVolllsmAcb5r3OB44FPgIHOuVwz\n63iklZ1z/zGz84D/AxYCdYAvgVerqbwiIiIitUpMB5POuQLgDn8qvSwLsFLzcsqZlw0MrLZCiojE\ngIKCApKSkgB46qmnDlmWlZVVJv2qVavKzNu6dWt1FE1EolzMXuYWEZGjd/DgQdasWcOSJUvo2rVr\npIsjIjFIwaSIyDFs1apVBAIBTjvtNEaNGnXkFURESonpy9yR1q1lMtkPDYp0MUREQtazZ0/y8/Nr\nbHuqN0VqH7VMioiIiEjIFEyKiIiISMgUTIqIiIhIyNRn8iis3LyLNuPfjHQxjhk56mclEvNUb8YO\n1blSWWqZFBEREZGQKZgUERERkZApmBQRERGRkMVUMHn88ce/cOaZZ24CtgAFQA4wDUipZBYNgeuA\nvwKfA3uBPUA2MAZICHORRUSiRk5ODmZGdnZ2pIsiIrVILA3AaffVV1+lmVkT4HW8YLA3cDves7XP\nAf57hDz6Ac8BPwDvA6/hBaKXAQ8DVwIXAvuqYwdERGpSWloaXbt2ZcaMGQCcdNJJ5ObmcuKJJ0a4\nZCJSm8RSMPlYSkpKE+A24M9B8x8B7gT+ANx8hDy2Ar8EXgT2B80fC2QBZwOjgKnhKbKISPSoU6cO\nzZs3j3QxRKSWiZXL3O2AS37+85/nmdkAADMbaGYfmNnwxo0bc/HFF9/Uo0ePM4pXMLM2ZubM7Coz\ne9fM8s3sr2a2jaBA0sy6mNnf4+PjuzRt2pRLLrnkLjNTbSsiMS09PZ2FCxcyc+ZMzAwzK3OZOysr\nCzPjrbfeolevXtSvX59+/frx7bffsnDhQnr06EFSUhKDBw/mv/899MLP3Llz6dKlC/Xq1aNDhw48\n+uijFBUVRWJXRSTCYiWY7A+wffv2LUHzGuL1l+z9z3/+88OUlJQ6GzZseMPMSvd7/APwJ6AH8BHw\ndzNLAjCzVGARsGr27Nl3z58/n7y8vDjgdTMr99iYWYaZZZtZdmH+rrDupIhIuEyfPp2+ffsyfPhw\ncnNzyc3NpbCwsNy0v//975k2bRrLli1jx44dDB06lEmTJpGZmUlWVharV69m4sSJJelnzZrF7373\nOyZNmsTatWuZOnUqkydP5rHHHis3/8zMTAKBAIFAANWbIrVPrFzm7giwZ8+e3cUznHMvBy3/5PTT\nTz+7UaNGqXj9KP8dtOxR59wbAGb2O+AGoKef5hbgM+fcOOAtgLlz507p1KnTI0AAWF66IM65TCAT\nIDG1vQvbHoqIhFFycjIJCQk0aNCg5NJ2Tk5OuWnvv/9++vXrB8DNN9/Mr3/9a1asWMEZZ3gXe4YN\nG8ZLL710SPopU6Zw9dVXA9C2bVvGjx/PY489xujRo8vkn5GRQUZGBgCJqe3Dto8iEh1iJZhMBti/\nf3/w5el2wP1An8TExFZ169bFOWfAyaXW/U/Q++KWzab+ay/gvISEhIKEhISEoqKioh9//PF+f1k7\nygkmRURqm+7du5e8b9asGQDdunU7ZN62bdsA+P777/nmm28YOXIkt9xyS0magwcP4px+X4sci2Il\nmCzPv4BvgZFvvPHG1W3atBnZqVOnoqKiotKXuQ8Uv3HOOTODny7vx7Vp0+bjd955p1dhYeH3s2bN\nGvrII4984y/7rtr3QEQkCsTHx5e89+vIMvOK+0MWvz7xxBOcffbZNVhKEYlWsRJM7gJISEhIADCz\nE4BOwK3OufeByz/++GOKioqq1Ae0b9++ed9///3A1q1b5yYkJPSfOnXquqlTNZBbRGqHhISECvtJ\nhqpZs2a0aNGCjRs3csMNN4Q1bxGJTbESTK4DaNSo0XF4LYY7gO3Ar8zsm1dffbX3Aw88gJkVVuEy\nyzUvvvji5T169Chq1qzZyp07dx4PnOJP/wuMcc7tCf+uiIjUjDZt2rB8+XJycnJISkoK22jr++67\nj1//+tccf/zxXHrppRw4cICPP/6YzZs3c/fdd4dlGyISO2JlNPf7ACeeeGILAOdcETAU6A6smjBh\nQq/77ruvwDlXqZuNjxo1qh/wt5YtW265/vrrL965c+ce4G1gNTAT7+k6BdWwHyIiNWbs2LEkJCTQ\npUsXmjRpQlxceKr8m266iTlz5vDss8/So0cP+vXrR2ZmJm3btg1L/iISWyyGOkzPu/baay9Zs2bN\nx5999lmvoPnFNy1/kkNvWt7Jf/28VD7DgDnA13i3HPo61AIlprZ3qcOmhbq6VFHOQ4MiXQSJEoFA\nQI8EjFGJqe1RvRkbVOfWPma2wjkXCHe+MXGZ28zq3nzzzY8sXrz4ooyMjDPwHoO4FuiDFxCuByaU\nWm1t8epB8/rjBZJxeK2dw8vZ3E68+1eKiIiIyBHERMukmfUEPmzYsOGSdevWbW3ZsuUFwAlALvAq\ncB9eP8pgxTsWHEymA3OPsLmvgTaVKVcgEHBqHRGpeWqZjF06dyKRc0y3TDrnPgUaVHE1K2feU/4k\nIiIiImEQKwNwRERERCQKKZgUERERkZDFxGXuaLVy8y7ajH8z0sWo9TSiUKT2UL0Z/VTnSlWpZVJE\nREREQqZgUkRERERCpmBSREREREJWLcGkmWWZ2YxQlx/Fdp2ZXR3ufEVEjmUTJ06ka9euh00zevRo\n0tLSaqZAIhJVIjUA50rgQIS2LSIiIiJhEpFg0jn3QyS2KyIiIiLhVZ19Juua2XQz2+FPfzSzOCh7\nmdvMcszsHjN70sx2m9m3Zvab4MzMrIOZLTSzfWa2zswuNbM8M0uvqABm1tLM/h5UhjfNrL2/rI2Z\nFZlZoNQ6vzKz7WaWENajISJSTZxzTJ06lfbt25OYmEirVq24++67AVi5ciUXXXQR9evXp3HjxqSn\np7Nr166SddPT0xk8ePAh+R3psnZhYSFjx44lJSWFlJQU7rjjDgoLC6tn50Qk6lVnMHmdn39fYCSQ\nAdxxmPR3AiuBM4DJwBQz6wvgB6GvAgeBs/Cesf17ILGizMysAfA+sA843y9HLjDfzBo453KAd4ER\npVYdATzrnNtf+V0VEYmc3/3ud9x///3cfffdrF69mhdffJGTTjqJvXv3MmDAAJKSkli+fDmvvvoq\nH374ISNGlK72qmbq1KnMmjWLJ598kiVLllBYWMjzzz8fpr0RkVhTnZe5c4HbnHMO+NzMOgB3AY9U\nkP4d51xxa+Wfzew24EJgCXAx0BG4xDm3GcDM7gQWH2b7P8d7PvdwvwyY2UhgGzAYeAGYBcwys7uc\nc/vMrDNesPqrijI1swy8wJg6xzU5wiEQEaleeXl5PProo0ybNq0kSDz11FPp27cvs2bNYu/evTz7\n7LM0atQIgMzMTPr378+GDRs49dRTQ9rmtGnT+O1vf8v//u//AjB9+nTmzZtXYfrMzEwyMzMBKMzf\nVWE6EYlN1dkyubQ4iPMtAVqa2XEVpP9Pqc9bgKb++07AluJA0vcRUHSY7fcC2gJ7/MvhecAuIAVo\n56d5HdiPNyAIvFbJ5c65VRVl6pzLdM4FnHOBOg2SD7N5EZHqt2bNGgoKCrjwwgvLLFu7di3du3cv\nCSQBzj77bOLi4lizZk1I29u1axe5ubn07du3ZF5cXBx9+vSpcJ2MjAyys7PJzs5G9aZI7RNNj1Ms\nPbrbcXTBbhzwKV4LZWk/ADjnDpjZM8AIM3sBuB649yi2KSISE8wM8ALBQ3/3w4EDutmGiFRenvY7\nXQAAFv1JREFUdbZM9rHi2spzFl7r4u4Q8vocaGFmLYLmBTh8+T8GTgW2O+c2lJqCR5P/BegP3Ao0\nAv4eQvlERCKic+fOJCYmsmDBgnKXrVy5kj179pTM+/DDDykqKqJz584ANGnShNzc3EPW+/TTTyvc\nXnJyMqmpqSxdurRknnOO5cuXH+2uiEiMqs5gsgUwzcw6+jcS/w3waIh5vQusA542sx5mdhZe38uD\neC2Y5Xke+A543czON7O2ZnaemU0tHtEN4JxbB/wb+CPwUojBrohIRDRq1Ijbb7+du+++m7lz57Jx\n40aWL1/O448/znXXXUeDBg244YYbWLlyJYsWLWLkyJFceeWVJf0lL7jgAj755BPmzJnDhg0bmDJl\nCosXH647Otx+++1MmTKFl156iXXr1nHHHXeUCUhF5NhRncHk80AdYBneQJfZhBhMOueKgCvwRm8v\nB54G/oAXSO6rYJ184DzgS+BFvNbNp/H6TO4olXw2kOC/iojElAcffJBx48Zx//3307lzZ6666iq+\n/fZbGjRowLx589i9eze9e/dmyJAh9O3blzlz5pSsO2DAAH7/+98zYcIEevXqRU5ODrfeeuthtzdm\nzBiGDx/OTTfdRJ8+fSgqKuK6666r7t0UkShlpfvKxAoz64HXJzLgnFtxlHmNA250znWoynqJqe1d\n6rBpR7NpqYSchwZFuggSZQKBANnZ2ZEuhoQgMbU9qjejm+rc2svMVjjnAkdOWTXRNADnsMzsCmAv\n8AXQBu8y92d4fSNDzTMJaA3cjtfSKSIiIiJVEDPBJN7gmMnASXiXqbOAO93RNa3OAK4F/gk8WdWV\nu7VMJlu/4EREKk31pkjtEzPBpHPuGeCZMOeZjvc0HREREREJQXUOwBERERGRWk7BpIiIiIiETMGk\niIiIiIQsZvpMRqOVm3fRZvybkS5GraJbUojUbqo3o5PqXjkaapkUERERkZApmBQRERGRkCmYFBER\nEZGQRV0waWZZZjYj0uUQERERkSOLumBSRERiS1paGqNHj450MUQkQhRMioiIiEjIoj6YNLMLzWyn\nmd1sZk+Z2b/M7HYz22xmO8xsrpk1CEqfaGbTzOw7M9tnZkvN7Nyg5UvNbHzQ5+fMzJlZc/9zAzMr\nCF5HRCRWvP322zRq1IiDBw8CsGHDBsyMm2++uSTNPffcw0UXXQTAmjVrGDRoEI0aNaJp06Zce+21\nbN26tSRteno6gwcPZvr06bRs2ZKUlBSGDx9Ofn5+yfKFCxcyc+ZMzAwzIycnp+Z2WEQiLqqDSTO7\nGngVyHDOPeHP7gd0BS4ChgJXALcHrTbFnz8COB1YCbxtZqn+8iwgLSj9+cD2oHlnAweB5RWUKcPM\nss0suzB/11HsnYhI+J177rns27eP7OxsALKysjjxxBPJysoqSZOVlUVaWhq5ubmcd955dO3aleXL\nlzN//nzy8vIYMmQIRUVFJek/+OADVq1axfz58/nHP/7Bq6++yvTp0wGYPn06ffv2Zfjw4eTm5pKb\nm8tJJ510SJkyMzMJBAIEAgFUb4rUPlEbTJpZBjAbuNo590LQot3Azc65tc65d4AXgQv9dRoCtwDj\nnHNvOufWAjcD3wGj/PWzgHPNrK6ZnQokA08C/f3lacAS59z+8srlnMt0zgWcc4E6DZLDt8MiImGQ\nlJREr169eP/99wEvcBw9ejRff/01ubm55Ofn89FHH5GWlsbjjz9Ojx49mDx5Mp07d6Z79+4888wz\nLF++vCQYBTjuuON44okn6Ny5M5dccgnXXHMNCxYsACA5OZmEhAQaNGhA8+bNad68OXXq1DmkTBkZ\nGWRnZ5OdnY3qTZHaJ1qDycuBmcBAP2AMtsY5Vxj0eQvQ1H/fDogHFhcv9NMuAbr4s/4NJAJn4gWO\n/wbm81PLZBpewCkiEpPS0tJKWiIXLlzI//zP/9CnTx+ysrL48MMPqVu3Lr1792bFihUsWrSIpKSk\nkqm4VXHjxo0l+XXp0uWQALFFixZs27atRvdJRKJXtD5O8TOgG3CjmS11zrmgZQdKpXVULih2AM65\nPDNbgdcS2QV4H1gKnOy3VJ4JjK8wFxGRKJeWlsaMGTNYu3Ytu3fvplevXqSlpfH+++/TtGlT+vbt\nS0JCAkVFRQwaNIiHH364TB7NmjUreR8fH3/IMjM75DK4iBzbojWY/Ar4NV4LYaaZZZQKKCuyEdgP\nnOO/x8zqAH2Bvwaly8ILJjsB051z+8xsGTCBw/SXFBGJBeeeey4FBQVMmTKFc889lzp16pCWlsav\nfvUrmjVrxsCBAwE444wzeOGFF2jdunWZgLEqEhISKCwsPHJCEamVovUyN865L/ECvoHAk2ZmlVhn\nL/A4MNnMLjWzzv7nZsBjQUmz8C5nHwd8HDTvlxymv6SISCwo7jf53HPP0b+/1x38rLPO4ttvv2Xp\n0qWkpaUBMGrUKHbt2sXQoUNZtmwZX375JfPnzycjI4M9e/ZUentt2rRh+fLl5OTksH37drVaihxj\nojaYBHDObcQL+v4Hb5DMEQNKYBzwD2Au8CnQHa/vZW5Qmn/7rx8E9b/MwmupzTracouIRFpaWhoH\nDx4sCRzr1atHnz59SExMpHfv3oDX93Hx4sXExcUxcOBATjvtNEaNGkViYiKJiYmV3tbYsWNJSEig\nS5cuNGnShE2bNlXHLolIlLLKXT2W8iSmtnepw6ZFuhi1Ss5DgyJdBIkBgUDgkNHGEjsSU9ujejP6\nqO49NpjZCudcINz5RnXLpIiIiIhEt2gdgBMTurVMJlu/5kREKk31pkjto5ZJEREREQmZgkkRERER\nCZmCSREREREJmYJJEREREQmZgkkRERERCZmCSREREREJmYJJEREREQmZgkkRERERCVmsBZOtgDnA\nFqAAyAGmASlVzKexv16On88WP99WYSqniIiIyDEhlp6A0w74EGgKvA58DvQGbgcGAucA/61EPif4\n+XQA3gP+DnQChgODgL7Al2Euu4iIiEitFEstk4/hBZK3AZcD44ELgEeBjsAfKpnPA3iB5CPAhX4+\nl+MFpU397YiIiIhIJcRKMNkOuATvsvTMUst+D+wFrgcaHiGfJD/dXmBiqWUzgK+BAcApR1VaERER\nkWNErAST/f3Xd4CiUsv2AIuBBsBZR8jnLKC+n35PqWVFwLxS2xMRERGRw4iVYLKj/7q+guVf+K8d\naigfERERESF2BuAk+6+7KlhePP/4GsoHgBUrVuSZ2brKpD1GnQhsj3QhopSOzeEd6fi0BprUUFkk\njFasWLFH9Wa5VCeUT8elrKM5Jq3DWZBisRJMRqt1zrlApAsRrcwsW8enfDo2h6fjU6up3iyHvvPl\n03EpKxqPSaxc5i5uMUyuYHnx/J01lI+IiIiIEDvBZPElkYr6Mrb3XyvqCxnufERERESE2Akm3/df\nL6FsmRvh3bA8H1h6hHyWAj/66RuVWhbn5x+8vSPJrGS6Y5WOT8V0bA5Px6f20rktn45L+XRcyoq6\nY2LOuUiXobLm4QV7twF/Dpr/CHAn8CRwc9D8Tv7r56XyeRLI8NcbEzT/NmC6v52BYSu1iIiISC0W\nS8Fk6ccprgX64N0Tcj1wNoc+TrF4x6xUPqUfp7gc6AwMAbb5+Wyslj0QERERqWViKZgEOAmYhNdy\neAKQC7wK3AfsKJW2omASoDHek3MuB1LxgtC3gHuBb8NeahEREZFaKtaCSRERERGJIrEyAKcmtALm\nAFuAArzngE8DUkonNLNbzewrM9tnZivMrF/Q4sb+ejl+Plv8fFtVa+mrmZndbWYfmdluM/vezN4w\ns66l0piZTTSzLWb2o5llmdlppdKkmNmzZrbLn541s0rdJP4IKn3+KtAQuA74K14/2714j9zMxutb\nm1CVwvjHy5nZjKB5kTw+EWdmqWb2tP/92Wdma8zsfPxzV1RUtOXee+892KxZs4MJCQkHExIS/n0U\nx+c8oBDvCsX/Vf/eHdPCVXcCnIH3N/itn9d3wELghuorfvWIgTqz2NHWncXOxeuClgPsAzYB/x+H\nGYOgevInh6kfi5cfclxatGixesGCBc8DHwC7Abdly5YXQjwuR/8dcM5pcq6dc+4753nNOfeQc+49\n//PnzrkTitMCQ4EDwK/w+lr+GcgDTvbTrfPXW+Dn85r/+Tvn3ClRsK8hTXgDk4YDXYFueN0LtgKN\ng9KMwwvArvLTveB/ORsFpXkLWA309afVwBs1df4OMw300//XOfeSn8eTzrlcf/5i51y9Sh6rs4Cv\ngM+AGVFwfCI+4T1V6kvgGaA30Ba48NZbb72k+NzdcccdqxMTEwsyMzNXrly50g0ePHh3XFxcbgjH\np5Fz7ivn3B7/3P1fpPe/Fk/hqjtxzo12zhU657Y75552zj3gnHvCOfdv59zfo2BfqzRFeZ1Z5fN3\nhOkWf50859yzzrkH/de9/vwJ5Rwf1ZM/7U+59SPQuaLjcumll+5ITU11u3bt2uOcW+ucc7169doc\nwnEJy3cg4gcxSqZ5/oH7dan5j/jznwg6ocuAWaW+CF8ADzov+HDOuaml8rnNn/92FOxrWCYgCa/l\n52f+Z8PrwzohKE19/8s/0v/cGa+l6JygNOf68zrWxPk7zNTTOXedcy6h1PxGzrkVfj5jKnFckvEG\ncPUHsooryQgfn4hPwAPA4orO3cGDB39d6vg8kp+f7xITE/eHcHzmOOd+cM79zj9vCiarbwpX3XmJ\nc67Iz69ROduJj4J9PaopyurMKp+/w0zxzrmdzrkfnXOly9TZObfPOZfvnEsM2gfVk4d+NyqqH4uX\nlzkuX3755QAzyzOzkc65tDVr1rgQj0s4vgMKJp0XlTvntWTElVrWyHm/tPY65xriXeo8CFxT6kTP\nrFOnzgfO+4PJc2UrwzjnXI6/nZhtnSy1z6n+l/Rc//Mp/uczS6V7E3jafz/CrxQsaLnhtU4Mr+7z\ndxT7+wt/G0f85Qv8A5jsvw+uJCN1fKJiAtbg3Y7rH3h3Tfi0U6dOE4uKipxz7qukpKR2pY5PI+dc\n3sCBAw8mJCQ8X4XjM8Q/V790zqX77xVMVs8UlroTWOic+8xPW9mWsJiboqjOrPL5O0I+zfx8Pqtg\n+X/85cGt1KonD92/MvUjMLp4HytxXNJmz57t6tWrd6CKxyVs/z/VZ9L7ZQTwDlBUatkeYDHQAK9J\n/kSgDl4/nmDf1atXrw3eL6jF/nrBivAueQRvL9ZNx/vCL/E/N/dfyxyboGXNge+d/y0H8N9vC0pT\nVVU5f6E64L8ePFwiM/sVcCpwTzmLI3V8osUpwK14l3IGANM3bNgwfubMmQDv5OXlNfPTFR+fPcDi\n1NTUOikpKcVPrDrS8WkKzAJeA56r5v2RMNWdiYmJJwPd/Xx+8PMdi9dX+UJqT9/+aKkzi4Wr7twG\nfI93u732pZYVz/sU/9Z9qifLVaZ+BB4CRvnLj3hctm7dynHHHbevisclbP8/a8sf6dHo6L9W9AjF\nL/zXih7BCEBCQkLxAI2jyicWmNkjeM3nVznnCiNcnLCcvyMY4b++XVECM+uId6niF865AxWlO4bF\nAR875+52zn3inJt7+eWXf+oHk4c9dw0bNmxYyW3M8rdz85ESSliE5W+vfv369fy32/Baqd4D/gg8\nDMzHC0ROPZqCRlqU1ZnFwlV3OrygJw5YATwNPIjX/28FXr+9a0D15GGUqR+BP/FTMFldwvb/U8Gk\n13cDYFcFy4vnHw9sx+vz0qxUmmYpKSn5VcgnZpnZo8C1wAXOuS+DFm31X8scm6BlW4EmZlZy70//\nfdOgNFVVlfMXitF4oxE/xRvtVpG+eK0vq83soJkdBM4HbvXfF99Qv6aPT7TIxbuUU6J79+4/btq0\nCbxzVN73Z9d3331HkyZNfvQ/V3h8RowYcSpwGd6v+9K/3qV6hKvuLD6/NwJtgEF+3h3wWpi74V3O\nq9IdFaJFFNaZxcJZd74IXADsxBt5Px64Hu+uGHPxWtxA9WRFytSPeA9mOdl/f8TvSvPmzdm9e3e9\nKh6XsH0HFExWgXNuP94vrYtLLbq4S5cuX0egSDXKzKbzU6VY+jGVX+F9YS8OSl8P6If3xCHwLu8k\n4VUoxfri3ZbnQ6LPlXi3R9iKN4LucL+kX8P7p9czaMoG/u6/X0/tOz5VsZiffgUDsH79+uTWrVsX\nfyzz/dm1a1edDz74gDPOOGOTP6vC4zN27NiheP/QXqie4svROELdWXx+6wA/x7udzG68VpEb8P6O\nOuD9DcaUY6jO/CVeK/IHeANkGvivC4AZePUgqJ6sSJn6Ee87XxxXHPG70rdvX/bt21eXSB2XSHc8\njYLpj34H1IpG6s7wl9/id0UYCuwHbsL7Y5kO5L3//vv/z0/35wryGesvnxwF+1zlCa+j/G68X5/N\ng6akoDTj8H7JXIl3S4e/U/4tHVby060LVnJ0t3So0vmrwnS5c26/c26LKztCsbLHLIuyt7yo6eMT\nFRNwJl4wPgHvkuU19erVK5gxY0bJuSt9fM4555z1qamp7uuvv77jcMenX79+2513a4sTS2033T/3\nGoBTPVNY6s733ntvgp8ut4J87vGXPxoF+1zpKYrrzJDO32GmDs6rK7Nd2UEccf5855xLq+A4HfP1\nZHn1o38MRlXyuKQ5V3JroKocl7D9/4z4QYyC6Sb/YD1ZwfLiYfMXBp3UW/nppuQrgPOccxf56eZV\nkE/xbYNujIJ9rvKE1y+mvGliUBoDJuI12e/Du9lw11L5pOBdutrtT88Bx9fk+avEdI1z7oBz7hvn\nXPujOGalK8lIHJ+omfAuX37m7/v6oUOH/s0fzf1kecenZ8+eP6xcufKQc1fe8fnhhx92ucp5LdLH\noJZN4ao7L/DTra0gn1H+8krdoiRapiiuM0M+fxVMo/10pW+JVzwV32Km3IBF9WTJPh1SPwK3UXZk\ndkXHJc055zZv3vxCFY9L2P5/6nGK0A7YgFfBtePQEU2N8E5ccb+DvYfJJwmvA3kR3i0ggkd0x+Hd\nU6uNv40vS68sIQvX+St2HV4H8s14I910rqpPuM7dn/Auq5XWHu9JOJ/iBS6f4LUWSXiE6/w1wKs7\n6+D1pyud9nG8QVXjgclhKLd4wnX+xuANlnqW8p9U9CzeZfDb8G5UL+GXBrwPPI93rCsrbP8/1WfS\nC/LewQv0So+cug+vv8GzHHogO/lTsDw/XUO8Xw/BRvv5z0PBSbiF6/wBDMMbgbgJLwjRuape4Tp3\nt+FdOi09zfWXv+l/ViAZXuE6f/nAbKAe3qMvLWhZNyAd77ZcL4Wn2OIL1/n7wH+9Gu8WT8F6+vMd\n3ih9iYx4vPPWrtT8UL4D5VLLpKcdXgfVpnjPFl0L9MFrmVoPnM1Po8zA+8OAQys9gBP8fDrg/eEs\nx+sbNATvl/fZeCdPwisc568/XgfyOLxR29+Us52deANyJHzC9bdXnnS8gPIPlH9POzl64Tp/x+Fd\ntuuJ96ScxXgjVa/Eu3/vHXh9LCW8wnX+5uA9OnI/3mMjv8YLUC7HG4U/DbizOnbgGHa5P4HXF3cA\nXgNIcXC/He9+reCdi6/46bwEq+p3oHyR7icQRdNJzrm5zusEvt8597VzbppzLqWctMXKy6exc266\nv/5+P785zrlWUbCPtXk62vOX7o4sJwr2szZO4frbKz0Vn1MNwImN85fknPuDc269c67AeY/oe8d5\nj1qM9D7W5ikc58+c9/eW5Zzb4Zw76LxHmi5wzv08CvaxNk4T3eHlBKVtU868UL8D5U5qmRQRERGR\nkKnPpIiIiIiETMGkiIiIiIRMwaSIiIiIhEzBpIiIiIiETMGkiIiIiIRMwaSIiIiIhEzBpIiIiIiE\nTMGkiIiIiIRMwaSIiIiIhOz/B8E7OmYNDGa6AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Plot the results: are there striking differences in language?\n", + "import numpy as np\n", + "import pylab\n", + "import matplotlib.pyplot as plt\n", + "\n", + "%matplotlib inline\n", + "def plotTwoLists (wf_ee, wf_bu, title):\n", + " f = plt.figure (figsize=(10, 6))\n", + " # this is painfully tedious....\n", + " f .suptitle (title, fontsize=20)\n", + " ax = f.add_subplot(111)\n", + " ax .spines ['top'] .set_color ('none')\n", + " ax .spines ['bottom'] .set_color ('none')\n", + " ax .spines ['left'] .set_color ('none')\n", + " ax .spines ['right'] .set_color ('none')\n", + " ax .tick_params (labelcolor='w', top='off', bottom='off', left='off', right='off', labelsize=20)\n", + "\n", + " # Create two subplots, this is the first one\n", + " ax1 = f .add_subplot (121)\n", + " plt .subplots_adjust (wspace=.5)\n", + "\n", + " pos = np .arange (len(wf_ee)+1) \n", + " ax1 .tick_params (axis='both', which='major', labelsize=14)\n", + " pylab .yticks (pos, [ x [0] for x in wf_ee ])\n", + " ax1 .barh (range(len(wf_ee)), [ x [1] for x in wf_ee ], align='center')\n", + "\n", + " ax2 = f .add_subplot (122)\n", + " ax2 .tick_params (axis='both', which='major', labelsize=14)\n", + " pos = np .arange (len(wf_bu)+1) \n", + " pylab .yticks (pos, [ x [0] for x in wf_bu ])\n", + " ax2 .barh (range (len(wf_bu)), [ x [1] for x in wf_bu ], align='center')\n", + "\n", + "plotTwoLists (wf_ee, wf_bu, 'Difference between Pride and Prejudice and Huck Finn')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "and\t2836\n", + "of\t2676\n", + "to\t2646\n", + "a\t2217\n", + "in\t1422\n", + "his\t1205\n", + "he\t928\n", + "that\t920\n", + "was\t823\n", + "for\t798\n", + "with\t797\n", + "as\t672\n", + "I\t505\n", + "you\t497\n" + ] + } + ], + "source": [ + "#In case Project gutenberg is blocked you can download text to your laptop and copy to the docker container via scp\n", + "#Assuming the file name you copy is pg4680.txt here is how you change the script\n", + "# Please note the option errors='replace'\n", + "# without it python invariably runs into unicode errors\n", + "f = open ('pg4680.txt', 'r', encoding=\"ascii\", errors='replace')\n", + " \n", + "# What comes back includes headers and other HTTP stuff, get just the body of the response\n", + "t = f.read()\n", + "\n", + "# obtain words by splitting a string using as separator one or more (+) space/like characters (\\s) \n", + "wds = re.split('\\s+',t)\n", + "\n", + "# now populate a dictionary (wf)\n", + "wf = {}\n", + "for w in wds:\n", + " if w in wf: wf [w] = wf [w] + 1\n", + " else: wf [w] = 1\n", + "\n", + "# dictionaries can not be sorted, so lets get a sorted *list* \n", + "wfs = sorted (wf .items(), key = operator .itemgetter (1), reverse=True) \n", + "\n", + "# lets just have no more than 15 words \n", + "ml = min(len(wfs),15)\n", + "for i in range(1,ml,1):\n", + " print (wfs[i][0]+\"\\t\"+str(wfs[i][1])) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Assignment 1\n", + "\n", + "1. Compare word frequencies between two works of a single author.\n", + "1. Compare word frequencies between works of two authors.\n", + "1. Are there some words preferred by one author but used less frequently by another author?\n", + "\n", + "Extra credit\n", + "\n", + "1. The frequency of a specific word, e.g., \"would\" should follow a binomial distribution (each regular word in a document is a trial and with probability p that word is \"would\". The estimate for p is N(\"would\")/N(regular word)). Do these binomial distributions for your chosen word differ significantly between books of the same author or between authors? \n", + "\n", + "Project Gutenberg is a good source of for fiction and non-fiction.\n", + "\n", + "E.g below are two most popular books from Project Gutenberg:\n", + "- Pride and Prejudice at http://www.gutenberg.org/ebooks/1342.txt.utf-8\n", + "- Adventures of Huckleberry Finn at http://www.gutenberg.org/ebooks/76.txt.utf-8" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Single Author review by KEVIN PURDY about to differnet tech products" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt \n", + "import requests, re\n", + "from bs4 import BeautifulSoup\n", + "from collections import Counter\n", + "\n", + "\n", + "def main():\n", + " common_words = {\n", + " \"with\": 0, \"the\": 0, \"a\": 0,\"for\": 0,\".\\n\": 0,\".\": 0,\"it\": 0,\"is\": 0, \"on\": 0,\"of\": 0,\"to\": 0,\"and\": 0,\"an\": 0,\"which\": 0,\"it's\": 0,\"when\": 0,\"can\": 0,\"will\": 0,\"are\": 0,\"|\" : 0,\"as\": 0,\"this\": 0,\"that\": 0,\"has\": 0,\"or\": 0,\"·\": 0,\"be\": 0,\"gm\": 0,\"you\": 0,\"we\": 0,\"by\": 0\n", + " }\n", + " all_Art = ['https://arstechnica.com/gadgets/2022/09/iphone-14-battery-replacement-costs-quietly-rise-to-99/',\n", + " 'https://arstechnica.com/gadgets/2022/08/apple-watch-pro-rumored-to-have-new-bands-price-close-to-1000/']\n", + " all_words = [] \n", + " \n", + " for book in all_Art:\n", + " r = requests.get(book)\n", + " soup = BeautifulSoup(r.text, 'html.parser')\n", + " text = soup.get_text().lower()\n", + " words = re.split('\\s+', text)\n", + "\n", + " for i in range(len(words)):\n", + " words[i] = words[i].strip()\n", + " finalWords = [word for word in words if word not in common_words]\n", + " \n", + " all_words.append(finalWords)\n", + " freqs = []\n", + " for i in range(len(all_words)):\n", + " c = Counter(all_words[i])\n", + " freqs.append(c)\n", + " \n", + " make_graph(freqs[0].most_common(25), freqs[1].most_common(25))\n", + "\n", + "def make_graph(article1, article2):\n", + " \n", + " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))\n", + " ax1.barh([wordCount[0] for wordCount in article1], [wordCount[1] for wordCount in article1], color='blue')\n", + " ax2.barh([wordCount[0] for wordCount in article2], [wordCount[1] for wordCount in article2], color='red')\n", + " ax1.set_title('IPhone 14')\n", + " ax2.set_title('Apple Watch') \n", + " ax1.set(xlabel='# of Words', ylabel='# of Frequency')\n", + " ax2.set(xlabel='# of Words', ylabel='# of Frequency')\n", + " plt.show()\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Word Frequency between 2 authors" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt \n", + "import requests, re\n", + "from bs4 import BeautifulSoup\n", + "from collections import Counter\n", + "\n", + "\n", + "def main():\n", + " common_words = {\n", + " \"with\": 0, \"the\": 0, \"a\": 0,\"*\" : 0,\"for\": 0,\".\\n\": 0,\".\": 0,\"it\": 0,\"is\": 0, \"on\": 0,\"of\": 0,\"to\": 0,\"and\": 0,\"an\": 0,\"which\": 0,\"it's\": 0,\"when\": 0,\"can\": 0,\"will\": 0,\"are\": 0,\"|\" : 0,\"as\": 0,\"this\": 0,\"that\": 0,\"has\": 0,\"or\": 0,\"·\": 0,\"be\": 0,\"gm\": 0,\"you\": 0,\"we\": 0,\"by\": 0\n", + " }\n", + " all_Art = ['https://www.macrumors.com/2022/09/13/apple-watch-ultra-76-larger-battery/',\n", + " 'https://arstechnica.com/gadgets/2022/08/apple-watch-pro-rumored-to-have-new-bands-price-close-to-1000/']\n", + " all_words = [] \n", + " \n", + " for book in all_Art:\n", + " r = requests.get(book)\n", + " soup = BeautifulSoup(r.text, 'html.parser')\n", + " text = soup.get_text().lower()\n", + " words = re.split('\\s+', text)\n", + "\n", + " for i in range(len(words)):\n", + " words[i] = words[i].strip()\n", + " finalWords = [word for word in words if word not in common_words]\n", + " \n", + " all_words.append(finalWords)\n", + " freqs = []\n", + " for i in range(len(all_words)):\n", + " c = Counter(all_words[i])\n", + " freqs.append(c)\n", + " \n", + " make_graph(freqs[0].most_common(25), freqs[1].most_common(25))\n", + "\n", + "def make_graph(article1, article2):\n", + " \n", + " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))\n", + " ax1.barh([wordCount[0] for wordCount in article1], [wordCount[1] for wordCount in article1], color='blue')\n", + " ax2.barh([wordCount[0] for wordCount in article2], [wordCount[1] for wordCount in article2], color='red')\n", + " ax1.set_title('Apple Watch by Mac rumors')\n", + " ax2.set_title('Apple Watch by arstechnica') \n", + " ax1.set(xlabel='# of Words', ylabel='# of Frequency')\n", + " ax2.set(xlabel='# of Words', ylabel='# of Frequency')\n", + " plt.show()\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "One author uses the words iphone and battery more while the other author uses the words apple and share more" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}