{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "1b63f19c-40d1-4166-b617-e3af8ae31c20",
   "metadata": {},
   "source": [
    "# Matching track\n",
    "\n",
    "Sometimes, when you have many real-data trajectories, you want to detect the return trips. This tutorial is going to show how to split and reverse one half of it in order to keep the same directions for all the trajectories. The algorithm is based on the comparison of trajectories: the return point corresponds to the point which divides the trace in two and whose distance between the two is the smallest. In tracklib, the function to do this is:\n",
    "<br/>\n",
    "<div class=\"alert alert-block alert-info\" style=\"padding:1em\">\n",
    "    \n",
    "```python\n",
    "  collection = tkl.XXXX\n",
    "```\n",
    "\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "edf3c01b-451a-4b35-90dd-96d2f8f02695",
   "metadata": {},
   "source": [
    "## As usual, let's start by defining our environment\n",
    "\n",
    "The first task is only useful for the online notebook and import the local tracklib code source. It's not necessary if tracklib is installed from PyPI."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "991b6cdf-52a3-43af-975d-55bc24bbf016",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import sys\n",
    "\n",
    "# Import de tracklib\n",
    "module_path = os.path.abspath(os.path.join('../../../..'))\n",
    "if module_path not in sys.path:\n",
    "    sys.path.append(module_path)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "00907da4-29ec-49e6-b130-f2cae9865c05",
   "metadata": {},
   "source": [
    "The following two imports are necessary for the tutorial:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "800b9004-320e-481b-8d61-2ef6c0fd14f0",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Matplotlib to create visualizations\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Import tracklib library\n",
    "import tracklib as tkl"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9c5151dc-fde1-48d1-b1e3-b35d144616b7",
   "metadata": {},
   "source": [
    "## Loading a collection of tracks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "0e3aee51-a2e7-4fa5-8686-10817fdb1f94",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "tkl.ObsTime.setReadFormat(\"4Y-2M-2D 2h:2m:2s\")\n",
    "\n",
    "plt.figure(figsize=(7, 5))\n",
    "\n",
    "chemin1 = '../../../../test/data/compare/dtw1.csv'\n",
    "trace1 = tkl.TrackReader.readFromCsv(chemin1, 0, 1, 2, 3, separator=\",\",read_all=True, h=1)\n",
    "trace1gr = trace1.copy()\n",
    "trace1gr.plot('m-')\n",
    "trace1.plotAsMarkers(type=tkl.MARKERS_TYPE_WARNING)\n",
    "\n",
    "chemin2 = '../../../../test/data/compare/dtw2.csv'\n",
    "trace2 = tkl.TrackReader.readFromCsv(chemin2, 0, 1, 2, 3, separator=\",\",read_all=True, h=1)\n",
    "trace2.plot('c-')\n",
    "trace2.plotAsMarkers(bkg='w', frg='c', sym_frg = \" \", sym_bkg = \"v\")\n",
    "\n",
    "plt.xlim([-1, 12])\n",
    "plt.ylim([-1, 5.5])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "97715035-9216-4cd5-9a3f-8a63b0b16136",
   "metadata": {},
   "source": [
    "### Profile of difference between two traces\n",
    "\n",
    "with DTW (Dynamic Time Warping) method"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2db3d88a-e709-41d3-a8d1-67e2ee0b5a53",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAFNCAYAAACQSWFgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABHsUlEQVR4nO3dd3ib1d3/8feRbEu2vLedOLGzB4EEAiEQaBht2ZAWKCsJbSFQaIGOh+bpj0LblJanLbS0pYFQRkKZhaRsKLRQWgiUhIQRSELIjoYlL3nJQzq/PyQZ27EdD0m3LH1f1+UrtsZ9HyWOPjrnPt9zlNYaIYQQIpmYjG6AEEIIEWsSfkIIIZKOhJ8QQoikI+EnhBAi6Uj4CSGESDoSfkIIIZKOhJ8QCUAptVAptd/odggxWkj4CRFlSqmmbl8BpVRrt58vNahNlyil9iilmpVSf1NK5RvRDiGMIuEnRJRprTPDX8Be4Oxutz0cfpxSKiUW7VFKzQTuARYDJUAL8KdYnFuIeCHhJ4RBwkOVSqkfKqWcwANKqTyl1HNKKbdSqi70/dhuz8lXSj2glLKH7v9bP8e+Tin1cffndnMp8KzW+g2tdRPwY+ArSqmsaLxOIeKRhJ8QxioF8oHxwDKC/ycfCP08DmgF/tjt8Q8BGcBMoBj4be8DKqV+DFwOfEFr3dd1wJnA++EftNafAe3AlBG/GiFGiZgMswgh+hUAbtFat4V+bgWeCt+plLoVeC30fRlwOlCgta4LPeRf3Y6llFJ3AMcAJ2mtG/o5ZybQ+74GQHp+ImlI+AlhLLfW2hf+QSmVQbA3dxqQF7o5SyllBiqA2m7B11suwd7j1wYIPoAmILvXbdlA49CbL8ToJMOeQhir97Yq3wemAvO01tnAiaHbFbAPyFdK5fZzrDrgLILXDo8f4JxbgCPCPyilJgAWYPuQWy/EKCXhJ0R8ySI49FkfKj+4JXyH1toBvAj8KTQxJlUpdWL3J2utXyc4oWWdUmpeP+d4GDhbKXWCUsoG/AxYq7WWnp9IGhJ+QsSX3wHpgAd4G3ip1/2LgQ5gK1AN3ND7AFrrV4CvA88opY7q4/4twNUEQ7CaYOBeE6kXIMRooGQzWyGEEMlGen5CCCGSjoSfEEKIpCPhJ4QQIulI+AkhhEg6En5CCCGSzqha4aWwsFBXVlYa3QwhhBBxZOPGjR6tddFQnjOqwq+yspINGzYY3QwhhBBxRCm1Z6jPkWFPIYQQSUfCTwghRNKR8BNCCJF0JPyEEEIkHQk/IYQQSUfCTwghRNKR8BNCCJF0JPyEEEIkHQk/IYQQSUfCTwghRNKR8BNCCJF0JPyEEEIkHQk/IYQQSUfCTwghRNKR8BNCCJF0DN3PTym1G2gE/ECn1nquke0RQgiRHOJhM9uTtNYeoxshhBAieciwpxBCiKRjdPhp4O9KqY1KqWUGt0UIIUSSMHrY83ittV0pVQy8opTaqrV+o/sDQqG4DGDcuHFGtFEIIUSCMbTnp7W2h/6sBtYBx/TxmFVa67la67lFRUWxbqIQQogEZFj4KaVsSqms8PfAl4CPjGqPEEKI5GHksGcJsE4pFW7HI1rrlwxsjxBCiCRhWPhprXcCRxh1fiGEEMnL6NmeQgghRMxJ+AkhhEg6En5CCCGSjoSfEEKIpCPhJ4QQIulI+AkhhEg6En5CCCGSjoSfEEKIpCPhJ4QQIulI+AkhhEg6En5CCCGSjoSfEEKIpCPhJ4QQIulI+AkhhEg6En5CCCGSjoSfEEKIpGPkTu5CiCiZ8+67bG5u7vf+2TYbm44+OoYtEiK+SPgJkYDmZ2fzwLRpzM7KOui+zY2N3OtwGNAqIeKHDHsKkYB+XFnJO42N+AKBHrf7AgHe8Xr58fjxBrVMiPgg4SdEAiqzWNjV0oLWusftAa3Z1tJCqcViUMuEiA8SfkIkmIDWvFRTw6bmZh5wOrt6f75AgAecTn574ACH/fe/XLltGw84HGxtbibQKySFSHRyzU+IBFHd3s79DgerHA52+XwUpaaiga+XlgLBUHzH6+VnlZW85fXypNvNn0PX/vJSUjg2O5vjsrOZn5PDMVlZZKXI24NIXPLbLcQoprXmjYYG7rbbecrtpkNrFubm8ssJE1hUWEhNRwdrnE6uKC/nIaeTX02Y0DXkGR4CXe/18lZDA+u9Xl6srQWCQ0KH2Wwcl5PD/Oxs5mdnMyk9HaWUga9WiMiR8BNiFKrr6OAhl4u77XY+aWkhNyWFa8rLuaq8nOk2W9fjStPSeGHzZqbZbOz2+Xpc6zMpxXSbjek2G98oKwOgvqODdxobu8LwkdA5AApTU7uCcH52NkdnZ2Mzm2P7woWIEAk/IUYJrTXvNjZyt93OY9XVtAYCHJOVxQNTp3JhcTEZfQTR9u3b+VJjIzfv2sXjM2Yc8hy5qal8OT+fL+fnA+DXmk+am3nL62W918v6hgaerakBwAwckZkZDMNQD7HKapXeoRgVVO/ZYPFs7ty5esOGDUY3Q4iYaurs5NHqau6223mvqQmbycSlJSVcVV7OkX3U8XW3c+dOqqqqIhpINR0dvB0KwvVeL+94vTSHJtWUpKZ2BeH87GzmZmWRLr1DEWVKqY1a67lDeY70/ISIUx82NXG33c5DLheNfj+H2WzcNXkyl5aUkDPIySj33Xcft956a0TbVZCaypkFBZxZUABAZyDAR83NwZ5h6Prh3zweAFKUYk6odxi+flhhsUjvUBhOwk+IOOLz+3nS7eZuu503vV4sSnFBcTHfKi9nfnb2kEPjxBNPjFJLP5diMjE7K4vZWVl8a8wYIDjz9O1uYXivw8HvDxwAoDwtrUcYHpmVhcUkVVcitiT8hIgDn7a0sMrh4AGHg5rOTialp/ObiRNZWlJCYVrasI75/vvvUxaayBJrxWlpnFNYyDmFhQB0BAJ80NzM+oaGruuHT4V6h2lKcWRWVrDMInT9cIwU4Ysok/ATwiAdgQDP1tSw0m7n1bo6zMB5hYVcXV7OyXl5mEY4NPjyyy9z1VVXRaaxI5RqMnFUVhZHZWXx7dBtjrY23vZ6g2HY0MBdBw5wx/79AFRYLF01h/Ozs5mdmUma9A5FBMmEFyFibJ/Px70OB392OHC0tzPWYmFZWRnfLCujPII9nr179zJu3LiIHS/a2gMBNjc1dZVZrPd62dfWBoDVZGJuVlaPUgtZok2EDWfCi4SfEDEQ0JqXa2u5227nuZoaNHB6fj5Xl5dzen4+KRHu1bS2tnL77bdz0003RfS4sbbf5+sKwvVeLxsbG+kIvWdVWa2fh2FODofbbKRK7zApyWxPIeKMq72dBxwO7nE42O3zUZyayg/HjePKsjKq0tOjdl673c6XvvSlqB0/VsZarVxgtXJBcTEQnBD0XlNTV83ha/X1PFJdDUCGycTRWVk9Si2Khnm9VCQ+w8NPKWUGNgAHtNZnGd0eIUYqvOTYygMHWOvxdC05dltoybFYXLvaunUrZ555ZtTPE2tWs5njcnI4LicHKirQWrO3ra2r5vAtr5ff7NtHZ6h3OCk9PTizNNQ7PMxmwyxlFoI4CD/geuATINvohggxEnUdHawJLQe2NbTk2LVjxnBVWRnTui05Fgvr169PyPDrTSnFeKuV8VYrF5WUANDi97OxsbGrzOLl2loecrkAyDSbOSYrq6vM4tjsbPJTU418CcIghoafUmoscCZwK/A9I9sixHD0teTYvEMsORZtgUCAK6+8MubnjRcZZjMn5OZyQm4uEPw32hW6dhieTPPLPXvwhx4/NT29xwLeM2y2Ec+0FfHP6J7f74AbgYHXaBIizjR1dvJIaMmxTaElxxaXlHB1eTlzDrHkWLQ999xzlJWVMV52aweCvcMJ6elMSE/n0lDvsKmzkw2NjV01h894PDzgdAKQbTZzbLeJNPOyssiV3mHCMSz8lFJnAdVa641KqYUDPG4ZsAwYVdO2RWLqveTYLJuNP4WWHMuOk/3vXC4XZ5xxhtHNiGuZKSkszMtjYV4eEOwd7mht7ao5XO/18rM9e9CAAmZkZPSYSDM1I0N6h6OcYaUOSqlfAouBTsBK8JrfWq31Zf09R0odhBH6WnLswuJirh7mkmPR9tZbb3HccccZ3YxRz9vZyX+7lVms93qp7+wEPt/8NxyG87KzZfNfA42qUget9f8C/wsQ6vn9YKDgEyLWPm1p4R67nQecTmq7LTl2eWkpBXE6DOZ0OtmwYYOEXwRkp6Rwan4+p4a2d+q++W/4+mHvzX/DQ6XHyea/cU8+qgjRTUcgwDM1NdwdWnIsRamuJcdOys2N+6Euk8nE+eefb3QzEtJAm/+G1yx9tLqaexwOILj577HhMgvZ/DfuxEX4aa1fB143uBkiifVecqzCYmFFZSXfLCujbBQto7VmzRp+8IMfGN2MpNHf5r/ru61Z+ly3zX8Pz8zssWapbP5rnLgIPyGM4Neav9fWstJu5/luS47dU17OGQUFo7IYuqOjw+gmJDWzUhyWmclhmZlcWV4OBDf/fadbmcVql4u77HYAilNTe5RZyOa/sSNre4qk42pv536Hg1Xdlhy7oqyMK8vKqIzikmPR5vF4CAQCFIeWAhPxqffmv+u9Xna0tgI9N/8NXz8cJ5v/HtKomvAiRCxprflXfT132+1dS46dlJvL/02YwHkxWnIs2tatW8cXv/hFo5shDuFQm/+u72fz3/BQ6ZGZmVildzhiEn4iocXTkmPRNnnyZCorK41uhhiGgTb/DV8/7L35b7h3eJxs/jssEn4i4YSXHFsZWnLMF1py7MFp07iwqCghr6kEAgF27tzJwoULjW6KiIC+Nv91trX1KLP404ED/Lbb5r/dw1A2/z00CT+RMPpacmxpSQlXxcGSY9G2ZcsWbAnWkxU9lVosLCoqYlFREfD55r/d1yx9wu0Ggpv/HpWZ2WMyjWz+25NMeBGjXl9Ljn2rvDyulhyLNrvdTlFREalxWnwvYuNAaHun8Jql7zU20h56j6+0WrtqDhNt81+Z8CKShs/v56+hJcfe6rbk2LfKyzk2Dpcci7a77rqLW2+91ehmCIONsVg4v7iY87tt/rupqamr5vD1bpv/pptMHJPEm/9K+IlRpfeSY5PT07l94kSWxvGSY7Ewd+6QPvSKJGE1m4Ph1s/mv+v72fw3/HWYzUZKgvQOe5PwE3FvtC85Fm0ffPABhx12mNHNEKNAX5v/tvr9bAht/rve6+1z89/wUOmx2dkJ8yFTwk/Erb3dlhxzjuIlx6LthRde4NprrzW6GWKUSh9g89/w9cPb9u7tsflveKj0uFG8+a9MeBFxxa81L9fWcne3JcfOyM/n6vJyTh+lS45F2969e2WvSxFVzX4/74bLLEKhWBPa3inbbGZetzILIzb/lQkvYtTqa8mx5ePGjfolx6KtpaWFNWvWcNNNNxndFJHAbGZzn5v/di+z+PmePQQIbv47PSOjKwz72/x3zrvvsrm5ud9zzrbZ2HT00VF7TRJ+wjDhJcdW2u2s67bk2K8mTODcBFlyLNp2797NqaeeanQzRJJRSjE5I4PJGRksKS0FoLGzk/82NnaF4VqPh/ucTgByQ5v/hkstjgn9+cC0aczuowZ3c2Mj94a2hooWCT8Rc3UdHax2Ornbbmdbayt5KSl8e8wYliXgkmPR5nK5OOmkk4xuhhBkpaRwSl4ep4R6hwGt2d7S0lVzuL6hgZtDm/8qgtcOZ2VmMs1mw9rtg64vEOAdr5cfjx8f1fZK+ImY0Frz38ZG7u625Nix2dk8OH58wi45Fgv/+Mc/JPxEXNKBABXAV9LTOdrj4dbKSjZu28YbbjedU6bwzGefcWtnJ5eHeo5hAa3Z7fNFfUUaCT8RVf0tOXZ1eXmfwx1iaC677DKjmyD64nDARRfB449Drzf3eOf3B+d1HjhwAJ/PR15eHhs2bKCiogK73c6HH37IJZdcwj333ENxcTHz58/n6aef5pRTTmHXrl3s3LmTK6+8kvvuu4+pU6cya9Ystm3bRnZ2NuPy81lSWMjEiRO5qaKC21ev5oHKSr5RVobVZMIXCPCQ08n1Y8dG/XXKbE8RFR+Elhz7S2jJscNDS45dkkRLjkXb008/zYQJE5g1a5bRTRG9LV8Op58OL70Ev/xlTE6ptaa1tRWPx0Nubi47duygurqao48+mnXr1jFmzBjMZjNvvfUWF198Mc8++yzt7e1cfPHFrF69mrlz5xIIBNi8eTNf//rX+ec//0lBQQHz5s1j586djB8/HovFQkpKCpmZmcNeRamuro5f/epXLFy4kBnz5nHsxx+zY9480s1mWvx+VuzezS8nThzSMYcz21PCT0RMX0uOfa24mKuTdMmxaPvtb3/Lddddh1mGjOOLwwHPPANXXAF//jOce+6AvT+tNV6vF5/PR2pqKlu3bqWsrIy9e/eyfft2zjnnHFauXMmYMWM4/PDDeeGFFzjjjDP48MMP2bdvH8uWLWPVqlVMnjyZqVOn8sEHH3DSSSfhdDoxmUzMnj0bj8dDXl6eoYuf79mzh3vvvZdrr72W7OxsbDYbp9x1F/+cOZO7J0/mivJy/my3c25h4ZCHPCX8hCH6WnLs6vLypF9yLNo2b97M7NmzjW7GqKW1JtAWINASwN/i7/lns/+g2/u6ra/HjvfdTdEHf0Slp6NbWqi96LvcN3sipmwT55xzDo888gjz58+nsbGRjz76iCuvvJLHH3+csWPHMn/+fD7++GOmTZuGyWRCKUVpaSkmkwnTKJ39vG/fPl555RWOOeYYKisryczMBKCpqYnDN2ygMCuLk3NyOL2wkJdqaobc6wOp8xMx1BEI8LTHw912O/+orydFKRZ1W3JMenlR5HDQ9pWv8N7ZZyds+GmtCfgCQw6eoT6WwBAbpsCUYcKcYT7oz9T8VNIKaig6+5iu339lMpH35TksuK6Y9AVVWLHyPxf9DxlTM1BKcf755wPwve99r+sUFRUVkfprNNSBAweora3l3Xff5YILLiCr2zX++vp6bnr0UXZNn86Pyso4s6CAiz7+mMdnzIhZ+6TnJ4ak95Jj4ywWlpWX843SUllyLFaWL0effjotTz2F7fe/j/npdSAYTAOFzIhDqjUAQ31rUmC2dQslW98h1eMxQ3ysyWoa+IPd8uVwyy3QbWEG3dJC46L/YZvrcprfDxZ1WydaKTy7kIKzCsg5IQdT2ujs1fXF5XLh9XpZt24dV111FTk5OQc95oknnmDtlCm80NiIff58Mkc4D0B6fiIqZMmxOOJwQFUVasECbFu3gtPZ43qS9mv8rYcOnqGEVO/HBlqH2l0CzMFg6itg0krTDr69n8cOFFIqTRk74hD6t6FXG5TJRPZXDufocyvwtedS83wNNc/VcGDlAfb/bj/mbDP5X86n4KwC8k/PJ61odG4rFAgEeOKJJ9izZw833HADN954Y5+P++c//8mUI4/kabudy0tLRxx8wyXhJ/rlam/nPoeDVXY7e9raKAktObasvJzxVqvRzUtKHT+9nZTfrkCZzejFi3HPvo7PWr/5eTD5hh5MKlX1GzyWXMvAwTPIkFKpBgdTLKxYAcuWQe//G1YrzJsHK1ZgvesuxnxrDGO+NQZ/s5+6f9RR81wwDN1/dYOC7PnZFJxVQMFZBdgOs8X935vf7+cXv/gF48aNY8mSJQO21+/38/e//50x3/42vkCAZWVlMWxpTzLsmUQGs5bee3Pn8np9PXfb7az1eOjUmpNzc7m6vFyWHDNIe3U71Y9WU3PfR8y6ejemb1wefEP1+dD3P8iOf8+EwtKuMOrzmlR/IZVhwpQq/6YRMWcObN7c//2zZ8OmTX3epQOapk1N1DxXg+dZD00bmwCwjLd0BWHuwlzM1viZ2VtTU8PKlSs555xzqKysJDs7+5DPef311znxxBM5YuNGrCYT7x51VETaIrM9xYCu2baNZf0Ul29ubOTbn36Kp6Oja8mxy0tLuaq8nKkZGQa0Nrn5fX5qnqnBucZJ7Uu14IfDZv6Fgnf/gOq+0HdLS7DHEaNaMhEbbfa2ruHRulfqCLQGMNlM5H8xNDx6Zj6WUmOusdfW1rJ69WoWLVpERkYGxaFd4w/lzTffZMeOHUw57zyO27SJVVOmcGV5eUTaJNf8xIB+XFnJMzU1fa6l96bXy5teL8dmZ7N6/HgukCXHYk5rTcN/GnA95KL6iWr8DX7SxqRR8YMKyk6DjG1HH3Q9CZMJKisPuvYnRjdLuYXyK8spv7Icf6uf+tfqu4ZHPX/zAJB1dFZXrzBzzvCLzgerrq6OLVu24HQ6ueSSSygJbYY7GD6fj9zcXJYsWcI3tm0j02zm4kGGZrRI+CWRMouFXS0t9O7tB7TmiepqNh11lCw5ZoCWHS24HnLhesiFb5cPk81E0VeLKF1SSu7CXJRZwTXXHPJ6EnfdZcwLEFFlTjdTcEYBBWcUoO/SNH/Q3BWEu3+ym9237CatPC0YhGcXkHdyHuaMyH1wbWhowOfzcffdd7Ns2TIWLFgw5GPccccdXHLJJTR0dvJ4dTVLSkoMm+gSJsOeScbR1sbTHg+Xd1tL70GHg/OGsaqCGL6O2g6qn6jGtcaFd70XFOSdmkfJ4hIKFxWSktnrjWEE15NE4mp3tVPzYmh49OU6/E1+TFYTuafkUnh2Ifln5mMdO8DktAHWIPX7/bz55pu8+uqrXH/99RQUFAyrjZ2dnbz33nscc8wx3HXgAN/+9FM2HnUUR0bwg7Zc8xOHtNrpZPnOnewc4Vp6YugC7QFqX6zF+ZCTmmdr0O2ajJkZlC4ppfiS4oHfpIQ4hEBbgPo3QsOjz9bg2+UDIHN2JgVnB4dHs+ZmoUzdhkf7WYP0nnvuoa6ujuXLl4+oTe3t7Sxfvpw77rgDrTVHbNhAmlJsmDuknDokueYnBnSv3c5V27ezICeH1U4nV5aXx2wF9WSltaZxQyOuNS5cj7rorOkktTiVMdeMoWRJCZmzo3+tRiQHkyU4ISb/i/lM+t0kWj5p6QrCPbfuYc+KPaSWpFJwZjAI82b5SKmqggULYOtWWnbu5N5nn2XatGlceumlXcuQjcSWLVu4+uqrAXjH6+XD5mbumTJlxMeNBAm/JBEebjg9P5+1M2fynY0bmW6zxWTfrGTk2+vD9RcXzjVOWre1oiyKwvMKKV1cSt6X8qS8QESVUgrbDBu2GTbG3TiOjpqOruFR91NunPc7mVr+IKU7VnbVjPpvvJFzvv99qqqqItKGLVu2YLfbOfPMMwFY5XDExUSXMAm/JHDHvn18/7PPOLeggMdnzsRiMjFr+3ZuTk2N6Vp6ia7T24n7KTeuh1zUv1YPQM4JOVT8oIKi84tIzZVFvoUxUgtSKb2slNLLSgl0BPA+vY0c9/wea5BmzZpFVvcymhF64YUX+O53vwtAQ2cnj1VXs7ikhKw42dLMsFYopazAG4Al1I4ntda3GNWeRPXLPXv40a5dnF9UxCPTp5MaKnGo+fRT/iUboY5YoDNA/T/qca5x4lnnIdAaIH1SOpU/q6TkshLSqyL3ZiJEJJhSTeRuWB1cgzQ8e9hqhcWLI1Yzum7dOr73ve91bbf1sMtFayDAsgjV9UWCkRHcBpystW5SSqUC/1FKvai1ftvANiUMrTU/27OHn+zezSXFxayeNo2UbrV9y5YtM7B1o1/TB0041zipfriadmc7KXkplF5eSsmSErLnyd6FIo71swZppGpG9+zZw6efftoVfFpr7rHbOTIzk6PiqJTKsAsPOqgp9GNq6Gv0TD2NY1prbtq1i5/s3s3SkhLWTJ/eI/gA7r33XoNaN3q1OdrYd/s+3p39LhuO2MCB3x8g+9hsZj41k+McxzHlT1PIOTZHgk/EtxUrgrWhA9WMDlMgEMDj8fTYoum/jY180NwcV70+MPian1LKDGwEJgF3aa3fMbI9iUBrzf989hm379/PlWVl3D1lCqY+3ozHjx9vQOtGH3+LH8/THlxrXNT+vRYCkHVMFpP/OJmirxWRVjg6V+AXSWz9eli5sv/7R7BH5P33388RRxxBSrfreqvsdmwmE5fEyUSXMEPDT2vtB2YrpXKBdUqpw7TWH3V/jFJqGbAMYNy4cbFv5Ciiteb6HTv4w4EDXFtezu8nT+4z+ACmTp0a49aNHjqgqX+jHtcaF+4n3fgb/VjGWRj3v+MoXVxKxlRZ61SMYr0WQ9j0hU2gYc4bc0Z02IaGBhYuXMikSZM+vy000eXSOJroEhYX86211vXA68Bpfdy3Sms9V2s9t6ioKNZNGzUCWvOt7dv5w4EDfG/sWP4wQPD5/X5eeeWVGLcw/rVsa2HnTTt5u+pt3j/pfdxPuim6oIgjXjuCY3cdy4SfT5DgEwnHMsZCm71tRMfQWnPLLbcwZsyYHrc/4nLRYvDWRf0xcrZnEdChta5XSqUDpwL/Z1R7RjO/1ly5bRsPOJ0sHzeOX1RVHXJPrUWLFsWwhfGr3dOO+3E3zjVOGv/bCCbI/1I+E26bQOG5hRFdI1GIeJRWnka7vR2t9bCvVzc0NHDppZeS3n0H+9BElzlxNtElzMh+aBmwOnTdzwQ8obV+zsD2jEqdgQCXb93Kw9XV3DJ+PLdUVh7yF3jfvn04nU4OP/zwGLUyvgTaAtQ8H9ou6IVadIfGdoSNibdPpPjiYixlUvQvkoel3EKgNUBnfSepeUOvRXU6nTz66KNdNX1h7zY28n5zMysnT47LSWCGhZ/W+gNgZIPMSa4jEODSTz7hr243t1ZV8aNBTmKx2+2YkmxTWq013re9we2CHqums66TtNI0xlw3htLFpWQeMfKlnIQYjdLKg5O22u3twwq/1157jSuuuOKg27smugxh66NYiq8rkGLQ2gMBvvbxx/zN4+E3Eyfy/YqKQT935syZPYYnElnrrlZcf3HhWuOidUcrpnQThYsKg9sFnZKLKSW5PgQI0ZtlTHCko83ehm2mbUjPffrpp1m4cCFZvYY1vZ2dPFpdzSUlJWTH2USXsPhslRiQz+/n/C1beL62lt9PmsR3hrgw9ZNPPsmZZ5550MXpRNHZ0En1X4PbBTX8uwGA3JNyGff/xlH0lSJSsuXXXogwS3kw/Nrt7UN6XkdHBxs3buTcc8896L54nugSJu8Co0yL38+ijz7i73V13D1lClcNo3C0uLiYwsLCKLTOOIGOAHV/rwtuF/R0DQFfgPSp6VTdWkXJpSVYx8t2QUL0JTzs2XZgaDM+X3vtNX76058edLvWmnscDmZnZjI3Die6hEn4jSLNfj9nf/ghr9fXc//UqXx9mJ+qMjMzsSTATg5aa5o2NwW3C3rERUd1BykFKZRdUUbJkpLg3mVxeKFdiHhiTjeTkpcypHKHF198EZ/P1+f/rw2NjWxuauJPcTrRJUzCb5Ro7OzkjA8/5K2GBtZMm8ZlI1h779///jennnpqBFsXW20H2nA9HNwuqGVLCypNUXB2AaVLSsk/LR9TmlzHE2IowuUOg+H1epk4cSJT+tmXb5XDQYbJxKVxOtElTMJvFKjv6OD0Dz/kXa+XR2fM4MIRLhN00UUXRahlsdPZ1IlnnQfXQy7qXq0DDdnHZTN55WSKLywmNV+2CxJiuCzlgy90//Wvf813vvOdPu/zdnbyqMvFxcXFcTvRJSy+Wyeo7ejgS++/zwfNzfx15kwWRWCVmxdeeIHp06dHoHXRpf2a+teD2wW5n3ITaA5grbIy/sfjKbmshIzJstqKEJGQVp5Gyycth3xcW1sbX/3qVynu5wP4o9XVNMfZ1kX9kfCLY+72dr74/vt80tLC2pkzOStCk1RaW1sjcpxoaf64GecaJ66/uGg/0I45x0zJJSWULCkh53jZNUGISLOMsdDmaEMHNMrU9/+vlpYWbr75Zn7zm9/0e5xVdjtH2GwcHccTXcIk/OKUs62NU99/n898Pp6dNYsv5edH7NiXxeEmtu3V7VQ/Vo1zjZOmjU1ghoLTCyi5o4SCswswp8syY0JEi6XcAn7ocHeQVtL3TiUffvghN9xwQ7/H2OD18l5TE3fF+USXMAm/OGRva+PkzZvZ19bG87NmcXJeXsSO3dLSwmOPPcby5csjdszh8vv81Dxbg2uNi5oXa8APmUdmMul3kyi+uJi0YtkuSIhY6F7u0Ff4vfPOOzQ1NTF2gJri0TLRJUzCL87s8/k4+f33cba389Lhh3NCbm5Ej9/R0cH8+fMjesyh0FrT8GYDrjUuqp+oxt/gJ21MGhU/qKB0cemQV5gQQoxcuNC9zd5G1pEHD1m++eabB63d2V1jZyePuFxcVFxMTpxPdAkbHa1MMHPefZfNzc393m8C3pwzh2NzciJ+7traWvIjOIQ6WK2fteJ8yInrIRe+nT5MNhNFXy2iZHEJeSfloczxP0wiRKJKG/P5+p69PfbYY3z3u98dcChzNE10CZPwM8D87GwemDaN2X1cFN7U2Mgv9uyJSvABbN++nczM2Czi3FHXgfuJ4HZB3re8oCDvlDwqf1JJ4aJCUjLl10+IeJBWkgaKg8odtm7dSk1NzSGv4a2y2zncZuOYUTDRJWzQ7z5KqTygHGgFdmutA1FrVYL7cWUlz9TUMM1mw9ptdwVfIMA7Xi9/mDw5auc+6qijsFqjt9RXoD1A7Uu1ONc4qXm2Bt2uyZiRwYT/m0DxJcVYx8oyY0LEG1OqidTiVNoPfN7z6+zspLGxkW9961sDPndjYyMbm5r44yiZ6BI2YPgppXKAa4GLgTTADViBEqXU28CftNavRb2VCabMYmFXSwta6x63B7Rmj89HaRSXHnvssce49NJLI3pMrTWNGxqD2wU9Wk2Hp4PUolTKv1VO6ZJSMudkjqr/FEIko947uv/xj3/ky1/+8iG3P1tlt5NuMnHZKJnoEnaont+TwBrgBK11ffc7lFJHAYuVUhO01vdFqX0J6/qKCta4XCwtLcVqMuELBHjI6eT6Ie7QMFQdHR3kRGhI1bfXh+vh4HZBLVtbUBZF4bnB7YLyvpSHKVWWGRNitLCUW2jbHww/j8fDeeedR2Vl5YDPaezs5JHq6lE10SVswNZqrb84wH0bgY0Rb1GSKLNY2NLc3NX7C2jN+j172HPXXSxdupSsrCzKo3Dx+LTTThvRRradjZ24n3LjWuOi/vV60JBzQg5Tvj+FovOLSM2VZcaEGI3Sc+sZ9/J38B94np/edht33HHHIZ/zWHU1TX5/XG9d1J+hXPM7HKjs/hyt9dootClplKel8YDTyVXl5TzkdHLbUUdRetxxaK257777aG5u5pRTTqGtrY0jjzwyIkOHjz32WJ/bkAxE+zV1rwa3C/Ks9RBoDZA+KZ3Kn1RSclkJ6ROSY2NcIRJZiftxMl+5k9b/+xVXX301qamH/iC7yuFgls3GvOzsGLQwsgYVfkqp+4HDgS1AeKKLBiT8RuAf9fXsbW1lps3G7m7X+pRSXHHFFQA0NTXx8ssvk5KSwquvvsoRRxwxoh0ZTjjhhEE/tunD0HZBD7tod7STkptC6dJSSpaUkH1stlzHEyJROBxknjcLtWAB1o8/ZmZBwSGf8l5jIxsaG/nDpEmj8r1gsD2/Y7XWM6LakiRT29HBa3V1XDNmDDfv2sXjM/r+683MzOSrX/0qADNmzOD9999n8+bNPPHEE1x44YXMmDGDtLTBr4Ti8XgGvL/N2Ub1I8Flxprfb0alKPLPzKd0SSkFZxZgssh1PCESzp13wi23gNmMWroUVqyAX/5ywKeM1okuYYMNv/VKqRla64+j2pok8lxNDX5gcUkJvx9kaUNqaipz584F4IgjjqCtrY377rsPl8vFtddeS1tb24DLD+FwcOwPfwgLF0K3/QD9LX48Twe3C6p9uRYCkHVMFpP+MInii4pJK5RlxoRIWA4Huqqqq/emTCaorASns8f7RHdNnZ08XF3N14qLyR3E8Gg8Gmz4rSYYgE6gDVCA1lofHrWWJbi1bjdjLRbmDrMoVCmF1WrtqsGpqanhmWeeYfr06VRXVzN9+nRmzZrVYzhC/+53jF+zBu68E33rL2j4d0Nwu6C/uvE3+rFUWBi3fBwli0uwTZNlxoRICuFeX7j+12qFxYsH7P2N5okuYYMNv/uBxcCHfH7NTwxTU2cnL9fVsaysLGJj5QUFBVxzzTUANDQ08NJLL5GVlcXq1atZtGgRRxQXw4QJqAUL0B9/wsbxz9O0PxNzppmiC4ooWVJC7om5/W5nIoRIQA4HurLq4PehQ/T+VjkcHGazcewonOgSNtgLOHu11s9orXdprfeEv6LasgT2Um0tvkCAr0RgY9q+5OTk8LWvfY2qqip+9KMfUVRUxI7rroMlS8BshqVLqCp+hukPT+c413FMu38aeQvzJPiESDKBm34K8+Z93usLs1qDt69YcdBzNjU28m5jY0Q/vBthsD2/rUqpR4BnCQ57AlLqMFzrPB4KU1NZEKX1O7tLS0ujXCn0qaf2GNMvWHYUnKwhQ/bJEyJZtT/9L6z339P/A2bPPuimVQ4HVpOJxaN0okvYYHt+6QRD70vA2aGvs6LVqETWFgjwXE0N5xYUYI7Vp6Y77wz2+nqP6d95Z2zOL4SIO3X/rOPtmpV89oMdoHXfX5s29XhOU2cnD7tcfK2oaNROdAkbVM9Pa/31aDckWfyzrg6v3x+1Ic+DOBxQNfQxfSFE4vI3+9l2xTbSJ6dT+bPKQT/vcbebRr9/VG1d1J8Be35KqZuUUv1u/qaUOlkpJT3AIVjr8ZBlNnNKBHdnH9CKFeghjukLIRLbzv+3E98uH1P/PBVz+uAvfayy25mZkcH8UTzRJexQPb8PgWeVUj7gPT7f1WEyMBt4FfhFNBuYSPxa87THw5kFBVhGsL7mkKxfj1q5sv/7+xjTF0Ikroa3Gjjw+wOUX1NO7om5g37e5sZG/tvYyJ2jdEWX3g61sPXTwNNKqcnA8UAZ4AX+AizTWrdGv4mJ482GBtwdHXylsDBm59Tvvcc7k97BOt7K7H/Ojtl5hRDxx+/zs+2b27BUWJhw24QhPTdRJrqEDfaa36fAp1FuS8Jb63ZjUYrT8/sdSY64hv804Nvpo/KWypidUwgRn/as2EPL1hYOf+lwUrIGvwVRs9/PX1wuLiwqIm+UT3QJk4UaY0RrzTqPhy/n55MZw32vnA86g4XsX43RBBshRFxq3NTI3v/bS+nlpeR/eWgfwB+vrk6YiS5hEn4x8l5TE3vb2lgUwyFPf7Mf9xNuii4owmyTej4hklWgI8C2b2wjrSiNiXdMHPLzV9ntzMjI4LgEmOgSZlj4KaUqlFKvKaU+UUptUUpdb1RbYmGt240ZODuG4ede68bf5Kf0cillECKZ7fvVPpo2NzH5T5NJzRvasOX7TU2809jIsvLyhJjoEjbg+JtS6uYB7tZa65HMk+8Evq+1fk8plQVsVEq9kqg7R6z1eFiYm0tBDMfLnQ86sU6wkrMg+ivJCCHiU/PHzez+2W6KLiiiaNHQL3+sstsTaqJL2KF6fs19fGngm8APR3JirbVDa/1e6PtG4BNgzEiOGa8+aW5ma0tL7ArbAd8eH/X/rKd0aams2SlEktJ+zbZvbsOcZWbyHwa3dVp34YkuFxQVkZ8gE13CDlXqcHv4+1Dv7HrgG8BjwO39PW+olFKVwBzgnT7uWwYsAxg3blykThlTa0MbyJ4bwyFP5xonACVLEuvTmhBi8Pb/fj/et71M/8t00kqGvi/nE9XVeEf51kX9OeQ1P6VUvlLq58AHBMPySK31D7XW1ZFogFIqE3gKuEFr7e19v9Z6ldZ6rtZ6blEMe06RtM7t5tjsbMZYLDE5n9Ya54NOck/KJb0yPSbnFELEl9bPWtn1/3aRf2Y+xZcUD+sYqxwOpmdkcHwMFuGPtUMtb/Zr4F2gEZiltf6J1rouUidXSqUSDL6HE3WHiD0+HxubmmJa2B6u7ZOJLkIkJ601267chkpVTLl7yrAmqnzQ1MTbXu+o37qoP4fq+X0fKAduAuxKKW/oq1EpdVAvbShU8G/zPuATrfUdIzlWPFvndgPEtMRBavuESG6Oex3Uv1bPxN9MxDrWeugn9GGV3Y5FKZYk6ML3h7rmF81SiOMJ7Q6vlNocuu1HWusXonjOmFvr8TDLZmNSRkZMzudv9uP+q9T2CZGsfPt8fPaDz8g9OZeyK4Z3ra7F7+chl4sLiosTbqJLWOyWGulFa/0fIPH60t242tv5T0MDN48fH7Nzute58TdKbZ8QyUhrzfart6P9mqn3Th32cGUiT3QJMyz8ksEzHg8aYlriILV9QiQv18Mual+oZeJvJ5I+YfiT3VY5HEzLyGBBAk50CZPlzaJorcfDRKuVWTZbTM4ntX1CJK92Vzs7rt9B9vxsxn5n7LCP82FTE+sTeKJLmIRflDR0dvKPujoWFRXF7BfI+ZATtNT2CZGMPv3Op/ib/Ey9byrKPPz3nHsdjoSe6BImw55R8nxNDR1ax6zEQWr7hEhe7rVu3H91U3VrFbbpwx9pavH7WeN0cn5RUUyXYjSC9PyiZK3bTVlaGvNitAp6w5sN+D6T2j4hkk1HbQfbr9lO5uxMKv6nYkTH+qvbTUOCbV3UHwm/KGjx+3mxtpZFhYWYYjXkKbV9QiSlHd/bQYeng6n3T8WUOrK39FV2O1PT0zkhgSe6hEn4RcHfa2tpCQRiVtgu+/YJkZxqXqrBtdrFuOXjyJqTNaJjfdTUxFteb8JtXdQfCb8oWOfxkJeSwhdyc2NyPqntEyL5dHo72b5sOxnTM6j8ceWIj3evw0GaUixN8IkuYTLhJcI6AgGeqanh3IICUk2x+WwhtX1CJJ+dy3fStr+NOW/OwWQZ2XtNq9/PGpcrKSa6hEnPL8Jer6+nvrMzZoXtUtsnRPKp/1c99pV2xl4/lpz5I//Q+1e3m/rOzqSY6BIm4Rdhaz0ebCYTX8zLi8n5pLZPiOTib/Gz7YptWCdYqfp5VUSOucpuZ0p6OicmwUSXMAm/CApozd88Hk4vKCDdHP2JJ1LbJ0Ty2X3Lblp3tDL1z1MjMsFtS3MzbybRRJcwCb8IetvrxdneHrPCdqntEyK5eP/rZd8d+yhbVkbeSZEZXbrXbg9OdClJrtEjCb8IWut2k6YUZxYUxOR8UtsnRPIItAXY+o2tpJWlMfFXEyNyzFa/n9UuF18tKqIwLS0ixxwtZLZnhGitWevxcEpeHtkp0f9rldo+IZLLnl/soWVLC7Oem0VKTmTeY54MT3RJ4K2L+iM9vwj5oLmZXT5fzIY8pbZPiOTR9EETe3+xl5LLSig4M3IjS6scDianp8esJjmeSPhFyFq3GxNwTozCT2r7hEgOgc7gcGdKfgqTfjcpYsf9uLmZ/zQ0JPzWRf2R8IuQtR4PJ+TkUByDcXOp7RMieey/fT9NG5uY/MfJpBZErgA9vKLL5UmyoktvEn4R8GlLCx81N7MoRoXtUtsnRHJo2dbCrlt2UbiokKLzI/f+0ur3s9rp5CtJONElTMIvAtZ5PAAxWchaavuESA46oNl2xTbMGWYm3zU5okOTT7nd1CXpRJcwCb8IWOt2Mzcri3FWa9TPJbV9QiQ4hwO+8AUct22i4T8NTPrtJCxlloieYpXDwaT0dBYm4USXMAm/Edrv8/FOY2PMZnlKbZ8QCe7OO9E/+xnqT78n/7T8iF/e+KS5mX8n8USXMKnzG6G/xXDIU2r7hEhs2m6HqirUggWU/O8n5M3LjnhA3etwkJrEE13CJPxGaK3Hw/SMDKbZbFE/l9T2CTG6BNoDdHg6gl/ujq7v293tB93W4e6gilWUfrYSzGbU15dgXbEC5v4yYu3xhSe6FBZSlKQTXcIk/EbA097OG/X1LB83Libnk9o+IYyjA5rOhs6DAqtHmPUKNL/X3+/xUvJTSC1MJbUoFWuVldyZrZSeOL+rp6dMJqisBKcTItRLe8rjoTbJti7qj4TfCDxbU4MfYrJ3X7i2r/InlVLbJ0QE+Fv9fQZWv4FW0wH9ZJkp3URqUWowzApTSZ+c3vV9WlFaV8iFb0vJT8GU0mvKxfLlsPQWCE+cs1rRixejVqyAX0am97fKbk/6iS5hEn4jsNbjYbzFwpzMzKifS2r7hOif9ms66voOsf4CLdAc6PtgJkgtSO0KrIypGaQuSD04zLoFmjljhNfgHQ6oqoJe1/eUyYSurERFoPe3tbmZNxoa+L8JEzAl8USXMAm/YWrs7OTvtbVcM2ZM1GdMSW2fSCZaa/zNA/fKel8/66ztBN338cyZ5q6QSitJwzbTdlBPrHugpeSlxH50ZcUKWLbs815fmNUK8+YF77/rrhGdQia69CThN0wv1tbSrnVMShzCtX2VN1dG/VwiwTkccNFF8PjjEbuOdCiBzgCdNZ39Xhfr6/uAr+9emUpRPXpdtlk2cotyD+qJhQMtpSAFs3UUzIxevx5WruzzLgU0TpxI1ggOH57osqiwMCZLMI4GEn7DtNbtpjg1leNyoj/5RGr7RMTceSf87GfBP4dxHUlrjd/r79HrOlQPrbO+s9/jmXPMXb0uy1gLmbMzDwqxHtfKclISszZt06Z+79Ja8/arr3JKIIDJNLzS7LUeDzUy0aUHCb9h8Pn9PF9by8XFxZij/B/R3xKq7TtfavvECIWvKy1YAFu3gtNJIK+Yjpp+puH3M8yoO/oeX1RpitSiz4cQreOt/YZYalEqqQWpmFJlnY1DUUqxcOFCbrzxRn79618PK/xX2e1MtFo5SSa6dJHwG4ZX6+po8vtjMuTpWeeR2j4RGXfeib7lFpTZjF68GNfUa9m6f2nfj1XdpuIXppI+MZ3sedn998qKUjHbzInZK4sDqampLFq0iF27djFhwoQhPXdbSwv/amjgNpno0oOh4aeUuh84C6jWWh9mZFuGYp3HQ7bZzMl5eVE/l/NBJ9YqKzknSG2fGIFQr697DVnJj+bRsceGuWrMQYGWktfHVHxhqOOPP55169bR1tbG9OnTB/28e+12UmSiy0GM/u1+EDjN4DYMSWcgwNMeD2cXFJA2zPH3wfLt9VH3jzrZt0+M3J13wpIlPWrI1NIlVKi1lF9VTtFXisg9MRfbDBtpRWkSfHHq7LPP5qWXXhr049sCAR4MTXQpkYkuPRj6G661fgOoNbINQ/XvhgZqOjtjsnef6yGX1PaJkeunhozuK4iIUSElJYUbbriBBx54YFCPX+t2Bye6JPHWRf2Rj3dDtNbjwWoycVp+flTP01XbtzCX9Cqp7RMjsGJFsFZsoBoyMWoopbDZbPz3v/895GNXORxMsFpjcolmtIn78FNKLVNKbVBKbXC73Ya2JaA169xuTsvPx2aO7sxL71teWne0ykQXMXLr18OcOcGeX++vOXPgrbeMbqEYogsvvBCTyYTL5er3MdtbWni9vp4ry8pkoksf4j78tNartNZztdZzi2Iw1DiQDY2NHGhvj8ksT+eDTkw2E4Vfjc0+gSKBbdoEWvf4uuP22z//eYAaMxG/pk6dym233dbv/fc6HDLRZQBxH37xZK3bTYpSnFVQENXz+Fv8VD9eTfEFxaRkSjWKiDyr1UpNTY3RzRAjkJWVxa233sp777130H3hiS7nFRZSaonsLvCJwtDwU0o9CqwHpiql9iulvmlkewaitWatx8NJubnkpaZG9VxS2yei7YorrqCxsdHoZogRysjI4F//+hcffPBBj9vXud14OjpkossAjJ7tebHWukxrnaq1Hqu1vs/I9gzk45YWPm1tjdmQp9T2iWgym83cf//9RjdDRMB1112HUoqWlpau21Y5HFRZrZwiE136JWNqg7TW7UYB50Y5/MK1fZW3yL59InrMZjMnnHCC0c0QETD3vffY3NwMfQxjm//1L2bbbGw6+mgDWhbfJPwGaa3Hw/zsbMqiPH4utX0iVlpbW6mvrydX1nsc1eZnZ/PAtGnMzjp434fNjY3c63AY0Kr4JxNeBmFXayubm5qivmO71PaJWCooKOAtKXMY9X5cWck7jY34Aj23gfIFArzj9fLj8eMNall8k57fIKzzeABYFOUhz3Bt3/ib5JdVRN+8efOorq42uhliENoCAextbexra2N/H181HR0sKek5WhTQmt0+n8z27IeEXx/mvPtucAy9l4nvvAMQtTF0qe0TsZSSksKf/vQnfv7znxvdlKTW6vdzIBRi/YVbdUfHQc/LMZsZa7Ew1mJhktXKaqeTy8vKsJpM+AIBHnI6uX7sWANe0egg4dcHI8bQpbZPGGHmzJlorWUroihp9vt7hNg+n+/gXlvnwZv95qWkUBEKtrlZWV0h1/0rK6Xn+8TyHTvQOrjXovT6Dk3eZfvw48pKnqmpYZrNhrXbzg3RHEOX2j5hhAULFrBlyxYOO2zU7CgWN7ydnX320rr33ur7CLbC1FTGWixUWK0cl5NzUKiNsViGtXzi9RUVrHG5uKKsTHp9gyDh14cyi4VdLS1dn6LCovlpSmr7hBHy8vJ4+OGHJfy60VpT30+wdQ+4Rr//oOeWhIJtotXKF3JyqLBaewZbWhrWKK0LHH7f+k9Dg/T6BkHCrx/hT1FLS0ujPoYutX3CKJmZmVx44YVGNyNmtNbUdnb2OfzY/au518xJBZSlpTHWYmFaRgan5uUFe2/dgq3cYon6Hp+Hcn1FBRd9/DGPz5hhaDtGAwm/fvTu/UWz1ye1fcJIjzzyCMuXLyclZXS/HQS0xtPRMeDEkf1tbQeVBJiB8lCAHZ6ZyRkFBT16axUWC6VpaaQaHGyDUWax8K85c4xuxqgwun/bo6z7GPpqhyMqvT6p7RNGO+qoo9i1axeTJ082uin98mtNdXt7n9fVwl8H2tpo73WpIkUpxqSlUWG1Mjcri/MKCw+6xlaaloZZJvwkHQm/AXQfQ/+0qYn2QADGjYvoOaS2TxjttNNOY+PGjYadvzMQwNkt2PoKN3t7O529gi1Nqa4AOy47u88ZkcVpabKXneiThN8hhMfQH50+nd/86EfccccdET2+1PYJoxxUz/r66z3uj0Q9a0cggL1XsPWe8u9obyfQ63npJlNXgH0hN7fHtbXwV2FqqpRoiGGT8DuE7mPoF198MW1tbVgidN1PavuEkUZaz9oWCHQVZ/c33d/V3o7u9TybydQ1C/KLNluPa2vh7/NSUiTYRFTJO+4QHH300fz0pz/l5ptvjsh/TKntE0Y6VD3rpcXFvFZX1+/EkUOtOnJEt2DrCjirlWyzWYJNGE7Cb4jmzZvH9u3bmTp16oiPJbV9wkgD1bPesmcPrvb2HrfnpaR09dAGu+qIEPFKflOH6LTTTuP5559nypQpI/r0KrV9Ih70Vc/6oNPJ10tKmN6t5zbcVUeEiFcSfsNgsVh47rnnOPvss4d9DKntE/Ggr3rWfT4fv5w40eCWCRFd8V+1GYdOOeUUJk2aRCDQe47a4Ehtn4gn4d6fX2tZE1IkDQm/YVBK4Xa7Wbdu3bCeH67tk4kuIh7ImpAiGUn4DdOJJ55Idnb2sJ4rtX0i3lxfUcHNu3ZJr08kDQm/EZgyZQpPPPHEkJ4jtX0iHoXrWaXXJ5KFhN8IjB8/ns8++2xIz/H8TWr7hBDCaBJ+I3TjjTfyxhtvDPrxUtsnhBDGk/AbIbPZzLPPPkt7r4Lgvvj2+ah7tY7SpaVS2yeEEAaS8IuAH/zgB3i93kM+Tmr7hBAiPkj4RUBJSQm//vWv8fl8/T5GavuEECJ+SPhFyBVXXMGOHTv6vd+73kvrp1LbJ4QQ8UDCL0ImT57Mhg0baGlp6fN+qe0TQoj4IeEXQV/4whd49NFHD7pdavuEECK+SPhFUFVVFfPnzz9o8ovnbx78XqntE0KIeCHhF2FZWVmsWrWqx21S2yeEEPFFwi/CKioqOOuss7rq/sK1fSVLSqS2Twgh4oSh4aeUOk0ptU0ptUMptdzItkRSQUEBt99+OzgccOIXSNO1lC6RIU8hhIgXhoWfUsoM3AWcDswALlZKzTCqPZFUVFTEuHHj0L/7HZYHf8WUI14kfYLU9gkhRLwwsud3DLBDa71Ta90OPAaca2B7IuqSk05CV1WhFiyg4KqjwOk0uklCCCFCjAy/McC+bj/vD92WENTvf49auhTMZli6BO680+gmCSGECDEy/Pqa/aEPepBSy5RSG5RSG9xudwyaFQEOB1RVoVTwJSqTCSorpfcnhBBxwsjw2w9UdPt5LGDv/SCt9Sqt9Vyt9dyioqKYNW5E7rwTliwBqzX4s9UKixdL708IIeKEkeH3LjBZKVWllEoDLgKeMbA9kRHq9aF6dWyl9yeEEHHDsPDTWncC3wZeBj4BntBabzGqPRGzYgXMm/d5ry/Mag3evmKFMe0SQgjRxdCFJrXWLwAvGNmGiFu/Hlau7P/+2bNj1hQhhBB9k1WWI23TJqNbIIQQ4hBkeTMhhBBJR8JPCCFE0pHwE0IIkXQk/IQQQiQdCT8hhBBJR8JPCCFE0pHwE0IIkXQk/IQQQiQdCT8hhBBJR8JPCCFE0pHwE0IIkXQk/IQQQiQdCT8hhBBJR8JPCCFE0pHwE0IIkXQk/IQQQiQdCT8hhBBJR8JPCCFE0pHwE0IIkXQk/IQQQiQdCT8hhBBJR8JPCCFE0pHwE0IIkXQk/IQQQiQdCT8hhBBJR8JPCCFE0pHwE0IIkXQk/IQQQiQdCT8hhBBJR8JPCCFE0pHwE0IIkXQk/IQQQiQdQ8JPKXWBUmqLUiqglJprRBuEEEIkL6N6fh8BXwHeMOj8QgghkliKESfVWn8CoJQy4vRCCCGSnFzzE0IIkXSi1vNTSr0KlPZx1//TWj89hOMsA5aFfmxSSm2LRPuGqBDwGHBeo8jrTWzyehNbsr1egKlDfULUwk9rfWqEjrMKWBWJYw2XUmqD1jppJubI601s8noTW7K9Xgi+5qE+R4Y9hRBCJB2jSh0WKaX2A/OB55VSLxvRDiGEEMnJqNme64B1Rpx7mAwddjWAvN7EJq83sSXb64VhvGaltY5GQ4QQQoi4Jdf8hBBCJB0JvwEopU5TSm1TSu1QSi03uj3RppSqUEq9ppT6JLT83PVGtynalFJmpdQmpdRzRrclFpRSuUqpJ5VSW0P/zvONblM0KaW+G/pd/kgp9ahSymp0myJJKXW/UqpaKfVRt9vylVKvKKU+Df2ZZ2QbI6mf1/vr0O/zB0qpdUqp3MEcS8KvH0opM3AXcDowA7hYKTXD2FZFXSfwfa31dOBY4NokeM3XA58Y3YgYuhN4SWs9DTiCBH7tSqkxwHXAXK31YYAZuMjYVkXcg8BpvW5bDvxDaz0Z+Efo50TxIAe/3leAw7TWhwPbgf8dzIEk/Pp3DLBDa71Ta90OPAaca3Cbokpr7dBavxf6vpHgG+MYY1sVPUqpscCZwJ+NbkssKKWygROB+wC01u1a63pDGxV9KUC6UioFyADsBrcnorTWbwC1vW4+F1gd+n41cF4s2xRNfb1erfXftdadoR/fBsYO5lgSfv0bA+zr9vN+EjgIelNKVQJzgHcMbko0/Q64EQgY3I5YmQC4gQdCQ71/VkrZjG5UtGitDwC/AfYCDqBBa/13Y1sVEyVaawcEP9ACxQa3J5a+Abw4mAdK+PWvr1W3k2JqrFIqE3gKuEFr7TW6PdGglDoLqNZabzS6LTGUAhwJrNRazwGaSawhsR5C17rOBaqAcsCmlLrM2FaJaFFK/T+Cl24eHszjJfz6tx+o6PbzWBJsyKQvSqlUgsH3sNZ6rdHtiaLjgXOUUrsJDmmfrJT6i7FNirr9wH6tdbg3/yTBMExUpwK7tNZurXUHsBY4zuA2xYJLKVUGEPqz2uD2RJ1SailwFnCpHmT9noRf/94FJiulqpRSaQQvlD9jcJuiSgX3mLoP+ERrfYfR7YkmrfX/aq3Haq0rCf7b/lNrndC9Aq21E9inlAovAnwK8LGBTYq2vcCxSqmM0O/2KSTwBJ9ungGWhr5fCgx6I4HRSCl1GvBD4Bytdctgnyfh14/QBdRvAy8T/A/zhNZ6i7GtirrjgcUEe0GbQ19nGN0oEVHfAR5WSn0AzAZ+YWxzoifUw30SeA/4kOD7XUKtfqKUehRYD0xVSu1XSn0TuA34olLqU+CLoZ8TQj+v949AFvBK6D3r7kEdS1Z4EUIIkWyk5yeEECLpSPgJIYRIOhJ+Qgghko6EnxBCiKQj4SeEECLpSPgJIYRIOhJ+QsQBpZS/W23l5v620FJK/U4pdeIQjluklHopci0VIjGkGN0AIQQArVrr2QM9QCmVDxyrtb5hsAfVWruVUg6l1PFa6zdH2EYhEob0/IQYPc4HunpxSqndSqlfKKXWK6U2KKWOVEq9rJT6TCl1dbfn/Q24NNaNFSKeSfgJER/Sew17fq2PxxwP9N6FYp/Wej7wb4IbfZ5PcCPin3V7zAbghCi0WYhRS4Y9hYgPhxz2BMoI7sfXXXix9Q+BzNAmxI1KKZ9SKje0WW01wS19hBAh0vMTYvRoBay9bmsL/Rno9n345/CHW2vouUKIEAk/IUaPT4BJw3jeFOCjCLdFiFFNwk+I+ND7ml9f29A8DywcxrFPCj1XCBEiWxoJMYoopf4DnBW6ljfY57wBnKu1rotaw4QYZST8hBhFlFLzCE6O+WCQjy8Cjtda/y2qDRNilJHwE0IIkXTkmp8QQoikI+EnhBAi6Uj4CSGESDoSfkIIIZKOhJ8QQoik8/8Bs8Blnt1nRkQAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(7, 5))\n",
    "\n",
    "mode = tkl.MODE_MATCHING_DTW\n",
    "p = 2\n",
    "dim = 2\n",
    "\n",
    "profile = tkl.match(trace1, trace2, mode=mode, p=p, dim=dim, verbose=False, plot=False)\n",
    "tkl.plotMatching(profile, trace2, append=True)\n",
    "\n",
    "trace1gr.plot('m-')\n",
    "trace1.plotAsMarkers(type=tkl.MARKERS_TYPE_WARNING)\n",
    "trace2.plot('c-')\n",
    "trace2.plotAsMarkers(bkg='w', frg='c', sym_frg = \" \", sym_bkg = \"v\")\n",
    "\n",
    "plt.xlim([-1, 12])\n",
    "plt.ylim([-1, 5.5])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9ad771fb-330b-48c9-8e7c-f00d1dccad6c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
