{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Time Series Chains\n", "\n", "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TDAmeritrade/stumpy/main?filepath=notebooks/Tutorial_Time_Series_Chains.ipynb)\n", "\n", "## Forecasting Web Query Data with Anchored Time Series Chains (ATSC)\n", "\n", "This example is adapted from the [Web Query Volume case study](http://www2015.thewebconf.org/documents/proceedings/companion/p721.pdf) and utilizes the main takeaways from the [Matrix Profile VII](https://www.cs.ucr.edu/~eamonn/chains_ICDM.pdf) research paper." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Getting Started\n", "\n", "Let's import the packages that we'll need to load, analyze, and plot the data." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import pandas as pd\n", "import numpy as np\n", "import stumpy\n", "from scipy.io import loadmat\n", "import matplotlib.pyplot as plt\n", "from matplotlib.patches import Rectangle, FancyArrowPatch\n", "import itertools\n", "\n", "plt.style.use('https://raw.githubusercontent.com/TDAmeritrade/stumpy/main/docs/stumpy.mplstyle')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What are Time Series Chains?\n", "\n", "Time series chains may be informally considered as motifs that evolve or drift in some direction over time. The figure below illustrates the difference\n", "between [time series motifs](Tutorial_STUMPY_Basics.ipynb) (left) and time series chains (right)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.random.rand(20)\n", "y = np.random.rand(20)\n", "n = 10\n", "motifs_x = 0.5 * np.ones(n) + np.random.uniform(-0.05, 0.05, n)\n", "motifs_y = 0.5 * np.ones(n) + np.random.uniform(-0.05, 0.05, n)\n", "sin_x = np.linspace(0, np.pi/2, n+1)\n", "sin_y = np.sin(sin_x)/4\n", "chains_x = 0.5 * np.ones(n+1) + 0.02 * np.arange(n+1)\n", "chains_y = 0.5 * np.ones(n+1) + sin_y\n", "fig, axes = plt.subplots(nrows=1, ncols=2)\n", "axes[0].scatter(x, y, color='lightgrey')\n", "axes[0].scatter(motifs_x, motifs_y, color='red')\n", "axes[1].scatter(x, y, color='lightgrey')\n", "axes[1].scatter(chains_x[0], chains_y[0], edgecolor='red', color='white')\n", "axes[1].scatter(chains_x[1:n], chains_y[1:n], color='red')\n", "axes[1].scatter(chains_x[n], chains_y[n], edgecolor='red', color='white', marker='*', s=200)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Above, we are visualizing time series subsequences as points in high-dimensional space. Shown on the left is a time series motif and it can be thought of as a collection of points that approximate a platonic ideal. In contrast, depicted on the right, is a time series chain and it may be thought of as an evolving trail of points in the space. Here, the open red circle represents the first link in the chain, the anchor. Both motifs and chains have the property that each subsequence is relatively close to its nearest neighbor. However, the motif set (left) also has a relatively small diameter. In contrast, the set of points in a chain (right) has a diameter that is much larger than the mean of each member’s distance to its nearest neighbor and, moreover, the chain has the important property of directionality. For example, in the case of a motif, if an additional member was added to the motif set, its location will also be somewhere near the platonic ideal, but independent of the previous subsequences. In contrast, in the case of a chain, the location of the next member of the chain would be somewhere after the last red circle, possibly where the open red star is located." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A Simplified Example\n", "\n", "Adapted from the [Matrix Profile VII](https://www.cs.ucr.edu/~eamonn/chains_ICDM.pdf) paper, consider the following time series:\n", "\n", "47, 32, 1, 22, 2, 58, 3, 36, 4, -5, 5, 40\n", "\n", "Assume that the subsequence length is 1 and the distance between two subsequences is simply the absolute difference\n", "between them. To be clear, we are making these simple and pathological assumptions here just for the purposes of\n", "elucidation; we are actually targeting much longer subsequence lengths and using z-normalized Euclidean distance in our\n", "applications. To capture the directionality of a time series chain, we need to store the left and right nearest neighbor information into the left (IL) and right (IR) matrix profile indices:\n", "\n", "| Index | Value | Left Index (IL) | Right Index (IR) |\n", "|-------|-------|-----------------|------------------|\n", "| 1 | 47 | - | 12 |\n", "| 2 | 32 | 1 | 8 |\n", "| 3 | 1 | 2 | 5 |\n", "| 4 | 22 | 2 | 8 |\n", "| 5 | 2 | 3 | 7 |\n", "| 6 | 58 | 1 | 12 |\n", "| 7 | 3 | 5 | 9 |\n", "| 8 | 36 | 2 | 12 |\n", "| 9 | 4 | 7 | 11 |\n", "| 10 | -5 | 3 | 11 |\n", "| 11 | 5 | 9 | 12 |\n", "| 12 | 40 | 8 | - |\n", "\n", "In this vertical/transposed representation, the `index` column shows the location of every subsequence in the time series, the `value` column contains the original numbers from our time series above, the `IL` column shows the left matrix profile indices, and `IR` is the right matrix profile indices. For example, `IR[2] = 8` means the right nearest neighbor of `index = 2` (which has `value = 32`) is at `index = 8` (which has `value = 36`). Similarly, `IL[3] = 2` means that the left nearest neighbor of `index = 3` (with `value = 1`) is at `index = 2` (which has `value = 32`). To better visualize the left/right matrix profile index, we use arrows to link every subsequence in the time series with its left and right nearest neighbors:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nearest_neighbors = np.array([[1, 47, np.nan, 12],\n", " [2, 32, 1, 8],\n", " [3, 1, 2, 5],\n", " [4, 22, 2, 8],\n", " [5, 2, 3, 7],\n", " [6, 58, 1, 12],\n", " [7, 3, 5, 9],\n", " [8, 36, 2, 12],\n", " [9, 4, 7, 11],\n", " [10, -5, 3, 11],\n", " [11, 5, 9, 12],\n", " [12, 40, 8, np.nan]])\n", "\n", "colors = [['C1', 'C1'],\n", " ['C2', 'C5'],\n", " ['C3', 'C5'],\n", " ['C4', 'C4'],\n", " ['C3', 'C2'],\n", " ['C5', 'C3'],\n", " ['C3', 'C2'],\n", " ['C2', 'C1'],\n", " ['C3', 'C2'],\n", " ['C6', 'C1'],\n", " ['C6', 'C2'],\n", " ['C1', 'C1']]\n", "\n", "style=\"Simple, tail_width=0.5, head_width=6, head_length=8\"\n", "kw = dict(arrowstyle=style, connectionstyle=\"arc3, rad=-.5\",)\n", "\n", "xs = np.arange(nearest_neighbors.shape[0]) + 1\n", "ys = np.zeros(nearest_neighbors.shape[0])\n", "plt.plot(xs, ys, markerfacecolor=\"None\", markeredgecolor=\"None\", linewidth=0)\n", "\n", "x0, x1, y0, y1 = plt.axis()\n", "plot_margin = 5.0\n", "plt.axis((x0 - plot_margin,\n", " x1 + plot_margin,\n", " y0 - plot_margin,\n", " y1 + plot_margin))\n", "plt.axis('off')\n", "\n", "for x, y, nearest_neighbor, color in zip(xs, ys, nearest_neighbors, colors):\n", " plt.text(x, y, str(int(nearest_neighbor[1])), color=\"black\", fontsize=20)\n", " \n", " # Plot right matrix profile indices\n", " if not np.isnan(nearest_neighbor[3]):\n", " arrow = FancyArrowPatch((x, 0.5), (nearest_neighbor[3], 0.5), color=color[0], **kw)\n", " plt.gca().add_patch(arrow)\n", " \n", " # Plot left matrix profile indices\n", " if not np.isnan(nearest_neighbor[2]):\n", " arrow = FancyArrowPatch((x, 0.0), (nearest_neighbor[2], 0.0), color=color[1], **kw)\n", " plt.gca().add_patch(arrow)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An arrow pointing from a number to its right nearest neighbor (arrows shown above the time series) can be referred to as forward arrow and an arrow pointing from a number to its left nearest neighbor (arrows shown below the time series) can be referred to as a backward arrow. According to the formal definition of a time series chain (see [Matrix Profile VII](https://www.cs.ucr.edu/~eamonn/chains_ICDM.pdf) for a thorough definition and discussion), every pair of consecutive subsequences in a chain must be connected by both a forward arrow and a backward arrow. A keen eye will spot the fact that the longest chain in our simplified example is:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABGoAAAFUCAYAAAB8/9p8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAsm0lEQVR4nO3deXhtV0E+4G+VDpSpRWYQW0Agh3JUlHmeWmYZBJlawiwIMisKMlMEGWSefioNFKRlnlFaWtqqCCjQ03IiU6vMg1golEnYvz/WDjk3zU2Te5OcleR9n+c8udlnyNr5sm+yv7P32qXrugAAAAAwfftMewAAAAAAVIoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihq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AACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABqhqAEAAABohKIGAAAAoBGKGgAAAIBGKGoAAAAAGqGoAQAAAGiEogYAAACgEYoaAAAAgEYoagAAAAAaoagBAAAAaISiBgAAAKARihoAAACARihqAAAAABrx/wHygYSBnoii8QAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nearest_neighbors = np.array([[1, 47, np.nan, np.nan],\n", " [2, 32, np.nan, np.nan],\n", " [3, 1, np.nan, 5],\n", " [4, 22, np.nan, np.nan],\n", " [5, 2, 3, 7],\n", " [6, 58, np.nan, np.nan],\n", " [7, 3, 5, 9],\n", " [8, 36, np.nan, np.nan],\n", " [9, 4, 7, 11],\n", " [10, -5, np.nan, np.nan],\n", " [11, 5, 9, np.nan],\n", " [12, 40, np.nan, np.nan]])\n", "\n", "colors = [['C1', 'C1'],\n", " ['C2', 'C5'],\n", " ['C3', 'C5'],\n", " ['C4', 'C4'],\n", " ['C3', 'C2'],\n", " ['C5', 'C3'],\n", " ['C3', 'C2'],\n", " ['C2', 'C1'],\n", " ['C3', 'C2'],\n", " ['C6', 'C1'],\n", " ['C6', 'C2'],\n", " ['C1', 'C1']]\n", "\n", "style=\"Simple, tail_width=0.5, head_width=6, head_length=8\"\n", "kw = dict(arrowstyle=style, connectionstyle=\"arc3, rad=-.5\",)\n", "\n", "xs = np.arange(nearest_neighbors.shape[0]) + 1\n", "ys = np.zeros(nearest_neighbors.shape[0])\n", "plt.plot(xs, ys, markerfacecolor=\"None\", markeredgecolor=\"None\", linewidth=0)\n", "\n", "x0, x1, y0, y1 = plt.axis()\n", "plot_margin = 5.0\n", "plt.axis((x0 - plot_margin,\n", " x1 + plot_margin,\n", " y0 - plot_margin,\n", " y1 + plot_margin))\n", "plt.axis('off')\n", "\n", "for x, y, nearest_neighbor, color in zip(xs, ys, nearest_neighbors, colors):\n", " plt.text(x, y, str(int(nearest_neighbor[1])), color=\"black\", fontsize=20)\n", " \n", " # Plot right matrix profile indices\n", " if not np.isnan(nearest_neighbor[3]):\n", " arrow = FancyArrowPatch((x, 0.5), (nearest_neighbor[3], 0.5), color=color[0], **kw)\n", " plt.gca().add_patch(arrow)\n", " \n", " # Plot left matrix profile indices\n", " if not np.isnan(nearest_neighbor[2]):\n", " arrow = FancyArrowPatch((x, 0.0), (nearest_neighbor[2], 0.0), color=color[1], **kw)\n", " plt.gca().add_patch(arrow)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The longest extracted chain is therefore 1 ⇌ 2 ⇌ 3 ⇌ 4 ⇌ 5. Note that we see a gradual monotonic increase in the data but, in reality, the increase or decrease in drift can happen in arbitrarily complex ways that can be detected by the time series chains approach. The key component of drifting is that the time series must contain chains with clear directionality.\n", "\n", "STUMPY is capable of computing:\n", "\n", "1. anchored time series chains (ATSC) - grow a chain from a user-specified anchor (i.e., specific subsequence)\n", "2. all-chain set (ALLC) - a set of anchored time series chains (i.e., each chain starts with a particular subsequence) that are not subsumed by another longer chain\n", "3. unanchored time series chain - the unconditionally longest chain within a time series (note that there could be more than one if there were chains with the same length but only one is returned) \n", "\n", "So, what does this mean in the context of a real time series? Let's take a look at a real example from web query data!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Retrieve the Data\n", "\n", "We will be looking at a noisy dataset that is under-sampled and has a growing trend, which will perfectly illustrate the idea regarding time series chains. The data contains a decade-long GoogleTrend query volume (collected weekly from 2004-2014) for the keyword Kohl’s, an American retail chain. First, we'll download the data, extract it, and insert it into a pandas dataframe." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \n", " \n", "
volume
00.010417
10.010417
20.010417
30.000000
40.000000
\n", "
" ], "text/plain": [ " volume\n", "0 0.010417\n", "1 0.010417\n", "2 0.010417\n", "3 0.000000\n", "4 0.000000" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(\"https://zenodo.org/record/4276348/files/Time_Series_Chains_Kohls_data.csv?download=1\")\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing the Data" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABIkAAAFlCAYAAABvDLgGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAACGOUlEQVR4nOzddXiV9f/H8ec9VnSOZnR3SyiltNINgoIIAoIg3SBISbfkF2lJESkRSYUB0jm6a8BgY3n//hjn/BjbYL0Dez2ui0t3dsfnnLP3Ofd5nU8YpmkiIiIiIiIiIiLxm11cN0BEREREREREROKeQiIREREREREREVFIJCIiIiIiIiIiColERERERERERASFRCIiIiIiIiIigkIiEREREREREREB7OO6AW+SJk0aM1u2bHHdDBERERERERGR98bhw4cfmKbp8vrtNh0SZcuWDTc3t7huhoiIiIiIiIjIe8MwjKuh3a7hZiIiIiIiIiIiopBIREREREREREQUEomIiIiIiIiICAqJREREREREREQEhUQiIiIiIiIiIoJCIhERERERERERQSGRiIiIiIiIiIigkEhERERERERERFBIJCIiIiIiIiIiRFNIZBjGAsMw7hmGcTKM31c2DOOJYRj/vfw3JDrOKyIiIiIiIiIi0cM+mo6zCJgO/O8N2+wxTbNuNJ1PRERERERERESiUbT0JDJNczfwKDqOJSIiIiIiIiIisS+6ehKFRznDMI4Bt4DvTdM8FdpGhmF0BDoCuLq6xmLzJCLc3d3jugkShpw5c8Z1EyQMqhvbptqxXaod26W6sV2qG9um2rFdqh3bpbqJHbE1cfURIKtpmkWBacD6sDY0TXOuaZqlTNMs5eLiEkvNExERERERERGJ32IlJDJN86lpms9e/v9mwMEwjDSxcW4REREREREREXm7WAmJDMNIbxiG8fL/y7w878PYOLeIiIiIiIiIiLxdtMxJZBjGcqAykMYwjBvAUMABwDTN2UBjoLNhGP6AN9DcNE0zOs4tIiIiIiIiIiJRFy0hkWmaLd7y++nA9Og4l4iIiIiIiIiIRL/YmrhaRERERERERERsmEIiERERERERERFRSCQiIiIiIiIiIgqJREREREREREQEhUQiIiIiIiIiIoJCIhERERERERERQSGRiIiIiIiIiIigkEhERERERERERFBIJCIiIiIiIiIiKCQSEREREREREREUEomIiIiIiIiICAqJREREREREREQEhUQiIiIiIiIiIoJCIhERERERERERQSGRiIiIiIiIiIigkEhERERERERERFBIJCIiIiIiIiIiKCQSEREREREREREUEomIiIiIiIiICAqJREREREREREQEhUQiIiIiIiIiIoJCIhERERERERERQSGRiIiIiIiIiIigkEhERERERERERFBIJCIiIiIiIiIiKCQSEREREREREREUEomIiIiIiIiICAqJREREREREREQEhUQiIiIiIiIiIoJCIhERERERERERQSGRiIiIiIiIiIigkEhERERERERERFBIJCIiIiIiIiIiKCQSEREREREREREUEomIiIiIiIiICAqJREREREREREQEhUQiIiIiIiIiIoJCIhERERERERERQSGRiIiIiIiIiIigkEhERERERERERFBIJCIiIiIiIiIiKCQSEREREREREREUEomIiIiIiIiICAqJREREREREREQEhUQiIiIiIiIiIoJCIhERERERERERQSGRiIiIiIiIiIigkEhERERERERERFBIJCIiIiIiIiIiKCQSERERERERERGiKSQyDGOBYRj3DMM4GcbvDcMwphqGcdEwjOOGYZSIjvOKiIiIiIiIiEj0iK6eRIuAmm/4fS0g98t/HYFZ0XReERERERERERGJBtESEpmmuRt49IZN6gH/M4P8A6QwDCNDdJw7qh4+fMi8efNo0KABuXLlImHChCRPnpyKFSsyf/58AgMDQ91v//791K5dm1SpUpEoUSKKFCnC5MmTCQgICPNcixcvpkyZMiRJkoTkyZNTuXJlNm3aFK52nj9/nsSJE2MYBq1bt47UfX3XeHh4sHLlSjp37kzVqlUpWLAgxYoVo1mzZqxatSrM5+bIkSO0b9+ekiVLUqhQIerUqcPChQvf+NysXbuWhg0bUqRIEYoVK0bLli3ZuXNnqNv26dOHXLlyhfnP3d09Wu6/LbP1urly5QqdO3cmR44cODs7kzp1asqWLctPP/0Upfv9rrDF2rlx48Yb68by79ChQ9H2ONgiW66dEydO0KpVK2u7MmXKRJUqVVi5cmWY7Xqf2GLdWPz777989dVXlCpVivz581OlShVGjx7N06dPo3y/3wWxUTc3btxg1KhRNGnShFy5cmFnZ4dhGFy8ePGNbfP29mbo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MtCjRw8cHByYMWMGT5484dtvvwWIlp5EEDQn0vPnz+nSpUuYoaWPjw+1atWievXq7Ny5Ewj6Ozt79iyFCxe2bpciRQp27txJr169APj+++95/vw5zZs359ChQ0DQdcz48ePJkiXLW3sPlipVikOHDtG8efNgt7do0QIPDw/mzp3Ls2fPmDFjBh988AFHjx7l2LFjDBs2jIYNG9KlSxcePHjAd999F6IXkUWVKlVIly4dvXv35u+//2bo0KEcPXqUo0eP8u2335IlSxamTp3Kf//9xzfffIOjo2OY7bX8TUY1bI3Noej37t2jaNGitGnTJlbOZysUEomIyHvj8ePH+Pv7W0Oiu3fv8vz5cyDojX7BggXUqVOHbt26YW9vb71oltgTkZ5ElgkqFRLFDktPovB+GHZ1deXGjRv4+fnFZLPiNTc3N27cuGEdPhVRLi4uPHz4kMDAwGhuWehmzpxJ586d8fPz4+7du9ZeHbNmzeLTTz9l//79XLlyhfbt29OxY0drrxlLUHHhwgXmzp3LtGnTyJQpEytWrAhxjpMnT9KkSRPy589P/vz5ad68OStWrODixYshPixD0JCmc+fOWXsC/PXXX9y9e5f27du/cRhrhQoV8PDwsH6IjymWoW1bt24lR44cjBgxwlqLFv/++y+dOnWiWrVqjB07ltSpU9OnTx+AYPMRva5cuXIcOnSIHDly0LdvXzw9PRk8eDDZs2fn999/J0uWLDg5OXHgwAGGDh1KokSJsLe3Z/To0Zw7d47Jkyfz9ddfc/LkSX744QccHByAoN4cv/zyCzlz5qRJkyb06tWLlStXUqlSJWbOnMmGDRuYMGECdevWZcGCBcyZM4eAgAA6duwYoo0FChSgYsWKzJ07l8DAQLp27UrTpk1Jnz49f/75JylTpgyxj52dHTt37uTIkSPWVReLFClCq1atuHjxIgkSJCB79uyRe0JekydPHsaNG8d///3HhAkTQt3mn3/+4eHDh/j4+NCxY0fmzp3LxYsX8fHxCdHL69VAL2/evPz88894eXnRokUL+vfvzy+//MLZs2fp2bPnGwOX0I5nUaFCBerVq8fUqVPp1q0bjx49ok+fPiRNmpSECRNat+vRowebN28OMdztVfb29jRp0sRaB23atCFp0qQhwr7XF54IS3QMHXd1dY2VeSX9/Pxo3Lgx169f56+//orS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adNy9+5d688uLi7cu3ePOnXqhBpe5MiRgz59+pAkSRL+97//WYdG5cmTh++//56ECRMyf/58du3aRWBgIJs3b8bPz49GjRrh7e3N2rVrGTBgAKNGjQKCQq0ZM2YQGBhIt27dME2T6dOnkz59elq1avW2hzxcfvrpJ2vPJQhaPeqvv/4iderUeHh4kCZNGsqWDfn0JkiQgHbt2lGoUKFoaYeETi+etksXHbZNtWO7VDu2S3Vju1Q3tk21Y7tUO7ZLdRO9YjIkKgcMM02zxsuf+wOYpvnjK9vMAXaZprn85c/ngMqmad4O5ZBWjo6OZrp06YCgpbF9fHzo1q0bhQsX5ty5c0yaNIkECRK8cQnyJEmSMGDAAFq3bm0dfrRjxw66dOmCl5eXdbsUKVIwfPhw6tSpw9ixY1m4cCH+/v6kTp2aUaNGUadOHQC8vLwYOXIky5cvJyAggHTp0jF27FjKlCnDsGHD2L9/P2PGjKFYsWIMHjyYw4cPM378+GhbMv7mzZt8//337N27F4BPPvmEn3/++a0rRkW31188jxw5wtixYylQoAA9e/YkadKksdoe+X968bRduuiwbaod26XasV2qG9ulurFtqh3bpdqxXaqb6BWTIVFjoKZpmh1e/twGKGuaZtdXttkEjDFNc+/Ln/8E+pqmGWIsmWEYHYGOAK6uriWvXr0KBA1V6tOnT7BJglu2bMnEiROxBEkSe/Tiabv04mm7VDe2TbVju1Q7tkt1Y7tUN7ZNtWO7VDu2S3UTvcIKieyj49ih3PZ68hSebYJuNM25wFwImpPIcnvq1KmZP38+P/74I97e3jg7OyscEhERERERERGJJtEREt0Asrzyc2bgViS2CZe0adNGZjcREREREREREXkDu2g4xiEgt2EY2Q3DcASaAxtf22Yj8LkR5APgydvmIxIRERERERERkdgT5Z5Epmn6G4bRFdgKJAAWmKZ5yjCMTi9/PxvYTNDKZhcBL+CLqJ5XRERERERERESiT3QMN8M0zc0EBUGv3jb7lf83gS7RcS4REREREREREYl+0THcTERERERERERE3nEKiURERERERERERCGRiIiIiIiIiIgoJBIRERERERERERQSiYiIiIiIiIgIColERERERERERASFRCIiIiIiIiIigkIiERERERERERFBIZGIiIiIiIiIiKCQSEREREREREREUEgkIiIiIiIiIiIoJBIRERERERERERQSiYiIiIiIiIgIColERERERERERASFRCIiIiIiIiIigkIiERERERERERFBIZGIiIiIiIiIiKCQSEREREREREREUEgkIiIiIiIiIiIoJBIRERERERERERQSiYiIiIiIiIgIColERERERERERASFRCIiIiIiIiIigkIiERERERERERFBIZGIiIiIiIiIiKCQSEREREREREREUEgkIiIiIiIiIiIoJBIRERERERERERQSiYiIiIiIiIgIColERERERERERASFRCIiIiIiIiIigkIiERERERERERFBIZGIiIiIiIiIiKCQSEREREREREREUEgkIiIiIiIiIiIoJBIRERERERERERQSiYiIiIiIiIgIColERERERERERASFRCIiIiIiIiIigkIiERERERERERFBIZGIiIiIiIiIiKCQSEREREREREREUEgkIiIiIiIiIiIoJBIRERERERERERQSiYiIiIiIiIgIColERERERERERASFRCIiIiIiIiIigkIiERERERERERFBIZGIiIiIiIiIiKCQSEREREREREREAPuo7GwYRipgJZANuAI0NU3TI5TtrgCeQADgb5pmqaicV0REREREREREoldUexL1A/40TTM38OfLn8NSxTTNYgqIRERERERERERsT1RDonrA4pf/vxioH8XjiYiIiIiIiIhIHIhqSJTONM3bAC//mzaM7Uxgm2EYhw3D6BjFc4qIiIiIiIiISDR765xEhmHsANKH8quBEThPBdM0bxmGkRbYbhjGWdM0d4dxvo5ARwBXV9cInEJERERERERERCLrrSGRaZofh/U7wzDuGoaRwTTN24ZhZADuhXGMWy//e88wjHVAGSDUkMg0zbnAXIBSpUqZb78LIiIiIiIiIiISVVEdbrYRaPvy/9sCG17fwDCMxIZhJLX8P1AdOBnF84qIiIiIiIiISDSKakg0BvjEMIwLwCcvf8YwjIyGYWx+uU06YK9hGMeAg8DvpmluieJ5RUREREREREQkGr11uNmbmKb5EKgWyu23gNov//8SUDQq5xERERERERERkZgV1Z5EIiIiIiIiIiLyHlBIJCIiIiIiIiIiColEREREREREREQhkYiIiIiIiIiIoJBIRERERERERERQSCQiIiIiIiIiIigkEhERERERERERFBKJiIiIiIiIiAgKiUREREREREREBIVEIiIiIiIiIiKCQiIREREREREREUEhkYiIiIiIiIiIoJBIRERERERERERQSCQiIiIiIiIiIigkEhERERERERERFBKJiIiIiIiIiAgKiUREREREREREBIVEIiIiIiIiIiKCQiIREREREREREUEhkYiIiIiIiIiIoJBIRERERERERERQSCQiIiIiIiIiIigkEhERERERERERFBKJiIiIiIiIiAgKiUREREREREREBIVEIiIiIiIiIiKCQiIREREREREREUEhkYiIiIiIiIiIoJBIRERERERERERQSCQiIiIiIiIiIigkEhERERERERERFBKJiIiIiIiIiAgKiUREREREREREBIVEIiIiIiIiIiKCQiIREREREREREUEhkYiIiIiIiIiIoJBIRERERERERERQSCQiIiIiIiIiIigkEhERERERERERFBKJiIiIiIiIiAgKiUREREREREREBIVEIiIiIiIiIiKCQiIREREREREREUEhkYiIiIiIiIiIoJBIRERERERERERQSCQiIiIiIiIiIigkEhERERERERERFBKJiIiIiIiIiAgKiUREREREREREBIVEIiIiIiIiIiKCQiIRERERERERESGKIZFhGE0MwzhlGEagYRil3rBdTcMwzhmGcdEwjH5ROaeIiIiIiIiIiES/qPYkOgk0BHaHtYFhGAmAGUAtoADQwjCMAlE8r4iIiIiIiIiIRCP7qOxsmuYZAMMw3rRZGeCiaZqXXm67AqgHnI7KuUVEREREREREJPpEKSQKp0zA9Vd+vgGUDWtjwzA6Ah0BXF1dY7ZlEmk5c+aM6yaIvHNUNyKRo9oRiTjVjUjkqHYkvntrSGQYxg4gfSi/Gmia5oZwnCO0bkZmWBubpjkXmAtQqlSpMLcTEREREREREZHo89aQyDTNj6N4jhtAlld+zgzciuIxRUREREREREQkGkV14urwOATkNgwju2EYjkBzYGMsnFdERERERERERMIpSiGRYRgNDMO4AZQDfjcMY+vL2zMahrEZwDRNf6ArsBU4A6wyTfNU1JotIiIiIiIiIiLRKaqrm60D1oVy+y2g9is/bwY2R+VcIiIiIiIiIiISc2JjuJmIiIiIiIiIiNg4hUQiIiIiIiIiIqKQSEREREREREREFBKJiIiIiIiIiAgKiUREREREREREBIVEIiIiIiIiIiKCQiIREREREREREUEhkYiIiIiIiIiIoJBIREREREREREQAwzTNuG5DmAzD8ATOxXU7RGxMGuBBXDdCxAapNkRCUl2IhE61IRKS6iJ+yWqapsvrN9rHRUsi4JxpmqXiuhEitsQwDDfVhUhIqg2RkFQXIqFTbYiEpLoQ0HAzERERERERERFBIZGIiIiIiIiIiGD7IdHcuG6AiA1SXYiETrUhEpLqQiR0qg2RkFQXYtsTV4uIiIiIiIiISOyw9Z5EIiIiIiIiIiISC2wyJDIMo6ZhGOcMw7hoGEa/uG6PSGwyDGOBYRj3DMM4+cptqQzD2G4YxoWX/035yu/6v6yVc4Zh1IibVovELMMwshiG8ZdhGGcMwzhlGEb3l7erNiTeMgzD2TCMg4ZhHHtZF8Nf3q66EAEMw0hgGMZRwzA2vfxZtSHxnmEYVwzDOGEYxn+GYbi9vE21IVY2FxIZhpEAmAHUAgoALQzDKBC3rRKJVYuAmq/d1g/40zTN3MCfL3/m/9q7n5Ap6jiO4+9PZREVdChFNNCDhyjILiF4MYkIiuwSeCg8BF0MCoKgLl07RSdPFQj9EaEk6VAJEV2ixAjK9CAVJUrPIaK6GNanw4wPSyzSJXd55v2CZWa+OwO/w37Yne/Ob2bMxl7gjvGYA2OGpLXmIvBs29uBHcD+8fNvNjRlF4Ddbe8CtgMPJNmBuZAueRo4NbNtNqTBvW23zzzu3mxo1dI1iYB7gDNtv2v7J3AI2LPgMUlXTNtPgV/+Vd4DHBzXDwKPzNQPtb3Q9nvgDEOGpDWl7fm2X47rvzP86N+E2dCEdfDHuLlufBVzIZFkM/Ag8OpM2WxI85kNrVrGJtEm4KeZ7bNjTZqyDW3Pw3CyDKwf6+ZFk5NkC3A38DlmQxM3Tqf5ClgBjrU1F9LgFeA54O+ZmtmQhj8TPkpyIsmTY81saNU1ix7AHJlT8xFs0nzmRZOS5EbgHeCZtr8l8yIw7DqnZja05rT9C9ie5GbgSJI7L7O7udAkJHkIWGl7Ismu/3LInJrZ0Fq1s+25JOuBY0lOX2ZfszFBy3gl0VngtpntzcC5BY1FWhY/J9kIMC5Xxrp50WQkWcfQIHqz7btj2WxIQNtfgU8Y7hlhLjR1O4GHk/zAcOuK3UnewGxItD03LleAIwzTx8yGVi1jk+g4sC3J1iTXMtwo6+iCxyQt2lFg37i+D3hvpr43yXVJtgLbgC8WMD7pf5XhkqHXgFNtX555y2xospLcOl5BRJLrgfuA05gLTVzb59tubruF4Vzi47aPYTY0cUluSHLTpXXgfuAbzIZmLN10s7YXkzwFfAhcDbze9uSChyVdMUneBnYBtyQ5C7wIvAQcTvIE8CPwKEDbk0kOA98yPP1p/zj1QFprdgKPA1+P918BeAGzoWnbCBwcnzRzFXC47ftJPsNcSPP4naGp28AwNRmGXsBbbT9IchyzoVFapxRKkiRJkiRN3TJON5MkSZIkSdIVZpNIkiRJkiRJNokkSZIkSZJkk0iSJEmSJEnYJJIkSZIkSRI2iSRJkiRJkoRNIkmSJEmSJGGTSJIkSZIkScA/cpG7hKnTk0oAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(df['volume'], color='black')\n", "plt.xlim(0, df.shape[0]+12)\n", "color = itertools.cycle(['white', 'gainsboro'])\n", "for i, x in enumerate(range(0, df.shape[0], 52)):\n", " plt.text(x+12, 0.9, str(2004+i), color=\"black\", fontsize=20)\n", " rect = Rectangle((x, -1), 52, 2.5, facecolor=next(color))\n", " plt.gca().add_patch(rect)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The raw time series above displays ten years of web query volume for the keyword \"Kohl's\", where each alternating white and grey vertical band represents a 52 week period starting from 2004 to 2014. As depicted, the time series features a significant but unsurprising \"end-of-year holiday bump\". Relating back to time series chains, we can see that the bump is generally increasing over time and so we might be able to capture this when we compute the unanchored chain.\n", "\n", "However, as we learned above, in order to compute any time series chains, we also need the left and right matrix profile indices. Luckily for us, according to the docstring, the `stump` function not only returns the (bidirectional) matrix profile and the matrix profile indices in the first and second columns of the NumPy array, respectively, but the third and fourth columns consists of the left matrix profile indices and the right matrix profile indices, respectively." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing the Left and Right Matrix Profile Indices\n", "\n", "So, let's go ahead and compute the matrix profile indices and we'll set the window size, `m = 20`, which is the approximate length of a \"bump\"." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "m = 20\n", "mp = stumpy.stump(df['volume'], m=m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing the Unanchored Chain\n", "\n", "Now, with our left and right matrix profile indices in hand, we are ready to call the all-chain set function, `allc`, which not only returns the all-chain set but, as a freebie, it also returns the unconditionally longest chain, also know as the unanchored chain. The latter of which is really what we're most interested in." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "all_chain_set, unanchored_chain = stumpy.allc(mp[:, 2], mp[:, 3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing the Unanchored Chain" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABJIAAAFlCAYAAACwQsIZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAACCBElEQVR4nO3deZxN9R/H8de5sy+2sYx9J1tIyPKzE6EIiUJEIqW0SotUaLO0WZJKqaSyVdYsEcpedjG2sTNmjNnv3PP7Y2buzDWLO/vi/Xw8PNxz7jnnfu/1defe93w/369hmiYiIiIiIiIiIiI3Y8ntBoiIiIiIiIiISP6gIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJzimtsNSEuJEiXMypUr53YzREREREREREQKjJ07d142TbNkRs7N00FS5cqV2bFjR243Q0RERERERESkwDAM42RGz1Vpm4iIiIiIiIiIOEVBkoiIiIiIiIiIOEVBkoiIiIiIiIiIOEVBkoiIiIiIiIiIOEVBkoiIiIiIiIiIOEVBkoiIiIiIiIiIOEVBkoiIiIiIiIiIOEVBkoiIiIiIiIiIOEVBkoiIiIiIiIiIOCVLgiTDML4wDOOiYRj7Urm/rWEYIYZh7In/83pWPK6IiIiIiIiIiOQc1yy6zlfAJ8DXaRyzyTTN7ln0eCIiIiIiIiIiksOyZESSaZobgaCsuJaIiIiIiIiIiORNWTUiyRnNDcP4BzgLPG+a5v6UDjIMYzgwHKBixYo52DwpSI4dO5bbTbilVKtWLbebcEtR/85Z6t85S/0756mP5yz18Zyl/p2z1L9znvq45Iacmmx7F1DJNM0GwMfAktQONE3zM9M0G5um2bhkyZI51DwREREREREREbmZHAmSTNO8Zprm9fjbywE3wzBK5MRji4iIiIiIiIhI1siRIMkwjNKGYRjxt5vGP+6VnHhsERERERERERHJGlkyR5JhGN8DbYEShmEEAuMBNwDTNGcBfYCRhmFYgQign2maZlY8toiIiIiIiIiI5IwsCZJM0+x/k/s/AT7JiscSEREREREREZHckVOTbYuIiIiIiIiISD6nIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJyiIElERERERERERJySJUGSYRhfGIZx0TCMfancbxiG8ZFhGEcNw/jXMIxGWfG4IiIiIiIiIiKSc7JqRNJXQJc07r8HqBH/ZzgwM4seV0REREREREREckiWBEmmaW4EgtI4pAfwtRnnL6CoYRhlsuKxb3VXrlzh888/5/7776d69ep4eXlRpEgR/ve//zF37lxsNluK523ZsoWuXbvi5+eHt7c39evXZ/r06cTGxqb6WPPmzaNp06b4+vpSpEgR2rZty6+//upUO48cOYKPjw+GYTBgwIAMPde84OrVq/zwww+MHDmS9u3bU7duXRo2bMiDDz7IwoULU329d+3axdChQ7nzzjupV68e3bp148svv0zz9V60aBG9evWifv36NGzYkIceeoh169aleOyLL75I9erVU/1z7NixLHn+uSGv9/ETJ04wcuRIqlatiqenJ8WLF+euu+5iypQpmXreuSUv9vHAwMA0+3fCn+3bt2fZ65BT8nL/3rt3Lw8//LC9XeXKlaNdu3b88MMPqbYrr8uL/TvB33//zWOPPUbjxo2pXbs27dq1Y9KkSVy7di3Tzzu35ET/DgwMZOLEiTzwwANUr14di8WCYRgcPXo0zbZFREQwfvx4brvtNjw9PSlVqhR9+/bl4MGDWfLcc0tO9PFz584xY8YMnnzySdq3b0+NGjWoXr06J06cSLVd//zzD++//z6PPvoozZo1o3r16rRs2TKrnnauyYt9PCYmhsWLFzN06FDq1atH4cKF8fb25vbbb+f1118nNDQ0S1+DnJRX+/ePP/7IiBEjaN++PQ0aNOD222+nc+fOjBs3joCAgKx6+jkuL/bvlBSU75n5jWGaZtZcyDAqA7+aplkvhft+Bd4xTfPP+O21wEumae5I65qNGzc2d+xI85Bb3qxZsxg5ciRlypShXbt2VKxYkQsXLrBo0SJCQkLo3bs3P/74I4Zh2M9ZunQpvXv3xtPTkwcffBA/Pz9++eUXDh8+TJ8+ffjxxx+TPc7zzz/PlClTKF++PH369CE6OpoFCxYQFBTExx9/zJNPPplqG61WKy1btuTAgQNcv36dhx9+mPnz52fL65Egu4KT7777jtdff51SpUrRrFkzypQpw5UrV1i1ahWhoaF07tyZTz75xOH1XrNmDU8++SQeHh507dqVokWLsm7dOgICAujSpQuffPJJsseZPHkyc+fOpXTp0nTp0oWYmBh+++03goODef311xk0aJDD8S+++CKLFi1i8ODBFCpUKNn1Bg4ciJ+fX9a/IPGqVauWbdfOy3181apV9OrVC6vVSvfu3alZsybXr1/n8OHDhIeH8+eff2bLa5KdwWBe7OPXrl3jyy+/TLG9586d46effqJYsWL8+eefeHh4ZPlrciv2719++YVevXphsVi47777qFatGpcvX2bx4sUEBQUxbNgw5syZky2vya3WvwEWLFjAa6+9hqurK3fffTdlypRh//79bN26lSpVqvDDDz/ky/fwnOjfS5Ys4f7778cwDKpUqUJQUBDBwcH8999/VK9ePcV2RUVF0aFDBzZv3kzjxo1p3749p0+f5scff8Td3Z1169Zx1113ZctrAvm/j69Zs4aRI0diGAbly5cnJCSEa9eu8fvvv1O5cuUU2/X222/z1Vdf4ebmRrVq1Th06BD+/v5s3rw5216LBPn9PTy9ffzQoUPUrl0b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9kmNGDECgIkTJ3L16lX7/hMnTvDpp5/i4eHBkCGJC/G9/vrrfP7558n+vPDCC0DcB+jPP/+c119/PfNPPhd88sknvP/++9SrV49vvvkm2bDOpLp06UKxYsX49ddf2bt3r31/VFQUU6dOBeDhhx92OOehhx4CYMaMGQ5DQwMDA5k/fz7u7u706dPHvv/SpUv233InFRYWxosvvkhUVBQtWrRI8Tc1+UVe6+MAo0bFrR/wyiuvOPxwDwwMtM9NlV+DjrzWx5M6c+YMf/75Z4GaZDuv9e/mzZvj6urK5s2bWb16tcO1Tp8+zezZswHo0KFDBp9x7sqL/Tuh5C2pK1euMGbMGGw2Gy+88EK+nSMpu/t3ehmGYf8/8eKLL2Kz2ez3LV26lE2bNlGnTh17SWF+lN19XBzltT4OsHr1arp3746npydr167NklVkg749SPTxEIIWHMaMNTN9vYzKa/376tWr9tXKbrRu3TrWrFmDj49PhksKc3tEUl7r3wX9e2Z+YiRMepUXNW7c2EzaCSW5efPmMXjwYFxcXHjqqadSrDmtXLkygwcPtm8vWbKEPn364OnpSb9+/fDz82PZsmUcPnyYPn36sHDhwmSToD333HNMnTqV8uXL06dPH6Kjo/nhhx+4cuUKH3/8MU8++eRN27phwwbatWvHww8/nO1zaxw7dixbrrto0SJefPFFXFxcGDhwYIo11eXLl6d379727TVr1vDkk0/i4eFBt27dKFq0KGvXriUgIIAuXbrw8ccfJ3u9J02axBdffEHp0qXp0qULMTExLF++nKtXr/L6668zaNAg+7F//fUXAwYM4I477qBatWr2Vds2b97MpUuXqFChAt9++y1ly5bNltcE4tL/7JJX+7jNZqN3794sWbKEmjVr0rlzZ8LCwliyZAlBQUGMHj2aDz/8MFtek+zq35A3+3hS06ZN49NPP+XRRx9l3LhxWfvkU3Er9u8333yT8ePHY7FY6N69O7Vq1eL8+fMsWrSI69evc//997No0aJseU1uxf49efJkNm7cyB133IGfnx/nz59n7dq1hIaG8swzzzj1MzYzsquP51T/Tnr+ypUruXDhAr169bL/+w4bNoz//e9/9mOioqJo3749W7ZsoXHjxnTo0IFTp07x448/4u7uzrp167jrrruy9sVIoiD08aSrfm3cuJHLly/TuXNnfHx8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YNmyZfZyucWLFzNgwABefvllPD092bRpEzExMTz11FOsWrWKCRMmJGtvkyZNuHbtGocOHWLatGkMHTqUl19+GT8/P1auXMncuXP5999/effdd/nwww95/fXXad++vcM1unbtyn333Wd/zumlEUmSGxQkiYjILSUoKAg/Pz8qVKjgME/SlStXWLx4MdOmTWPjxo1aOSyL2JLMj+SSxspWbkk+QGuOpIy7cX6k1Li4WfBJWM3NhODz4akeK6lbsWIF99xzT7rO8fPz4+rVq6nO9ZJVYmJi7F9snRUREUG/fv0wDIMuXbo4PdHxsmXL6N69O66uieFB3bp1OXjwIFarFVtsLP/98bv9vur/a4fLDWWuxStXTXbdCnc0TrYvI/yr1ki2b8+qXznx726HfWfPnmX48OF8++23vPHGG8yfP5+goCD7cu9JdezYkT///JPPPvuMN998E4grX6pbty5z5szBNE2sVivvvPMO48aNo27durz55ptMmjQJiAt5Jk6cyLhx4zAMA29vb77//nvGjBnDsWPHAHj11Ve5++67OXjwIP3796dBgwbMnz8f0zT55ptv7GVtCby9venWrRsLFy4kNjSaK/MOcG1N4jxVhVqVw6tOcQp3qIhPszK4lfGx3+fbvCxedYsne54uxTIWJMXW9saMHxFpCY3FdXPKq3e++OKLvPHGG0RExJXXHTp0iJo1a9pDcMMwmDRpErfddhsWi4VRo0bx+uuvO4SUc+bMoX///vj4+KT4GAAVKlTgo48+wtvb276vVq1aFClShJUrVxIbG8vMmTP58MMP+eWXX5gwYQKFChViypQp7Nmzh/fff5+iRYsmu67FYuG+++5j4sSJ/PzzzyxbtoxffvmFV199FS8vL26//XZmzZqV5qjFwoULM3Xq1NRfzJvIiTmSvv/+e4YNG5atjyH5i4IkERG5pSSMSKpQoYLDiKR58+bRtWtX7rrrLjw8PDh06FAutrLgSLpim0vhwqke51DaFqQgKaOskTefHymBV5HEL/3Xr6Ze5iMpi42NZdWqVekOktzd3fH29uZakpA1q8XExNC/f3/279/Pnj177GW83377rX1Fq127dvH22287hOaTJ0/mtttuY9KkSfTr189espPUqVOneOaZZxg8eDDPPfcc586dcygrSlC4cGFKlSpFQEAAsTExeJcph9Vmw83Ti8p3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QZKIiIiIiIiIiDhFQZKIiIiIiIiIiDhFQZKIiIiIiIiIiDhFQZKIiIiIiIiIiDhFQZKIiIiIiIiIiDhFQZKIiIiIiIiIiDhFQZKIiIiIiIiIiDhFQZKIiIiIiIiIiDhFQZKIiIiIiIiIiDhFQZKIiIiIiIiIiDglU0GSYRgPGIax3zAMm2EYjdM4rothGIcNwzhqGMbYzDymiIiIiIiIiIjkjsyOSNoH9AI2pnaAYRguwKfAPUAdoL9hGHUy+bgiIiIiIiIiIpLDXDNzsmmaBwEMw0jrsKbAUdM0A+KPXQD0AA5k5rFFRERERERERCRnZSpIclI54HSS7UDgrtQONgxjODAcoGLFitnbMimwqlWrlttNEMk26t9SkKl/S0GnPi4Fmfq3yK3hpkGSYRi/A6VTuOsV0zSXOvEYKQ1XMlM72DTNz4DPABo3bpzqcSIiIiIiIiIikrNuGiSZptkxk48RCFRIsl0eOJvJa4qIiIiIiIiISA7L7GTbztgO1DAMo4phGO5AP2BZDjyuiIiIiIiIiIhkoUwFSYZh3G8YRiDQHPjNMIxV8fvLGoaxHMA0TSvwJLAKOAgsNE1zf+aaLSIiIiIiIiIiOS2zq7YtBhansP8s0DXJ9nJgeWYeS0REREREREREcldOlLaJiIiIiIiIiEgBoCBJREREREREREScoiBJREREREREREScoiBJREREREREREScoiBJREREREREREScoiBJREREREREREScoiBJREREREREREScoiBJREREREREREScoiBJREREREREREScYpimmdttSJVhGJeAk7ndjixQAric240QyST1Y8nv1Iclv1MfloJA/VjyO/VhKQhKAD6maZbMyMl5OkgqKAzD2GGaZuPcbodIZqgfS36nPiz5nfqwFATqx5LfqQ9LQZDZfqzSNhERERERERERcYqCJBERERERERERcYqCpJzxWW43QCQLqB9Lfqc+LPmd+rAUBOrHkt+pD0tBkKl+rDmSRERERERERETEKRqRJCIiIiIiIiIiTlGQlM0Mw+hiGMZhwzCOGoYxNrfbI5ISwzC+MAzjomEY+5Ls8zMMY41hGP/F/10syX0vx/fpw4ZhdM6dVoskMgyjgmEY6w3DOGgYxn7DMJ6O369+LPmGYRiehmFsMwzjn/h+PCF+v/qx5CuGYbgYhrHbMIxf47fVhyXfMAzjhGEYew3D2GMYxo74ferDkq8YhlHUMIyfDMM4FP/5uHlW9mMFSdnIMAwX4FPgHqAO0N8wjDq52yqRFH0FdLlh31hgrWmaNYC18dvE9+F+QN34c2bE93WR3GQFnjNNszbQDBgV31fVjyU/iQLam6bZAGgIdDEMoxnqx5L/PA0cTLKtPiz5TTvTNBsmWR5dfVjymw+BlaZp1gIaEPeenGX9WEFS9moKHDVNM8A0zWhgAdAjl9skkoxpmhuBoBt29wDmxd+eB/RMsn+BaZpRpmkeB44S19dFco1pmudM09wVfzuUuB+W5VA/lnzEjHM9ftMt/o+J+rHkI4ZhlAe6AZ8n2a0+LPmd+rDkG4ZhFAZaA3MBTNOMNk0zmCzsxwqSslc54HSS7cD4fSL5gb9pmucg7ks6UCp+v/q15GmGYVQG7gD+Rv1Y8pn4kqA9wEVgjWma6seS30wHXgRsSfapD0t+YgKrDcPYaRjG8Ph96sOSn1QFLgFfxpcZf24Yhg9Z2I8VJGUvI4V9WiZP8jv1a8mzDMPwBX4GnjFN81pah6awT/1Ycp1pmrGmaTYEygNNDcOol8bh6seSpxiG0R24aJrmTmdPSWGf+rDktpamaTYibnqSUYZhtE7jWPVhyYtcgUbATNM07wDCiC9jS0W6+7GCpOwVCFRIsl0eOJtLbRFJrwuGYZQBiP/7Yvx+9WvJkwzDcCMuRPrWNM1F8bvVjyVfih+CvoG4uQrUjyW/aAncZxjGCeKmdGhvGMZ81IclHzFN82z83xeBxcSV+KgPS34SCATGj2oG+Im4YCnL+rGCpOy1HahhGEYVwzDciZvAalkut0nEWcuAR+JvPwIsTbK/n2EYHoZhVAFqANtyoX0idoZhGMTVgR80TXNqkrvUjyXfMAyjpGEYReNvewEdgUOoH0s+YZrmy6ZpljdNszJxn3vXmaY5APVhyScMw/AxDKNQwm3gbmAf6sOSj5imeR44bRjGbfG7OgAHyMJ+7JrlrRY70zSthmE8CawCXIAvTNPcn8vNEknGMIzvgbZACcMwAoHxwDvAQsMwhgKngAcATNPcbxjGQuLejKzAKNM0Y3Ol4SKJWgIDgb3x88sAjEP9WPKXMsC8+JVSLMBC0zR/NQxjK+rHkr/pvVjyC39gcdzvp3AFvjNNc6VhGNtRH5b85Sng2/gBLQHAEOI/W2RFPzZMUyWcIiIiIiIiIiJycyptExERERERERERpyhIEhERERERERERpyhIEhERERERERERpyhIEhERERERERERpyhIEhERERERERERpyhIEhERERERERERpyhIEhERERERERERpyhIEhERERERERERp/wfEMQSS1b8gGwAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(df['volume'], linewidth=1, color='black')\n", "for i in range(unanchored_chain.shape[0]):\n", " y = df['volume'].iloc[unanchored_chain[i]:unanchored_chain[i]+m]\n", " x = y.index.values\n", " plt.plot(x, y, linewidth=3)\n", "color = itertools.cycle(['white', 'gainsboro'])\n", "for i, x in enumerate(range(0, df.shape[0], 52)):\n", " plt.text(x+12, 0.9, str(2004+i), color=\"black\", fontsize=20)\n", " rect = Rectangle((x, -1), 52, 2.5, facecolor=next(color))\n", " plt.gca().add_patch(rect)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABGoAAAFUCAYAAAB8/9p8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABzyklEQVR4nO3deXxjZ3X/8a/tGc9MMhlnX8ABJYHEAkRCm7AkmASzFLCBUGhNKeACLXXishQDv9tCqShtEVB3AUzMWtySFkOBBCxoCZiAWbPQgAAZaIhCHGCyezKZzHhm7N8f90p6pJGsxffqbp/36+UXV9dX0gOckaWjc87Ttb6+LgAAAAAAAPiv2+8FAAAAAAAAwEaiBgAAAAAAICBI1AAAAAAAAAQEiRoAAAAAAICAIFEDAAAAAAAQECRqAAAAAAAAAoJETYwkrOyFCSt7YVgfH8FEXMELxBW8QFzBC8QVvEBcwQvEVXiQqAEAAAAAAAgIEjUAAAAAAAABQaIGAAAAAAAgIEjUAAAAAAAABASJGgAAAAAAgIAgUQMAAAAAABAQJGoAAAAAAAACYovfC0B0FDLD3/Z7DYge4gpeIK7gBeIKXiCu4AXiCl4grtxDRQ0AAAAAAEBAkKiBaxJW9qyElT3L73UgWogreIG4gheIK3iBuIIXiCt4gbhyD61PcNNxfi8AkURcwQvEFbxAXMELxBW8QFzBC8SVS0jUwDWFzPANfq8B0UNcwQvEFbxAXMELxBW8QFzFV4+Hj01cuYfWJwAAAAAAIu7fdPT4V3XMfy9bi6/zey3YGIkauCZhZZMJK5v0ex2IFuIKXiCu4AXiCl4gruAF4ip+lq3Fo85Q90u2qOsYSX/lxXMQV+4hUQM3HSf6EuE+4gpeIK7gBeIKXiCu4AXiKn52dqmr2Pl0wrK16EUugLhyCYkaAAAAAACibVvV7Z2+rAJNIVEDAAAAAEC0ba+6fYwvq0BTSNQAAAAAABBt1RU1JGoCjEQNAAAAAADRRkVNiJCoAQAAAAAg2kjUhAiJGgAAAAAAoq269WmXL6tAU0jUAAAAAAAQbVTUhMgWvxeASFn1ewGIJOIKXiCu4AXiCl4gruAF4ip+OjFMmLhyCYkauKaQGb7B7zUgeogreIG4gheIK3iBuIIXiKtY8ryihrhyD61PAAAAAABEG9tzhwiJGrgmYWWTCSub9HsdiBbiCl4gruAF4gpeIK7gBeIqljyvqCGu3EPrE9zU6/cCEEnEFbxAXMELxBW8QFzBC8RV/HRi1yfiyiUkauCaQmb4B36vAdFDXMELxBW8QFzBC8QVvEBcxVInZtQQVy6h9QkAAAAAgGhjRk2IkKiBaxJW9tyElT3X73UgWogreIG4gheIK3iBuIIXiKtY6sSMGuLKJbQ+wU1H+70ARBJxBS8QV/ACcQUvEFfwAnEVP52oqCGuXEJFDQAAAAAA0VZdUePFMGG4hEQNAAAAAADRxoyaECFRAwAAAABAtB0xo2bZWuzyZSVoiEQNAAAAAADRVl1Rs6XGOQQEiRoAAAAAAKKtuqJGov0psEjUAAAAAAAQbSRqQoREDQAAAAAA0VarzYmdnwJqi98LQKQ84PcCEEnEFbxAXMELxBW8QFzBC8RV/HSiooa4cgmJGrimkBn+gd9rQPQQV/ACcQUvEFfwAnEFLxBXsVSrosbVRA1x5R5anwAAAAAAiDZm1IQIiRq4JmFlz01Y2XP9XgeihbiCF4greIG4gheIq3j6vV999sV/cutHr5gaHXm6F49PXMWS5xU1xJV7aH2Cm1b9XgAiibiCF4greIG4gheIq5iZGh056RTp8i6pR9K7Jf2WB09DXMVPJypqiCuXkKiBawqZ4bzfa0D0EFfwAnEFLxBX8AJxFUsnOUkaSUp48QTEVSx5vusTceUeWp8AAAAAIDh2GMfHTo2O8JkNbmBGTYjwjx6uSVjZ8xNW9ny/14FoIa7gBeIKXiCu4AXiKpbMD9RdkvrcfgLiKl6WrcUudWZGDXHlElqf4KZevxeASCKu4AXiCl4gruAF4ip+qisfjpd0r8vPQVzFS73/v92uqCGuXEJFDQAAAAAEx46q28f5sgpESa1qGonWp8AiUQMAAAAAwVGrogbYjFrzaSQSNYFFogYAAAAAgqP6QzUVNdisehU1ru76BPeQqAEAAACA4KhufaKiBptFRU3IkKgBAAAAgOCgogZuK8XUIa3vMc6TqAkoEjUAAAAAEBzMqIHbSq1Ph6T7jPMkagKKRA0AAAAABAe7PsFtpeTfQcmsqDlq2Vrs8WE9aGCL3wtApNzr9wIQScQVvEBcwQvEFbxAXMVPJypqiKt4KVXUrGn9gNS1V9JO59ROSSsuPQ9x5RISNXBNITOc93sNiB7iCl4gruAF4gpeIK5iyfNEDXEVO6WYWpNWZVfVFBM1u+RSooa4cg+tTwAAAAAQHAwThtuMihqtSrrf+B1zagKIRA1ck7Cy5yes7Pl+rwPRQlzBC8QVvEBcwQvEVSx5vj03cRU7peTfYemgPErUEFfuofUJbqInEV4gruAF4gpeIK7gBeIqfjpRUUNcxYtZUXNA3lXUEFcuIVED1xQywzf7vQZED3EFLxBX8AJxBS8QV7FUnag5amp0ZNvk3PwBt56AuIqdjlTUEFfuofUJAAAAAIKjuvVJYk4NNqdUUXNY69UzanZ1fjlohEQNXJOwshcmrOyFfq8D0UJcwQvEFbxAXMELxFUsVVfUSC7PqSGuYsesqCnu+lTk5owa4solJGoAAAAAIDg8T9QgdoyKGnZ9CgMSNQAAAAAQHLQ+wW2l5N8hD2fUwD0kagAAAAAgOKiogdtKFTWHjpxRQ6ImgEjUAAAAAEBw1ErUUFGDzTArakjUhACJGgAAAAAIjlqtT1TUYDOqEzXmMGF2fQogEjUAAAAAEBxU1MBtpdanVVqfQoFEDQAAAAAEBzNq4LZSTB2k9SkUSNQAAAAAQABMjY70SNpa41ckarAZRkUNiZow2OL3AhApu/1eACKJuIIXiCt4gbiCF4ireKlVTSO53/pEXMVLKa5Wte7l9tzElUtI1MA1hczwzX6vAdFDXMELxBW8QFzBC8RV7NRL1LhaUUNcxU6poma/hxU1xJV7aH0CAAAAgGAo7fi0Lh02zjNMGJtRSgAeOHKY8K5la7Gr80vCRkjUwDUJK3thwspe6Pc6EC3EFbxAXMELxBW8QFzFTukD9WF1322cP25qdMS1D9PEVeyUKmr2aX21PzO4KumAc6pbtbeEbxlx5R5an+Cm2/xeACKJuIIXiCt4gbiCF4ireCklata7uh/Q+toDko6W1CO7RWWPS89DXMVLKa72SQedw/tVTuAcY/9q04grl5CogWsKmWH+YcJ1xBW8QFzBC8QVvEBcxY7R+tR1QNI9shM1kj2nxpVEDXEVO6WKmr1aL1bS3C/pROf4GLkwCJi4cg+tT3BNwsr2Jqxsr9/rQLQQV/ACcQUvEFfwAnEVO6XKh7WurlVJ9xq/c22gMHEVO6W4ut/e9ck+LHNloDBx5R4SNXDT+c4P4CbiCl4gruAF4gpeIK7ipdz6pK5V2RU1RW4OFCau4qVUUXOvPUxY8mbnJ+LKJSRqAAAAACAYjNan7gPyqKIGsVNKAN6rtWKixmyj29XZ5aAREjUAAAAAEAzVrU9eVdQgJpytt0sVNXd62PoE95CoAQAAAIBgMFqfuqsTNVTUoB2lmTFrWj+0Kq07N0nUBBiJGgAAAAAIhlLr01pXV3XrExU1aIeR/NOqcZ5ETYCRqAEAAACAYDAraorbcxdRUYN2lNqeSNSEB4kaAAAAAAgGY0ZNt2fbcyNWyjFFoiY0SNQAAAAAQDCUW5+83Z4b8VGqqKlK1LDrU4CRqAEAAACAYDAqanrYnhtuYEZNCG3xewGIlNv8XgAiibiCF4greIG4gheIq3gpfag+3HXErk9uVtQQV/FRr6LGi0QNceUSEjVwTSEzzD9MuI64gheIK3iBuIIXiKvYMXZ98m57buIqVswZNQeN864naogr99D6BNckrGxvwsr2+r0ORAtxBS8QV/ACcQUvEFexY1TU9ByQ/WF6zTm1c2p0ZKsbT0JcxYpRUbPuaUUNceUeEjVw0/nOD+Am4gpeIK7gBeIKXiCu4qWcqFHP6uTc/Joq59S41f5EXMVHM7s+uTVMmLhyCa1PcNPNfi8AkURcwQvEFbxAXMELxFW8lD5UH7IraiQ7UXOCc3y8pDtceB7iKj6a2fXJrRk1xJVLSNTANYXM8G6/14DoIa7gBeIKXiCu4AXiKnZKM2oOdW8pJmpcHyhMXMWKUaXl+Ywa4soltD7BNQkruzNhZXf6vQ5EC3EFLxBX8AJxBS8QV7FjVNRsLVY/uL5FN3EVK2ZFzQHj/D6V5x9tX7YWN13EQVy5h0QN3PRY5wdwE3EFLxBX8AJxBS8QV/FSStQc7NpSTNR4sUU3cRUfNStq+jOD65L2Gte5UVVDXLmERA0AAAAABEOp9Wm1u7dW65NrW3QjNkoVNYcrd32SPGh/gjtI1AAAAABAMJSqH1a7e2u1PrlVUYP4MCtqNkrUuLXzE1xAogYAAAAAgqH0ofpA97ZarU9U1KBVRkXNEYkaL3Z+ggtI1AAAAABAMJRan/b17DC35y6iogatKg+ortz1SaL1KbBI1AAAAABAMJQ+VO/r2UFFDdxgJGqYURMWJGoAAAAAIBhKH6r3btlZq6KGRA1aVWp9OrTxjBoSNQFCogYAAAAAfDY1OrJVUo8krUuH9/fsOOz8yovtuREfZusTiZqQIFEDAAAAAP4rfaBeV5f5gZrWJ2xGqaJmdePWJ3Z9ChASNXDTzc4P4CbiCl4gruAF4gpeIK7iw0jUVFQ+VAwTnhod6XLhuYir+CjF1UHvd30irlyyxe8FIDoKmeHdfq8B0UNcwQvEFbxAXMELxFWslHZ8WldXcT6NJufm90+Njjzo/H6rpKMl7d3MExFXsWJU1Hjb+kRcuYeKGrgmYWV3JqzsTr/XgWghruAF4gpeIK7gBeIqVsoVNV1d1R+oXd2im7iKlVJcrWrd0+25iSv3kKiBmx7r/ABuIq7gBeIKXiCu4AXiKj7qzaiR3J9TQ1zFR6miZr/3w4SJK5fQ+gQ3Lfm9AEQScQUvEFfwAnEFLxBX8VGz9cnh9hbdxFV8lBKABzYeJuxGooa4cgmJGrimkBm+p/FVQGuIK3iBuIIXiCt4gbiKFaP1qXujippNtz4RV7FSqqjZ5/GuT8SVe2h9gmsSVvb4hJVly0C4iriCF4greIG4gheIq1gxW588raghrmKlFFf7pOoZNa7u+kRcuYdEDdw04PwAbiKu4AXiCl4gruAF4io+zNYnTytqRFzFSamiZq/WqxOAbrc+EVcuIVEDAAAAAP4rVT6sdR1RUeP2MGHERymu7vd41ye4h0QNAAAAAPjPaH06YkaNq9tzI1ZKFTX3bjyjZueytdjVmSWhERI1AAAAAOC/UuvTWpfn23MjPkoJwHu1VhFX/ZnBQ5L2Oze7JR3VwXVhAyRqAAAAAMB/5dYndXu9PTdiwKmQKVXU3Hlk65Pk8s5PcAeJGgAAAADwnzGjxtvtuREbvcbxwVVpvcY1ru78BHeQqAEAAAAA/xmtTxvOqKGiBs3abhzvr3MNA4UDiEQNAAAAAPhvo9YnKmrQjm3GMYmaECFRAwAAAAD+M1ufqhM1Kyq3rfRNjY70dGxVCDOzoqY6popI1AQQiRq4acn5AdxEXMELxBW8QFzBC8RVfJRanw539VS0Pk3OzR+WnawpOnaTz0VcxUOrFTWbHSZMXLlki98LQHQUMsP3NL4KaA1xBS8QV/ACcQUvEFexUqp+ONzVU6v64R6VEzTHS7q73ScirmKjoxU1xJV7qKiBaxJW9viElWW4GVxFXMELxBW8QFzBC8RVrJiJmuphwpKLA4WJq9hopqLGtV2fiCv3kKiBmwacH8BNxBW8QFzBC8QVvEBcxUcpUXOodqLGzYHCxFU8dHpGDXHlElqf4KYf+r0ARBJxBS8QV/ACcQUvEFfxUZpRc6hrS60P1W5u0U1cxUOnd30irlxCogauKWSG9/q9BkQPcQUvEFfwAnEFLxBXsWJU1Gz1tKKGuIqNTs+oIa5cQusTXJOwsqckrOwpfq8D0UJcwQvEFbxAXMELxFWslD5UH+yuWVFjJmo2O6OGuIqHju76RFy5h4oauOks5z93+7oKRA1xBS8QV/ACcQUvEFfxUWp9Wu3ubTRMeLMzaoireOj0jBriyiVU1AAAAACA/0ofqg9093paUYPY6OiuT3APiRoAAAAA8J+RqNnu6fbciI1OV9TAJSRqAAAAAMB/pdanfT07GlXUbLb1CfFgJmo6sesTXEKiBgAAAAD8V/pQva/nKCpq4Aaz9amZippNDROGe0jUAAAAAICPpkZHumQkau7fsrNWouY3xvHpzn2AjTRTUVMxpHrZWtzq4XrQJBI1AAAAAOCvXknFxMvBg929azWuuVPSinN8jKTTOrEwhFrDipr+zOCqpF85N7sl9Xu9KDRGogYAAAAA/NWw8mFybn5d0pJx6hxPV4QoaKaiRpJuNY4T3iwFrSBRAwAAAAD+avYD9U+N4wGP1oLoaGZ7bkkqGMcJT1aClmzxewGIlB/6vQBEEnEFLxBX8AJxBS8QV/Gwwzje6AO1WxU1xFU8NLM9t1SZqHn4Jp6PuHIJiRq4ppAZ3uv3GhA9xBW8QFzBC8QVvEBcxYb5gfrBDa5zpaKGuIqNZitqXGl9Iq7cQ+sTXJOwsqckrOwpfq8D0UJcwQvEFbxAXMELxFVsNNv65EpFDXEVGx2tqCGu3EOiBm46y/kB3ERcwQvEFbxAXMELxFU8NNv6dLOk4o5QD58aHdmxwbUbIa7ioaMVNSKuXEOiBm66wfkB3ERcwQvEFbxAXMXQcx/YOvjKPdsunx5fON2jpyCu4qGp1qfJufkDkn7h3OyS9Mg2n4+4iodmK2rMRM3py9ZiuyNSiCuXMKMGrilkhlf9XgOih7iCF4greIG4ip/p8YWHnKOev+tSV4+krZJG3X4O4io2mm19kuw5NY9wjgfUxgBX4io2mqqo6c8MPrhsLe6WdIqkHkkPkfTLVp+MuHIPFTVwTcLKnp6wsl59m4SYIq7gBeIKXiCuYukcJ0kjSY/z4gmIq9hotvVJcmFODXEVG81W1EgutD8RV+4hUQM3ne78AG4iruAF4gpeIK7i5xjj+FSPnoO4iodmd32S3Nn5ibiKh2Zn1EiVA4UTbT4fceUSEjUAAABAe3YZx8dMjy8c7dtKEHattD65svMTYqGVipqCcdz2zk9wBzNqAABA5OUHkl3v3/WQVx67uveM/FVvfHVyKX+z32tCJOyqun2q7F15gFa10vpkVtScMzU60jU5N79e68Kp0ZE/lnSppJnJufn5zS0RIdRKAtCtnZ/gAipqAABAHFxw1p5fveqE/XuGJP2134tBZNRK1ADtaKX16U5J9zrHO2UPfj3C1OjI6ZI+KGlY0hemRkfePjU6wue/eDFbn6ioCRH+oQIAgDg4yzh+jG+rQNQcU3X7NF9WgShouvLBqZ5pZk7NkCo/771N0menRkeqE4yILipqQopEDQAAiIM+47jft1UgaqiogVtaaX2SmptTc3GNc8+X9N3HruR4HYyHVipqzETNw5atRXIFPuJ/fAAAEAdmouak/EBye90rgeaRqIFbWml9kpqrqDETNeZ8muTgPd/6yNPv/Orjm10cwmfZWuxSC4ma/szgXkl3OTe3igpBX5GoAQAAcdBXdZtvk+GG6kQNH2zQrlZaVKQGFTXOfJoznZsPSnqhpJfL+bDerfVjBvb+bGpqdGS0veUiBHqN44P9mcG1Ju7jSfvTsrX4+mVrMb9sLb7CrceMOhI1AAAgDqoTNaf7sgpETfWMGipq0K5WW58aVdSY1TTfmZybX52cm/93SYOSbpekLvuz4N+3ulCERqvJP6lyoHDCjUUsW4snSPoH2XH6HjceMw5I1MBNNzg/gJuIK3iBuIqfY6tue1FRQ1zFTydan4ireGi19elmSYed44dNjY4cVfV7M1FzbfFgcm7+eknnr0uHnFNnTo2O7GxxrQgHs+2pnURNOzs/1Xq9eoqkHuf4hGVrsTpWUcMWvxeA6Chkhlf9XgOih7iCF4irWPK8ooa4iiXPW5+Iq9hoqfphcm5+dWp05BeSHumcOlvSTcYlZqLm61X3/c3U6MjNKrdMnS3p+60uGIFnxlSjQcJFm2p9qvN6VT3U+gRJ+1p97LihogauSVjZ0xNWllJyuIq4gheIq1jyPFFDXMVSdaLm5OnxhZ6aV7aJuIqNdtpUas6pmRodeYjKCZwDkq6rvuNq11bzA3m9YcQIt45X1NR5vapO1JzY6uPGEYkauOl00fMP9xFX8AJxFT+dmFFDXMVP9YyaHtnfFruJuIoHc0ZNM61PUv05NeYH4+9Ozs0f8SF975addxg3623vjXDreEWNql6vlq3F4ySdW3UNiZom0PoE1xQyw9/2ew2IHuIKXiCuYsnzXZ+Iq3hxKmdqzfY4TdIdNc63hbiKDdcqalRnPo3p+IP3fk3SS52bVNREUzsVNWai5uHL1mJ3k7tFSar5ejUoqavqnNvJ7EiiogYAAMQBuz7BbfUGsLLzE9rRTqKmmYqaivk0hg2390YktFxR058ZXJF0r3Nzm6STN7mG6rYniYqappCogWsSVvashJU9y+91IFqIK3iBuIqX/ECyW0fOEjk+P5B0decJ4ip2qmOqyNVEDXEVG+20PlUkW6ZGR7qnRkdOUTlpsyrpu7XueM2JQ+YH97OnRkf4XBg97VTUSJtof6rxekWipk38g4SbTnF+ADcRV/ACcRUvO3Vk6bXkflUNcRUv1fNpitze+Ym4ioeWK2om5+bvknSPc/MoSQ9V5Qfj6ybn5msmfZaOOWfbYXXf59zcIaoMo6idGTVS5UDhRK0Llq3F7mVr8cxla7E6n1B6vVq2FvskPa7G3UnUNIFEDQAAiLrqtqci1+fUIFY6UlGD2Gin9Uk6soWp4XyaooPdW9j5KdraragpGMdH7Py0bC12SfqSpJsl/fsGj/Nk1c43MKOmCSRqAABA1NVL1PANMjaDRA3cZLY+tfKhunpOTTPzaSRJq93bfmncZE5N9LRbUdOo9emxkp7pHL9k2Vp8dJ3HMWPxJ8YxFTVNIFEDAACijkQNvFBK1Kxpfa9x3u3WJ8SD+aG62Rk1UmVFzZMlFT80H5L0nY3uuK9nBxU10dZulVbBOD6iokbS86tuX1bnccxEzX8ZxyRqmkCiBgAARB2JGnihNKPmoHSbcZ6KGrRkanSkS5VtKq1UP5gVNS8wjq+fnJt/YKM77tmyi4qaaGs3phpV1FQnal6+bC1W7IK3bC0eI+m3nZvrkq4yfk2ipgkkagAAQNSVEjVr6jLfrDKjBptRqqg50LVufuAlUYNWmZUPq5Nz82st3NesqOk1jq9tdMdfbzuVippoc6OiJuHMpJEkLVuLp0v6rarrj5H0kqpzF0nqcY5/KOnnxu+YUdMEEjUAACDqSoma/Vt6bzHOU1GDzTASNfqNpIPF89PjC65u/Y7Ia7ftSZJ+IbvNqdqG82kk6ac7z/61ynH7kKnRkXo7mSGc2q2ouU/SHud4hyorYJ5nHK8ax5ebCR0dOSvpAWMNO5atRV4jGyBRAwAAoq6UqNm7dccvjPMkarAZpUTNoS49IOk3xu+oqkEr2q180OTc/EHZu++YDkv6dqP7HujZdljS/xmnaH+Klrbiqj8zuK767U9m29PfqJxYPFfSE43fVSRqnMe8yzhH+1MDJGoAAEDUlRI1e3qPul3lb/X68gNJvkFGu4wZNeskarAZ7e74VPTTqts3Ts7N39/GfUnUREu7FTVSVfuTJC1bi32SLjHO/5uk/zBuX2Zf3L1d0gXG+W84/3m3cY5ETQNb/F4AoqOQGW6YuQdaRVzBC8RV7JQSNQd6evdKWpZ0lnOqX1LejSchrmKnVFFz0K6o+bXxO9d2fiKuYmEzrU+SPafGbEm5ttEdinE1NXqFOeOGOTXR0nallmrv/PRsSVud4+/3ZwZvW7YWr5D0Kufc6De16w2SHqdynuFH/ZnBYiUNFTUtoKIGAABEXSlR8+CWbcVETZFr7U/5geST8gPJV+YHktsaX40IKCVqVrvW94mKGrRvMx+opSMrahrOp6lzXypqosX8W9RqXNVqfTLbnq6WpP7M4I2SrnPO9Up6hY6cT1NkJmoYKNwAFTVwTcLKniVJhcxwdZ8s0DbiCl4grmLn2OLBvi3bH1DlVsquJGryA8knr0vXdtm7XDxa0qQbj4tAM4cJe9b6xOtVLGy29cmsilmT9M1GdyjG1Wsq70tFTbSYCcDNtD49fNla7JX0HOPc1cbxFZIeL0kHtf5nh6W7tqs0V7heooaKmgaoqIGbjnN+ADcRV/ACcRUvpYqa+3t37JXLiZr8QLJX0kxXeSvSJ2z2MREKpRk1+7rWPWt9Eq9XcbDZ1qcfqPwh+MuTc/N7NrrYUYwrs6LmkVOjIz11rkf4uFlRc7HKyelbZW+5XTQn6V5J2qquh21Xl7l99zeMY2bUtICKGrimkBm+we81IHqIK3iBuIqdUqJmZdvO6kRNvwuP/wbZVTRFJ7vwmAi+UkXNvu71fZJWjN+5VlHD61UsbKr1aXJu/oGp0ZFLZA96/XQz9ynH1bCmRkfukP26tV3SwyTd0uoaEEhuVdQkVNX25OziJEnqzww+uGwt/qvsv4Wmpf7M4G7jNhU1LSBRAwAAoq6UqLlre98Dku4xfrepipr8QPIMSW+rOn3KZh4ToVFK1KzYiRrz22Jm1KAVm2190uTc/I8l/bjN5/+pygnmc0SiJio2U1Fzt6QHJB0taaekFxu/u7rG9TM6MlFzbdVtZtS0gNYnuCZhZZMJK5v0ex2IFuIKXiCuYqeUqPnVzhNda33KDyS7JL1flR+yJGlXfiC5vcZdEC2lRM1dPUe0Prk5o4bXq+jbbOtTy6riijk10dR2RY1TMWO2PxUTK/dJWqxx/c8lXVN1unqoNRU1LSBRAzfRQw0vEFfwAnEVE/mBZLeMD9S37DrtiGHCTsKlHS9Qebji+pq6Vo3f0f4UYdPjC9tk73Cida0fur9rfVWSWeJ/yvT4glvvs3m9ir7N7vrUDjOu2PkpmjZTUSNVtj8VZfszgwfrXH9F1W0SNZtAogYAAETZTsnefuKwuh7cs23nYdmtTw8av99V57515QeSx0h6r3Hqg/u39BaM27Q/RVtpkPCatG+9S5qYGdov+9tmyR4vQGk/mrXp1qdNoqImmjYzo0aqnaip1fZU9IV9Wv+Fc/y1/szgr6t+zzDhFpCoAQAAUVZqe1rr7n5AkpJL+XVJy8Y17bQ/vV3SQ53jOyT95cHuLfcav6eiJtpKyb11e45DkSftT4i8jrc+VTErakjURMdmK7Vurbq9Kum/613cnxk89BfaN/FlHXyTpOfVuKRiRs2ytdhuNWsskKgBAABRVkrUHO7q3mucb3tOTX4g+ThJrzNOvSG5lL/3QM9Wc0gxFTXRVkrUrFUman5jHLu5RTeizY/WJ1NB9odwSTp1anSkb4NrER5m65MbFTUL/ZnB+ze6w406vOdv9OC3+zODe2v8ep/K8b1d0lFtrCk2SNQAAIAoK33gONTVs+lEjTPz5gqV30MtSPoPSdrf02tW1JCoibZy61NX3UQNFTVolq+tT5Nz84ck/dw4xZyaaHC7ouaq9pdSGlDMnJomkagBAABRVq6o6e4xP1CbiZr+Fh7vmZKe4ByvSrrcaaXSvq3bzYoaWp+izayo2Wecp/UJ7fC79UlioHAUuV1R84X2l1LCnJomkagBAABRVkrUHOyuqKhpd0bNC4zjmeRSvvThZu/WHVTUxEcpUXOY1idsnt+tTxIDhaNoU3HVnxncLel/nJtX9mcGf+XCmirm1LjweJG1xe8FAAAAeKjc+tS9pV5FTVOJGqftyRyQ+F/m7+/btpOKmvgoJ2q61s2KGlqf0A6/d32SqKiJos1W1EjScySdJenmzS9HEq1PTSNRAzetNr4EaBlxBS8QV/FRStSsdm/Z7IyaC1T+8H2XpG+bv7xn+647jJtU1ERbaUbNYe93feL1Kvr8aH2qjisqaiLE2VFp04ma/szgmirnFzXS6PWKRE2TSNTANYXM8A1+rwHRQ1zBC8RVrJQTNT1b6yVq+vMDya7irJkNPN84nk8u5Q+bv/z9n3/tWuMmFTXRZrY+1auocaX1iderWOh461ONuDIrah45NTrSMzk3f1gIq17j+KCTcPFcE69XzKhpEjNqAABAlJUSNQd6tpqVDysqV0IcJem4Jh7LTNRcXeP3dxrHJ+YHkj3NLhKhU0rUHOxaZ9cnbJbvM2om5+ZXVI7fXkkJP9YB1/geU3VQUdMkEjVwTcLKJhNWNun3OhAtxBW8QFzFSilR8+CWbaWKGqd6pun2p/xA8hGSHuXc3C/pmuprnn3pPzzicFfXinOzW7wJjbJSouZQ5fbc90g66Bz3TY8v7NAm8XoVCx2fUVMnrphTEx1m21PHEjVNvF4xTLhJJGrgpl5VltkBbiCu4AXiKj5KiZp9W7Y/UPW7VubUmNU01ySX8tWPJUm9h7p6zLJu2p+iqzSjZtVI1EzMDK1J2m1c50ZVDa9X0efHjJpaccWcmugwY6rdQcLtaPR6RUVNk5hRA9cUMsM/8HsNiB7iCl4grmKllKi5v3fH3qrfVcypafA4jdqeVMgM/yB/1Rtvk3Smc+oUSbkm14lwKVXUrKpi1yfJbh8pxtOpkm7ZzBPxehULfsyoqRVXVNREhy8VNU28XpGoaRIVNQAAIMqOLR6sbNtZnahZNo7rVtTkB5InSrrIubkuaX6D5zOrKaioia5SoubBytYnyZudnxBtQdieW6KiJkr8qqhphGHCTSJRA9ckrOy5CSt7rt/rQLQQV/ACcRUrpYqau7b3tdv6NKLye6bvJJfyu2tdlLCy5+7ecZy5SwpbdEdXKVGzr7tmRU3Rpnd+4vUqFjre+lQnrn5mHJ8phJlfM2oavV5VzKhxthFHDSRq4KajnR/ATcQVvEBcxUcpUfOrnSdu1Pq0UaKmYduT4+j7e4+637hNoia6SjNq9navVycA3d75ider6PNjh55acXWHccyg13Dzq6Jmw9er/szgPpWTkds2ujbuSNQAAIBIyg8ku2VUPtyy67SNKmpqzqjJDyR3SHqmcWqjRI32bt1xr3GT1qfoKsXVfUdW1ND6hFYFpfVpr8q7lu2YGh3Z9K5l8E1Qt+eWmFPTFIYJAwCAqNopqVhWvW/Ptp2Hq35vzqjpzw8ku5xtu01Pl3SUc7yUXMr/VBvY03u0maihoiaCpscXumQkau7qXnOl9Wl6fGGL7LkgPeb5C7dvecRd3Wv3tb5ShIgfuz4dYXJufn1qdORulROMJ6jydRLhYbY+BWlGjWTPqSlWsZ4oqeDfUoKLihoAABBVfcbxSvUvk0v5PZL2ODe3q/Y3e822PUmS7trRd49xk4qaaDpaRgLwQLeqE4Attz5Njy8cLekHsncJu8n8uWj/1tnn79t29fT4wms3sWYE1NToSI+krcapVb/W4jBfw473bRXYrLBU1NBiVweJGgAAEFVmoua+OtfUnVOTH0j2SHqucaphomZ550lU1ETfMcbx/TV+307r08skParBNZc3+VgIl4oP1JNz89VVfZ1m7srDh+jwCnJFDa1PTSBRAwAAomrDihrHRnNqnqByVcxuSd9r9IQ/PuEM89voU/IDSXa0iJ5dxvGeGr83dwU7dXp8YcP3204rlZmEuUXSD42forOmxxfMygtEQyDangxU1ERDWCpqSNTUQaIGAABEVTOJGnP+QvXOT2bb0xeSS/m1Rk/4y12n7pdUHFrcq8oP9YiGDRM1EzNDD6ocb1vU+MPuhZJSzvE+Sb81MTN0bvHnkNaLO/FsEVsmR1HQPlBTURMNQa6oMWOMRE0dDBMGAABR1WpFzVPzA0lzvsgLjeOGbU+GOySd4RyfssFzI5waVdRIdvtTMf5OVeU3yNUuM47/Y2Jm6D7zl6tdunXLeqmya0DShgOtETpB2fGpiERNNAQtAWhiRk0TSNTATdXbngJuIK7gBeIqHlpN1LxQlcmZon2SvtrE8xXjarfKiZqTJf2sifsiPBrNqJHsgcIDzvFpkn5U66Lp8YWTJP2eceqK6msOaf1mqesC5+Y5rS0VIeBX61O9v4O0PkWDXxU1zby/ovWpCSRq4JpCZvgHfq8B0UNcwQvEVWw0k6j5fhOP8/nkUr7hB6hiXOWveuMdxmkGCkdPMxU1ze789ErZLXKSdN3EzNAR8bhrvftbkl7s3Byo/j1Cz5fKhw3+DlJREw1BiysTiZomkKgBAABR1TBRk1zK/yA/kHyFpGHVnt33K0l/1+LzmsNkSdRET7OtT0U1EzXT4ws9kv7UOPWBOo9ltjpRURM9QWt9oqImGoI8o4ZETRNI1MA1CSt7rsQ31XAXcQUvEFex0UxFjZJL+Y9L+vhmn6wYV1+qTNScXOdyhFerFTWn1bnmd1RukbtX0qdqXXTNjtWuZzxYLLqhoiaCfGl92uDvIBU10eBLRU2T768YJtwEdn2Cm1adH8BNxBW8QFzFQ1OJGhcV44rWp2hrdkZNUb3WJ3OI8Mec3aKO8OPew8vrWi/+7vjp8QU+2ESLX0Nf6/0dND9EU1ETXmZFTRDiylSRDFy2Frs8XE9oUVED1xQyw3m/14DoIa7gBeIqNjqaqCnGVf6qN6aM01TURE+rrU8XT48vJCdmhkqvO9PjCwnZ7XZFH6z3ZD9/1/BPpscXliQ9zjk1IOmbLa0YQeZL69MGfwfN1icqasLLTAB2rPWpmfdX/ZnBfcvW4j5JR8me0bVT9ZPesUVFDQAAiKpOV9QUUVETbc0kan4i6bBz/BBJ35seX3iu8ftXSyp+i3zNxMzQzxs8J3NqosuvXZ/qqah2mBododohnPyqqGkWc2oaIFED1ySs7PkJK3u+3+tAtBBX8AJxFRsdTdQYccWMmmhrmKiZmBm6XfZOTfucU8dIunp6fOGt0+ML2yW9yri83hBhSXZc3dm9Zj4Pc2qixa9ZIjX/Dk7Oze9XOW63yK52QPj4UlHTwvsr5tQ0QKIGbupVeYtJwC3EFbxAXMXDscZxJypqinFFRU20NTOjRhMzQ/8l6UJJtzqnuiS9Q9L1KifwliXNN3i+3pXu9WXjNhU10eLXrk8b/R2k/Sn8/Kqoafb9lVlRQ4zVQKIGAABElV+tT/dKOuQc78oPJLdvdDFCp5nWJ0nSxMzQDySdL+lrxunHGMcfmpgZOqQG7uhZ+6Vxk4qaaAla65PEQOEo8KWipgW0PjVAogYAAEROfiDZrRY+ULspuZRfU2VVDe1P0dJSXE3MDN0leyvu91X96pCkjzTzhD/pPWwmas6cHl+gIjA6/Nr1aSNU1IRfEOPKRKKmARI1AAAginaqPKx1X3Ipf7DDz0/7U3S1nACcmBk6ODEz9FpJr1R569qPT8wM/XqDu5Xc27N+QFIxWdMj6awm14rg86v1aSMVA4V9WwU2w2x9CmJFDTNqGiBRAwAAosivtqciBgpHV1MzamqZmBn6V9kzZp4v6TUtPu+SccycmugIYuUDrU/hF8S4MjGjpoEtfi8AAADAA34naqioiaDp8YUtko5ybq5LeqDVx5iYGSpIKrTx9D+V9EznmDk10RHEGTW0PoVf0CtqaH1qgIoaAAAQRWai5j4fnt+sqCFREx1mNc2eiZmh9Q4+NxU10RT01icqasIpTBU1JGpqIFEDAACiKEgVNbQ+RYc5n6alticX/NQ4pqImOoL4gZqKmvCjoibkSNTATfc6P4CbiCt4gbiKPj8SNWZcUVETTRUVNR16zmJcVVTUTI8vdNW5HuHiV+vTRn8HGSYcfn4lAJt9f0WMNcCMGrimkBnO+70GRA9xBS8QV7HQ8URNVVwxTDiaOr7lezGunMTMXtk7mh0n6SRVVm4hnHxpfWrwd5DWp/DzpaKmhfdXFbs+LVuLXf2ZwU62kgYeFTUAACCKgtT6REVNdHQ8UVPkzMMx25+YUxMNtD7BVcvWYpcC3vrUnxl8UOVh7FtVWa0IkaiBixJW9vyElT3f73UgWoir+EnNpnqPfsQ737bz7Le/NzWbSnjxHMRVLHQ8UVMVV7Q+RVPHZ9RUxRVzaqLHl9anBn8HqagJt17j+GB/ZnCtU0/c4vsr5tRsgEQN3MTMB3iBuIqfS7u3rvxOV8+Dvy3p7R49B3EVfX7PqLnTOH9ifiDZ06E1wFt+zqiR2PkpioI4S8Q8f9zU6AifGcNlp3Hc6SqtVt5fVbQ/ebCWUGNGDVxTyAzf7PcaED3EVSyZHz6GUrOprtxYztW+ZeIqFvyYUVOKq+RS/mB+IHmP7G+ju2S/Cd1d774IDT9m1JivV1TURI9fM2rq/h2cnJs/ODU6skd2vHdLOlaV7VAItkcYx7d28olbfH9lVtTQYleF7CgAIGhON477JZ3h10IQan7PqJHYojuKfJtR46CiJnr82vWpEdqfwstM4i7Vvcp/tD5tgEQNXJOwshcmrOyFfq8D0UJcxVJ/1e1L3H4C4ioW/JhRUx1XzKmJHj9m1Jhx9XNJxQrDM6fHF7bVuRvCw5fWpyb+DjJQOLzMJO5P617lgRbfX5Go2QCJGgBA0JxedftiX1aBsAtCRQ2JmujxY0ZNycTM0IMqtzJ0Szqr02uA63xpfWoCFTXhFZaKGmbUbIBEDQAgaEjUwA1BSNTQ+hQ9frc+ScypiZqgtj5RURNevlXUtIgZNRsgUQMACIzUbOoYVX7AlqSHp2ZTD/djPQi1ICRqqKiJniAkaphTExFToyNbJBV3hFuTdMjH5VQzqx34EB0Sy9biFkmPNE6FJVFDRU0VEjUAgCCpnk9TRFUNmpYfSHarMlHj1wdqKmqip+MzamowEzVU1IRbRdvT5Ny8qzscbhKtT+GUkLTVOf51f2bQr79/zSBRswESNQCAIKlueyq6pJOLQOjtlL0ltiTtSy7lD/q0DipqosfXGTUO8xtyKmrCLahtTxKtT2EVlvk0EomaDZGoAQAESSlRs7625XbjPBU1aEUQ2p4kKmqiKGitTwPT4wtdda9E0AV1kLBERU1YhWU+jUR73YZI1AAAgqSUqFk7eNw3VP6G8czUbKpeWxRQLSiJGipqoicIiZrfqNx21SeSgGH2SuP4Tt9WURsVNeEU2oqaZWuR3ISB/zEAAEFSSsasH955u6RvG7+jqgbNCmSiJj+QpPIhxJzKFd9n1EzMDK2LOTWhNzU6crakvzBOfcivtdRBRU04haaipj8zeEDlv9FbJB3n43ICh0QN3LRblW9KATcQV/FSbn06eMwdkr5u/O4SF5+HuIo2M1FzXweftyKukkv5ByTtc272qvJDPsJnm+wPE5K0OjEzdKBDz1vr9Yo5NSE2NTrSJekK2a8LknSdOp+oafR3kLaUcPK7oqbV91e0CNexpfElQHMKmeGb/V4Dooe4ip1y69PqSXdIusX4nWsVNcRV5PlSUVMnrnZLOsM5PqWT64HrfGl7qhNXVNSE20skDTnHa5LGJ+fmD3dyAU38HaT1KWSWrcXjJZ3k3Nwv6ZedXkMb7692q7yd+CmS8u6uKLyoqAEABEJqNtUlI1FzeN8Zu2V/y1j81vqRqdnUaX6sDaETlNYniW8Lo8T3ticDFTUhNTU6cpykfzRO/cvk3Pz/+rWeDdwnqbhd+K6p0ZGtG1yLYDBfC37Wnxlc820lzTP/RjLLzUCiBq5JWNkLE1b2Qr/XgWghrmJll+xtlbW+3rV6eN8Ze3Jjuf2SvmNc40pVDXEVeb4kaurEFQOFo8OXipo6cfVz4/gMIUz+XuWk7e2S/tqPRTT6Ozg5N78m6V7jFPNDgs/3+TRtvL8y/0byZYaB1ie46Ta/F4BIIq7io1RNo/Utu6We4q2vqzyf5mJJn3ThuYiraPOroqZWXJGoiY5jjONO7vhUK65+bRyf2qmFYHOmRkeeKOlPjVOvnZyb96s6q5m/g3erPEj4eFVWPyB4/J5PI7X+/oq/kXWQqIFrCplhPvjAdcRVrJQTNWtbzTeDrg8UJq4iz68ZNbXiitan6PBrRk2tuLpL0mHZGe3jpscXtnVwuDHaMDU6skXSjKTi7m9ZSZ/zaz1N/h28W+X5IcypCT6zosaXRE0b76/4G1kHrU9wTcLK9iasbG/jK4HmEVexUt7xab3X/Iblu5JWneOB1Gxq09+4PPqjT7joMR/77RelZlM9ja9GCPnV+lTr9YpvC6PDlxk1teJqYmZoTcRW2LxG0rnO8YOSXjM5N7++wfWeavL9FQOFw8WsqPGr9anV9+28jtVBogZuOt/5AdxEXMVHf/Fg/fC2O4vHubHcg5K+Z1z3lHafIDWb2pKaTf1D95Z93+zqWf20pD9v97EQaH61PtV6vWJQYnT4UlGj+n8Hf2McM2g9wKZGR46W9Hbj1N9Mzs3fUu/6Dmnm/ZW5Rffxda+C75atxa2SzjJO+ZKoUevv26moqYNEDQAgKMoVNYeP3l31O7P9qa2BwqnZ1PGSvihp0jj9qnYeC4EXpF2fzA/TzBIJN79m1NTDnJrweJTK8fNLVe76FGRU1ITHGZKKO3Pd3p8Z3OvnYlpARU0dJGoAAEFRTtQc2lU9sHBTiZrUbOoxsrf6fkbVrwZSsym2to2eICVqfmUcP8S3VcANflXU1EMSMDwSxvFNk3Pzq/UuDBgqasLD9/k0baLqtA4SNQCAoCglatYOnFxdUfMdSYec48ekZlMnNvugqdnUC2TPuSmVBK+v9dxlXPL81peKgAtsoiY/kOS9V3j5MqNmA7Q+hUfCOL7Vr0W0wUzUUFETbL7Pp2nTHknFQehHLVuLR/u5mCBh1ycAgO9Ss6kuGTNqDu87407z97mx3AOp2dT1kp7knPpwajZ1exMPfZyklxi3H5A0dnjfmY/bsvPnb3HOPV/Su9tePIIoMIma5FL+gfxAckX2mrbK/rBz58b3QkAFraKG1qfweLhxXPBrEW2g9Sk8QllR058ZXF+2FndLephz6hRJv/BxSYFBogYAEATHSTrKOX7g8IMPq/Vt9bUqJ2oubeM5bpH0/NxYLnfWO/5pX8/RP1/r6lK3pCelZlOn5MZy1VU8CCGnYiVoH6h/pXLy6CEiURNWQZtRQ+tTeCSM44JPa2gHrU/hEdaKGslufyomak4WiRpJtD4BAILhdOP4NqnmrtmfkrTW5uN/VdIFubFcTpIOP3D2itZ25JzfdUkaafNxETw7VX5/sy+5lD/o52IcZvXXQ31bBTYraAlAWp/Cw6yoCVPrExU14RHKihoHA4VroKIGABAEVYmaI+XGcjelZlMXSLqwxce+RdL/5MZyh8yTa6snfqNnx23nOjefL+mjLT4ugikwbU8GBgpHQ9Bm1ND6FAJToyNdoqIGHlq2Fk+QVJzd96CkZR+X0w4GCtdAogYAEAT9xnHdNxi5sdz3JX3fjSc8uPK4xZ4dt73GufmM1Gzq6NxY7gE3Hhu+IlEDrwStosb8FvrU6fGFromZoXXfVoN6jpdd6SfZc9Lu2eDaoGGYcDiY1TQ/7c8Mtlt97Bfztexk31YRMLQ+wU23qc434YiodN+2a3rfdNlC7xtep3TfzsZ3aPnxd12/7bI/+P62P32V0n1MgY+2hhU1Lrvt4L0XflfST5zb23Xk1t0IJz8TNfX+DtL6FA1+zaipGVcTM0MPqFzZ0yt71heCp2KQ8OTcfFCSac28b9+r8o6LR02Njmz3dkloU5Dm07TzeZDWpxqoqIFrCplhkjTx8/JHdt/+Uud4v6Qx1x453Xe2pKtO6lpJOmd+JemvXHt8BE1HEzXF16vUrHW1pEc5p58v6SqvnxueO884vq+TT7zB30EqaqLBl4qaBu+vfq1yAulUhataIy4SxnHBpzUcoZn37ZNz8+tToyN3q/zh+XhVvp4hGAIzn6bNz4Nm6xMVNQ4qauCahJXtTVjZXr/XgY662Dh+udJ9T3XlUdN9z5J0naSkcfb3XHlsBFVHEzXG69XVxumR1Gyq5hRjhEN+IHmSpHcYp77eyeff4O+gWVFDoiaEpscXulVZUbO3U8/d4P0VOz8FXyAHCbfwvp2BwsEXmIqaNj8PUlFTA4kauOl85wfxUf3/9xVK921r+9HSfV1K971Z0hdV2b4gSeco3XdOjXshGpqaUeOi4uvV9SoP5DxRrQ8qRrC8R+X2j1sk/UuHn7/e30HzG2han8LJbO99YGJm6HAHn3uj91fs/BR8CeO44NMaamn2fTsDhYMvMBU1au/zIMOEayBRAzfd7PwgDtJ9far8wyDn9hvbfLyjJF0p6V2yt0uWpOXV9R5zcOzz23psBFpqNtWlykRNJ9oob5Z0c24stybp88Z5Yiyk8gPJS1TZfnl5cim/r8PLqPd38DeSinMpTs4PJLd2bklwiV/zaaSN31+x81PwJYzjgk9rqKXZ9+0MFA6wZWtxq6SzjFM/82stjnY+DzJMuAZm1MA1hczw7sZXIUJ+u3iwvq7DXV0qtoy8Vem+Tyq90vyLdLrvYbJngzzOOPtNSS/q7Tr8LEkfd85dKund7S8ZAXWi7GG+krQnN5bbk7Cynj5h1evV1ZL+1Dl+fmo29abcWC4owx7RhPxAslfSFcapTyeX8v/d6XXU+zuYXMofzA8k75D9TWGX7A/UzHULF992fGrw/orWp+ALZOtTC+/bzdYnKmqC50yVP9Pf1p8Z9HX3yjY/D94taU12Ecnxy9bi1v7M4EF3VxY+VNTANQkruzNhZd3f+QdBVSprXF4/8Usqb5m8XdL7le7rqnmvaum+p0i6QZVJmhlJT1N6ZfdVhy+6dn1dxW0Gn6h0HyWR0WPOp+lE21P169WCyvMmHqHK2UgIhzeq3KN/v6Q/92MRDf4OMlA43J5iHHd0N7EGcUXrU/AljOOCT2s4Qgvv26moCTZzPo3fbU9tfR7szwwelnSXceokd1cVTiRq4KbHOj+IhwuKB7etn/xj2RUJxSqEZ0l60Yb3tufRXCbpqyq/IB+SdJnSK5cpvbIqSa8/OPHQFR39Q+f3XZKe69p/AwRFp9ueJOP1KjeWOyDJrL6g/SlE8gPJM1W5I9xbk0v52+td77GN/g6SqAmp6fGFkyW90zg13+ElbBRXtD4F2NToyLEqz9x7UNKd/q3mCM2+b2eYcLCZYwj83ppbav/zIAOFq5CoAdCuUqLmhvVz8kqv3CBp2vj9vyjdt+vIu0lK9/VK+qCkD6hcrnmHpKcqvTJTffkv1k9bNG7yITp6OrrjUx3m7k/EWEjkB5Jdsl93iq1z35f9uhJEZvKIgcLhYg6p/oWkf/BxLdVofQq2iranybn5MLbVMkw42AJVUbMJbNFdhUQNgNal+06S8+Zjbb1r9eOHfucXzm/eqvKbxtNUuU1u8b6nSvqapD8xzn5f0vlKr3yz1tN99vCgmah5utJ9R29q/QiaICRqviipuIvLE1KzKVoIwuGFsiv4JLuibzy5lD/k43o2QkVNCE2PLzxV0suNUxMTM0MP+rWeGmh9CraEcVzwaQ2bRetTsAWtoqZdVNRUIVEDoB2l+TR7teNn92iX/QE3vbIi6fXGda9Vum+t4scu0za3QL5S0pOVXqn7Af0Th59xu6QfOze3S3qmK/8tEBQdn1FTLTeWu0fSN4xTz/NjHWhefiC5U5Xbb38guZS/3q/1NIFETchMjy9sU9WQ6omZoY4PqW7gLpWTzMc7a0ZwBHKQcIsYJhxsUayoIVEjEjUA2lNqe7p7/ZjqPwqfkvRl43ZX1U/RmuwBoC9TeqWZbydpTYkuP2bU1GLG2CV+LQJNe6HKCY/fSHqLj2tpBq1P4fNGlb+t9m1I9UYmZoYOi5aBIEsYxwWf1rBZVNQE1LK1eLzKybN9qvw7EzZs0V2FRA2AdpQqan65fkq+4jfplXVJr5b0kw3u/zNJz1Z6Zcq5vhnmh+gRpfu21L0SYROE1idJMqsxBupehaC41Dj+5+RSvqM78bSBipoQmR5fOEt2O2/RWydmhoL6IYj2p+BKGMcFn9awWQwTDi7z/dOt/ZnBMM5AKqL1qQqJGgCtsbfdLlXUfGvtMfkjr1m5VemVR0vqqfMzoPTKl4+438ZuUHl3ixNU2T6FkErNprpVWVHjS+uTw+ztPsdZGwIoP5DcocoWyKt8WkorSNSExPT4Qpek96s8pPpGVQ7LDxp2fgquKLQ+VQwTnhod6ap7JTotKF90uYHKwCq8CY2XXpV32AHa9VCV3wjuvfLw0+r/YUivrNX5aT3jn15Zk/R54wztT9FwsqStzvF9ubHcXr8WkhvL3S173oMk7VBlAgnB8nRJRznHP00u5cMwQPEuSQed42PzA8mjNroYvnqRqoZUOy1GQcXOT8GVMI4LPq1hUybn5h+UvbW4ZH+WYEOH4PB9xp+LqKipQqImJhJW9jxJWUlfSFjZF/m8HITbBcbxjQ9ox1oHn7tyTo1d3YNwC8p8miJz5hLtT8FlJmqvrntVgCSX8sVh6kVU1QTQ9PjCUaocUj09MTN0g1/raRKtTwE0NTpyjMrzQ1ZV+UE0bBgoHExBew+1GQwTrkKiJj5eK/vbx12SPp2wsu9IWFm3//+/2flBtJ1vHHdihxUzrhYkFSsuzpL0qA48P7zlV9luvderivanDq0FLcgPJHskPdc4FaRETaO/g7Q/Bd/TVE52/EaVc2r80iiuqKgJpoq2p8m5+U5+sdWMVt63M1A4mILY+tTu50EzUXPSsrUY+zwFbTDxcXHV7bdKOjdhZV9ayAzvceMJCpnhMH9TgOaZFTWeJ2oq4iq9ckDpvv+WXZYu2d+q/7jW/RAavrzJ2OD1ioqa4HuCyv3rd0j6no9rqdDE30F2fgo+8/3SJyZmhnwfUt1EXDGjJpgSxnHBpzXU1eL7dgYKB1PgEjXtfh7szwzuX7YW98guKtgi6ThVJghjJ/aZqjhIWNnTJZ1Z41fPlfTdhJU926Xn2ZmwsjvdeCwElN1qZFbUeF4OXiOu2KY7Wnzpr97g9YqKmuAz/91/IbmUD8zskCb+DlJRE3yXGMdf92sRpibiitanYAr0IOEW37dXDBT2Yj1oS+Bm1Gzy8yBbdBuoqIkH89uh78tuH3mjczsp6bqElX1xITP83808mJP4Sdb41aMk/UKVA18RLWfKznBL9h/tW+T9t3ePdf7z285/ZiUdlr171OOV7nuI0iu/qnlPhIFf/dXVcVVERU3wBXk+Tb24KiJRE2DT4wt9kh7n3FyX9E0fl2NqFFe0PgVTwjgu+LSGjTSKKxOtTwGzbC12KZgzalqJq2q7JT3SOT5F0pE7y8YIFTXxYCZqbihkht8k6aWS9jvn+iR9MWFl35ywsnWHsyasbHfCyv6tpF9K+p8aP/8k6XMJK2tt9DgINbPt6Ya2dm9q3ZLMD8/plXtV+S3nc6vvgFDxq2y3Mq7KblF5Z56HpmZTx3RuSWgkP5A8R+VKp32SvuLjcmqpF1dFtD4F20Uqvze+aWJm6D4f12JqFFcViRpne3H4z6yoKfi1iA00iisTw4SD50RJ25zjlf7M4P1+LsbQSlxVY6CwgURNPJiJmpskqZAZvlLSk1Uuk+uS9C5JVyas7BFbhiasbJ/sby7f0uC5uiW9U9J/1nochF5loqYDCpnhewqZ4XuqTs8bxxd2Yh3wjF8zamrFlXJjuUOS/s845UprKFxjVtN8ObmUf7DulT6oF1cGKmqCzXy/dK1fi6jWKK4mZob2qjxof5ukYzuxLjSUMI4D1/rUxOuViYqa4AncfBqp5biqRuuTgURNxCWs7ENULiFblfST4u8KmeEbZc8bMUt7/0DSNxNW9uHGY5wj6buSRozrcpKuqfoxZzuMSvpWwsom3PrvgkDo9I5PSljZ4xNWtvrbmxuN41Qn1gH3pWZTPaqsKri93rVuqxNXRcypCa4gtz01iiuJRE3QXWIcB2I+jdRUXEm0PwVRwjgu+LSGupqMqyKGCQdP4ObTSC3HVTUqagwkaqLP/HboRyqX9EsqTeZ+mqQZ4/TjJN2QsLIXJ6zscyRdp8pZDe+R9LhCZviZ5o+kP5H0WeO68yRdn7Cyl7j1XwY+Svf1SPpt40xHEjWyY696VkjOOH6U0n3M2wqnU2TPGpKku3NjuX0dfO5acVXEnJoAyg8kT5H0JOfmmior64Jio7iSqlqf8gNJWlQCYnp84RiV/8atS1r0cTnVGsWVxM5PgTI1OnKUpJOcm4dU+f9PUDQTV0UMEw6eIM6nkVqLq2pU1BhI1ESfmaj531oXFDLDq4XM8GWSxmX/MZHsvsevyH4jvMs5t1/SHxYyw28uZIZr7bJxWNKUpFernBA6UdJXElZ2YlP/LRAEA5KOdo5/7esAX3tOTfEDzzaVq8YQLoEs2xUVNUE1IrtNV5K+mVzK3+XnYtp0v6QHnOPtokUlSC5UOXGcm5gZard03y/s/BQs5nyaX07OzQdmd7o20foUPEF9D7UZZqKGihq/FwDPNUzUFBUywx+U9FSVy862qPym+DZJTy5khv+j0RMWMsMfdh6n+I+tR9L7E1Z2qIV1I3g63vbUgFlVQ/tTOCWM48CU7YqKmqAKdNtTM5JL+XXR/hRUgZxP0wJan4IlYRwXfFqDm2h9Cp5Atj5tktn6REWN3wuAdxJW9lSVP2SsSvpxo/sUMsPflP2B/PvG6UVJ5zszbZpSyAx/y3kc8z4vaPb+CCRzkDCJGrjh943jIG3BaFbUnJ2aTfG30mf5geTRkp5hnAplosbBzk/BdIlxHJj5NC2g9SlYzIqawA0SboOZYH741OgILef+o6Im4njzGW1PMY6/JztZ01AhM3yb7B2hXiu7HerphczwHRvfq+bjLEt6u3GKD9PhRqIGrknNph6qygqJj/u0lCPkxnL3qvytznZJD/NxObA9Q/b/F5L04+RS/mY/F7NJVNQEzPT4wtGq/Bv3Db/Wsgm0PgVLwjgu+LQG10zOzd+nypbzR/i3GjiCOqNmMxgmbCAbGm1tl/EWMsMPSnqfC2swP0w/NmFluwqZ4XUXHhedlO7rlT0cuqjp6ioP/dA4JlETPn+i8jyIr+fGcj/Z6GIf/FTlsttzFIE32iEX+rYnA4ma4HmSyu+JfzwxMxTG+Ue0PgWLWVFT8GsRLsupXAWYUmWbMDpo2VrsVmWiJiqtT3skHZCdDDxq2Vo8uj8z+ECD+0QWiZpoMxM1fpXx3ip7eOIxko6T/aa0Y1vwwjWPkdTrHN+i9EoQ3sQuyR5g3SPpTKX7diq9stfnNaEJqdnUVtmJmqIP+LWWDSxJGnSOByT9j49ribX8QHKLpOcap8KeqKH1KXjCPp9GinHr09ToyJMlPU/l5L/pbkn/Njk33+kPsgnjOAqtT5KdqHmWc5yS9Gkf1xJ3J0va6hzfG5VkRn9mcH3ZWrxD5bauUyT9wscl+YrWp4hKWNmTJD3auXlQ0nf8WIdTPUOLSvg9wTgOQtuTlF45oMpZIo/xaylo2XNVriTYLekq/5ZSFzs/BcegysMrfy3pBh/X4gYqaoLnEuM4jPNppJi2Pk2NjjxG0oKkN0l6Q42fv5N009ToyFM7vLSEcVzo8HN7xaxkfqxvq4AUzfk0RWzR7SBRE13mfJrrC5nhfb6thERNFAwbx9/2bRVHIrbC6XLj+CO5sVxT87M6jJ2fguNPjePPJZfya76txB1U1ATI9PjCDkmPN06FcT6NJN0pqfhv44Tp8YXejS6OgqnRkW5JV6hcWVDPCZKumRodec3U6EhXg2vdWNd2lauaDis6leS85wqOKM6nKWKgsINETXT5Uca7pNr9qrywh1m6b6ekpxtnPt/hFdSLK4nYCp3UbOpsSU9zbq5J+pBPS9korqTKihoSNT7JDyRPlfRC49QH/VpLkxrFlURFTdA8UeXW3vzEzNDujS72ScO4mpgZOqz4bW37R7I3v5CkQ5LeIumNxo+l8oe+HknvlfTRqdGRbR6vyxxAvzw5N3/I4+drVzOvV9XXH3aOz5waHdnp/pLQpCBX1LQaV9UYKOxgRk10dXw+TSEzfE+dX/FhOtyeKXuolyTllF65pZNPvkFcSQwUDqNx43g+N5b7pR+LaBBXkl2qvir7A9xpqdnUrtxYbo/nC0O1V6n8XuVbyaX8Dze62G9NxJVUNUskP5DsSS7lD9e9Gl4Lwjy/DTUZV5Ld/lSs5DhV0RkweoSp0ZGTJL3HOPWeybn5v69x3ZWSPqvyrl6vkPSoqdGR352cm/9V9fUuCcUg4RbiSpI0OTd/YGp05KeSHuWcerTsXWXReWaiJlD/zluNqxpofXKQqImghJU9QeXe0cPqUKtKwsoeL9X8B2omah6VsLJbC5nhg51YE1zh624rG8SVVJ0ETPd1Kb3CrmIBlZpNHSX7TXKRb0OEG8SVcmO5Q6nZ1P+p/Ib0HAVlPlNM5AeSPapse7rCr7U0q1FcSVJyKb8/P5C8W3Y7Ro/sN6K/rnd9HEyPL7xa0rNVu9L7Hkl/MzEz5NWXBJcYx4FM1DQTV444zal5t6TjneOCpL+tddHk3Pzy1OjIU2RX473cOf0ESTdMjY78zuTcfK7W/TYpYRwHdpBwC3Flyqn8dzElEjV+CWxFTZtxZaKixkHrUzQNGsc3FDLDndoJZ0A1WgQKmeF7Ve7P7ZX0yA6tB5uV7tsiacQ448duKzXjylHcVUyyP/TEaqeLEBqVdKxzfLOka/xbyoZxVWSW7jJQuPOGVX4zepek//JxLc1qJq4k2p9KpscXLpX9IfpS2Tv3VP/8kaSrp8cXGs0haee5t8tufSoKZKJGzcdVLHZ+mhoduVh2XBRNTM7N153FODk3v9+5/s9Vbt05Td59WZAwjgsePYcbmo0rE1XywRDkGTXtxJWJihoHiZpo8mubyR+qshWl+ndFvLCHx0Uqf2N1u6QbfVhD/biyq2d+ZJxhF4Jgu8w4/mBuLOfnUNiNXq+KmFPjLzNePppcyh/wbSXNayauJBI1kqTp8YWdkt7XxKUpSa/1YAmPV7m192cTM0NBrWxqNq7MippIJmqmRkd6VVld95nJufkvNrrf5Nz8+uTc/D/L3l66WHn7pKnRkR3urzIcrU9qPq5MJGqCIbCtT2ovrkwME3bQ+hRNlxjHHft2qEHlTk52WbNkv7DPeb8iuMBse/q8H21FTVSE5SQ9yTlOSfofb1eEdqRmU+erPCPggKR/9XE5zcSVREWNb/IDybNkf6CS7A9VQR8iLKnpuJLY+akorfI3w3fKbnUzE7iXSHq9c/z26fGFT0/MDLk51+oS4zio1TStxFUcWp8mJSWd470qx0dzd56b/4ozZ2VAduvheZK+4+L6pJC0PrVZcW8mah47NTrSNTk3T8t5By1biz2q/LsRqESNC50ctD45SNRETMLKHifpXOfmmqRvdfC5T5GkQma41o4JZODDJt3XJbsUvciPtqdGcSURW2FhVkd8KjeWu8u3laipuJKoqPGTOZvmS8mlfEeHmLerybiSqKjR9PjCuar8kP2GiZmhz1Vd80XZuw4+RtLRkv5F0gtcXEbgBwlLLcVVpFufpkZHzpT0NuPUX03OzbfzIfUGlV/Tz5f7iZpQVNS0EFemYsv5MSq3nAe1Ei2qTpWdZJSku/ozgw/6uZhqbcaVidYnB4ma6HmypC7n+PuFzHAndyk5y/nPRoka2lPC4TGSznCO71dn2+hMG8WVRFtdYDjDgqdVrpwxnW0c+zZE2NAorqTKRM0jU7OpntxYjt15PJYfSG6X9ErjVOCHCBuaiSsp5oma6fGFbkkzKn/Y+JqkK6uvm5gZOjg9vjAu6ZvOqUunxxeeNzEz9HkX1tCrcjWmFOBEjZqPq8i2Pk2NjnTJbpPb7py6SdL723y46yW91Dmu9feqmfVslfQXshOH1fOTilVi6wpYtUOVZuOqZHJufm1qdORHqqxkjmSiZtla/FNJfyDpI/2ZwU80uLZbdrXXiKR392cGs008/pikl0n6h/7M4H+3sLQgz6eR2oirKnfLLjbolnT8srW4tT8zGMtNaJhREyEJK9ulym8hr/VpKbUsqTzALZGwssf4uRg0xWx7+pLSK0GdD1Gxq5gzABn+eLvsgY2PrvFTfCN7k0KyS0RuLHefym80tqnyW1J45/dkf1Mr2d/efsnHtXgl7q1Pf6LyEN9VSZdNzAzVbJ+YmBn6lqSPGKfe78y22ayXSSrOJ7l5YmYoyB+omxXl1qcnSnqOc7wuaXxybv5Qm49l7uDXcqJmanTkRElflv037zwd+feu6PbJufnVNtcYZJGvZF62Fh8h+0uCiyX9+7K1+L5la7HmQPNla7FPdtX5uyU9RdKVy9bi0Q0e/0zZLeBPk/TZZWvxjI2urxLk+TSb1p8ZPCx7A4Gik/xai99I1ETLC2TvkiHZf8T+08e1VChkhg+o8tvpx/i1FjTN1225m5ZeMXcV2ybpET6uJrZSs6nHyt5RYyOHJb01N5YLUz87c2o6r2LodHIpH8UqpthW1EyPL5wiKWOcetfEzNBP613vsFR+4366Kttf2lnDSbI/VBUdUc0TUhWtT9PjC111rwwf83XhE5Nz85tJ+P9A5S8Pz5kaHdnV7B2nRkfOk906dUkTl0+3vLJwiHyiRtK4yh0KkvRnkr68bC1WJA2WrcWzJX1XlTuk9kl6cYPH/1Pj8XdIev+ytdjsv9fAbs3tIubUiERNZDgVKu81Tn2wkBn+vl/rqYMWlbBI9z1Udt+2JB2S1HBHBZ/RWuej1GyqW/aw12Ibw7Wy/41X/5ycG8s1LAcOGObUdFB+IHmeyiX1ByV91L/VeCq2iRpJ/yDpWOf4ZknvbHSHiZmhuyW90Tj1hunxhc28j3i3yjsaFiS9axOPFRgTM0N7JT3g3NwuqekERJA5FSyjxqn31ru2Gc5W3sUdI7sk/VaT6/h92bMfi9WV67KThrX+3j10cm4+U+txIiDSiZpla3GHKttviy6RdP2ytXiec92zJV2n2u8NLq+XeFm2FrdLelXV6eeo+flbcUjUMKdGzKiJkrerXD59h6S/9HEt9eRUzjBH7oU9Yp5nHH9d6ZX7/FpIk3Iq7xCTkvQpH9cSR3+schvDQUmX5cZySxtcHyZU1HSW+a35fyWX8nfUvTLcdqvcg39ifiC5LSTbj2/K9PjCkMqzQSTp8omZoWYHYf6bpFfIbkXokTQzPb4wODEztLbx3Y5Yw8WyWzSLJiZmhva18hgB9xuVZ0ScJmnFx7W45RWSep3jGybn5m9w4TGvV3nzjQu0wbiAqdGRHknvkD2Tpuh+SX84OTf/BRfWEjZmoubRU6MjWzbRhhZEvy/pOOf4FtlfGLxDdlLv4ZK+vWwt/ofsZE4xGbNf0hsk/aPsJOlvyY6r62o8/otUbu81vXfZWrymPzN4f4P1BX1GjRvYoltU1ERCwso+TtLrjFNvKGSG7/VrPRuIdAY+YsLR9lRGbPkkNZs6WZXfRr8rQkkaiYqajskPJB8u6Q+NU2EaItwSp50ryvNEjjA9vnCq7AHCRZ+cmBn6crP3d2bYXCY7GSxJF0p6U4tr6FVlXH1mYmYo6BWjrYrUzk9ToyPdsttQitwaRm8me+rOqXGGGP+7KpM0P5f0hJgmaTQ5N3+PylWBUWw5v9w4nunPDP6dpOdKKm7QskN2RUwxSXObpIv6M4NXSJoz7mt+8VDv8d+jcpvPQ2V/8d5IpGfUOGh9Eoma0EtY2R7Zb3yK/18uSPoP/1a0oYr2FGf4MYIm3bdL0pBxZtO7a3QAbXX+qW5j+Hv/luIJKmo6ID+QvFj2B6fiAMYfqbzTT1TFpv1penzhfNn//z7SObVH9rfPLZmYGcrL/mBTlJkeX7jCScA0Y1JS0jneq8rtwaMiajs/PVPSmc7xfar8ILwZ5kDh8+teZSdx/sC4/SVJj5+cm8+7tI6wiuT7rmVr8bckPd65uSp74K+cXZyeIOlnVXf5hqTz+zODxXETZiLxxcvW4vHmxcvW4rmqbO+dUuV8v9ctW4uPa7BMWp9igkRN+P2JKl9QLi9khoM6qPNW2aWikl1SGOk3piH2LJk79KRXbvVzMU0ydxU7U+k+N3YEQQOp2dRTZe+cUjSRG8s128YQFrdKKraknJqaTfX5uZioyQ8ku/IDycslfUXSic7pg5LelFzKB/VvmVtisfPT9PjCy2Qn3Yr/Hddktzy1u6Xv36nyQ/a4pK86Q4o3WseZqhxC/FcR2empWtQqtcyqhI8782XckFP5tf0MZw5OLWaF8eclPXdybv4+l9YQZlGtZDbj7dP9mcE7izf6M4NLspM1n5TdUvhPkp7enxk0qz+ul1RM2mxXZZtl9eN/pj8zuFv25i9fdc51S/rgsrXYoxqWrcUtqvx3fXut6yKAihqRqAm1hJWt3jkhU8gMN9o5wTdOAimqL+xREra2Jzlbh5ux/+h6l8IdqdnUNlW2MczlxnL/49d6vJIbyx2WXeZeRFWNS/IDyW2SPiR7Z5TizLw7JA0ll/L/7dvCOifSFTXT4wtbpscXpmTPltnmnL5P0nMmZoba3mXJmSdziewPS0VPlnSDU7lTay1dkt4v+4OTJN3k3I6iyLQ+TY2OPEyVu+nM1Lu2VZNz8wdlx0FRvaqaS43jf52cm4/iLnTtiNz7+WVr8VhVtt8e0WbXnxm8rz8z+AeSjuvPDL6hPzN4sOr366psrxxftha7ncffpcoZXVcY97lc9hfukl3F9eo6yzxN5c/vd/RnBqM624yKGjFMOBQSVna7yt80mt4jews4qcmdEzz2w8aXKCe7r1yyX9jj8GbcX+m+LWr+zVqP7MnzRUFI1DQTV5IdW49yjh8raTNbd8aOs3NTKx8WxyWd7Ry31cbgs2bjSrKTgI9xjgdUezggWpAfSJ4q6TMq/z2QpBslvSC5lA9zKXcrcWUmas7JDyT7q35/b3Ip/4BCaHp84XjZLSpPN07/RNLzJ2aG/m+zjz8xM7RvenzhJZL+V/YXVl2yB2wuTo8vjKv87XTRkKRnO8frksYnZobCNPy0lbiKUuvTq1X+UPrVybl5t7+MvEF2hYRkJ2oq3pNOjY48QuX3FfslXePy8/utlbiqFrlEjaSXy54/I9n/23yn3oVOcqWe/5TdFt4nu93zabJj52Uqt/f+WNKi8Xg/W7YW3ynpr51T71y2Fj/Xnxk0/z1L4Wh72kxcFTFMWCRqAi9hZS+S/YejUSvH5YXM8P4OLKmuQmZ4bxOXRfGFPbjSfc+XvW1yOy9yv1Tlt02+aDKuJDu2itt3ElstSM2mhiR9XJVvAFrxltxY7leNLwuOFuJKqpxTk6x7FZqSH0ieIjuR+jDj9CckvTq5lA9161yLcWWWrF+mIwdP7s8PJN8t6e3JpXxLOxv5aXp8oU/2B5yzjdNXS3rZxMxQo91MmuYMF3739PhCTvYHoz7ZFTMfb3DXmYmZoVAl8luMK/OD3aOmxxe2TswMHax7dUBNjY70yt5RsMitIcIms4Wu1kBhs8L4msm5+VAmTutpMa6q5WW3nPdIOmtqdGTn5Nz8Zh7PV85W2uZr8AcaJGPq6s8MPrBsLc5Keq1z6rJla/ErqhwifEWNx8/Iruh5hOzXs/eosr1cCkGiZpNxVWS2PoU94dw2Wp8CzKmk+Vc1TtJ8spAZbnrnBK8krOwpTjvWRkjUdEK6r1vpvrdJukrtZ6KvVnrF9xkRTcaVFNHBdl5Kzaa6UrOp10n6stpP0tyoEO7O00JcSfY3X0WvTM2mjqt7JZoxpXKSZk3SGyW9POxJGqnluPp5g99vlz1T5XP5geSuza2so/5OlUmat0v6XTeTNKaJmaEvyZ7V18xuc3dI+ksv1uGlFuPql8bx+ZK+PD2+cJIHy/LaC1R+//IrebOxQSuJmiBUGLuqxbiqMDk3f0CVg3XD3nJ+ico7O94vqe32TIfZpvc82QOpi9VZD8jeSaxCf2ZwvyqTOS9Zthar35sFPlGzmbgy7FZ5h79Tl63F527y8UKJRE2w/T+Vd0g4KPvbt+qf/5H0Gl9Wd6SznJ+NmImaRyWs7Na6V6I96b5jJP2XKrf4u1+146fez4LsN9tB0ExcSdVJwHQfu4ptIDWbKiaC/1n2N2KS/eahlTj5nqQ/dOa4hE2zcSVJX1C5+uFkBeffRujkB5JPU+UMgN9LLuWnIjQ4uJW4+pbs+Ty36ch/W3cZ1z1P0nfzA8lHHvEIATM9vnCBKj9ovGpiZig9MTPkaUXQxMzQz2S3sHxIdqKi1uvVjyT9wcTM0H1ersUjrcTVj1W5++clkq6fHl84z+U1ec2sbvjw5Ny8F61qP5X9d0+STpsaHSm1/zrDhS9ybq5Lmvfg+f3WSlzVEqUvX83XrX/vzwxuqiqkPzOYl/Q152aPpI8Yv/5Ef2Zwz5H3kvozg9eocrBw9awas0U2qMPQNxtXcmbv/Jtx6v3L1uLR9a6PKlqfAiphZR+pym99XlfIDAf9W+sbGl1QyAzfm7Cyt8ve/aFXdiLqJ14vLDbSfWfJ/tbH/GZjQdLvK71ytz+L2rSGceUo7ip2jKQTZJdKtrurSKSlZlMPlfRZlXeMk+yky++GrYVpE5qNK+XGcntTs6nXyp6pIknjqdnUbG4sF6r2Cb/lB5LbVVl99Z/Jpfxn/VqPR5qOKyc59WfOT4X8QHKL7LlzbyxeLum6/EDyD4I6aHl6fGGL7FbbYpL8S3K2tu2EiZmhPZL+tFPP12FNx9XEzND69PjCS2W3przDOf1wSd+eHl94xcTMkFvbW3tmanTk0ZIudm4elvRhL55ncm7+8NToyI2SnuKcukDlypkRlb/Q/s7k3Pzu6vtHQNNxVccPJf2+cxzaRM2ytXiaKodGu/V56wpJT3WOd1Sdb3S/pznHf7xsLb6jPzNYHDQc+IoabT6uiizZ/7+cILsK922yixhig0RNCxJW9gxV9tSbflTIDDf1QThhZR8iabWQGb6rzu+7ZPfi9jqnrpP9LVGgFTLDq42vkmS/sBe36UyJRE1t6b6HSupWeqW5F+J03zNkD2802zL+WdKblF4J09DECk3HVXplXem+H0l6knMmJRI1R0jNpp4kO0lj9vx+XNJlubGcr3OuOqmF16uiz0nKShqW/UF0JjWbuiA3lgvtv6125AeSJ0g6LrmUb2cgrFkluqLwDaBuqI24qim5lD8k6U35geRNsr+J3S7pWEnZ/EDSkvQPAaxCulzS45zj/ZL+zJkjg01qNa6c/93/dnp84QeyWziOkf1B8ZPT4wvnyt6aPMiVkOPG8dWTc/NebkF8vWonaiLd9iS58nq1YUXN1OjISbLnrrxhcm5+ZZPP5aU/Vvkz8WJ/ZvBHLj3uVbJnRpnvt77Tnxn8QYP7fV72+9fTnPteKulTzu8Cn6hx6+9gf2bwrmVr8U2SPuacesOytfiJ/sxgbqP7RQmtT01KWNkXyd5Z6do6P79OWNkJJ8lS7zG6E1b2b2SXqv0qYWVfU+f6F6u8U8KapPFCZjjIf1AlSQkre3rCyjYz5yJKpZLeSPcNSfqFpILSfW/ZsI0n3deldN8bZA+dLiZpDkj6I6VX/jzMSRqppbiSKmNrVOk+XuMMqdnUq2S/XhXfNByW9DpJr4xTkkZqOa6UG8uty24zLc5ROU/BaTvtiPxA8mzZMwl+nh9IftjZXrvZ+1ZXif5lcilfvZtF6LUaV40kl/JXyt56ulji3i3p3ZKuzA8kj3LreTZrenzhoZL+1jj1jomZoV/4tZ6oaTeuJmaGviC7Jcych/QXkv7FrbW5bWp0ZKfs3XeKvK4mN7/9P99Zww5JzzTORzJR48LrVcX7+anRkdJ71anRkfNk/2/7SklXTo2O9CiAlq3Fx6qyqtG1odXO1t3V1WANH9+5n/kFvdkGaP7/FcjWJ5f/Ds6qvDvWFklXFLc7j4PY/BfdjISVPV72P6yNZl5slfR+SR9OWNkj3rwmrOwu2d/I/pXzOFslvVfSR8zrE1b2WEn/ZNz1vYXM8P9u9r9Dh5yu5gaSkqjZSLpvh+wX9l7Z/0b/VtKnlO47cqi0fe2/yR7OWfz3/CtJT1F6ZbYj6/Ves3ElSd82jl8p6Sql+8I0hNMTqdnU1tRs6n2yv5kvVurdI+mZubHce50kRNy0EleSpNxY7hZJf2OcekdqNuXah/Igyw8ku2R/YDreOfXHkr6WH0ie1uR9zSrR62W3yERRy3HVSHIpf6PsD5DfNE5fpPI2r0HwT7KrNiS75eYffFxLFLUdVxMzQ3nZba5my9zE9PjCRXXu4reXSCr+3f6Z7PZtL1UMFHaSDU+XVEyE/tSDbcGDYrOvV7dKKs5yOVHO8Oep0ZFR2e/Hil0Iz5E0uInn8cSytfgi2TvUneyc2i274thNH1J5KO6dsmdINuPDsr9Mk6RLlq3F5LK12KvygO11Ve4cGCSu/R3szwyuyU5UFb90vkjSK9x47DAgUdOcd0oqTsy/R9I3qn7Mb41eJelrCStbevPqzJv5ruyBgNVeKela4/q/U/kf4e2y+/GihkTNxv5S0plV514k6VtK951ROpPu65cdfy81rvuupPOVXrnO60UG1JWqfDP6XEnfU7rv7DrXR15qNnWSpGtU+Y3RDyWdnxvLef0GOIqmVN4F6mjZ7YVx8BJJQ1XnniTphvxA8vE1rjcdUSWaXMoHvko0SJJL+d2yZxbMyK7qujS5lL/T31XZpscXni3p94xTl03MDLlS+g53OAOUR1Q5EHdmenwhiBs6fFl21dhdkmYm5+a93pr+F5LudY6Pl3SGYtD25Abn/xuzTei8qdGRjKRPqjyTZY+k507OzV/b4eXVtWwtdi9bi++Q9GmVE3J7Jb3MmAXjiv7M4LKkF0r6hKRhZ2enZu53uypj7zJJD1G5aOA3TuVN5PVnBn8se6vyoncvW4th3MmuZSRqGkhY2QtVOXH7VYXM8MXmj6THyP4HWPQkSTckrOzjE1b2WbJnzCSN30+pclu2J0q6MWFlL1NledvrCplhT7az9NmSylniMxJW9piNLo6VdF9SlYOyzG9QHyvpeqX7hpTuu0h2Sen5xu8/KukSpVfiO5fFbvMaUeUL+oCk65Tue7Y/i/JPajZ1nuw4udg4/V+SLnKqQ9Ci3FjuoCpfp383NZsa8Ws9nZAfSB4n6R+NU9+VnXCR7DeO38gPJMfq3PdYVVaJvi+5lP++F+uMuuRSfjW5lL9MUiq5lA9Epe30+MIO2TtXFc1OzAx93a/1oD5nJs2EpH3OqcdIer1vC6pjcm6+MDk3//9k727jeeXd5Nz8uirbn54g+0ueIhI1GzO/fP13Vb6H/ZmkJ0zOzWc7u6T6lq3FXbJnx7zVOP1/kp7o7Ljkuv7M4Bf6M4Mv688MXt/46gpm29+YytuHSwGdT+Ohv5VUcI6Pl53MjbzIDxNOWNlu2dsUzhcyw59odH3VfbfK/vaq6Auq8YJdyAw/mLCyL5d0k+zA6Zb95nVR9v/GxYTYfkl/XMgMX+nMpvlf2eXB3bIHRpl9i1+U++V3gVDIDB9IWNmfSnqUc+qNCSv7yxYe4vshagcrS/ddIPv/6+uUXjmy1cSeQ3OF7LY4yS7HvFjSHznne2VPPv+y7A9JxesOyX6z9YGajxs36ZXDkt6sdN8PVB7C2Scpq3TfX0p6V5T+d0rNplKq3L2p6ERJf63yt1rrslsv/z6mrU6uyY3lFlOzqY/JroiUpPenZlMLubHcvo3uF0TO3JnTJV27QZXL36tcGr4se3bDE1UeXr5N0sfzA8kLZX8xYXq2KqtE/8q91cdTcil/s99rMLxFdgWCZFclvMnHtaCBiZmhX06PL/y1yl9mpKfHFz41MTN0q5/rqmVybv5AB5/ueknPcI7/TOXXuztk74iI+sxEzYnG8Rcl/eHk3Px9nV1OfcvW4tmyP8eZCY8vS3pxf2bw3tr38tWC7PlSj5TdDvhm43eBnE/jlf7M4L5la3FC9qYOkvRHy9bix/szg5H+YiDyiRpJaUmjkkYTVvY8SVYhM9zscNXXqdyas0/SawqZ4ZofcJzzUwkrm5Nd8necyv34kv0P6tJCZvhG4/p/SljZH+nInXr2S/qzes8VET9UOVHTanvX22QnucIh3dcrex5RcdvQjyndd7nSK9VvQl6myu0ox5VeWXOuz6u8U0+P8yPZpcG/p/TKtR7+Nwin9MqVSvctyZ4NdbrsctF3SjpP6b5XKr0Sug/VptRsqkf2NwxWE5ffL+klubHcfMMr0az/J7s8/gTZW99+JjWb+oPcWO4+X1fVJGduzJtl/5vokvSV/EByNLmUv6fquieqcsvj1yaX8vdLuiY/kCzukPJo53evVmUFarXXOfdFBEyPLyRV+cHhzRMzQ4Fox8KG/kX2sN6U7LaP96qy1SeOzEqHC43jL0zOzdOmubEf1jj3Tkl/FaT/7ZatxWfK3jmpzzj9Hkl/0Z8ZDMw6Tf2ZwbVla/EKlStan2r8Om4VNerPDH5x2Vr8jOxWMskeLHye2+1qQRLp1qeEld2h8v+ZkjQp6YvOcOBG932YpLcbp9KFzHDDbxwKmeEvy97e78fG6W9KOr+YpKm6/hrnerPH828KmeGotyV8ze8FdES67xRJX1XlB51XSrpW6b6HGNcdL7slruiflF4p//FLr3xHdpuT+W31TbLn0Vzr9rIjI71SHMK5aJwdlT3v5+H+LGrzUrOpY2VX+DWTpPmZpMeTpHFXbix3lyqrB54l6brUbCpZ5y6B4ewW9B+yt00t9rs/XdL1+YFkyrhui+yq0uI187JLxiWVKjueJDsZ2khkq0Rj7HKVKzu/rfIWqgiwiZmhg6rc/vp50+MLcU/U3FDnPG1Pjf2vpOLW2/skjU7Ozf9lkJI0jn0qz6PZL+ml/ZnBNwc1SWOYlb3earFL1Dher/IA66Sk3/FvKd6LdKKmkBl+UPabyC8Yp58h6bqElX107XuVvFflf9A/UgsDIwuZ4eKb1zfLLqF8WiEzvLuJ698i6bWS3tXsc4XYxyT9ufOfrf7c1PnltiHdd77sP/5PrvHbJ0q6Qem+Jzi3MyqXjN6myiSh83grt8uuuHmtpDdKerLSK4ErVw6c9Modsj+Emm2M58n+3//imvcJMCcR8D3ZLSVF31Ltfyt/KekJubHcUqfXGRMflz0AvuiRkr6Xmk09t/bl/ssPJB8u+8uDF9f49ZmSvpMfSP6uc/s1ks51jh+U9JrkUr6i0tOpkHmR7IrAj6p2HGYk/WH1fRF6r5c98+RuSeMTM0NeD32FSyZmhr6tym2D3zc9vnDkzpLxcbuk31Sd2yfpKz6sJVQm5+b3yJ4N+PeSLpicm/+Uz0uqqT8z+E3Zn8mWJT25PzN4pc9Lakp/ZvAeSf9Z41exTNQ4w5n/Svbugpf0Zwa/0OAuoRb51qdCZnhPwspeKrsFqtgbf5ak7yas7MsKmeGrqu+TsLLPV2UZ6HghM9zSZG1nCPB7Gl5Yvn6v7Be5WHDaz/7Z73V4Jt33UtlvgrY7Z9ZlVz+syp5L1CN7LtE3lO77F0l/Ytz7z5Re2ata0iv7Jb3Po1VHV3plVdJlSvf9r6T3y/4W+ERJX1G67/UKyXwfJwFwpcrb4Er268bbcmO5oH8rFDnOrJ+3pmZTP5T0r7KT+8dIujo1mwrcPKD8QPJi2cOkzTkCV8iucPyYpJ2yd7L6TH4g+c+qfF16e3IpX6j1uMml/JrsgfotzYFDuDnDaT8wPb7w8YmZoVC3ksaUJelS2buani77ffIbfVyPbybn5tenRkeuV+UQ4S9Pzs0/6NeawmRybv6bqtz8IpD6M4MfWrYWP9mfGdzj91padIWO3JI6VjNqqrxf0gei3PJUFPlEjSQVMsNrkt6WsLI/kF1CdrTsN6SfS1jZf5VUXe1ibnf8kUJm+FudWSlCI933NJW3m612uqQ/NG6vSHqx0iv/7dw3J7tP9njZc4zM9omrlV75vOvrhS298iGl+34i6TOyhwVukf2C/zil+yZqzA3qqNRs6omqPyvgREmvUrkNZZ+kV+TGcoH89ipOcmO5T6VmUz+T3Rb0cNn/H/2tpPNSs6lX5MZytROvHeLMo7lcdnK8+Hf/oKSJ5FL+w841edll/mc6v3+98RA/VuWuT0AJSZpwmpgZumd6fGFS0r85p14/Pb7w7xMzQz/wc10+qk7U0PYUQSFM0qg/M3j9srV4o6TfNk7HsqJGkvozg83Omg29WCRqigqZ4c8krOzPZL/4FncpqM5Qmu5SczMgYKvX4xtFF6m52MhLer7SKz8vnUmvfNXZAepq2dtjFu2T3daESu7GVXrlm05b2udU/qP3KkmPUrrvaUqv+PkN2uPUXFzdKunS3FjuJm+XE2muxlVuLHdTajZ1gewk7CXO6RdJOic1m7o4N5bzc0eJf5HdxlS0W9ILk0v50pcQyaX8j5zhwJ9UefeTosuSS/mWqkpjLE5/B9E5XsXVJ2TPzbtEdqXvzPT4wkUxbWMz/zdekz2TK+p4vQqPD8huL5bs+Py1j2tphLhySaRn1NRSyAznZA/v/WoTl7+hkBm+2+MlRUYhM7xayAxHvgytBZ+X9MSKJE1ReuUXsucSfcY4+1alV1rZpjwWPImr9MptkgZV2apxo89JmmZdK+kCkjSb40Vc5cZyd8reutpsT/yxpPvcfJ42mFWhN0q6wEzSFDk7Pj1HldUzH04u5Rerr0Vt/B2EF7yKq4mZoXVJl8musJOks2XP2oqjb0kq7nr3hcm5+bv8XEwn8HoVKp9Uud3pW0GuKiGu3BOripqiQmb47oSVfZak50k6p85lPyhkhr/YwWWFXsLKni5JhcxwHMrxFlR+Y1PLjyRlne21a0uv7FW67/dlx2GXjN1UUOZZXKVXHlS67+Wydyx4jqQ3uPr47fme7AHA9fxc0tW5sRzVDZvkVVw5/9+8NjWbukn2jJdX+T2nJrmUn8sPJM+T1C/p1cmlfN2EZHIpf0jSZH4g+XlJCdm7Q6FJMfs7iA7xMq4mZoaWpscXMrLbtt80MTMU+QRFLZNz83umRkcukr09dzM72YUer1fh0Z8Z3LdsLT5F0tMU8M8LxJV7YpmokUrDbNkq1F2nO/8Z/X+Y6RV3BqfZiZyrNv040eZdXNkDhP9R6b5/3jCp1iG5sdz3JX3f73XEhKevV7mx3MdSs6mP58ZyvseV4y2S1pvdeSm5lP+6pK97u6RIis/fQXSS13H11051TaxNzs0vSYrTLom8XoVIf2bwFkkf8XsdTSCuXBLbRA3cV8gMf9vvNSB6OhJXAUjSoLM6EVcBStIUd2aCx/g7CC94HVckaeKJ1yt4gbhyT+xm1AAAAAAAAAQViRq4JmFlz0pY2bP8XgeihbiCF4greIG4gheIK3iBuIIXiCv3kKiBm05xfgA3EVfwAnEFLxBX8AJxBS8QV/ACceUSEjUAAAAAAAABQaIGAAAAAAAgIEjUAAAAAAAABASJGgAAAAAAgIAgUQMAAAAAABAQJGoAAAAAAAACgkQNAAAAAABAQJCoAQAAAAAACIiu9fV1v9cAAAAAAAAAUVEDAAAAAAAQGCRqAAAAAAAAAoJEDQAAAAAAQECQqAEAAAAAAAgIEjUAAAAAAAABQaIGAAAAAAAgIP4/Mu2Afal9AlcAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.axis('off')\n", "for i in range(unanchored_chain.shape[0]):\n", " data = df['volume'].iloc[unanchored_chain[i]:unanchored_chain[i]+m].reset_index().values\n", " x = data[:, 0]\n", " y = data[:, 1]\n", " plt.axvline(x=x[0]-x.min()+(m+5)*i + 11, alpha=0.3)\n", " plt.axvline(x=x[0]-x.min()+(m+5)*i + 15, alpha=0.3, linestyle='-.')\n", " plt.plot(x-x.min()+(m+5)*i, y-y.min(), linewidth=3)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The discovered chain shows that over the decade, the bump transitions from a smooth bump covering the period between Thanksgiving (solid vertical line) and Christmas (dashed vertical line), to a more sharply focused bump centered on Thanksgiving. This seems to reflect the growing importance of \"Cyber Monday\", a marketing term for the Monday after Thanksgiving. The phrase was created by marketing companies to persuade consumers to shop online. The term made its debut on November 28th, 2005 in a press release entitled “Cyber Monday Quickly Becoming One of the Biggest Online Shopping Days of the Year”. Note that this date coincides with the first glimpse of the sharpening peak in our chain.\n", "\n", "It also appears that we may have “missed” a few links in the chain. However, note that the data is noisy and undersampled, and the “missed” bumps are too distorted to conform with the general evolving trend. This noisy example actually illustrates the robustness of the time series chains technique. As noted before, we don't\n", "actually need “perfect” data in order to find meaningful chains. Even if some links are badly distorted, the discovered chain will still be able to include all of the other evolving patterns.\n", "\n", "One final consideration is the potential use of chains to predict the future. One could leverage the evolving links within the chains in order to forecast the shape of the next bump. We refer the reader to the [Matrix Profile VII](https://www.cs.ucr.edu/~eamonn/chains_ICDM.pdf) for further discussions on this topic." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "And that's it! You've just learned the basics of how to identify directional trends, also known as chains, within your data using the matrix profile indices and leveraging `allc`.\n", "\n", "## Resources\n", "\n", "[Matrix Profile VII](https://www.cs.ucr.edu/~eamonn/chains_ICDM.pdf)\n", "\n", "\n", "[Matrix Profile VII Supplementary Materials](https://sites.google.com/site/timeserieschain/)\n", "\n", "[STUMPY Documentation](https://stumpy.readthedocs.io/en/latest/)\n", "\n", "[STUMPY Matrix Profile Github Code Repository](https://github.com/TDAmeritrade/stumpy)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.4" } }, "nbformat": 4, "nbformat_minor": 4 }