diff --git a/B_rework.ipynb b/B_rework.ipynb index 240aee9..d7508d7 100644 --- a/B_rework.ipynb +++ b/B_rework.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 76, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -31,7 +31,7 @@ "9056" ] }, - "execution_count": 77, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -50,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -59,7 +59,7 @@ "0.8606728758791105" ] }, - "execution_count": 78, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -134,7 +134,7 @@ "0.9533333333333334" ] }, - "execution_count": 79, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -180,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -190,7 +190,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -199,7 +199,7 @@ "0.8593328191284226" ] }, - "execution_count": 81, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -224,7 +224,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -245,7 +245,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -280,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -317,7 +317,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -346,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -390,7 +390,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -399,18 +399,19 @@ "9056" ] }, - "execution_count": 87, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "ak.num(scifi_found[\"energy\"], axis=0)" + "ak.num(scifi_found[\"energy\"], axis=0)\n", + "scifi_found[\"\"]" ] }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -470,13 +471,11 @@ "output_type": "execute_result" } ], - "source": [ - "np.array()" - ] + "source": [] }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -542,22 +541,59 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([0., 0., 0., ..., 0., 0., 0.])" + "array([], dtype=float64)" ] }, - "execution_count": 28, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "vtx_type_found" + "vtx_type_found[vtx_type_found!=0]" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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wsLCzIUXXmgWL15sXnnlFXPeeeeZhg0blhnTm7lz5xqHw2GuvPJKs3jxYvP666+bfv36mbCwMLNmzZoyc2zevLl54IEHzOrVq8306dNNVFSUGTp0qDuupKTE9OzZ00RFRZmHH37YrFq1ykyYMME0bdrUSDITJkwwxhhTVFRkkpKSzKBBg8rM6fzzzzcdOnRwH/drr73WSDIbN250L8ePHzfGGDNy5EgTGRlpNm/ebIwx5q233jI1atQw9913X6X73r17d9O9e3f3z0ePHjUtW7Y0TqfTPPHEE2blypXmjjvucB/LF198scLxunTpYjIzM90/L1y40ERHRxuHw2Hee+899/qWLVua/v37e8wjISHBpKWlmSeeeMKsXbvWrFu3zmzdutU0bdrUtG/f3r3fW7durXAOkkxaWppp1aqVefnll82yZctM3759jSTzyiuvVLjt7t273dtfeOGF5tVXX3WfTxEREWbDhg3u2HXr1pmxY8eaf/3rX2bdunVmyZIl5sorrzQxMTHmiy++cMetXbvWSDL169c31157rVm2bJl54403zMGDB80XX3xhbr31VrNw4ULzzjvvmDfeeMMMGzbM1KhRw6xdu7bMvBo1amQuu+wy88Ybb5h58+aZ5ORkc/bZZ5usrCxz8803m3//+9/m6aefNrVq1TKXXXaZx749/PDDxuFwmJtvvtm88cYbZvHixSY9Pd3Exsa6f48rO9eGDx9uIiIizNixY82KFSvMggULTIsWLUxycrLJycmp9PMEAJw+L774opFkdu/e7V43efJkI8nccMMN5s033zT/+Mc/TNOmTY3T6TRffvmlO6558+bmrLPOMnPnzjXr1q0zr776qhk7dqz7u+lUvp/9+Q6pW7euadasmXn66afN6tWrzahRo4wk89JLL7njcnJyTFJSkqlfv7558cUXzfLly82gQYPcOUvpXD/66CMjyTz33HMe88nNzTVRUVFmzJgxle7TsWPHzLnnnmuaNm1qcnNzjTHGPPDAA6ZGjRpm1apVlX4Wv83/jDFmx44dpmbNmu5c5bXXXjN9+vRxz/23n9nJDh8+bCIiIszkyZPd60aOHGliYmJMbGysKSwsNMYY88MPPxiHw2FmzZrlMY/69eubtm3bmgULFpi3337bbN++3axYscJIMsOGDXPv+65du8qdQ2luk5aWZq644grz+uuvm3nz5pmzzjrLxMfHe+Tp3pSem2lpae785dlnnzVJSUkmLS3NfYyNMeapp54yU6ZMMcuWLTPr1q0zL730kmnXrp1p3ry5e1+N+V+e3qhRI3PPPfeY1atXm6VLlxpjjHnllVfMAw88YJYsWWLWrVtnFi5caLp3727q1atnfvzxxzLzatq0qbn99tvNypUrzfPPP2/q1Kljevbs6bEP5FUAQglFTlRbpUnNb4tFLpfLpKammjZt2hiXy+Vef/jwYZOUlGS6du3qXudvkTM5Odnk5+e71+Xk5JgaNWqYKVOmuNd17tzZpKammmPHjrnX5efnm4SEhEqLnL/88otJSEgoUxByuVymXbt25vzzzy8zx2nTpnnEjho1ykRHR5uSkhJjjDH//ve/jSTz97//3SPu4YcfLpPkjhkzxsTExJhDhw6513322WdGknniiSfc62677bZy9+X48eOmffv2pkmTJuazzz4zycnJpnv37qa4uLjCfTembJHzqaeeMpLMa6+95hE3fPhwn4qc9913n4mJiXEnb7fccovp27evadu2rZk0aZIxxpjvv//eSDLPPvusxzwkmbfeeqvMmOecc47HHCsjycTExHgkh8XFxaZFixbmrLPOqnDb0mJieedTr169yt22uLjYFBYWmmbNmpk777zTvb70d+aiiy6qdO7FxcWmqKjIZGRkmKuuuqrMvNq1a+fxOzZjxgwjyVx++eUe42RnZxtJJi8vzxhjzJ49e0x4eLi5/fbbPeIOHz5sUlJSPArO5Z1rGzduNJLM3/72N4/1e/fuNTExMebuu+92r6vo8wQAnB4nFzlzc3NNTEyM+cMf/uARt2fPHhMVFWUGDhxojDHmp59+MpLMjBkzKhzfn+/nU/kOef/99z1iW7VqZfr06eP++Z577jEOh8Ns377dI653794eRU5jjOnQoYNHPmqMMbNmzTKSzCeffOLTPn311VcmPj7eXHnllWbNmjU+/0HZmLJFzgEDBpSbq1RW5DTGmAsvvNBcfPHF7p/POuss8+c//9nUqFHDXfwqbUD4bfFaknE6nebnn3/2GO/HH38sM8eKlOY2HTp0cOe/xhjzzTffmIiICHPLLbdUuH3pufnbXMcYY9577z0jyTz00ENetyspKTFFRUXm22+/LZOvlubpDzzwQKXzLy4uNkeOHDGxsbEe+XrpvEaNGuURP23aNCPJ7N+/3xhDXgUg9HC5OvAbO3fu1L59+5SVlaUaNf7361GrVi1dc8012rRpk44ePXpKY/fs2VNxcXHun5OTk5WUlOS+vOSXX37R5s2bdfXVVys6OtodFxcXp8suu6zS8Tds2KCff/5ZQ4YMUXFxsXspKSlR3759tXnzZv3yyy8e21x++eUeP7dt21bHjx93Xx68du1aSdKgQYM84gYOHFjm/W+++WYdO3ZMixYtcq978cUXFRUV5TXem6ioKP3zn//UwYMH1aFDBxlj9PLLLyssLMyn7X9r7dq1iouLK7OPvs4lIyNDx44d04YNGySduA1A79691atXL/el82vWrJEk9erVy2PbOnXq6OKLL/Z7zuXNIzk52f1zWFiYBgwYoF27dum7776rdPvyzqf//Oc/crlckqTi4mJNnjxZrVq1UmRkpMLDwxUZGamvvvqqzGV/kjwuF/utp59+Wh06dFB0dLTCw8MVERGht956y+sYf/jDHzx+x1q2bClJZS5PK12/Z88eSdLKlStVXFyswYMHe5zn0dHR6t69u08PGnjjjTfkcDh04403eoyRkpKidu3alRnDys8TAPD7bdy4UceOHStzGXJaWpouvvhi921ZEhISdOaZZ+rRRx/V9OnTtW3btjKXifvL3++QlJQUnX/++R7r2rZt63F58dq1a3XOOeeoXbt2HnHecpahQ4dqw4YN2rlzp3vdiy++qPPOO0+tW7f2aR/OOussPffcc1q6dKn69eunbt26nfJTs9euXVturuKLjIwMvffeezp27Ji+/fZb7dq1S9dff73OPfdcj3yrYcOGatasmce2F198serUqXNK8z7ZwIEDPW431ahRI3Xt2tWdC1fm5Fy5a9euatSokcf2Bw4c0MiRI5WWlubOkxo1aiRJPudbR44c0T333KOzzjpL4eHhCg8PV61atfTLL794HcNbri/Jff6RVwEINRQ5gd84ePCgJOmMM84o81pqaqpKSkqUm5t7SmPXrVu3zLqoqCgdO3ZMkpSbm6uSkhKlpKSUifO27mQ//PCDJOnaa69VRESExzJ16lQZY/Tzzz9XOKeoqChJcs/p4MGDCg8PLxPnbT7nnHOOzjvvPL344ouSJJfLpXnz5umKK65QQkJCpfMvddZZZ6lbt246fvy4Bg0a5PWz8MXBgwc9Eu6K5u5N6X2C1qxZo127dumbb75xFznff/99HTlyRGvWrFHTpk3VpEkTj21Pdc7eVHQ+lJ6vp7J9YWGhjhw5IkkaM2aM7r//fl155ZV6/fXX9f7772vz5s1q166d+1z4LW/7N336dN16663q3LmzXn31VW3atEmbN29W3759vY5x8jkRGRlZ4frShwmUnufnnXdemfN80aJFZe5r5c0PP/wgY4ySk5PLjLFp06YyY1j5eQIAfr/K8rXS10vvF96nTx9NmzZNHTp0UL169XTHHXeUud+lr/z9Dqks/yvdH1/zv0GDBikqKsr95PTPPvtMmzdv1tChQ/3aj0svvVTJycnue1Geyh+U/Z27N7169VJBQYHWr1+v1atXKzExUe3bt1evXr3cf0x+6623yvxBWTo9+ZYvuZYv25eUlCgzM1OLFy/W3XffrbfeeksffPCBNm3aJEk+51sDBw7UzJkzdcstt2jlypX64IMPtHnzZtWrV8/rGJXl+uRVAEJN9XkcLuCD0kTA203X9+3bpxo1arj/YhwdHa2CgoIycb4kA97UqVNHDofD64NxfHlYTmJioiTpiSeeKPfJl96KfhWpW7euiouLdfDgQY8kqbz5DB06VKNGjdLnn3+ur7/+Wvv37/c76X7++ef15ptv6vzzz9fMmTM1YMAAde7c2a8xSuf+wQcflFnvy7GUThTXLrzwQq1Zs0YNGjRQSkqK2rRpo6ZNm0o68RCet956S/369Suz7ckPnvo9KjofvP2Pk6/bR0ZGqlatWpKkefPmafDgwZo8ebJH3E8//aTatWuX2d7b/s2bN089evTQU0895bH+VP8nsjyl5/m//vUvd/fDqYzhcDj07rvvupP93zp5nZWfJwDg96ssXyv9rpBOdOTNnj1bkvTll1/qn//8pyZOnKjCwkI9/fTTfr+3v98hvqhbt67P+V+dOnV0xRVX6B//+Iceeughvfjii4qOjtYNN9zg13uWPtjonHPO0R133KFu3bqdUlekP3P3pnPnzqpVq5bWrFmjb775RhkZGXI4HMrIyNDf/vY3bd68WXv27PFa5Dwd+ZYvuVZF25911lmSpE8//VQfffSR5syZoyFDhrhjdu3aVe6YJ+9fXl6e3njjDU2YMEHjxo1zry8oKCjTyOAr8ioAoYZOTuA3mjdvrvr162vBggXup2VLJy4lf/XVV91PXJdOPI3zwIED7r+ASlJhYaFWrlx5Su8dGxur888/X4sXL3Z3rUknikSvv/56pdtfcMEFql27tj777DN16tTJ61LaFeernj17SpLmz5/vsX7BggVe42+44QZFR0drzpw5mjNnjurXr6/MzEyPmJP/gvxbn3zyie644w4NHjxY7777rtq2basBAwacUvdsz549dfjwYS1btsynuXvTq1cvbdmyRa+++qo7uY6NjVWXLl30xBNPaN++fV6T7vKc3Lnhi7feesvjHHO5XFq0aJHOPPNMNWjQoNLtyzufunXr5u7acDgcZRLQN998U99//73P8/Q2xscff6yNGzf6PIYv+vTpo/DwcP33v/8t9zwvVd651q9fPxlj9P3333vdvk2bNpbOGQBgrfT0dMXExGjevHke67/77ju9/fbbysjI8Lrd2Wefrfvuu09t2rTR1q1b3ev9+X4OxHdIz549tWPHDn300Uce68vLWYYOHap9+/Zp+fLlmjdvnq666qoyf5SsaJ+ef/55zZs3TzNnztSyZct06NAhv/8o/du5l5er+CIiIkIXXXSRVq9erbffflu9e/eWJHXr1k3h4eG677773EVPX1SUZ1bk5Zdf9sj9v/32W23YsEE9evTwafuTc+UNGzbo22+/dW9fWtg7OVd65plnfJ6jw+GQMabMGM8//7z7FkT+Iq8CEGro5AR+o0aNGpo2bZoGDRqkfv36acSIESooKNCjjz6qQ4cO6ZFHHnHHDhgwQA888ICuv/56/fnPf9bx48f1+OOPn3KSIUl/+ctf1LdvX/Xu3Vtjx46Vy+XS1KlTFRsbW+lfaGvVqqUnnnhCQ4YM0c8//6xrr71WSUlJ+vHHH/XRRx/pxx9/LNNlV5nMzExddNFFuvvuu/XLL7+oU6dOeu+99zR37lyv8bVr19ZVV12lOXPm6NChQ7rrrrs87rsoyZ3oTJ06VZdcconCwsLUtm1bFRUVqX///mrSpIlmzZqlyMhI/fOf/1SHDh00dOhQLV261K+5Dx48WI899pgGDx6shx9+WM2aNdPy5cv9KkJnZGTI5XLprbfe0ksvveRe36tXL02YMEEOh8Ovewq1adNGCxcu1KJFi9S0aVNFR0dXmvglJibq4osv1v3336/Y2FjNmjVLX3zxhRYuXOjTe4aFhal3794aM2aMSkpKNHXqVOXn52vSpEnumH79+mnOnDlq0aKF2rZtqy1btujRRx/1qYj62zH+8pe/aMKECerevbt27typBx98UE2aNFFxcbHP41SmcePGevDBB3Xvvffq66+/Vt++fVWnTh398MMP+uCDDxQbG+vet/LOtQsuuEB//OMfNXToUH344Ye66KKLFBsbq/3792v9+vVq06aNbr31VsvmDACwVu3atXX//ffr//7v/zR48GDdcMMNOnjwoCZNmqTo6GhNmDBB0ok/to0ePVrXXXedmjVrpsjISL399tv6+OOPPTrh/Pl+DsR3SHZ2tl544QVdeumleuihh5ScnKz58+friy++8BqfmZmpBg0aaNSoUcrJyfFaoCxvn0r/oDxkyBD3drNnz9a1116rGTNmKDs726+533fffVq2bJkuvvhiPfDAA6pZs6aefPLJMveBr0hGRobGjh0r6X/3OY+JiVHXrl21atUqtW3bVklJST6NFRcXp0aNGum1115TRkaGEhISlJiYqMaNG1e43YEDB3TVVVdp+PDhysvL04QJExQdHa3x48f79L4ffvihbrnlFl133XXau3ev7r33XtWvX1+jRo2SJLVo0UJnnnmmxo0bJ2OMEhIS9Prrr7vvO+qL+Ph4XXTRRXr00Ufd+7Ru3TrNnj3b65U3viCvAhByquZ5R0DV8/Z09VJLly41nTt3NtHR0SY2NtZkZGSY9957r0zc8uXLzbnnnmtiYmJM06ZNzcyZM8t9uvptt91WZvtGjRqZIUOGeKxbtmyZadu2rYmMjDQNGzY0jzzyiNcxy7Nu3Tpz6aWXmoSEBBMREWHq169vLr30Uo/9LB3vxx9/9Nj25KeXGmPMoUOHzM0332xq165tatasaXr37m2++OKLcp9cuWrVKiOpzFMwSxUUFJhbbrnF1KtXzzgcDvf73XjjjaZmzZpmx44dHvGvvPKKkWQee+yxCvf75KerG2PMd999Z6655hpTq1YtExcXZ6655hqzYcMGn56ubsyJJ18mJiYaSeb77793ry99YmaHDh28zuOcc87xOt4333xjMjMzTVxcnJFkGjVqVOH7l543s2bNMmeeeaaJiIgwLVq0MPPnz6907qVPMZ86daqZNGmSadCggYmMjDTt27c3K1eu9IjNzc01w4YNM0lJSaZmzZrmwgsvNO+++26ZY1rR70xBQYG56667TP369U10dLTp0KGDWbp0qRkyZIjHfpbO69FHH/XYvryxS8/JzZs3e6xfunSp6dmzp4mPjzdRUVGmUaNG5tprrzVr1qzxmJO3c63UCy+8YDp37mxiY2NNTEyMOfPMM83gwYPNhx9+6I6p6PMEAJwe3vITY4x5/vnn3TmT0+k0V1xxhUce8cMPP5ibbrrJtGjRwsTGxppatWqZtm3bmscee8wUFxe74/z9fjbm932HnPzdaIwxn332mendu7eJjo42CQkJZtiwYea1114r83T1Uv/3f/9nJJm0tDTjcrnKvO5tn44cOWJatGhhWrVqZX755ReP+Ntuu81ERESUeRL8ybzlf++9957p0qWLiYqKMikpKebPf/6zefbZZ316uroxxnz00UdGkmnWrJnH+ocffthIMmPGjPE6D2+5tTHGrFmzxrRv395ERUUZSWVy7d8qzT/mzp1r7rjjDlOvXj0TFRVlunXr5vFZlqf03Fy1apXJysoytWvXNjExMeYPf/iD+eqrrzxiSz/juLg4U6dOHXPdddeZPXv2lDmm5eXpxvwvt61Tp46Ji4szffv2NZ9++mmZ/6coL38q3d+TzynyKgChwmHMb/ryAQAh4ZtvvlGTJk306KOP6q677qrq6QAAAIScOXPmaOjQodq8ebPHpd0AgKrBPTkBAAAAAAAA2BpFTgAAAAAAAAC2xuXqAAAAAAAAAGyNTk4AAAAAAAAAtkaREwAAAAAAAICtUeQEAAAAAAAAYGvhVT2BYFdSUqJ9+/YpLi5ODoejqqcDAAAsZozR4cOHlZqaqho1+PtvsCAHAwAgtJGDle/48eMqLCwMyNiRkZGKjo4OyNhVjSJnJfbt26e0tLSqngYAAAiwvXv3qkGDBlU9DfyKHAwAgOqBHMzT8ePHVS8mRkcCNH5KSop2794dkoVOipyViIuLk3Tily4+Pr6KZwMAAKyWn5+vtLQ093c+ggM5GAAAoY0czLvCwkIdkXSnpCiLxy6Q9FhOjgoLCylyVkell0fFx8eTYAMAEMK4JDq4kIMBAFA9kIN5FyvJ6jJkqBcBQ33/AAAAAAAAAFuJ+HWxksvi8YINd3YFAAAAAAAAYGt0cgIAAAAAAABBJFzWF+1CvQhIJycAAAAAAAAAWwv1Ii4AAAAAAABgK+Gy/p6cxRaPF2zo5AQAAAAAAABga3RyAgAAAAAAAEGEe3L6j05OAAAAAAAAALYW6kVcAAAAAAAAwFYixD05/UWREwAAAAAAAAgiXK7uPy5XBwAAAAAAAGBroV7EBQAAAAAAAGwlXNZfrl5k8XjBhk5OAAAAAAAAALZGJycAAAAAAAAQRLgnp//o5AQAAAAAAABga6FexAUAAAAAAABsJULW35PT6vGCDZ2cAAAAAAAAAGyNTk4AAAAAAAAgiNDJ6T+KnAAAAAAAAEAQ4cFD/uNydQAAAAAAAAC2FupFXAAAAAAAAMBWwmX95eWhXgSkkxMAAAAAAACArYV6ERcAAAAAAACwFe7J6T86OQEAAAAAAADYWqgXcQEAAAAAAABbiZD19+S0erxgQycnAAAAAAAAAFujkxMAAAAAAAAIItyT03+hvn8AAAAAAACArYTL+svLQ70IyOXqAAAAAAAAAGwt1Iu4AAAAAAAAgK1wubr/6OQEAAAAAAAAYGuhXsQFAAAAAAAAbCVC1t+T0+rxgg2dnAAAAAAAAABsjU5OAAAAAAAAIIhwT07/0ckJAAAAAAAAwNZCvYgLAAAAAAAA2Eq4rL+HZqgXAUN9/wAAAAAAAABb4cFD/uNydQAAAAAAAAC2RicnAAAAAAAAEER48JD/bNfJOWvWLDVp0kTR0dHq2LGj3n33XZ+2e++99xQeHq5zzz03sBMEAAAIQeRgAAAACGa2KnIuWrRI2dnZuvfee7Vt2zZ169ZNl1xyifbs2VPhdnl5eRo8eLAyMjJO00wBAABCBzkYAADA6RUeJkWEW7uEh1X1XgWWrYqc06dP17Bhw3TLLbeoZcuWmjFjhtLS0vTUU09VuN2IESM0cOBApaenn6aZAgAAhA5yMAAAAAQ72xQ5CwsLtWXLFmVmZnqsz8zM1IYNG8rd7sUXX9R///tfTZgwwaf3KSgoUH5+vscCAABQXZGDAQAAnH7h4YFZQpltipw//fSTXC6XkpOTPdYnJycrJyfH6zZfffWVxo0bp/nz5yvcx09yypQpcjqd7iUtLe13zx0AAMCuyMEAAABgB7YpcpZyOBwePxtjyqyTJJfLpYEDB2rSpEk6++yzfR5//PjxysvLcy979+793XMGAACwO3IwAACA0yciLDBLKLNNo2piYqLCwsLKdAwcOHCgTGeBJB0+fFgffvihtm3bptGjR0uSSkpKZIxReHi4Vq1apYsvvrjMdlFRUYqKigrMTgAAANgMORgAAMDpFx4uhZf9e/LvG9NYO16wsU0nZ2RkpDp27KjVq1d7rF+9erW6du1aJj4+Pl6ffPKJtm/f7l5Gjhyp5s2ba/v27ercufPpmjoAAIBtkYMBAABUT//5z3902WWXKTU1VQ6HQ0uXLvV43RijiRMnKjU1VTExMerRo4d27NjhEVNQUKDbb79diYmJio2N1eWXX67vvvvOIyY3N1dZWVnu2xZlZWXp0KFDfs/XNp2ckjRmzBhlZWWpU6dOSk9P17PPPqs9e/Zo5MiRkk5c5vT999/rH//4h2rUqKHWrVt7bJ+UlKTo6Ogy6wEAAFA+cjAAAIDTKyJMirC4NTGixL/4X375Re3atdPQoUN1zTXXlHl92rRpmj59uubMmaOzzz5bDz30kHr37q2dO3cqLi5OkpSdna3XX39dCxcuVN26dTV27Fj169dPW7ZsUVjYievnBw4cqO+++04rVqyQJP3xj39UVlaWXn/9db/ma6si54ABA3Tw4EE9+OCD2r9/v1q3bq3ly5erUaNGkqT9+/drz549VTxLAACA0EIOBgAAUP1ccskluuSSS7y+ZozRjBkzdO+99+rqq6+WJL300ktKTk7WggULNGLECOXl5Wn27NmaO3euevXqJUmaN2+e0tLStGbNGvXp00eff/65VqxYoU2bNrmv+HnuueeUnp6unTt3qnnz5j7P12GMCfEr8n+f/Px8OZ1O5eXlKT4+vqqnAwAALMZ3fXDicwEAILTxXe+d+7gkSvEWd3Lml0jOn6S9e/d6HHNf7o3ucDi0ZMkSXXnllZKkr7/+Wmeeeaa2bt2q9u3bu+OuuOIK1a5dWy+99JLefvttZWRk6Oeff1adOnXcMe3atdOVV16pSZMm6YUXXtCYMWPKXJ5eu3ZtPfbYYxo6dKjP+2ebe3ICAAAAAAAA+H3S0tLc9790Op2aMmWK32OUPpTy5AdRJicnu1/LyclRZGSkR4HTW0xSUlKZ8ZOSkso8+LIytrpcHQAAAAAAAAh54bK+NfHXe3J66+Q8VQ6H5yPgjTFl1p3s5Bhv8b6MczI6OQEAAAAAAIBqIj4+3mM5lSJnSkqKJJXptjxw4IC7uzMlJUWFhYXKzc2tMOaHH34oM/6PP/5Ypku0MhQ5AQAAAAAAgGASHqDFIk2aNFFKSopWr17tXldYWKh169apa9eukqSOHTsqIiLCI2b//v369NNP3THp6enKy8vTBx984I55//33lZeX547xFZerAwAAAAAAAMEkgJer++rIkSPatWuX++fdu3dr+/btSkhIUMOGDZWdna3JkyerWbNmatasmSZPnqyaNWtq4MCBkiSn06lhw4Zp7Nixqlu3rhISEnTXXXepTZs27qett2zZUn379tXw4cP1zDPPSJL++Mc/ql+/fn49WV2iyAkAAAAAAADgJB9++KF69uzp/nnMmDGSpCFDhmjOnDm6++67dezYMY0aNUq5ubnq3LmzVq1apbi4OPc2jz32mMLDw9W/f38dO3ZMGRkZmjNnjsLCwtwx8+fP1x133KHMzExJ0uWXX66ZM2f6PV+HMcac6s5WB/n5+XI6ncrLy/O4KSsAAAgNfNcHJz4XAABCG9/13rmPS1MpPqzyeL/GdknOrxWyx5x7cgIAAAAAAACwNS5XBwAAAAAAAIJJuCSLOznlsHi8IEMnJwAAAAAAAABbo5MTAAAAAAAACCZ0cvqNTk4AAAAAAAAAtkYnJwAAAAAAABBMwmR9J2eIo8gJAAAAAAAABBMuV/cbl6sDAAAAAAAAsDU6OQEAAAAAAIBgEiaqdn6ikxMAAAAAAACArVETBgAAAAAAAIJJIB48ZCweL8jQyQkAAAAAAADA1ujkBAAAAAAAAIJJuKja+YlOTgAAAAAAAAC2Rk0YAAAAAAAACCZ0cvqNTk4AAAAAAAAAtkZNGAAAAAAAAAgmdHL6jcMFAAAAAAAABJMaksIsHrPE4vGCDJerAwAAAAAAALA1OjkBAAAAAACAYBKIy9WNxeMFGTo5AQAAAAAAANganZwAAAAAAABAMKGT0290cgIAAAAAAACwNTo5AQAAAAAAgGASJp6u7ic6OQEAAAAAAADYGp2cAAAAAAAAQDDhnpx+o8gJAAAAAAAABJMwWV+143J1AAAAAAAAAAhedHICAAAAAAAAwSQQDx6yerwgQycnAAAAAAAAAFujkxMAAAAAAAAIJoF48BD35AQAAAAAAACA4EUnJwAAAAAAABBM6OT0G52cAAAAAAAAAGyNTk4AAAAAAAAgmNDJ6TeKnAAAAAAAAEAwqSEpLABjhrAQ3z0AAAAAAAAAoY5OTgAAAAAAACCYBOJydZfF4wUZOjkBAAAAAAAA2BqdnAAAAAAAAEAwoZPTb3RyAgAAAAAAALA1OjkBAAAAAACAYBIm65+ubvV4QYZOTgAAAAAAAAC2RicnAAAAAAAAEEy4J6ffKHICAAAAAAAAwSRM1lftii0eL8hwuToAAAAAAAAAW6OTEwAAAAAAAAgmgbhcPcSrgHRyAgAAAAAAALC1EK/hAgAAAAAAADYT9uti9ZghjE5OAAAAAAAAALZGJycAAAAAAAAQTLgnp9/o5AQAAAAAAABgayFewwUAAAAAAABshk5Ov4X47gEAAAAAAAA2U0PWPygoxK/nDvHdAwAAAAAAABDq6OQEAAAAAAAAggmXq/uNTk4AAAAAAAAAthbiNVwAAAAAAADAZujk9BudnAAAAAAAAABsLcRruAAAAAAAAIDNhMn6p6tbPV6QoZMTAAAAAAAAgK3RyQkAAAAAAAAEE+7J6bcQ3z0AAAAAAADAZsJkfdWOy9UBAAAAAAAAIHjRyQkAAAAAAAAEEy5X9xudnAAAAAAAAABsLcRruAAAAAAAAIDNhMn6e2hyT04AAAAAAAAACF50cgIAAAAAAADBhHty+o1OTgAAAAAAAAC2FuI1XAAAAAAAAMBm6OT0G52cAAAAAAAAQDCpof89fMiqxc8qYHFxse677z41adJEMTExatq0qR588EGVlJS4Y4wxmjhxolJTUxUTE6MePXpox44dHuMUFBTo9ttvV2JiomJjY3X55Zfru+++8/OAVI4iJwAAAAAAAAAPU6dO1dNPP62ZM2fq888/17Rp0/Too4/qiSeecMdMmzZN06dP18yZM7V582alpKSod+/eOnz4sDsmOztbS5Ys0cKFC7V+/XodOXJE/fr1k8vlsnS+Id6oCgAAAAAAANhMAC9Xz8/P91gdFRWlqKioMuEbN27UFVdcoUsvvVSS1LhxY7388sv68MMPJZ3o4pwxY4buvfdeXX311ZKkl156ScnJyVqwYIFGjBihvLw8zZ49W3PnzlWvXr0kSfPmzVNaWprWrFmjPn36WLZ7tuvknDVrlpo0aaLo6Gh17NhR7777brmxixcvVu/evVWvXj3Fx8crPT1dK1euPI2zBQAACA3kYAAAAKEhLS1NTqfTvUyZMsVr3IUXXqi33npLX375pSTpo48+0vr16/WHP/xBkrR7927l5OQoMzPTvU1UVJS6d++uDRs2SJK2bNmioqIij5jU1FS1bt3aHWMVWxU5Fy1apOzsbN17773atm2bunXrpksuuUR79uzxGv+f//xHvXv31vLly7Vlyxb17NlTl112mbZt23aaZw4AAGBf5GAAAACnWXiAFkl79+5VXl6eexk/frzXKdxzzz264YYb1KJFC0VERKh9+/bKzs7WDTfcIEnKycmRJCUnJ3tsl5yc7H4tJydHkZGRqlOnTrkxVrHV5erTp0/XsGHDdMstt0iSZsyYoZUrV+qpp57yWnWeMWOGx8+TJ0/Wa6+9ptdff13t27c/HVMGAACwPXIwAACA0BEfH6/4+PhK4xYtWqR58+ZpwYIFOuecc7R9+3ZlZ2crNTVVQ4YMccc5HA6P7YwxZdadzJcYf9mmk7OwsFBbtmzxaG+VpMzMTJ/bW0tKSnT48GElJCSUG1NQUKD8/HyPBQAAoLoiBwMAAKgCVj9ZvXTxw5///GeNGzdO119/vdq0aaOsrCzdeeed7j9yp6SkSFKZjswDBw64uztTUlJUWFio3NzccmOsYpsi508//SSXy1VhC2xl/va3v+mXX35R//79y42ZMmWKx30J0tLSfte8AQAA7IwcDAAAoHo6evSoatTwLB2GhYWppKREktSkSROlpKRo9erV7tcLCwu1bt06de3aVZLUsWNHRUREeMTs379fn376qTvGKra6XF06tRZYSXr55Zc1ceJEvfbaa0pKSio3bvz48RozZoz75/z8fJJsAABQ7ZGDAQAAnEYBfLq6ry677DI9/PDDatiwoc455xxt27ZN06dP18033yzpRH6YnZ2tyZMnq1mzZmrWrJkmT56smjVrauDAgZIkp9OpYcOGaezYsapbt64SEhJ01113qU2bNu6nrVfR7lWdxMREhYWFVdgCW55FixZp2LBheuWVVyo9gFFRUYqKivrd8wUAAAgF5GAAAABVIEzWV+38vFz9iSee0P33369Ro0bpwIEDSk1N1YgRI/TAAw+4Y+6++24dO3ZMo0aNUm5urjp37qxVq1YpLi7OHfPYY48pPDxc/fv317Fjx5SRkaE5c+YoLMzPCVXCYYwxlo4YQJ07d1bHjh01a9Ys97pWrVrpiiuuKPdx9y+//LJuvvlmvfzyy7ryyiv9fs/8/Hw5nU7l5eX5dFNWAABgL3zXV44cDAAAWI3veu/cx+UdKb6WxWMfkZw9FLLH3DadnJI0ZswYZWVlqVOnTkpPT9ezzz6rPXv2aOTIkZJOXOb0/fff6x//+IekE8n14MGD9fe//11dunRxdyDExMTI6XRW2X4AAADYCTkYAADAaRYEl6vbja12b8CAATp48KAefPBB7d+/X61bt9by5cvVqFEjSSduXLpnzx53/DPPPKPi4mLddtttuu2229zrhwwZojlz5pzu6QMAANgSORgAAACCna0uV68KtE8DABDa+K4PTnwuAACENr7rvXMfl40Bulw9PXQvV69ReQgAAAAAAAAABC9bXa4OAAAAAAAAhDzuyek3OjkBAAAAAAAA2FqI13ABAAAAAAAAmwmT9VW7MIvHCzJ0cgIAAAAAAACwNTo5AQAAAAAAgGASJus7L0O8k5MiJwAAAAAAABBMePCQ37hcHQAAAAAAAICthXgNFwAAAAAAALAZOjn9RicnAAAAAAAAAFsL8RouAAAAAAAAYDN0cvqNTk4AAAAAAAAAthbiNVwAAAAAAADAXkwNyYRZP2YoC/HdAwAAAAAAABDq6OQEAAAAAAAAgogr/MRi9ZihLMR3DwAAAAAAALAXipz+43J1AAAAAAAAALYW4jVcAAAAAAAAwF6KwxwqDnNYPKaRZCwdM5jQyQkAAAAAAADA1ujkBAAAAAAAAIKIKzxcrnBrOzld4UZSkaVjBhM6OQEAAAAAAADYGp2cAAAAAAAAQBBxhYXJZfE9OV1hdHICAAAAAAAAQNCikxMAAAAAAAAIIiUKk0vWdnKWhPCT1SWKnAAAAAAAAEBQKVaYii0uchaHeJGTy9UBAAAAAAAA2BqdnAAAAAAAAEAQcSlMLot7E10qsXS8YEMnJwAAAAAAAABbo5MTAAAAAAAACCKB6eS09h6fwYZOTgAAAAAAAAC2RicnAAAAAAAAEETo5PQfnZwAAAAAAAAAbI1OTgAAAAAAACCI0MnpP4qcAAAAAAAAQBBxKUzFFDn9wuXqAAAAAAAAAGyNTk4AAAAAAAAgiLgUHoDL1UssHS/Y0MkJAAAAAAAAwNbo5AQAAAAAAACCiEs15FKYxWOGNjo5AQAAAAAAANganZwAAAAAAABAEHEpjE5OP9HJCQAAAAAAAMDW6OQEAAAAAAAAgkixwlRscSdnsaWjBR+KnAAAAAAAAEAQKVG45Zerl8hh6XjBhsvVAQAAAAAAANganZwAAAAAAABAEOHBQ/6jkxMAAAAAAACArdHJCQAAAAAAAAQROjn9RycnAAAAAAAAAFujkxMAAAAAAAAIIi7VCEAnp7F0vGBDJycAAAAAAAAAW6OTEwAAAAAAAAgixQpTscWdnMUh3slJkRMAAAAAAAAIIi6Fy2Vx2Y4HDwEAAAAAAABAEKOTEwAAAAAAAAgiJQqz/MFDJSF+uTqdnAAAAAAAAABsjU5OAAAAAAAAIIi4AtDJ6QrxTk6fipx16tSRw+HwacCff/75d00IAAAAJ5CDAQAAAL7xqcg5Y8YM978PHjyohx56SH369FF6erokaePGjVq5cqXuv//+gEwSAACgOiIHAwAAqJ6KVUPFFndyFqvE0vGCjcMY41ev6jXXXKOePXtq9OjRHutnzpypNWvWaOnSpVbOr8rl5+fL6XQqLy9P8fHxVT0dAABgMbt815ODAQCAUMJ3vXelx2VuXi/VjI+wdOyj+UXKcq4J2WPu94OHVq5cqb59+5ZZ36dPH61Zs8aSSQEAAMATORgAAED14VJ4QJZQ5neRs27dulqyZEmZ9UuXLlXdunUtmRQAAAA8kYMBAABUH6UPHrJ6CWV+l3AnTZqkYcOG6Z133nHfD2rTpk1asWKFnn/+ecsnCAAAAHIwAAAAoCJ+FzlvuukmtWzZUo8//rgWL14sY4xatWql9957T507dw7EHAEAAKo9cjAAAIDqIxCdl64Qf/DQKV2M37lzZ82fP9/quQAAAKAC5GAAAACAdz4VOfPz891PXcrPz68wNhSfzgQAAFAVyMEAAACqJ5fCVEwnp198KnLWqVNH+/fvV1JSkmrXri2Hw1Emxhgjh8Mhl8tl+SQBAACqI3IwAAAAwDc+FTnffvttJSQkSJLWrl0b0AkBAADgBHIwAACA6smlcLlO7S6TFYxpLB0v2Ph0tLp37+713wAAAAgccjAAAABUpe+//1733HOP/v3vf+vYsWM6++yzNXv2bHXs2FHSiauKJk2apGeffVa5ubnq3LmznnzySZ1zzjnuMQoKCnTXXXfp5Zdf1rFjx5SRkaFZs2apQYMGls61hqWjAQAAAAAAAPhdXKrhfsK6dYt/ZcDc3FxdcMEFioiI0L///W999tln+tvf/qbatWu7Y6ZNm6bp06dr5syZ2rx5s1JSUtS7d28dPnzYHZOdna0lS5Zo4cKFWr9+vY4cOaJ+/fpZfrsla/teAQAAAAAAAPwupYVJq8f0x9SpU5WWlqYXX3zRva5x48bufxtjNGPGDN177726+uqrJUkvvfSSkpOTtWDBAo0YMUJ5eXmaPXu25s6dq169ekmS5s2bp7S0NK1Zs0Z9+vT5/Tv2Kzo5AQAAAAAAgGoiPz/fYykoKPAat2zZMnXq1EnXXXedkpKS1L59ez333HPu13fv3q2cnBxlZma610VFRal79+7asGGDJGnLli0qKiryiElNTVXr1q3dMVahyAkAAAAAAAAEEesvVf9fZ2haWpqcTqd7mTJlitc5fP3113rqqafUrFkzrVy5UiNHjtQdd9yhf/zjH5KknJwcSVJycrLHdsnJye7XcnJyFBkZqTp16pQbYxW/i5w7duwo97UVK1b8rskAAADAO3IwAAAAWGHv3r3Ky8tzL+PHj/caV1JSog4dOmjy5Mlq3769RowYoeHDh+upp57yiHM4HB4/G2PKrDuZLzH+8rvI2alTJz3xxBMe6woKCjR69GhdddVVlk0MAAAA/0MOBgAAUH24FKZii5fSTs74+HiPJSoqyusczjjjDLVq1cpjXcuWLbVnzx5JUkpKiiSV6cg8cOCAu7szJSVFhYWFys3NLTfGKn4XOefPn69JkybpkksuUU5OjrZv36727dvr7bff1nvvvWfp5AAAAHACORgAAABOpwsuuEA7d+70WPfll1+qUaNGkqQmTZooJSVFq1evdr9eWFiodevWqWvXrpKkjh07KiIiwiNm//79+vTTT90xVvG7yHn11Vfr448/VnFxsVq3bq309HT16NFDW7ZsUYcOHSydHAAAAE4gBwMAAKg+XAoPyOKPO++8U5s2bdLkyZO1a9cuLViwQM8++6xuu+02SScuU8/OztbkyZO1ZMkSffrpp7rppptUs2ZNDRw4UJLkdDo1bNgwjR07Vm+99Za2bdumG2+8UW3atHE/bd0q/u3dr1wulwoLC+VyueRyuZSSklJua2uocDqnSIqu6mlYwNePvNji8SJ8jPNVnB+xvu5LgsVx8T7GJfkY18zHOD908zGus49xvX0LuynzaZ/iRugZn+K61N/u2xtLmrTPtzhfP+Xbl/sW99wlWT7FjS/xfsPnkx2cV9+3N17qW5gk6V0f437xMe5YkY+Bn/gYl+9jnK+/8z/4GCdJxyyO8/XY+Dqer/+N9XW84GfMBJ/iHI5JPkQd/32TOY2qZw42Q5XlYMbcbel7OhzTfIz09XfK128VSWrpR6wvWvgY97OPcb7Oz4//xtZp4FtcXR/HS/P9rX3S0ce4y3wLS7poj89vfWCfb5fx/SX1Xp/iRvqYWyVOOeJTnL72LUy7fQv7aU0tHweUnnT4NscJ5/o44AM+xrXxLWzZWZmVB0l60Mc33nm0uW9vLOnIJ4m+Bfb0cUAf007918c4X/n6v9/HvvJj0MY+xn3jx5i+8PW/sb7lxcbc4lOcb3mQf6prDlZdnXfeeVqyZInGjx+vBx98UE2aNNGMGTM0aNAgd8zdd9+tY8eOadSoUcrNzVXnzp21atUqxcX9r27z2GOPKTw8XP3799exY8eUkZGhOXPmKCwszNL5+t3JuXDhQrVt21ZOp1Nffvml3nzzTT377LPq1q2bvv7a1285AAAA+IMcDAAAoPoI5NPV/dGvXz998sknOn78uD7//HMNHz7c43WHw6GJEydq//79On78uNatW6fWrVt7xERHR+uJJ57QwYMHdfToUb3++utKS7P6r5KnUOQcNmyYJk+erGXLlqlevXrq3bu3PvnkE9WvX1/nnnuu5RMEAAAAORgAAABQEb8vV9+6dauaN/dsla9Tp47++c9/au7cuZZNDAAAAP9DDgYAAFB9uFTjlDovKxszlPm9d4sWLdLRo0fLrD927Jh27/bxZisAAADwCzkYAABA9VGssIAsoczvIuekSZN05EjZmzwfPXpUkyZZf1NbAAAAkIMBAAAAFfG7yGmMkcPhKLP+o48+UkKCP0+OPDWzZs1SkyZNFB0drY4dO+rddyt+HPC6devUsWNHRUdHq2nTpnr6ad+e6gwAABBMyMEAAACqD5fCA7KEMp/3rk6dOnI4HHI4HDr77LM9kmyXy6UjR45o5MiRAZlkqUWLFik7O1uzZs3SBRdcoGeeeUaXXHKJPvvsMzVs2LBM/O7du/WHP/xBw4cP17x58/Tee+9p1KhRqlevnq655pqAzhUAAMAK5GAAAABA5Xwucs6YMUPGGN18882aNGmSnE6n+7XIyEg1btxY6enpAZlkqenTp2vYsGG65ZZb3HNauXKlnnrqKU2ZMqVM/NNPP62GDRtqxowZkqSWLVvqww8/1F//+lcSbAAAYAvkYAAAANVPicIsf/BQSYjfk9PnIueQIUMkSU2aNNEFF1yg8PDT2+JaWFioLVu2aNy4cR7rMzMztWHDBq/bbNy4UZmZmR7r+vTpo9mzZ6uoqEgRERFltikoKFBBQYH75/z8fAtmDwAAcGrIwQAAAIDK+Z0lT5w4UTfeeKOuvfZaj06CQPvpp5/kcrmUnJzssT45OVk5OTlet8nJyfEaX1xcrJ9++klnnHFGmW2mTJni9eb9eXnjFR8f/zv2AMD/+HpZpY9x3/v+zhN8D7XUcF/jfL1T8mCL4wKibBHDuw4BnQWqN2Mq/63Pz8+X0/nIaZjN71N9c7Ds056DGXP3aX2/4NAgyMcLJWVv8VCuVF8D/2pt3Hhf39daiX7ETjABm4YlLrc4TjX9ePPOPsYd9WPMoNbMJmP6wtcPzze+5EGBEko5WFVxBaCT0+rxgo3fDx5q06aN7rvvPqWkpOiaa67R0qVLVVhYGIi5eXXyDffLuwl/RfHe1pcaP3688vLy3MvevXt/54wBAAB+P3IwAAAAoHx+Fzkff/xxff/993rttdcUFxenIUOGKCUlRX/84x+1bt26QMxRkpSYmKiwsLAyHQMHDhwo0ylQKiUlxWt8eHi46tat63WbqKgoxcfHeywAAABVjRwMAACg+nCphrub07rF7zKgrZzS3tWoUUOZmZmaM2eOfvjhBz3zzDP64IMPdPHFF1s9P7fIyEh17NhRq1ev9li/evVqde3a1es26enpZeJXrVqlTp06eb0XFAAAQDAjBwMAAKgeihUWkCWU/a4Sbk5Ojp5++mlNnTpVH3/8sTp16mTVvLwaM2aMnn/+eb3wwgv6/PPPdeedd2rPnj0aOfLEffvGjx+vwYP/dwO6kSNH6ttvv9WYMWP0+eef64UXXtDs2bN11113BXSeAAAAgUQOBgAAAHjy+8FD+fn5evXVV7VgwQK98847atq0qQYOHKiFCxfqrLPOCsQc3QYMGKCDBw/qwQcf1P79+9W6dWstX75cjRo1kiTt379fe/bsccc3adJEy5cv15133qknn3xSqampevzxx3XNNdcEdJ4AAABWIwcDAACoPlwKl8v/sl2lY4Yyhym9C7yPYmJiVKdOHfXv31+DBg3SeeedF6i5BYUTT/tyKi8vj3tDAQAQguzyXU8OBgAAQgnf9d6VHpdb8yYoKj7a0rEL8o/rKeekkD3mfpdwX3vtNfXq1Us1aoT2zUoBAACCCTkYAABA9VHy68OCrB4zlPld5MzMzAzEPAAAAFABcjAAAACgfD4VOdu3by+Hw+HTgFu3bv1dEwIAAMAJ5GAAAADVkysAnZxWjxdsfCpyXnnlle5/Hz9+XLNmzVKrVq2Unp4uSdq0aZN27NihUaNGBWSSAAAA1RE5GAAAAOAbn4qcEyZMcP/7lltu0R133KG//OUvZWL27t1r7ewAAACqMXIwAACA6qlYYaphcedlcYh3cvp95/pXXnlFgwcPLrP+xhtv1KuvvmrJpAAAAOCJHAwAAKD6OHG5erjFC0VODzExMVq/fn2Z9evXr1d0tLWPtgcAAMAJ5GAAAABA+fx+unp2drZuvfVWbdmyRV26dJF04n5QL7zwgh544AHLJwgAAAByMAAAgOqEBw/5z+8i57hx49S0aVP9/e9/14IFCyRJLVu21Jw5c9S/f3/LJwgAAAByMAAAAKAifhc5Jal///4k0wAAAKcZORgAAED1QCen/06pyClJhYWFOnDggEpKSjzWN2zY8HdPCgAAAN6RgwEAAABl+V3k/Oqrr3TzzTdrw4YNHuuNMXI4HHK5XJZNDgAAACeQgwEAAFQfJQHo5Cyhk9PTTTfdpPDwcL3xxhs644wz5HA4AjEvAAAA/AY5GAAAAFA+v4uc27dv15YtW9SiRYtAzAcAAABekIMBAABUH8UKk8PizstiOjk9tWrVSj/99FMg5gIAAIBykIMBAABUHy6FqcapP0qn3DFDWQ1/N5g6daruvvtuvfPOOzp48KDy8/M9FgAAAFiPHAwAAAAon98l4V69ekmSMjIyPNZz03sAAIDAIQcDAACoPk50clrbeRnqnZx+FznXrl0biHkAAACgAuRgAAAAQPn8LnJ27949EPMAAABABcjBAAAAqg86Of3n9z05Jendd9/VjTfeqK5du+r777+XJM2dO1fr16+3dHIAAAD4H3IwAAAAwDu/i5yvvvqq+vTpo5iYGG3dulUFBQWSpMOHD2vy5MmWTxAAAADkYAAAANVJscICsoQyv4ucDz30kJ5++mk999xzioiIcK/v2rWrtm7daunkAAAAcAI5GAAAAFA+v+/JuXPnTl100UVl1sfHx+vQoUNWzAkAAAAnIQcDAACoPkoULpf/ZbtKxwxlfndynnHGGdq1a1eZ9evXr1fTpk0tmRQAAAA8kYMBAABUHy6FBWQJZX4XOUeMGKE//elPev/99+VwOLRv3z7Nnz9fd911l0aNGhWIOQIAAFR75GAAAABA+fzuU7377ruVl5ennj176vjx47rooosUFRWlu+66S6NHjw7EHAEAAKo9cjAAAIDqw6Uacljceenyv9fRVhzGGHMqGx49elSfffaZSkpK1KpVK9WqVcvquQWF/Px8OZ1O5eXlKT4+vqqnAwAALGa373pyMAAAEAr4rveu9LhcmPcvhcfHWjp2cf4vWu+8NmSP+SnfcbRmzZrq1KmTlXMBAABAJcjBAAAAQl+xwiSLOzmLuScnAAAAAAAAAASv0H52PAAAAAAAAGAzLoXLYXHZzhXiZUA6OQEAAAAAAADYWmiXcAEAAAAAAACbKVGYXBbfQ7MkxO/JSZETAAAAAAAACCKuADx4yOqiabDhcnUAAAAAAAAAtkYnJwAAAAAAABBE6OT0H52cAAAAAAAAAGyNTk4AAAAAAAAgiBSrhozlnZyh3esY2nsHAAAAAAAAIOTRyQkAAAAAAAAEEZfCZXXZzhXiZUA6OQEAAAAAAADYWmiXcAEAAAAAAACb4enq/qPICQAAAAAAAASRkgAUOUtCvMjJ5eoAAAAAAAAAbI1OTgAAAAAAACCIFCtMNejk9AudnAAAAAAAAABsjU5OAAAAAAAAIIi4FCZjcdmOTk4AAAAAAAAACGJ0cgIAAAAAAABB5EQnJ/fk9AednAAAAAAAAABsjU5OAAAAAAAAIIjQyek/ipwAAAAAAABAEHGVhMmUWFzktHi8YMPl6gAAAAAAAABsjU5OAAAAAAAAIIi4isNUUmxt56WxeLxgQycnAAAAAAAAAFujkxMAAAAAAAAIIq7icDmKrS3bGYvHCzZ0cgIAAAAAAACwNYqcAAAAAAAAQBBxFdeQqzjM4uXUy4BTpkyRw+FQdna2e50xRhMnTlRqaqpiYmLUo0cP7dixw2O7goIC3X777UpMTFRsbKwuv/xyfffdd6c8j4pQ5AQAAAAAAADg1ebNm/Xss8+qbdu2HuunTZum6dOna+bMmdq8ebNSUlLUu3dvHT582B2TnZ2tJUuWaOHChVq/fr2OHDmifv36yeVyWT5PipwAAAAAAABAELG+i/PE4q8jR45o0KBBeu6551SnTh33emOMZsyYoXvvvVdXX321WrdurZdeeklHjx7VggULJEl5eXmaPXu2/va3v6lXr15q37695s2bp08++URr1qyx7FiVosgJAAAAAAAABJHi4jAVF1m8/FrkzM/P91gKCgrKncdtt92mSy+9VL169fJYv3v3buXk5CgzM9O9LioqSt27d9eGDRskSVu2bFFRUZFHTGpqqlq3bu2OsRJFTgAAAAAAAKCaSEtLk9PpdC9TpkzxGrdw4UJt3brV6+s5OTmSpOTkZI/1ycnJ7tdycnIUGRnp0QF6coyVQvvZ8QAAAAAAAIDNGFe4jMvist2v4+3du1fx8fHu1VFRUWVC9+7dqz/96U9atWqVoqOjyx3S4XB4/GyMKbPuZL7EnAo6OQEAAAAAAIBqIj4+3mPxVuTcsmWLDhw4oI4dOyo8PFzh4eFat26dHn/8cYWHh7s7OE/uyDxw4ID7tZSUFBUWFio3N7fcGCtR5AQAAAAAAACCSXFYYBYfZWRk6JNPPtH27dvdS6dOnTRo0CBt375dTZs2VUpKilavXu3eprCwUOvWrVPXrl0lSR07dlRERIRHzP79+/Xpp5+6Y6zE5eoAAAAAAAAA3OLi4tS6dWuPdbGxsapbt657fXZ2tiZPnqxmzZqpWbNmmjx5smrWrKmBAwdKkpxOp4YNG6axY8eqbt26SkhI0F133aU2bdqUeZCRFShyAgAAAAAAAMHEz85Ln8e00N13361jx45p1KhRys3NVefOnbVq1SrFxcW5Yx577DGFh4erf//+OnbsmDIyMjRnzhyFhVm8b5Icxhhj+aghJD8/X06nU3l5eR43ZQUAAKGB7/rgxOcCAEBo47veu9Ljou2HpDiLj8vhfOnc2iF7zOnkBAAAAAAAAIKJyyEVW/wEcpf1TzQPJjx4CAAAAAAAAICt0ckJAAAAAAAABJPiXxerxwxhFDkBAAAAAACAYEKR029crg4AAAAAAADA1ujkBAAAAAAAAIIJnZx+o5MTAAAAAAAAgK3RyQkAAAAAAAAEk2JJRQEYM4TRyQkAAAAAAADA1ujkBAAAAAAAAIKJ69fF6jFDGJ2cAAAAAAAAAGyNTk4AAAAAAAAgmPB0db9R5AQAAAAAAACCCUVOv3G5OgAAAAAAAABbs02RMzc3V1lZWXI6nXI6ncrKytKhQ4fKjS8qKtI999yjNm3aKDY2VqmpqRo8eLD27dt3+iYNAABgc+RgAAAAVaA4QEsIs02Rc+DAgdq+fbtWrFihFStWaPv27crKyio3/ujRo9q6davuv/9+bd26VYsXL9aXX36pyy+//DTOGgAAwN7IwQAAAGAHDmOMqepJVObzzz9Xq1attGnTJnXu3FmStGnTJqWnp+uLL75Q8+bNfRpn8+bNOv/88/Xtt9+qYcOGPm2Tn58vp9OpvLw8xcfHn/I+AACA4MR3ffnIwQAAQKDwXe9d6XHRK3lSTYuPy9F86brQPea26OTcuHGjnE6nO7mWpC5dusjpdGrDhg0+j5OXlyeHw6HatWuXG1NQUKD8/HyPBQAAoDoiBwMAAIBd2KLImZOTo6SkpDLrk5KSlJOT49MYx48f17hx4zRw4MAKq9VTpkxx33PK6XQqLS3tlOcNAABgZ+RgAAAAVYR7cvqtSoucEydOlMPhqHD58MMPJUkOh6PM9sYYr+tPVlRUpOuvv14lJSWaNWtWhbHjx49XXl6ee9m7d++p7RwAAECQIgcDAABAqAmvyjcfPXq0rr/++gpjGjdurI8//lg//PBDmdd+/PFHJScnV7h9UVGR+vfvr927d+vtt9+u9J4DUVFRioqKqnzyAAAANkUOBgAAEOQC0XkZ4p2cVVrkTExMVGJiYqVx6enpysvL0wcffKDzzz9fkvT+++8rLy9PXbt2LXe70uT6q6++0tq1a1W3bl3L5g4AAGBX5GAAAABBrujXxeoxQ5gt7snZsmVL9e3bV8OHD9emTZu0adMmDR8+XP369fN4qmeLFi20ZMkSSVJxcbGuvfZaffjhh5o/f75cLpdycnKUk5OjwsLCqtoVAAAA2yAHAwAAgF3YosgpSfPnz1ebNm2UmZmpzMxMtW3bVnPnzvWI2blzp/Ly8iRJ3333nZYtW6bvvvtO5557rs444wz34s/TQAEAAKozcjAAAIAq4ArQEsKq9HJ1fyQkJGjevHkVxhhj3P9u3Lixx88AAADwHzkYAAAA7MA2RU4AAAAAAACgWnDJ+gcFhXgnp20uVwcAAAAAAAAAb+jkBAAAAAAAAIJJsazv5LR6vCBDJycAAAAAAAAAW6OTEwAAAAAAAAgmdHL6jSInAAAAAAAAEEwocvqNy9UBAAAAAAAA2BqdnAAAAAAAAEAwccn6zkuXxeMFGTo5AQAAAAAAANganZwAAAAAAABAMOGenH6jkxMAAAAAAACArdHJCQAAAAAAAASTIklhARgzhNHJCQAAAAAAAMDW6OQEAAAAAAAAgolL1j8NPcSfrk6REwAAAAAAAAgmPHjIb1yuDgAAAAAAAMDW6OQEAAAAAAAAgolL1ndehvjl6nRyAgAAAAAAALA1OjkBAAAAAACAYFIsKSwAY4YwOjkBAAAAAAAA2BqdnAAAAAAAAEAwKZL1rYlFFo8XZOjkBAAAAAAAAGBrdHICAAAAAAAAwcQl65+GHuJPV6fICQAAAAAAAAQTl6x/UFCIFzm5XB0AAAAAAACArdHJCQAAAAAAAASTYlnfmmh1Z2iQoZMTAAAAAAAAgK3RyQkAAAAAAAAEkyJJjgCMGcLo5AQAAAAAAABga3RyAgAAAAAAAMHEJeufhs7T1QEAAAAAAAAgeNHJCQAAAAAAAAQTnq7uN4qcAAAAAAAAQDBxyfqiJJerAwAAAAAAAEDwopMTAAAAAAAACCZFNhkziNDJCQAAAAAAAMDW6OQEAAAAAAAAgolL1rcmck9OAAAAAAAAAAhedHICAAAAAAAAwaRYkiMAY4YwOjkBAAAAAAAA2BqdnAAAAAAAAEAwoZPTbxQ5AQAAAAAAgGASiIJkiBc5uVwdAAAAAAAAgK3RyQkAAAAAAAAEE5esv1zdZfF4QYZOTgAAAAAAAAC2RicnAAAAAAAAEEy4J6ff6OQEAAAAAAAA4GHKlCk677zzFBcXp6SkJF155ZXauXOnR4wxRhMnTlRqaqpiYmLUo0cP7dixwyOmoKBAt99+uxITExUbG6vLL79c3333neXzpcgJAAAAAAAABJPiAC1+WLdunW677TZt2rRJq1evVnFxsTIzM/XLL7+4Y6ZNm6bp06dr5syZ2rx5s1JSUtS7d28dPnzYHZOdna0lS5Zo4cKFWr9+vY4cOaJ+/frJ5bL2JqEOY4yxdMQQk5+fL6fTqby8PMXHx1f1dAAAgMX4rg9OfC4AAIQ2vuu9Kz0uOi9PCrf4uBTnS5tP/Zj/+OOPSkpK0rp163TRRRfJGKPU1FRlZ2frnnvukXSiazM5OVlTp07ViBEjlJeXp3r16mnu3LkaMGCAJGnfvn1KS0vT8uXL1adPH8t2j05OAAAAAAAAIJgUSyqyePm1kzM/P99jKSgo8GlKeXl5kqSEhARJ0u7du5WTk6PMzEx3TFRUlLp3764NGzZIkrZs2aKioiKPmNTUVLVu3dodYxWKnAAAAAAAAEA1kZaWJqfT6V6mTJlS6TbGGI0ZM0YXXnihWrduLUnKycmRJCUnJ3vEJicnu1/LyclRZGSk6tSpU26MVXi6OgAAAAAAABBMrL1dpceYe/fu9bhcPSoqqtJNR48erY8//ljr168v85rD4fD42RhTZt3JfInxF52cAAAAAAAAQDAJ4IOH4uPjPZbKipy33367li1bprVr16pBgwbu9SkpKZJUpiPzwIED7u7OlJQUFRYWKjc3t9wYq1DkBAAAAAAAAODBGKPRo0dr8eLFevvtt9WkSROP15s0aaKUlBStXr3ava6wsFDr1q1T165dJUkdO3ZURESER8z+/fv16aefumOswuXqAAAAAAAAQDAplmQsHtPPS+Bvu+02LViwQK+99pri4uLcHZtOp1MxMTFyOBzKzs7W5MmT1axZMzVr1kyTJ09WzZo1NXDgQHfssGHDNHbsWNWtW1cJCQm666671KZNG/Xq1cvS3aPICQAAAAAAAMDDU089JUnq0aOHx/oXX3xRN910kyTp7rvv1rFjxzRq1Cjl5uaqc+fOWrVqleLi4tzxjz32mMLDw9W/f38dO3ZMGRkZmjNnjsLCwiydr8MYY3VdOKTk5+fL6XQqLy/P46asAAAgNPBdH5z4XAAACG1813tXelzUNE+qYfFxKcmXvg7dY849OQEAAAAAAADYGperAwAAAAAAAMHEJevvyVli8XhBhk5OAAAAAAAAALZGJycAAAAAAAAQTIplfWtiiHdyUuQEAAAAAAAAgglFTr9xuToAAAAAAAAAW6OTEwAAAAAAAAgmRaKT0090cgIAAAAAAACwNTo5AQAAAAAAgGBSIslYPKbV4wUZOjkBAAAAAAAA2BqdnAAAAAAAAEAwKZbksHhMOjkBAAAAAAAAIHjRyQkAAAAAAAAEEzo5/UaREwAAAAAAAAgmRaLI6ScuVwcAAAAAAABga3RyAgAAAAAAAMHEJTo5/UQnJwAAAAAAAABbo5MTAAAAAAAACDYh3nlpNTo5AQAAAAAAANgaRU4AAAAAAAAAtkaREwAAAAAAAICtUeQEAAAAAAAAYGsUOQEAAAAAAADYGkVOAAAAAAAAALYWXtUTAAAAAAAAAPBbRb8uVo8ZumzTyZmbm6usrCw5nU45nU5lZWXp0KFDPm8/YsQIORwOzZgxI2BzBAAACDXkYAAAALAD2xQ5Bw4cqO3bt2vFihVasWKFtm/frqysLJ+2Xbp0qd5//32lpqYGeJYAAAChhRwMAACgKhQHaAldtrhc/fPPP9eKFSu0adMmde7cWZL03HPPKT09XTt37lTz5s3L3fb777/X6NGjtXLlSl166aWna8oAAAC2Rw4GAAAAu7BFkXPjxo1yOp3u5FqSunTpIqfTqQ0bNpSbYJeUlCgrK0t//vOfdc455/j0XgUFBSooKHD/nJ+f//smDwAAYFPkYAAAAFWFe3L6yxaXq+fk5CgpKanM+qSkJOXk5JS73dSpUxUeHq477rjD5/eaMmWK+55TTqdTaWlppzRnAAAAuyMHAwAAgF1UaZFz4sSJcjgcFS4ffvihJMnhcJTZ3hjjdb0kbdmyRX//+981Z86ccmO8GT9+vPLy8tzL3r17T23nAAAAghQ5GAAAQLDjnpz+qtLL1UePHq3rr7++wpjGjRvr448/1g8//FDmtR9//FHJyclet3v33Xd14MABNWzY0L3O5XJp7NixmjFjhr755huv20VFRSkqKsr3nQAAALAZcjAAAIBgVyzrLy+nyBkwiYmJSkxMrDQuPT1deXl5+uCDD3T++edLkt5//33l5eWpa9euXrfJyspSr169PNb16dNHWVlZGjp06O+fPAAAgE2RgwEAACDU2OLBQy1btlTfvn01fPhwPfPMM5KkP/7xj+rXr5/HDe9btGihKVOm6KqrrlLdunVVt25dj3EiIiKUkpJS4ZNAAQAAcAI5GAAAQFXhwUP+ssWDhyRp/vz5atOmjTIzM5WZmam2bdtq7ty5HjE7d+5UXl5eFc0QAAAg9JCDAQAAwA5s0ckpSQkJCZo3b16FMcaYCl8v7x5QAAAA8I4cDAAAoCoE4kFBoX1PTtt0cgIAAAAAAACAN7bp5AQAAAAAAACqB56u7i86OQEAAAAAAADYGp2cAAAAAAAAQFDhnpz+osgJAAAAAAAABJUiWX+5utXjBRcuVwcAAAAAAABga3RyAgAAAAAAAEGFy9X9RScnAAAAAAAAAFujkxMAAAAAAAAIKsWy/h6adHICAAAAAAAAQNCikxMAAAAAAAAIKtyT0190cgIAAAAAAACwNTo5AQAAAAAAgKBSJOvvyWn1eMGFIicAAAAAAAAQVLhc3V9crg4AAAAAAADA1ujkBAAAAAAAAIJKsay/vJxOTgAAAAAAAAAIWnRyAgAAAAAAAEGFe3L6i05OAAAAAAAAALZGJycAAAAAAAAQVIpk/T05rR4vuNDJCQAAAAAAAMDW6OQEAAAAAAAAggqdnP6iyAkAAAAAAAAEFR485C8uVwcAAAAAAABga3RyAgAAAAAAAEGlWNZfXk4nJwAAAAAAAAAELTo5AQAAAAAAgKDCPTn9RScnAAAAAAAAAFujkxMAAAAAAAAIKkWyvmxn9T0+gwudnAAAAAAAAABsjU5OAAAAAAAAIKhwT05/0ckJAAAAAAAAwNbo5AQAAAAAAACCSrGsv4dmaHdyUuQEAAAAAAAAggqXq/uLy9UBAAAAAAAA2BqdnAAAAAAAAEBQKZIUFoAxQxednAAAAAAAAABsjU5OAAAAAAAAIKhwT05/UeSshDFGkpSfn1/FMwEAAIFQ+h1f+p2P4EAOBgBAaCMHq0yBTcYMHhQ5K3H48GFJUlpaWhXPBAAABNLhw4fldDqrehr4FTkYAADVAzmYp8jISKWkpCgn57GAjJ+SkqLIyMiAjF3VHIaSeYVKSkq0b98+xcXFyeFwVPV0KpSfn6+0tDTt3btX8fHxVT2doMFxKYtj4h3HpSyOSVkcE+/sfFyMMTp8+LBSU1NVowa3Kw8WwZaD2fkcB5+f3fH52Rufn70F8vMjByvf8ePHVVhYGJCxIyMjFR0dHZCxqxqdnJWoUaOGGjRoUNXT8Et8fDxfHl5wXMrimHjHcSmLY1IWx8Q7ux4XugeCT7DmYHY9x3ECn5+98fnZG5+fvQXq8yMH8y46OjpkC5GBRKkcAAAAAAAAgK1R5AQAAAAAAABgaxQ5Q0hUVJQmTJigqKioqp5KUOG4lMUx8Y7jUhbHpCyOiXccF4Q6znF74/OzNz4/e+Pzszc+P9gJDx4CAAAAAAAAYGt0cgIAAAAAAACwNYqcAAAAAAAAAGyNIicAAAAAAAAAW6PICQAAAAAAAMDWKHLaTG5urrKysuR0OuV0OpWVlaVDhw5VuI3D4fC6PProo+6YHj16lHn9+uuvD/DeWONUjslNN91UZn+7dOniEVNQUKDbb79diYmJio2N1eWXX67vvvsugHtiHX+PSVFRke655x61adNGsbGxSk1N1eDBg7Vv3z6POLudJ7NmzVKTJk0UHR2tjh076t13360wft26derYsaOio6PVtGlTPf3002ViXn31VbVq1UpRUVFq1aqVlixZEqjpB4Q/x2Tx4sXq3bu36tWrp/j4eKWnp2vlypUeMXPmzPH635fjx48Helcs5c9xeeedd7zu8xdffOERV53OFW//TXU4HDrnnHPcMaFyrqD6ePjhh9W1a1fVrFlTtWvX9mkbY4wmTpyo1NRUxcTEqEePHtqxY0dgJwqvApUfInACkbfh9AlELoXT4z//+Y8uu+wypaamyuFwaOnSpZVuw+8fghVFTpsZOHCgtm/frhUrVmjFihXavn27srKyKtxm//79HssLL7wgh8Oha665xiNu+PDhHnHPPPNMIHfFMqdyTCSpb9++Hvu7fPlyj9ezs7O1ZMkSLVy4UOvXr9eRI0fUr18/uVyuQO2KZfw9JkePHtXWrVt1//33a+vWrVq8eLG+/PJLXX755WVi7XKeLFq0SNnZ2br33nu1bds2devWTZdccon27NnjNX737t36wx/+oG7dumnbtm36v//7P91xxx169dVX3TEbN27UgAEDlJWVpY8++khZWVnq37+/3n///dO1W7+Lv8fkP//5j3r37q3ly5dry5Yt6tmzpy677DJt27bNIy4+Pr7Mf2eio6NPxy5Zwt/jUmrnzp0e+9ysWTP3a9XtXPn73//ucSz27t2rhIQEXXfddR5xdj9XUL0UFhbquuuu06233urzNtOmTdP06dM1c+ZMbd68WSkpKerdu7cOHz4cwJnCm0DlhwiMQORtOH0CkUvh9Pnll1/Url07zZw506d4fv8Q1Axs47PPPjOSzKZNm9zrNm7caCSZL774wudxrrjiCnPxxRd7rOvevbv505/+ZNVUT5tTPSZDhgwxV1xxRbmvHzp0yERERJiFCxe6133//femRo0aZsWKFZbMPVCsOk8++OADI8l8++237nV2Ok/OP/98M3LkSI91LVq0MOPGjfMaf/fdd5sWLVp4rBsxYoTp0qWL++f+/fubvn37esT06dPHXH/99RbNOrD8PSbetGrVykyaNMn984svvmicTqdVU6wS/h6XtWvXGkkmNze33DGr+7myZMkS43A4zDfffONeFwrnCqonX8/dkpISk5KSYh555BH3uuPHjxun02mefvrpAM4QJwtUfojACUTehtMnELkUqoYks2TJkgpj+P1DMKOT00Y2btwop9Opzp07u9d16dJFTqdTGzZs8GmMH374QW+++aaGDRtW5rX58+crMTFR55xzju666y5bdB38nmPyzjvvKCkpSWeffbaGDx+uAwcOuF/bsmWLioqKlJmZ6V6Xmpqq1q1b+3ysq4oV54kk5eXlyeFwlLlEzw7nSWFhobZs2eLx+UlSZmZmucdg48aNZeL79OmjDz/8UEVFRRXGBPs5IZ3aMTlZSUmJDh8+rISEBI/1R44cUaNGjdSgQQP169evTKdnMPs9x6V9+/Y644wzlJGRobVr13q8Vt3PldmzZ6tXr15q1KiRx3o7nytAZXbv3q2cnByP352oqCh1797dFr/7oSRQ+SECI1B5G06PQOVSCF78/iGYhVf1BOC7nJwcJSUllVmflJSknJwcn8Z46aWXFBcXp6uvvtpj/aBBg9SkSROlpKTo008/1fjx4/XRRx9p9erVlsw9UE71mFxyySW67rrr1KhRI+3evVv333+/Lr74Ym3ZskVRUVHKyclRZGSk6tSp47FdcnKyz8e6qlhxnhw/flzjxo3TwIEDFR8f715vl/Pkp59+ksvlUnJyssf6ij6/nJwcr/HFxcX66aefdMYZZ5QbE+znhHRqx+Rkf/vb3/TLL7+of//+7nUtWrTQnDlz1KZNG+Xn5+vvf/+7LrjgAn300Ue2uOToVI7LGWecoWeffVYdO3ZUQUGB5s6dq4yMDL3zzju66KKLJJV/PlWHc2X//v3697//rQULFnist/u5AlSm9PfD2+/Ot99+WxVTqrYClR8iMAKVt+H0CFQuheDF7x+CGUXOIDBx4kRNmjSpwpjNmzdLOvEQoZMZY7yu9+aFF17QoEGDytwDbfjw4e5/t27dWs2aNVOnTp20detWdejQwaexrRToYzJgwAD3v1u3bq1OnTqpUaNGevPNN8sUgP0ZN5BO13lSVFSk66+/XiUlJZo1a5bHa8F2nlTm5P2t7Bh4iz95vb9jBptTnf/LL7+siRMn6rXXXvP4H8cuXbp4PJThggsuUIcOHfTEE0/o8ccft27iAebPcWnevLmaN2/u/jk9PV179+7VX//6V4/EvLqeK3PmzFHt2rV15ZVXeqwPlXMF9ubrd2mnTp1O+T3s/rsfzII1P4Q1ApG34fQJRC6F4MXvH4IVRc4gMHr06EqfUN24cWN9/PHH+uGHH8q89uOPP5b5S4o37777rnbu3KlFixZVGtuhQwdFREToq6++qpLi1ek6JqXOOOMMNWrUSF999ZUkKSUlRYWFhcrNzfXo5jxw4IC6du3q87hWOh3HpKioSP3799fu3bv19ttve3RxelPV50l5EhMTFRYWVuavxwcOHCj3GKSkpHiNDw8PV926dSuM8edcqyqnckxKLVq0SMOGDdMrr7yiXr16VRhbo0YNnXfeee7fpWD3e47Lb3Xp0kXz5s1z/1xdzxVjjF544QVlZWUpMjKywli7nSsIDb5+l56KlJQUSSc6XH7bxWKX3307qOr8EIERqLwNp0egcikEL37/EMwocgaBxMREJSYmVhqXnp6uvLw8ffDBBzr//PMlSe+//77y8vJ8KrzNnj1bHTt2VLt27SqN3bFjh4qKiqqs1fx0HZNSBw8e1N69e93727FjR0VERGj16tXuS3P379+vTz/9VNOmTTuFPfr9An1MSgucX331ldauXevTF1RVnyfliYyMVMeOHbV69WpdddVV7vWrV6/WFVdc4XWb9PR0vf766x7rVq1apU6dOikiIsIds3r1at15550eMVVV+PbHqRwT6UQH580336yXX35Zl156aaXvY4zR9u3b1aZNG0vmHWinelxOtm3bNo/fg+p4rkjSunXrtGvXLq/3fT6Z3c4VhAZfv0tPRentXFavXq327dtLOnGvunXr1mnq1KkBec/qpqrzQwRGoPI2nB6ByqUQvPj9Q1A7vc85wu/Vt29f07ZtW7Nx40azceNG06ZNG9OvXz+PmObNm5vFixd7rMvLyzM1a9Y0Tz31VJkxd+3aZSZNmmQ2b95sdu/ebd58803TokUL0759e1NcXBzQ/bGCv8fk8OHDZuzYsWbDhg1m9+7dZu3atSY9Pd3Ur1/f5Ofnu7cZOXKkadCggVmzZo3ZunWrufjii027du1C8pgUFRWZyy+/3DRo0MBs377d7N+/370UFBQYY+x3nixcuNBERESY2bNnm88++8xkZ2eb2NhY99Oex40bZ7KystzxX3/9talZs6a58847zWeffWZmz55tIiIizL/+9S93zHvvvWfCwsLMI488Yj7//HPzyCOPmPDwcI+ntwYzf4/JggULTHh4uHnyySc9zolDhw65YyZOnGhWrFhh/vvf/5pt27aZoUOHmvDwcPP++++f9v07Vf4el8cee8wsWbLEfPnll+bTTz8148aNM5LMq6++6o6pbudKqRtvvNF07tzZ65ihcK6gevn222/Ntm3bzKRJk0ytWrXMtm3bzLZt28zhw4fdMSfnXI888ohxOp1m8eLF5pNPPjE33HCDOeOMMzzyC5wegcoPERiByNtw+gQil8Lpc/jwYfd3nCQzffp0s23bNvPtt98aY/j9g71Q5LSZgwcPmkGDBpm4uDgTFxdnBg0aZHJzcz1iJJkXX3zRY90zzzxjYmJiPIoTpfbs2WMuuugik5CQYCIjI82ZZ55p7rjjDnPw4MEA7ol1/D0mR48eNZmZmaZevXomIiLCNGzY0AwZMsTs2bPHY5tjx46Z0aNHm4SEBBMTE2P69etXJiZY+XtMdu/ebSR5XdauXWuMsed58uSTT5pGjRqZyMhI06FDB7Nu3Tr3a0OGDDHdu3f3iH/nnXdM+/btTWRkpGncuLHXPwq88sorpnnz5iYiIsK0aNHCdsmYP8eke/fuXs+JIUOGuGOys7NNw4YNTWRkpKlXr57JzMw0GzZsOI17ZA1/jsvUqVPNmWeeaaKjo02dOnXMhRdeaN58880yY1anc8UYYw4dOmRiYmLMs88+63W8UDlXUH0MGTKkwu9FY8rmXCUlJWbChAkmJSXFREVFmYsuush88sknp3/yCFh+iMAJRN6G0ycQuRROj7Vr11aY8/P7BztxGPPrHWIBAAAAAAAAwIZqVPUEAAAAAAAAAOD3oMgJAAAAAAAAwNYocgIAAAAAAACwNYqcAAAAAAAAAGyNIicAAAAAAAAAW6PICQAAAAAAAMDWKHICAAAAAAAAsDWKnAAAAAAAAABsjSInAEjq0aOHsrOzq3oaAAAA1Qo5GADAKhQ5AQAAAAAAANgaRU4AAAAAAAAAtkaREwB+VVxcrNGjR6t27dqqW7eu7rvvPhljqnpaAAAAIY0cDABgBYqcAPCrl156SeHh4Xr//ff1+OOP67HHHtPzzz9f1dMCAAAIaeRgAAArOAx/IgMA9ejRQwcOHNCOHTvkcDgkSePGjdOyZcv02WefVfHsAAAAQhM5GADAKnRyAsCvunTp4k6uJSk9PV1fffWVXC5XFc4KAAAgtJGDAQCsQJETAAAAAAAAgK1R5ASAX23atKnMz82aNVNYWFgVzQgAACD0kYMBAKxAkRMAfrV3716NGTNGO3fu1Msvv6wnnnhCf/rTn6p6WgAAACGNHAwAYIXwqp4AAASLwYMH69ixYzr//PMVFham22+/XX/84x+reloAAAAhjRwMAGAFnq4OAAAAAAAAwNa4XB0AAAAAAACArVHkBAAAAAAAAGBrFDkBAAAAAAAA2BpFTgAAAAAAAAC2RpETAAAAAAAAgK1R5AQAAAAAAABgaxQ5AQAAAAAAANgaRU4AAAAAAAAAtkaREwAAAAAAAICtUeQEAAAAAAAAYGsUOQEAAAAAAADY2v8DSv3MTnoi4TEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(18,6))\n", + "\n", + "a0=ax[0].hist2d(b_found, vtx_type_found, bins=50, cmap=plt.cm.jet, cmin=1)\n", + "ax[0].set_xlabel(\"b\")\n", + "ax[0].set_ylabel(\"endvtx id\")\n", + "ax[0].set_title(\"found endvtx id wrt b parameter\")\n", + "\n", + "a1=ax[1].hist2d(b_lost, vtx_type_lost, bins=50, cmap=plt.cm.jet, cmin=1) \n", + "ax[1].set_xlabel(\"b\")\n", + "ax[1].set_ylabel(\"endvtx id\")\n", + "ax[1].set_title(\"lost endvtx id wrt b paraneter\")\n", + "\n", + "\"\"\"\n", + "B:\n", + "\n", + "\"\"\"\n", + "fig.colorbar(a0[3], ax=ax.ravel().tolist(), orientation='vertical')\n", + "plt.show()" ] }, {