{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "code",
"source": [
"!wget https://tufts.box.com/shared/static/325sgkodnq30ez61ugazvctif6r24hsu.csv -O daf.csv -q"
],
"metadata": {
"id": "-g16uWX24JGE"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Textual Feature Extraction using Traditional Machine Learning\n",
"In this workshop, we are going to learn how to conduct feature extraction on text using `sci-kit learn`.\n",
"\n",
"First, what is feature extraction? **Feature extraction or vectorization is any process by which we can convert raw data into a format that can be understood by a computer.** Text is not consistant in format, meaning that, unlike an image, there is no single format that all documents come in. Usually, each sentence is a different length and could be made up of specialized terminology. As a result, feature extraction allows us to standardize textual inputs so that they can be used for a variety of tasks. For example, in the `Traditional Topic Modeling in SKLearn` workshop, I use these features to extract topics from a text.\n",
"\n",
"In this notebook, we'll look at two different algorithms that are commonly used for textual feature extraction:\n",
"* Count Vectorization\n",
"* Term frequency - inverse document frequency (TF-IDF) vectorization\n",
"\n",
"\n",
"But before we can look at these, we'll look at the simplest type of feature extraction: the so-called 'bag of words' approach.\n"
],
"metadata": {
"id": "HhWqbXiczuzV"
}
},
{
"cell_type": "markdown",
"source": [
"## Imports and data\n",
"\n",
"For this example, we'll be using Edward Gibbon's *Decline and Fall of the Roman Empire*. This text is really long so it will be a good example of a lot of the problems that pop up in NLP."
],
"metadata": {
"id": "uKcwYGrl4GWk"
}
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"\n",
"daf = pd.read_csv('daf.csv')[['title','text']]\n",
"daf.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "eK0rgXYB4LIX",
"outputId": "c29841b6-dcd6-42b3-db6c-a7646bc81c22"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" title \\\n",
"0 The Extent Of The Empire In The Age Of The Ant... \n",
"1 The Extent Of The Empire In The Age Of The Ant... \n",
"2 The Extent Of The Empire In The Age Of The Ant... \n",
"3 The Internal Prosperity In The Age Of The Anto... \n",
"4 The Internal Prosperity In The Age Of The Anto... \n",
"\n",
" text \n",
"0 Introduction. The Extent And Military Fo... \n",
"1 It was an ancient tradition, that when the Cap... \n",
"2 The camp of a Roman legion presented the appea... \n",
"3 Of The Union And Internal Prosperity Of The Ro... \n",
"4 Till the privileges of Romans had been progres... "
],
"text/html": [
"\n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
title
\n",
"
text
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
The Extent Of The Empire In The Age Of The Ant...
\n",
"
Introduction. The Extent And Military Fo...
\n",
"
\n",
"
\n",
"
1
\n",
"
The Extent Of The Empire In The Age Of The Ant...
\n",
"
It was an ancient tradition, that when the Cap...
\n",
"
\n",
"
\n",
"
2
\n",
"
The Extent Of The Empire In The Age Of The Ant...
\n",
"
The camp of a Roman legion presented the appea...
\n",
"
\n",
"
\n",
"
3
\n",
"
The Internal Prosperity In The Age Of The Anto...
\n",
"
Of The Union And Internal Prosperity Of The Ro...
\n",
"
\n",
"
\n",
"
4
\n",
"
The Internal Prosperity In The Age Of The Anto...
\n",
"
Till the privileges of Romans had been progres...
\n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
"\n",
" \n",
"\n",
" \n",
"
\n",
"\n",
"\n",
"
\n",
" \n",
"\n",
"\n",
"\n",
" \n",
"
\n",
"\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "daf",
"summary": "{\n \"name\": \"daf\",\n \"rows\": 296,\n \"fields\": [\n {\n \"column\": \"title\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 296,\n \"samples\": [\n \"Elevation Of Timour Or Tamerlane, And His Death.\\u2014Part II.\",\n \"Reign Of Clovis.\\u2014Part III.\",\n \"Persecution Of Heresy, State Of The Church.\\u00d1Part VII.\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"text\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 296,\n \"samples\": [\n \"The military republic of the Mamalukes still reigned in Egypt and Syria: but the dynasty of the Turks was overthrown by that of the Circassians; During this diversion of the Mogul arms, Bajazet had two years to collect his forces for a more serious encounter. They consisted of four hundred thousand horse and foot, The _iron cage_ in which Bajazet was imprisoned by Tamerlane, so long and so often repeated as a moral lesson, is now rejected as a fable by the modern writers, who smile at the vulgar credulity. Such is the portrait of a generous conqueror, which has been extracted from his own memorials, and dedicated to his son and grandson, nineteen years after his decease; From these opposite premises, a fair and moderate conclusion may be deduced. I am satisfied that Sherefeddin Ali has faithfully described the first ostentatious interview, in which the conqueror, whose spirits were harmonized by success, affected the character of generosity. But his mind was insensibly alienated by the unseasonable arrogance of Bajazet; the complaints of his enemies, the Anatolian princes, were just and vehement; and Timour betrayed a design of leading his royal captive in triumph to Samarcand. An attempt to facilitate his escape, by digging a mine under the tent, provoked the Mogul emperor to impose a harsher restraint; and in his perpetual marches, an iron cage on a wagon might be invented, not as a wanton insult, but as a rigorous precaution. Timour had read in some fabulous history a similar treatment of one of his predecessors, a king of Persia; and Bajazet was condemned to represent the person, and expiate the guilt, of the Roman C\\u00e6sar From the Irtish and Volga to the Persian Gulf, and from the Ganges to Damascus and the Archipelago, Asia was in the hand of Timour: his armies were invincible, his ambition was boundless, and his zeal might aspire to conquer and convert the Christian kingdoms of the West, which already trembled at his name. He touched the utmost verge of the land; but an insuperable, though narrow, sea rolled between the two continents of Europe and Asia; \",\n \"When justice inexorably requires the death of a murderer, each private citizen is fortified by the assurance, that the laws, the magistrate, and the whole community, are the guardians of his personal safety. But in the loose society of the Germans, revenge was always honorable, and often meritorious: the independent warrior chastised, or vindicated, with his own hand, the injuries which he had offered or received; and he had only to dread the resentment of the sons and kinsmen of the enemy, whom he had sacrificed to his selfish or angry passions. The magistrate, conscious of his weakness, interposed, not to punish, but to reconcile; and he was satisfied if he could persuade or compel the contending parties to pay and to accept the moderate fine which had been ascertained as the price of blood. The civil and military professions, which had been separated by Constantine, were again united by the Barbarians. The harsh sound of the Teutonic appellations was mollified into the Latin titles of Duke, of Count, or of Praefect; and the same officer assumed, within his district, the command of the troops, and the administration of justice. But the trials by single combat gradually obtained superior credit and authority, among a warlike people, who could not believe that a brave man deserved to suffer, or that a coward deserved to live. A devouring host of one hundred and twenty thousand Germans had formerly passed the Rhine under the command of Ariovistus. One third part of the fertile lands of the Sequani was appropriated to their use; and the conqueror soon repeated his oppressive demand of another third, for the accommodation of a new colony of twenty-four thousand Barbarians, whom he had invited to share the rich harvest of Gaul. The wealth of the Merovingian princes consisted in their extensive domain. After the conquest of Gaul, they still delighted in the rustic simplicity of their ancestors; the cities were abandoned to solitude and decay; and their coins, their charters, and their synods, are still inscribed with the names of the villas, or rural palaces, in which they successively resided. One hundred and sixty of these palaces, a title which need not excite any unseasonable ideas of art or luxury, were scattered through the provinces of their kingdom; and if some might claim the honors of a fortress, the far greater part could be esteemed only in the light of profitable farms. The mansion of the long-haired kings was surrounded with convenient yards and stables, for the cattle and the poultry; the garden was planted with useful vegetables; the various trades, the labors of agriculture, and even the arts of hunting and fishing, were exercised by servile hands for the emolument of the sovereign; his magazines were filled with corn and wine, either for sale or consumption; and the whole administration was conducted by the strictest maxims of private economy. In the bloody discord and silent decay of the Merovingian line, a new order of tyrants arose in the provinces, who, under the appellation of Seniors, or Lords, usurped a right to govern, and a license to oppress, the subjects of their peculiar territory. Their ambition might be checked by the hostile resistance of an equal: but the laws were extinguished; and the sacrilegious Barbarians, who dared to provoke the vengeance of a saint or bishop, According to the maxims of ancient war, the conqueror became the lawful master of the enemy whom he had subdued and spared: The general state and revolutions of France, a name which was imposed by the conquerors, may be illustrated by the particular example of a province, a diocese, or a senatorial family. Auvergne had formerly maintained a just preeminence among the independent states and cities of Gaul. The brave and numerous inhabitants displayed a singular trophy; the sword of Caesar himself, which he had lost when he was repulsed before the walls of Gergovia. \",\n \"The cruel and arbitrary disposition of Constantius, which did not always require the provocations of guilt and resistance, was justly exasperated by the tumults of his capital, and the criminal behavior of a faction, which opposed the authority and religion of their sovereign. The ordinary punishments of death, exile, and confiscation, were inflicted with partial vigor; and the Greeks still revere the holy memory of two clerks, a reader, and a sub-deacon, who were accused of the murder of Hermogenes, and beheaded at the gates of Constantinople. By an edict of Constantius against the Catholics which has not been judged worthy of a place in the Theodosian code, those who refused to communicate with the Arian bishops, and particularly with Macedonius, were deprived of the immunities of ecclesiastics, and of the rights of Christians; they were compelled to relinquish the possession of the churches; and were strictly prohibited from holding their assemblies within the walls of the city. The execution of this unjust law, in the provinces of Thrace and Asia Minor, was committed to the zeal of Macedonius; the civil and military powers were directed to obey his commands; and the cruelties exercised by this Semi- Arian tyrant in the support of the _Homoiousion_, exceeded the commission, and disgraced the reign, of Constantius. The sacraments of the church were administered to the reluctant victims, who denied the vocation, and abhorred the principles, of Macedonius. The rites of baptism were conferred on women and children, who, for that purpose, had been torn from the arms of their friends and parents; the mouths of the communicants were held open by a wooden engine, while the consecrated bread was forced down their throat; the breasts of tender virgins were either burnt with red-hot egg-shells, or inhumanly compressed betweens harp and heavy boards. While the flames of the Arian controversy consumed the vitals of the empire, the African provinces were infested by their peculiar enemies, the savage fanatics, who, under the name of _Circumcellions_, formed the strength and scandal of the Donatist party. Such disorders are the natural effects of religious tyranny, but the rage of the Donatists was inflamed by a frenzy of a very extraordinary kind; and which, if it really prevailed among them in so extravagant a degree, cannot surely be paralleled in any country or in any age. Many of these fanatics were possessed with the horror of life, and the desire of martyrdom; and they deemed it of little moment by what means, or by what hands, they perished, if their conduct was sanctified by the intention of devoting themselves to the glory of the true faith, and the hope of eternal happiness. The simple narrative of the intestine divisions, which distracted the peace, and dishonored the triumph, of the church, will confirm the remark of a Pagan historian, and justify the complaint of a venerable bishop. The experience of Ammianus had convinced him, that the enmity of the Christians towards each other, surpassed the fury of savage beasts against man; A modern writer, who, with a just confidence, has prefixed to his own history the honorable epithets of political and philosophical, The sons of Constantine trod in the footsteps of their father, with more zeal, and with less discretion. The pretences of rapine and oppression were insensibly multiplied; The divisions of Christianity suspended the ruin of _Paganism;_ \"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 2
}
]
},
{
"cell_type": "code",
"source": [
"text = ' '.join(daf.text).lower()\n",
"text[:1000]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 140
},
"id": "oM3zmCiN4TT9",
"outputId": "5adb9064-f13b-41f1-909f-51e59fde07c6"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'introduction. the extent and military force of the empire in the age of the antonines. in the second century of the christian æra, the empire of rome comprehended the fairest part of the earth, and the most civilized portion of mankind. the frontiers of that extensive monarchy were guarded by ancient renown and disciplined valor. the gentle but powerful influence of laws and manners had gradually cemented the union of the provinces. their peaceful inhabitants enjoyed and abused the advantages of wealth and luxury. the image of a free constitution was preserved with decent reverence: the roman senate appeared to possess the sovereign authority, and devolved on the emperors all the executive powers of government. during a happy period of more than fourscore years, the public administration was conducted by the virtue and abilities of nerva, trajan, hadrian, and the two antonines. it is the design of this, and of the two succeeding chapters, to describe the prosperous conditio'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {},
"execution_count": 3
}
]
},
{
"cell_type": "markdown",
"source": [
"## Bag of Words\n",
"The Bag of Words approach consists simply in counting individual word occurence. But walking thourgh this process will teach us about NLP fundementals that carry over into the more advanced methods."
],
"metadata": {
"id": "tnJvUM883p8g"
}
},
{
"cell_type": "markdown",
"source": [
"### Tokenization\n",
"\n",
"Before we can count words, we need to decide what consistutes a word and then split our text up by word. This process is called **tokenization** and is very important at all levels of NLP. There are many different types of tokenizers, but for this example we'll use the simplest one from the Natural Language Toolkit (`nltk`)."
],
"metadata": {
"id": "y_BzFrNz4d-R"
}
},
{
"cell_type": "code",
"source": [
"import nltk\n",
"nltk.download('punkt')\n",
"\n",
"from nltk.tokenize import word_tokenize\n",
"\n",
"tokens = word_tokenize(daf.iloc[1].text)\n",
"tokens[:10]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "9g0VTRnS4B73",
"outputId": "5269728a-028d-41af-d0b1-4b0adefa9e1f"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"[nltk_data] Downloading package punkt to /root/nltk_data...\n",
"[nltk_data] Unzipping tokenizers/punkt.zip.\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['It',\n",
" 'was',\n",
" 'an',\n",
" 'ancient',\n",
" 'tradition',\n",
" ',',\n",
" 'that',\n",
" 'when',\n",
" 'the',\n",
" 'Capitol']"
]
},
"metadata": {},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"source": [
"words = [word for word in word_tokenize(text) if word.isalpha()]\n",
"# word.isalpha returns True is a word is made up of only alphabet characters and not numbers or spaces\n",
"words[:10]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "8Ajsapff39uW",
"outputId": "796eaed8-5582-47ee-a47f-406994fda280"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['introduction',\n",
" 'the',\n",
" 'extent',\n",
" 'and',\n",
" 'military',\n",
" 'force',\n",
" 'of',\n",
" 'the',\n",
" 'empire',\n",
" 'in']"
]
},
"metadata": {},
"execution_count": 5
}
]
},
{
"cell_type": "markdown",
"source": [
"### Counting words\n",
"Now that we've split the text into words, we can count them. I'll show three ways to do it, but they will all return the same result. I only do so to show you how easy it is to do this task in Python.\n",
"\n",
"Each one follwos the same algorithm:\n",
"\n",
"1. Create an empty data strcuture to hold the frequencies\n",
"2. Loop through all words\n",
"3. If we see a word that is in in our data structure already, increment the associated frequency by 1\n",
"4. If we see a word that is NOT in our data structure already, add the word and set its value to 1\n",
"\n",
"\n"
],
"metadata": {
"id": "Gy01gl9i6oKX"
}
},
{
"cell_type": "code",
"source": [
"# longest version\n",
"counts = {} # data structure\n",
"for word in words: # looping through all words\n",
" if word in counts: # if the word is already in our data structure\n",
" counts[word] += 1 # increment by 1\n",
" else:\n",
" counts[word] = 1 # set as 1\n",
"\n",
"counts = sorted(counts.items(), key=lambda x: x[1], reverse=True) # dictionary sorting\n",
"counts[:10]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "o4r_7CHY6dZd",
"outputId": "ee5707ca-540f-437a-f3d7-3ff5ad857724"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('the', 35184),\n",
" ('of', 23474),\n",
" ('and', 13250),\n",
" ('to', 6397),\n",
" ('a', 5256),\n",
" ('his', 4481),\n",
" ('in', 4013),\n",
" ('was', 3962),\n",
" ('by', 3578),\n",
" ('their', 3009)]"
]
},
"metadata": {},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"source": [
"# shorter version\n",
"import collections\n",
"counts = collections.defaultdict(int) # data structure\n",
"for word in words: # looping through all words\n",
" counts[word] += 1 # increment by 1\n",
"\n",
"counts = sorted(counts.items(), key=lambda x: x[1], reverse=True)\n",
"counts[:10]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "7fujkALo8etr",
"outputId": "4254efcf-eb20-4807-e44c-f8b5b2829831"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('the', 35184),\n",
" ('of', 23474),\n",
" ('and', 13250),\n",
" ('to', 6397),\n",
" ('a', 5256),\n",
" ('his', 4481),\n",
" ('in', 4013),\n",
" ('was', 3962),\n",
" ('by', 3578),\n",
" ('their', 3009)]"
]
},
"metadata": {},
"execution_count": 7
}
]
},
{
"cell_type": "code",
"source": [
"# shortest version\n",
"counts = collections.Counter(words)\n",
"counts.most_common(10)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "1YdIHw-66Ysr",
"outputId": "34b77ea1-3048-4f10-8f27-cb30ec0c15a6"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('the', 35184),\n",
" ('of', 23474),\n",
" ('and', 13250),\n",
" ('to', 6397),\n",
" ('a', 5256),\n",
" ('his', 4481),\n",
" ('in', 4013),\n",
" ('was', 3962),\n",
" ('by', 3578),\n",
" ('their', 3009)]"
]
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "markdown",
"source": [
"#### Removing stop words\n",
"\n",
"As you see above, the most common words in this text are not very expressive of the content of the text. Rather they are just the most common words in the English language. These words are sometimes called 'stop words' and, when using word frequency, it is common to remove them.\n",
"\n",
"For this example, we'll use `nltk`'s stop words list. See below for the whole list."
],
"metadata": {
"id": "occuSd7h8zwX"
}
},
{
"cell_type": "code",
"source": [
"from nltk.corpus import stopwords\n",
"\n",
"nltk.download('stopwords')\n",
"print(stopwords.words('english'))"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "asW2giAeKtFZ",
"outputId": "4aa11d56-ca1f-49ed-c642-5d4ba53ee910"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"['i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves', 'you', \"you're\", \"you've\", \"you'll\", \"you'd\", 'your', 'yours', 'yourself', 'yourselves', 'he', 'him', 'his', 'himself', 'she', \"she's\", 'her', 'hers', 'herself', 'it', \"it's\", 'its', 'itself', 'they', 'them', 'their', 'theirs', 'themselves', 'what', 'which', 'who', 'whom', 'this', 'that', \"that'll\", 'these', 'those', 'am', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had', 'having', 'do', 'does', 'did', 'doing', 'a', 'an', 'the', 'and', 'but', 'if', 'or', 'because', 'as', 'until', 'while', 'of', 'at', 'by', 'for', 'with', 'about', 'against', 'between', 'into', 'through', 'during', 'before', 'after', 'above', 'below', 'to', 'from', 'up', 'down', 'in', 'out', 'on', 'off', 'over', 'under', 'again', 'further', 'then', 'once', 'here', 'there', 'when', 'where', 'why', 'how', 'all', 'any', 'both', 'each', 'few', 'more', 'most', 'other', 'some', 'such', 'no', 'nor', 'not', 'only', 'own', 'same', 'so', 'than', 'too', 'very', 's', 't', 'can', 'will', 'just', 'don', \"don't\", 'should', \"should've\", 'now', 'd', 'll', 'm', 'o', 're', 've', 'y', 'ain', 'aren', \"aren't\", 'couldn', \"couldn't\", 'didn', \"didn't\", 'doesn', \"doesn't\", 'hadn', \"hadn't\", 'hasn', \"hasn't\", 'haven', \"haven't\", 'isn', \"isn't\", 'ma', 'mightn', \"mightn't\", 'mustn', \"mustn't\", 'needn', \"needn't\", 'shan', \"shan't\", 'shouldn', \"shouldn't\", 'wasn', \"wasn't\", 'weren', \"weren't\", 'won', \"won't\", 'wouldn', \"wouldn't\"]\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"[nltk_data] Downloading package stopwords to /root/nltk_data...\n",
"[nltk_data] Unzipping corpora/stopwords.zip.\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# an example\n",
"[word for word in word_tokenize(daf.iloc[0].text.lower()) if word.isalpha() and word not in stopwords.words('english')][:10]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "F3q87qb_LTUT",
"outputId": "547fba0d-bf7e-4276-ca2f-44c79a724709"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['introduction',\n",
" 'extent',\n",
" 'military',\n",
" 'force',\n",
" 'empire',\n",
" 'age',\n",
" 'antonines',\n",
" 'second',\n",
" 'century',\n",
" 'christian']"
]
},
"metadata": {},
"execution_count": 10
}
]
},
{
"cell_type": "markdown",
"source": [
"#### Counting words without stop words"
],
"metadata": {
"id": "oCBJgh38LTqw"
}
},
{
"cell_type": "code",
"source": [
"import collections\n",
"counts = collections.defaultdict(int) # data structure\n",
"\n",
"stop_words = stopwords.words('english') # list of stop words\n",
"for word in words: # looping through all words\n",
" if word not in stop_words: # if the word is not in stop words list\n",
" counts[word] += 1 # increment by 1\n",
"\n",
"counts = sorted(counts.items(), key=lambda x: x[1], reverse=True)\n",
"counts[:10]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "zFUKxXDBK48G",
"outputId": "16137ae0-cb80-482c-c4d4-c9842170ec7d"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('might', 578),\n",
" ('empire', 569),\n",
" ('emperor', 558),\n",
" ('roman', 547),\n",
" ('first', 483),\n",
" ('two', 396),\n",
" ('people', 390),\n",
" ('rome', 375),\n",
" ('every', 369),\n",
" ('without', 368)]"
]
},
"metadata": {},
"execution_count": 11
}
]
},
{
"cell_type": "markdown",
"source": [
"## Count Vectorization\n",
"\n",
"The bag of words model of feature extraction is straightforward and easy to understand but it is limited. We would prefer a single class that could do all of the above steps in a efficient and fast way. Thankfully, `sci-kit learn` provides this in the `CounterVectorizer`.\n",
"\n",
"`CountVectorizer` will take each document in our corpus (each chapter, before we were just joining them all together) and convert it into an array of ones and zeros. See the example below."
],
"metadata": {
"id": "NrLqQZ812qRQ"
}
},
{
"cell_type": "code",
"source": [
"from sklearn.feature_extraction.text import CountVectorizer\n",
"\n",
"vectorizer = CountVectorizer() # initialize the class\n",
"\n",
"# taken from: https://scikit-learn.org/stable/modules/feature_extraction.html#common-vectorizer-usage\n",
"corpus = [\n",
" 'This is the first document.',\n",
" 'This is the second second document.',\n",
" 'And the third one.',\n",
" 'Is this the first document?',\n",
" ]\n",
"\n",
"X = vectorizer.fit_transform(corpus)\n",
"X.shape # number of documents by number of unique words"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "0KEm6lJ6Q5i_",
"outputId": "47a93bbb-f80c-451a-dc46-07ffadefb178"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(4, 9)"
]
},
"metadata": {},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"source": [
"pd.DataFrame(X.toarray(), columns=vectorizer.get_feature_names_out())"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 175
},
"id": "DHBa64cSRDbF",
"outputId": "832b915c-a384-459e-808d-9dfdeb192719"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" and document first is one second the third this\n",
"0 0 1 1 1 0 0 1 0 1\n",
"1 0 1 0 1 0 2 1 0 1\n",
"2 1 0 0 0 1 0 1 1 0\n",
"3 0 1 1 1 0 0 1 0 1"
],
"text/html": [
"\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "cv"
}
},
"metadata": {},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"source": [
"# we can recreate the same results as above but now on the basis of each document\n",
"# results vary slightly because of how sk learn tokenizes their text\n",
"sorted(cv.sum(axis=0).to_dict().items(), key=lambda x: x[1], reverse=True)[:10]"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "HWWyWvQSQPs8",
"outputId": "c208fdc1-50e6-4e93-fce2-8f0c0c4ef4ad"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('empire', 579),\n",
" ('might', 578),\n",
" ('emperor', 561),\n",
" ('roman', 547),\n",
" ('first', 490),\n",
" ('two', 409),\n",
" ('people', 393),\n",
" ('rome', 384),\n",
" ('every', 369),\n",
" ('without', 368)]"
]
},
"metadata": {},
"execution_count": 16
}
]
},
{
"cell_type": "markdown",
"source": [
"## Term frequency - inverse document frequency (TF-IDF)\n",
"\n",
"A final alteration we can make to this counter is **normalizing** the counts by the number of times that word occurs. **Normalization** is any mathimatical transformation we make to a number that will make it more normal or regular.\n",
"In this case, someone could argue: \"'might' occurs so many times not because it's important but rather because it is a word that has several meanings and is therefore used more often than words with only one meaning.\"\n",
"\n",
"That's where TF-IDF comes in. This normalization technique is the product of two statistics: term frequency and inverse document frequency.\n",
"\n",
"* The first is a count of how many times a term occurs in a document (which is what we have in the `CounterVectorizer` above) divded by the total number of words in the document. Given a term $t$ and a document $d$, term frequency $\\mathrm{tf}(t,d)$ is defined as: $\\mathrm {tf} (t,d)={\\frac {f_{t,d}}{\\sum _{t'\\in d}{f_{t',d}}}}$.\n",
"* The second responds directly to the objection above. It is a measure of the importance of the term in the context of the rest of the documents, determining whether this term is rare or common. It is obtained by dividing the total number of documents $N$ by the number of documents containing the term $|\\{d \\in D: t \\in d\\}|$, where $d$ is a document in our documents $D$ and $t$ is any term in document $d$. This inverse document frequency is defined as $\\mathrm{idf}(t, D) = \\frac{N}{|\\{d \\in D: t \\in d\\}|}$.\n",
"\n",
"Thus TF-IDF takes the form: $\\mathrm{tfidf} = \\mathrm {tf} \\cdot \\mathrm {idf}$. In practice, log normalization (taking the natural log) is applied to both parts of TF-IDF. Below we'll see how to use `sci-kit learn` to implement TF-IDF.\n"
],
"metadata": {
"id": "z6eyXxy-VJDt"
}
},
{
"cell_type": "code",
"source": [
"from sklearn.feature_extraction.text import TfidfVectorizer\n",
"\n",
"vectorizer = TfidfVectorizer(stop_words=stop_words)\n",
"X = vectorizer.fit_transform(daf.text) # this is called the document-term matrix\n",
"X.shape # number of documents by number of unique words"
],
"metadata": {
"id": "uciiL791VIW5",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "b3461609-ec26-4520-a0c9-a061c02e48f3"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(296, 13035)"
]
},
"metadata": {},
"execution_count": 17
}
]
},
{
"cell_type": "code",
"source": [
"# now all of the zeros are decimals\n",
"tfidf = pd.DataFrame(X.toarray(), columns=vectorizer.get_feature_names_out())\n",
"tfidf"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 424
},
"id": "Wqpnwml3GODe",
"outputId": "bf8cd801-9c1e-4ef6-aa56-5ab347a901b0"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" 1452 1780 1787 1836 27 321 327 336 _adoration_ _afer_ \\\n",
"0 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"1 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"2 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"3 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"4 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
".. ... ... ... ... ... ... ... ... ... ... \n",
"291 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"292 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"293 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"294 0.0 0.0 0.000000 0.0 0.000000 0.0 0.0 0.0 0.0 0.0 \n",
"295 0.0 0.0 0.089603 0.0 0.089603 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" ... òevery òi òis òlast òo òone òthe òthere òthose òwe \n",
"0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"1 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"2 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"3 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"4 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
".. ... ... ... ... ... ... ... ... ... ... ... \n",
"291 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"292 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"293 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"294 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"295 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
"[296 rows x 13035 columns]"
],
"text/html": [
"\n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
1452
\n",
"
1780
\n",
"
1787
\n",
"
1836
\n",
"
27
\n",
"
321
\n",
"
327
\n",
"
336
\n",
"
_adoration_
\n",
"
_afer_
\n",
"
...
\n",
"
òevery
\n",
"
òi
\n",
"
òis
\n",
"
òlast
\n",
"
òo
\n",
"
òone
\n",
"
òthe
\n",
"
òthere
\n",
"
òthose
\n",
"
òwe
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
1
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
2
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
3
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
4
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
...
\n",
"
\n",
"
\n",
"
291
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
292
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
293
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
294
\n",
"
0.0
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.000000
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
295
\n",
"
0.0
\n",
"
0.0
\n",
"
0.089603
\n",
"
0.0
\n",
"
0.089603
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
...
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
" \n",
"
\n",
"
296 rows × 13035 columns
\n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
"\n",
" \n",
"\n",
" \n",
"
\n",
"\n",
"\n",
"
\n",
" \n",
"\n",
"\n",
"\n",
" \n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "tfidf"
}
},
"metadata": {},
"execution_count": 18
}
]
},
{
"cell_type": "code",
"source": [
"# a single column\n",
"# this single column represents the tf-idf score for the word 'Rome' in each chapter\n",
"tfidf['rome']"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "8e4opjHeGRq8",
"outputId": "f9583663-ea1c-452a-ee0a-82f0dc162cc0"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 0.060913\n",
"1 0.020159\n",
"2 0.017816\n",
"3 0.071124\n",
"4 0.051666\n",
" ... \n",
"291 0.101778\n",
"292 0.081006\n",
"293 0.117936\n",
"294 0.104346\n",
"295 0.119457\n",
"Name: rome, Length: 296, dtype: float64"
]
},
"metadata": {},
"execution_count": 19
}
]
},
{
"cell_type": "markdown",
"source": [
"## What can you do with TF-IDF?\n",
"\n",
"There are many applications for TF-IDF (be sure to check out the `Traditional Topic Modeling in SKLearn` workshop). Here we'll do some document comparision. Because we now have a 13035 long vector representing each chapter, we can compare them to each other to find chapters that have similar word usage.\n",
"\n",
"If we have two vectors, we can compare them using the dot product. For the two vectors $A = \\begin{bmatrix} a_1 & a_2 & a_3 \\end{bmatrix}$ and $B = \\begin{bmatrix} b_1 & b_2 & b_3 \\end{bmatrix}$, $A \\cdot B = (a_1)(b_1) + (a_2)(b_2) + (a_3)(b_3)$. If we then scale this value by the product of the magnitudes of $A$ and $B$, we are guaranteed to get back a number that is betweeen -1 and 1. This is often called **cosine similarity** and is used frequently to compare vectors in NLP. A score of exactly 1 means that the two vectors are the same, whereas a score of -1 means that the vectors have the same magnitude but are pointing in opposite directions. See the implementation below."
],
"metadata": {
"id": "IBRqbCb6G7ST"
}
},
{
"cell_type": "code",
"source": [
"import numpy as np\n",
"\n",
"ch1 = X.toarray()[0] # chapter 1\n",
"ch2 = X.toarray()[1] # chapter 2\n",
"\n",
"# cosine similarity\n",
"np.dot(ch1, ch2) / (np.linalg.norm(ch1) * np.linalg.norm(ch2)) # np.linalg.norm returns the magnitude of a vector"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "x4cIemd1GboK",
"outputId": "7bc0a27d-bfcc-4d50-e575-1fc7a50dbfd6"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.2157683155352871"
]
},
"metadata": {},
"execution_count": 20
}
]
},
{
"cell_type": "code",
"source": [
"def docsim(id1, id2):\n",
" ch1 = X.toarray()[id1]\n",
" ch2 = X.toarray()[id2]\n",
" return np.dot(ch1, ch2) / (np.linalg.norm(ch1) * np.linalg.norm(ch2))"
],
"metadata": {
"id": "mLZTYvTcH8cy"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"for i in range(len(daf[:50])):\n",
" print(f'Chapter 1 compared with Chapter {i+1}: {docsim(0, i)}')"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "FI7a5cQzITcI",
"outputId": "2756b422-dca3-4052-aa99-dbcd0ff7d7c2"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Chapter 1 compared with Chapter 1: 1.0\n",
"Chapter 1 compared with Chapter 2: 0.2157683155352871\n",
"Chapter 1 compared with Chapter 3: 0.21812691957335334\n",
"Chapter 1 compared with Chapter 4: 0.12850663946427368\n",
"Chapter 1 compared with Chapter 5: 0.10429450807805568\n",
"Chapter 1 compared with Chapter 6: 0.11569936141360543\n",
"Chapter 1 compared with Chapter 7: 0.15158148604929128\n",
"Chapter 1 compared with Chapter 8: 0.23798889530192674\n",
"Chapter 1 compared with Chapter 9: 0.25942604204282155\n",
"Chapter 1 compared with Chapter 10: 0.10216516493597419\n",
"Chapter 1 compared with Chapter 11: 0.12315185810886659\n",
"Chapter 1 compared with Chapter 12: 0.15724906825152746\n",
"Chapter 1 compared with Chapter 13: 0.16161628987642954\n",
"Chapter 1 compared with Chapter 14: 0.16589626643737831\n",
"Chapter 1 compared with Chapter 15: 0.14201355553923192\n",
"Chapter 1 compared with Chapter 16: 0.1515978908703342\n",
"Chapter 1 compared with Chapter 17: 0.20128261783139945\n",
"Chapter 1 compared with Chapter 18: 0.16211633506181589\n",
"Chapter 1 compared with Chapter 19: 0.14775847164554812\n",
"Chapter 1 compared with Chapter 20: 0.12860294364695754\n",
"Chapter 1 compared with Chapter 21: 0.09111781059642471\n",
"Chapter 1 compared with Chapter 22: 0.15529700152411047\n",
"Chapter 1 compared with Chapter 23: 0.0756684652630457\n",
"Chapter 1 compared with Chapter 24: 0.08377581486471533\n",
"Chapter 1 compared with Chapter 25: 0.14170246040943224\n",
"Chapter 1 compared with Chapter 26: 0.11836418402559097\n",
"Chapter 1 compared with Chapter 27: 0.14009522547690523\n",
"Chapter 1 compared with Chapter 28: 0.1223561277818809\n",
"Chapter 1 compared with Chapter 29: 0.14196529604060332\n",
"Chapter 1 compared with Chapter 30: 0.11844822380948294\n",
"Chapter 1 compared with Chapter 31: 0.148310928452463\n",
"Chapter 1 compared with Chapter 32: 0.10351070286226384\n",
"Chapter 1 compared with Chapter 33: 0.1583970027819374\n",
"Chapter 1 compared with Chapter 34: 0.12659259320079624\n",
"Chapter 1 compared with Chapter 35: 0.10716079153691795\n",
"Chapter 1 compared with Chapter 36: 0.13182002566515372\n",
"Chapter 1 compared with Chapter 37: 0.15551167323506582\n",
"Chapter 1 compared with Chapter 38: 0.146943098213401\n",
"Chapter 1 compared with Chapter 39: 0.1422747154535331\n",
"Chapter 1 compared with Chapter 40: 0.15285160462324573\n",
"Chapter 1 compared with Chapter 41: 0.14855431114077017\n",
"Chapter 1 compared with Chapter 42: 0.11279654739055235\n",
"Chapter 1 compared with Chapter 43: 0.11419693043187513\n",
"Chapter 1 compared with Chapter 44: 0.11477252203962046\n",
"Chapter 1 compared with Chapter 45: 0.05078612722539055\n",
"Chapter 1 compared with Chapter 46: 0.07748946744645463\n",
"Chapter 1 compared with Chapter 47: 0.07787994547747625\n",
"Chapter 1 compared with Chapter 48: 0.09414255780189695\n",
"Chapter 1 compared with Chapter 49: 0.11339519135450278\n",
"Chapter 1 compared with Chapter 50: 0.12086675824979345\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# this will take some time (~1 min)\n",
"ch1_sims = [docsim(0,i) for i in range(1, len(daf[1:])+1)] # remove the first chapter"
],
"metadata": {
"id": "APBAepvhIlV_"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# plotting\n",
"# similarity goes down over the whole book, as we might expect\n",
"plt.plot(ch1_sims)\n",
"plt.title('Chapter 1 similarity')\n",
"plt.xlabel('Chapter')\n",
"plt.ylabel('Similarity')\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 472
},
"id": "syq9kQwWO1Ea",
"outputId": "037ea29f-d57a-4ec6-adb6-ef55289e55cd"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADFrklEQVR4nOy9eZgcZdX+f1evsy/JZCb7HsKSBUgghsWwRAKyCiLwoiwqKBAU84oSX01Q/L1BRL6AIijK4gsIgguLEoRAgkAIawgQAiQkJCSZLJPMPtNr/f7ofqqe56mnqqv3nunzua5cmemuqa6urq6665z7nKPpuq6DIAiCIAiijPAUewMIgiAIgiAKDQkggiAIgiDKDhJABEEQBEGUHSSACIIgCIIoO0gAEQRBEARRdpAAIgiCIAii7CABRBAEQRBE2UECiCAIgiCIsoMEEEEQBEEQZQcJIIIY5GiahoULFxZ7MwYNK1euhKZpWLlyZc7Wed9990HTNGzZssV47LjjjsNxxx2Xs9cAgC1btkDTNNx33305XS9BDERIABHEAGXTpk341re+hYkTJ6KiogJ1dXU4+uijcdttt6Gvr6/YmwcA+O1vf1vwi+2///1vfOMb38C0adPg9Xoxfvz4gr7+QONf//oXrr/++mJvBkEUHI1mgRHEwOOf//wnzj33XASDQVx00UWYNm0awuEwXnrpJfz1r3/FJZdcgt///vcAEhGgq666Cr/5zW8Kvp3Tpk1DU1NTTqMlqbjkkkvwyCOP4PDDD8fWrVvh9XqFyEq2xONxhMNhBAIBeDy5uYeMxWKIRCIIBoPQNA0AjOhPLvedrusIhULw+/3wer0AgIULF+KOO+4AXQqIcsNX7A0gCCI9Nm/ejPPPPx/jxo3D888/jxEjRhjPXXXVVdi4cSP++c9/FnEL80s0GkU8HkcgEFA+/7//+7+4++674ff7cdppp+G9997L6et7PB5UVFTkdJ1er9cQJPmA32e53naCGKhQCowgBhg33XQTuru78cc//lEQP4zJkyfju9/9ruXxf/zjH5g2bRqCwSAOOeQQLF++XHj+008/xZVXXompU6eisrISQ4cOxbnnnmuJnjC/yosvvohvfetbGDp0KOrq6nDRRRdh//79xnLjx4/H+++/j1WrVkHTNGiaJnha2tvbcc0112DMmDEIBoOYPHkyfvGLXyAejxvLMM/KzTffjFtvvRWTJk1CMBjE+vXrbffPyJEj4ff7U+1GWx5++GHMmjULtbW1qKurw/Tp03HbbbcZz6s8QMcddxymTZuGdevWYd68eaiqqsLkyZPx2GOPAQBWrVqFOXPmoLKyElOnTsVzzz0nvKbKAyQTDoexZMkSzJo1C/X19aiursaxxx6LF154QVjOaZ/JHqBLLrkEd9xxBwAYn5GmadB1HePHj8eZZ55p2Y7+/n7U19fjW9/6Vjq7lSBKDooAEcQA48knn8TEiRNx1FFHuf6bl156CX/7299w5ZVXora2FrfffjvOOeccbN26FUOHDgUAvP7663jllVdw/vnnY/To0diyZQvuvPNOHHfccVi/fj2qqqqEdS5cuBANDQ24/vrr8eGHH+LOO+/Ep59+agiEW2+9FVdffTVqamrwP//zPwCAlpYWAEBvby/mzZuH7du341vf+hbGjh2LV155BYsXL8bOnTtx6623Cq917733or+/H5dffjmCwSCGDBmSxR6059lnn8UFF1yAE088Eb/4xS8AAB988AFefvllpajk2b9/P0477TScf/75OPfcc3HnnXfi/PPPx4MPPohrrrkG3/72t/Ff//Vf+OUvf4kvf/nL2LZtG2pra11vW2dnJ/7whz/gggsuwGWXXYauri788Y9/xIIFC/Daa6/h0EMPFZZX7TNeXALAt771LezYsQPPPvss/u///s94XNM0fPWrX8VNN92Effv2Cfv7ySefRGdnJ7761a+63naCKEl0giAGDB0dHToA/cwzz3T9NwD0QCCgb9y40XjsnXfe0QHov/71r43Hent7LX+7evVqHYD+pz/9yXjs3nvv1QHos2bN0sPhsPH4TTfdpAPQH3/8ceOxQw45RJ83b55lvTfccINeXV2tf/TRR8Lj1113ne71evWtW7fquq7rmzdv1gHodXV1+u7du12/Z8app56qjxs3zvXy3/3ud/W6ujo9Go3aLvPCCy/oAPQXXnjBeGzevHk6AP2hhx4yHtuwYYMOQPd4PPqrr75qPP7MM8/oAPR7773XeIzt082bNwvr5PddNBrVQ6GQsC379+/XW1pa9K9//evGY077jD3Hv/ZVV12lqy4FH374oQ5Av/POO4XHzzjjDH38+PF6PB5X7h+CGChQCowgBhCdnZ0AkFbkAADmz5+PSZMmGb/PmDEDdXV1+OSTT4zHKisrjZ8jkQja2towefJkNDQ04K233rKs8/LLLxdSTVdccQV8Ph/+9a9/pdyeRx99FMceeywaGxuxd+9e49/8+fMRi8Xw4osvCsufc845GDZsWFrvORMaGhrQ09ODZ599Nu2/rampwfnnn2/8PnXqVDQ0NOCggw7CnDlzjMfZz/y+d4PX6zV8T/F4HPv27UM0GsXs2bOVn0+2++yAAw7AnDlz8OCDDxqP7du3D08//TQuvPBCw6xNEAMVEkAEMYCoq6sDAHR1daX1d2PHjrU81tjYKHh2+vr6sGTJEsOT09TUhGHDhqG9vR0dHR2Wv58yZYrwe01NDUaMGOGq4urjjz/G8uXLMWzYMOHf/PnzAQC7d+8Wlp8wYYKbt5k1V155JQ444ACccsopGD16NL7+9a9bvFJ2jB492iIK6uvrMWbMGMtjAIR975b7778fM2bMQEVFBYYOHYphw4bhn//8p/LzycU+u+iii/Dyyy/j008/BZAQrpFIBF/72teyXjdBFBvyABHEAKKurg4jR45Mu7LJrsJI50qfr776atx777245pprMHfuXNTX10PTNJx//vkW70i2xONxfOELX8APfvAD5fMHHHCA8Dsfnconzc3NWLt2LZ555hk8/fTTePrpp3Hvvffioosuwv333+/4t3b72M2+d8MDDzyASy65BGeddRauvfZaNDc3w+v1YtmyZdi0aZNl+Vzss/PPPx/f+9738OCDD+JHP/oRHnjgAcyePRtTp07Net0EUWxIABHEAOO0007D73//e6xevRpz587N2Xofe+wxXHzxxfjVr35lPNbf34/29nbl8h9//DGOP/544/fu7m7s3LkTX/ziF43H7NIkkyZNQnd3txHxKSUCgQBOP/10nH766YjH47jyyivxu9/9Dj/5yU8wefLkom3XY489hokTJ+Jvf/ubsF+XLl2a1XqdUllDhgzBqaeeigcffBAXXnghXn75ZYtBnSAGKpQCI4gBxg9+8ANUV1fjm9/8Jnbt2mV5ftOmTULZtlu8Xq8lKvHrX/8asVhMufzvf/97RCIR4/c777wT0WgUp5xyivFYdXW1UkB95StfwerVq/HMM89Ynmtvb0c0Gk17+3NBW1ub8LvH48GMGTMAAKFQqBibZMAiSfxntGbNGqxevTqr9VZXVwOArdD92te+hvXr1+Paa6+F1+sV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fwAmTJiA4cOHC/uns7MTa9asMfbP3Llz0d7ejjfffNNY5vnnn0c8HjdOyOXOZ599hra2NowYMQJA+e0zXdexcOFC/P3vf8fzzz+PCRMmCM+7+R7OnTsX7777riAcn332WdTV1eHggw8uzBspIKn2mYq1a9cCgHCcldM+UxGPxxEKhQp/jOXCwU2k5uGHH9aDwaB+33336evXr9cvv/xyvaGhQXCylzP//d//ra9cuVLfvHmz/vLLL+vz58/Xm5qa9N27d+u6ruvf/va39bFjx+rPP/+8/sYbb+hz587V586dW+StLhxdXV3622+/rb/99ts6AP2WW27R3377bf3TTz/VdV3Xb7zxRr2hoUF//PHH9XXr1ulnnnmmPmHCBL2vr89Yx8knn6wfdthh+po1a/SXXnpJnzJlin7BBRcU6y3lHad91tXVpX//+9/XV69erW/evFl/7rnn9MMPP1yfMmWK3t/fb6yjnPbZFVdcodfX1+srV67Ud+7cafzr7e01lkn1PYxGo/q0adP0k046SV+7dq2+fPlyfdiwYfrixYuL8ZbyTqp9tnHjRv1nP/uZ/sYbb+ibN2/WH3/8cX3ixIn65z//eWMd5bbPrrvuOn3VqlX65s2b9XXr1unXXXedrmma/u9//1vX9cIeYySACsivf/1rfezYsXogENCPPPJI/dVXXy32JpUM5513nj5ixAg9EAjoo0aN0s877zx948aNxvN9fX36lVdeqTc2NupVVVX6l770JX3nzp1F3OLC8sILL+gALP8uvvhiXdcTpfA/+clP9JaWFj0YDOonnnii/uGHHwrraGtr0y+44AK9pqZGr6ur0y+99FK9q6urCO+mMDjts97eXv2kk07Shw0bpvv9fn3cuHH6ZZddZrkhKad9ptpXAPR7773XWMbN93DLli36KaecoldWVupNTU36f//3f+uRSKTA76YwpNpnW7du1T//+c/rQ4YM0YPBoD558mT92muv1Ts6OoT1lNM++/rXv66PGzdODwQC+rBhw/QTTzzRED+6XthjTNN1XU8vZkQQBEEQBDGwIQ8QQRAEQRBlBwkggiAIgiDKDhJABEEQBEGUHSSACIIgCIIoO0gAEQRBEARRdpAAIgiCIAii7CABRBAEQRBE2UECiCCIAYWmafjHP/5R7M0gCGKAQwKIIIiSorW1FVdffTUmTpyIYDCIMWPG4PTTTxfmAxWC4447Dtdcc01BX5MgiMLhK/YGEARBMLZs2YKjjz4aDQ0N+OUvf4np06cjEongmWeewVVXXYUNGzYUexPTJhwOIxAIFHszCIKQoAgQQRAlw5VXXglN0/Daa6/hnHPOwQEHHIBDDjkEixYtwquvvmost3fvXnzpS19CVVUVpkyZgieeeMJ4LhaL4Rvf+AYmTJiAyspKTJ06Ff9/e/cX0lQfx3H8fSqFdIkMJRIlCdaFqGWBsi7sHykFhSRMJEQjImlSgrsK+zO6iuhiwbCroKui0MvaLkS7GDgmwiKUioHoxTDW2MVEGGyni4fnwFiFz1MPred8Xlfn9+d8z865OHx2zg9OIBAoOs7IyAh9fX34/X7q6+upqalhdHSUXC5njb99+5ZAIIBhGBiGwerqKgDv37/n7NmzOBwO9u7dy9DQEKlUyqp94sQJxsbGGB8fp66ujt7e3v/wionIv6UAJCJlIZ1OEwqF8Hq9VFdXl4zX1tZa236/H4/Hw7t37zh37hyXLl0inU4DUCgUaGxs5NWrVywvL3Pnzh1u3brFy5cvi+rNzs6ysrLC/Pw8z58/Z2ZmBr/fD0AgEMDtdnP16lWSySTJZJKmpiYymQynTp2io6ODxcVFQqEQGxsbeDyeotrPnj2jsrKSSCTCkydPfvGVEpFf4ic/7Coi8ktEo1ETMGdmZn44DzAnJyetdjabNQHzzZs3393H6/Wa/f39Vnt4eNh0Op3m5uam1Tc1NWU6HA4zn8+bpmmax48fN2/evFlU5/79+2ZPT09R3/r6ugmYHz58sPbr6Oj48cmKyG+nNUAiUhZM09z23Pb2dmu7urqampoaPn/+bPUFg0GePn3K2toaW1tb5HI5Dh8+XFTj0KFDVFVVWW232002m2V9fZ39+/d/87jxeJy5uTkcDkfJWCKR4ODBgwAcPXp02+ciIr+HApCIlAWXy4VhGNta6FxRUVHUNgyDQqEAwIsXL/D5fDx69Ai3282ePXt4+PAh0Wj0p39jNpvl/PnzPHjwoGRs37591va3XuGJSHlRABKRsuB0Ount7SUYDHLjxo2SEJHJZIrWAX1PJBLh2LFjXL9+3epLJBIl8+LxOFtbW+zevRuAhYUFHA4HTU1NAFRWVpLP54v2OXLkCNPT0zQ3N7Nrl26fIn8yLYIWkbIRDAbJ5/N0dnYyPT3Np0+fWFlZ4fHjx7jd7m3VcLlcLC4uEg6H+fjxI7dv3yYWi5XMy+VyXLlyheXlZV6/fs3du3cZGxtjx46/bovNzc1Eo1FWV1dJpVIUCgW8Xi/pdJrBwUFisRiJRIJwOMzly5dLwpKIlDcFIBEpGwcOHGBpaYmTJ08yMTFBa2srZ86cYXZ2lqmpqW3VuHbtGhcvXmRgYICuri6+fPlS9DTob6dPn8blctHd3c3AwAAXLlzg3r171rjP52Pnzp20tLRQX1/P2toaDQ0NRCIR8vk8PT09tLW1MT4+Tm1trRWcROTPYJj/ZOWhiMj/wMjICJlMRp/UELEx/WURERER21EAEhEREdvRKzARERGxHT0BEhEREdtRABIRERHbUQASERER21EAEhEREdtRABIRERHbUQASERER21EAEhEREdtRABIRERHbUQASERER2/kK1SpvWVFPxZQAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"from sklearn.linear_model import LinearRegression\n",
"x = np.array(range(1, len(daf[1:])+1))\n",
"y = np.array(ch1_sims)\n",
"X = x[:, np.newaxis] # add bias term\n",
"reg = LinearRegression().fit(X, ch1_sims)\n",
"r = reg.score(X, y)\n",
"m = reg.coef_[0]\n",
"b = reg.intercept_"
],
"metadata": {
"id": "hbiAOdyLP17P"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# plot with regression line\n",
"plt.scatter(x, ch1_sims)\n",
"plt.plot(m*X+b, label=f'$y={round(m,4)}x + {round(b,4)}$ with $r = {round(r,4)}$', color='red')\n",
"plt.title('Chapter 1 similarity')\n",
"plt.xlabel('Chapter')\n",
"plt.ylabel('Similarity')\n",
"plt.legend(fontsize=9)\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 472
},
"id": "qqGOQRvcRAKr",
"outputId": "7ef791ac-0a8f-427e-c54d-0ef654195973"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACOS0lEQVR4nO3deXwT1fo/8E8SutAtbSltWraWlq2UUlqg9KKCUARkFa8CbsD14gL4VbguoELhh/ciiooKgit4LwKKKwoW2RUsIC0F2iLS2lKEpoWW7ivN/P4ICUmbZWYyyUyS5/165QVNJpOTySzPnPOcc2QMwzAghBBCCHEjcrELQAghhBDiaBQAEUIIIcTtUABECCGEELdDARAhhBBC3A4FQIQQQghxOxQAEUIIIcTtUABECCGEELdDARAhhBBC3A4FQIQQQghxOxQAEeLiZDIZFixYIHYxXMahQ4cgk8lw6NAhwda5efNmyGQyFBUV6Z8bOXIkRo4cKdhnAEBRURFkMhk2b94s6HoJcUYUABHipAoKCvD444+jZ8+e8Pb2RkBAAIYPH463334bDQ0NYhcPAPDee+85/GL7008/4dFHH0VcXBwUCgUiIyMd+vnOZvfu3Vi+fLnYxSDE4WQ0FxghzmfXrl2477774OXlhUceeQRxcXFobm7GkSNH8NVXX2H27Nn44IMPAGhrgObPn49169Y5vJxxcXEICQkRtLbEmtmzZ+Pzzz9HYmIiiouLoVAojGpWbKXRaNDc3AxPT0/I5cLcQ7a2tqKlpQVeXl6QyWQAoK/9EXLbMQyDpqYmeHh4QKFQAAAWLFiA9evXgy4FxN10ELsAhBBuCgsLMWPGDPTo0QMHDhxAeHi4/rX58+cjPz8fu3btErGE9nXjxg1oNBp4enqafP0///kPPvzwQ3h4eGDixInIyckR9PPlcjm8vb0FXadCodAHJPZguM2ELjshzoqawAhxMq+99hpqa2vx8ccfGwU/OjExMXj66afbPf/tt98iLi4OXl5e6N+/P9LT041ev3jxIubNm4c+ffqgY8eO6NSpE+677752tSe6fJWff/4Zjz/+ODp16oSAgAA88sgjuH79un65yMhI5Obm4vDhw5DJZJDJZEY5LZWVlXjmmWfQrVs3eHl5ISYmBqtXr4ZGo9Evo8tZWbNmDdauXYvo6Gh4eXkhLy/P7PaJiIiAh4eHtc1o1vbt25GUlAR/f38EBARgwIABePvtt/Wvm8oBGjlyJOLi4nDmzBmMGDECPj4+iImJwZdffgkAOHz4MJKTk9GxY0f06dMH+/btM/pMUzlAbTU3N2PZsmVISkqCUqmEr68vbr/9dhw8eNBoOUvbrG0O0OzZs7F+/XoA0P9GMpkMDMMgMjISU6ZMaVeOxsZGKJVKPP7441w2KyGSQzVAhDiZ77//Hj179sTf/vY31u85cuQIvv76a8ybNw/+/v545513cO+996K4uBidOnUCAPz222/49ddfMWPGDHTt2hVFRUXYsGEDRo4ciby8PPj4+Bitc8GCBQgMDMTy5ctx/vx5bNiwARcvXtQHCGvXrsVTTz0FPz8/vPTSSwCAsLAwAEB9fT1GjBiBy5cv4/HHH0f37t3x66+/YsmSJSgpKcHatWuNPmvTpk1obGzEY489Bi8vLwQHB9uwBc3bu3cvZs6cidGjR2P16tUAgHPnzuHo0aMmg0pD169fx8SJEzFjxgzcd9992LBhA2bMmIHPPvsMzzzzDJ544gk88MADeP311/H3v/8dly5dgr+/P+uyVVdX46OPPsLMmTMxd+5c1NTU4OOPP8bYsWNx4sQJJCQkGC1vapsZBpcA8Pjjj+PKlSvYu3cv/ve//+mfl8lkeOihh/Daa6+hoqLCaHt///33qK6uxkMPPcS67IRIEkMIcRpVVVUMAGbKlCms3wOA8fT0ZPLz8/XPnT59mgHAvPvuu/rn6uvr2703IyODAcD897//1T+3adMmBgCTlJTENDc3659/7bXXGADMd999p3+uf//+zIgRI9qtd+XKlYyvry/zxx9/GD2/ePFiRqFQMMXFxQzDMExhYSEDgAkICGDKyspYf2edCRMmMD169GC9/NNPP80EBAQwN27cMLvMwYMHGQDMwYMH9c+NGDGCAcBs3bpV/9zvv//OAGDkcjlz7Ngx/fN79uxhADCbNm3SP6fbpoWFhUbrNNx2N27cYJqamozKcv36dSYsLIz5xz/+oX/O0jbTvWb42fPnz2dMXQrOnz/PAGA2bNhg9PzkyZOZyMhIRqPRmNw+hDgLagIjxIlUV1cDAKeaAwBITU1FdHS0/u/4+HgEBATgzz//1D/XsWNH/f9bWlpQXl6OmJgYBAYGIisrq906H3vsMaOmpieffBIdOnTA7t27rZZnx44duP322xEUFIRr167pH6mpqWhtbcXPP/9stPy9996Lzp07c/rOfAQGBqKurg579+7l/F4/Pz/MmDFD/3efPn0QGBiIfv36ITk5Wf+87v+G254NhUKhz3vSaDSoqKjAjRs3MHjwYJO/j63brHfv3khOTsZnn32mf66iogI//vgjHnzwQX2yNiHOigIgQpxIQEAAAKCmpobT+7p3797uuaCgIKOcnYaGBixbtkyfkxMSEoLOnTujsrISVVVV7d7fq1cvo7/9/PwQHh7OqsfVhQsXkJ6ejs6dOxs9UlNTAQBlZWVGy0dFRbH5mjabN28eevfujfHjx6Nr1674xz/+0S5XypyuXbu2CwqUSiW6devW7jkARtuerU8//RTx8fHw9vZGp06d0LlzZ+zatcvk7yPENnvkkUdw9OhRXLx4EYA2cG1pacHDDz9s87oJERvlABHiRAICAhAREcG5Z5O5HkaMQdfnp556Cps2bcIzzzyDlJQUKJVKyGQyzJgxo13uiK00Gg3GjBmD559/3uTrvXv3NvrbsHbKnkJDQ5GdnY09e/bgxx9/xI8//ohNmzbhkUcewaeffmrxvea2MZttz8aWLVswe/ZsTJ06Fc899xxCQ0OhUCiwatUqFBQUtFteiG02Y8YMLFy4EJ999hlefPFFbNmyBYMHD0afPn1sXjchYqMAiBAnM3HiRHzwwQfIyMhASkqKYOv98ssvMWvWLLzxxhv65xobG1FZWWly+QsXLuDOO+/U/11bW4uSkhLcfffd+ufMNZNER0ejtrZWX+MjJZ6enpg0aRImTZoEjUaDefPm4f3338fSpUsRExMjWrm+/PJL9OzZE19//bXRdk1LS7NpvZaasoKDgzFhwgR89tlnePDBB3H06NF2CeqEOCtqAiPEyTz//PPw9fXFP//5T5SWlrZ7vaCgwKjbNlsKhaJdrcS7776L1tZWk8t/8MEHaGlp0f+9YcMG3LhxA+PHj9c/5+vrazKAuv/++5GRkYE9e/a0e62yshI3btzgXH4hlJeXG/0tl8sRHx8PAGhqahKjSHq6miTD3+j48ePIyMiwab2+vr4AYDbQffjhh5GXl4fnnnsOCoXCKM+JEGdGNUCEOJno6Ghs3boV06dPR79+/YxGgv7111+xY8cOzJ49m/N6J06ciP/9739QKpWIjY1FRkYG9u3bp+8m31ZzczNGjx6N+++/H+fPn8d7772H2267DZMnT9Yvk5SUhA0bNuCVV15BTEwMQkNDMWrUKDz33HPYuXMnJk6ciNmzZyMpKQl1dXU4e/YsvvzySxQVFSEkJITX9jlz5gx27twJAMjPz0dVVRVeeeUVAMDAgQMxadIks+/95z//iYqKCowaNQpdu3bFxYsX8e677yIhIQH9+vXjVR6hTJw4EV9//TXuueceTJgwAYWFhdi4cSNiY2NRW1vLe71JSUkAgP/7v//D2LFj2wU5EyZMQKdOnbBjxw6MHz8eoaGhNn8XQqSAAiBCnNDkyZNx5swZvP766/juu++wYcMGeHl5IT4+Hm+88Qbmzp3LeZ1vv/02FAoFPvvsMzQ2NmL48OHYt28fxo4da3L5devW4bPPPsOyZcvQ0tKCmTNn4p133jFqUlm2bBkuXryI1157DTU1NRgxYgRGjRoFHx8fHD58GP/5z3+wY8cO/Pe//0VAQAB69+6NFStW6BOF+cjKysLSpUuNntP9PWvWLIsB0EMPPYQPPvgA7733HiorK6FSqTB9+nQsX75csGkv+Jo9ezbUajXef/997NmzB7GxsdiyZQt27Nhh03QZ06ZNw1NPPYXt27djy5YtYBjGKADy9PTE9OnT8d5771HyM3EpNBcYIYSTzZs3Y86cOfjtt98wePBgsYtDHGDhwoX4+OOPoVar2w2ISYizohwgQgghZjU2NmLLli249957KfghLoWawAghhLRTVlaGffv24csvv0R5ebnVqUAIcTYUABFCCGknLy8PDz74IEJDQ/HOO++0m2uMEGdHOUCEEEIIcTuUA0QIIYQQt0MBECGEEELcDuUAmaDRaHDlyhX4+/vTjMeEEEKIk2AYBjU1NYiIiLA6dhcFQCZcuXKl3QzOhBBCCHEOly5dQteuXS0uQwGQCf7+/gC0GzAgIEDk0hBCCCGEjerqanTr1k1/HbeEAiATdM1eAQEBFAARQgghToZN+golQRNCCCHE7VAARAghhBC3Q01ghBBOWltb0dLSInYxCCFuysPDAwqFwub1UABECGGFYRio1WpUVlaKXRRCiJsLDAyESqWyaagaCoAIIazogp/Q0FD4+PjQGFmEEIdjGAb19fUoKysDAISHh/NeFwVAhBCrWltb9cFPp06dxC4OIcSNdezYEQBQVlaG0NBQ3s1hlARNCLFKl/Pj4+MjckkIIeTWuciWfEQKgAghrFGzFyFECoQ4F1EARAghhBC3QzlAEtaqYXCisAJlNY0I9ffG0KhgKOR0B04IIYTYigIgiUrPKcGK7/NQUtWofy5c6Y20SbEYF8c/650QQggh1AQmSek5JXhyS5ZR8AMA6qpGPLklC+k5JSKVjBBCCBv9+/fHDz/8YHGZyMhIfPvtt44pEGmHAiCJadUwWPF9HhgTr+meW/F9Hlo1ppYghEhVS0sLFixYgKCgIAQHB+Opp57CjRs3eC9vy+tNTU2YO3cuoqKi4O/vj759++KTTz6x35fn8L3aWrduHQYPHgwvLy9MnTqV8+sFBQUYP348goKC0KVLF7z22mtGr/v5+Rk9PDw8EB8fb+vXRG5uLiZOnKj/W4rBDtvfgsv+0tDQgJiYGAQGBnJ6v71+B0soAJKYE4UV7Wp+DDEASqoacaKwwnGFIoTY7JVXXsGRI0eQl5eH3Nxc/PLLL/jPf/7De3lbXr9x4wbCw8Oxb98+VFdXY/PmzfjXv/6Fn376iff3O3ToEEaOHCn4doiIiMDLL7+MuXPncn69tbUVkydPRmJiIsrKynDgwAGsW7cOW7du1S9TW1tr9OjXrx9mzJhh/QtLgKXAkQ22vwWX/WXZsmXo0aMH5/eL8jswpJ2qqioGAFNVVeXwz/721F9Mjxd+sPr49tRfDi8bcV8NDQ1MXl4e09DQoH1Co2GY2lrHPTQaVuVsbGxkPD09maysLP1z9fX1TLdu3ZiDBw/aYcuw17VrV2bHjh36v7/44gume/fuvJe39fW27rnnHmbp0qX6v1955RUmMTFR//dXX33FREREMPn5+Sbff/DgQWbEiBFm18+3XDppaWnMlClTOL2em5vLKBQKpqmpSf/c8uXLzZbz+PHjjEKhYC5fvmzy9e3btzPJycn6v6dNm8aoVCr934sWLWIWLFjAMAzD9OjRg/nmm28YhmGYv//974xMJmO8vb0ZX19f5vHHH9cvs3r1aiY5OZnx8/Nj7rjjDqa4uNjsd/z666+ZAQMGMC+99BITHh7O3HPPPWaXZYPvb8Ew7fcXhmGYkydPMnFxccyePXsYpVLJ+f061n4HhjFxTrqJy/WbaoAkJtTfW9DlCLGL+nrAz89xj/p6VsXy8vJCQkICTp48qX9uzZo1GDRoULvaiXnz5iEwMNDs48iRI4JtruvXr+Ovv/5CQkKC/rmEhAQUFxejqqqK8/K2vt5WY2MjTpw4YdTksHDhQpSUlODrr7/Gzz//jHnz5mHXrl2Ijo522HawlUajAaCdPsHwuTNnzphc/uOPP8b48eMRERFh8vWRI0ciMzMTNTU1YBgGR44cgbe3N86dOwcAOHDgAEaNGtXufTt27ED37t2xbds21NbWYuPGjfrXtmzZgm3btuHq1avw9fXF0qVLzX6fU6dO4ffff0f37t1RVFSEbdu26V/juj/b8luY2l9u3LiBuXPnYv369fD09OT8fkPWfgehUAAkMUOjghGu9Ia5zu4yaHuDDY0KdmSxCHEaycnJyMzMBACUlJTgzTffbJf3AQDvvfceKisrzT5uu+02s58xceJEyGQys4+ioiKj5WtrawHAKC9C9/+ampp267e2vK2vG2IYBv/85z/Rq1cvTJs2Tf+8j48PVqxYgeeffx7Tp0/H559/bnSx5IPrdrBVnz59EBkZiWXLlqGpqQm5ubn45JNPUF1d3W7Zuro6bN++Hf/85z/Nri8sLAy9e/fGL7/8guzsbPTo0QMTJ07EwYMHUVFRgZycHFbNgIbmzZuHqKgoeHt748EHH9Tvu6acOnUKc+bMwWOPPQZPT094eXnpX+O6P/P9LcztL6+//joGDRqEO+64w+L3Nfd+HTa/g1CoG7zEKOQypE2KxZNbsiADjJKhdUFR2qRYGg+IiMvHB7h5AnXY57GUnJyMt956CwDw8ssv46GHHkKfPn0ELc7WrVvR3Nxs9vXgYOMbFD8/PwBAVVUVQkJC9P8HAH9//3bvt7a8rmaD7+s6DMNg3rx5OH/+PPbt2we53PieODExEQUFBVi8eDFGjBjRrpzz5s3T59PcuHEDjY2NRhfUH374wejCy3U72MrDwwPfffcdFi5ciC5duqBr166YM2cO3n///XbL7tixAz4+PpgwYYLFdd555504ePAgVCoV7rzzTqSkpOCzzz5DWFgY4uPjERQUxKmMKpVK/39fX1+LwcepU6ewcOFCTus3h89vYW5/yc/Px8aNG3Hq1CmLn2ltfwPY/w5CoBogCRoXF44NDyVCpTRu5lIpvbHhoUQaB4iITyYDfH0d9+Aw7H1ycjLOnj2LEydO4Ntvv0VaWprJ5Z544ol2PU8MH7/88ovZzwgICEBISIjZR9sTe1BQELp27Yrs7Gz9c9nZ2ejWrRuUSmW79Vtb3tbXAe3FaP78+Th+/Dh++umnduUoKCjAlClTMH/+fPzvf/9DQ0NDu3Ia1jrogh1LtQ5ct4MQ+vfvj59++gnXrl1DdnY2mpqaTAZzH330EWbNmoUOHSzXC+gCIF1z18iRI/HLL79g//79uPPOO82+z9TFnourV6/iypUrGDx4sMnXue7PXH8LS/vLkSNHUFpait69eyMkJARTpkxBdXU1QkJCcPz4cavvN8T2dxCE1SwhNyRmErShG60a5tf8a8y3p/5ifs2/xtxoZZcISojQzCUcSlWnTp2YyMhI5rXXXhO7KHpLly5lBg0axJSUlDAlJSXMoEGDmBUrVvBe3tbX582bx8THxzPXrl1r99lqtZqJjo5mPvroI4ZhGCY5OZlZtWqVxe/HNgma63ZoaWlhGhoamJdeeomZNGkS09DQYJTUbO3106dPM7W1tUxTUxPz1VdfMSEhIczp06eNPuP3339nZDIZ88cff1gt/9WrV5kOHTowQUFBTG1tLcMwDJOUlMQEBAQwu3bt0i9nmATNMAwzbNgwZs2aNUbrarvMN998w/To0cPk5+7Zs4eJiYmxWj4uuPwWlvaXuro65tKlS/rHF198wQQEBDCXLl3S/xaW3q/D5XcQIgmaAiATpBIAESIVzhYA3X333UxkZCTT2NgodlH0mpubmXnz5jGBgYFMYGAgs2DBAqalpUX/+uOPP67vHcRmeVteLyoqYgAwXl5ejK+vr/7x+OOPM1VVVUxCQgLzyiuv6Ne1b98+JjAwkCkvLzf7/dgGQFy3Q1paGgNtNoD+Yfg51l5/6aWXmODgYMbHx4dJSUlhjhw50q5Mzz33HHPHHXdYLbtOfHw8M3z4cP3fzz//PNOhQwempqZG/1zb4Gbnzp1MZGQko1QqmSeffNLkMpYCoFdffZW5//77WZeRDba/haX9xZSDBw8a9QJj+34uv4MQAZCMYRjGRMWQW6uuroZSqURVVRUCAgLELg4homtsbERhYaE+WVPKNBoNBg0ahBdffBHTp08XuziEEDswd07icv2mHCBCiEt54403EBgYSMEPIcQiSQRA69evR2RkJLy9vZGcnIwTJ06YXfbDDz/E7bffjqCgIAQFBSE1NbXd8rNnz27XLXXcuHH2/hqEEBGdPHkSSqUSO3bswJYtW8QuDiFE4kQPgD7//HMsWrQIaWlpyMrKwsCBAzF27FiUlZWZXP7QoUOYOXMmDh48iIyMDHTr1g133XUXLl++bLTcuHHjUFJSon8YDhhFCHE9gwcPRlVVFU6cOIFu3bqJXRxCiMSJHgC9+eabmDt3LubMmYPY2Fhs3LgRPj4+Zida++yzzzBv3jwkJCSgb9+++Oijj6DRaLB//36j5by8vKBSqfQPrmMzEEIIIcR1iRoANTc3IzMzE6mpqfrn5HI5UlNTkZGRwWod9fX1aGlpaTfw2KFDhxAaGoo+ffrgySefRHl5udl1NDU1obq62uhBCCGEENclagB07do1tLa2IiwszOj5sLAwqNVqVut44YUXEBERYRREjRs3Dv/973+xf/9+rF69GocPH8b48ePR2tpqch2rVq2CUqnUP6j6nBBCCHFtTj0Vxquvvort27fj0KFDRt3gZsyYof//gAEDEB8fj+joaBw6dAijR49ut54lS5Zg0aJF+r+rq6spCCLEBN0UC4QQIiYhzkWiBkAhISFQKBQoLS01er60tNRofhRT1qxZg1dffRX79u0zO6OsTs+ePRESEoL8/HyTAZCXl5fRpHKEEGOenp6Qy+W4cuUKOnfuDE9PT8g4TE9BCCFCYBgGzc3NuHr1KuRyudWZ5y0RNQDy9PREUlIS9u/fj6lTpwKAPqF5wYIFZt/32muv4d///jf27Nljdl4UQ3/99RfKy8sRHk5zaBHCh1wuR1RUFEpKSnDlyhWxi0MIcXM+Pj7o3r27TXOsid4EtmjRIsyaNQuDBw/G0KFDsXbtWtTV1WHOnDkAgEceeQRdunTBqlWrAACrV6/GsmXLsHXrVkRGRupzhXQTvtXW1mLFihW49957oVKpUFBQgOeffx4xMTEYO3asaN+TEGfn6emJ7t2748aNG2bz6QghxN4UCgU6dOhgcy206AHQ9OnTcfXqVSxbtgxqtRoJCQlIT0/XJ0YXFxcbRXgbNmxAc3Mz/v73vxutJy0tDcuXL4dCocCZM2fw6aeforKyEhEREbjrrruwcuVKauYixEYymQweHh7w8PAQuyiEEGITmgvMBJoLjBBCCHE+NBcYIYQQQogFFAARQgghxO1QAEQIIYQQt0MBECGEEELcDgVAhBBCCHE7oneDJ+21ahicKKxAWU0jQv29MTQqGAo5jbpLCCGECIUCIIlJzynBiu/zUFLVqH8uXOmNtEmxGBdHI1kTQgghQqAmMAlJzynBk1uyjIIfAFBXNeLJLVlIzykRqWSEEEKIa6EASCJaNQxWfJ8HU6NS6p5b8X0eWjU0biUhhBBiKwqAJOJEYUW7mh9DDICSqkacKKxwXKEIIYQQF0UBkESU1ZgPfvgsRwghhBDzKACSiFB/b0GXI4QQQoh5FABJxNCoYIQrvWGus7sM2t5gQ6OCHVksQgghxCVRACQRCrkMaZNiAaBdEKT7O21SLI0HRAghhAiAAiAJGRcXjg0PJUKlNG7mUim9seGhRBoHiBBCCBEIDYQoMePiwjEmVkUjQRNCCCF2RAGQBCnkMqREdxK7GIQQQojLoiYwQgghhLgdCoAIIYQQ4nYoACKEEEKI26EAiBBCCCFuhwIgQgghhLgdCoAIIYQQ4nYoACKEEEKI26EAiBBCCCFuhwIgQgghhLgdCoAIIYQQ4nYoACKEEEKI26EAiBBCCCFuhwIgQgghhLgdCoAIIYQQ4nYoACKEEEKI26EAiBBCCCFup4PYBXBXrRoGJworUFbTiFB/bwyNCoZCLhO7WIQQQohboABIBOk5JVjxfR5Kqhr1z4UrvZE2KRbj4sJFLBkhhBDiHqgJzMHSc0rw5JYso+AHANRVjXhySxbSc0pEKhkhhBDiPigAcqBWDYPlO/PAmHhN99yK7/PQqjG1BCGEEEKEQgGQA607cAHq6kazrzMASqoacaKwwnGFIoQQQtwQBUAOkp5Tgrf2XWC1bFmN+SCJEEIIIbajAMgBWjUMVnyfx3r5UH9vO5aGEEIIIRQAOcCJwop2Sc/mhCu1XeIJIYQQYj8UADkAlyattEmxNB4QIYQQYmcUADkA2yatham9aRwgQgghxAEoAHKAoVHBCFd6w1K9jirACwtGxTisTIQQQog7owDIARRyGdImxQJAuyBIdvOxfHJ/avoihBBCHIQCIAcZFxeODQ8lQqU0bg5TKb2x4aFEavoihBBCHIjmAnOgcXHhGBOroklQCSGEEJFRAORgCrkMKdGdxC4GIYQQ4taoCYwQQgghbocCIEIIIYS4HQqACCGEEOJ2KAAihBBCiNuhAIgQQgghbocCIEIIIYS4HQqACCGEEOJ2KAAihBBCiNuhAIgQQgghbodGgnYhrRqGptkghBBCWKAAyEWk55Rgxfd5KKlq1D8XrvRG2qRYmmiVEEIIaUMSTWDr169HZGQkvL29kZycjBMnTphd9sMPP8Ttt9+OoKAgBAUFITU1td3yDMNg2bJlCA8PR8eOHZGamooLFy7Y+2uIJj2nBE9uyTIKfgBAXdWIJ7dkIT2nRKSSEUIIIdIkegD0+eefY9GiRUhLS0NWVhYGDhyIsWPHoqyszOTyhw4dwsyZM3Hw4EFkZGSgW7duuOuuu3D58mX9Mq+99hreeecdbNy4EcePH4evry/Gjh2LxsZGk+t0Zq0aBiu+zwNj4jXdcyu+z0OrxtQShBBCiHuSMQwj6pUxOTkZQ4YMwbp16wAAGo0G3bp1w1NPPYXFixdbfX9rayuCgoKwbt06PPLII2AYBhEREfjXv/6FZ599FgBQVVWFsLAwbN68GTNmzLC6zurqaiiVSlRVVSEgIMC2L2hnGQXlmPnhMavLbZs7jGahJ4QQ4tK4XL9FrQFqbm5GZmYmUlNT9c/J5XKkpqYiIyOD1Trq6+vR0tKC4OBgAEBhYSHUarXROpVKJZKTk1mv05mU1bCr1WK7HCGEEOIORE2CvnbtGlpbWxEWFmb0fFhYGH7//XdW63jhhRcQERGhD3jUarV+HW3XqXutraamJjQ1Nen/rq6uZv0dxBbq7y3ocoQQQog7ED0HyBavvvoqtm/fjm+++Qbe3vwv8KtWrYJSqdQ/unXrJmAp7WtoVDDCld4w19ldBm1vsKFRwY4sFiGEECJpogZAISEhUCgUKC0tNXq+tLQUKpXK4nvXrFmDV199FT/99BPi4+P1z+vex2WdS5YsQVVVlf5x6dIlPl9HFAq5DGmTYgGgXRCk+zttUiyNB0QIIYQYEDUA8vT0RFJSEvbv369/TqPRYP/+/UhJSTH7vtdeew0rV65Eeno6Bg8ebPRaVFQUVCqV0Tqrq6tx/Phxs+v08vJCQECA0cOZjIsLx4aHEqFSGteCqZTe2PBQIo0DRAghhLQh+kCIixYtwqxZszB48GAMHToUa9euRV1dHebMmQMAeOSRR9ClSxesWrUKALB69WosW7YMW7duRWRkpD6vx8/PD35+fpDJZHjmmWfwyiuvoFevXoiKisLSpUsRERGBqVOnivU17W5cXDjGxKpoJGhCCCGEBdEDoOnTp+Pq1atYtmwZ1Go1EhISkJ6erk9iLi4uhlx+q6Jqw4YNaG5uxt///nej9aSlpWH58uUAgOeffx51dXV47LHHUFlZidtuuw3p6ek25Qk5A4VcRl3dCSGEEBZEHwdIipxpHCBCCCGEaDnNOECEEEIIIWKgAIgQQgghbocCIEIIIYS4HQqACCGEEOJ2KAAihBBCiNuhAIgQQgghbocCIEIIIYS4HQqACCGEEOJ2KAAihBBCiNuhAIgQQgghbocCIEIIIYS4HQqACCGEEOJ2KAAihBBCiNuhAIgQQgghbocCIEIIIYS4HQqACCGEEOJ2KAAihBBCiNuhAIgQQgghbqeD2AUghBBn0aphcKKwAmU1jQj198bQqGAo5DKxi0UI4YECIEIIYSE9pwQrvs9DSVWj/rlwpTfSJsViXFy4iCUjhPBBTWCEEGJFek4JntySZRT8AIC6qhFPbslCek6JSCUjhPBFARAhhFjQqmGw4vs8MCZe0z234vs8tGpMLUEIkSoKgAghxIIThRXtan4MMQBKqhpxorDCcYUihNiMAiBCCLGgrMZ88MNnOUKINFAARAghFoT6ewu6HCFEGigAIoQQC4ZGBSNc6Q1znd1l0PYGGxoV7MhiEUJsRAEQIYRYoJDLkDYpFgDaBUG6v9MmxdJ4QIQ4GQqACCHEinFx4djwUCJUSuNmLpXSGxseSqRxgAhxQjQQIiGEsDAuLhxjYlU0EjQhLoICIEIIYUkhlyElupPYxSCECICawAghhBDidigAIoQQQojboQCIEEIIIW6HAiBCCCGEuB0KgAghhBDidigAIoQQQojboQCIEEIIIW6HxgFyUq0ahgZkI4QQQniiAMgJpeeUYMX3eSipatQ/F670RtqkWBqSnxBCCGGBmsCcTHpOCZ7ckmUU/ACAuqoRT27JQnpOiUglI4S4i1YNg4yCcnyXfRkZBeVo1TBiF4kQzqgGyIm0ahis+D4Ppk41DLQzU6/4Pg9jYlXUHEYIsQuqgSaugmqAnMiJwop2NT+GGAAlVY04UVjhuEIRQtwG1UATV0IBkBMpqzEf/BhSVzVQ9TQhRFDWaqABbQ00nW+Is6AmMCcS6u/NarmVu86hoq5Z/zdVTxNCbMWlBjolupPjCkYIT1QD5ESGRgUj0MfD6nKGwQ9A1dOEENuxrYFmuxwhYqMAyInszVOjsr6F8/uoepoQYiu2NdBslyNEbBQAOQld+ztflCBNCLHF0KhghCu9Ya5/qQza5vahUcGOLBYhvPEKgA4ePCh0OYgV1trf2bKleprG/iDEfSnkMqRNigWAdkGQ7u+0SbE0BAdxGrySoMeNG4euXbtizpw5mDVrFrp16yZ0uUgbQrWr862eprE/CCHj4sKx4aHEducCFZ0LiBOSMQzD+Tb+2rVr+N///odPP/0Uubm5GDVqFB599FFMnToVnp6e9iinQ1VXV0OpVKKqqgoBAQFiFwcAkFFQjpkfHuP9fhm0J6kjL4zifIemG/uj7Y6iW8uGhxLpxEeIG6G5CIlUcbl+82oCCwkJwcKFC5GdnY3jx4+jd+/emDdvHiIiIvB///d/OH36NK+CE/Ou1zXB0vlFBiDQxwMyCFs9TWN/EELaUshlSInuhCkJXZAS3YmCH+KUbE6CTkxMxJIlS7BgwQLU1tbik08+QVJSEm6//Xbk5uYKUUa3l55TgvlbT8FajPHqtAHY8FAiVErjZi6V0pt3LQ3bsT+OFZRTfhAhhBCnwXsgxJaWFnz33Xf45JNPsHfvXgwePBjr1q3DzJkzcfXqVbz88su47777kJfHv+cSsVwDoyOXAetm3gpwxsSqTFZP86m2Zpt7NH9rFiobbnXRp/wgQgghUsYrAHrqqaewbds2MAyDhx9+GK+99hri4uL0r/v6+mLNmjWIiIgQrKDuik3vLw0DBPneyr3SVU8b4pvEzDZp2jD4AW4Nvkj5QYQQQqSIVxNYXl4e3n33XVy5cgVr1641Cn50QkJCqLu8AIQYfdWWCQytjf1hDuUHEUIIkTJeAVBaWhruu+8+eHl5GT1/48YN/PzzzwCADh06YMSIEbaX0M3ZOvqqrUnMlsb+sEaXH7T5aCEFQYQQQiSFVwB05513oqKi/YjCVVVVuPPOO20uFLnF1tFXuUxgaI5u7I+2ydWBHa3PSwZoJ2e9bfUBmouMEBdEA6QSZ8UrB4hhGMhk7S/J5eXl8PX1tblQ7sxUonLapFg8uSULMsCoJsewezugHSuobYKzUBMYjosLb5dcrWEYPPjRcVbrp5wgQlwPDZBKnBmnAGjatGkAAJlMhtmzZxs1gbW2tuLMmTP429/+JmwJ3Yilk4ml0VcB4LbVB0y+T8gJDNsmV7dqGIQrvaGuarTYSw3QBm4yaJvbxsSqaNwQQpycuQFS6WaHOAtOTWBKpRJKpRIMw8Df31//t1KphEqlwmOPPYYtW7bYq6wuzVqiMgAceWEUts0dhrdnJGDb3GE48sIoALD4vut1TXabwJBrfhBNyEqIa6ABUokr4BQAbdq0CZs2bUJaWho+/vhj/d+bNm3C+++/jyVLliAkJIRTAdavX4/IyEh4e3sjOTkZJ06cMLtsbm4u7r33XkRGRkImk2Ht2rXtllm+fDlkMpnRo2/fvpzK5GhsTyYAjEZf1T1v6X0rd53D0gn2m8DQXH6QJULNa0YIEYcQuYWEiI13LzAhcn0+//xzLFq0CGlpacjKysLAgQMxduxYlJWVmVy+vr4ePXv2xKuvvgqVSmV2vf3790dJSYn+ceTIEZvLak98TyZs3xfk6yn4CNGGxsWF48gLo7B0Qj9Wy/OdkJUQIg1C5RYSIibWOUCJiYnYv38/goKCMGjQIJNJ0DpZWVms1vnmm29i7ty5mDNnDgBg48aN2LVrFz755BMsXry43fJDhgzBkCFDAMDk6zodOnSwGCBJDd+TCdv3Hc2/ioVj+pgdIdoStqNHK+QyzB4ehY+OFFrMCZLLgOt1zazKTdwPTbLpHITMLSRELKwDoClTpuiTnqdOnWrzBzc3NyMzMxNLlizRPyeXy5GamoqMjAyb1n3hwgVERETA29sbKSkpWLVqFbp37252+aamJjQ1Nen/rq6utunzueJ7MmH7vnUHC/BV1mXOPTP49PCYMaQ73tr3h9l1ahjttBkb5JQgSYxRjyLnoRuew9zNjgzaGmY+uYWEOArrACgtLQ2AtrfXnXfeifj4eAQGBvL+4GvXrqG1tRVhYWFGz4eFheH333/nvd7k5GRs3rwZffr0QUlJCVasWIHbb78dOTk58Pf3N/meVatWYcWKFbw/01Z8TybW3meIa88Mrj08TF28LKHeYMQQ9ShyLroOENaG5zB1fFMtH5EKzjlACoUCd911F65fv26P8ths/PjxuO+++xAfH4+xY8di9+7dqKysxBdffGH2PUuWLEFVVZX+cenSJQeW2HJvKksnEy69sLj0zODaw8NcDzZLZaEESaJDPYqck7kOEJZyC9NzSnDb6gOY+eExPL09GzM/PEaDpBLR8EqCjouLw59//mnTB4eEhEChUKC0tNTo+dLSUkHzdwIDA9G7d2/k5+ebXcbLywsBAQFGD0fjczKx9D5T2AYeXJKy2cxWbw4lSBKAehQ5M10HiLbDc5gLfvjOSUiIPfAaCfqVV17Bs88+i5UrVyIpKaldjzA2AYSnpyeSkpKwf/9+fU6RRqPB/v37sWDBAj7FMqm2thYFBQV4+OGHBVunvZgabZlN9bDufW/t/QPrDpoP9HSsBR5ckrLZzFZvDiVIEoB6FDm7tgOkmmKtlo8GSSVi4BUA3X333QCAyZMnG/UG002R0draymo9ixYtwqxZszB48GAMHToUa9euRV1dnb5X2COPPIIuXbpg1apVALSJ03l5efr/X758GdnZ2fDz80NMTAwA4Nlnn8WkSZPQo0cPXLlyBWlpaVAoFJg5cyafr+pwbE4m5t43PCaEVQBkLfDgkpTN56JECZLEEPUocn1cavn4nP8I4YNXAHTw4EFBPnz69Om4evUqli1bBrVajYSEBKSnp+sTo4uLiyGX32qlu3LlCgYNGqT/e82aNVizZg1GjBiBQ4cOAQD++usvzJw5E+Xl5ejcuTNuu+02HDt2DJ07dxakzFImVM8MLuvh2iwhxOCLxLVQjyLXR7V8RIpkDMNQZmEb1dXVUCqVqKqqEiUfiIu2PSqu1zVj/lbtOEymemaw6U3TqmGw7kC+ye7sbdfTqmFw2+oDrHqiAdStmZimyw8B+O+39kK9lmyXUVCOmR8es7rctrnDqAaI2ITL9ZtXDZBOfX09iouL0dxsPLBdfHy8LaslLJkbN+WxO6Kw83SJyYlTDS8ipk7se/PUFruzt12Ppe6wOr5eCswY3A2psSq6eDgpewcBumR+cxP+ihX80NhEwqBaPiJFvGqArl69ijlz5uDHH380+TrbHCCpcoYaIHPjpuguSesfGIQgXy+zFyxTJ/ZAHw9U1reY/cyFqb2wYFQvkxe+9JwSLP76rMn3S+EunvDnyCBASrUt5o4xnfceGIS74yMcWiZnJuVaPuI6uFy/eXWDf+aZZ1BZWYnjx4+jY8eOSE9Px6effopevXph586dvApN2GMzbsrKXecwNCpYP3Fq2+DHVHdUS8GPDMD238yPjzQmVgXvDgqTr9FYLs7L0V2XdZ0ATO23jsRmeIcF205h9xnqus0W36E+CLEXXk1gBw4cwHfffYfBgwdDLpejR48eGDNmDAICArBq1SpMmDBB6HISA7b0qOA7bo+1XhonCiugrqZeHq7EnbsusxneQcMA87ZmYSNN68Ia36E+CLEHXjVAdXV1CA0NBQAEBQXh6tWrAIABAwawngiV8GdLjwpbxu2x9NnUy8P1uPMAhVz2U6rZ5EYqtXyE8AqA+vTpg/PnzwMABg4ciPfffx+XL1/Gxo0bER5Od0L2Zsu4KbYGIOY+295jubRqGGQUlOO77MvIKCinC44DuHNQy2U/ddUgkAs6Pokz4tUE9vTTT6OkRNv2nZaWhnHjxuGzzz6Dp6cnNm/eLGT5iAm29KjgG4BY66Vhz14e1BNHHO48QKFuf2ZbW+qKQSBbdHwSZ8WrBuihhx7C7NmzAQBJSUm4ePEifvvtN1y6dAnTp08XsnzEBL6TpwK3Tux8Kp0tDV5oS5ksofmDxGNtX5FBe6Fzxa7LhvszG64YBLJBxydxZrwCoLZ8fHyQmJiIkJAQIVZHWODbo4LriR0AOvl6suqlIXQvD5olXFz2Cmqdxbi4cLz3wCBY+nquHARaY+34ZAAs35lLxyeRLNbjAC1atIj1St98803eBZICZxgHSIfvuCnpOSVYvjMX6uomi8sF+3rg2JJUeHZgHysLNZYLjR4rDe7exLH7TAnmbW3fucPdx69he3wuTO2Np1N7OaBEhNhpJOhTp06xWs5wclRif3wnT9V1R7U25cV/7hnAKfixpUxtuXMSrpS4e9flu+PDsVEuvVGqxcb2uHtr3x/oo/Jz2+1EpIt1ACTUBKhEOhRyGZ5O7YU+Kj9JntzdOQlXaoQKap2VuweBpnA57lx1vCji3GyaC4y4Bqme3Gn+ICIl7h4EtsWlpxwNgkqkiHUANG3aNGzevBkBAQGYNm2axWW//vprmwtGHEuKJ3dLE626QxIuIVKmOz6f2MJu8FtqqiZSwzoAUiqV+vwepVJptwIR5+Kus4QT4u5aNQyUHT0xPi4MP+aUWl2emqqJ1PCaDd7VOVMvMDG56yzhhLg7U8e+Obqm6iMvjKJjltidXXqBEWJINwBa2+hZNwCa0F2DpdhER4g7Mnfsm0JN1UTKeA2EWF5ejvnz5yM2NhYhISEIDg42ehDXRgMUEuKeLB37pvAdBJUQR+BVA/Twww8jPz8fjz76KMLCwmjsH54c0axjj8/gMks41doQ4jqsHfs6C+6MwfCYEGqqJpLGKwD65ZdfcOTIEQwcOFDo8rgNR+TP2OszaIBC50M5VEQIbI/pXmF+dPNDJI9XANS3b180NDQIXRa34Yj8GXt+Bg1Q6FzcfSoLIhw69okr4ZUD9N577+Gll17C4cOHUV5ejurqaqMHMc8R+TP2/oykHkEI9vU0+7o7TxApNWxm627VMMgoKMd32ZeRUVBOuVvELN3gh+bqDunYJ86EVw1QYGAgqqurMWrUKKPnGYaBTCZDa2urIIVzRY7In7HnZ+hqEyrqmk2+Tr0+pMNaICwDsPjrs1i+Mw/qaqodItbR4KTElfAKgB588EF4eHhg69atlATNkSPyZ+z1GWy6v9IAhdLBJhCurG8B0GL0vL2GMiCugQYnJa6CVwCUk5ODU6dOoU+fPkKXx+U5og3dHp/BpvtrsK8HDj93J+fZ44l98A2idbVDNIElMUeq8wcSwgWvK9XgwYNx6dIlocviFhzRhm6Pz2DT/bWirgWZF6+zLyixK1uCaMNmUkJM0Q1OOiWhC1KiO1HwQ5wOrwDoqaeewtNPP43NmzcjMzMTZ86cMXoQ83Rt6ADaBSiW2tC5JKry/QxLqOu787EWCLNBvychxFXxagKbPn06AOAf//iH/jmZTEZJ0CxxbUPn042Zbzu9ufFiqPur87GUsMqWtd+TxhcihDgrXpOhXrx40eLrPXr04F0gKXDUZKhsLh7mEo91S1lLVOVygbIUaI2JVeG21Qegrmo0eSGlCQ+ly9TvqgrwQuMNDarqW3j/njS+ECFEarhcv2k2eBOkMht8q4bBbasPmM29ETLoYBNoAcCTW7IAmO7+KlSvIapVEJ6pbbo3T83797Q1MCeEEHuwSwC0c+dOjB8/Hh4eHti5c6fFZSdPnsy+tBIklQAoo6AcMz88ZnW5bXOH2TTsPJdAa2+e2q53/VSr4Fh8trcjA3NCCOGCy/WbdQ7Q1KlToVarERoaiqlTp5pdjnKAhOOoxGMuAyfas/urI6YIIcb4/J5iTIZLtYKEEKGxDoA0Go3J/xP7cVTiMddAS9f9VUhsRi2297g07nqRNfw92WwDR/cIpFpBQqTJ2c+ZnHqBZWRkoLy8HBMnTtQ/99///hdpaWmoq6vD1KlT8e6778LLy0vwgrojXTdma4nHts67E+LH7vcK8bXf7+qIWgVLBytdZNlvA0f2CKRaQUKkyRXOmZzGAfp//+//ITc3V//32bNn8eijjyI1NRWLFy/G999/j1WrVgleSJfBMd/cHuP5tJWeU4J/fZHNatl/7TiN9JwS3p9lib1rFdJzSnDb6gOY+eExPL09GzM/PIbbVh9Aek4JqwlDXR2XbeCoCTHtNakvTf5KiG1c5ZzJKQDKzs7G6NGj9X9v374dycnJ+PDDD7Fo0SK88847+OKLLwQvpMvYvh2IjASmTQP+/W/gxx+BsjKLb9GN56NSGt9Nq5TeNt/96nZidXUTq+VLq+23c9uzVsHcwVpS1YgntmRh8ddnWV9kXfHiyTXQcERgDnCrFWTLUiBMCLHOXjcmYuDUBHb9+nWEhYXp/z58+DDGjx+v/3vIkCE0RYYlmZnAxYvaxzff3Hq+SxcgKQlITLz1b0SE/mV7JB6zmdurLXvm4tiruY/N99ROCGqa4UW2qqHZ6at8TeHT/OiICTGFrhWk5jRCbCdGJwh74RQAhYWFobCwEN26dUNzczOysrKwYsUK/es1NTXw8PAQvJAuY+lSYOJEICtLGwxlZQHnzwOXL2sfBsMLMCoVZAYBkSIpCSk9uwIyYYIONnN7mWKvndvSqMW21Crw/Z5t7c1TY9PRIpe8ePINNOw9IaaQtYJSSLInxBW40rRInAKgu+++G4sXL8bq1avx7bffwsfHB7fffrv+9TNnziA6OlrwQroMpRIYOVL70KmpwbFv9iPji73ofvF3xKnzEVP+FxRqNbB7t/ahExLSvqYoMpJXUGTrzsn3/ZYSke1RqyDUQfht9hWXuXi2/Q3YJsGbCjTs0SNQR8haQVe6ayVETK40LRKnAGjlypWYNm0aRowYAT8/P3z66afw9PTUv/7JJ5/grrvuEryQriz9Yi2ezPMAE3c3EHc3AMC7pRGxZYWIKy3AY77X0bXwdyA3F7h2DdizR/vQCQoyDoiSkoCePQG55fQuW3dOPu/ffaYEL3+Xg4q6Zv1zbZuQhK5VsPV7ygAE+XoYlbktZ7p4mpsWI9DHw+q0GLYmNXMlZK2gK921EiImR/VOdgROAVBISAh+/vlnVFVVwc/PDwqFwuj1HTt2wM/PT9ACujJz1fKNHt7I6tIPp7r0w16lN458NQqK5ibg7Fnj5rMzZ4Dr14H9+7UPnYAAbTCkeyQlAb16AQa/l7Wd2By+O/eq3Xl4/+fCds+XtGlCEnpciaFRwQjs6IHKBvN5PuboPvWehC74+GiR1eWlfvE0lwNTWt2kf07I5kchCFUrKPZdq7OPl0KIjr3SFcTAazZ4pVJp8vngYOlHfFLCuVp+yBDtQ6e5WVszpAuIMjOB06eB6mrg0CHtQ8fXFxg0SB8QKRITsXx8bzyx/QzrmcL57tw/ZF8xGfwYfs8V3+dBowFW7hI2yVghl2HO8Ei8te8C5/fqLrLKjp6sAiApVfm2veAm9QiymgOj9PGAdwcF1NX2SWrmS4haQTHvWl1hvBRCDDmiE4Qj0GSoJjhqLrDvsi/j6e3ZVpd7e0YCpiR0YbfSlhbg3DnjmqLsbKC+vv2yHTuislcs9vl0xfGgHshRxeBCp+7oHOyHyQPDsfN0ic0n7d1nrmD+1lOcapkMCTG5ZquGQdIrey329mpr6YR+mD08Cgq5TD/3lbWLp1TmvjJ1wQ329UBFnfXv/9LdfVHV0AJAm9szrGcnSXwnIehqwAD7TuZr6jNp0ljiiqRYs0mzwdvIUQGQoyY7RWurtreZYU3RqVNAbW27RTWeXpANjIcsMRGaQYnIUUXjYngUQjopOe/c6TkleOLmBccWQgQY5i5EpoSb+CwxLp58cPme1rhiLYUja2No0lhCHI8CIBs5KgAStWZBowEuXDCuKcrKAqqq2i/r4QHExRknW8fHAx07ml29tZM/H7YGgrvPXMGCbadgbXyu9x5IxN3x7S+GUm/KEHqbSy24E4qj7loddoNDCNGzy2zwRHiiJpPJ5UCfPtrHzJna5xgG+PNP46AoMxOoqNDWGJ06BXz88c3CK4DYWOPeZwMHanONINz4O4a4JBmbusgF+XpZDX4AQNnR9FhW9h73xlZCb3Nn7OLPhj277huinmeESBsFQCKTVDKZTAZER2sf992nfY5hgOJi44AoMxO4elXbK+3sWWDzZu2ycjnQty+QmAg/VQyGXvFGbmhP1Hn5CFI8tknG5mpq7o5TsXr/Y/87iRlDuiE1VtUuwHHUxZMPe1xInamLv9SI3fOMEGIZNYGZ4KgmMENSTCYzi2G0I1e3rSkqaT+fkgYyFAZHICcsBjlh0chRxSA3rCeqvW8NlzD39kj8cEYtSFOgpaRTPju6lJq4rGHb5BLk44HrHBLCAY6J+CKTyrHkbMnzhNhCKscdNYE5ISnXLLQjkwFdu2ofkyffer6kRJ9LxJzMROnhX6GquoroisuIrriMKecO6xctCgxHblg0eo69A/08PTHs9gj884cim5oC2UzSJ5dp4ze2wZAzTXXBZmwnuQx4OLkH3jmYz2ndzlJLIaU8LVcaL8XVSeXi7aykdNxxQTVAJohRA+SMrJ000nNK8NIHBxGnzkf/0gLEqfMRV1qA7lWlJtfXENEVxwMj8VunKOSGReOsKgaeESrWBxHbGhCupHqnbmr7781TC9YLDLDfd7fHBUeqXc6d9eLgLuj3sY3UjjvqBWYjCoCsY3vSMLVcH49mrOzRgqEVRbeaz/JN10gwXbpA1nb+s4gIk8uyHVfpH8Mj8XXWZc6jQ9urtw6fYMDS9tdoGFa93diQQfgTmD0uOFLvck41DNIktYu3s5HicUdNYMSuzJ00TDUXse45VVWl7WVmmFd0/jxkly9r84127ry1rErVfv6zrl1ZN9OMiVVhdL8wPPjRcU7f2x5JxnyCAWvb/5nUXoIEP/a4C+ay73Ah9clOnaqJ201YazJ3xR6QQpP6cWcNBUCEEz4nDVYnf6USGDlS+9CpqdFO7WGYaH3uHKBWA7t3ax86ISEYlpiEFU3BOBYUibNh0fhLGabNVzIQ7OuBpB5BUMhlnOdCEzoPhk8wwGb7b2IxbYeOueTwham9sGBUL8GbvazlaL34zVk0tGigCuBWS0JdzglXzn7xlgJnP+4oAJIAZ6oed+hJw98fuO027UOnvl4bFBnWFOXmAteuQfbTHswCMOvmopXefvqeZzlh0cgJi8ZFJhwjXj+ItEmx+gRVa+wxTxTfu082259t097C1N7Y/luxw3If2IxTVFHXgoWfZ3MuC3U5J1w5+8VbCpz9uKMASGTOkoCnC9J+zGnf1d0Uu500fHzQmjwMJ0J7o2z4VG3AGO4DRW6OPiiqOnocPufzENhYi9sunsZtF0/r317t6YO8sJ7I+SYGQ6al4r9/G4DFZxtxucZ00KALPZZO6CdokMo3kGS7XQM7eqCqocVi9+sFo2KwYFSMw4JvrvsEl2YxMSc7Jc7JmS7eUr1J5nrcSe17UAAkInvlQwjNVJBmjb1OGpYCxjFzB+NEqvbg6qQA1m/Yie6F5xBXWoAB6nz0KytEQHM9hl3KwbBLOcBv3wIAjvj6oqbfAJwLj8YPHhE4HtgDBZ26oVWugErpjckDw7Fy1zlBg1S+d59st+uc4VFYu+8PVt2vHVW9z3Wf4JKHQV3OrZPaxUdszhI0S/kmmctxJ8XvQb3ATHBELzC22fOHn7sTmRevi3bS4jq5pj2z/q0Nchjo42FxxvcOrTcQU34JcQZd8gdVXISiob7dsje8vdHQNw7lfeLwXnUAzqpicKFTd9xQdNB/JsC/lwjfeaK4DK63N08tqROOtbJbwrYHnhRPslJA28U0qU9y7Cy91KztX478HtQN3kaOCIDYXgCDfT1RUdes/9uRJy2uk2va86C0x+SqAPD2fQMwpWOtcaL1qVNAbW27ZZsUHjgXGqkdoygsBrmqGFRF98bBl8ZxDvZsGSWYy0lbanf95spuDZeRqKX2ncXmLBdRsUg1OLR3F3OhjxNz63N0V3nqBu8E2DaBGAY/gGObx7hOrmnP+cvsMbkqAIQG+gLR3bUTuz78sPZJjQa4cAF//HgYB7ftwYCbtUUBTXVIKLmAhJIL+vc3yzugYXs/+KUMvdUtPz4e6NjR4ufa0mTDZf44qXW/Nld2a7g0n0ntO4uJunpbJ9VJju3Z4cQeQZ+5407Kve1ED4DWr1+P119/HWq1GgMHDsS7776LoUOHmlw2NzcXy5YtQ2ZmJi5evIi33noLzzzzjE3rFAvfHBlHnrTYBmmPpPTA+LhwSSXQWmOxfV8uB/r0wbkGP6xS36x1YBh0r1Tr84n63/w3qLEGnnlngbyzwMcfa5dVKLQBleE4RQMHAr6+Rh9jy0S4Uj1ps2FYdnVVA1buOofrdc2SzsMQmrW7b6HuzqV88ZESKQbN9uql5ujcUyn3thM1APr888+xaNEibNy4EcnJyVi7di3Gjh2L8+fPIzQ0tN3y9fX16NmzJ+677z4sXLhQkHWKhc28TeY46qTFNkgbHxdu95OHkEnVbJNijT5TJkNxUDiKg8Kxu+/NbvkMgy7VV/HJADn6XLmgbT7LzASuXgXOntU+Nm/WLiuXA337Gg/gOGiQTYGMlE7aXC/YhmXv6Klwq+RlNvkSQt2dS/niYw+u1Pxpj15qYtQISrm3nagB0Jtvvom5c+dizpw5AICNGzdi165d+OSTT7B48eJ2yw8ZMgRDhgwBAJOv81mnWCw1gbBl75OWlHpJ2BIwtsW2qc7q95fJoOneHTFPjNLOMgpoZ1q9fNl4nKLMTO1EsXl52seWLboVAL16QZGUhBRdYBQ56Na6nIQtF+xWDQNlR0/MGR6Jb7OvGDX52rNJVSzW7r4fuyMKH/xcKNjduZQvPkKTai4PX/Y4/4pRIyil60hbogVAzc3NyMzMxJIlS/TPyeVypKamIiMjQzLrtCdzTSDBvh6oqLM+mJ29T1pS6lrMN2CUAQgL8MIb9yfgWm0T5xoWzt9fJgO6dtU+Jk++9XxJiTa52jAounQJ+OMP7WPbtlvLRkcb1xQlJgKdpFHT05Yt1emmLljBvh64J6ELUmNVTn33bgqbkbA//KV98KN7nc/duZQvPkJyliFFuLDH+VeMGkEpXUfakjv8E2+6du0aWltbERYWZvR8WFgY1Gq1Q9fZ1NSE6upqo4ejjIsLx5EXRmHb3GF4e0YCts0dhmNLUhGu9Ia53UEG7Z2NI05auiBNpTQOtlRKb4efVMyVJdDHAwDabS/d38sn98fwmBBMSeiClOhOnA40wb5/eDhw993A0qXAN98AxcVAWRmQng785z/AvfcCUVHaZQsKgB07gMWLgbvuAkJCgMhIYNo04N//Bn78UftekbG5oK/4Pg+tJiYm012w2t6NXq9rwSdHi1DV0OxSwQ/ALpHf0hxuhnfnbOkuPoD548PZmxht2Q+lTujzr1g1glK6jhgSPQlaClatWoUVK1aI9vmmcjmkFDFLKeHWXFlMjXkjVBOK3b5/587A2LHah05FRfuaovx84OJF7eObb24t26WLcaJ1YiIQEWFbmTjgWp2uy8/QJT47umeSpW66jti39+Xxu7Fri+vduS3J9lJg7fcRO9Hb3vuPkOcfMWsEpXQd0REtAAoJCYFCoUBpaanR86WlpVCpVA5d55IlS7Bo0SL939XV1ejWrRuvMghFaictKSXcmiqLvQ8uh33/4GBg9GjtQ6eqShsUGeYVnT+vzTW6fBnYufPWsiqVcUCUlKRtjpPx3w7mTvBcqtO5jCZujwuWufyQyQPDsfN0id3zRlo1DL7JvizIuvjcnUvx4sMGm7weMRO9HZV3JNT5R+zmKCldRwARAyBPT08kJSVh//79mDp1KgBAo9Fg//79WLBggUPX6eXlBS8vL16faU/OetISi9QOLsEolcDIkdqHTk2NdlJYw5qic+cAtRrYvVv70AkJaV9TFBnJKiiydIJneyEuulaPtfv+4Jy8LtQFy1x+SElVI97/ubDd8vbIGzlRWMEqr08u0+bR2+Pu3NmOD7Z5PWI16zhr3pHUbq7FJGoT2KJFizBr1iwMHjwYQ4cOxdq1a1FXV6fvwfXII4+gS5cuWLVqFQBtknNeXp7+/5cvX0Z2djb8/PwQExPDap3OxtlOWny5UvdVh/D3B267TfvQqa/XBkWGNUW5ucC1a8CePdqHTlBQ+0Tr6Ghtd/2brJ3g1z8wyGp1eliAF7adKObVc0+IC5al/BBz7NEMxzaYG9mnMw7+flUSTd9i4tJdW4xmHWcfYJJurrVEDYCmT5+Oq1evYtmyZVCr1UhISEB6ero+ibm4uBhygxPylStXMGjQIP3fa9aswZo1azBixAgcOnSI1TqJ9Lha91XR+PgAKSnah05jo3Y8IsOg6OxZ4Pp1YP9+7UMnIAAYNAhISoImYRA2Z7VA5tEJjFxh9DG6E/zKXeewdEIs5m81X50+c2h3vLXvArgQ8oLFdwRxvs1wbQP5pB5ByLx4HRdKa1i9f+7t0bh/cDe3vzvnmtfj6GYdsfOOhOAuN9eWiJ4EvWDBArPNU7qgRicyMhJspi6ztE4iLVKuRnaJWilvb2DIEO1Dp7lZWzNk2Hx2+jRQXQ0cPgwcPgw5gO0A6jy8kRvWUzv/mSoGOWHRKOjUDa1yBUqqGhHk62mxOr3phoZTcYW+YNnajMbl/aYCebnMcs8uQ7qenQq5zO3vzrnm9Zhr1lF29MCc4ZEYE8svr1So8hFpEj0AIu5LytXILl0r5emprekxqE1FS4s2h+hmQFT+yzF0zDsL35ZGDP0rD0P/ytMv2tDBC+dCI3FWFQNv79+Rck8qxiy6HSf+qml3wc4oKOdUNKFrOmxtRmP7fnOBPJvgx1TQ5+5353zyenTNOusO5GPT0UJUNrSgsqEFb+27gO2/XRJlv3KFASatceYbRQqA3IBUd1C21chv7f0Dw2NCHFZuKddK2Y2Hh3YS1/h4YPZsbNn3B97+6Xf0rLisnww2rrQA/UsL4NfcgMQr55F45TyQtQtYASi8vJAyYIBxsnVcHIZGBSPQxwOV9eYTgIN9PbB0Yn+oAoTfN20ZQVwuA663mYzYFD55RobCArwwc2h3NN3QIKOg3GgbtGoYHCsoR8af1wBog6JhPbmNZeWM+Ob17M1Tm0y4F/rYdZcBJq1hc6Mo1esPAMgYNm1Kbqa6uhpKpRJVVVUICAgQuzg2kXJNxnfZl/H09mzWyzui3K0aBretPmA2MNOd2I68MEoyB7HQ0nNK8MSWLJOvyRgNIq+XYIA6H8mVRXigwzXIsrK0XfXb8vBAVUwf/OgRgZybzWfnOkeiycO4x+VGOweUq3bnmeztxYYMsHrRzCgox8wPj/EsHdoFiLr9HAAWf322XfAY6OOBV6cNEP34tTfdjQjQPq+HAbAwtRciQ3z1F1UADj12LZUPsL7fODtzN4qG3x+Aw68/XK7fFACZ4CoBEJsdVMwDlOuFwxHlZlumbXOHuWQThbUAUMcoMGAY4M8/289/VtF+xOIbMjkuhHRHTlgMclTRKOrRB5+8NRcKfz+LZeJ7B2nuGNBJ7dcZB36/arapis1Fk2sgbw3bqV7sHThKgakbON3I722DxhlDurFKuBfy2JXyDaY9sblRVPp4oKq+xeHXHy7Xb2oCc1FSzq/R4do84Yhyu3tyI9teU8+k9r518pLJtF3oo6OB++7TPscwyPzlND54awfiSgtuNqPlI6S+Cv2uFqHf1SLcl7NPu+imZ4G+fY275Q8aBPj72zzRqrWmqaziStbTTxheNA2Dsms1TRbLwRXbO1Kxj19HaNtd29yYUuqqRta9DYU8dt21Ozmb9AVzzd5Suf4AFAC5LGfopslnglN7l9vdkxvZXhwiQ3wsLyCT4a+AztjT52/Y0+dv2ucYBqqacn1A1L80HwNKCxBWWwHk5WkfW7bo31/XIwpNHbthYlg0clQxyA3riWpvP9b5HGyCOTaDEwLG28XW3l5CEfv45YNPbZ4uIVxX62Bpzi82hD523TFh3dYgUgrXH4ACIJflLDUZ5rqvWtO23EIl2rl7cqOQAWC7ZWQyqANCoA4Iwb5eyfqnv5wSicHXLxo3n126BN+iPzEFf2LKucP6ZYsCw5FzMyDaXZaLMav/AUXnEP3rhvvBhdJaVt+FDd13saW3lz3szVM7zcXX1uaiY3+W8xrTqS02ie3EMqGCSLGvPxQAuShnqskwrEY+mn8V6w4WWH1P0bV6/f+FbIe391w5Uu4RAQgbALJd16DkWEDeH7j7bv1rv504j3fXfK7tfXazF1r3qlJEVpYgsrIEE88fAQ4D2PQC0KMHkJiIP7r2xoZqJX72745y30DW3znY1xPX65qtfl82TWqym1NZGL7fnrHRJ0eLMDQqmHcuhaP2R1t7VqbnlGDxV2cFKcvKXXkYG+faTYf2ZkvvSkNiX38oAHJRzlaToatGHhoVjK+yLls9sNbu+wN9VNrEWaG7rNtrrhxnSJgUMgC0ZV1XPP3wc88k/NwzSf+csqEG/UsLMKA0H3HqAsSV5iPqeglw8SJw8SJ6A3jr5rIlfp30Pc90AziW+RvXlOiOAWujWevKmFFgvQaCYQB/7w64P6krUmNVSOoRhA2HCvDWvj+sbi8+bMmlcNT+aGs+orVEdq6k0PTi7Kwd2wy0yeqmkqB1y0jh+kO9wExwtV5ggHN107TUDVtHN88UIIO62j7dXoW8O5Z6j7y2hLw48lkX2954X8yIRVJFEda98QV6FJ1DnLoAPSsuQ27itFvmG6QPiHJvNqMte/IujBsQwaqMXHp7te0+b643U2V9i9kLCBdcezY5cn+0pWcl216JwM2eRx09UNlgPa/r7RkJmJLQxepyxDJLxw0Ak9cfnUeHRyL15lxuQtbGUTd4G7lKAAQ4R62DKW/v+4PzHFLmiN1l3VnHFhIyAOS6Lt02s1aDeeSFUThRWGF0gfVtqke/q4W3BnBU5yOm/C8oGBPTcoSE6HuetQ5KxOnOPXFJGYoQP29ABlyrbdKXt+3nWGLqNzW1DfbmqS1eQBZ9cRr1za1WP4/LBd3R+yPbwNHUd+AyVIYMwDOpvRzeFd7dWTq22XQYEPp6RN3giZ65bpqA9uQi1VyUyBBfwdYldqKdM/TIM8XW3i2mRjGeGB8hePNZ29+3zssHJ7v2x8mu/fXPebc04uWuLYgvK4Aq/xw6X8iBLDcXuHYN2LMH2LMHCgCJAOICAnG6cxQyO0Xpm9Gae0Th5Un9Wec9mPpNTW1Pa92o/b098OBHx61uLy65FI7eH23JR2R77OoGhxwTq8L23y45RdO/1PMB2bJ0njDcv/fmqfHJ0aJ2HQbEHGGfAiA30HYHdYZaISGT48ROtHOWHnlCSs8paTeK8bqD+ZxGMWabi8Xm92308MabtQH4z4MjEK/77MZG4OxZowEcNWfOwrO6EkOqT2FIwSn9+6s9fZD3fk+sHZyEbS0hOKuKQWFQBDRyhcXPZfObWrqADOvZSfBcPkfvj7bkI7I9dtfPTMTwXtregJaG1mAAzBjSjUvx7cIZzsFCUchlGBoVjEVfZJt8XcxxgSgAcjPOMs+VEL0MbLnbE/LuLMTPy/pCED9QE4qlHK7K+hY8sSWL9SjGbAaaY7uvXK9rNt7Hvb2BIUO0D2h/85H/3oOAP//Q9zwboM5Hv7JCBDTXY9ilHOBSDnQd+Os8vJEb1hO5BonWBZ26odUgKLL1N7VHr0RH9xC15TuwDZ6GGQSQ1obWsMfkqNYYnk8sDebI9RzsLLVIUq0FpxwgE1wpB8iQs+Wi2NL7w5ZkTqETgJfvzIW62vxowVLb7rZo1TAY/up+i98X0G5PW75v2xP/9bpmzN9qfV+xtK3N5Zt0aL2BmPJL+nyiaSiD/+85kNXXt1u2oYMXzoVGIkcVg0uRfbH45YegiOuvnWzWBkLuk1zyq4TcH/l+B76dOVo1DNYdyDfZA8+RnQ9MfW9zuGx7Z6pFsiUPjCtKgraRqwZAzjjPlW78DzY9OwzZErAI1TuGTQAn1V5gfHFJWuW7n5k78U8eGI4dmX+xGt3Z1GdzOkkPUOGXH47g64++19cW9S8tgF9zQ/s3eHkBAwbcmuYjKQmIi9M+z4E9eiUCju0hyvc78LnYS+GGj+9NnLVjw9l6lTry2kNJ0MQkZ8xFGRcXzjoR1NDSCf143RkLNX8am0HzANvHFpJaFTiXfYfPfmapCfeDnwsx+289sOnXi7w+m1PTkEKBv026A1m+EXj3aCEqG1ogYzSIvF6C26svYk7HCkRdPK/NL6qqAk6e1D50PDy0QZDh/Gfx8UDHjmY/V8gpF+w11pU1fL8Dnzm3xG52YXsOMMXSsWGveR7teS6R6rh0FAC5EWcaHdqQtUTQtmQAVu46h7Fx4ZwOYCFPmGwnFV3z94H65E22dCeqvXlqfJt9BRUGQ/uHK72xdEI/BPl6WTyR2etkx2Xf4bqfsTnxf3f6Cu/P1p2krf1u1+uaTdZIKH28MHXMSCwY1evWtmQY4M8/jRKtkZkJVFQAp05pHx9/rF1WoQBiY41rigYOBHyF6xFpyNkm8uQaPLENsI/mX7XL92d7DjDF0rFhj8DO3s1p9h5hny8KgNyIVKNwa7hOmsr3zk7IGjK267pWx20mcWv5BCVVjZi39ZTRc21PZPY82Q2NCoYqwItVDhDX/YzNib+iroX11BZtKeQyLJ3Qr932a+vFb8+aHOG2qqEFa/ddQB+V/63tKJMB0dHax3333SwoAxQXGwdEmZnA1avaXmlnzwKbN2uXlcuBvn2Na4oGDQL8/S2WkS1XnsiTbYBtOPWOkBf9fXlqzu9hcw4WuibfUR1jxKp1tIQCIDci1SicDT6TpnJtYrHrRKA2LgfwzycwPJEBwk8dYkghl2H55P5WR/Lms5+x/T2nJkRg09Eis92gLX12kK/1vBzDrv1t182q+UEm085f1qMHMG3azTczwOXL7WuKSkqAvDztY8uWW+/v1cu4pmjQICAw0GrZAek1m9oLn56kQh0HrRoG32Rf5vw+BsDdcdpaOXO/i5DnFns1p5kjtVpHCoDcjJSicN2JWF3VgIq6ZgT7eUEVYP6A0B08m48WYuWuc1bXz7WJRYyJQNnWgtiST6A7kS3fmQtAZveT3bi4cGx8KLHdOEAAEOTjgVUsxwFqi+3vOebm8PqmPj/Qx3JvLFvz33jnlchkQNeu2sfkybeeLynRNpMZBkWXLgF//KF9bNt2a9noaG1AZFhb1Mm4DOZq/9g0mzobrjXHgHDHwYnCClbJ+IZ0IyR/fLQIHx8tMlsbldQjCMG+nkZN34a4nFsclScl1aCbAiA3JIUo3FJTjqVqaIVchtnDo/DRkULBm/KkMhGoKbbkE+Dm51trlhIyKVS3j7UdCXpYz0689zMuQeXePDWqTNTUVNW3WLzDFyr/TbCOBOHh2sfdd9967upVbTBkWFtUWAgUFGgfO3bcWrZHD31AdDI4Ei/nAdd8A40+gk2zqbPiU3Pc9jjgeqMGsP/9x8eFIVzZkfUIybrzpqXgBzA+t1gKPvg2p3EJaKTcXZ+6wZvgqt3gpYJt93BL1dD27MYr9kSgpnCZiNNWUp4oks3vPiZWxbv7s7Uxcthy+FASuqRqw5qi/HyTi5b4ddJP8aEbwLHM33RZ2Q5YKXWGF+wLpbVYd9D0tjH09owEeHWQ87pRY9vt+7NHk/Hsl6dZ7at789RWz5tc8/34dE/nck4To7s+jQNkI1cOgMSuimQ7uzObMTrseWch5kSgpnAZX8dWUhoHyhR7nNTbrt9ckMVA24xmKglat4zYg1rq9reKK2WILP4D/dT5KP85A1VHjqNnxWXITZS8zDdIHxDpRrYu8Q9BoK8nMl8eI4nmCqGw3T8WpvY2OWKzIXM3amwC6XClN9bcN5DVEB/WAiUACPb1wLElqfDsIAfALvjQ3SywHRSTS0Aj1jhMNA4QMUkKVZFsm3LYNMfYsylPyN4xQqzL1qlBZADCArwAyFBa7Vy9ANsy9bsn9QhC5sXr+C77Mi6U1rJaj7nqf2t5cgAk25Gg/THeAeHKBNz9z3H4uF8RfJvq0e9qIeLUBRhQmo/+6gL0Kr+E0LrrGPXnSYz689ZYReUdA5AbFo2sc19jyL2p2ryiyEhtvpITY5NDExbghW0nilkda6byhdg2gV+rZdcLNOPPa1bPmxV1LfitsAJyuQzqqgas3HWOVb4f26Z6rgnTYo/DxAYFQG5CKnOAcc2NsLa8K3fjNcQnoVNHdyJbPlk7O7pUL95cGP7u6TklGPH6Qc45UpbyfawF11LpSGDI0jH+8dEiAECdlw9Odu2Pk13761/3bmlEv7IixJXm6wOjXteK0amhGncUnQKKTgHb39cuHBTUPtE6OlrbXd/B+NSsss2hmTm0O97ad8FqGSxdxNl0OMkoKLf6GcYls2z+1ixWo+YblpttxxiuAY0zDLxLAZAbcHRXR0u4JplKbVBGQ45uTjR3ogr29cA9CV2QGqvC9bpmrNxl+UQmxYs3X3yGBmBb02UpuJZCRwJD1o5xQNvLiGHaB8+NHt441aUvTnXpq3/O60Yz+lwt0s9/NrlVDb8/zgHXrwP792sfOgEB2m74ht3ye/XSDuxoJ3xqs9nsK7rjoOmGhlN5LNUmWtpPrNVGAdrjOzkqGOsOWi8H1ymDdOVmsz9zDWicYeBdCoDcgJSqItmOtiv15hixmhPZnKjGxll+XaiLtxTyybgODSBkTZe5AEmM7cKmaVnXy4hNDWJTB0+cCe+NM+G9AQC+MxIwJbYzkJtrnGh9+jRQXQ0cPqx96Pj6aoMiw5qivn2BDrZfcvjUZrPZV4J9PXD4uTvh2UHOoWZGS3cRN/fbm8s1s1QbpVNR14LnvjxtMfeML8Pgw1ptOteAxhkG3qUAyA1IqSrSsCnH2oEs1eYYcyfgkqpGPLElCwtTexlPh2AjUyfVticqrhddW5sOnSmfzJC9a7rE2i5sj91/DI/Ejzlqfs2Fnp7aoGbQoFsvtLQA584Zd8nPzgbq6oAjR7QPnY4dtVN7GNYUxcZq50VjiW9tNpt9paKuBZkXryMluhOvGzUhekeZU1rdJGjgwyf44BrQOMPAuxQAuQGpVUVaG5tDKmNEmMLmTvKtfRew7cQlLJ9s+3dgc1J19EXX2h34+gcGOWRQPbYX/QV3RqNXmL/da2PEzLPjMkjkSxNise5APjbdnMTVEqsXSg8P7SSu8fHA7Nna51pbgfPnjYOirCygthY4dkz70PHyAgYMMA6K4uK0z5vAtzab600g1xs1c13UTf32fGoudcFdR08F6ptbObyzPb7Bh+E2YbtOKQ28awoFQG5AilWRhs0wXAYYExvbWgd1teWLHpsaGzYXVMC+U1uYKre1XJMF204ZDepmr2CM7UV/eExnuzftip1nx6aXoAzAT7lqnCissNq9W7c8wH5QPT3dpK6xscBDD2mf02i04xIZNp9lZQFVVcDJk9qHjoeHNggybD6Ljwc6duRdm83nJpDtjZquK7lQvaPMYQCbgx/A9uBD6eNhcoT1tiO86/aVphsarPn7QEAGXKttEj1fzhAFQG5AqlWRztiDi2szoamLnqUaG8Og0Fo3VkdNbWHo2J/lrHNNdOwVjEkpsBcjz65tMLJ0QizmbzU/BxsDYNOvRazX3/ZCaVNNo1wO9O6tfcycebNADPDnn+3nP9MN6njqFPDxx9plbwZVKb3jMKsqAGfDYnAuNAoNnqYDm7YBD999xdyNWqifl/6CvvlooV16RwlN2dED/xgeybt53lKz3fU2AZGlfUVK53wKgNyE1KsinQWXZkJTFz1LtTpPbMlCoIm7K3PrduTUFoC27Iu/Osv5ffYKxqQU2Ds6z87cBeaft0fi4yPtp1XgaumEfpg9PEq/7fgmHlusLZLJtF3oo6OB++7TPscwQHGxcUCUmamd/uPsWYSePYsVuvXL5CgI7oocVTRywmKQo4pGbmhP+HcOahfI2LKvtL1RS88psToooSlce0cJrbqhBWv3XUAflT/n8721ZjvD45tLc6DYKAByI1LruusIQvfI4TMgoe7Ex6b5iE3ww5UQF12+M9Hr2KunoVQCe755dnzHsjF3gfnwlyIOpTYvxN/LqNmLa/Me79oimUw7f1mPHsC0aTc/hAEuX9YHRGWHfwWTmYWw2gr0Li9G7/JiTMvV9hHXQIbiTl1QemQwIkYNvzVmUWCgIPuKLcdB295Rtsztx4ctNyJsaziPFZRLZsgVNigAcjPO2OzElz2Sgy0lApqjO/HZOqEpX7becdoyE31b9qj+l0Jgz6eJhc/+ySaIFoLhPsO1eU/wZHCZDOjaVfuYPBmh0G67NZ8eQtei8xigzr85XlEButRcRWT5X8CPfwE/fntrHT17AklJGJeYiDGJicjq1BtXOvhw2lf4Hgfmekc9weEcoqu1sjYNS6CPR7vmKEN8b0TYHrfWRqyWwujPhigAIi7Jnj1ydHeSy3fmWmyGanviE/Li78ipLYQM3OxV/S92YM+1iYXv/mnvINrUPsOlec9RyeBjYlVYHhSKQ4oAHIoeon8+uL4KcTcDosHlhbiz/i/ICgu1uUZ//gns2AEFgCGAtpbJMNE6KQkIDTX7mXy2vaXeUY8Oj9SP0G0N22lYpg3qwmqdXM9F7I9bdr+pmKM/G3L8+OWE2Bmbu+QV3+eh1YZEiXFx4Ti6eDQWpvY2+bqpE59QF3/DqS2WT441es7S5/PF9mRlaYooGbS1G1Id2FIIusBYpTT+nVVKb9bdoK3tn/a8cJjbZ7g073GpLbLFicIKqKvbf06FjxI/90zCeyn34x8TX8Cxvb8B5eXAvn3A6tXA9OlATIx24YsXgW++AV5+Gbj7biAsTFvLNGUKsGIF8MMPwJUr+nXz2fZtf3tDqbEqVutYOqEfjrwwCuPiwq3uY2zXaThwY0ZBOb7LvoyMgnKjfc7wNY2GgSrA22x4ozu+2d6ESGWEf6oBIi7HUT1yFHIZnk7thT4qP1Z5BbZOaGpu3fbOgWF7snp6VC+8vV87f5JUehpyZWvOGJvmOFv2T3teOMztM9frrE/YqQtufzhzxeqygO2BHKek8+guwOjR2odOVZW2l5lhD7Tz57W5RpcvAzt33lpWpQISE5EU1Q93XfFGjioaV/w7m434l07ohxB/L6v7D9tmU8NkdMDyPtaqYVg3xVpqggXQ7rVAHw99LZ6543tYz06S6ZnJBgVAxOU4ukeOtdnJDU9QfCc0Dfb1wNKJ/U2Ok2TvHBi2J+qnRvdC33B/0ROS+RIqZ8xac5wt+6dQQbTOwtReiAzxNbvPtGoYrNx1zup6lk7QBreOGnTV5s9RKoGRI7UPnZoa7dQehkFRXh6gVgO7d6MrduODm4uWdwxAblg0zqpikHPz37+UYSYDFnO4NpuyCc7ZrtNSTy1zuUm6DhptxwFqe3xLpWcmGxQAEZcjxsjX1mYnN7yQmqqx0XV/N3fS+M89AyxehO2ZA8PlRC2FhGQ+HDmKsy37J58kfFPkMmDdzETcHW/5O7HNewny9QSgrS2Sy9qPBaXTtgaAb42bPcaAavX1w4nwfii7IwqhEx7UlqWxAThzRh8QVR89ho4XzqNTQzXuKDqFO4pO6d9f6e2H3yNicDE/BT3HjtDmFUVHa8dA0n1Gm+87JlbFqgaXS3BurbebtYEbrWEYBp/9M9nsoIbj4sKx/oFEvPxdjtE8Z1K8EZIxDCNk5wGXUF1dDaVSiaqqKgQEBIhdHMJRq4bBbasPWD05HnlhlOAXZnMXUt2n6C6kpk78e/PUos+vZYkU5v+yB93+Yu5CL/T+IsT+qRuTievs3zrvPTAId8dHWF3uu+zLeHp7ttXl3p6RAK8OcqtdxGW4dQzYuj/pjjXAdFDOJWjlUpafMgvx6Qc/oMfF8/qE6z5Xi+DVeqP9igMCtHOnJSXhdOeeWFXqgxMenaCRK4w+w9JNA9tzSlvmgsuMgnLM/PBYu+W5WJjaG0+n9jL5mqltGezrgVemxLHa52zF5fpNAZAJFAA5PyFPjmwJcSEVe4Z1a8Qunz0+n+0FYdvcYYLVsgmxfx7Nv4YHPzrO6XO5Bqxst81njyZbHRzQsNaJ70W9LSGCcq5ladUwGP7qAaMkbI/WFvS+VqwPiBKv/onYq4WQNbXPn6rz8EZuWE/khkUj52YT2qKnJmNsQrd2y9ojOGcb1FoS6OOBzJfHsJ6+x57n3ba4XL+pCYy4JDEGyBMi+Vrs7tzWiFk+e9VAOTpnDBBm/2STcBoW4IU37k/gPQcT26YmyMBqipQgX09Bu8rb2uTKpyymeqC1KDyQGxaN3LBofH7zue2zkzCsuQyak5n48qOd6Fl8HrFlf8K3pRFD/8rD0L/y9O9v/N+/wCQNgsywS35sLE4UVwveoUOIpv/K+pZ2nyn2fHh8UABEXJaj81HEuJBKjb1qiOyZoyNGzhhg+/7JJjdr+eT+GB4Twqlc5uYYs5T/da3Wek8xQLvvC91L05agnE9Z2B6/pY2tQEI8jvt2wfN/aMcXkmta0bPiMuJKC/QDOPYvLYBfcwNw7Jj2oePlhb7RffFvz3DkhMXgrCoGf4T0QHMHj3afxeWcIlQivbqqwehvMebDsxUFQMSlObLGQqwLqVTYq4bG3neWYk6qauv+KXRNp7nf8LE7orDzdInZz8goKGe1/lB/b9YX66P5V+1+48LnpoXrcW74Xo1cgfyQ7sgP6Y5v+98JAJAxGkReL8HrUS0YXFEEJjMTrScz0aGmGkF5p/EgTuvf3yzvgD8690COQfPZuc6RnM4p1gJntkHRyl3n0NFTod/HnPEGkAIgQqxgW6vBZbwUV2PPGhp731lKaVJVPoSq6bT0G37wcyHWPzAIQb5eJj+DTa1CsK8H1NWNqGBZW7TuYIH+//ZKtudz08I1YLb2GYxMjsLgLmi5fxjSG5qxIjgPJUMa0L1SjbjSAsSX5iNWra0xCmqs0U77UVoAnPkJAHBDLodib3/jEa0HDgR8fc1+pqXAeemEfnjx2xyr8xJW1DUbHdvOeANISdAmUBI00WFbq2EtWVFn3YxBmJhg/54QjmSPRE3DoPNCaS3WHcy3+p63ZyRgSkIXLkU34qq93NgQ4jc0l9htiqWu8uY+HxA+iZZrjzzdfrk3T41PjhaZDZjbjvzN5jN0TY1mNwvDoEv1VX2itbYJLR8h9VXtl5XLgb59jaf6SEjQ9kpr8/1NBc5cJn0Nv7l9AIjW+9YQ9QKzEQVAzsHePZK49Ghg21sm2NcT/7knzqUuqEL3ojIViLAhRC8tsXu5iUWo35Dvb8eGEBdQc8NPsOmRZ+q7tQ3kzAXM1nr9rX9gEFbuOme1F127z5rYD+OCNMaDN2ZmAiUlplfSu7dxUJSYCAQGmtxGe3JLsPnXi2bLY0i3X4jR+7Yt6gVGXJ6979a55p2wbdduW23sCoRs++dy56kjZI6OmL3cxAy+hPoNDZvj1FUNWLnrnNFgeG1xqQmy1NTJZttZOmdYy6Myt1/qyv7o8EikxqrM/mbWcrWUHT1Z9aIzO81G167A5Mm3Fi4p0U71YRgUXboE/PGH9rF9+61le/bUB0S/BUfi5UueON/iZbEsben2CzF639qCAiDidBwxai/XvBOu7dpS6w5qC6Ha/i0FneY4Q44OG2I3vwmZv6ELIjMKyi0GP4DxRZ1tU2fbIIzNtmNzzjjywiiz82tZ2i9lAHbnqPHiBMv7oKVcre+yL1v93gAQ4u/Frpk3PFz7uPvuW89dvaoNhgxriwoLgT//1D527MAQAHsA/BUQihxVNM6Gxein/Cj3DTT7cYb7hTONBk8BEHEqjhprgusdMZeupVLsDmoLoXpRsZ12wZCtd5ZSaPJy5DQc5tijJxzbY0h3Uc8oKGcVABlebNlsuzGxKtbnDFPHo5BJ+OZqGB2SQNy5MzB2rPahU1EBnDoFzcmT2P9ZOmL+Oo+o6yXoWl2GrtVlGPdHhn7REr9O+p5nujnQyvw7oZOvZ7v9QurjmelQAESciqPGmuB6QuIzR1NZTSPrC7AULtTmCNWLiu0Fc8Gd0egV5m/zdhC71gUQPqDnu5/Yoycc12NoaFSwfk48U0zNI8Zm2/l7e9h0zuDbPMjltxBtKIbgYGD0aByPTMDc63EAAP+mOvQvLUB/dYE+2bpnxWWE15YjPL8cY/JvjT5e5hsEJCZC0fzzrbyibt0AmTTOTdZQAESciqPGmuBzQtK1f7/4zVlU1Fmfo6noWn27njemLsBSuFBbI0TbP9sL5vCYzkiJ7mRTUCiFWhdA2IDe1v1E6PwNrsfQ3jy1xa7XDIyDMLbbju0YRbpzRtv9KsSPXT5M25opLr+F2EMxGJ4va7x8cax7PI51j9c/59PcgNiyPxGnLsCA0nz0VxegV/klhNZdB37Zr33c1BLUCdf7xqF54CCE3/k3KIYMBiIjJRkUUQBEnIqjxprge0IaFxeOUX3DMGzVfrP5DzIASh8PrN33h9ULsFgXaj7BBdu2f3Pr5nLBtOViL6Uh+4UK6IXaT4TM32Az4N6MId3ww5krCPH1wvKdeaZXdFOgjwfGxKr0f7O/yWGXVRbq721yv1IFeCHQxwNV9S2sAjm+v4UjEojNHXvWzpf1nh1xsmt/nOzaH4B2TKf/3BWNccxVfT5R9dFj8LlwHh7XyxGacRjIOAxsXKtdQVDQrV5nupqi6Ghtd30RUQBEnIojq4r5npA8O8jxn3vizHYH1f1t7gIMAC9+cxYjeoeKcqG2Jbiw1vZvbd1sgk5dt2W+F3spDdkvREAvdEAnZP6GuWNI6aOdzuGtfRdYr6vt/FNst11KzxB8lXXZ6jnjel2zyXF4Squb9M9Zuxmy9bewJQC1dtNi6dgbE6tiNZDl0on9oQowXHc0MGyYNujrnAXPG83oc7VIO1jjzfGK+lwtgtf168D+/dqHztWrQAi3aVqERuMAmUDjAEmbo8ea4NvUYu6EM2NIN1Ynfn/vDqhpvGF1OXvMUm6P2ZytdXHXdSW+XteMlbvMn6htHbCP7WzYtg6syAbXgfhMEWM2e64Mj6Gia/Umaz/ZMPxNuGw7a2P9WBuHR1dr691BYTQRatsbA7F+C2s3FmyOawC8zqvWBtH0bG1BSqMamwYoIM++2TW/qgr4/Xce39Q6GgeIuDRHjzXB947Y3N3cD2eusHo/m+AHEG5uHXs2DbHp4v7x0SJ8fLQI4TeH4zc17UJGQbnNtTdSGrJfiNwPqc/BZBj8hPh6YdXu33lPwmn4m3DZdraOw8NAWwP12aOJkN8c98vUzZAYv4W1JjddcGftuD7ywihe51VrNarNCg8c9u2G46OHIeWxuTc/WBr1LhQAEafkLGNNmAqehL6wCrU+ezYNcenirq5qxPytp7DhocR2NTBCXGDEnPzUFFsDeikFdG0JNTK0ud+Ey7YTYhyea3VNFmsFHf1bsLlpefm7HIudMgyPaz7nVV7HpEQSoikAIqIQolu3s4w10RaXMYMsEfpCbc+7Vy7vsVTbJMQFRuweN6bYEtBLLaDT4TOqtzm6hGlTuGw7e4/D4+jfgs1NC5seqcCtY5TreVXKAbg14qZgE7eUnlOC21YfwMwPj+Hp7dmY+eEx3Lb6ANJzzMxf42J0F2Bb2ONCbc8TGdf3GN6VGtJdYMx9Yxm0uQ/WLjC6mgOV0rhcKqW3aNOU6C48UxK6ICW6E+vf1XB/avsOsQI6PqN6W/PWvgtmzxN8t52Otf0K0PZCs7ZfOfq3ELIpjW+AItQxKQZJBEDr169HZGQkvL29kZycjBMnTlhcfseOHejbty+8vb0xYMAA7N692+j12bNnQyaTGT3GjRtnz69AWNLdFba9a9G1V7tLEKS7AAf7erBaPtjX0+hve1yo7XkiY3OBMaXtCV7IC8y4uHAceWEUts0dhrdnJGDb3GE48sIoyYytxIXUAjo+o3oDN2tIArzwzOheJl+313lCt19ZCtgq61uwN09tdV2O/C3YBi3Bvp52C1CkGICzJXovsM8//xyPPPIINm7ciOTkZKxduxY7duzA+fPnERoa2m75X3/9FXfccQdWrVqFiRMnYuvWrVi9ejWysrIQF6cdyXL27NkoLS3Fpk2b9O/z8vJCUFAQqzJRLzD7sNZbgE2PF1fTfENjdcwgldIbh5+7E5kXr9s938mePezMrdsSc71lnGFwSDFG75bKiOFse9oZ4tIjyx7niVYNg6RX9lodiZrt5zrit2DbE27phFjM32rfnrNSOSa5XL9FD4CSk5MxZMgQrFu3DgCg0WjQrVs3PPXUU1i8eHG75adPn466ujr88MMP+ueGDRuGhIQEbNy4EYA2AKqsrMS3337Lq0wUANmHM3TXZaNtrxbIgGu1TbxPco7u1s+mPPY6kbFNimVzsZHKxd4UqVwMhMBnO7M91g3pto+yo6co5wlnPT+xPX84Yp+UwjHpNN3gm5ubkZmZiSVLluifk8vlSE1NRUZGhsn3ZGRkYNGiRUbPjR07tl2wc+jQIYSGhiIoKAijRo3CK6+8gk6dTO+0TU1NaGpq0v9dXV3N8xsRS6TeXZcNaxdwPicUR3frZ1Mee/WwM1z33jw1PjlaxDsRWapJ8FKZZkMIfC+abJKBwwK88Mb9Ce1uHtj2yLL1PNH2Ym04vo89P1dobM8fjug5K9Vj0hxRA6Br166htbUVYWFhRs+HhYXhdzODJKnVapPLq9W32mbHjRuHadOmISoqCgUFBXjxxRcxfvx4ZGRkQKFQtFvnqlWrsGLFCgG+EbHEmXsLAOx6tfC9yEmtW789T2S6dadEd8LQqGDJBH5CkNI0G7ayJZBj09Nu+eT+GB7TfiRgR5wnTAV2bPPxHHl+Ylujwvb84WwBir25ZDf4GTNm6P8/YMAAxMfHIzo6GocOHcLo0aPbLb9kyRKjWqXq6mp062a6yyXhT6rdddlg26vFloucO56cpBb42UpK02zYQohAjm/Npr3PE+YCO2vdxR19fuIzoapun5JCU5QzEDUACgkJgUKhQGlpqdHzpaWlUKlUJt+jUqk4LQ8APXv2REhICPLz800GQF5eXvDyYjfjL+FPiuOvsMWlV4uzXOSkwpUCP1do5gWEC+T4BLj2PE+wvZER+/xkS+2bK+Wf2Zuo3eA9PT2RlJSE/QYTpGk0Guzfvx8pKSkm35OSkmK0PADs3bvX7PIA8Ndff6G8vBzh4fTji01q3XXZsvfgf6a0ahhkFJTju+zLyCgoR6vG8mmb6/JEOLptf6G0htXyUm3m1REykOMzRo+9zhNsb2SC2gw7oezogWdSexnNRs+XtePUWu0boK19M3V80zAj3IjeBLZo0SLMmjULgwcPxtChQ7F27VrU1dVhzpw5AIBHHnkEXbp0wapVqwAATz/9NEaMGIE33ngDEyZMwPbt23Hy5El88MEHAIDa2lqsWLEC9957L1QqFQoKCvD8888jJiYGY8eOFe17klucsdnDEYP/GeJ6F0d3feLhMt2DlJt5DUkhX88e5wm2gd3SCf1QXNGATUcLUdnQgsqGFry17wK2/3bJpmOKzXHKt/bNlfLPHEX0gRCnT5+ONWvWYNmyZUhISEB2djbS09P1ic7FxcUoKbkVtf7tb3/D1q1b8cEHH2DgwIH48ssv8e233+rHAFIoFDhz5gwmT56M3r1749FHH0VSUhJ++eUXauaSEFtHbrXEHjUhXAbys3VgMa53cXTXJx5z294UIZpRHFXLJ5XRfYU+T7AN2IorGrB23x+obDDOC7LlmGJ7nPKtfeMSOBEt0ccBkiIaB8h52XsMG2sD+dk6dg/XwSJpcEnxWNv2bdm6H5rbt5dO6IcgXy/Ba1OlNj6VENgMHBgW4AVAZrZbPJ8xqpJ6BGHE6wdZHacnCit4jUfEdvDJt+4fCJWyo9H+AsCpauQtcZpxgAgRkr3HXzHXq8WQrV24uVZ/u0qvI2fENp9kwZ0xGB4TYtNFxdy+XVLViHlbTxk9J1TAPy4uHOsfSLw5m/itkcqdeZgCNgnWM4d2x1v7Lphdh7VjylwXe7YzsvPtBce2dmvlrnNGv2egj7b7v+EI2O7SfE4BEHEJjmr/bpuXYDgStOH/MwrKeV3wuFZ/u0qvI2fEdpv2CvOzKfjkOrGoUAF/ek4JVu7KM7pYBvt6YOmEfna5MDqq67a17vlNNzSs1mPq9+fbxd5wnXx7wVkLnG6VxXjaHVNTfzjjoJ18UABEXIIja0JMddtOzynBs1+etrnpjWvyqRSSVd2Vo7Y914lFhQj4zV3Ir9e1YP7WU9gglwl6YXR0Er+lBOuMgnJW62j7u3INVC2tk88YSpYCJ67cJWmaAiDiEsSsCWHb9MbmDpdr9bczDy7p7By17fnss7YE/I7uTcSl6VrIWiJz40/x/V25BqrW1smnF5y5wIlPQOQOzecUABGXIFZNCNuLhUYDrNxl/Q6Xa/W3GINLOqqpQuqj2Tpq29uyz/IJnhxZm8ol2Nqbp3ZILRHf35XvzZWldfIZJNTUfHu21Aa5cvO56N3gCRGCWN122V4s5m1l302d6yBwjhxcMj2nBLetPoCZHx7D09uzMfPDY7ht9QHBu9o76nNs5Yhtz2UIhrb4BE+OrE1le/ysO5Dv0KEe+PyubLd1cJtBFu1xnCrkMgyNCsaPOWrrC1vhys3nVANEXIJY02zYchGw1JzAtfrbEYNLOmqWc0d8jpC1S/be9nxyO2xpfnNkbSrb42fT0ULeTXJ8f2uuvyvbprPDz92JzIvX7V6zaUuTHOAezecUABGXwXfyRVvYehGw1JzAtfrbnnNqOSovxBGfY4+EW3vPZ8ZmCAYdWwN+R+aVsT1+2g5IaMjSMWTrb831d50xpDve2vdHu+cNfxPPDnJB9xVzAZ4tN2dSn5tRKBQAEZfi6Gk22HY9tUbq7eyOygux9+c4qhbLHkzt29frmtvlltka8DuyNpVNsKXs6GExANJpeww58re2Nh2KvW7CLAV4bINLP68O6KCQGXWHd+axnrigAIi4HEfOLm7tYsE2KJJ6O7uj8kLs+TmuMFeSqX17bJzwAb+jalMNj5+2dN9gzvBIiwMT6hgeQ478rc0FWjoLU3thwahegu9T1gK89Q8MsnpzFuzrgWNLUqGQyyTd4cBeKAAixEaWLhZLJ/TDyl3nnL6buqPyQvh8DtscD2cZNZvN93FEDzlH1qYqfTzaDcgX6OOBVdMGYEysCtt/u8TpGHLUb21t7B8ZgO2/XcKCUb14fwbXz9UFeCt3ncPSCbGYv9V8Td5/7hkAzw7avlCu2tXdEgqACBGApYuFXC5zeHK20ByVF8L1c7jkeDjDqNlsvo8jBw20d22qpdqT6zcDIj5Nco76rcUKqtl+bpCvp8PzIp0JdYMnRCDmZq52ZDd1e9FdhIBbFx0dIQM5Lp/DdnZtHamPms3m+3D9zlLGpvZkxfd5aNUwnI8hR/3WYgXVXD53XFw4jrwwCtvmDsPbMxKwbe4wHHlhlFOcd+yNaoAIcQBHJ2ebYmuziaPyQth8Dp8cDymPms3m+yzfmQtA5tQ5TIa41p5wOYYc9VuLFVRz/VxH5kU6EwqACHEQMU9CQjWbOCqQs/Y5fJoexBorig0230dd3WRxHVLJYWKLT+0J22PIUb+1WEG1lIN5Z0JNYIS4OKGbTcw19QnN0ufwbXqQanOkkE0kUh9SQcfetSeO+K0d1TQslc91NVQDRIgT4dqM5Qpdv02x5eIphebItoRsIpH6kAo6jqjFcMRvLcYArGJ+riuhAIgQJ8GnGctZun5zZevFU2o5EWy+T1iAFwAZSqtdo9nDUc1UjvitxQqqpRjMOxNqAiPECfBtxnKGrt98uFoTAJvvs3xyfyyf7DrfGZBukyQfjmoalsrnugKqASJE4mxpxpJ6129buFoTANvv40rfGaBaDCIeGcMwtkxh5JKqq6uhVCpRVVWFgIAAsYtD3FxGQTlmfnjM6nLb5g5rV9XfqmFw2+oDVpuKjrwwymkvOI4YFdmRpDISNCHOiMv1m2qACJE4W5qxpNz1WyhSy+exFZvv42rfmRAxUA4QIRJnazOWK+VZEEKIUKgGiBCJE6K7MOVZEEKIMQqACJE4oZqxqNmEEEJuoSYwQpwANWMRQoiwqAaIECdBzViEECIcCoAIkSBz3ZypGYsQQoRBARAhEiPUzO2EEELMoxwgQiRE6JnbCeGjVcMgo6Ac32VfRkZBOVo1NF4ucT1UA0SIRLjqzO3EuVANJHEXVANEiERwmbmdEHugGkjiTigAIkQiXHXmduIcrNVAAtoaSGoOI66CAiBCJMKVZ24n0kc1kMTdUABEiEToprwwl90jgzYXw9KUF4TwRTWQxN1QAESIROimvADQLghylZnbiXRRDSRxNxQAESIhNOUFEQvVQBJ3Q93gCZEYmvKCiEGoSXcJcRYyhmEopb+N6upqKJVKVFVVISAgQOziEEKIw9A4QMSZcbl+Uw0QIYQQPaqBJO6CAiBCCCFGaNJd4g4oCZoQQgghbocCIEIIIYS4HQqACCGEEOJ2KAAihBBCiNuhAIgQQgghbocCIEIIIYS4HQqACCGEEOJ2KAAihBBCiNuhAIgQQgghbodGgjZBNz1adXW1yCUhhBBCCFu66zabaU4pADKhpqYGANCtWzeRS0IIIYQQrmpqaqBUKi0uQ7PBm6DRaHDlyhX4+/tDJhN2AsDq6mp069YNly5dopnmWaDtxQ1tL+5om3FD24s72mbc2LK9GIZBTU0NIiIiIJdbzvKhGiAT5HI5unbtatfPCAgIoAOBA9pe3ND24o62GTe0vbijbcYN3+1lreZHh5KgCSGEEOJ2KAAihBBCiNuhAMjBvLy8kJaWBi8vL7GL4hRoe3FD24s72mbc0PbijrYZN47aXpQETQghhBC3QzVAhBBCCHE7FAARQgghxO1QAEQIIYQQt0MBECGEEELcDgVADrR+/XpERkbC29sbycnJOHHihNhFkoTly5dDJpMZPfr27at/vbGxEfPnz0enTp3g5+eHe++9F6WlpSKW2PF+/vlnTJo0CREREZDJZPj222+NXmcYBsuWLUN4eDg6duyI1NRUXLhwwWiZiooKPPjggwgICEBgYCAeffRR1NbWOvBbOI617TV79ux2+9y4ceOMlnGn7bVq1SoMGTIE/v7+CA0NxdSpU3H+/HmjZdgch8XFxZgwYQJ8fHwQGhqK5557Djdu3HDkV3EYNtts5MiR7fazJ554wmgZd9lmGzZsQHx8vH5ww5SUFPz444/618XYvygAcpDPP/8cixYtQlpaGrKysjBw4ECMHTsWZWVlYhdNEvr374+SkhL948iRI/rXFi5ciO+//x47duzA4cOHceXKFUybNk3E0jpeXV0dBg4ciPXr15t8/bXXXsM777yDjRs34vjx4/D19cXYsWPR2NioX+bBBx9Ebm4u9u7dix9++AE///wzHnvsMUd9BYeytr0AYNy4cUb73LZt24xed6ftdfjwYcyfPx/Hjh3D3r170dLSgrvuugt1dXX6Zawdh62trZgwYQKam5vx66+/4tNPP8XmzZuxbNkyMb6S3bHZZgAwd+5co/3stdde07/mTtusa9euePXVV5GZmYmTJ09i1KhRmDJlCnJzcwGItH8xxCGGDh3KzJ8/X/93a2srExERwaxatUrEUklDWloaM3DgQJOvVVZWMh4eHsyOHTv0z507d44BwGRkZDiohNICgPnmm2/0f2s0GkalUjGvv/66/rnKykrGy8uL2bZtG8MwDJOXl8cAYH777Tf9Mj/++CMjk8mYy5cvO6zsYmi7vRiGYWbNmsVMmTLF7HvceXsxDMOUlZUxAJjDhw8zDMPuONy9ezcjl8sZtVqtX2bDhg1MQEAA09TU5NgvIIK224xhGGbEiBHM008/bfY97r7NgoKCmI8++ki0/YtqgBygubkZmZmZSE1N1T8nl8uRmpqKjIwMEUsmHRcuXEBERAR69uyJBx98EMXFxQCAzMxMtLS0GG27vn37onv37rTtbiosLIRarTbaRkqlEsnJyfptlJGRgcDAQAwePFi/TGpqKuRyOY4fP+7wMkvBoUOHEBoaij59+uDJJ59EeXm5/jV3315VVVUAgODgYADsjsOMjAwMGDAAYWFh+mXGjh2L6upq/V2+K2u7zXQ+++wzhISEIC4uDkuWLEF9fb3+NXfdZq2trdi+fTvq6uqQkpIi2v5Fk6E6wLVr19Da2mr0wwFAWFgYfv/9d5FKJR3JycnYvHkz+vTpg5KSEqxYsQK33347cnJyoFar4enpicDAQKP3hIWFQa1Wi1NgidFtB1P7l+41tVqN0NBQo9c7dOiA4OBgt9yO48aNw7Rp0xAVFYWCggK8+OKLGD9+PDIyMqBQKNx6e2k0GjzzzDMYPnw44uLiAIDVcahWq03ug7rXXJmpbQYADzzwAHr06IGIiAicOXMGL7zwAs6fP4+vv/4agPtts7NnzyIlJQWNjY3w8/PDN998g9jYWGRnZ4uyf1EAREQ3fvx4/f/j4+ORnJyMHj164IsvvkDHjh1FLBlxVTNmzND/f8CAAYiPj0d0dDQOHTqE0aNHi1gy8c2fPx85OTlGeXjEMnPbzDBnbMCAAQgPD8fo0aNRUFCA6OhoRxdTdH369EF2djaqqqrw5ZdfYtasWTh8+LBo5aEmMAcICQmBQqFol9FeWloKlUolUqmkKzAwEL1790Z+fj5UKhWam5tRWVlptAxtu1t028HS/qVSqdol3N+4cQMVFRW0HQH07NkTISEhyM/PB+C+22vBggX44YcfcPDgQXTt2lX/PJvjUKVSmdwHda+5KnPbzJTk5GQAMNrP3GmbeXp6IiYmBklJSVi1ahUGDhyIt99+W7T9iwIgB/D09ERSUhL279+vf06j0WD//v1ISUkRsWTSVFtbi4KCAoSHhyMpKQkeHh5G2+78+fMoLi6mbXdTVFQUVCqV0Taqrq7G8ePH9dsoJSUFlZWVyMzM1C9z4MABaDQa/UnZnf31118oLy9HeHg4APfbXgzDYMGCBfjmm29w4MABREVFGb3O5jhMSUnB2bNnjQLHvXv3IiAgALGxsY75Ig5kbZuZkp2dDQBG+5k7bbO2NBoNmpqaxNu/bMngJuxt376d8fLyYjZv3szk5eUxjz32GBMYGGiU0e6u/vWvfzGHDh1iCgsLmaNHjzKpqalMSEgIU1ZWxjAMwzzxxBNM9+7dmQMHDjAnT55kUlJSmJSUFJFL7Vg1NTXMqVOnmFOnTjEAmDfffJM5deoUc/HiRYZhGObVV19lAgMDme+++445c+YMM2XKFCYqKoppaGjQr2PcuHHMoEGDmOPHjzNHjhxhevXqxcycOVOsr2RXlrZXTU0N8+yzzzIZGRlMYWEhs2/fPiYxMZHp1asX09jYqF+HO22vJ598klEqlcyhQ4eYkpIS/aO+vl6/jLXj8MaNG0xcXBxz1113MdnZ2Ux6ejrTuXNnZsmSJWJ8Jbuzts3y8/OZ//f//h9z8uRJprCwkPnuu++Ynj17MnfccYd+He60zRYvXswcPnyYKSwsZM6cOcMsXryYkclkzE8//cQwjDj7FwVADvTuu+8y3bt3Zzw9PZmhQ4cyx44dE7tIkjB9+nQmPDyc8fT0ZLp06cJMnz6dyc/P17/e0NDAzJs3jwkKCmJ8fHyYe+65hykpKRGxxI538OBBBkC7x6xZsxiG0XaFX7p0KRMWFsZ4eXkxo0ePZs6fP2+0jvLycmbmzJmMn58fExAQwMyZM4epqakR4dvYn6XtVV9fz9x1111M586dGQ8PD6ZHjx7M3Llz292MuNP2MrWtADCbNm3SL8PmOCwqKmLGjx/PdOzYkQkJCWH+9a9/MS0tLQ7+No5hbZsVFxczd9xxBxMcHMx4eXkxMTExzHPPPcdUVVUZrcddttk//vEPpkePHoynpyfTuXNnZvTo0frgh2HE2b9kDMMw/OqOCCGEEEKcE+UAEUIIIcTtUABECCGEELdDARAhhBBC3A4FQIQQQghxOxQAEUIIIcTtUABECCGEELdDARAhhBBC3A4FQIQQpyKTyfDtt9+KXQxCiJOjAIgQIilqtRpPPfUUevbsCS8vL3Tr1g2TJk0ymifIEUaOHIlnnnnGoZ9JCHGcDmIXgBBCdIqKijB8+HAEBgbi9ddfx4ABA9DS0oI9e/Zg/vz5+P3338UuImfNzc3w9PQUuxiEkDaoBogQIhnz5s2DTCbDiRMncO+996J3797o378/Fi1ahGPHjumXu3btGu655x74+PigV69e2Llzp/611tZWPProo4iKikLHjh3Rp08fvP3220afM3v2bEydOhUrVqxA586dERAQgCeeeALNzc361w8fPoy3334bMpkMMpkMRUVFAICcnByMHz8efn5+CAsLw8MPP4xr167p1z1y5EgsWLAAzzzzDEJCQjB27Fg7bjFCCF8UABFCJKGiogLp6emYP38+fH19270eGBio//+KFStw//3348yZM7j77rvx4IMPoqKiAgCg0WjQtWtX7NixA3l5eVi2bBlefPFFfPHFF0br279/P86dO4dDhw5h27Zt+Prrr7FixQoAwNtvv42UlBTMnTsXJSUlKCkpQbdu3VBZWYlRo0Zh0KBBOHnyJNLT01FaWor777/faN2ffvopPD09cfToUWzcuFHgLUUIEQTvaVQJIURAx48fZwAwX3/9tcXlADAvv/yy/u/a2loGAPPjjz+afc/8+fOZe++9V//3rFmzmODgYKaurk7/3IYNGxg/Pz+mtbWVYRiGGTFiBPP0008brWflypXMXXfdZfTcpUuXGADM+fPn9e8bNGiQ5S9LCBEd5QARQiSBYRjWy8bHx+v/7+vri4CAAJSVlemfW79+PT755BMUFxejoaEBzc3NSEhIMFrHwIED4ePjo/87JSUFtbW1uHTpEnr06GHyc0+fPo2DBw/Cz8+v3WsFBQXo3bs3ACApKYn1dyGEiIMCIEKIJPTq1QsymYxVorOHh4fR3zKZDBqNBgCwfft2PPvss3jjjTeQkpICf39/vP766zh+/LjNZaytrcWkSZOwevXqdq+Fh4fr/2+qCY8QIi0UABFCJCE4OBhjx47F+vXr8X//93/tgojKykqjPCBzjh49ir/97W+YN2+e/rmCgoJ2y50+fRoNDQ3o2LEjAODYsWPw8/NDt27dAACenp5obW01ek9iYiK++uorREZGokMHOn0S4swoCZoQIhnr169Ha2srhg4diq+++goXLlzAuXPn8M477yAlJYXVOnr16oWTJ09iz549+OOPP7B06VL89ttv7ZZrbm7Go48+iry8POzevRtpaWlYsGAB5HLtaTEyMhLHjx9HUVERrl27Bo1Gg/nz56OiogIzZ87Eb7/9hoKCAuzZswdz5sxpFywRQqSNAiBCiGT07NkTWVlZuPPOO/Gvf/0LcXFxGDNmDPbv348NGzawWsfjjz+OadOmYfr06UhOTkZ5eblRbZDO6NGj0atXL9xxxx2YPn06Jk+ejOXLl+tff/bZZ6FQKBAbG4vOnTujuLgYEREROHr0KFpbW3HXXXdhwIABeOaZZxAYGKgPnAghzkHGcMk8JIQQFzB79mxUVlbSlBqEuDG6ZSGEEEKI26EAiBBCCCFuh5rACCGEEOJ2qAaIEEIIIW6HAiBCCCGEuB0KgAghhBDidigAIoQQQojboQCIEEIIIW6HAiBCCCGEuB0KgAghhBDidigAIoQQQojboQCIEEIIIW7n/wPfpN4tLLoNcgAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"source": [
"The above plot shows us that as we read through the text chronologically, we see content that becomes more and more different from the first chapter. Specifically, the word usage throughout the rest of the book different significantly from the word usage of the first chapter. This plot also helps us identitfy places where this trend may not be completely true. For instance, we see a cluster in the 150s and 200s of chapters that have a higher similarity score than the chapters around them. We could select this points and investigate further.\n",
"\n",
"All of this would not have been possible without vectorizing our text. As a result, feature extraction is usually the first step in any NLP model, like we've made above. There are more advanced ways of doing it, but TF-IDF has stood the text of time and is still used today."
],
"metadata": {
"id": "FTUHU0zz5Q4v"
}
}
]
}