{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interpolate data and concatenate streams\n", "\n", "Raw Neon data is not always easy to work with. A data stream (e.g., gaze, eye states, IMU) might not have been sampled at a constant rate. Additionally, streams may have differing sampling rates and lack synchronized start timestamps. All of these issues add complexity to continuous data analysis and sensor fusion.\n", "\n", "This tutorial demonstrates how to deal with these issues by interpolating data streams and concatenating them into a single DataFrame. We will use the same ``boardView`` dataset as in the [previous tutorial](read_recording.ipynb)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from pyneon import get_sample_data, Recording\n", "import matplotlib.pyplot as plt\n", "\n", "recording_dir = (\n", " get_sample_data(\"boardView\")\n", " / \"Timeseries Data + Scene Video\"\n", " / \"boardview1-d4fd9a27\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now access raw data from gaze, eye states, and IMU streams." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "rec = Recording(recording_dir)\n", "gaze = rec.gaze\n", "eye_states = rec.eye_states\n", "imu = rec.imu" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Irregular sampling in data streams\n", "\n", "Data points from each stream are indexed by `timestamp [ns]`, which denotes the UTC time of the sample in nanoseconds. Are these samples uniformly distributed over time? We can examine the initial samples from each stream to assess their distribution, where, due to device boot-up, the sampling may be irregular." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Take the first 0.3 seconds of gaze data\n", "gaze_begin = gaze.crop(0, 0.3, by=\"time\")\n", "# And the corresponding eye states and IMU data\n", "eye_states_begin = eye_states.restrict(gaze_begin)\n", "imu_begin = imu.restrict(gaze_begin)\n", "\n", "\n", "# Define a function to plot the timestamps of the gaze, eye states, and IMU data\n", "def plot_timestamps(gaze, eye_states, imu, concat_stream=None):\n", " _, ax = plt.subplots(figsize=(8, 2))\n", " ax.scatter(gaze.ts, np.ones_like(gaze.ts), s=5)\n", " ax.scatter(eye_states.ts, np.ones_like(eye_states.ts) * 2, s=5)\n", " ax.scatter(imu.ts, np.ones_like(imu.ts) * 3, s=5)\n", " # If a concatenated stream (explained later) is provided, plot its timestamps as well\n", " if concat_stream is not None:\n", " ax.scatter(concat_stream.ts, np.ones_like(concat_stream.ts) * 4, s=5)\n", " ax.set_yticks([1, 2, 3, 4])\n", " ax.set_yticklabels([\"Gaze\", \"Eye states\", \"IMU\", \"Concatenated\"])\n", " ax.set_ylim(0.5, 4.5)\n", " else:\n", " ax.set_yticks([1, 2, 3])\n", " ax.set_yticklabels([\"Gaze\", \"Eye states\", \"IMU\"])\n", " ax.set_ylim(0.5, 3.5)\n", " ax.set_xlabel(\"Timestamp (ns)\")\n", " plt.show()\n", "\n", "\n", "plot_timestamps(gaze_begin, eye_states_begin, imu_begin)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As shown in the figure above, in addition to the apparently later onset of IMU data, the first 0.3 second of gaze and eye states data indeed suffers from dropouts.\n", "\n", "In addition to dropouts, irregular sampling may also occur, especially for IMU data from our experience. For example, it can be observed in the middle of this recording (5 - 5.3 seconds):" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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lguFsoK9/rRFaJUV7PUP1LKCvf60RWiVFez1r+PltvCDMMuyHH3kd6S9sBcvXpTFixcnuJzmP2uqhQbSzz77rOmRVZcvXzbB6NSpU02vclL8/fffJnjWAPbxxx+Xxo0bmxSScePGOZfp0aOH7Nu3T77++mvnvIYNG8off/xhes6V5khrL/KyZcucy2i9+vXrZwYSRkREJKo+GqT/5z//kbFjx95xWc2J1nbRXunElg8AAADfSWy8ZrsnWvOIz549615IeLjkypXLLaVD84b1LhkdOnRwztceYe0hfvnll03u8f33328quHnzZlNJ12Vdc7CPHj1qBizqXUBWrFhh1tXAWRUrVsz0MGvg60i/0AGLmiKyevVq0xOuOdrac63/d9D19PkDBw6YwYfaWG3atDE91npHDh2oqIMT9c4bixYtMjneOvBQ00KaN28uBQoUMOseOnTI9L4DAAAghFg2dOjQQXut40xly5Z1Wy4mJsYqWrSo9fDDD8cpQ5/78MMPzTpp0qSxcufObTVp0sRav369x9fcuHGjVbduXSt79uxWhgwZrIoVK1rz5893Pn/gwAGrRo0a5jmty7Fjx6zr169bHTt2tLJmzWply5bN6tatm9W/f3+rUqVKzvXOnz9vNWrUyMqcObNZ79tvvzXzz5w5Y7Vv397KlSuXlS5dOqtEiRLW888/b126dMk6e/as1bJlSyt//vxW2rRpzTYOHDjQio6OTlT7aRn6WvoXAAAAgSex8ZqtdI7E0txizXnW/GFNucA/SOcAAAAI0XSOhGiaheYd64A+zVvWtAcAAAAgpfFqEK23kNO8Y80lnjFjhsmVBgAAAFIar0a5OlgvGbJDAAAAgIBi+8dWAAAAgFBHEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA2EQQDQAAANhEEA0AAADYRBANAAAA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69Y1PVRvv/22dfDgQfM3derU1kMPPWRNmTLFzOvWrZuVM2dO0zurtNcld+7c1oABA6z9+/dbO3futBo1amTVr1/fPH/69GnTO/XBBx+Y3jPtDZowYYLpCdfpqaeespo2bersIb9x44ZZT1978+bNZh3tvcubN681atQotx67zJkzW08++aS1d+9es0zatGmtJk2aWD169DC9YdOmTTO9Pd99951zPX2s9Z86dap14MAB64033jDbqL1o8enZs6epo6dep+rVq1uRkZGmDnXq1LFq1arlXKZ8+fJW27ZtTbto2y1YsMDatWuXWzm6Xfr+ILDF7rE8ceKE2W9+++03t+UaNGhgPgsOum9oj6guq2XUrFkzTk+lL3uiv//+e7Oe/o1t2bJlVqZMmUxPufaub9u2Ld5ytDdXr87occHhv//9r+mt1c+E9rrqZ6Ry5crOY4En+pnOnj27de7cOY/Px9dTPHz4cHOciYmJMY9j90Rr77Qed7S3XI8pf/31l/XEE0+Y8nRdh7feesvatGmTOW6NHDnS1H/MmDFu76fr8mrmzJlW/vz5E90TrU6dOmXdd999pm11X9D19TXtIIgGgAAPou+//37n49u3b5sv1Xbt2jnnaaCrXxSO1AYNdhs3bhznC0OX0SB1x44d5v/Hjx//V+kc7777rvkScg029BK6XhZ10AC6WLFibpdwy5Yta40YMcL5WOvStWtXt7L1S19PDuKj9evUqZPHL0zXy93Lly83865du2Ye6wnJjBkzEtwuvUysl4cR2GIHc1999ZWZp58P10kDNz0xdHxWSpcubfXt29cETOvXrzefMQ3MHMGfBpuu66dJk8aU4Tpv1qxZXguiX3jhBatChQoen9P0Dg2O9bOt+7t+ljwFt5pGUbJkSatz585u859//nnn597B8fn3lOIxe/Zs8xlOKKXBUxC9fft2c/LpegITO4h2lK/LadCqJ9h9+vQxjzVYjs+bb75pFSpUyPk4V65cVvr06d3eD32s9XJ0JNwpiNb3unnz5qYzQgN2bRM93mgqinYyJFZ44vusAQD+ULFiRef/dfCRXorUVAwHTddQ58+fd6Ys6ChzTaeITdMUdHBSgwYNTBlNmjQxj5988kmTLpKQ+fPny9ixY00ZOqJeL4FqSoQrvVysqRKuddM6u17C1XmOujroHQFiP07oLgfXrl2T9OnT37G98ufPb/7q62mKyf/93/+Zy9mOS/h6uV/vauBKLzHrwCQEF90ndV/TQWL615Xjs6AD4zQlQtOLHGbNmiWFCxc2g900PUhTgVz3Pd3nf/vtN7eBg47P3L+lqQSaevLWW295fF7TOzRdSyetW+nSpU3qx4ABA9wG7GmKkqYuacqHK93/w8PDTRqWw1133WX+njx50qQ0OGg99LOxcOFC89mwY+PGjc7PmIOmy7zyyivmDh2Ou588++yzZjp37pzZNk2/+uCDD0zKSXyqV68ub7/9tkkH0RQufZ+HDBnicTBofMeE2HQwoaa4XLhwwXkM++ijj2Tt2rUmna1///6JKocgGgACXOxcTf3icZ2nj5Xj1mz6JaO5vZ7uFqBfqhpg6JfFli1bZM2aNTJu3Dh5/fXXTRCheZOeaJ5pmzZtzJeXBt4aiOiX7vvvv2+rro55//Y2cpovqV+AniTUNpq3rV/iy5cvN3nkeksw3Y7HHnvMuY7mi+rtvhBcqlSpYgI3Debq1KnjcRk9OXI9oVOOgNuxj+hJlAatDpobHBUV5TbPWzRg1eCwbdu2iVpe66jLO2hwrwG05vFqnnfsbatdu7Y52dUTX8fJot7aTRUtWtS53Ny5c6VTp07ms+B6m73EateuXZzAW48TOl/HbsTmOAnRfGcNfPXuIPHRExo9wdcAWt17771mnMO/eT8cJ8mx20sf2zk2EUQDQAqjXzJffPGF6RXWXihPNLjUL1idBg4caL5Q9dZU2lOrg380GHGlAbcuo8G2w4kTJ7xWZ70llg4Wcn2sQVF89DntQUwK7ZXT6eWXX5ZnnnnGBB+OIPr69esm4EjoteE/eoJ4+PBht1vWaZClga6+p3qip/uRntzpe6i3g9OBpnp1QoNDnfRWcNrzq++9DqDT26Dpvp3U91xPurRXV3uElWMgq2PAsNI66f2ZR4wY4bau9irrQGK9uhS7h1oHyjVv3tyc+OqgYO1F16DZcRs8/b8OPNa66+3rHLe+c7y20sBWjwcaIGuPsAaIOmhPg1ZH7/ScOXOkQ4cO5vaa2uvruMWbnkzoyfKd2r1IkSKm/rG3QU9mtR6uvd16yz7tMdcrA3oir4MQR44cae4b7RgIqb3U2uuuwbUuM3z4cOnTp4+zDD1e6a3o9HX1CpoGvnr1TQdTDx061Cyj26CTo856m0C9QqbraJ31SpcG5rrdWp5uqw7Y1u2ydRKR6MQPAIBfcqJ79erltoynXEPXPEXNS9SBhTrATwciHT582Fq1apXVsWNHk1Otg/qGDRtm/fDDD2Ywlg6u0/zEFStWmPX1uSJFipicSb0VlN76a8mSJSYvdO7cuaY8HeiTI0cOt23QnOhKlSoluD2etknrrnmOn3zyicndHDhwoJUqVSozMDA+OhhS66ODkxLKf9T8VJ2n+apXr161unfvbpbTfHDNhdQ80ldffdWtDB0cGTu3EoHB8R7HnhwD/3Rf1f1Hc4c1l1kHiz322GNmf3HQfVjz3jWXVj8nmhurA02TOrBQP8ue6qTrue7zscvQz5cut2bNmjhlag6/1lsHE+pnU7dD6+k6sDC+140d2unx4PHHHzf7teYf63Hgzz//dKtbQm2amHb3xNNxSsdy6HFDt6lixYrWZ5995vb8ypUrzcBHrau+P3o8mTRpktuYCqXHMx0wnCFDBjOYUm9l6DqgUtveU31dBwzr8U/Hjmh9dKxEjRo1nMfAxCKIBoAUFkQrvfOEfglny5bNfNGUK1fO6t27txlQo3e90AF/GkDoyPcyZcpY48aNc657/vx5M8pev8i0XMd9dnUwlt5FQ+c//fTTpg7eCqL17iD6mlofDYDmz59/xzbUL079gk1sEK13BGjdurVVuHBh8yWuAcpLL73kHHToGOSldzQAgDsJ038S328NAIB3aWqJppLY/VUyzWvWy8F6GTd2bmNS6CVzvfSs94mOLzccABzIiQYABCXNXdQf0dDcUL27wr+ldxDQEfoE0AASg55oAEBQ9kQDgD/REw0A8Cv6cgAEo3+fRAYAAACEGIJoAAAAwCaCaAAAAMAmgmgAAADAJoJoAAAAwCaCaAAAAMAmgmgAAADAJoJoAAAAwCaCaAAAAEDs+X+cVImjO0PsjQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gaze_middle = gaze.crop(5, 5.3, by=\"time\")\n", "eye_states_middle = eye_states.restrict(gaze_middle)\n", "imu_middle = imu.restrict(gaze_middle)\n", "\n", "plot_timestamps(gaze_middle, eye_states_middle, imu_middle)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How frequent are these irregularities? We now examine the distribution of the time differences between consecutive samples, and compare them to the expected time difference for a regular, nominal (as specified by Pupil Labs) sampling rate." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nominal sampling frequency of gaze: 200 Hz. Actual: 199.4 Hz\n", "Nominal sampling frequency of eye states: 200 Hz. Actual: 199.4 Hz\n", "Nominal sampling frequency of IMU: 110 Hz. Actual: 113.9 Hz\n" ] }, { "data": { "image/png": "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9QYNGpiAY+nSpemSt91BSwUAAABym9mzZ5v517zp4MGDJp8luznIARtUtGzZ0jlyk+uileowePBg089Lh4P94YcfJCYmxtZraiuFznlx0003eeEdAAAAIK944IEHzEn4yy+/nGr7okWLcjzZvGfPnvLLL79IIPJ7UOEPtFQAAAAgM5qs/Morr8ipU6d8njRdtmxZCURBGVTQUgEAAIDM6ETLOtKoznGWmU8//VTq1KljRhatXLmyTJgwIdX9um3cuHFy//33S9GiRSU6OloWL15shm+98847zbZ69eqZVIDMuj+NGTPGdP//4IMPzPNFRERIr169JDEx0bmPpgW0aNHCPO6aa66Rzp07y/79+8XXgjKooKUCAADAx3Qo/6Qk/yxuTiOgUxq89NJLMmXKFDly5Ei6+zdt2iQ9evQwJ/jbt283J/8jR45M1X1fTZo0SZo3by5btmyRTp06SZ8+fUyQcd9998nmzZulWrVqZj2raQ40QNCuV1988YVZ1qxZk6prlg5gpDnJGpzoCKk6klO3bt3MiKm+5PfRnwAAABAEdGbtokX989rnzokUKeLWQ/TEXFsJRo8eLe+++26q+yZOnCht2rQxgYSqUaOGuWD96quvmpwMh44dO8rAgQPNbR106K233jI9Zbp37262/eMf/zDTJGQ1B5sGBxqsFCtWzKxrYKLBw4svvmjW77777lT7z5w5U8qUKWPKc8MNN4ivBGVLBd2fAAAAcDWaV/Hee+/Jrl27Um3XdW2BcNW8eXPZu3dvqikLtHuTg2Pk0rp166bblpCQkGkZtNuTI6BQkZGRqfbX17z33nulatWqUrx4cbO/+u233yTXt1Roc43OvOeolM8//1xmzZplTtS1+Ucnrcvt3Z90OXv2rOmbBgAAgBymM2tri4G/XtsDt956q7Rv315GjBiRqgUiu/Lnz++87Rg5KqNtWXVVct3f8RjX/bt06WLyNWbMmCFRUVHmPm2h0Nmxc31Qoc04w4cPN0HFr7/+avqTaRPR/PnzJTk52UxQBwAAADjpCbSbXZByA81f0G5QNWvWdG6rVauWrF+/PtV+69evN92gNB/DV/744w/Zs2ePCShuueUWs+3bb78Vf/Co+5OOn6uVqzSQ0Chuzpw5pr+XZsLndnR/AgAAQHboRfTevXvL66+/7tz25JNPmryGF154wZwXv/fee/LG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Dw+X66+/Xt58803nfQcPHjT7aqB12223mX0++uijbD/us88+k1atWply69W7uLi4VOVev369qUe9X+uwffv2curUKXNfSkqKjB8/XqpUqWJO6vXxCxYsyPZnmrar2LJly0x5td7vuOOOVIHk6tWrpUmTJqaLge7bvHlzOXTokNuvBQBZGTx4sPkenDt3rmzbts20QOj30d69ezPcX79na9SoIbfccou4g6ACAALMe++9J6VLl5YNGzaYAOORRx4xPxLNmjWTzZs3S7t27UzQkJycbPbXK1OtW7eWhg0bysaNG2Xp0qVy/Phx6dGjR6av8cMPP0j//v3Nj9HWrVvNSfq4ceOybD6fNWuWue1oPs9om9IAQVtlXnzxRdM96qWXXpKRI0ea9+Vq+PDhMmTIELOPnvhn93F6RU5fW8utP4z33nuv/PXXX+Y+3damTRvTtK8/st9++60JfK5cuWLu14Di/fffN1foduzYIUOHDpX77rtP1qxZ4/bnpPX/2muvyQcffGD6PP/222+mXErLo8GiBk36I69leeihh2y15gBAWvq9o9/D8+fPN0FCtWrVzPdQixYtnN/Pri5cuGC+a/X7320WAMDvZs2aZUVERKTbHhsba915553O9dtuu81q0aKFc/2vv/6yihQpYvXp08e57dixY5Z+vcfFxZn1F154wWrXrl2q5z18+LDZZ8+ePRmW595777U6duyYalvPnj1TlXH06NFW/fr1nesLFy40z+kqo23VqlWz5syZk2qblrFp06bm9oEDB8xjJk+e7NHj3nnnHef9O3bsMNt27drlfF/NmzfP8D1fuHDBKly4sPXdd9+l2t6/f3/zuMxER0dbkyZNSvd56uvu27fPuW3q1KlWuXLlzO0//vjD3L969WorK/p5DxkyJMt9AMBBv1f0e9fhiy++MNv0d8J1yZcvn9WjRw8rLf2O1fvi4+Mtd5FTAQABpl69es7bYWFhcs0110jdunWd27R7k0pISHD2j121alWG+Rma86BX89PSlgDt8uRKk4a1lcMO7aalr6lXwQYMGODcrlfu0yY5N27c2KPHudZPZGSksy60u5S2VGSWfLhv3z7TunD77ben2n7p0iXTyuMu7V6lVwVdy+L4TEqVKmW6tmkLjL5e27ZtTcuRo7wA4A3nzp0zvxObNm0yf11l9JugXZ86d+7s/B1xB0EFAASYtAnL2mXGdZujC43mBzh+VLSLjybmpeXrk1gti9I8kJiYmFT3pf3Bcx3O0J3HZVUXmidxtbItWbJErr322lT3FSxYMFvvL7NyOMrynwuJ/6FdDx5//HETqGn+yHPPPSfffPON3HzzzW6/FgBkRC+IaPdOvaBxtRyJAwcOmAtQixcvFk8QVABAHnfjjTfKp59+auZTyJcve1/7mlyseRWuvv/+e9tl0atfOpb6r7/+Kr17987xx6WlrRg6DK4Oc5uW5llo8KB9kDXXwVc/+LqMGDHCtATNmTOHoAKAW/SCiLa0ugYH2iqrLaLaEq3fmffff79MmDDBfN+cOHHCfA/q92GnTp2cj5s5c6a50OTp0N8EFQCQxw0aNMhc4deE5Weeecb80OgPkI4Eok3daa/0K72CrqMRaaKxDgeroxjZ7frkoCf0+vzabUlHINHhDjWBXEdgGjZsmNcf50pP3rWr2KOPPioPP/ywGbJVr8xplyhNftcERk3O1pYNTWQ8c+aMGS2qePHiEhsbK96iP/rTp0+Xv/3tbyZY0qGEdSQW/eEHAHfo96AOpuHg+D7U7ywdiU5bRXWgjSeffFJ+//13812nFy+0m5ODfufpvtotM6PfhOwgqACAPE5PWvXE+B//+IcZGUpPxqOjo82JuQ71mhH9wdFAZPTo0WbEJe3zr91zXnjhBdvlefDBB02+wauvvipPP/206eakJ/pXmzna08e50qt2X3/9tfzzn/80w7lqdyjtTqUBl9L3V6ZMGTMKlLaK6FCv2tKj+3uTvo/du3ebkat0qF69OqjB38CBA736OgDyvpYtW6bqWplRV0y9KJNRC62D/hYcPnzYVjlC/pspDgAAPKDdyjSwcSe4cedkQecCmTx5stefGwC8iXkqAACwSVuBdCQV7S7lDTpOvD7funXrvPJ8AJDTaKkAAMAGnQX78uXL5nbVqlUz7VLmjsTERDNBodIuWNoHGgByM4IKAAAAALbQ/QkAAACALQQVAAAAAGwhqAAAAABgC0EFAAAAAFsIKgAAAADYQlABAAAAwBaCCgAAAAC2EFQAAAAAsIWgAgAAAIDY8f+D6co0ob2lJQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\n", " f\"Nominal sampling frequency of gaze: {gaze.sampling_freq_nominal} Hz. \"\n", " f\"Actual: {gaze.sampling_freq_effective:.1f} Hz\"\n", ")\n", "print(\n", " f\"Nominal sampling frequency of eye states: {eye_states.sampling_freq_nominal} Hz. \"\n", " f\"Actual: {eye_states.sampling_freq_effective:.1f} Hz\"\n", ")\n", "print(\n", " f\"Nominal sampling frequency of IMU: {imu.sampling_freq_nominal} Hz. \"\n", " f\"Actual: {imu.sampling_freq_effective:.1f} Hz\"\n", ")\n", "\n", "fig, axs = plt.subplots(3, 1, figsize=(8, 5), tight_layout=True)\n", "\n", "axs[0].hist(gaze.ts_diff, bins=50)\n", "axs[0].axvline(1e9 / gaze.sampling_freq_nominal, c=\"red\", label=\"Nominal\")\n", "axs[0].set_title(\"Gaze\")\n", "\n", "axs[1].hist(eye_states.ts_diff, bins=50)\n", "axs[1].axvline(1e9 / eye_states.sampling_freq_nominal, c=\"red\", label=\"Nominal\")\n", "axs[1].set_title(\"Eye states\")\n", "\n", "axs[2].hist(imu.ts_diff, bins=50)\n", "axs[2].axvline(1e9 / imu.sampling_freq_nominal, c=\"red\", label=\"Nominal\")\n", "axs[2].set_title(\"IMU\")\n", "axs[2].set_xlabel(\"Time difference [ns]\")\n", "\n", "for i in range(3):\n", " axs[i].set_yscale(\"log\")\n", " axs[i].set_ylabel(\"Counts\")\n", " axs[i].legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For gaze and eye states data, the empirical distribution of time differences is close to the expected value. However, some integer multiples of the nominal sampling rate suggest possible eye video frame drops. For IMU data, the distribution is much wider." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interpolating data streams\n", "\n", "Given the presence of irregular sampling, if you want to perform analyses that assume continuous data streams, interpolation is necessary. PyNeon uses the `scipy.interpolate.interp1d` [(API reference)](https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html) function to interpolate data streams. The `interpolate()` method of `Stream` creates a new object with interpolated data.\n", "\n", "With the default parameters, the interpolated data will have the same start timestamp as the original data, and the sampling rate is set to the nominal sampling frequency specified by Pupil Labs (200 Hz for gaze and eye states, 110 Hz for IMU)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nominal sampling frequency of gaze: 200 Hz. Actual (after interpolation): 200.0 Hz\n", "Only one unique time difference: [5000000]\n", "The new gaze stream is uniformly sampled: True\n", "gaze x [px] float64\n", "gaze y [px] float64\n", "worn Int32\n", "fixation id Int32\n", "blink id Int32\n", "azimuth [deg] float64\n", "elevation [deg] float64\n", "dtype: object\n" ] } ], "source": [ "# Interpolate to the nominal sampling frequency\n", "gaze_interp = gaze.interpolate()\n", "\n", "# Three ways you can check if the interpolation was successful:\n", "# 1. Compare the effective sampling frequency to the nominal sampling frequency\n", "print(\n", " f\"Nominal sampling frequency of gaze: {gaze_interp.sampling_freq_nominal} Hz. \"\n", " f\"Actual (after interpolation): {gaze_interp.sampling_freq_effective:.1f} Hz\"\n", ")\n", "# 2. Check the number of unique time differences\n", "print(f\"Only one unique time difference: {np.unique(gaze_interp.ts_diff)}\")\n", "# 3. Call the `is_uniformly_sampled` property (boolean)\n", "print(f\"The new gaze stream is uniformly sampled: {gaze_interp.is_uniformly_sampled}\")\n", "print(gaze_interp.data.dtypes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that after intepolation, the data types of the columns are preserved.\n", "\n", "Alternatively, one can also interpolate the gaze data to any desired timestamps by specifying the `new_ts` parameter. This is especially helpful when synchronizing different data streams. For example, we can interpolate the gaze data (~200Hz) to the timestamps of the IMU data (~110Hz)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Original gaze data length: 6091\n", "Original IMU data length: 3459\n", "Gaze data length after interpolating to IMU timestamps: 3459\n" ] } ], "source": [ "print(f\"Original gaze data length: {len(gaze)}\")\n", "print(f\"Original IMU data length: {len(imu)}\")\n", "gaze_interp_to_imu = gaze.interpolate(new_ts=imu.ts)\n", "print(\n", " f\"Gaze data length after interpolating to IMU timestamps: {len(gaze_interp_to_imu)}\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, float-type data is interpolated using the `'linear'` method. We are examine its behavior by comparing interpolated data with the raw data." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gaze_interp_begin = gaze_interp.restrict(gaze_begin)\n", "\n", "plt.figure(figsize=(8, 2))\n", "plt.plot(gaze_begin[\"gaze x [px]\"], marker=\"o\", label=\"Raw\")\n", "plt.plot(\n", " gaze_interp_begin[\"gaze x [px]\"],\n", " marker=\"^\",\n", " label=\"Interpolated\",\n", ")\n", "plt.xlabel(\"Timestamp [ns]\")\n", "plt.ylabel(\"Gaze x [px]\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Concatenating different streams\n", "\n", "There might be cases where you want to concatenate different streams into a single one to facilitate further analysis (e.g., [epoching](epoching.ipynb)). This is possible by interpolating the streams' data to common timestamps and concatenating them into a single DataFrame.\n", "\n", "The method `concat_streams()` of `Recording` provides such functionality. It takes a list of stream names and interpolate them to common timestamps, defined by the latest start and earliest end timestamps of the streams. The new sampling frequency can either be directly specified or taken from the lowest/highest sampling frequency of the streams.\n", "\n", "In the following example, we concatenate the gaze, eye states, and IMU streams into a single DataFrame using the default parameters." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Concatenating streams:\n", "\tGaze\n", "\t3D eye states\n", "\tIMU\n", "Using lowest sampling rate: 110 Hz (['imu'])\n", "Using latest start timestamp: 1732621490607650343 (['imu'])\n", "Using earliest last timestamp: 1732621520979070343 (['gaze' '3d_eye_states'])\n", " gaze x [px] gaze y [px] worn fixation id blink id \\\n", "timestamp [ns] \n", "1732621490607650343 705.518843 554.990998 1 1 \n", "1732621490616741252 704.882466 553.793144 1 1 \n", "1732621490625832161 707.703787 556.712159 1 1 \n", "1732621490634923070 711.389879 553.846843 1 1 \n", "1732621490644013979 709.281775 555.543777 1 1 \n", "\n", " azimuth [deg] elevation [deg] pupil diameter left [mm] \\\n", "timestamp [ns] \n", "1732621490607650343 -7.085339 3.473196 3.346414 \n", "1732621490616741252 -7.126717 3.550038 3.363306 \n", "1732621490625832161 -6.944033 3.363048 3.368352 \n", "1732621490634923070 -6.707339 3.547815 3.365432 \n", "1732621490644013979 -6.842683 3.438366 3.374732 \n", "\n", " pupil diameter right [mm] eyeball center left x [mm] \\\n", "timestamp [ns] \n", "1732621490607650343 3.360563 -32.282935 \n", "1732621490616741252 3.359459 -32.249418 \n", "1732621490625832161 3.350918 -32.216781 \n", "1732621490634923070 3.361014 -32.249155 \n", "1732621490644013979 3.365781 -32.234159 \n", "\n", " ... acceleration x [g] acceleration y [g] \\\n", "timestamp [ns] ... \n", "1732621490607650343 ... -0.067383 -0.340820 \n", "1732621490616741252 ... -0.062619 -0.315917 \n", "1732621490625832161 ... -0.052682 -0.329993 \n", "1732621490634923070 ... -0.058795 -0.334090 \n", "1732621490644013979 ... -0.060815 -0.322199 \n", "\n", " acceleration z [g] roll [deg] pitch [deg] yaw [deg] \\\n", "timestamp [ns] \n", "1732621490607650343 0.932129 1.923968 -20.230545 132.920122 \n", "1732621490616741252 0.925714 1.923949 -20.227639 132.924402 \n", "1732621490625832161 0.924432 1.920479 -20.228228 132.927574 \n", "1732621490634923070 0.931812 1.916587 -20.228839 132.931756 \n", "1732621490644013979 0.925476 1.916104 -20.227092 132.937429 \n", "\n", " quaternion w quaternion x quaternion y quaternion z \n", "timestamp [ns] \n", "1732621490607650343 0.395828 -0.085287 -0.154390 0.901227 \n", "1732621490616741252 0.395796 -0.085271 -0.154370 0.901246 \n", "1732621490625832161 0.395766 -0.085242 -0.154389 0.901258 \n", "1732621490634923070 0.395728 -0.085207 -0.154411 0.901275 \n", "1732621490644013979 0.395683 -0.085190 -0.154403 0.901297 \n", "\n", "[5 rows x 34 columns]\n", "Index(['gaze x [px]', 'gaze y [px]', 'worn', 'fixation id', 'blink id',\n", " 'azimuth [deg]', 'elevation [deg]', 'pupil diameter left [mm]',\n", " 'pupil diameter right [mm]', 'eyeball center left x [mm]',\n", " 'eyeball center left y [mm]', 'eyeball center left z [mm]',\n", " 'eyeball center right x [mm]', 'eyeball center right y [mm]',\n", " 'eyeball center right z [mm]', 'optical axis left x',\n", " 'optical axis left y', 'optical axis left z', 'optical axis right x',\n", " 'optical axis right y', 'optical axis right z', 'gyro x [deg/s]',\n", " 'gyro y [deg/s]', 'gyro z [deg/s]', 'acceleration x [g]',\n", " 'acceleration y [g]', 'acceleration z [g]', 'roll [deg]', 'pitch [deg]',\n", " 'yaw [deg]', 'quaternion w', 'quaternion x', 'quaternion y',\n", " 'quaternion z'],\n", " dtype='object')\n" ] } ], "source": [ "concat_stream = rec.concat_streams([\"gaze\", \"eye_states\", \"imu\"])\n", "print(concat_stream.data.head())\n", "print(concat_stream.data.columns)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We show an exemplary sampling of eye, imu and concatenated data below. It can be seen that the concatenated data is regularly sampled at the nominal sampling rate of IMU." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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Y975u3fv1iZ5Z8uWLTY9aNAgp2LFij7rjhkzxilSpIj9/8qVK066dOmcyZMnR1mH0aNHO8WLF/eZ17FjRydLlize6eHDhzt33XWXzzKeuh0+fDja/btd3c6cOWP7snbtWu/z69ats3nz58+36d9++82mt27d6lNO/vz5naFDh0a77YkTJzo5cuSw/feYMGGClfXDDz84sXH+/HlbXv8CAADAfeISr8V5NJjx48dLWFiYdaD8/PPPLSVE0zfGjh1rKRv169e34Ry15Xv79u2WI962bVupXbu2jW4SG5oGoqO9aP655rtrmoiONKO53J4Wfk050dZ0fU63PX/+fJ8yNDVF01u00+eZM2csrUbrpnVs3ry5rFixwoah3Lhxo7zyyiuydevWWNUtW7ZslkYzadIky+H/5ptvrLNpRLlz57a7A9rBVUfB0fQUpXcCNMdc66sdWjW3f+rUqfL222/b888884y14munU81lX7JkieXUAwAAIHmKc7CuedoahNetW1d69epl6R86eol2wPzggw8s2Fy4cKEFtQ888IAFyLqO5pjHhQ7FqOXr6Ck61KGO8OLJG2/atKm89NJL8sILL9gwixpw6/IRaSfQxo0bWz21w+fs2bOtbhoAa72effZZG/pRh2U8evSo5MmTJ1b10tFe9CJh27Zttu9aDx1vPiLt2KoBuXYc1TQZHR1H6ZCROnSjBuh6QaMXMNqR1TPUo+awL1q0yIJ4HS1GLyJef/31OB03AAAABI8QbV4PdCXgPzp0o+bwa2u+dn4FAABA0o3X4tyyDgAAACBxEKwDAAAALkWwDgAAALgUwToAAADgUgTrAAAAgEsRrAMAAAAuRbAOAAAAuBTBOgAAAOBSBOsAAACASxGsAwAAAC5FsA4AAAC4FME6AAAA4FIE6wAAAIBLEawDAAAALkWwDgAAALgUwToAAADgUgTrAAAAgEsRrAMAAAAuRbAOAAAAuBTBOgAAAOBSBOsAAACASxGsAwAAAC5FsA4AAAC4FME6AAAA4FIE6wAAAIBLEawDAAAALkWwDgAAALgUwboftW/fXpo3b+79f0hIiHTp0uWW5bp162bP6TIederUkZ49e96y7LRp0yRr1qwJXHMAAAC4EcF6AipUqJDMmTNHrly54p139epVmTVrlhQuXDigdQMAAID7pQx0BYLZ3XffLYcOHZIvvvhC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PvnEPve0hV3L0c8nPUfiJE6hPQAgyZg6daqTJUuW27Zq165d21rcXnvtNWf//v32NzQ01HnooYecSZMm2byuXbs6OXLksNZmpa1IuXLlcvr37+/s3bvX2b59u9OgQQOnbt269vzvv/9urW1vv/22tQZq69b48eOtZV8fTz75pNO4cWNvi/+1a9dsPd32hg0bbB1tjcyTJ4/z+uuv+7RAZsyY0XniiSec3bt32zKpU6d2GjVq5HTv3t1a96ZMmWKtV9999513PZ3W+k+ePNnZt2+fM2DAANtHbRWMzosvvmh1jKoVrVq1as7q1autDrVq1XLuu+8+7zLlypVzWrdubcdFj92nn37q7Nixw6cc3S99feBukVtgjx49aufNb7/95rNcvXr17L3goeeGtvDqslpGjRo1bml5TcyW9e+//97W07+RLVq0yMmQIYO1/Ovdgs2bN0dbjrZO690m/Vzw+M9//mOtz/qe0FZkfY9UqlTJ+1kQFX1PZ8uWzTl16lSUz0fX8j1ixAj7nAkPD7fpyC3r2tqunzva+q+fKX/99Zfz+OOPW3m6rsfQoUOd9evX2+fWqFGjrP7vvvuuz+sZcXk1ffp0J1++fLFuWVfHjx937rnnHju2ei7o+rrNuCJYB4AgFZdg/f777/dO37x5076827Rp452nAbV+IXlSQjSobtiw4S1fTLqMBsPbtm2z/x85cuRfpcG8+eab9mUXMajR1AO9neyhgXrRokV9bn2XKVPGGTlypHda69KlSxefsjW40IuQ6Gj9OnToEOUXc8Q0gcWLF9u8K1eu2LRe+EybNi3G/dLb63pbHe4WOWj86quvbJ6+PyI+NEDUC1DPe6VUqVJOnz59LDBbs2aNvcc0APQEmRrURlw/VapUVkbEeTNmzPBbsP7cc8855cuXj/I5TYvRIFzf23q+63spqiBa009KlCjhdOzY0Wd+586dve97D8/7P6rUmJkzZ9p7OKZUkKiC9a1bt9pFbsQLpcjBuqd8XU6DY72Q7927t01rUB6dV1991SlYsKB3OmfOnE7atGl9Xg+d1np5GixuF6zra920aVNr9NALAz0m+nmjKTzamBEXKePWDg8ACEYVKlTw/l87oektXE1h8dA0F3X69GlvqoeOaqBpKJFpeod2UqtXr56V0ahRI5t+4oknLM0mJnPnzpWxY8daGTqCg9461lSSiPQ2u6aYRKyb1jnirW+d56mrh45AEXk6plE1rly5ImnTpr3t8cqXL5/91e1pas5///tfSwPwpD5omoSOohGR3prXDmpIWvSc1HNNOwvq34g87wXtIKmpJJqW5TFjxgwpVKiQdXrUtCpNoYp47uk5/9tvv/l0IPW85/4tTcHQlJ2hQ4dG+bymxWiamz60bqVKlbKUmf79+/t03NTULk350lSZiPT8T5kypaWvedxxxx3299ixY5YK4qH10PfGvHnz7L0RF+vWrfO+xzw0zahXr142IoxntJ1nnnnGHqdOnbJ907S1t99+21J1olOtWjV57bXXLI1GU9/0dR4yZEiUnYKj+0yITDuVamrQ2bNnvZ9h77//vqxcudLSAPv16xfrfSdYBwDckkurX3AR5+m08gw5qF9mmnsd1egU+uWtgYx+KW3cuFFWrFgh7733nrzyyisWrGhea1Q0D7hVq1b2JakBvgY8+uX+1ltvxamunnn/dnhEzWfVL9qoxHRsNK9eg4XFixdbnr8Odaf78eijj3rX0XxeHcYOSUvlypUtQNSgsVatWlEuoxdhES8clSew95wjerGmwbGH5m5fuHDBZ56/aGCsQWjr1q1jtbzWUZf30IsIDdQ1z1rz8CPvW82aNe2iWi+wPRelOmShKlKkiHe52bNnS4cOHey9EHH4yNhq06bNLQG+fk7ofO1bE5nnYkfz0TXA1tFooqMXTtqQoIG6uvvuu60fyr95PTwX45GPl07H9bOJYB0AEGf6Zfb5559bK7e2qkVFg1j9ItfHwIED7Ytbh1zTlmftBKZBT0Qa2OsyGtR7HD161G911qHetNNYxGkNvqKjz2mLaHxoK6M+XnrpJXn66actyPEE61evXrXAJqZtI3D0QvTgwYM+QzFqMKcBtb6mekGp55FeROprqMMcaodjvduiQag+dIhDbcnW1147Uurwfnpux/c114s7baXWFm7l6dDs6TiutE46vvnIkSN91tVWcu1QrnfLIre4a4fJpk2b2gW2dg7XuwIanHuGd9T/awd0rbsOy+gZ0tGzbaUBtH4eaCCuLdwaiGrnTQ2OPa3ts2bNknbt2tmwsdqK7Rm6UC9a9KL8dse9cOHCVv/I+6AXzVqPiK33OhSl3gHQOx3aYKCdUUeNGmXjrns6xGqru95F0CBelxkxYoT07t3bW4Z+XukQi7pdvSOoAbbeTdRO9cOGDbNldB/04amzDn+pd/x0Ha2z3rnTCwDdby1P91U77ut+xfliJU5JMwCAoMxZ79Gjh88yUeWCRswj1bxR7WCqHT21Q9rBgwedZcuWOe3bt7ecd+3cOXz4cGfLli3WKU87WWr+6JIlS2x9fa5w4cKW06pDnOmQdgsXLrS83dmzZ1t52uEre/bsPvugOesVK1aMcX+i2ietu+ahfvTRR5ZbO3DgQCdFihTWQTQ62ilW66Od1GLKT9X8YZ2n+cSXL192unXrZstpvr7mqmqe78svv+xThnaSjZz7CnfwvMaRH54OoHqu6vmjud2aa66dBh999FE7Xzz0HNZ+CZrrrO8TzV3WDsfx7WCq7+Wo6qTrRTznI5eh7y9dbsWKFbeUqX0stN7aqVTfm7ofWs+IHUyj227k8FE/Dx577DE7rzU/XD8H/vzzT5+6xXRMY3PcoxLV55T2tdHPDd2nChUqOJ988onP80uXLrUOsFpXfX3082TChAk+fV6Ufp5px/F06dJZp1odojNix1o99lHVN2LHcf380749Wh/ty1K9enXvZ2BcEKwDQJBKyGBd6Ugn+mWfNWtW+0IrW7as07NnT+tYpaOsaMdPDVR0pIXSpUs77733nnfd06dP26gO+oWp5XrGqdZOeTpqi85/6qmnrA7+CtZ1NBrdptZHA625c+fe9hjqF7R+kcc2WNcRKFq2bOkUKlTIggUNhF544QVv51NPZz8dQQMAYiNE/4lbWzwAAEmLpuRoCk5cf6VQ8871Nrre/o6cexofmmqgt+x1nPXocvcBICJy1gEAiIbmluqP3Wjuro7m8W/piBU6IgSBOoDYomUdABD04tuyDgCBRss6ACDo0S4FIKn69wl4AAAAABIEwToAAADgUgTrAAAAgEsRrAMAAAAuRbAOAAAAuBTBOgAAAOBSBOsAAACASxGsAwAAAC5FsA4AAACIO/1/ZCkFBvg9zKYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "concat_stream_middle = concat_stream.restrict(gaze_middle)\n", "plot_timestamps(gaze_middle, eye_states_middle, imu_middle, concat_stream_middle)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Despite different sampling from the original streams, the concatenated data still respects the original values of the data. For example, the `gaze x [px]` and `acceleration x [g]` data from the raw and concatenated stream are quite comparable." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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Op544olU9+FnVzaQlaOJ0nLq1CmjWLFixq5duxzbWrdubQwZMiTdj2G1Wo2KFSsa77zzThYdJaXm2rVrhr+/v/HDDz+keLuHh4cxdepUl21ff/21es0p571eSfFvy33kb6VZs2Yu21588UWjadOmqd6ncuXKxkcffeSybcGCBYZ8BMfExGTZsdKdvV4padWqldGnT59MPjq6nXvuucfo2rXrbffhZ5f7ccaB0mXbtm24dOmS6goiudhyWb16Nb744gv1f+diptR4eHioaeKjR4+65ZjpFsnTrVKlSqrPveTKX7x40WWbXGcOfc58vZLi35b7yNnoGjVquGyTmoXbpZal9vclhbfS5Ydy1uuVksaNG/Pvy41OnjypmkVIE4Hb4WeX+zFwoHRp37499uzZg507dzoukjcqudjyf7PZnOZjSHAhjyFv5ORekg8fGhqa6nPfrFkz1enFmRSYyXbKea9XUvzbch/p0OPczUocPnxY1Zukhn9fuev1Sol8zvHvy32kmF1qUqSm8nb4t5UNsmGWg/KIpKlKffv2Nd58803H9VGjRhlLliwxQkNDjW3bthmPPPKI4e3tbezbty+bjjj/GDp0qLFq1Srj+PHjxrp164wOHToYRYsWNS5dupTiayX7WCwWY/z48caBAweMESNGqCngPXv2ZONPkX9k9PXi31b22bx5s/pb+fDDD40jR44Yv//+u+Hr62v89ttvjn3ktZLXzO7YsWNqn9dff139fUkqhdlsNhYvXpxNP0X+cSev14QJE4zZs2er/eU9UD7nTCaTsWzZsmz6KfIXm81mlClTxhg2bFiy2/jZlf3YjpUyjUz9mkwml/7ZAwYMUEVK0jP7rrvuUj2Xk04bU+aTIlnpbR0WFqba27Vo0QIbN250tLpL+lpJYa30v37nnXfw1ltvqUJCKUxjH+yc+Xrxbyv7NGrUCLNmzcLw4cPx/vvvq9aen3/+uZp9tTt//rxLKozss2DBArzyyiuqfWSpUqXwww8/sBVrDn29pJvP0KFD1cJxvr6+as0iSZuRtSAo68lzLa+HdFNKip9d2U+T6CG7D4KIiIiIiHI21jgQEREREVGaGDgQEREREVGaGDgQEREREVGaGDgQEREREVGaGDgQEREREVGaGDgQEREREVGaGDgQEREREVGaGDgQERER5VBr1qxBt27dEBISAk3T1AJnGbVkyRI0bdoUBQsWVAtL9u7dGydOnLjjY5o5cybuueceFClSRB3Tzp0707xPmzZt1L5JL/fdd59jn5EjR6JatWooUKCAWtyyQ4cO2LRpk+N2Oeann35aLeTn4+ODihUrYsSIEWrRPmeyRNn48eNRpUoVeHl5oWTJkvjwww9djr9jx47qufD390ezZs3Uc/RfnvfnnntO7ScLDDrbvn27+l6BgYHq+Ro4cCCioqJc9knpeZk2bRoy4vvvv1fPsfw8cv/r168n2+fw4cPo0aMHihYtqvaTxUZXrlyZoe/DwIGIiIgoh4qOjkbdunXx9ddf39H9jx8/rgaL7dq1UwN8GSBfuXIFvXr1SvU+MoB/4oknbntMMugcO3Zsuo9DBuuySrf9snfvXpjNZjz44IOOfWSg/9VXX2HPnj1Yu3YtypUrpwKUy5cvq9sPHjwIXdfx3XffYd++fZgwYQImTZqkVo12NmTIELU6uwQPcp+5c+eicePGLkGBDOYXLlyIbdu2qVXBJUjYsWPHHT3vs2bNwsaNG1WQ4ezcuXMq+KlUqZIKgBYvXqyOO6Xn9qeffnJ5fnr27ImMiImJQefOnZM9F866du2KhIQErFixQv3c8vPJtgsXLqT/G8nK0URERESUs8mwbdasWS7bYmNjjaFDhxohISGGr6+v0bhxY2PlypWO26dPn25YLBbDZrM5ts2dO9fQNM2wWq0pfp8RI0YY/fv3T/N4jh8/ro5px44dGf5ZJkyYYBQsWNCIiopKdZ/w8HD1+MuWLUt1n3Hjxhnly5d3XN+/f7/6eQ8ePJih46lRo4YxatSodD/vdmfOnDFKlixp7N271yhbtqz6uey+++47o1ixYi7P/e7du9XjHTlyJF2Pbzd79myjfv36hpeXl/p5R44cacTHxyfbT157ebxr1665bL98+bLavmbNGse2iIgItW3p0qVGenHGgYiIiCiXeuGFF7BhwwaV2rJ79251Bl/OPB85ckTdftddd8FkMqkz2jabDeHh4fj111/VmXAPD49sO+4ff/wRjzzyiEpLSomkH0n6TUBAgDoznhr5eQoXLuy4Pm/ePFSoUAHz589XKU0ya/HMM8/g6tWrqT6GzGJERka6PE566LqOvn374vXXX0fNmjWT3R4XFwdPT0/1/NtJipWQGRVngwcPVilEMjPyv//9T6Vb2f3777/o16+fmknZv3+/mnH5+eefXdKv0iJpUlWrVsWUKVPUbIrMPMjjFCtWTP2OpBcDByIiIqJc6NSpUyogmD59Olq2bKly/l977TWVRiTbhQye//nnH5XCIvn+kmt/5swZ/PXXX9l23Js3b1apSjKgT0oG/H5+fvD29lapSEuXLlUD6pQcPXoUX375JZ599lnHtmPHjuHkyZPqOZFBsgywJS3ngQceSPV4JKVJ6g4eeuihDP0cY8eOhcViwUsvvZTi7ZIeJmlAn3zyiQqErl27hjfffFPdJulIdu+//756PeRnlfqT559/Xv1cdqNGjVL369+/vwqKJM3qgw8+UAP/9JK6h2XLlql0LKl1kef3s88+U+lTUk+SbumemyAiIiKibJM0pWX+/PlqW4ECBVwukqrz0EMPqX3Onz9vVK5c2Xj99deN7du3G6tXrzZat25ttG/f3tB1Xe0j6SvO9/fw8FCP4bztt99+y7RUpYEDBxq1a9dO8TZJXZI0ng0bNhhPPfWUUa5cOePixYsppghVrFjRePrpp122DxgwQB3ToUOHHNu2bdumtqWUvvT777+rFK/bpeuklEq0detWo3jx4sbZs2cd25KmKtkfX/Yzm82Gp6en8dprr6nrY8aMSfX7vfvuu0apUqUc14sWLWp4e3u7vB5yXY4rOjo6XalK8lp3797duPfee421a9eq52TQoEEqzercuXNGelnSH2IQERERUU4hZ8mlwFjOqMtXZ3LWXkhxr6T7jBs3znHbb7/9htKlS6uCXem21LBhQ5fOSF988QXOnj3rUvxcvHjxTDlmSZORtCo5y54SSV2SYmK5yLFVrlxZpTUNHz7cpehYCpqbN2+u0pmclShRQs0CSKG1XfXq1R0zNJKuYyfHIbMeMjshqVsZ8e+//+LSpUsoU6aMY5ukgg0dOlR1VrJ3rXrsscfU5eLFi+pnkzP/cqZfZg5S06RJEzWjIKlOMkskr7PMOqRU0C4zB+khBdEymyOzHtJRSXzzzTdqluOXX35xzISkhYEDERERUS5Uv359NViVAaykKqXWbcc5x17YgwzJ0bfn3ctA3U5y/SMiIly2ZRYZpMuAuE+fPunaX45R9reTgEaCBsnLl3SspD/b3XffrfL3Q0NDVeqWvQ2pKFu2rGO/P/74A0899ZQKHpxbwqZX3759kwUbnTp1UtuffPLJZPvbAy+pX5DBvqQbpUaCOEkfkqBBNGjQAIcOHfpPr4f8Hoikz5dct/8epAcDByIiIqIcSs42Sy6/c3tVGVjK4F7Oqj/++OOqcPbTTz9VgYS0Ll2+fDnq1KmjBsRykVoBOcP/6KOPqiJgqXeQQbTsfyek0FjO3suZfyGDWhEcHKwuQo5J1k/4+OOPXe4rswfSalSKdZPOREixb/fu3dWsgbSMldkSCRTsLVvl/7JWgRy71CXY27Tav7eQwbwMtCUokDP/MiiWwmMZqNtnIaZOnarqBSZOnKjO7tvbkUoAJbMzaT3vZcqUUcef9GeQYnM5DudZDWkvKzMjMgMkZ/elkHrMmDGq1sRezC2zETK7IgGF7PPRRx+pWhW79957T7VNle8rtRoy2N+1a5eqExk9erTaR34GudiPWVraSi2D3EeOWdaqkGBEfm55PPlZJ0+erH6uDAVO6U5qIiIiIiK3suesJ73Y26VKS9X33ntP1QJIbUKJEiWM+++/X7X9tPvjjz9UK0/JjQ8KClK57gcOHEj1e6bVjvWnn35K8ZjkfnZSR5H0MaTGQPb7559/kj3mjRs31HFLW1mpBZCfQ45z8+bNaX7fpMNZqTvo1auX4efnp+oJnnjiCSMsLMzl2G73nKbneU9JSjUOffv2NQoXLqx+pjp16hhTpkxxuX3RokVGvXr11LHK61O3bl1j0qRJLi1cxeLFi43mzZsbPj4+hr+/v2q7+/333ztul+c+peOV58xuy5Ytxj333KOOR1rhNm3a1Fi4cKGREZr8k/4wg4iIiIiI8iO2YyUiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojQxcCAiIiIiojRZ0t6FhK7rOHfuHAoWLAhN07L7cIiIiIiIMoVhGIiMjERISAhMptTnFRg4pJMEDaVLl87uwyAiIiIiyhKnT59GqVKlUr2dgUM6yUyD/Qn19/fP7sMhIiIiojzAphvYduIaLkfFIsjPG3eVKwSzyb3ZLREREeoEuX28mxoGDulkT0+SoIGBAxERERH9V4v3nseoeftxPjzWsa1EgDdGdKuBzrVKwN3SSsdncTQRERERUTYEDYN+2+4SNIgL4bFqu9ye0zBwICIiIiJyc3rSqHn7YaRwm32b3C775SQMHIiIiIiI3Gjz8avJZhqcSbggt8t+OQlrHDKRzWZDfHx8dh8G5VIeHh4wm83ZfRhERESUxS5Fxmbqfrk+cJDq7IzKSNHx119/jU8++QQXLlxA3bp18eWXX6Jx48Yp7rtv3z6899572LZtG06ePIkJEybg5ZdfRmb2vpXjuH79eqY9JuVPgYGBCA4O5lohREREedTVaCsW7E5f/UKxgt7IF4GDDIAyMviRfQ8fPowKFSqkue+ff/6JV199FZMmTUKTJk3w+eefo1OnTjh06BCKFSuWbP+YmBj1uA8++CBeeeUVZDZ70CDf29fXl4M+uqPgU35PL126pK6XKOH+TgpERESUdawJOqZsOIGJy48gMjbhtvvKSDI4wBuNyxdGvklV+vvvv1G4cOF0DZq6dOmS7sf97LPPMGDAADz55JPqugQQCxYswP/+9z+8+eabyfZv1KiRuoiUbv+v6Un2oKFIkSKZ+tiUv/j4+KivEjzI7xPTloiIiHI/wzCwZN9FfLzoAE6GxahtNUr4456axTFx2ZHEfZz2t59+lpas7l7PIdsCh7Jly6JVq1bpHkzLjIDkeKfFarWqlKPhw4c7tsnS2B06dMCGDRuQWeLi4tQlrdQre02DzDQQ/Vf23yP5vWLgQERElLvtPRuOD+bvx6abRc5BBb3w+j1V0fuuUiooqBZcMNk6DsHZuI5DtgUOx48fz9D+e/fuTdd+V65cUWf5ixcv7rJdrh88eBCZ5eOPP8aoUaPSvT/Tkygz8PeIiIgo97sYEYtPlhzCjO1nYBiAl8WEga0q4LnWFVHA69bwW4KDjjWCVfckKYSWmgZJT8ppMw127KqUCpnRkDqKpEtxExEREREpoSuBRcOAe8cCFdvihtWG79ccw6TVobgRb1O79KwXgtc7V0PJwMSU5KQkSGhWMXeku7slcPjiiy9SPbvq7e2NSpUqqbSm9KRmFC1aVO138eJFl+1yXbrRZBYvLy91cSdZ5MOdEecTTzyBX375Rf3fYrGgVKlSqoD8/fffV6+Lu5QrV051ubJ3upLr0v3qjz/+wCOPPOKyb82aNbF//3789NNP6vjtv0ezZs1Cz549k/18Un8ye/Zst/0sRERElE8YBrB8FHDlEIzlozA7vBLGLTnsSDu6q2whvHNfddQvUwh5hVsCB2l/evnyZdU1plChxCfv2rVrKp/bz89PFYNKjcPKlSvTPKvv6emJu+66C8uXL3cMFHVdV9dfeOEF5FayrHjSHLcSbshx69y5sxqES0691I70799fDcTHjh2L7CS/B3JczoHDxo0bVQerAgUKZOuxERERESF0OXBuh/qvdm4HZv39K87rddXMwvAu1XBf7RJ5LgXZLStHf/TRR6qr0ZEjRxAWFqYu0npVWqlOnDgRp06dUrMF6W2VKilEkydPVmfLDxw4gEGDBiE6OtrRZalfv34uxdNSUL1z5051kf+fPXtW/f/o0aPIKUHDoN+2J1tB8EJ4rNout2cVmVWR514G6hKISZH50qVLHbfLa/Xoo4+iZMmSKtCrXbu2mgmwmz9/vmq9K3UnQp5X+SNx7l71zDPPoE+fPhk6rscffxyrV6/G6dOnHduka5Zsl9kRIiIiIndkg2wIDcOcnWfVV5tNB66dAHZMhe3vAY5uSLqh4XWPv/FGpypYPrQ1utYJyXNBg3DLCOydd97BjBkzULFiRcc2SU8aP348evfujWPHjmHcuHHq/+nx8MMPqxkMWdRNzkDXq1cPixcvdhRMSyAinZbszp07h/r16zuuy/eVS+vWrbFq1SpkRdste15ben4hR8zd59KGy/E4N1tyjZy7H3dXKpqutCUfD/Md/6JKgfr69etVRyy72NhYNcMzbNgwtUCftL3t27evei1lwb2WLVsiMjISO3bsQMOGDdVgX9LJnJ9X2Sb3zwh5LWVtDgkO5fdHZqtk/Q55rClTptzRz0dERER5gzvSu+XE7ftz96JA5DE0MR1AI9MhXDEfQnGEqdudE+xNmoHaCEXt0icBj8rIq9wSOJw/fx4JCckXupBtMvAXISEhagCaXpKWlFpqUtJgQHLmZTDvLhI01HhvSaY8lhz1hYhY1B75T7r23/9+J/h6pv9llRkDSReT10Laz0rA9dVXXzlul5mG1157zXH9xRdfxJIlS/DXX3+pwCEgIEAFbvKcS+AgX2XmSDpSRUVFITw8XM3sSJCWUU899RSGDh2Kt99+W60JIsGKfC8iIiLKv/5zeneSgmYXtnjg/G4c3LwY5h3LscB0CIW8olx2iTdMsMIDPoiDS6yimYEVo4GK7aUAE3mRW1KV2rZti2effVadlbaT/0uKUbt27dT1PXv2oHz58u44HEry2kh60aZNm1R9g6R7Oc/8SArSBx98oFKUZDE/CTIkcJBZHTv7zI0EZ//++y969eqF6tWrY+3atWqGQILCypUzHn3fd999KvhYs2aNSlOSQIKIiIjyr/+c3u1U0Ky+xkUDx9cAq8YCU3oAY8oCP7RDtd3j0NG8DYW0KMQYXlhrq4kJ8b3xqPVtDIp/GQW0JEGDemxbYs2D1D7kUW6Zcfjxxx9VeoukvNgXeZMz3O3bt1e3CRmQfvrpp8gLJF1Izvynh0yzPfHTljT3+/nJRuladly+d0ZIobGkjQkZnNetW1e9Jk8//bTa9sknn6g6lM8//1wFD7K/dD+SWhG7Nm3aqPvu2rVLvb7VqlVT2ySYkCL4O5ltEFLLIL83I0aMUIGNdE5KScGCBdXMRlLSUUlmRIiIiCgXuzlDYOs8FqPm6WmmdzcsWxi6YcBq02FN0BFvM1QTGD0mDH7HFqLCzYJmGeTrH5eGCa7p5THmglhnrYLNelVs0athr1EOCY4hs4E5nu+qmgZJT0rOlKdnHdwSOEjxrRTcHjp0SF1E1apV1cX5zHdeITUG6U0Xalk5SE2vSaSc0q+fdnMFQdkvqxcDkTSlt956SxWfP/bYY/Dx8cG6devQo0cPR3GzdLCSwvYaNWrc+hlu1jlI9yx7kCCBw5gxY1TgIOlGd0pmGaQeRepa7B25kpLfI3tHKOeZEglkpDCbiIiIcimnGYIbi97F+XBpvmIfDxnwRwyCtOsI0sIRhOsIig7HX2N/Tvy/bLt5W2FEwKLpyR5egobzRiEVIGy+eTlilISRSlKOJxIQooWlEjQIHYg4C9isgMW9bf3dwa3taZIGC5S46Ifk5Mn0mvwZOP8a2v8s5HZ3rSAo6zi8/vrr+Prrr1Vtg6QYSX2BFE3LwP2zzz5Ta2Y4Bw6yvU6dOvj9998d9RGyLsdDDz2kIvw7nXEQkvIkq4VLR6fUSKAjMyQy09GxY0fVYevLL79UQQsDByIiotxJt+m4tHoSgm/OEPiF7cFMjxFq0F70ZqDgpSWvoc2o34Jex6GCTeBp0VDDbEKJGCtWH76S4r5WeKB73GgU1iLw8f21UadUCpkNBYLyZNCQpYGDDOYkNz69PfelfaoMWCWPPr+RQp5v+zRIVugT7IZ1HFJKD5Kic+lyJTUo0tFIul5JhyMZvA8cOFC1bU2aGiTBgdRKyEyDkNdRggsJMv5rsFikyO1XU5R2sVJfIUGNtIGV45S0OKmNsHfaIiIiopzd7UhanR47sB2X9yyD55n1qBC9HcFwbZzTwJy8lX6E4YvLRgCuIACXjUA0qFEVIaXKAgWKAX7FAb9iif+f9hhwYXdiLYKdZsbrntOBfs87UovkZ2gxdkWq2SAXUATwL4maDVtJOyXkJ5qRRe2GZHVn6ZgUFBSUrv2l1acMPGUhuJwoIiJC5cvLgFmO1bld6fHjx1Vh939dbdndK0dTzpOZv09EREQ5udtRQoINRw7uwpU9S+F1ej0qxOxAUSSvWUzq8/j7sVqvh8sIVAFDHDxd0rvXDmuXfPx0dBnw223a/veZAVTq4PKzSDYIUskG+bZPA7ee2M2uca7bZhwkHqlSpUq61xSQ9JL8Tn7Jm1W8/dl1IiIiopzGPtCWQfbdpj0YaZmCkQn9sD68ttouA+12VYvh8MFdakbB68wGVIzegeraNZfHiTM8EOpdE1HBTVH7+lJ4R5yA5jRDoGsmtDXvwkTbAzAcw/g00rvlHLkULKu6BT1dBc05KRskJ8mywOGnn37K8H2YVkJERESUu0jGhAywE8/MG3jD8icqm86qr4Pji6GZ6QDi/voGYdp+1NKu3rqjJjUDFhyXQKFEMxSq0Q5l6rREDS/fmzMEk5J9L5Oho67pGHoUPIjZkdXTN6CXQuXws6kEDakXNMtjdawRzGwQdwQOzh1uiIiIiChvkoG1/ax8G9NONbAX8nWt1ysu+8bDghPe1RFdohkCa7ZHmdqtUFUChQzOEEwImo+HH34Cl6Li0h7QSzAwcCUQnXLB8+0KmpkNko1dlYiIiIgob5Gz8aKqdhLfeEx0uU03gO1GZWzQa6L8XZ1w3309UNkzjcY56Zgh0CLOolm5goClaPoOMqBU4oX+EwYORERERHTHCnnpeMUyHYPNc5KtlSCTAF/E98IavS7+qNMUWlpBw3+cIaCsxcCBiIiIiO7I3k1LUWbxy2hlOeOYYXDOGEowTBhqmY4j3o1VOlG6cYYgR2LgQEREREQZEh5+HXt/fQ3NLv+tFmSLgK9axTlpmYHMQNTVjuHLxlfzdVFxXpHyetqZ7PLly6netmfPHnccAhERERFlgi3LZyJ6QiPcfWW6Chq2B3aGb/GKLu1Rncn2hse+SSx6plzNLYFD7dq1sWDBgmTbx48fj8aNG7vjEIiIiIjoP7h86QLWffoIGv37JEJwCRe0YjjU4Wc0eGEKLFEXoaW4zrJ0XTVutTulXM0tqUqvvvoqevfujSeffBKfffYZrl69in79+qnZhqlTp7rjEIhyhBMnTqhVoXfs2IF69epl9+EQERGla1HfdfN+QtXto3A3rkM3NOws8SBq9B2P4AIBiTuxmDlfcMuMwxtvvIENGzbg33//RZ06ddTFy8sLu3fvxv333++OQ6DbuHDhAl588UVUqFBBvS6lS5dGt27dsHz5cuQUI0eOzLaBtgz2ZQX0nTt3Zsv3JyIiyi6nTh7H5rFd0WL7KwjCdZw2l8LJHjPQ4LnJ8LYHDUIKmUPqpX4JKJmdPwbltuLoSpUqoVatWpgxY4a6/vDDDyM4ONhd3z73CF0JLBoG3DsWqNjWLYPiu+++G4GBgfjkk09UWll8fDyWLFmCwYMH4+DBg1l+DERERJS9Kz8nXR1Z13X8+/eXaHBgHMpo0Yg3zNhb/knUeWw0zJ4+2X3IlJdnHNatW6dmGY4cOaJmGb799lt1hluCh2vXrrnjEHIHKRpaPgq4cijxqxuKiJ5//nl1Nn3z5s0qnaxKlSqoWbOmSi/buHGj2ufUqVPo0aMH/Pz84O/vj4ceeggXL15MNhvw66+/oly5cggICMAjjzyCyMhIxz7yBjRu3DgVQMqsRpkyZfDhhx86bh82bJj63r6+vmrm491331UBjPj5558xatQo7Nq1Sx2rXGSbuH79Op555hkEBQWpY2vXrp3aLyPHtnjxYrRo0UIFT0WKFEHXrl0RGhrquF1Si0T9+vXV927Tpo3jth9++AHVq1eHt7c3qlWrhm+++cbl+ZXnVe4ntzds2FClKBEREeUUi/eeR4uxK/Do5I0YMm2n+trjw6nY/lE7tDs4AoFaNI57VELYY4tR/4lPGTTkc24JHGQwJ0GCDERlkCUDPRlAyYBUznDnOTLgt0Zn/HJoIXDu5sBSvsr1jD5GBoINqTWRQbPMLBQokHxBFhlIy4BfggbZd/Xq1Vi6dCmOHTumXk9nMtCePXs25s+fry6y75gxYxy3Dx8+XF2XgGD//v2qtqV48eKO2wsWLKiCAblt4sSJmDx5MiZMmKBuk+81dOhQFdCcP39eXezf/8EHH8SlS5ewaNEibNu2DQ0aNED79u3V8ab32KKjo1WgtHXrVpWeZTKZVAqd/Oz2wb9YtmyZ+t4zZ85U13///Xe89957KgA6cOAAPvroI/Xz/fLLL+r2qKgoFYTUqFFDHZsEMa+99lq6Xx8iIqKsDhoG/bYdFSK3YKnn62hp2o3+5iX4M+EVNNF3ItbwwJ7qr6LcmxsRXJXNbMhNqUr//PMPWrdu7bKtYsWKaibC+axznhEfA3wU8t8fZ9pjGb/PW+eA9KzKCODo0aOq4EnOlKdGBtJSxH78+HFV+yCmTJmiBvFbtmxBo0aN1DYZZMvAXwIA0bdvX3VfeX3l7L4EA1999RX69+/veP3lLL/dO++84/i/zAzIAHvatGmqPsbHx0fNdlgsFpf0trVr16pBvQQOMoth79QlQcLff/+NgQMHpnlsQmZanP3vf/9TMxgSxEh6nfxfyGyE8/cfMWIEPv30U/Tq1csxMyH3+e6779TPKcGRfO8ff/xRzTjIc3bmzBkMGjQoXa8PERFRVqYnjZq3HwYMvGH5E5VNZzHJYwIKaHHq9k16NXziNRh/PtgXGtdfIHcGDkmDBjs5sytnaCl7SNCQFjmTLgGDPWgQcgZdZiPkNnvgIIN9+8BclChRQg3o7Y8RFxenZgJS8+eff+KLL75QswNypj4hIUGlHt2OpCTJvjKgd3bjxg2XVKPbHZuQFDqZOdi0aROuXLnimGmQGTEJHFIisxTyPZ5++mkMGDDAsV2OW9Kh7D+3pOhJ0GDXrFmz2/5MRERE7iA1DefDY9HGtBN1TcfUNgkaYgxPfJjQB1Nt7WBYTWq/ZhVdP2cp/+LK0VnBwzfxzH96yQD+5y7Ahb2AYbu1XTMDwbWAJxYCmpb+751OlStXVjn7mVEA7eHh4XJdHtc+AJcZg9uRjluPP/64qmPo1KmTGnjLbIOczb8dCRokCFi1alWy2ySwSc+xCekgVbZsWZUeFRISom6TgMFqtd72ewu5T5MmTVxuM5vNtz1uIiKi7CaF0MURhq88vnRs0w3ghBGM321yok9z7Edkx8AhK8ggP53pQsrRZcD5WwW9DhJEyPbTG4FKHZDZChcurAbqX3/9NV566aVkdQ5SeCw1KadPn1YX+6yDpOPIbTLzkN4ARYIHSQ+S+pak1q9frwbub7/9tmPbyZMnXfbx9PSEzeYUVAGqnkFayUoKk8wq3ImwsDAcOnRIBQAtW7Z0pEAl/d7C+ftLfYYEGVLvIUFPSuS5k6Ls2NhYx6yDveCciIgoO/meWoWlXm/AT7sVGEhGUg3tFFqZdmONXldtky5LRG4tjqY0ZhtWjL7NS2FKvD2LOixJ0CADYlnBW1rlStqOpNhI2pCk1XTo0EEVsMvgePv27aqmQBbvk/Qz6RKUHjJolq5JUq8g9RGS4iMDaMn9twcWkhYkswxym3zvWbNmuTyGBAZSZyFrKUg6kaQ+ybHJMfbs2VPV0UhrWQlCJACRQuf0KFSokEp1+v7771XNx4oVK1ShtLNixYqpwEcKyaWbVHh4uNouMyQff/yxOt7Dhw+rWpCffvpJLXIoHnvsMTW7IalMEmwtXLhQ1WAQERFlFyPBij0/v4yO25+Hv3Yj2fAiwTBhqGW6Wu25REBia1YiOwYO2U2WXw8/KxOEqeygZ+ky7dL6VAKCtm3bqs5FkqLTsWNHNTsgbXNl4Dtnzhw1wG7VqpUarMt9pCYhI6SWRR5fagnkTLx0RbLXGXTv3h2vvPIKXnjhBdU6VQb/SWtfpIC5c+fO6jilWPmPP/5QxyaDcTkuWZVc2rlKq1WZrXDu2HQ7UmcjAYt0PZKfXY5D1rNwJjMaEhxI0bPMMkiXKSGzJ9KOVYIFCa4kmJIibHv7VinonjdvngoopCWrBDRjx47N0PNGRESUWWIun8Tx8W1R+8RPjm1JM6Etmq5qHmTWYUS3GjCzMJqcaEZ6KmQzgeSNyxldGSw655cLGfjldBERESr3Xs42OxftShqKnAmXwaJzEWyGhJ9Je5l2rriYL2TK7xMREVES5zbPhN+il+BvRCLS8IbhWxQFb5xVMwtJ6dAQUagmAl9am/4aS8rVUhvnZkuNg6SlSNqGnAlOGqfIWeOkuev5jizTLhciIiKizJRgRei011HxaOLCqfu1irD1nITaS6U+L+VzxyYYCIy/lJjtYElsd07ktsDhueeeU/nwCxYsUF1wJFggIiIioqwTf+U4Lv3vMVSM2a+uLyxwPxoN+BJBgQWB8ivTznZg0EDZEThIwa0syFWpUiV3fDsiIiKifO3a1hnwXPAiShrRCDd8sazKSPR4ZAAs5pvlrcx2oJwaOEife6lvYOBARERElIUS4nB++lCUOPSrurrLqIzr932H3o3vyu4jozzALYHDiy++qDrqSM996T6TdEEuWV2XiIiIiO6cERaKKz89hhJRiQu7/uXVG42f+gx1i99aFJUoxwcO0kpTPPXUU45tUucghdJ5pTjaTc2pKI/j7xEREaWHTTew+fhVtbKzLNJW+/pymOcPQZARg6uGH2aUeRd9+g6Aj6c5uw+V8hC3BA7SXjKvss+exMTEqEXCiP4L+T0SSWfliIiI7LYsn4Gia9/DV3F9sVWvivcsv6KZZbm6Ta6fbvcVnmndiM1oKHcGDmXLlkVeZTabERgY6FjMzNfXl3+odEczDRI0yO+R/D7J7xUREVFSi/ecQ4nVo1HedAbvWn5TDVWrm05DNzR8besBz/Zv4dk2VbP7MCmPckvgIEJDQ/H555/jwIED6nqNGjUwZMgQVKxYEbldcHCw+moPHojulAQN9t8nIiKipOlJi+dOxeemY+p6NdNp9fWK4Y+X4wdjnV4bwRvP4JnWVbjiM+XewGHJkiXo3r076tWrh7vvvlttW7duHWrWrIl58+ahY8eOyM1khkHWpyhWrBji4+Oz+3Aol5L0JM40EBFRajYfC8NzcT9D1wB7XCCrQN8b9xEuo7C6fj48VtU+NKtYJHsPlvIktwQOb775Jl555RWMGTMm2fZhw4bl+sDBTgZ9HPgRERFRZjJ0Gw6tnYWiqz9G5ZuzDHYFtViVqnRZTwwchBRME2WFm6uAZC1JT3r66aeTbZcuS/v3J65mSERERES3xEdfw54ZY3B+dC1UW/E0KtuOImnzvQTDhKGW6RJeOLZJlyWiXDvjEBQUhJ07d6Jy5cou22WbpPcQERERUaLI0/txYtEEVDg3F7WROHsQbXihgBaHpP1XLJqOutoxtDLtxr96XQQHeKNx+VuzD0S5LnAYMGAABg4ciGPHjqF58+aOGoexY8fi1VdfdcchEBEREeWYdRdkcO9SwKzruLh9HiJXf4VKkZtR++bmYyiFkxUfR8uoRcDFvbJjsseWjkoy6/CvtQ5GdKvBwmjKMprhhhWn5FtIR6VPP/0U586dU9tCQkLw+uuv46WXXsoV7UsjIiIQEBCA8PBw+Pv7Z/fhEBERUS6xeO95jJq3XxUu25UI8FaD/E4VfXBq+WT47PwfiiWccwQCmzwaI77hQDRp3xNemg2YUAuITr17YxgCsfX+NehUN++2wKfsH+e6JXBwFhkZqb4WLFgQuQkDByIiIrqToOG3qb9ghGUKRib0Uy1TRSXtLPqZ/8EDln/hezMdKcLwxfqA+xDU9nk0qFff9cRq+Bkg+orjqs0wsO9sBK7GWFHY1xM1q1SEObCU+39AyhPSO8512zoOdrktYCAiIiK60/SkUXP3YZLlT1Q2ncUblmmYmGDFE+Z/0Mq8x7HfEaMk9pV+FLXvfRadS6ZS+xlQKvFyk/RwrFPSHT8FkRsChwYNGmD58uUoVKgQ6tdPEjUnsX379qw6DCIiIqJsITUNlaM2o65n4oJtdU3H8T/PTx3pSMv0BvjJ1hlPPtYXPWuVyOajJcrGwKFHjx7w8vJy/D831DEQERERZQYpgl65cRvGe0xSLVTtw6AEQ8OPtnvxq+0enDESZxceSUhe8EyUrwKHESNGOP4/cuTIrPo2RERERNnTCSmJY5ej8M/+izi4awNaXf4Db5jWq3apziyaoeoc7EGD4LoLlFu4pcahQoUK2LJlC4oUcV3+/Pr16yqlSdq0EhEREeWGTkidb6YV6bqB3WfD8c++C+oSFLYZz5rn4znzrsQiBNVZ8tZsg/OCbWusdaBB47oLlKu4JXA4ceIEbDZbsu1xcXE4c+aMOw6BiIiIKN1Bw6DftjutxZzoQnis2v5Cu0q4FmPF0v0XcSUiBp1NW/CpZb6jlkGHCQklG8Pz7MZUF2xrbdqNNXpdrrtAuUqWBg5z5851/H/JkiWqzZOdBBJSPF2+fPmsPAQiIiKijHVCmrc/WdAg7Nu+XHEU3ojDA+Y1eNZrIUprFxNvt3hDq98HpqbPw3PG0wBMqS7YNsxrBh7t9YRj9oII+T1w6Nmzp/oqhdH9+/d3uc3DwwPlypVTi8IRERER5QRS0+CcnpRUIUSgn3kpnvFahoJ6eOJGn8JA44HQGg8AChQFEuKA8LMpBg3CpBmo7huBGtVdU7iJ8nXgoOuJfzAyqyA1DkWLFs3Kb0dERET0n0gh9N2mPRiZZME2mVV4xrwQD5lXw0ezJsYEgWWBZi8A9R8HPAvcehCLFzBwpcuCbUlpBYIS9yPKRdxS43D8+HF3fBsiIiKi/6SYnxfecCzY9ifeiffFs5YFuNe0CWYtMVlpt14e3q1fQZU2jwNmS7oWbCPKC9y2cnR0dDRWr16NU6dOwWq1utz20ksvZfjxvv76a3zyySe4cOEC6tatiy+//BKNGzdOdf/p06fj3XffVYXalStXxtixY9GlS5c7+lmIiIgob2qs74TZZF+w7Rjmeb3ruG21rQ6+s3XDcb8GWNu2veQcZeOREuXRwGHHjh1qkB4TE6MCiMKFC+PKlSvw9fVFsWLFMhw4/Pnnn3j11VcxadIkNGnSBJ9//jk6deqEQ4cOqcdLav369Xj00Ufx8ccfo2vXrpg6daqqv5AVq2vVqpWJPykRERHlWoYBbflIVQRtDwl0A5it343JCV1x0Cirtn3bvSY7IVG+pBmGdBjOWm3atEGVKlXUQF86K+3atUsVR/fp0wdDhgxBr169MvR4Eiw0atQIX331laOWonTp0njxxRfx5ptvJtv/4YcfVgHL/PnzHduaNm2KevXqqWNKj4iICHXs4eHh8Pf3z9DxEhERUc5n7Pwd2uznk23vZx2mWqcmXceBKK9I7zhX+oRluZ07d2Lo0KEwmUwwm81q/QYZ6I8bNw5vvfVWhh5L0py2bduGDh06OLbJ48r1DRs2pHgf2e68v5AZitT2JyIionzm/G7oc15MttnQTJhYbAH+eKYJ1g5rx6CB8jW3BA4yuyCDeyGpRFLnICSyOX36dIYeS1KcZA2I4sWLu2yX61LvkBLZnpH9hQQ3En05X4iIiCgPOr4Gth/ugdlIvlitZugodH0vmkFqH5ieRPmbWwKH+vXrq3asonXr1njvvffw+++/4+WXX86xNQZSDyGBjf0iMyRERESUx+ybBePXXjDbbkiJQypMwIrRqgaCKD9zS+Dw0UcfoUSJxKm9Dz/8EIUKFcKgQYNw+fJlfP/99xl6LFkLQtKdLl5MXKXRTq4HBweneB/ZnpH9xfDhw1Wel/2S0ZkRIiIiyuE2fQdj+pPQ9HjEGRZoqU4o6EDEWcDm2hWSKL/J8q5KUnst6Un2mQX5/+LFi+/48Tw9PXHXXXdh+fLljpWppTharr/wwgsp3qdZs2bqdpnhsFu6dKnanhovLy91ISIiojxGZg6Wvw+s/Ux1T5qS0BF/WHrgp0cqI9jfO+X7cME2IvcEDpUqVcK+ffvU+gmZQVqx9u/fHw0bNlRrN0g7Vuma9OSTT6rb+/Xrh5IlS6p0IyGdmyRF6tNPP8V9992HadOmYevWrRme7SAiIqJczhYPzH0J2DVVXf0k/iF8q/fAr080RXClotl9dET5O3CQomgJGMLCwjItcJD2qpLmJLUSUuAsbVVlFsNeAC3F1/ZibNG8eXO1dsM777yjujjJccyePTvH1lcQERFRFrBGA3/1B44uhaGZMTz+aUyztcE791XH3QwaiHLGOg7z5s1TrVe//fbbXDtY5zoOREREuZct8jJifu6NgmG7kGD2xqv6y5h7ow561gvBhIfrQUu9wIEoz4tI5zjXLYGDFEPLqtEJCQmqRsHHx8fl9qtXryKnY+BARESUO63etAXlF/dFGeM8rhl+eNr6GrYbVVC6kA/+eaU1fDzN2X2IRLlinJvlqUpCahCIiIiI3G3d2hWovvRJFNOu44xRFP2twxBqlFS3nb52A6sPX+KibkTp5JYZh7yAMw5ERES5iy10FWJ/fQQFcAMH9NLob30Tl1DIcbskJwUHeKsVobm4G+VnEekc57plHQcRGhqqipMfffRRXLp0SW1btGiR6rZERERElKn2zoT2+4MqaNioV8fD1vdcggYhZ07Ph8di8/GcnzJNlBO4JXBYvXo1ateujU2bNmHmzJmIiopS23ft2oURI0a44xByNZtuYENoGObsPKu+ynUiIiJKxcZJwN9PwaRbscDWWKUnRaBAqrtfiox16+ER5VZuCRzefPNNjB49Wi26JsXRdu3atcPGjRvdcQi51uK95/HKxxNQ9JeW+OuvX/Ho5I1oMXaF2k5ERESS1rAS+Kpx4telI4DFw9R8wp9aJ7wY/xLicGvskZJiBVNZ9I2I3B847NmzB/fff3+y7bKK9JUrV9xxCLmSBAeDftuGp+N+RWXTWbxh+VO9EV4Ij8Wg37YzeCAionwn2Sy8TQeWjwKuHILx91PAusSGLOPiH8KwG/0ALfWhjlQ1lAjwRuPyhd34ExDlXm7pqhQYGIjz58+jfPnyLtt37NihVnimlN8YR83bj5am3ahrOqa2yddWpt1Yo9dVb3Zye8cawbct6JLHkdxNmYaVMyry5sgCMCIiyo3khJl89kldgl3PggfwefwO9X/txlXYDA1vJgzAKt9OGNGmIooU8MSQaTvV7c6JvvZPwhHdavBzkSgnBQ6PPPIIhg0bhunTp6sFVnRdx7p16/Daa6+hX79+7jiEXEcG++fDb2CS53RI3ytZl0a+jrBMQXvreBjQ1BvnrO1n0PuuUikuXJPSG6ycWZE3SbaeIyKi3DcLv91l8C+hwMC4X2Botz4nz2jBqNrpObzftJxjfQZPiynZ56F0U+LnIVEObMdqtVoxePBg/Pzzz7DZbLBYLOrrY489praZzTl/4RV3t2OVKdgZf/2CKZ5jk922x1YOwxOewV6jgrpeyNcDjcoVVrMJcqlRwh/LDlxM4Q321hmWb/s04JslERHlCjJ7LvV9zgN/8YRpEUZ6/pr8Dn1mAJU6JHsMzsAT5YKVo+1OnTqFvXv3qq5K9evXR+XKlZFbuDtw2HD0CnyndERN7QQsmu7Ybp99EPNtTTFRfwhHbMEu9/X1MCHBAKwJt+7njH2riYgoN5FaBmkO4qyn6V985vEtkn2MaWagRB1gwMpbH5hElHtWjrYrU6aMulDaGus7Yb5Z2+DM/h4oHVm7mjfiPssWXKn8EBYX7Y+V5yzYcuIqImMTbvvYzn2rm1UsklU/AhERUaZwbpdqgo43LNPwnGV+yjsbNuDcDiB0ebJZByL6b7IscHj11VfTve9nn32WVYeROxkGzKtGqzoGLVmykQQNGo4YJVEouAKKXVyDoMN/oO+xWejb5FnYHnwZ322+inFLDqX5bdi3moiIcgN7u1Q/xGCix9dob96RbBbelQlYMRqo2J6zDkS5IXCQjknpkVJRb75nswLhZ1MMGoRJM1DOOxZeA/4Gzm4Dlo0CTm8E1k2EeevPuK/6AHyJGriB2/elZt9qIiLKDYr7e6G8dgHfe3yq2pPHGhZY4QF/7UYq99CBiLOJn6cWLzcfLVHe5dYah9zM3TUOCD8DRCeucWEzDOw7G4GrMVYU9vVEzZL+MPsVAwJutrKVl/DIP4kBxKV9atMVBGJCfC/8aWuDhCTxIWsciIgotzhxJRrjv5uM0dZxCNSiccEohAHWobhiBKCwFuFo+vFWl2poXrHorTsWCLr1OUlEua84+ujRowgNDUWrVq3g4+MD+da5ZcbB7YHDndBtwJ6/gZWjgeun1KYTenF8mvAg5utNYdxc7+9u0x58V+Qv+PX8FKjYNpsPmoiIKGXHL0fh70kj8UrCj6pRSFhgbfSPGYK9Eb6OfdhmnCiPBQ5hYWF46KGHsHLlShUoHDlyBBUqVMBTTz2FQoUK4dNPP0VOlysCB7sEK7DtZ8StGAOvuDC1aZ9eFuMSHsFqvTaW+o1C5YQjQEh9dp0gIqIcKfTCVez6/ln00v9R12OrPwDvXl/DZvZiW1WibBrnpr4OeyZ65ZVX4OHhodqx+vreOkvw8MMPY/Hixe44hPzF4gk0GQivV3dDb/M2Ejz8UNN0Er94jsUiz+GJQYOwd50gIiLKQY6dPIXr33VVQYMODdGt3oX3Qz8AHt4qSJCOgD3qlVRfGTQQuY9bAod//vkHY8eORalSpVy2yzoOJ0+edMch5E9efjC1eQOWl3cDzV4ATJ6objrtuNnQbnadYJkLERHlEKcObIHXT+1xl7EP0fBB1P2/okC71zg7TpRfAofo6GiXmQa7q1evwsuL3Q6yXIEiQKcPgR5fumzWDD1x1mHXH9l2aERERHbnNv6NIn92RUlcwjlTMOKfWAL/ut2y+7CIyJ2BQ8uWLTFlyhTHdalz0HUd48aNQ9u2LM51C5lV2DQpcUXNpGY/DywcBkRdzo4jIyKifMimG2pF6Dk7z2LD0Su4tOBDBC9+BgUQi52WOvB5fjUCy9XN7sMkInevHC0BQvv27bF161ZYrVa88cYb2Ldvn5pxWLdunTsOgaSWQWYXUmQAmycBO38Dmg1OTGvyzuEF4ERElGttWT4DRde+h6/i+mKrXhXjPL5HM/N6dds8r/vQYvBkFPIvkN2HSUTZ1Y5VqrS/+uor7Nq1C1FRUWjQoAEGDx6MEiVyR/u0XNVVKSl5iSe3Bc7tSlwUJ+nNskK1hzcQf3MhHZ/CQMuhQKNnVCHanZxFYscLIqKcKzvfpxfvOYcS0+9DXdMx7NfLIB5m1DUdR7xhxsiE/mjQ61X0vqu0W46FiHJgO9a8IFcHDglxwIRaQPSlVHfRfYvBdO/HwKoxQNjNrkv+pYA2bwJ1HwXM6ZucWrz3PEbN24/z4bEZ7rHNgIOIKOv9l/fp/0re54d+/Ck+j//AZftVww/Px7+MTXoNLlBKlN8Dh59++gl+fn548MEHXbZPnz4dMTEx6N+/P3K6XB04JFmJ2i5eNzBk2g6cDItBi7rVMPyRDoAtAdg1NTGAiDibuGPRKkC7d4Hq3W7b1UI+jAb9tl0Sn1zY7/Ftnwapfig5f5DJAnUjLVPwpdcz6NLjUS7qQ0SUSe74fTp0JbBoGHDv2GQLh6brpI8sUHr9FA7s2Q7/5a+jhBYG+y43DA/cYx2L00awY/c/BjRVrVaJKB8GDlWqVMF3332XrBB69erVGDhwIA4dOoScLtcHDqmQN/uHvtug/j9jUDPcVbZw4g3xscCWH4B/xwM3riVuC2kAdBgJVGid7HHkg6PF2BUuZ7CcyedDameRXD/IDMzxfFdNYe/SK6Cn9QN82+cuBg+U7TgjRrlKCgP9O36fdqS77ki2cKjr7IWBIFxHo4JX8XxtA7W8LwNhoTDkcvU4TLo11cPtZx2GNfqtQuiJj9RT6zQQUc4a57qlOFoWfitfvnyy7WXLllW3UfaRwc9DDUvhr61n8PasvZj3Ygt4mE2JtQ3NXwAa9AXWfwVs+Bo4tx2Y0h2o0AZoPwIo2SDxQUJXIm7ua6gQ+SDOo3aK30eCAvlgGT5jN6qW8Ievp1ldvMwmvDV7r+PsVyvTbhU0CPkq10fN80HHGsEcpFG+TO0gynDgKgP95aOAK4cSv1ZoA5sB/L3tdKpBg/P79JhFB9C8UlGEBPioQML/zGpo9uYa8nX/HCCgFHbv2orDGzbiLe08ynteQDntAvy0WCAewPZbj6vdvMQZFrWYmxfiHbMNIsEwYahlOtZY6zjmPuRnJKKcxy0zDmXKlFGF0d27d3fZPmfOHFUgfebMGeR0eXXGQVyNtqL9p6twLSYeb3WphoGtKibfKeoSsGY8sPV/gC6fCgBq9ADavA3MflZ9mMgMQQ+r5K2mPsD3ghVFEY7CWiSKaOEogsSvcr2oFo57TFtREDfUySzd0LDfKIOu1o/wx4BmnLambPFfUvCIsiVwPboM+K234+rf/v3wb3gx6PGx8EACPLWExK83L4nb4lPZFo+Wpn0oqMWo33n5O7jdKRyboeG0UQzHjWCcMIJxzCiB40YJnDOHoGfJSLx04a3bzjr8q9dljQNRfk9VGjZsGP78809V69CqVStHmtJTTz2FBx54AOPHj0dOl5cDB/HX1tN44+/d8PEwY9nQ1igZ6JPyjtdOJNY/7Jrm9BFy61doUvx9uIxAFNUiUPhmUFBEggTI1wgU0OIyfGx7bOWwrXgv1OnQB3WrVOCHCbnNf0nByw9pVUzfyhmB6z1Vi+DMoa24dHAdcHozaoevVGf1s5IUMx/Sy6gAQYIDCRLk/6eM4oh3Sma4u2IR9GlaFq2rFIXvLx1T7e4nJ4r2GOWZnkqUTXJU4CBrN/Tt21cVQ1ssiW8osgBcv379MGnSJHh6eiKny+uBg64beOT7jdh84io61iiOyf0a3v4OF/dDXzYKpiOLM/7NzJ5AgSDAtwiumwKx4rSOMKMgupo2obh2DSYt5V9Jmc7eotXCqeB7ENigF5rVqQJ/b48U9+WAJvPk5+dSFqd6dPLGNPfLSYWcGTo7fZuC10z9PpQ+SV6PlANXAyVwFfVMR1HfdBQNzEdRE8fho6VePyBiAyvDMyAYm05FISrBBCvMsMp8gmFRA30rEr96ePmgf4vKMFk81Xu1vvFbaBFnoTmFLjpMOGquiHuiR6Yx/+BUq5CO7n5hCMTW+9egU92yGXjSiCjP1ThIYCAzDqNHj8bOnTvh4+OD2rVrqxoHyhlMJg2j76+FLhP/xdL9F/HPvgu4p+atDhdJ/RsRhEVnm+EjJA8c1tuq46BRFlcMf1yFP64a/ggz/DGkRzO0qlcd8PJ3FNYV1A18MnYFqkRuwgDLolS/32WPEgiKP49m2I1mF3YjYcFn2Di/Jg4UagfvOj1UV6jyRRMXC+KAJvPk9+dSgqXM3C+7zk5fCI9V213SqlLIg79d17T0fJ+KkVtQ8a8XseXiB2jU/laqDKVDCq+HBOzXw6+jiXbcESjI12DtZsMKJ+FGAZzwrIIKOA2/+DCXgT40M7x9/YAn5iF83wX12qlvmdIMxiMNYLL/jhxdBlNE8lRiE3RUsR1RNWjOBc0pcdQqWLyAgStduvvZDAP7zkbgaowVhX09UbNKRXQKLJWRZ42I3IzrOKRTXp9xsBu7+CC+XRWKEv5e+KhXHUTExrucZQ69HIWPFhzA8oMXVfejWqYTMDtNO+uaCQdRAV1ujHJ8FKU10LQvBlRbO57ibINaoC6kHhJ6Tsb5DdPgcWgugmMOu8xEbNBrYLNvK5wu3g6zD7ueebO3dx2V0A99HuufLwa8mcE+OGx+8/kbmdAP6/Ta/y23/7+2dMxqSY5v7s6zeGnazjTvNq53HTzUqHTuSqtKkgePPjOASh3S9X3uHrtCBSOubnVE269VQtV3tsAsjRbyqQz/Pid5PQ77N4Mp6jzK207CnOR9Ud7zDhplsEOvhJ16JTS4uyMe7tQGlhOrXF/TpG6+xuk6IZCOhUMPaBVx341R6v+5JY2PiHJBqlLv3r3RuHFjVevgbNy4cdiyZYtKYcrp8kvgcMNqU4OPsGjXwXdxfy/UDAnAmsOXkaAbaGvejZ88xqT6OPvb/4wjBRun7wMzIQ5xn1SHV1xY6vv4FQNe3pt41kqEheLa1umw7Z2NopEHbj2UYcJGvToW6k2x2NYIV1HQpb3rc96fYO2b7bPtgyxHDI4zNAi94fL82Yvf72hQkO6Wjtk0s+F0fAnB9TC21Df4ef1Jtd5JetxTozheaFcJdUoFJgtEbJ3HYrNWJ0tf9/SkVfkiFm0KXUF1nECf2N8RaIQ7qpSi4YNtWi3EaD64YXghBl6Ilq+GF6IM+/89EaF74YbhrW6Xi+wbDW/cZTqM/3mOd3kPqNHyfuQWd/S3mUognObvs26Dcf0Uwk7uwZXQ3bBe2I8qV5bDC7EpJv6cMwqrAMEeKEgtQCy8XFPlKhS+7UBf5gkQUtfxd5fmz5uO1KI4r6KoE/6pSnlKcfaCjQOIco0cFTgEBQVhxYoVKj3J2Z49e9ChQwdcvHgROV1+CRzkA++5m9PYqWlfNQhf33gN3pf2pOsDKl3Cz8AWddl12rqkP8z2+0tNREAqPb2vHkPs7lkI3zIdxaMPuHT3OKiXQU3zSZeuHYOefjZb8tFzxOA4g4PQDqat+MHzM8f28fEPYqdRCQkwqyCtRCE/FPYvAG8vb3h7e8FXXbzh6+OFAt7eKODrDT8fbxT08UGRK5tQaHafFM9+3nHXojvI0U91wHT4H2DqrUUqn7K+hhV6A1QL9sPBC1FJ2gDcagvQoEwgdpy+ruIO0bpKkAogGpUt5AhE5Ax8RmbhUj1WYzfMi5P/vPE2HZ8vO4yvV4bePDYdpbXLqK6dQjXtFKqbEr+WM2Xte608B/aOaNf9q6Dwq5vS/x6Qje7obzOVQNj591k6E0mL0kraWXWpbDqLBr6XUMx6Gp7G7WsSxIHKz2LosQY4EF0w2d+HcAngZY2ENAb6yU7A3MHCoS4KBGHxaVOueV8jolwSOEhNg9Q2VK1a1WX7wYMHUb9+fdy4cQM5XX4IHNJKdRCFC3hiy7CWME+snbkfUJlgzs6zGP/nEtxn2oQu5k2oYzrucrucON5vlEPo/QvQo75782hzW0vPv//dhdOLP8eLltmwaCkFh/+NPA+x8MQ+Sy2csPrjku6Py0YArsgFAbhkBKr/h6MAggN8sC6lmY3bzGC40HUg5goQeR7b9u7HP5t2wfvGJVWIX0y7hlKWcJTziICX9Uqys702kxdMBYogSiuAo5EeuJzgo3LJr8MPulcAWtauhBoVy+FcnBf+2heFeYdicFX3RQQK4OmQk3jr6jspLnCV0dXU7c/aQp8RqGEcVT9vZN9/sPrIFazZcwwXj2xD6fjjiYGC6RSqaqcT++mnINqjCLwQB3N8tEsevKSbxPuFIKzGE7DosTAnxMBsuwFTfIz6v0ku8TdwIyYCl8OuwVeLhS/i4IM4eGkJKX6vY55Vca3eINRs+xC8fRJrkHKaO/7bTJJaZOs0FhHwxax/VqBkwmkVKJTVLqb69xNneKhuRJc8y6AeDsI/IXldAkrUweJmUzHo98Q1FNI8q5+OgX6qJ2DywUwqEeWSwEHSlLp27Yr33nvPZfvIkSMxb948bNu2DTldfggcMtRBpuiNbPmAysjx9zatxqee3yXb73S5B1D68a8Aj1Razro5IGth2oMPvH5Fmce/grlSxjrbZLbzJw/h5PxPUOfSXPim0jr3lF5UhoqwIAGFfczw0GyAngBNLkYCTHoCzIbMSdj+8/FYDbMKJK4iENGeRWD1KoIE3yCY/IqjmCkc1Y9OvrVz0+cBn8IqQEDkhVtfoy4Cxn8/loxKMDSYZTiuJcY4ks6zXa+k0jriVHd8D5g8vNH1rgowSYAtF3Pi1wOX4/Dr1ouq040MMOU+lbUzeM3jVlqnPFYQwlHadDnF7y/3O2yUVLNuB4yyKif+ml8lzH/AH+apaefBp/X7LDUO9tXe53q+gxraCVhS6YgmAeDBIh0R0KwfqjZoC81kysFdi26RoW9xf2/89kwTXA2PQMzFo4i/fAyma8fQ+Owv8LNdT6OnEBBp+CDUCMERvSSOGnIJQZ16jdGiUUPULFUI3idXplmXsDi2Js/qE1H+6ar07rvvolevXggNDUW7du3UtuXLl+OPP/7IFfUN+UWGOshULKVWDs1J5CyXfJgmDmgM9LMsVek0Sc/4lT7xN2LHr4Z3x7eA+n0Bc8otXTOLnIlLfRbHwOuWP1HeOIOoRe/B74U12ZLacXzfJoQt+QT1wpejhDxfGlQ+u/SCdy7MlOfzGvxVr3WZCbhtjYOMlnUbYIsHfuoE48IeaIbucoY73DMY30e3QJAWgSAtXC0CKAsEBmnXEaDFwFOzIQRX1QXxxxJXpI2SX8IUvt/Gb1L9+eR7hSEA5/VAXDQK4ZJRSH29CPl/AN60TENF7ZxrEaqc8Q2qBvT4CogNB25cA2KvAzeup/L/m/tYI9XdnQfR8pL6IRatzHtdD0yeji3Lkx1vdQAfpfFr2cB01PF/q28JeJSsg2Omsvh8j6cKEuRstg3mxO9/c79vu9WHedVjiemEqaUZrhgNVGyf6u+hvN4yYJWz9LJHS9PuZLN7zmR2JhBRaBI2G5g/G6cWlsTZsj1Rof3TKF4qhcUm3dy1yPlvsyBiUEa7qGYKymkX1f/LxV6E79cXUQGpt4q2O6CXxja9Co4YpVSAcFQvqX7HkrYs7V6lNu4qXzTxmOT5TuP16DxgJTrWCOZZfSLKdm4JHLp164bZs2fjo48+wt9//61Sl+rUqYNly5ahdevW7jgESgdH27xM2s/dnAc0rU27VUFvarzjLgPzX4Ft3Rcwt3sHqNlLetK6PSBr5XScfmG7gdDl6epskxkMXceBjYuRsOYz1IndgvKyUQP2etVDgWrtUX7Xp8nuI0FYXe2YOu5Huz15+4GLDDzNFuD4KuD8rmRnZiUtI9B6HnuNClhjS97S0RPxKoiQYOL1uwupGYa46xdgi7yIgPCDqBCzO9l9VtnqYJdR0REYSMqTfJVZC/sgOqlWpl2oYjqbwhNkAy7tA25czdhrkhAP/NAO+oW9qm2lc83NGaMovrb1gCdsahV1CcwkzUe+ys/r+Ko5/V+eBy085WPs+L4Kfj19C6urMgy/r/Z5bJ23HzanAXGw/ex0tcLAYnmc1NLPdCDiLGCz3jbNUM5yS4rMqLn7MDR2uqppSHlQbUJAicrYW20IYrf9jprhq1FGP4syx7+GPvkb7PGuh7iaD6NGu8fg6xeQ/O6ZWVwuf1uS1ibO7cDG7wbj6DUbJnicVoGCXGSxytuJ0XxxxSMERW0X4WOLck310swoFRSIe88+lebaBo73UHmew9P3epgtXjlmrRAiyr+yvR3r3r17UatWLeR0+SFVKXkKQu5sryftXcvM7IZqemiKgxkdGs4bhdXArah9oFC8NtD+XaDyPZl6xj/GmoCPFh7AbxtPuWwvhmu4x7wFwyx/wg83EtNZZPARUBqmx/8Ggqpm2cyDbrNh1/Kp8N38JaomHHIMancVbIWC7V9D5Xotb9udRZ6/iEI1EfjS2rSPMStaOtof8/xulxQkGbhFFqqBxU2n4nxEHC5E3MC567Hq9/nU1WjciE9pcJbYQjS1VsB3VOiftM1pEs61DqJ99WIoUsAT8TYDVpuO01ejsftMRLJjrKlSgZxaH8MEUyrHdtuc80zMg7dZY2H7rCY8Y6+kq94pKuIqDiz7FQUOTkcNqzRXSBRteGNfoXYo0LgvqjfpBJPZ7FLDku7icpnhkvS08DPQr5/CtXOhiLhwDLarJ1E6Yjs8YU0zteiy4a9WPz5hFMcpPfHrM93bo3bt+oAEaBKA3Ob1fdnjXcyJrJ7+99BsqksgIsqxqUpJRUZGqjSlH374QdU32Gzuzz+mtFMQUirEk9tzctAgOlcvAsM3HFp0yjGxCQaK+ZrQG1+jdcRcDLAsgP/FPcDUh4AyzYD27wFlm/+nYwi/EY8p60/gf+uO41qM5NdApT10Mm1BZ/MW3GU6kuw+8qxq4aeBb5pAlzz+8i2AcnJpCRSt8p8DibjYGOxa8D2C932P+vpZRx78zqJdUPLeN9CgUq1bbRhvcxZUnr/A+EtpnpVOzxlVOWNb0fM6PG8kpNrSMdnvnPOZY+f9DRv8r+7BQ4UPA407pKt+xxMJCNHCbpOCkr4z8A5ppJ7ImfmhlulYY62jmtrKIPL7vg1dfr6kx+o8K+VMzWbI85DCLJU8XqpnpwMyL83Q7OkN86DVaQ98bz53fv6F0ajXEABDcO74QZxa+SNKn54DSehpfH0h8M9CnFtaDCdLdUflKjVQ9ObrLAXh8jxs0qujhBaGUpFXsPKPRahUxwOVPK+r1qYJ107BHHkOJiOxUFteAXkGbneO/lzRuzHjajnsjw3CSaMYThrFVVvapAP9zxq3A+Q1Skdq0Ui/WZgTWU29vun6fc7E14OIKE/NOKxZs0YFCzNnzkRISIiqe5A1Hho1aoScLj/MOOTGtqGpSsdZvBif4hi3+BBmr9+D5yzz8KTlHzULocjMQ7t3VVeTjAiLisOPa4/j1w0nERkXr7rbPOy3E/eat+D/7Z0JfExX+8efZBIiCUIiiF3EvtS+VKtK0JeiC6Wk+moprxZ98a+2WpTW0irVamnV0qL1akttpULtFFFbbBGxL1GNijUk9//5nbjTmclMZhJJZsb8vp/PFffOuXfOvWfOuc9znuWUvJWeKlMHefELSIqZ0IreiL0MullA6D0lQlckImwrEhYBoMl//yWxS6dIxfhvJRSxAvg9i7/EhnWRiI5DJaRE2YzXyMlZ0JxM6WjHgmHLQpCZNa2kXJZgr6sSHJhPZr3Y8J8UwNm5Vwdy3yOm4pHbU5WiZC1jj3ldc8Ei4mLAZe7wzl/l2vZvpNpf6yTQ62aG9K74i3B7FYhvB8ThnNeC5ZwEy3kpJncCwqT13Q0SdOfi/WctcqB9YWFZHRkto1Yec+8xlBDiUVx1laxKFy5ckDlz5sjXX3+tKtW1a1eZPn267N27V6pXry7ugicpDp6WXm/rsT9l2A/75O6VszLQd7F0N6wXbz0jUM1nRFq+LRIcnunaARDyvtx4XL7bkSBV78ZJW8NOeTJfjJRKO288Lc3LIDFSQ35OqS9XtQIyNZ/tYN6xKc+Lv1eKNDEclIaGOPHV0q0WRgJCJa18czkRWFcSAuuKf8lq0qhisBjQRPfcO+4UqyG7fOpJjfM/SiG5oU5LlKJyvNILUuPJQVKwcLpfvFv95hwU3KylAtbTboJcXazKQlHaGv+nzNh4XP68lq6UXtYKiVfhUpmvpn6vrohx2Jx/oAocd6XUx7nFzevJErtugRTd96VUvPNP8LcpWJDurBZisQXLn4biEli8goSVqSA1SxeVmqUKS3ixAPFJWJezWYscVKo9aQwlhLg/LqE4ICgaVob27dtLjx49pF27dmIwGMTX15eKA3Epkm/dkbHLD8nCXaelvNd5eTdgiTx+d5PRdz6xUlfZU7GvFCpWVpqse1a87q0dcOrpFTJjw1E5/Ue0tJLfpa1hl5TwSvrnwkivWamVSLUnRSq3k1S/IrLj+GWpuryTBF2JtXBmSAe+/teDa8nggpMk+vAlZQWp4xUvnYKOS5uAYxKStEe8Us1TpWINhD2GmhJRoYKUj5+X4ZonvUtLYs2+UvtffSS/n7+4NfdhDXGWNS07QqReV7h6FfVKj3kICcwnrzxaUZqFhzy4PvD3rEpp5/ZmCC4/pJWVDinv33MVSieqSVnp1ay8VAgJzGStD/sWqlQtPQMaBX1CiCdy1RUUBx8fHxk4cKD0799fIiIijMepOBBXZe2hizL8p/1yKfm21DSclPGFl0jNG7+rz25pvrI2ra60N+wwlt+UWktqeidIES/kCE1Hy1dQvCq3FanWQaRSpEj+wGzPmscn3ZFZmxPkh5gzcvtuuuBTvIAm5W4dlqbeB6WJ9yGp5x2nsvBY46b4yeGmH0md1s+nB5wSt5oJdqe65hhZDC5X68rYiue4DwsVIYR4ElddQXHYvn27clFauHChVKtWTaKioqRbt25SsmRJKg7EZUm6niLvLo2VZXvPqf0GXofl/3wXSiPvI2Z+16bcyV9UfKu3F6nWUaRiC/tCSBZnzf+6niLztp+UuVsT5PJ1cyUBFomHvOLlOcM6edpnS5YX9CLEZbBjIUBw+X6tgnRKGWMMLreb5Y1ZiwghxD0UB53r168r5WHWrFmyY8cOlUXp448/lt69e0vBggXFHaDi4Flgprf+2DVy5V5GJDgQvWpYLEN9f7CeS7/JgPQ1C3KZDUcTpdesnVY+sZ6yUw8AdefgWeJB5EBwOSGEEDdPxxoQEKCUBGxHjhxRVojx48fL8OHDJTIyUpYuXZoX1SDEYeAe8o/SkE6kYXeGlag1L2/xil0s0mxgntTLsk72UnaqdQ5spOwkxOWApa7vb3aDy4sWLsgMRYQQ4gTyfB2HKlWqyMSJE2XcuHGybNkyZYUgxNWwXO3ZlmDupdnOpZ8bWF+1W1NrA2S2eq/KPR/eilYH4vpYrGvQLEyk8cMeGOtBCCEuiFMWgAPIrtS5c2e1EeJqmAvoriOYQ2BCFiDT9QhyfBEzQlyMTBe0I4QQ8uArDoS4MqYCuq8LCebWVveGr3fH22PVImbgrX9VNU/XabF6LyGEEEKIy68c7c4wONrzMF0wrIRcNubS120KZgJ6HmdmeSBW9yaEEEKIS+BSWZUeBKg4eCauLKB7ZI5/QgghhOQ4VBxyGDzIoKAgOX36NBUHDwMCesyJJLl07ZYUC/ST+uWLUEAnhBBCyAOlOJQpU0auXLmiFAhbMMbBQZKTk9VfPFRCCCGEEEIeRHk3M8WBFgcHSUtLk3PnzqkF67w8MKWlronS4uJesN3cD7aZe8J2cz/YZu4J2y13gDoApSEsLEy8vb1tlqPFwUHwEEuX/ie3uKeCTsqO6n6w3dwPtpl7wnZzP9hm7gnbLefJzNKgY1ulIIQQQgghhJB7UHEghBBCCCGE2IWKA3GI/Pnzy8iRI9Vf4j6w3dwPtpl7wnZzP9hm7gnbzbkwOJoQQgghhBBiF1ocCCGEEEIIIXah4kAIIYQQQgixCxUHQgghhBBCiF2oOJAMjB8/Xi1yN3jwYJtl5syZo8qYbn5+fnlaT09n1KhRGdqgatWqmZ6zaNEiVQZtVatWLVm5cmWe1Zdkvc3Yz1yHs2fPSs+ePSU4OFgKFCig+s+uXbsyPWf9+vVSr149FcRZqVIl1Z7EddsM7WXZ37BduHAhT+vtyZQvX95qGwwYMMDmOXyv5S1cAI6YsXPnTpkxY4bUrl3bblksvHLkyBHjvieuqO1satSoIdHR0cZ9Hx/bXXrr1q3SvXt3GTdunHTo0EEWLFggnTt3lt27d0vNmjXzqMYkK20G2M+cT1JSkjz88MPSsmVL+eWXX6RYsWISFxcnRYoUsXlOQkKCtG/fXvr16yfz58+XtWvXyssvvywlS5aUtm3b5mn9PZHstJkO+pvpwmKhoaG5XFtiKoOkpqYa9w8cOCCRkZHSpUsXq+X5Xst7qDgQI9euXZMePXrIV199JWPHjrVbHgJMiRIl8qRuxDoQOh1tg08++UTatWsnw4YNU/tjxoyRNWvWyGeffSbTp0/P5ZqS7LQZYD9zPhMmTJAyZcrI7NmzjccqVKiQ6TnoUygzadIktV+tWjXZvHmzTJ48mYqDi7aZqaIQFBSUi7UjtoCCZ+kBER4eLi1atLBanu+1vIeuSsQITIGYIWvdurXDika5cuXU4NypUyeJjY3N9ToSczCDFhYWJhUrVlRK36lTp2yW3bZtW4a2hQCD48Q12wywnzmfpUuXSoMGDdSsJ4TKunXrqgmWzGB/c78203nooYeUZQgz3Vu2bMn1uhLrpKSkyLx586R37942La3sZ3kPFQei+P7775VpD+Y+R6hSpYrMmjVLfv75Z9Wx09LSpFmzZnLmzJlcrytJp3HjxspnetWqVfLFF18o14hHHnlEkpOTrZaHn27x4sXNjmGf/ruu22bsZ67B8ePHVXtFRETI6tWrpX///jJw4ECZO3euzXNs9berV6/KzZs386DWnk122gzKAmapf/zxR7VBWX/sscfUu5HkPUuWLJErV67Iiy++aLMM32tOAAvAEc/m1KlTWmhoqLZ3717jsRYtWmiDBg1y+BopKSlaeHi4NmLEiFyqJbFHUlKSVqhQIW3mzJlWP/f19dUWLFhgdmzatGmq7Ylrtpkl7GfOAX2nadOmZsdee+01rUmTJjbPiYiI0D744AOzYytWrMCCq9qNGzdyra4k+21mjUcffVTr2bNnDteOOEKbNm20Dh06ZFqG77W8hxYHIjExMZKYmKiyf8D/GtuGDRtk6tSp6v+mgUq28PX1VabgY8eO5UmdSUbgk1u5cmWbbQA/+YsXL5odwz795123zSxhP3MOmImuXr262THELGTmZmarvyHoFhl+iOu1mTUaNWrE/uYETp48qZJIIKFAZvC9lvdQcSDSqlUr2b9/v+zZs8e4wTcU/tf4v8FgsHsNKBe4BgZr4hzgCx8fH2+zDZo2baoyu5iCIDIcJ67ZZpawnzkHZOcxzWwFjh49qmJPbMH+5n5tZg28A9nf8h4EtSM2BXGXmcF+5gScYOUgboClq1JUVJQ2fPhw4/7o0aO11atXa/Hx8VpMTIzWrVs3zc/PT4uNjXVSjT2PIUOGaOvXr9cSEhK0LVu2aK1bt9ZCQkK0xMREq22GMj4+PtpHH32kHTp0SBs5cqQy8+7fv9+Jd+FZZLXN2M9cgx07dqi+8/7772txcXHa/PnzNX9/f23evHnGMmg3tJ/O8ePHVZlhw4ap/gb3CYPBoK1atcpJd+FZZKfNJk+erC1ZskSVx7iId6C3t7cWHR3tpLvwTFJTU7WyZctqb7zxRobP+F5zPkzHShwC5l1vb2+zHNl9+vRRAUjIi12/fn2VT9nSNExyDwTIIn/15cuXVQq75s2by/bt243p7CzbDEG1yHE9YsQIeeutt1TQIILPmOvadduM/cw1aNiwoSxevFjefPNNee+991RazylTpiirrM758+fN3GBQZsWKFfL666+rlJGlS5eWmTNnMhWrC7cZsvgMGTJELRzn7++v1jOCuwzWgiB5B5452gXZlCzhe835eEF7cHYlCCGEEEIIIa4NYxwIIYQQQgghdqHiQAghhBBCCLELFQdCCCGEEEKIXag4EEIIIYQQQuxCxYEQQgghhBBiFyoOhBBCCCGEELtQcSCEEEIIIYTYhYoDIYQQQgghxC5UHAgh5AHnxRdflM6dOzu7Gi7PY489Jl5eXmrbs2dPjlxz/fr1xmuyDUh22Lhxozz55JMSFhamfkdYGTmrrF69Wpo0aSIFCxZUK9U/88wzcuLEiWzX6aeffpI2bdpIcHCww/3FtH+Zbu3btzeWGTVqlFStWlUCAgKkSJEi0rp1a/n999+Nn6POL730kloJvECBAhIeHi4jR45Uq36bgrWNP/roI6lcubLkz59fSpUqJe+//75Z/SMjI9WzKFSokDRt2lQ9o/t57v369VPlsEK5Kbt371bfFRQUpJ5X37595dq1a2ZlrD2X77//XrLCl19+qZ4x7gfnX7lyJUOZo0ePSqdOnSQkJESVa968ufz2229Z+h4qDoQQ4sZYe+GYbngRf/LJJzJnzhyn1tNdlJc+ffrI+fPnpWbNmjlyvWbNmqnrde3aNUeuRzyP69evS506dWTatGnZOj8hIUEJi48//rgS8CEg//nnn/L000/bPAfjBvpsZnWC0DlhwgSH6wFhHX1B3w4cOCAGg0G6dOliLANB/7PPPpP9+/fL5s2bpXz58kpBuXTpkvr88OHDkpaWJjNmzJDY2FiZPHmyTJ8+Xd566y2z7xo0aJDMnDlTKQ84Z+nSpdKoUSMzpQDC/MqVKyUmJkZatmyplIQ//vgjW8998eLFsn37dqVkmHLu3Dml/FSqVEkpQKtWrVL1tvZsZ8+ebfZ8sjpe3rhxQ9q1a5fhWZjSoUMHuXv3rqxbt07dN+4Pxy5cuOD4F2mEEELclvPnzxu3KVOmaIUKFTI7lpycrLkCvXr10jp16qS5Mi1atNAGDRrksfdPXB+IbYsXLzY7duvWLW3IkCFaWFiY5u/vrzVq1Ej77bffjJ8vWrRI8/Hx0VJTU43Hli5dqnl5eWkpKSlWv2fkyJHqN2uPhIQEVac//vgjy/cyefJkrWDBgtq1a9dslvn777/V9aOjo22WmThxolahQgXj/sGDB9X9Hj58OEv1qV69ujZ69GiHn7vOmTNntFKlSmkHDhzQypUrp+5LZ8aMGVpoaKjZs9+3b5+6XlxcnEPX11myZIlWt25dLX/+/Op+R40apd25cydDObQ9rpeUlGR2/NKlS+r4xo0bjceuXr2qjq1Zs0ZzFFocCCHEjSlRooRxK1y4sLIymB4LDAzMMNsPc/Zrr70mgwcPVu4AxYsXl6+++krNsP373/9W7gyYIfvll1/MvgszhE888YS6Js6JiopSM5c6P/zwg9SqVUu5EMAkj5k2XBOzl3PnzpWff/7ZaAmBCw9444031Cyjv7+/VKxYUd555x25c+eO8Zo496GHHpJZs2ZJ2bJl1Xf/5z//kdTUVJk4caK6x9DQUDM3BIDv+OKLL1R9UR9cG/XLrqvR2rVrpUGDBqqesCIcOXLEWGbv3r1qxhLPDeb/+vXry65du7L8XYRkh1dffVW2bdumXFv27dunZvAx8xwXF6c+x+/R29tbzWij3/z999/y7bffqv7p6+vrtHp//fXX0q1bN+WWZA24H8H9BuMaZsZtgfspWrSocX/ZsmWqvy9fvly5NMFq8fLLL8tff/1l8xqwYiQnJ5tdxxHS0tLUODhs2DCpUaNGhs9v374t+fLlU89fB+MRgEXFlAEDBigXIlhGMN6l6xPpbNq0SV544QVlSTl48KCyuMCKbDnuZQbG5CpVqsg333yjxmVYHnAdjJ/4jTgKFQdCCPFAIMjjJbVjxw6lRPTv318JHBCK4ZML9wC8EGH+BvCXhatD3bp1lVAMk/vFixeNLjgwrXfv3l169+4thw4dUgI3XCHw8hs6dKgqB2FGN8PjewCEbbwA8TKESxUUGLgfmBIfH6+UGHznd999pwQO+EWfOXNGNmzYoNwlRowYYeYLDaCEwJcbgn2PHj2UkIK6ZYe3335bJk2apO7dx8dH3acOrl26dGnZuXOnMv8PHz7cqQIZ8RxOnTqlFIJFixbJI488onz+0d/gRoTjAMLzr7/+qlxY4O8PX3v0nf/9739OqzfGHUxEQKC3BAI/Jgj8/PzUWLBmzRo1Vlnj2LFj8umnn8orr7xiPHb8+HE5efKkeiYQkjG+oF8+++yzNusDlybEHWTVpXDChAlqPBg4cKDVzzFmwg3oww8/VIpQUlKSGh8AxkGd9957T7UH7hVjFiZHcF86o0ePVuf16tVLKUVwsxozZowS/B0FEyDR0dHKHQvjLp7vxx9/rMZVTCA5jMO2CUIIIS7N7NmztcKFC9t1k4FLTvPmzY37d+/e1QICArSoqCjjMbg54RWxbds2tT9mzBitTZs2Ztc9ffq0KnPkyBEtJiZG/f/EiRP35arz4YcfavXr1zdzmYD7BUzqOm3bttXKly9vZv6vUqWKNm7cOOM+6tKvXz+zazdu3Fjr379/llyVdLO/qavEihUr1LGbN2+qfbhbzJkzJ9P7oqsSyQksXVqWL1+ujqH/mm5w1enatauxL0dERGjDhg3Tdu/erW3YsEH91lu1aqWlpaWpMnBfMT3f19dXXcP02Lx583LMValv375arVq1rH4G1yW48WDs6d27t+rrFy9etOoiFB4err300ktmx/v06WMcl3T08cma+9L8+fPVGJOZu441V6Jdu3ZpxYsX186ePWs8ZumqpF8f5QwGg5YvXz5t6NChan/8+PE2v++dd97RSpcubdwPCQnR/Pz8zNoD+6jX9evXHXJVQlt37NhRe+KJJ7TNmzerZ4LxEG5W586d0xzFx3EVgxBCyINC7dq1jf9HgCLM2HAz0oErEkhMTFR/MWuP7BuYCbQEFgFYKFq1aqWu0bZtW7WPGT57M1kLFy6UqVOnqmtgxg/mc7j7mAJXA8yQmdYNdTY1/+OYXlcdZEqx3M9utiTT51WyZEn1F98H96n//ve/auZUd/+A5QYzv4TkNugz6AuYUcdfU/S+iuBeuPvAtU9n3rx5UqZMGWWlQ7YluOGZ9g30ybNnz5oFP+tjwv0CNxm4VWGW3RpwXYKrJDbULSIiQlkZ33zzTbOgY7gHwnIJdyZT0D9hBYALpE61atWMFhq46+igHui7sE6g72aFTZs2GccAHbiCDRkyRGVW0rNWPf/882qDhRb3hpl/zPTDcmCLxo0bK4sCXJ1gJUI7w+pgLaAdlgNHQEA0rDmweuhj7Oeff66sHLBA65YQe1BxIIQQD8TSlQYvM9Nj2Nd9eAFeXMg6Yi2LCl7UEFrwAtq6datyi4CZHe49EEzgKmEN+GXDzQcvRCgbEG7wIodLUFbqqh/T65obZPZsEIcBwWDFihXKpQrpIXEfTz31VK7VhxAA10EIqxBg4apkDbgbmirZQFcy9N8w/O4hqOvA1//q1atmx3IKCOkQiHv27OlQedQR5XWg0EBpgF8+3LEs7+3hhx9WExCYjNAVeKQhBeXKlTOWg9sjXA7RV01TwjpKVFRUBmUD4xiOI1bMEl3xQvwChH24G9kCShwmXaA0gHr16qm4qvtpD93t1PJ5YT8rYycVB0IIIXbBi+vHH39Us/+YzbMGBGq8tLG9++676iWNNIWYkUeAIAQcU6BkoAwUDB34JucUSI+IgELTfQhauQFmN7G9/vrrKtYDAg0VB5ITQGmHL79pelUIlhDu8ZuD8o3fORRu/L6RuhTB/LCSQSDGhlgBzPDjt4kgYMQ7oO9ltz8g0Biz95j5B3qyAD0pA0CdsH7CuHHjzM6F9QDJGmDltLREINi3Y8eOajICiRdgLYGioKdsxf+R3AF1R1yCnqZV/24AYR7jFZQCzPxDKEbgMQR13QqxYMECFS+AuCrM7uvpSKFAYQLD3nMvW7asqr/lPWCCAfUwtWogvSwsI7AAYXIFgdTjx49XsSZ6MDesEbCuQKFAmQ8++EDFquhgPEXaVHwvLLkQ9mEFRpzI2LFjVRncAza9zkhpC0stzkGdYXGFMoL7xvVwr4gpw31lRXFicDQhhBC74MULYQGCB4KAMZuHfPCYWYNCAMsCXnYIHoZAgZzteKnrLgJQOJDxBQIGBAJkToILAspixg/Xg3sEFI2cnNnE7B5mG2EFQEAmMtDkJDdv3lTXRDA4lJ4tW7ao56PfNyH3C/oUBHxdyIcijv9D+ANQUiGkw0UGAiuEcvwGdRcaBOhCUMYCZjgPSQowk42gWD3DT1bBugi4li5wIvEA9rGmgg76tmkAMED/RzYhLOJmCawgWHMBwcEQ8GHhvHz5snIJ0jMWQaiGYAzFCAkJoGDomw6EagjjCKh+9NFHVR3RH00XVIN7E6wSGNdMr4GsRY4+d0fBuAOlBW6c+F4ENJsGU0PZgIIEwR4Z5PA5XJkwZplaMuBmBGtuw4YNlZIBZdDUgoJnj/phLRqAe8c+2grgeaDNoRDhNwH3NLQFst1llrUqAw5HQxBCCHlggqMtg4CtBfVZBgQePXpUe+qpp7SgoCCtQIECWtWqVbXBgweroDvkTkfQcrFixVSe8cqVK2uffvqp8dzExEQtMjJSCwwMVNfV88wjYDM4OFgdf+6551QdTO8BwdF16tTJ9H6s3RO+Y9q0aeo7UR8EWC5cuDDT55dZcLRpoCECQXEMgaG3b9/WunXrppUpU0YFPiKX/quvvmoMnM6szoQQ4m544R/H1QxCCCHE9YHbFKwXWVl9FS4QmPGDe0NOg7U0kNIWs76EEOKu0FWJEEIIuQeyjMAXGf7BOQHcLHC9+fPn58j1CCHEmTA4mhBCCBFRwj1iFoBpisX7wTTNpbVUtoQQ4k7QVYkQQgghhBBiF7oqEUIIIYQQQuxCxYEQQgghhBBiFyoOhBBCCCGEELtQcSCEEEIIIYTYhYoDIYQQQgghxC5UHAghhBBCCCF2oeJACCGEEEIIsQsVB0IIIYQQQohdqDgQQgghhBBCxB7/D81kBBLsnO2bAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(2, 1, figsize=(8, 4), tight_layout=True)\n", "axs[0].plot(\n", " gaze_middle[\"gaze x [px]\"],\n", " marker=\"o\",\n", " label=\"Raw gaze\",\n", ")\n", "axs[0].plot(\n", " concat_stream_middle[\"gaze x [px]\"],\n", " marker=\"^\",\n", " label=\"Concatenated\",\n", ")\n", "axs[0].set_ylabel(\"Gaze x [px]\")\n", "axs[1].plot(\n", " imu_middle[\"acceleration x [g]\"],\n", " marker=\"o\",\n", " label=\"Raw IMU\",\n", ")\n", "axs[1].plot(\n", " concat_stream_middle[\"acceleration x [g]\"],\n", " marker=\"^\",\n", " label=\"Concatenated\",\n", ")\n", "axs[1].set_ylabel(\"Acceleration x [g]\")\n", "axs[1].set_xlabel(\"Timestamp [ns]\")\n", "plt.legend()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "pyneon", "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.13.3" } }, "nbformat": 4, "nbformat_minor": 2 }