diff --git a/Comparison/Comparison.ipynb b/Comparison/Comparison.ipynb new file mode 100644 index 00000000000..088baed84a9 --- /dev/null +++ b/Comparison/Comparison.ipynb @@ -0,0 +1,368 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from clickhouse_driver.client import Client\n", + "from tqdm import tqdm\n", + "from datetime import datetime" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "client = Client('127.0.0.1')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "limits = range(1, 10000000, 100000)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [04:44<00:00, 2.85s/it]\n" + ] + } + ], + "source": [ + "# With loop\n", + "from datetime import datetime\n", + "\n", + "exce_time1 = []\n", + "\n", + "for limit in tqdm(limits):\n", + " progress = client.execute_with_progress(\"SELECT startsWith(DestCityName, 'aaaaaaaaaaa') FROM ontime ESC LIMIT {} FORMAT Null\".format(limit))\n", + "\n", + " started_at = datetime.now()\n", + " rv = progress.get_result()\n", + " now = datetime.now()\n", + " exce_time1.append((now - started_at).total_seconds())" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [03:58<00:00, 2.38s/it]\n" + ] + } + ], + "source": [ + "# With StringRef::operator==\n", + "from datetime import datetime\n", + "\n", + "exce_time2 = []\n", + "\n", + "for limit in tqdm(limits):\n", + " progress = client.execute_with_progress(\"SELECT startsWith(DestCityName, 'aaaaaaaaaaa') FROM ontime ESC LIMIT {} FORMAT Null\".format(limit))\n", + "\n", + " started_at = datetime.now()\n", + " rv = progress.get_result()\n", + " now = datetime.now()\n", + " exce_time2.append((now - started_at).total_seconds())" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAJPCAYAAABhMuBTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xl8XHW9//HXmUkySSb72mZruqdLutEWaGlLy74qCijgVdy4XL0XUH9et4tXr1evP0RBUO5Fr6By4SdeERFEBFpKV9qmNN3omjZLs2+TTPZk5vz+OJk0bbZJm2Qmyfv5ePBIOnPm5DtQkne+38/38zVM00REREREBmcL9ABERERExgOFJhERERE/KDSJiIiI+EGhSURERMQPCk0iIiIiflBoEhEREfGDQpOIiIiIHxSaRERERPyg0CQiIiLih5DRuGlSUpKZnZ09GrcWERERGVF79+6tMU0zeajrRiU0ZWdnk5eXNxq3FhERERlRhmEU+XOdludERERE/KDQJCIiIuIHhSYRERERP4xKTZOIiMh41dnZyZkzZ2hrawv0UGSEhYeHk5GRQWho6AW9XqFJRESklzNnzhAdHU12djaGYQR6ODJCTNOktraWM2fOMH369Au6h5bnREREemlrayMxMVGBaYIxDIPExMSLmkFUaBIRETmPAtPEdLH/XRWaRERERPyg0CQiIjLO3HjjjbhcLlwuF0899VTP45s3b+bmm28e8vX33nsvf/jDH0ZziBOSQpOIiMg48/rrrxMXF9cnNMnoUmgSEREJIo888ghPPPEEAF/60pfYsGEDABs3buQTn/gEYB1XVlNTw9e//nUKCgpYsmQJX/3qVwFoamri9ttvJycnh3vuuQfTNAf9ehs3bmTp0qXk5ubymc98hvb29kEfz87O5mtf+xorV65k5cqVnDx5clT+PQQjtRwQEREZwHdfPcwHZY0jes/5aTH86y0LBnx+7dq1/PjHP+aBBx4gLy+P9vZ2Ojs72bZtG2vWrDnn2h/+8IccOnSI/Px8wFqe27dvH4cPHyYtLY3Vq1ezfft2rrjiin6/VltbG/feey8bN25kzpw5fPKTn+Q///M/uf/++/t9/KGHHgIgJiaG3bt389vf/paHHnqI1157bYT+7QQ3zTSJiIgEkUsuuYS9e/fidrtxOBxcfvnl5OXlsXXr1j6hqT8rV64kIyMDm83GkiVLKCwsHPDaY8eOMX36dObMmQPApz71KbZs2TLg4z533XVXz8edO3dexLsdXzTTJCIiMoDBZoRGS2hoKNnZ2Tz77LOsWrWKRYsW8c4771BQUMC8efOGfL3D4ej53G6309XVNeC1Ay3dDbWk13vr/mRqz6CZJhERkSCzdu1aHn30UdauXcuaNWv4r//6L5YsWdInoERHR+N2uy/46+Tk5FBYWNhTl/Tcc8+xbt26AR/3efHFF3s+Xn755Rf89ccbhSYREZEgs2bNGsrLy7n88stJTU0lPDy836W5xMREVq9ezcKFC3sKwYcjPDycZ599ljvuuIPc3FxsNhv333//gI/7tLe3c+mll/LTn/6Uxx577KLe63hiDDUFdyGWL19u5uXljfh9RURERtuRI0f8WgabrLKzs8nLyyMpKSnQQ7kg/f33NQxjr2may4d6rWaaRERERPygQnARERHx22C78SY6zTSJiIiI+EGhSURERMQPCk0iIiIifvArNBmGUWgYxkHDMPINw9C2OBGRUVLtbufvfrWLand7oIciIucZzkzTetM0l/izJU9ERC7M3qJ6tp6oIb/EFeihSBC78cYbcblcuFwunnrqqZ7HN2/ezM033xzAkfXv/HGOV1qeExEJIlXuNgDqmjXTJAN7/fXXiYuLC6owMthxLRcyTo/Hc7FDGnH+hiYTeNMwjL2GYdw3mgMSEZnMKhut0FTb3BHgkUigPPLIIzzxxBMAfOlLX2LDhg0AbNy4kU984hOA1WCypqaGr3/96xQUFLBkyZKejuBNTU3cfvvt5OTkcM899/R7jlx+fj6XXXYZixYt4rbbbqO+vh6AK6+8koceeohVq1axcOFCdu/eDUBzczOf+cxnWLFiBUuXLuWVV14B4Ne//jV33HEHt9xyC9deey1NTU1cddVVLFu2jNzc3J7rzh+naZp89atfZeHCheTm5vYcy7J582bWr1/P3XffTW5u7mj9K75g/vZpWm2aZplhGCnAW4ZhHDVNc0vvC7rD1H0AWVlZIzxMEZHJobLRmmGqa1JoCgp//TpUHBzZe07JhRt+OODTa9eu5cc//jEPPPAAeXl5tLe309nZybZt2/ocpfLDH/6QQ4cOkZ+fD1ihY9++fRw+fJi0tDRWr17N9u3bueKKK8553Sc/+UmefPJJ1q1bx7e//W2++93v8vjjjwNWQNqxYwdbtmzhM5/5DIcOHeL73/8+GzZs4JlnnsHlcrFy5UquvvpqAHbu3MmBAwdISEigq6uLl19+mZiYGGpqarjsssu49dZb+4zzpZdeIj8/n/3791NTU8OKFStYu3YtALt37+bQoUNMnz4dsI6U6e98vUcffZSrr76aH/3oRzz//PP9/nv0hc+R4ldoMk2zrPtjlWEYLwMrgS3nXfML4BdgHaMyoqMUEZkkfDNNdZppmrQuueQS9u7di9vtxuFwsGzZMvLy8ti6datfIWDlypVkZGQAsGTJEgoLC88JTQ0NDbhcrp4DeD/1qU9xxx139Dx/1113AVboaGxsxOVy8eabb/LnP/+ZRx99FIC2tjaKi4sBuOaaa0hISADANE2++c1vsmXLFmw2G6WlpVRWVvYZ47Zt27jrrruw2+2kpqaybt069uzZQ0xMDCtXruwJTABbt24d9P1+9atfvaBz9y7EkKHJMAwnYDNN0939+bXAv436yEREJqGq7pkmLc8FiUFmhEZLaGgo2dnZPPvss6xatYpFixbxzjvvUFBQ4NeZeA6Ho+dzu90+aK1RfwzD6PNn0zR56aWXmDt37jnP7dq1C6fT2fPn559/nurqavbu3dvzPtra2vp8jcHOve19Pxh/M02pwMvd/xJDgBdM03xjREchIiIAVLo10yTWD/xHH32UZ555htzcXL785S9zySWX9Ak00dHR/QaKwcTGxhIfH8/WrVtZs2YNzz33XM+sE8CLL77I+vXr2bZtG7GxscTGxnLdddfx5JNP8uSTT2IYBvv27WPp0qV97t3Q0EBKSgqhoaG88847FBUV9TvOtWvX8vTTT/OpT32Kuro6tmzZwo9+9COOHj3a557jaqbJNM1TwOIxGIuIyKTW1unB1dIJKDRNdmvWrOH73/8+l19+OU6nk/Dw8D71TACJiYmsXr2ahQsXcsMNN3DTTTf5df/f/OY33H///bS0tDBjxgyeffbZnufi4+NZtWoVjY2NPPPMMwA8/PDDPPTQQyxatAjTNMnOzua1117rc9977rmHW265heXLl7NkyRJycnL6HecjjzzCzp07Wbx4MYZh8MgjjzBlypR+Q1MwMQabIrtQy5cvN/Py1ANTRGQ4imtbWPujd4iLDKWt08PR790Q6CFNSkeOHPFrGWwiuvLKK3n00UdZvnzitmTs77+vYRh7/elDqT5NIiJBwrc0N39qDG2dXlo6hleLIiKjy9+WAyIiMsp8O+fmTY1hR0EttU0dRCbo27SMnc2bNwd6CEFNM00iIkHC16Np3tQYQDvoAmk0Slck8C72v6tCk4jICHslv5Tv/+WDYb+uqrGNsBAbM5KtLdc6SiUwwsPDqa2tVXCaYEzTpLa2lvDw8Au+h+Z9RURGUJfHyw//epTyhjZuXZxObkas36+tbGwjNcZBojMMgFp1BQ+IjIwMzpw5Q3V1daCHIiMsPDy8p/HnhVBoEhEZQe8er6a8wapN+sXWUzx5V99eNgOpbGwnNTqchO7QpLYDgREaGnpOR2oRHy3PiYiMoBd2FZMc7eAzq6fz+sFySupa/H5tpbuN1JhwohwhhNltCk0iQUahSURkhJS5WnnnWBUfW57J59dOxwCe2X7a79dXNbaTEuPAMAwSo8JUCC4SZBSaRERGyIt7SjCBj63IZGpsBLcuTuPFPSU0dHf5HkxTexdN7V2kxlhFqgnOMM00iQQZhSYRkRHQ5fHy+7wS1s5OJjMhEoDPr51BS4eH/9lVNOTrq7p7NKXGWIetJjg10yQSbBSaRERGwOZjVgH4XSuzeh6bNzWGtXOS+fWOQtq7PIO+3tejKTXammlKdIap5YBIkFFoEhEZAS/sLiYl2sFV81LOefy+NTOodrfzyr6yQV/v6waeGutbnnNQp5YDIkFFoUlE5CKVulrZfKyKO5dnEmo/99vq6lmJzJ8awy+2nsLrHbhZYk9o6q5pSowKo7nDQ1vn4DNUIjJ2FJpERC6SrwD84ysz+zxnGAZ/v24GJ6ua2Hy8asB7VDa24wyzE+Ww2uepV5NI8FFoEhG5CF0eL7/fU8K6OclkxEf2e82NuVNJiw3n6XdPDXgfX48mnwR1BRcJOgpNIiIX4Z1j1VQ0nlsAfr5Qu427L81i1+m6AWeOqhrbSOneOQecPUpFxeAiQUOhSUTkIry4p7sAPCdl0OuWZcUDcLisod/nKxvb+51p0vKcSPBQaBIRuUANLZ28e7yaDy9NJ8Q++LfTBWnWwb0HS/uGJtM0uw/rPRuaEp3WrJNCk0jwUGgSEblAfztcQafH5OZFU4e8NjYylKyESA6XNvZ5rrG1i/YuLynRZ5fnYiJCCLEZanApEkQUmkRELtBrB8vJSogkNz3Wr+sXpsf0O9NU6T633QBYu+4SnGHq1SQSRBSaREQuQF1zB9tP1nDToqkYhuHXaxamx1Jc19LnLLrzezT56CgVkeCi0CQicgH+drgCj9e/pTmfhd11TecXg/uOUJlyXmhKjNJRKiLBRKFJROQCvHagjOlJTuZPjfH7NQu7l/EO9QlN1kxT75YD0H2UimaaRIKGQpOIyDBVu9vZWVDLzcNYmgNruS09LoKD5xWDVzW2ERsRSnio/ZzHE7U8JxJUFJpERIbpjcMVeE24aRhLcz4L0mI4fF4xeEVjG6nnzTKBFbLcbV10dHkveKwiMnIUmkREhum1/WXMSolibmr0sF+bmx7LqZpm3G1ni8HPb2zp42twWd+i2SaRYKDQJCIyDFWNbewurBv20pyPr67pg7KzS3RVjW2kRPcNTYk6f04kqCg0iYgMw+sHyzFNhrVrrjdfaPL1a/J6Tarc7QMuz4HOnxMJFgpNIiLD8NqBcnKmRDMrZfhLcwDJ0Q5SYxwc7p5pqmvpoMtr9rs8lxil8+dEgolCk4iIn8obWskrquem3AubZfLJTY/tmWk629iyv5km6zEtz4kEB4UmERE//eVAOXBhu+Z6W5AWS0F1Ey0dXVR1N7ZM6WemKS4iFJuhmSaRYKHQJCLiB4/X5I/vlzJ/agwzkqMu6l656bGYplUMPtARKgA2m6GjVESCiEKTiIgffvr2cT4ob+S+tTMu+l49ncFLG3qOUEmJ7rs8B1YxuI5SEQkOIYEegIhIsNt2ooYn3znJ7Zdk8OGl6Rd9v9QYB0lRDg6WNuIItZEUFUaovf/fYa3QpJkmkWCgmSYRkUFUNbbx0Iv7mJUcxb99aMGI3NMwDBamx3C4rGHAHk0+iU6HludEgoRmmkREBuDxmjz4u3ya2z38v88vIzJs5L5l5qbHsvVEDR6vSUZ8xIDXaaZJJHhopklEZABPbDzBzlO1/NuHFjD7Ao5MGcyCtFg8XpMTVU39FoH7JDjDcLV00uXR+XMy+TS1dwV6COdQaBIR6cf2kzU8sekEH12WwR3LM0f8/gvTY3o+76/dgI+vwWV9S+eA14hMNHmFdXzuN3u4/vEtdAbRLwxanhMROY9pmnzl9/uZmRzF9z48MnVM50uPiyA+MpT6ls5+G1v6+I5SqWvuIHmAHXYiE4HXa/LOsSr+690C9hTWExcZyr2rsunymITaAz06i0KTiMh5mjs8VDS28Y3VOSNax9SbVQxu1TWlDlIIfu75cyO7RCgSLHYU1PCdPx/meGUT6XER/Ost8/nYisxR+//vQgXXaEREgkBDq7UUFhcZOqpfpyc0DbY8p6NUZIKrbGzj/uf2Eu8M4yd3LuaWxWkDtuAINIUmEZHzNHTXD8VGjG5ounZ+Ku8eq2Z6snPAa3ovz4lMCEU7wB4GGcsxTZNv/PEg7V1enr13xUV32x9tCk0iIudxtVoBJWaUQ9PSrHhef3DNoNfER4ZiGKhXk0wMpgkvfR662uCBffzvoQY2Ha3i4ZvnB31gAoUmEZE+Gn3LcxFhAR4JhNhtxEWE6igVmRiqj0HjGQDcb/9fvrdnLSunJ/DpVdmBHZefgnPRUEQkgHw1TbGjXNPkLzW4lAmjYCMA5owrCc97milmJY/evhibzQjsuPyk0CQich7XGNU0+SvR6VAhuEwMJzdC0hz+mPUtukyDX6b9hazEyECPym8KTSIi52lo7cRuM3CGBUdzGM00yYTQ2QpF22lMX8vDm+r4a8ydZFe8AcW7Aj0yvyk0iYicp6G1k7iIUAwjOJYMEqIUmmQCKNoBXW38smw6NsPgsk9+F6Knwt++Ad7g6fo9GIUmEZHzNLR2Bs3SHECiM4z6lg68XjPQQxG5cAWb8Nod/LIkjS+sn0lachJc9W0o3QuHXgr06Pyi0CQicp6G1s5RbzcwHAnOMLwmuFp1/pyMYyc3ciJ8IfawSO65dJr12KKPw9TF8PZ3rOW7IKeWAyIi52lo7expKhkMzja4bA+qcckk1tYI4TFDX+fTUArVR/hj1z18/LKsszO5Nhtc9wP49U3w2pchcwXYQs7+Yw+FBbeNznu4AApNIiLnaWjtZHrSwF26x1rvo1RmpQR4MCJ1p+FnK+DjL8Cca/17TcEmALaYi/jl6uxzn8u+AhbfBftfsP7pLTRSoUlEJJi5WoKrpunsob0qBpcgULAJvJ1w4k2/Q1Pn8beoM+OZvWAlGfH9tBj48H/CNd8Db5f1j+kBrwfM4CoQV2gSEenF6zVpbLN2zwWLeKc1lgbVNMloMk3oaAJH9ODXFW0/9+NQvB48J99hi2cJn187s/9rDAOikv0fa4CoEFxEpBd3exemOfrnzg2H02H9ftvc3hXgkciEdugleHQOuCsHvsY0oXAbGDao+gBa6oa8bWfJXsK7GilPXk1uRuwIDnjsKTSJiPTSEGTdwAGcYVZocrcpNMkoKngHOlvg5FsDX1NbAE2VkHuH9efinUPe9sTOP+E1DZZeGTy1SRdKoUlEpJeec+eCKDTZbQaRYXbNNMnoKs2zPp54c+BrirZZH1c9AHaH1bByEKZpYp7YxHH7LFbnzhmhgQaOappERHrxhaa4yODa2h/lCKFJoUlGS1sjVB8DW6g14+TptLb7n69wGzhTIHUBZKyAou1UNraRX+LicFkj8ZGhzJ0STc6UGBKcYbz3wWlWdB3j+OzPj5tDeQej0CQi0our1dqhFkwzTaDQJKOsbB9gwrK/g7xnoGSX1QqgN9OEwu2Y01bzmx2FJDdO5/r657nqB6/SRCSGYV3ikxTlYIO5k8sNL7NWfWhM385oUWgSEeklGJfnAKLCFZpkFJXutT5e8WV4/zlrie780FR/GtxlFMcs4zuvfsCt0bO4CS8/vqydpKVXsyAthsa2To5VuDlW4eZohZurCw7RYUQRNm3l2L+nUaDQJCLSy9nlueAKTc6wENU0yegp3QsJMyEuE6atghNvwTX/du41hVY9007PPKCDf/2HT8LPvsd1UQUwLR6A8FA7KdHhrJmdbPVZeuwAZF/Z/1LfOKRCcBGRXhpaOwkLsREeag/0UM4RFR6i3XMyekr3Qvol1uezr7XaCbhKzr2mcDtEJvFWVSwzkp0kJiRA2tKBi8GPvwHuMlh05+iOfQwpNImI9NIQZN3AfaIcITR3KDTJKGgoBXc5ZCy3/jy7u8t37110pglFVj3T3hIXy7tnlpi2ygpc/R22u+u/ICYD5t40uuMfQwpNIiK9NLQGb2hq0kyTjAZfPZNvpilpNsRNs5bofFxF0FBCdeJyXC2dLM9OsB6ftto6UuVM3rn3rDoCp7fAis+CfeJUAik0iYj00tAaXEeo+DgdITS3ewI9DJmISvOsVgNTcq0/G4Y123T6Xehssx4rtI5M2cN8AFb4QlPmpYDR90iVXU9DSDgs+9QYvIGxo9AkItJLsB3W6xMdHkKHx0t7l4KTjLDS963AFOI4+9jsa63u4L3PmYtIYFNtAonOMLITuw/djYizXts7NLXWw4EXIfd2cCaO3fsYAwpNIiK9BOvynDPMKkzXbNMkVV8EXR0jf1+vx+rR5Ktn8sm+wpop8i3RFW6FaavYU9TA8ux4DKNXo8ppq6Fkz9nx7fsfK3Ct/PuRH2+AKTSJiPTS2NpJbJC1GwCICrfGpLYDk1BnKzx1Gex+euTvXX0MOprO1jP5hEVC9hqrGNxVAq5i3FMupbiu5ezSnM+0VdDVCuX5Vgjb/UvIWgVTF438eANMoUlEpFuXx4u7vSsoZ5qiHNZMk9oOTELucmvm5vxi65HgO28ufXnf52ZfC3UF8P5vAci3WzVPl/h2zvlMW2V9LNoOx/9mFY1fOvFmmUChSUSkR2N3IAnG0OR0WDuQ1HZgEnJXWB8rD4/8vUv3QngsJMzo+9zsa6yPO38O4XFsqk8iPNTGgrTYc69zJkHSXKtYfPfTEJMOOTeP/FiDgEKTiEi3YD1CBayWA4DaDkxG7nLrY10BdLSMyC2PVjTyk7eO01a421qas/UTBxKmQ+Js6GyGaavIK2pgSWYcYSH9XDttldVi4NTmCddmoDeFJhGRbq4Wq5A12I5QgV6hSTVNk49vpsn0QvXREbnlz98p4JcbDxJSc5QXziTzyy2nqGps63thd6PL9oxVfFDeyPJpCX2vAatw3NMOdgcsu3dExhiMJmYUFJFJZdepWh57+zhRjlDiIkOJi7A+ZiZEcuvitHN3+gwiqGeawhWaJi3fTBNYS3Tpyy7qdqZpsrOghk9PbyCk3EuBI4dfvX6E//jrEa6dP4XHP77k7DFCCz8Cec9wOPJSPN5qlmfH939TX13TBGwz0JtCk4iMe389VMHeonpmp0TzQVkDrtZOWjqsrflZCZEszRrgG/15gjk09dQ0KTRNPu4KiMuC5poRqWs6VummpqmD62aXQjk8fN/fcVdLBP+bV8LTW07xs00n+T/XzbUuzlgO3ypny8YTGEY1y84vAveJSYO7fgcZKy96fMFMoUlExr3iuhZmpUTz+oNreh6rbWpn5Q82svFIld+hqbEnNIWNyjgvhjPM+nat3XOTkLvCKq52pkDloYu+3faTtQDM6TpmhbGoZGZFwTdunEd1UztPbyngQ0vSmJ0abb3AMNhbVM/c1Ghiwgf5hWLuDRc9tmCnmiYRGfeK61rISog457HEKAfLp8Xz9pFKv+/jagnemSa7zSAyzK6ZpsnIXQ7RUyB1gTXTZJrDe/3pLbD1J9BSB8D2kzVMT3ISUZXfp9XAt26ch9MRwrdePoTXa32dLo+X94vq+/ZnmoQUmkRkXPN6TUrqWshKiOzz3FXzUjha4abU1c8J7P1oaO0kItTe/+6gIBDlCFFN02TkroCoKZC6EFrrzhaG+8M04S9fgY3fhccX4Xnruxw7dZrrpgENJX2aWiZGOfjGDTnsLqzjD3vPAHC0wk1zh2fgeqZJJDi/M4iI+Km6qZ32Lu8AoSkVgE1+zjY1tHYG5c45H4WmSajdbXXs9s00wfDqmsr3Q81xWP0gzL4G2/bHeNP4Rz5T+xPr+fOPTwHuuCSTldkJ/OCvR6htaiev0JqhWq6ZJoUmERnfiuusvjWZ/YSmmclRTE9y8vaRKr/u5QrSc+d8osIVmiYd36xS9FRInW99Ppy6pgO/B3sYXPEluONZnl/2Im95LyG5cqv1+JS+R53YbAbfv20hze1dfP/1I+wpqictNpz0uIh+vsDkokJwERnXimut0NTfTBPAVTkp/HZnEc3tXT070AbS0NpJTBCHJmdYiGqaJpue0DQFIuIhJsP/mSZPFxz6A8y5znot8OfyGFpSvsmH75oKLbXWGXP9mJ0azX1rZ/DzdwqICLVzzfzUkXg3455mmkRkXCuua8EwID2+/9+CN8xLocPjZdvJmiHv1TgOZpq0e26S6Q5NJV2xtHd5zhaD++P0u9BUCYs+BkBLRxf7iutZPTMJkmZB1qWDvvyfNswmKyGS1k7VM/koNInIuFZS18LUmHAcIfZ+n1+RnUB0eAgb/ahrcrV0EhfMockRorPnJpvuxpa3/raA/9xcYIWmmmPQ1TH0aw+8aJ0r193Ve09hPZ0ek9Wzkvz60uGhdv7jI7kkOsNYNyf5gt/CRKLQJCLjWnFdS7/1TD6hdhtXzk1h09Hqni3UA2kI8pkmp8Ous+cmG3cFnpBI6rscvHm40gpN3i6ruHsw7U1w5FVYcBuEOADYcbKGMLttWK0DVs9KYu/D1zAt0Xkx72LCUGgSkXGteIB2A71dPS+FmqZ29p9xDXhNe5eH1k5PUIemKEcoze2eQA9DxpK7nKawJMDgg/JGqp2zrMeHWqI79jp0tvQszQFsO1nD0qw4IsL6n5WVoSk0ici41drhocrdPmRoWjcnGbvNYNPRgXfR+Y5QCe6WA3Y6PF6rtkUmB3cF1ST09A57qzLa2vU21A66Ay9CbBZkXgZAfXMHH5Q3+r00J/1TaBKRcetMfffOucTBQ1NcZBiXTIsftPWA7wiVYN49F9Vz/pxC06ThLqekM4ZVMxPJTIhg47E6SM4ZfKapqQoKNsGiO8Bm/ZjfeaoW04TVsybuYbpjQaFJRMatkvqBezSd7+p5KRwpbxywO3gwH9bro0N7JxnTxHRXUNAWzcK0WK7KSWV7QQ2elCF20B16CUwv5N7Z89D2kzVEOUJYlBE3BgOfuBSaRGTcGqpHU29DdQcfD6EpOlyH9k4qbQ0YXa2Ue+NYkBbDhpwU2jq9nLZlQ1MFNA/QRuPAizB1MaTk9Dy0o6CWS6cnEGrXj/2LoX97IjJuFde1EhlmJ9EZNuS1M5KcZCdGsnGAuibfYb1xkUPfK1DhScKCAAAgAElEQVR6ZprUdmBy6O7RVGXGsyAtlktnJBAZZmerO8V6vp/ZpvbyI1C275wC8FJXK6drmlmleqaL5ndHcMMw7EAeUGqa5s2jNyQREf/4ds4ZhjHktYZhcNW8VJ57r4iWji4iw8799jceZpp8NU1qOzBJdPdococlkZkQgWEYXDEriT+UNPNpsELTjHU9l3u8Ji//9jHuMA3u3JZGVnE+uemx1DS1A6pnGgnDmWl6EDgyWgMRERmukiF6NJ1vQ04KHV1edp2q6/OcLzTFhAfv6VI9oUk1TZND90xTbEpWzy8GV81L4XBjOF0RyX1mmjZtfJ1bWv7E8ZjLSEjNZEdBDf/22gc8tbmApCgHc1Ojx/wtTDR+fXcwDCMDuAn4PvDlUR2RiIgfTNOkuK6FK2b7v+SwJDMOmwH5JS7W56Sc85yrpZNoRwghQVzzERWu0DSZeBrLsANT07N7Hls/1/p7WxY+g6xebQdayo6wYvvf47bHk/P5Z/llzFQAKhvbOHCmgdQYh18zsjI4f3+lehz4Z0AxVUTGzKHSBrym2e+On5qmDlo7PX4Vgfs4HSHMSY0mv6Rvk8vGID+sF7R7brJprC7BbkYyN+vsYbkpMeEsyohlX0s6We7XrUN5m6vo+vWH6TINaj78/5jSHZgAUmPCuWZ+eCCGPyEN+SuVYRg3A1Wmae4d4rr7DMPIMwwjr7q6esQGKCKT13dfPcyDv8vv97niOv93zvW2OCOO/WdcmOa5R6oE+xEqAM4w7Z6bTFpqzlDZXQTe24acFLY0pEBXG5S9T+dvbsPe7uK/pz3CwkXLAjTaycGfeejVwK2GYRQCvwM2GIbxP+dfZJrmL0zTXG6a5vLkZB3sJyIXr6TO2vVTVNvcz3P+92jqbUlWHK6Wzp7Q5eMaB6HJbjOIDLNrpmmS8DaWU008M5LOPfdtQ04KR7xZ1h9e+BhGXQFf8HyFez78oQCMcnIZMjSZpvkN0zQzTNPMBj4ObDJN8xOjPjIRmdQ6urxUutsA2HK87+y1L/RkxEcM676Lu5f6zl+ia2jtDOojVHycjhDVNE0S4W1VtEek9KmzW5gWi8s5Aw82zNZ6Hur4B3JW3TLsXyBk+IK34lFEJrWKhjZ8K2jvDhCapsSEEx46vMNH56RGERFq7zc0BftME0C0QtOkYHq9xHlqsfWqT/Kx2QzW5KTzrHkrT8V+me2ONXxh/awAjHLyGdbeWtM0NwObR2UkIiK9nHFZM0kzk53sKKilo8vbc2gpnO3RNFwhdhu56bHs7xWaTNOkoWV8hCbNNE0OpWWlZODBmZTZ7/Mb5qXw93l3QiV899Y54+Lv7kSgmSYRCUql9dYZcXetzKKlw0Ne0bm9lYbbo6m3xZmxHCprpKPLC0Bbp5cOj5fYcbA8F+UIUU3TJHC6sACA5LSsfp+/YlYSYXYbM5Kd3H1p/9fIyFNoEpGgVOay6pk+uiyDULtxzhJdW6eHisa2C5ppAliSGU9Hl5djFW5gfHQD97FmmjyBHoYMQ0tHF9tP1vDagbI+uzYHUnHmNABTMqb3+7zTEcKTdy/l53cv03lyYyh4W9+KyKRW6mohJdpBvDOM5dMSePdYNd+4YV73c62YJmQlDq8I3GdxprWFO7+kntyM2HEVmqLDQ2hq7wz0MGQQ7V0e3j1WzZ7COnYX1nO4tIEurxWWoj4dwpVzU4a4g9WjCcARlz7gNdctmDIyAxa/KZ6KSFAqdbWSFmeFonVzkzla4aay0Zp9utAeTT7pcREkRYWRX9IAgKulA4C4iOA9rNfH6bDTrJmmoPazTSe577m9/GZHEWF2g/vWzuDZe1eQHhfB42+f8Gu2qaO+zPokWsEomCg0iUhQKq1vJb27ncDa2VbvN1/rgQvt0eRjGAZLMq0mlzC+lueiHKE6sDfI7SmsY0FaDAe+cy3/e/8q/vn6HNbnpPCF9TPJL3Gx5UTNoK+vamwjqqOattA4CHGM0ajFHwpNIhJ0vF6TMlcbGd0zTfOmRpMc7eipayqubSE81EZy1IX/QFmcEUdBdRONbZ3jLDTZ6fB4ae/SbFMw8nhNDp5pYPm0+D7tMO64JJO02HAef/v4oLNNh8saSTXq8TpTB7xGAkOhSUSCTk1zOx0eb89Mk2EYrJuTzNYTNXi8Zk+7gYs5gHRxZhymCQfPNIyz0OQ7f06hKRidrGqiucPD4sy+5yWGhdj4wvpZ7Ct2sXWQ2aZDpQ2kGPWExaeN5lDlAig0iUjQ8bUbSI87W+i9bk4yDa2d7D/juuAeTb317gze0NqJYVhF1sFOh/YGN1//ryX9hCaAO5ZnkBYbzk83DlzbdLiskXR7AyGxCk3BRqFJRIJOqcsKTWm9QtMVs5IwDHj3WPVF9WjyiY0MZUaSsyc0xYSHYrNd+MzVWPEFOx3aG5z2lbiICQ8hO9HZ7/OOEDv/sH4We4vq2Xay/9mmI2V1JJj1KgIPQgpNIhJ0emaaep0rF+8MY3FGHK/kl9Lc4bnomSawlujyS1y4xkk3cOg109Sh0BSM9pe4WJwZN2gAv3N5BlNjw/lpPzvpdhTU0FJfhR0vRPc9QkUCS6FJRIJOqauV6PAQYsLPDTLr5iRTWHtx7QZ6W5IZR7W7nWMV7nFxWC+crWnSDrrg09rh4Vile8ClOR9HiJ0vXDmTvKJ6dhTUAvDeqVru+sV73P3LXcyNarYu1ExT0FFoEpGgU+ZqPaeeyWfd3OSez0dqpgngWKV73Mw09YQm1TSNvVPvQuH2AZ8+VNaAx2sOGZoA7lyRyZSYcL7/lyPc9Yv3+Pgv3uNkdRPfvnk+z3wkw7pIM01BJ/irHkVk0jlT30pGfN/QtDgjjtiIUBpaO8mIv/jQNG9qNGF2Gx0eLzHjJDQ5FZoC59UHwfTCg/uhn52b+cVWEXh/O+fO5wix88X1M3n4lcMkRzv49s3zufvSLKtNQd5m6yLNNAUdhSYRCTqlrlZWTk/o87jdZrB+bjJ7i+uJCLP388rhcYTYmZcWw/4S1/iZaQrX7rmAcFdCvXUeHBUHYOriPpfkn3GRER9Bkp/9w+65dBrZSU5WZCec29PJXWF9jFKfpmCj0CQiQaWxrRN3W1e/y3MA3/3QQhpbR+7stSUZsewvcRE3TkKTM0y75wKi5L2zn3/w5/5DU7GLJVlDzzL52GwGa2Yn933CXQ7OZLCPj7+Tk4lqmkQkqPS3c6632IjQi2430Jvvh9x4mWmy2wwiw+yaaRprxbsgJBwyL4Mjf+7zdLW7nVJXK0v9WJobUlOlluaClEKTiASVMlffxpaj6ZKsBAwDpsSGj8nXGwlOR4hqmsZa8U5IvwRyb4ea41B19JynfU0t/alnGpK7XEXgQUqhSUSCiq+x5UAzTSMtKzGSNx5cy4254+eHVLRC09jqaLHqmDIvhZybrcfOm23af8aF3WawMC324r+eu0IzTUFKoUlEgkppfSthdhtJzrE73X3ulGhC7ePn26HTEaLlubFUuhe8XZB1GcRMtcLTeaEpv8TF3NToi9+g4OmCpirNNAWp8fNdQkQmhTOuVtLiwsfFkSaBEqWZprHlKwLPWGF9nHcrVByEOms3nddr9nQCv2CeTijaCZu+B5iaaQpS2j0nIkGltL51zJbmxiunI6RnGVPGQPF7kDyPL/6pECjkyetvxvbmt6zZptUPcrq2mca2rsGLwE0T6guhvRHam6CjCdrd1qzS6S1QuA063GDYIH05zLhyTN6aDI9Ck4gElTJXK1fO7WcbtvSIDg+hqX3k2i7IILxeKNlDReYN/OVAOQDzp8bwxalLrNYDqx8cvAi8pQ7yX4C9v4baE/1/jfhsq8B85nqYvhYi4kfnvchFU2gSkaDR3uWhyt1OetzItRSYiJwOO83tnkAPY3KoPgLtDfy+Mp0pMeFcMi2eH795jFsvv4bM938EDaXkl7hwhtmZlRJlvcY0oWgH7H0WPngFPB1WHdRlP4aoKeCIgrDufyLiIVpNLMcLhSYRCRrlrjYA0uLGz/b/QIhyhOrA3rFSvBOA/63J4J8+PIsPLUnncFkDXz44jf8FOPIq+0sWkpsRi91mQEcz/PE+OPoaOGLhknvhkk9D6vxAvgsZISoEF5GgMdbtBsarKIedDo+X9q5JONt04i34w2etZbNhamjt5IsvvN+znOYPs3gXdUY8xE3jjksyiXKE8LO7l7G/JYmS0Gy8H7zCB+WNLMmMh4ZSeOZ6OPY6XP0d+MpRuPFHCkwTiEKTiAQNXzfwDC3PDcp3aO+kXKLb9xwc+gOU7Br2S1/YVcxfDpTzwO/2+d2yobVgO+91zebBq+cSFmL9yFyYHsvDN8/jpdZlULyTWI+LtVEl8N9XWTvq7noRrvgShOnv8USj0CQiQeOMq3XcdecOhCjHJD201zShZLf1+aE/DOulnR4vv9lRyPQkJ8V1Lfzg9SNDvsbjKiWypZTCyIXctjT9nOc+cdk0mmfcgA2T74T+hsvf/TuwhcBn/wZzrh3W2GT8UGgSkaBR5molNTq85zd66Z8vNE26Q3sbSqwjRkLC4fCfrEaQfnr9YDkVjW08fPM8Pr9mBs/vKuadY1WDvub97X8FIPfy6616pV4Mw+Cf7vowZ4yp3Gx/DyN1AXx+E6QuGP77knFD35lEJGiU1reqCNwPUeHdM00dkyw0+WaZVj8ILTVwerNfLzNNk19tO82MZCdXzknhy9fMYU5qFF/7wwFcLR39vqbT46Vo3zu04WD16vX9XhMTEYbzxu9St+g+uPc1iEq5kHcl44hCk4gEjVJXK+nxqgMZiq+madLtoCvZZW3TX/0gOGLg4Et+vSyvqJ4DZxr4zOrp2GwG4aF2fnLnEuqaO3j4lcP9vuaP759hTsdhWpKXYAsNG/De8Ss+RsJHfgSh2rwwGSg0iUhQ8HpNyhtaSY/TD5+hRPtC02SraSrZBemXQJgT5t1ibevvbBvyZf+99RRxkaF8dFlGz2ML02N58KrZvLq/jD/vLwOgtcPD6wfL+eLz7/PDV/aywFZEfM6aUXs7Mv6oT5OIBIUqdzudHlPtBvzgnIyhqb0JKg7Bmq9Yf174Uch/Hk68CfNvHfBlxbUtvPlBJV+4cmafw3T/4cqZvH20iof/dIg3D1ew8UgVrZ0ekqLCeGBuA/YCL2RdPprvSsYZzTSJSFDw9WjK0EzTkHpqmiZTaCrdC6bH6qwNMH0dOJOH3EX37I7ThNgMPnl5dp/nQuw2fnLnYro8XnYW1PKRZem88PlL2fXNq/l0ZiVgQOaKkX8vMm5ppklEgoIvNKUpNA3JGTYJZ5p8ReAZy62P9hCY/2Grb1NbI4THnHt9fSHt25/ib3tWcvOiWaTG9L/BYGZyFDu+cRXOMDsh9u55BNOEou2QMh/CY0fpDcl4pJkmEQkKvsaWWp4bmt1mEBlmn1yF4CW7IHkeRPQ6FDf3duhqszpw99ZUBc/dhiPvaT7ufZXPXjF90FvHRoSeDUz1RfDCnXD6XZh9zQi/CRnvFJpEJCiUulqIjQjt6UEkg3M6QiZPywGvF87shsyV5z6esRJiM+FgryW6tkb4n49iNpZz1JjJp0M3sjDZj79Tnk7Y/lP4+aVQuB2u+wFseHhk34eMewpNIhIUSuu1c244oh0hE7655Yt7innkjaNQcxzaGiDrsnMvsNlg4Ufg1DvQXGvtpPvd3ZhVH/CLqd/hm21/R7Tphn3PD/6FzuTB0+vgrW/DzPXwxV1w+RetJUCRXvQ3QkSCQqmrlawEZ6CHMW44HSETuhA8r7COb/zxIF4T/i7sDFPhbBF4bwtvt2aIDv/RWlIr3MoTsV/lsROZfOWaOZinX8fY+TNY/pn+Q1DlYXj2BohMgo89D/NuHu23JuOYZppEJOA6PV4Ka1qYmaLQ5C+nwz5hC8EbWjt58Hf5pMdHEBFqp+TAZohMhIQZfS+ekgtJc+Bv34Ijr/JE6Gf5ee0l/OzupfzTVbMxVj8AriI48ue+r/V0wZ++YDXKvH+rApMMSaFJRALudE0zHR4v86bEDH2xABDlCKWp3RPoYYw40zT55h8PUtnYxhMfX8odyzNIqt9H+9TlYBh9X2AYkHsHeNr5JbfxW/MGfnffZdy8KM16fu6NkDATdjxp7YrrbcdPoTwfbnoUnEmj/+Zk3NPynIgE3JHyRgBypkYHeCTjR5TDTlN7Z6CHMeJ+n1fCXw6W88/Xz2VpVjwJhptp+8rZ2vkRBurNvTn5Lp7t9FKeeBkv37uSzIReR/HY7LDqH+G1L1ltBLKvsB6vOgqbfwjzboUFt436+5KJQTNNIhJwRyvchNoNZiRFBXoo40ZUeAjNE2ym6WRVE9/58wesmpnI/WtnAjCtxTob7tdnUmnr7Pt+XS0dfPXlY1Qmr+IPX1h9bmDyWXyXVbO0/Qnrz14PvPJF6xy7m348au9HJh6FJhEJuCPljcxMjiIsRN+S/OV0hEyoPk3tXR4e+H/7CA+18djHlmCzdS/FlezCa4SwrSWLl/eV9nndd/58mPrmDh69YzEx4aH93zw0AlbeByf+Zs0w7fw5lObBDY9AVMooviuZaPQdSkQC7mi5m3lTVc80HNGOEDo8Xtq7JsZs02NvneCD8kZ+dPvic7t3l+zGSFvM7PQkfrXtNF7v2bqkNw5V8Kf8Mv5xwywWpg/RuXvF5yAkAt74OrzzfavWKff2UXo3MlEpNIlIQNU3d1DR2EbOFNUzDYfv0N6JskT310PlXJWTwtXzU88+6OmE0r0YmZfy2Sumc7KqiXdPVANQ29TOt14+yIK0GL64ftbQX8CZCEs/YfV0CnHAzY/1X1guMgiFJhEJqKMVbgByNNM0LFGOiXNob3N7F0W1LSzJjDv3iYoD1jEpmZdyU24aqTEOntl2GoBv//kwjW2d/PjOxYTa/fxRdvkXrQ7iN/0EoqeM8LuQyUC750QkoI5WWDvn5mnn3LD4QtNE6ApuBWeTBUl2cFdARzN0NMHhl60LMi8lLMTGp1Zl88gbx/jJm8f4y4FyvnrdXHKG06YiYTo8dFAzTHLBFJpEJKCOlrtJdIaRHOUI9FDGlajw7pmmCXD+3NGKRh4LfYoNL2/v+2TCDIiZCsDdK7N4cuNJnth0kkUZsfz92n6aXQ5FgUkugkKTiATU0YpGcqZGY+iH2bD4apomwg66o2WN/B9bPua0VRgLPwph0eCIgjAnJM3tuS4uMoyPr8zkhV3F/PiOxYT4uywnMkIUmkQkYDxek2OVbu65dFqghzLuRPtC0wSoaaorPU6s0Qy5d8LyTw967b/cNJ8vXDmL5GjNTMrYU0wXkYApqm2mrdOrnXMXwDlBCsFN0ySi+oD1h7SlQ15vtxkKTBIwCk0iEjC+nXPq0TR8vpqm8T7TdKa+lVmeAjxGKKTMD/RwRAal0CQiAXO0vBGbAbNSdHzKcDnDQjAMaGgd3+fPHa1wk2ucoi1xHoSEBXo4IoNSaBKRgDlS4WZGchThofZAD2XcsdsM0mIjKKlrCfRQLsrRsgZybacJy1wW6KGIDEmhSUQC5mhFo+qZLsK0xEgKa8c+NJ2qbuLy/9jIqeqmi75XbckxYowWQjOGrmcSCTSFJhEJCHdbJyV1rapnugjTEp0UB2CmaffpOsob2njjcMVF38tWkW994kcRuEigKTSJSEAc8x2fopmmC5adGEldc8eY1zWdqLJmmLadqLmo+7R2eJjSfIQuIxSS543E0ERGlUKTiATEEZ05d9GmJToBKB7jJTpfaMorrKe148IPDD5e6WahcZqmuBwVgcu4oNAkIgFxtLyR6PAQ0mLDAz2UcWtaYiQAhbXNY/p1T1a6SY1x0OHxsruw7oLvc7TcxULbaezpWpqT8UGhSUQC4miFm3lTYnR8ykXwhaaxrGtyt3VS1tDGncszCbPb2Hai+oLvVVl4lBijFef05SM4QpHRo9AkImPO6zU5VuEmZ6rqmS5GZFgIKdEOCmvGbqapoNr6WrnpsSzPjmfrRdQ1mWX7ALCpCFzGCYUmERlzpa5Wmtq7tHNuBExLjKRoDGuaTlRatWizU6O5YnYSRyvcVLvbh30f0zSJcx2m0wiDFBWBy/ig0CQiY+5IeSOgnXMjYVqik6K6sZtpOlnVRFiIjcz4CNbMSgZg+8mBZ5u2n6yhvrmjz+MVjW3M8RTQEDMH7KGjNl6RkaTQJCJj7miFG8OAOakKTRcrOzGSysZ2WjrG5gy6E1VNzEhyEmK3sSAthvjI0AGX6I6UN3LPf+/in1860Oe5o2UNLLSdxjN1yWgPWWTEKDSJyJg7WtHItIRInI6QQA9l3OtpOzBGxeAnqtzM7g67NpvBqllJbDtZjWmafa59ctMJAN76oJIdBecGq7LTh4k2WomZvmL0By0yQhSaRGRMebwmh8sayZmieqaR0NN2oGb0Q1NLRxdn6luZ3euA5TWzkqhsbOdk1blHqhyvdPPXQxV87orppMdF8L3XjuDxng1WnSXvAxAxTTvnZPxQaBKRMbPtRA03P7mNotoWLpuREOjhTAjTEnwzTaNf13SquhnT5JzQdMXsJIA+S3Q/23SSiFA7X1w/i6/dkMOR8kZe2num5/mo2oN0GGGQnDPq4xYZKQpNIjLqjle6+fSzu/nEr3bhbuvkybuW8qlV2YEe1oQQGxlKfGTomBzce6LKt3PubGjKiI9kepKTbb2KwU9WNfHqgTI+eXk28c4wblk0laVZcfzozWM0tXfR1ukhs+0YNc45YNcSrYwfCk0iMmpM0+Q7fz7M9Y9vIa+onm/emMPGr6zjlsVpamo5grISnRSNQVfwE5VNhNiMnjoqnytmJfHeqVo6urwAPPXOScJD7HxuzXQADMPg4ZvnU+1u5+l3CzhZ2ch8o4iOlEWjPmaRkaSILyKj5lBpI7/eUchHlqXz8E3ziXfqfLHRkJ0Yyd6i+lH/Oieqmpie5CTUfu7v26tnJfHce0XsK64nNSacP+WX8tkrppMU5ei5ZllWPLcuTuMXW06R3F7MQqOV1mzVM8n4opkmERk2r9fsaXI4mPwzLgC+dPUcBaZRNC3RSZmrlfauCz881x8nq5rOWZrzuXxmIjYDtp2s4efvnCTUbuPza2f0ue5rN1j1S/m73gEgcfalozpekZGm0CQiw/bK/lKufXxLnx1T58svdpHoDCMjPmKMRjY5TUuIxGvCmfrWUfsabZ0eimqbmZXS3VursaznudiIUBZnxvFKfhl/3FfK3ZdmkRLd9yDm9LgIPrdmOvM5RTsO7CkqApfxRctzIjJs20/WYprw3qlaZqX0nXnw2X/GxZLMONUvjbLsJKvtQFFtMzOTB/7vcTFO1zTj9e2cO70VfnMz3P4MLPwoYLUeeGLTScJCbNy/bqb1opY6+OV6aGuAqFRwJvNQRDI1IXuocs4mU0XgMs5opklEhi2vsA6APd0f+9PY1klBdROLM+PGaliTlq8wezTPoDvRPas4OzUKjv7FevCNb0CrtQR7xWzrSJWPr8gkNaZ7lunNf4GGMzD/Q5A0GzydhFbsY4qjnbTLbh+1sYqMFsV8ERmWKncbhbUt2AzIKxy4+PhASQOmCUsUmkZdojOMKEfIqIamk5VubAZMT3LCybchcRbUnYJN/w43PcryafH84LZcbsqdar3g1LuQ/zxc8SW4+jvn3MsA7KM2UpHRo5kmERmWvd1B6ZbFaZS6Wil19V9Hs7+7CHxxhkLTaDMMg6yESApHse3AiaomshOdONwlUHsCVnwOVt4He/4bzuzFZjO4+9IsYiNDobMVXn0Q4qfDuq+N2phExppCk4gMy57CesJDbdzb3Zwyb4Alun3FLmYkOa0fojLqspMiKR7l5blZKVHWLBPArKth/besWqXXHgJPrwOD330E6k/DLY9DqDYByMSh0CQiw5JXVMeSzDhy02OJcoT0W9dkmib5JS4tzY2haYlOSupb6PJ4R/zeHV1eCmuarXqmE29D3DRreS48Bm74IVQcgD2/tC6uOAQ7noAl98CMK0d8LCKBpNAkIn5rbu/icFkjK7ITCLHbWJoV129dU1lDGzVN7SzJUmgaK9MSIun0mJQ3tI34vYtqm+nymsxNdMDpLdYsk29H5PwPW3/e9O/gKoFXH4DwOLj230d8HCKBptAkIn7LL3Hh8Zosz7YO212ZncCxSjcNLZ3nXleseqax5ttBNxp1Tb6dc7neD6CzGWZfc/ZJw4AbHwVvF/zqWijdC9f/ECJ1ILNMPApNIuK3PYV12AxY1j2DtDw7AdOEvcXnLtHtP+MiLMTGvKkxgRjmpHS2V9PI1zWdqGzCMCCjdgfYwyB7zbkXJEyHtV8FdxnMvApy1U5AJia1HBARv+UV1pMzJYbocKu4e0lmHKF2g92n69mQk9pzXX6xiwVpMYSF6PeysZIaHY4jxDYqB/eeqHKTGR9J6OlNkHU5OPppoLnqAavoe+FHzy7diUww+o4mIn7p8nh5v7ieFdnxPY9FhNlZmB57zg66Lo+Xg6UNWpobYzabr+3AyM80naxqYmVCC1R9YNUv9SckDC7/IkRPGfGvLxIsFJpExC9Hyt20dHh66pl8VmQncOBMA22d1mGxxyubaO30sFRF4GNuWqJzxNsOdHm8nKpuZkPoQeuB3vVMIpOMQpOI+MXXWmB5r5kmsEJTh8fLgTMNgFUsDuoEHgjZiZEU1TXj9Zojds/iuhY6PF4Wte6BmHRI1iG7MnkpNImIX/KK6siIj2Bq7LnNCpdPs0KUL1Tll9QTHxlKVkLkmI9xspuWGElbp5cqd/uI3fNYhZsQuphau+vcVgMik5BCk4gMyTRNdp+uZ0V2323k8c4wZqdE9dQ17S9pYHFmHIZ+uI650Wg78PyuYtY7C7F3ugeuZxKZJBSaRGRIRbUt1DS191ma81menUBeUT2NbZ0cr3JraS5AsrtD00jVNe0prGPbyRq+mFEIthCYsW5E7isyXik0iciQfEtv/YCNDbQAACAASURBVM00WY/H427r4qW9ZzBNWKzQFBBpceGE2IwRm2l6/O3jJEU5WNS2BzIvhfDYEbmvyHil0CQiQ8orrCcuMpRZyf305+FsmHpm+2kAlqjdQECE2G3kTI3mb4crLvoMut2n69h+spYvXRaNrfKgluZE8CM0GYYRbhjGbsMw9huGcdgwjO+OxcBEJHjsKapj+bR4bLb+65Qy4iOYEhNOSV0r2YmRxDvDxniE4vOP62dRUN3MS++fuaj7+GaZ7rS/az2g0CTi10xTO7DBNM3FwBLgesMwLhvdYYlIsKhtaudUdXOf/ky9GYbBiunW81qaC6zrFkxhSWYcj711oqd31nDtOlXLjoJaHl7STOjW/wvzPwRTckd4pCLjz5ChybQ0df8xtPufkWsCIiJBLa+oHuCcTuD98T2vIvDAMgyDr12fQ0VjG7/ZUXhB93j87RNMj+rilhP/AtFpcMsTajUggp81TYZh2A3DyAeqgLdM09zVzzX3GYaRZxhGXnV19UiPU0RG2KajlbxxqHzI63acrCE81MbC9MGLgDfkpDAnNYr1c1NGaohygS6fmci6Ock8tbmAhtbOYb32vVO17DxVw68S/wdbYync/gxEKAiLgJ+hyTRNj2maS4AMYKVhGAv7ueYXpmkuN01zeXJy8kiPU0RG2Pf/coRvvnwIzyDdo03T5O0jVVwxKxlHiH3Q+2XER/Lml9aRneQc6aHKBfjn6+fS0NrJf71bMKzXPf72cT7n3MaMyjdhw79A5opRGqHI+BMynItN03QZhrEZuB44NCojEpFRV9vUTkG1tS19T2Edl81I7Pe6I+VuSl2tPHDVrLEcnoyABWmxfGhJGs9uP829q7JJjQnvea6uuYMnNp7g/eJ6IsPsRDlCcDpCsBkGtacP8PWIZ2HGlbD6oYCNXyQY+bN7LtkwjLjuzyOAq4Gjoz0wERk9vjolgDcOVQx43dtHKjEM2JCTOhbDkhH2lWvm4vGaPP72CQA6urz899ZTXPmjd3juvSKiw0PweqHM1UZ+iYtdx87wy4ifYY+Ihtt+ATZ1pRHpzZ+ZpqnAbwzDsGOFrN+bpvna6A5LREZTXmEdYSE2LpuRyN8OV/Cvt8zv99iTjUcqWZIZR3K0IwCjlIuVlRjJ3Suz+J9dxcybGs0z205TWNvCujnJ/MtN85idGm1d2NEM+S/Ae09BXTHc9v/bu+/4Kuvz/+OvOzuBBJKQsPcGZUhYCuIAceKoWnArjjrbfmtbW9tfbW1r1VZrXZU6cG9FVARB9h4yhAAhQAgzCQQyyM75/P64E4YkcBLOOfcZ7+fjkQck5z7nXHqb5O3nvu7r8xnEKyiL/Jg7d8+tM8YMNMb0M8acYYz5iy8KExHvWZ51kAHtmjOufxv2FpSxblfBCcfkFJaxdlcBo3vrl2cge+CC7kRHhPH/vthARHgYk28fzJt3DLEDU+Fe+O4v8GxfmPYwxCbBhA+g24VOly3ilxrU0yQiga+koooNuwu4Z1QXRvdOJTzMYvqGfSfMV/puYy4AY/ooNAWylPhonp8wkP3F5fzkrHZEhIeBywVz/gqL/gOuKuh9OQx/ENoP0WgBkZNQaBIJMWuyD1HlMqR1SqJ5XBTDuyQzff0+fjO253GX6GZtzKFDUhzdU+veOkUCx4XHrhZWlsHn90D6FOg/AUb9BpK6OFecSABRl59IiFmRdRDLgkEd7WGUY89oxfb9h9mSW3zkmJKKKhZm7md075Z19jpJgDp8AN4aZwemMY/DVS8rMIk0gEKTSIhZuSOfXq0SSIiJBGBsn5ZYFsw45i66BVv2U1HlYnQfDaoMGge2wmtjYM8auG4ynPOQLsWJNJBCk4iDKqpcZO0/7LP3q6p28f2Og8dtiZKaEMNZHRKZvuFoaJqVnkNCTASDT7LfnASIyjLYNM0OTKUH4dYvoe/VTlclEpAUmkQc9MzMDC769/wGb3XRWBv3FnG4ovqEMHRx31Zs2FPIzvwSql2G2ZtyOb9XKpHh+hERcFwu2LsOFj0Hb10FT3aEDyZATDO4cxZ0GOp0hSIBS43gIg4prajm/eXZVFS5WLE9n9E+uEtteVY+wAmhaWzfVvxt2kZmbNjHwA7NOXC4QqMGAlFJvt2ztO8H+/OUXjDoduh6PnQaCVFxztYnEuAUmkQcMnXt7iMrTEu2HfBJaFqZlU/7pFhaNYs57usdkuPo0zqB6ev3sb+4gogwi1E9tYekX8nLgKTOEB5Z9+MVJfDeTyFvM1z2DPS8BBLa+LZGkSCn0CTiAGMMby7eQa9W8STGRbF02wGfvOeKrHzO7V53GLr4jFY8OyuD3YdKGdYl+UijuPiBjV/BhzdCuyF2E3eztsc/Xl0Fn9wOu1bA9W9CnysdKVMk2KlhQcQB32cfJH1vITcP78jwrsmk7y2koMS7fU1ZB0rYX1zB4M51N3eP7dsKY2BvQRmje+uuOb9RlANfPgRJXSE3HV4ZCVvnHH3cGPjy55AxHS77lwKTiBcpNIk44M3F9mapVw1oy7AuyRgDy7Z7d7VpxfbafqbEOh/v0bIpnVs0AX40DFGcYwx8cb+9N9yE9+HuudAkFd6+GuY/bTd9f/cXWPMOjHoEBk90umKRoKbLcyI+lltUxjfr93LzsE40iY6gf/tmREeEsXRbPhf1beW1912RlU9iXCRdU+qe8G1ZFneN7MKKrHzaJ6lh2C+seBUyZ8IlT0NKT/trd30HX/4CZv8VNkyBnPUw6DY47xFHSxUJBQpNIj72wfKdVFYbbh7eEYDoiHAGdUz0el/Tiqx80jolnXTC9w1DO3DD0A5erUPclJcB3/4Ruo2GIXcd/XpUE7hmkj064JtHoNflduO3BlWKeJ0uz4n4UGW1i3eX7eDcHilHLoUBDO+SzMZ9hRwqqfDK++YWlZF1oIQhGlYZGKoq4LO7IDIWrnzxxEBkWTD4Tng4A65/G8LCnalTJMQoNIn40LcbcsgpLOfWmlWmWsO61vY15XvlfVdmHQQgrZ5+JvEz856EvWtg3H8g/iSXbOOSIEw/xkV8Rd9tIj701pIs2iXGcl7P4+9O69euGTGRYV67RLciK5+YyDD6tmnmldcXD9q7DhY+AwNvgt5XOF2NiBxDoUnERzbtK2TZ9nxuHtaR8LDjL7cc7WvyzkrTiqx8BrZPJCpC3/J+b+GzENUUxv7d6UpE5Ef0E1TkNBWVVVJWWX3K4yYvyiI6Iozr09rX+fjwLsls3FvIwcOe7WvKLSpj/e5CzumW7NHXFS/I3w7pUyDtDnuvOBHxKwpNIqfBGMNPXl7MA++tPulxOYVlfPb9bq4d1I7EJlF1HjOsix1qPN3XNG9zHgDn99LASr+35EUIi4ChP3O6EhGpg0KTyGnYkltMRk4xszbmsGrHwXqPe33hdqpcLu45t2u9x/Rr19wrfU1zNufSKiGGPq0TPPq64mGH98Pqd6DfTyGhtdPViEgdFJpETsPM9BwAmsVG8szMzXUeU1BSyTtLd3B5vzZ0SK5/aGRURBhpHZM8Gpoqq10syNjP+b1STjqfSfzA8klQVQpnP+R0JSJSD4UmkdPwbXoO/ds148ELurEo80CdgeftpVkcrqjmZ6PqX2WqNbxrMpv2FZHvob6mFVn5FJVXcX5PXZrzaxWH7dDU8zJI6eF0NSJSD4UmkUbKKSxj7c5DjOnTkpuGdaRlQjTPfJuBMebIMaUV1byxKIvzeqbQp82pL48N62IPn1zuoX3o5mzKJSo8jHO6tfDI64mXrH4HSg/COT93uhIROQmFJpFGmrXRvjQ3pk8rYiLDuf/8bizPymfBlv1Hjvl41U4OHK7gvvO6ufWaZ7ZtTmxkuMdGD8zelMvQLkk0idaOSX6rugoWvwDth9lbo4iI31JoEmmkWek5dEiKo0dLewPcnw5uT9vmsfxrpr3aVFnt4pV52xjUMZHBbk7ijooII61TIku2nv5KU/aBErbmHdalOX+XPgUKsrXKJBIAFJpEGuFweRWLth5gTJ+WRxqsoyPCefCCbqzdeYjZm3L5at0edh8q5d5RXRvUhD2sSzKbc06/r2n2Jnsl7AKNGvBfxsDCf0OLHtDjYqerEZFT0Jq9SCPMz8ijosrFmD4tj/v6Twa146W5W3lmZgZV1YaeLeMbHFq6ptgrV3sLSkmqZ6aTO+ZszqNLiyZ0OmZjYHHYwSzYvwUOZNp/5m2CnB9g3AvaQ04kACg0iTTCzPQcmsdFktbx+MtukeFh/PzC7vzq47UAPPvT/oSFNexW/4QY+9uyqKyq0fWVVFSxZNsBbh7W8dQHi298+wdY/PzRz2OaQXJ3GHa/PZtJRPyeQpNIA1VVu5i9OZcLeqYSEX7i6sBVA9vy0txMyqtcXN6vTYNfPz4mEji90LQ48wAVVS5dmvMX6V/Ygan/BDjrFjssNWkBmp0lElAUmkQaaEXWQQ6VVJ5waa5WeJjFO3cOparaEFlHqDqV+CMrTZWNrnH25lyaRkcwuFNSo19DPCR/G3zxALQdBFf8ByIaf8lVRJyl0CTSQLM25hAVEca5PVLqPaZ1s9hGv35taCosbVxoMsYwZ1MuI7q1ICpCfTKOqiyDj261V5SufUOBSSTA6SeqSAMYY5iZnsM5XZO9NvvodC/PbdpXxN6CMs7vVX+oEx+Z8XvYtw6u+i8kqr9MJNApNIk0QEZOMdn5JYzp08pr7xEVEUZMZBhF5Y0LTbM35QJoPpPT1n8KK1+Dsx+EXpc6XY2IeIBCk0gDzEzfB8Do3t4NJPExkY3uaZqzKZcz2iaQmhDj4arEbbmbYOpD0H4oXPgnp6sREQ9RaBJpgJnpOQxo39zrgSQ+JoLCRlyec7kMa3Ye4pyu2mvOEfu32E3f/x0B4VFw7esQHul0VSLiIWoEF3HTtrxi1u4q4LcX9/L6e8XHRDaqEby4oooql6FF02gvVCX12rMaFjwDG7+EiGgYdJu9LUqzdk5XJiIepNAk4qb3l2cTEWbxk0Ftvf5eCTERjWoELyixg1azWK1uuM3lsnuP+l5tz05qqGm/geWvQHQzGPkrGPozaKomfJFgpNAk4obyqmo+WbWLMX1akhrv/V6hhJhI9hwqbfDzCmpWpxIUmty3cylMe9iep3TxEw177u7v7cA08CYY+wTEJHinRhHxC+ppEnHD9PX7OFhSyQ1DO/jk/eIbudJUe0lPK00NkDHd/nPNe/ZcJXcZAzP/H8QlKzCJhAiFJhE3vL88mw5JcT5rsG5saCpQaGq4zdOhSQqUHbK3O3FX5izIWgCjHlFgEgkRCk0ip7Atr5il2/IZP6R9gzffbaz4mEhKK6uprHY16HlHQlOcQpNb8rfB/s0w4peQ1AVWTXbvea5qmPknSOxsN32LSEhQaBI5hdoG8GsH+e5OqIQj+881bLWpsEwrTQ2S8a39Z89L7PCTvdiesXQqaz+A3A0w+k/aGkUkhCg0iZyErxvAax3dSqVhYwcKSisJD7NoEhXujbKCT8Z0aNHDXmUacCOERcL3b578OZWlMOdv9ga8fa7yTZ0i4hcUmkROwtcN4LXiG7nSVFBaSUJMBJblm8uIAa28CLIWQo+x9udNWkDvK2oawk9y5+KyV6BwN4z5i70Rr4iEDIUmkZN4f3k27ZNifT5hu3alqbDBK01VujTnrq1zwFUJPS45+rW022sawqfW/ZySfHuIZY+LodMI39QpIn5DoUmkHkcawAd38FkDeK3alabC0oavNCk0uSljOsQ0s/eHq9VpJCR1hVVvnHi8MTD3CagogtGP+apKEfEjCk0iwPrdBWzJKaKgtBJjDHC0Afy6NN9vhVEbfBrT06TBlm5wuSBjBnQbA+HHzPi1rJqG8CXHN4SXFcCnE2H5JBh0O6T29nnJIuI8TQSXkLdwy35uem3Zkc9jIsNomRBDbmG5zxvAazW2p6mwtJL2ibHeKCm47PkeSvbbl9l+bMANMPtxe/zAJf+AnSvg0zugYDdc8Ed7PIGIhCSFJgl57y3fQWJcJI+N60teUTk5hWXkFJZzsKSC+8/v5khNTaMb3wiuy3M1XNWwdy20GXhiw3bGdLDCoduFJz6vtiF87XsQlwRz/wEJbeGO6dB+iG9qFxG/pNAkIW1/cTkz03O4dXgnrhzg/Y143RURHkZcVHiDLs8ZYyhUaDpq8X9g1mNwzs9h9J+PD04Z06HDMDsU1WXQbbD+U3u0QN+r4fJ/Q2xzX1QtIn5MoUlC2mff76Ky2jB+SHunSzlBfExEg+6eK6mopspl1NMEUF0JyyZBVDwses7+fOzf7eBUsBv2/WCPDKhPp5Ew9F5odaZ9uU6jBUQEhSYJYcYYPlixk7SOiXRLjXe6nBMkxEQ26PKc9p07xsapULQHJnwA2+bB0pegugIuefroBr119TPVsiy7n0lE5BgKTRKyVmQdZFveYe69tqvTpdSpoZv2KjQdY+nL9pTv7mPtcBQeAYuft1ecCvdAYid7EriISAMoNEnI+mB5NvHREVzWr7XTpdQpPiaSQyUVbh+v0FRj10rYtcJeVQqrmaoy5nEIj4YF/7Q/H/ozXXITkQbTnCYJSQWllXz9w17GDWhDXJR//r+DVpoaaenLEJ0AAyYc/ZplwYV/hPN+D1aY3dwtItJA/vnbQsTLvlizm/IqFxOG+HZPuYaIj4lsUCO4QhN2k3f6FHslKbqOPrXzfgvDfmZPAhcRaSCtNEnIMcbw/vKd9G2TwBlt/feXZ0JsBIUNWGkqrAlNIX333IpXwbhgyF31H6PAJCKNpNAkIeeH3QVs3FvIeD9eZQL77rmKKhflVdVuHV9YWollQXx0iC4gV5TYU7x7Xmo3eouIeJhCk4ScD1bsJCYyjCsHtHG6lJNq6FYqBaWVxEdH+HxzYb/xw0dQmg/D7nO6EhEJUgpNElIOl1cxdc0eLjuzDQkx/n0ZqzGhqVmcf/8zeY0xsPS/9jDKjmc7XY2IBKkQXceXULQ1r5jfffoDxeVVTPDDCeA/Fh9tB6DaXqVTCdl95w4fgDXvQN5GuOpljRIQEa9RaJKgV1HlYtL8rfznu0xiIsN4+tp+pHWqZ88xP1Lb0N2glaZQCU2HsmHT17DxK8hebDd/t+4PZ/zE6cpEJIgpNElQW7PzEI98uo5N+4q47MzW/GlcH1LjY5wuyy1HL8+5v9LUqllg/LOdlgXPwHd/tv+e2gdG/gp6XW6HJq0yiYgXKTRJ0Hp1wTb+Pm0jqfExTLp5EBf1beV0SQ3S8J6mquBfaaostTfg7XIeXPYMJPvnFjgiEpwUmiQoPf/dFv41M4NLzmjFk9f28/um77rE19Ts7oDLwrLKgPznbJANU6DskL26pMAkIj6m0CRBxRjDMzMzeH52JtcMbMtT1/YjIjwwbxJtWjNvyZ0Bl2WV1VRUuYJ/sOWqNyC5G3Qa6XQlIhKCAvO3iUgdjDH845tNPD87k/GD2/P0df0DNjABhIdZxEdHuNXTFBJbqORsgJ3LYNDt6l0SEUdopUmCgjGGP3+ZzuTFWdwyvCOPXdE3KIY8urtpb0iEppVvQHg0DLjB6UpEJEQpNElQeGnuViYvzuLOEZ159LLeWEGyEhEfE6mVJoCKw7DuQ+hzJcT5/7gIEQlOgXvtQqRGWWU1ry3czoW9UoMqMEEDVppKgjw0rf8Mygsh7XanKxGREKbQJAHv63V7yT9cwcQRnYMqMIEdmty5ey7oV5pWvg4pvaDDcKcrEZEQptAkAe+tJVl0S23K8K7JTpficQmxkW6tNNUGq6AMTXvXwp7v1QAuIo5TaJKAtjr7IGt3FXDr8I5Bt8oEDW8Erx2IGVRWvgERMdD/p05XIiIhLgh/wkooeWvJDppGR3D1We2cLsUrahvBjTEnDYUFpZU0jY4I3BELLhd8MAFKDkDvcdBnHCR2gvIi+OFj6HsNxCY6XaWIhDiFJglYeUXlfL1uLzcM7XBkEGSwiY+JoLLaUF7lIiYyvN7jAn6z3g2fQcZ0SOwMM/9of7QeAM07QEUxpN3hdIUiIgpNErg+XJFNRbWLm4d3dLoUrzmylUpp5UlDU2FpZeBOA68qtzfgbXkm3DMfDu2AjVMhfar9Z6t+0C7N6SpFRBSaJDBVVbt4Z2k2I7u3oGtKU6fL8ZqEmKNbqaQm1H+cvdLk8Ldz/nb4+Fb4yevQopv7z1v+PziUDTd/DmFhkNQZzvm5/VGwGyJj1QAuIn4hQBsgJNTNTM9hX2EZtw7v5HQpXlW7Ae+pBlz6xeW5Zf+173Rb+Zr7zyk9CPOfhq4XQtcLTny8WVsNsxQRv6HQJAFp8uIs2iXGcn6vVKdL8arau+FOdQed46Gp4jCsec/++w8fQ/WpZ0sBsOAZKCuAMX/xXm0iIh6i0CQBZ9O+QpZtz+fmYR0JD4L95U4m/shK08lDU2Fp1ZFVKUes+8ie2H3Oz+FwHmydfernHMqGZa/Ye8m1OsP7NYqInCaFJgk47yzdQXREGNentXe6FK+LP9LTVP/KTUWVi9LKaudWmoyBFa/ajdzn/wHiko+uOp3M7L/avUrn/977NYqIeIBCkwSclVkHObtrMolNopwuxetq74g7WU/TkS1U4hwKTTuXQ856GDwRIqLgjGth8zd2v1J99qyxN+Addi80C84ZWyISfBSaJKBUVbvYlneYHq3inS7FJ5pEhRNmnfzynOP7zq14FaIT4Mzr7M8HTIDqctjwed3HG2PPYYpNghG/9F2dIiKnSaFJAkp2fgkV1S66p4ZGaLIsi6bRJ99KpTY0OTKnqTgP0qdA/wkQXTP6ofUAe3PdtR/U/Zw178H2+fZluZhmvqtVROQ0KTRJQMnIKQage2rwzmb6sfiYyJP2NBU6udK0+m2orrAvzdWyLOg/HnYugwNbjz++YBdMfwQ6ngNpExERCSQKTRJQMnOLAOgWUqHJvZUmn4cmV7W9mW7ncyGl5/GP9fspYB2/2mQMTH3Qft6VL9qDLEVEAoh+aklA2ZJbTNvmsTQJ0r3m6pIQG3lkNakujoWmLd9CQTYMvvPExxLaQJfzYN0H9ma8AKvesEcRXPQXe+q3iEiAUWiSgJKRU0z3lqGzygT2VionW2mqDVRem9O0aRpMvhxmPQZbZkG5vdrHilchvjX0vLTu5w24wZ7FlL0YDmbBjD/YQUqX5UQkQIXO/65LwKt2GbbmFTOyewunS/Gp+JhIimqDSh0KSiuJjQwnKsIL/w+0fwt8dhdEREP2Elj4LFjh0Lof7FkN5/0OwusJa70ug6imduP3wR0QFg7jXtA+ciISsBSaJGDszC+hosoVUv1M4F5Pk1cuzVWUwEe3QngU3DMfYhPtmUw7FkHWIkjsDINuq//5UU2gz1Ww5h3783EvQPPgH0gqIsHrlKHJsqz2wFtAK8AFTDLGPOftwkR+LCPHXm0JpTvn4GhoMsZg1bFK47XQNO3XkJsON35ydABl1/PtD3f1H2+Hpu4XwcCbPF+jiIgPubPSVAX8yhjzvWVZ8cAqy7JmGmPSvVybyHG25NaMG2gZGjOaaiXERFLtMpRUVNfZAO+V0LT6HTvsnPtr6D668a/TaQRc+RL0uFiX5UQk4J2yCcIYs9cY833N34uAjUBbbxcm8mOZucW0aRZD0xC6cw5OvWlvQWmlZwdb5myArx+GTiPtnqXTYVkw8EZokuyZ2kREHNSgzlHLsjoBA4FldTx2t2VZKy3LWpmXl+eZ6kSOkZFTRLcQW2WCo5v21rf/XKEnV5rKi+w+ppgE+MlrdvO2iIgADQhNlmU1BT4FfmGMKfzx48aYScaYNGNMWkpKiidrFKHaZcjMLaZHiPUzwdHQVFjPSlNhWRUJsR5affv6Ycjfagem+JaeeU0RkSDhVmiyLCsSOzC9a4z5zLsliZxo98FSyqtcITejCY69PHfiSlNVtYvi8irPrDRtmGIPozz3N9B55Om/nohIkDllaLLs23VeAzYaY57xfkkiJ6q9c65biGzUe6xmsfWvNNV+7bRDU9E++OoX0GYgnPvw6b2WiEiQcmel6RzgZuACy7LW1HzUMwJYxDuO3jmnlaZjeWQLFWPgiwegshSunlT/sEoRkRB3ykYIY8xCQPcKi6O25BbRKiHGe1uF+LGjjeAnrjR5JDStegMyZ8IlT0FKj8a/johIkNPecxIQtoTgnnO1YiPDCQ+zvLPSdGArzHjU3hNu8F2NL1JEJAQoNInfc9XcOdc9BPuZACzLqncrldMKTdVV8PnP7MtxV74EYfpxICJyMqE1JVAC0u5DpZRWVofsShPYU8ELS+tfaWrwcMvCPTDvSdi1HK55FZppXq2IyKkoNInf25Jr3znXI4RDU30rTYUNWWlyuWD7XFj5OmyaBqYa0ibCmdd6uFoRkeCk0CR+b0uOfedct5TQvDwHJw9NURFhxESeYnL3D5/AnL9B/jaITYLh90Pa7ZDUxUsVi4gEH4Um8QvVLsO1/13MRX1ace95XY97bEtuManx0TSLC70752rFx0SyM7/khK+7tVlvST5MuQ9adIdr/ge9x0FkjJcqFREJXgpN4hcWb93P6uxDrN15iEEdExnSOenIY1tyiugRgnvOHetkjeCnDE1r3oXqcrhmErTs66UKRUSCn26XEb/w+fe7iY+JoH1SHL/4YDUFJXavjjGGLbnFdAvBPeeOlRATSWE9IwdOGppcLljxGrQfpsAkInKaFJrEcYfLq/hm/T4u79eG58YPJLeonN9P+QFjDHsKyiipCO075wASYiIoLq/C5TLHff2UoWnbHDi4HQbf6eUKRUSCn0KTOG7Ghn2UVlZzzVltGdC+Of93UQ++XreXj1ftOrLnnC7PRWIMHK44/hLdKUPTytchrgX0GeflCkVEgp9Ckzjus+930z4plrSOiQDcc25XhndJ5rGpG/h2Qw4A3VJCe6Wpvq1UCksrSYippzWxYBdsngYDb4KIaG+XKCIS9BSaxFH7CspYtHU/Vw9syTuAeAAAIABJREFUh2XZWxyGh1k8+9MBREWE8f7ybFo0jSaxSZTDlTrr6Ka9R0OTy2UoKq+qf6Vp1Zv2Zrxpt/uiRBGRoKe758RRX6zZjTFw9cDjJ1K3ahbDkz/pxz1vrwrpoZa1EmLtb9XnZ28hMS6KymoXZZXVGFPPNPDqSvj+Leg+BhI7+bZYEZEgpdAkjjHG8Nn3uzmrQ3M6t2hywuNj+7biz+P60iE5zoHq/EvXlKa0aBrF3M15RIZbRIaHERkeRvfUpgzulHTiEzZ9DcX7IO053xcrIhKkFJrEMel7C9mcU8TjV51R7zG3nt3JdwX5sTbNY1n5hzHuP2HFq9Csg73SJCIiHqGeJnHM59/vJjLc4vIzWztdSnDJy4CsBZB2G4SdYnsVERFxm0KTOKKq2sWUNXu4oFdqyDd5e9zK1yEsEgbe4nQlIiJBRaFJvKq0oprHpm7goxU7j0z5BliYuZ/9xeVcPbCdg9UFoZJ8WPOePZepaYrT1YiIBBX1NIlXLd12gMmLswB4dMoPjOyewhX9WzNjfQ7NYiM5v5d+sXvUnL9DRRGM/JXTlYiIBB2FJvGqzNxiAN6eOIT5GXl8tW4vszflAnDTsA5ER6jnxmNyN9qX5gbdrn3mRES8QKFJvCozt5jkJlGM7J7CyO4p/O6S3nyffZD5GXmMH9LB6fKChzEw4/cQ3RTOf9TpakREgpJCk3hVZl4xXVOPDqcMC7NI65REWl2zhaTxMmbA1tkw9glokux0NSIiQUmN4OI1xhgyc4vplqqJ3l5VVWGvMiV3hyF3OV2NiEjQ0kqTeM3+4goKSitDfrNdr1s+CfK3wg0fQ3g9+9CJiMhp00qTeE1tE7hWmrzo8H6Y9xR0Gw09LnK6GhGRoKbQJF6TmafQ5HWz/woVxTD2705XIiIS9BSaxGu25hbTJCqc1s1inC4l+BgDi56DVZPtPqaUnk5XJCIS9NTTJF6TmWvfOWdZltOlBJfyYvjifkifAn2uggv/n9MViYiEBIUm8ZrM3GLO7qrb3z3qwFb44AbYnwFj/gJnPwQKpSIiPqHQJF5RVFbJvsKy42Y0yWna/A18djeERcBNn0HX852uSEQkpCg0iVdszTsMqAm80YyBg9shaxHsWGT/WZANrfvDT9+B5pqmLiLiawpN4hUaN3AaNk+Hr38Fhbvsz+NaQMez4ZyHYOBNEBnrbH0iIiFKoUm8IjO3mMhwi45JcU6XEljWvG83ebfsAyN/CR1H2HfGqW9JRMRxCk3iFZm5xXRKbkJEuKZauG3Ji/Z2KJ1Hwfh3ITre6YpEROQYCk3iFVvziunVSr/03WKMPaRywT+h9zj4yasQEe10VSIi8iNaBhCPK6+qZseBw+pncoerGr76pR2YBt0G101WYBIR8VNaaRKPy9pfgsuoCbxeBbth2xzI/A62zYXSfBj5K7jgj+pdEhHxYwpN4nG1d851TVFoOs66j2HBvyBvo/1501bQ42LofQX0utTZ2kRE5JQUmsTjMnOLsSyFpuMseQlm/M6eszTmceh6AbTsq5UlEZEAotAkHpeZV0zb5rHERoU7XYrzjIG5T8C8J+0VpZ+8pp4lEZEApdAkHpeZW6x+JgCXC6Y/AstfgQE3wRXPQbi+5UREApXunhOPqnYZtuUV0y3UL81VV8EX99mBadj9MO55BSYRkQCnn+LiUbsPllJe5dJK07Rfwdr34fxH4dxfq3dJRCQIKDSJR2XmFQEhPm4gdxOsehOG3QejfuN0NSIi4iG6PCcepXEDwLx/QFQTGPmw05WIiIgHKTSJR2XmFpPcJIrEJlFOl+KMfethw+cw7F5okux0NSIi4kEKTeJRmbnFdA3lS3Nzn4DoZjD8fqcrERERD1NoEo8xxoT2uIE9q2HTV3Zgik10uhoREfEwhSbxmLzicgrLqkJ33MCcJyCmuX1pTkREgo5Ck3hMZo7dBB6SK007V8CWGXDOQxCT4HQ1IiLiBQpN4jGvL9pOk6hw+rVr5nQpvjfnbxCXDEPucboSERHxEoUm8Yh5GXnM2pjLgxd2p3lciN05t2MxbJsD5/wCokNwlU1EJEQoNMlpq6x28fhX6XRMjuP2czo5XY5vHcyCab+BJqkw+E6nqxERES/SRHA5be8s3UFmbjH/uyWN6Ihwp8vxDWNg1Rsw4w9ghcE1kyAqzumqRETEixSa5LTkH67g2ZkZjOzegtG9U50ux7O2z4fIOEjtc3wgKtgFUx+ErbOhy3kw7gVo3t6pKkVExEcUmuS0PDNzM4crqvnj5X2wgmlT2h1L4M0r7L9bYZDUFVqdaYejlZPBVQmX/QvSJmozXhGREKHQJI22cW8h7y3L5pbhnejRMt7pcjxr3pPQJAUuewZyNkDOeti9EjZ8Bh3OhqtehKQuTlcpIiI+pNAkx5mfkUdRWRWX9Wt90uOMMfzly3QSYiP5xejuPqrOR3Yut++GG/M49Blnf9SqKIHIWK0uiYiEIIUmOc7jX6WzI7+EQR0TadUspt7jZmzYx5JtB3j8yr7BN2Jg3pP2zKW0O058TM3eIiIhSyMH5Ih9BWVsyS2mosrFi3My6z2uosrFE99sontqUyYM6eDDCn1g1yrInAXDH9DMJREROY5CkxyxYEseAIM7JfLBimx2HSyp87h3lu5gx4ESfn9ZbyLCg+w/oflP2ZvtDrnL6UpERMTPBNlvPDkdCzP306JpFP8ePxALixdmn7jaVFBSyX9mb2Fk9xac1yPFgSq9aM8ayJgOw++H6CBrbBcRkdOm0CQAuFyGRZn7GdGtBW2bx3LD0A58vGoXOw4cPu64F+dmUlBaye8u6R1cIwYA5j8NMc1gyN1OVyIiIn5IoUkA2LivkP3FFYzobq8e3XdeVyLCLJ77bsuRY3bmlzB5URbXntWOPm0SnCrVO/b9AJu+gmH32cFJRETkRxSaBICFW/YDMKJbCwBSE2K4ZXhHpqzeTWZuMQBPTt9EeJjFry7q6VidXjP/aYhOgKH3OF2JiIj4KYUmAex+ph4tmx43ZuBno7oSExnOc99t4fvsg3y1bi93ndvlpKMIAkp1lX2n3Kd3QfoXMPRndhO4iIhIHTSnSSirrGbZ9nxuGtrxuK8nN43mtrM78fK8raTvKSAlPpp7zg2CKdh718HaD2D9J1CcY1+OS5sI5/zc6cpERMSPKTQJK7LyqahyMbJHixMeu/vcLry9ZAdb8w7zj2vOpEl0AP8nU3oIpv0afvgIwiKhx1jo91P7z4hop6sTERE/F8C/AcVTFm7ZT1R4GEM7J53wWPO4KB69rDdzNudyXVp7B6rzkG3zYMq9ULQPRj1i9y7FnfjPKyIiUh+FJmH+lv2c1bE5cVF1/+cwfkgHxgfq5O/KMpj9OCx5AZK7wZ0zoe0gp6sSEZEApNAU4vKKytm4t5Bfjw2iO+IOH4C8jZC7EVa+DrnpMPhOewNe7R0nIiKNpNAU4hZl2qMGRnY/sZ8poGybCwuesYPS4dyjX09oBzd+At3HOFaaiIgEB4WmELdgy34S4yLp2yaABzoW7oWPboWoptD9IkjtDam9ILUPxLeGYJtcLiIijlBoCmHGGBZm5nF2txaEhwVosDAGvvoFVJXBnbOgRXenKxIRkSCl0BTCtuQWk1NYzshuAXxpbs179ia7Y59QYBIREa/SRPAQtqB265RA7Wcq2AXTH4EOZ9vTvEVERLxIoSmELdySR5cWTWiXGIB3lBkDUx8EVxVc9SKE6T9lERHxLv2mCVHGGL7PPsTQLgE64HHVZNg6G8b8BZKCYGsXERHxewpNIWrXwVIKSis5o20A3jV3cAd8+wfoPMreM05ERMQHFJpC1PrdBQCcGWihyVVtb4eCBVfqspyIiPiO7p4LUev3FBARZtGjZbzTpTTM/KdhxyK4+hVoHsB74YmISMDR/6aHqPW7C+neMp6YyHCnS3Ff1kKY9yT0Gw/9xztdjYiIhBiFphBkjGH97gLOaJPgdCnuK8mHT++CxM5w2T+drkZEREKQLs+FoJzCcg4crgicJnBjYMp9ULIfJs6E6AC7pCgiIkFBoSkE1TaBn9E2QFaalr0CGd/AxU9CmwFOVyMiIiFKl+dC0A+7C7As6N06AELTnjUw84/Q4xIYeo/T1YiISAhTaApBG/YU0DWlKXFRfr7QuD8TPrwJ4lrY4wWsAN1UWEREgoJCUwhav7vQ/5vA96yG18dCZSlMeB+aJDtdkYiIhDiFphCTV1TOvsIy/24C3zYPJl8BkXFwxwz1MYmIiF9QaAoxG/bUNoH7aWhK/wLevRaatYOJM6BFN6crEhERAdwITZZlvW5ZVq5lWet9UZB414Y9hQD08bfLc8bA8v/Bx7dB6wFw+zRIaON0VSIiIke4s9I0GbjYy3WIj6zfXUCn5DgSYiJ984bVlbD2Qziwtf5jdi6H18bAtIeh64VwyxSIS/JNfSIiIm465e1Txpj5lmV18n4p4gs/7C6gf/vmvnvDRf+G2X+1/95hOAy4AfpcBTEJcDALZj0GGz6Hpi1h3PMw4EYIC6CtXUREJGR47J5zy7LuBu4G6NChg6deVjzoUEkFuw6WcuPQjr55w7zNMO8p6HkZtB8Ca96FqQ/CtN9ApxGwfR6ERcCoR+DsByG6qW/qEhERaQSPhSZjzCRgEkBaWprx1OuK59T2M/lkErjLBVMfsu+Au+Lf0DQVzvk57P7eDk8ZM+DM6+GCR9W7JCIiAcHPpxuKJ9Vun9K3jQ/unFv5GuxcCle9bAcmsIdTthtkf4iIiAQYjRwIIev3FNK2eSxJTaK8+0aHdtq9Sl0vgP4TvPteIiIiPuLOyIH3gSVAT8uydlmWNdH7ZYk3bNhdQF9vjxowBr76pf3n5f/W1iciIhI03Ll7TksFQaCorJJt+w9z1cC23n2jHz6GzJlw8ZOQ6KOGcxERER/Q5bkQkV7TBH6mNyeBH94P3/wW2g2GIXd5731EREQcoNAUItbXhKa+3rxzbt5TUFZgz1vSrCUREQkyCk0hYsPuAlLjo0mNj/HOGxzKhlVvwMCbILW3d95DRETEQQpNIWL9noLGb9JblGNvdXIy854ELBj1m8a9h4iIiJ9TaAoB2QdKyMgpZlDHxIY/uaoc3r4KXh8L2xfUfcz+LbDmPRh8JzRrd3rFioiI+CmFphDw3vJswsMsfnJWIwLN3CcgNx2apMAnd0DRvhOPmfN3iIiFEb88/WJFRET8lEJTkCuvqubjlTsZ3TuVVs0a2M+0czkseg7OugVungLlRfDJRKiuOnrM3nWw4TMYfh80TfFs8SIiIn5EoSnIzdiQw4HDFQ3fpLfiMHz+M0hoBxf9DVr2sfeQ27EQ5vz16HGz/woxzWH4A54tXERExM9o77kg987SHXRIimNEtxYNe+KsP0P+Vrj1K4ipGVPQfzxkL4GFz0L7oRCbBFtmwOjHILa5p0sXERHxKwpNQWxLThHLt+fzyCW9CAtrwHYm2+bC8ldg6L3QeeTxj138JOz+Hj6/BxI7Q5NUGHK3R+sWERHxR7o8F8TeXZZNZLjFdYMa0ABeVgBfPADJ3WH0n058PDIGrn8LDLB3DZz7a4hq4rGaRURE/JVWmoJUaUU1n36/i0vOaE1y02j3nzjjUSjcDRNnQmRs3cckdYbr34R1H8GgWz1TsIiIiJ9TaApSX67bQ1FZFTcO7eD+k7bNhdVv26MD2qWd/Niu59sfIiIiIUKX54LUu8uy6ZbalCGdk9x7QkUJfPlzSOoKo37r3eJEREQCkEJTEFq/u4C1Ow9x49AOWJabDeBzn4CDWTDuP/VflhMREQlhCk1B6N1l2cREhnGNuxPA96yBJS/AWbdCpxHeLU5ERCRAqacpiJRWVPP+8mw+X72Lcf3b0Cw28tRPqq6EqQ/Y26SM+Yv3ixQREQlQCk1BoLi8ineW7uDVBdvYX1zBkM5JPHRhd/eevOQF2PcDXP+2BlSKiIichEJTADPG8PK8rUyav41DJZWM7N6CB87vxtAuye69wIGtMPcf0Oty6DPOu8WKiIgEOIWmADZ3cx5PTd/MqB4p/GJ0dwZ2SHT/ya5qmPoghEfBpf/0XpEiIiJBQqEpgH2bvo8mUeFMumUQ0RHhDXvy3CdgxyK46mVIaO2dAkVERIKI7p4LUC6XYdbGXEb1TGl4YMqcBfP/CQNuggE3eKdAERGRIKPQFKDW7jpEXlE5Y/q0bNgTC3bDZ3dDam+49GnvFCciIhKEFJoC1Mz0HMLDLM7vmer+k6qr4NOJUFkG170JUXHeK1BERCTIqKcpQM1Mz2FIpySax0W5/6TZj0P2ErjmVUjp4b3iREREgpBWmgJQ1v7DbMktZnRDLs1lzIBF/4ZBt0G/67xWm4iISLBSaApAszbmAHCRu6Fp3cfwyURoeSZc/A8vViYiIhK8FJoC0LfpOQxPraL96n/CC4NhxqNQnHvigeVF8Pm98Nmd0LIP3PChNuMVERFpJPU0BZhDO9O5eteTXBexEBZUQbs0WPoSrHgN0m6Hc34O8a1gz2r45A44mAWjfgvn/gbCdbpFREQaS79FA0VJPkx9kGabvuaasAgKev6U5DH/B8ld7e1QFvwLlr1ih6eeF8OmadA0FW79Cjqd43T1IiIiAU+X5wLFkhdh09dMS7yRK6NeIfH6F+zABPafV70ED66CftfDpq+hx1j42UIFJhEREQ9RaPJD2/KKeWr6JgpKKu0vVFfC6neo7jaGh/dfwaA+PQgLs058YlJnuPIFeGQnjH8X4pJ8W7iIiEgQU2jyQ0/P2MxLc7dy2fMLWLfrEGRMh+J9bGh9NaWV1aeeAq6hlSIiIh6n0ORncovKmJmew5g+LTEGrn15CbtmvYyJb8OHh3rRNDqC4V2TnS5TREQk5Cg0+ZmPV+6iymX43SW9+PqhEVzVqYo2+xczLXIM327KZ1SPRmzQKyIiIqdNd8/5EZfL8MGKbIZ1SaJLSlMAnuy8GrPb4ol9g8lzlTO6TwP2mhMRERGP0UqT06or7XECwMLM/ezML+WGoR2PPGateYewHhfxzF2XccPQDlzUp5WDxYqIiIQurTQ5bcp99oiAW6bw3rJwkppEMbZvTaP35m+gOAcG3c6QzkkM6ay74URERJyilSYn7VoJP3wErkpc71zLrk3LuHZQu6M9S6vegIS20G20s3WKiIiIQpNjjIFv/wBNUuGe+RwmhskRT3BL9wr78YNZsHU2nHWLtj8RERHxAwpNTtn0NWQvgfN/h6tFL+4yfyQyPIx2X06Agztg1ZtghcHAm52uVERERFBockZ1Jcz6E7ToCQNvYf6WPJYWJrH6vMlQUQxvjYPVb0P3sdCsrdPVioiICApNzlg1GQ5kwpg/Q3gE7y3LJrlJFGefPQpu+gyK8+BwHqTd7nSlIiIiUkPNMr5WVghz/wEdR0CPi8kpLOO7TbncObIzURFh0C4Nbv4MNk9TA7iIiIgfUWjytUX/hpL95Ax/lG+X7uCz1bupdhkmDO5w9JgOw+wPERER8RsKTT5ijGFTxma6LXyBhZHncvvkg8BBOiXH8cfL+9CpRROnSxQREZGTUGjysvzDFUxZvZuPVmRzf/7f6RJWzWeJd/DoyN5c0DuVrjXbpYiIiIh/U2jyktXZB3l1wXZmpudQUe3it8kLuSJ8KaUjHuH50Vc7XZ6IiIg0kEKTF6TvKWTC/5YSGxnOTcM6cnOHPDp/8T/oNobYC37rdHkiIiLSCApNHnaopIJ73llJ89govnxwBClhxfDKdRDfGq6ZBGGa8iAiIhKIFJo8qNpleOiDNeQUlPPhPcNIaRIB794Jh3Nh4rcQpw13RUREApWWPTzomZmbmZ+Rx2Pj+jKwQyLMe9LeP+7Sp6HNQKfLExERkdOg0OQh09fv48U5Wxk/uD03DO0AW2bCvKdgwI1w1q1OlyciIiKnSaHJAzJzi/jVR2vo3745f76yLxTugc/uhpZnwKX/BMtyukQRERE5TQpNp2lrXjET31xJbFQ4/73pLKLDgM/vgaoyuO4NiIpzukQRERHxADWCn4bvNubwiw/WEBkRxqu3ptG6WSwseAa2z4dxL0CL7k6XKCIiIh6i0NQILpfhxTmZPDMrgz6tE5h0Sxptm8fCrlUw52/Q5yoYeJPTZYqIiIgHKTQ1UHF5FQ9/tJbpG/Zx1YA2PHFNP2KjwqGsED69w57HdMVz6mMSEREJMgpNDVBYVsn1/11CRk4Rf7isNxNHdMaqDUfTHoZD2XDbNIht7myhIiIi4nEKTW4yxvDIp+vYklvM67cN5ryeqUcfXPshrPsQRj0CHYc7V6SIiIh4jUKTm95dls20H/bxyCW9jgamihKY/zQsfh7aD4Nzf+1skSIiIuI1Ck31ydsM/7sQ2p7Frs7X8o9vmzGqR2vuHtnFfnzTNPjmt1CQDf1vgLF/g3D96xQREQlW+i1fn2X/heoKXPnbabf9QRZHNCEq6aeEbS+GZZMg4xtI6W33MHU6x+lqRURExMsUmupSegjWfoA581oeLruT3LyZ/LvnehJ+eBfWvA6RTWDM4zDsXgiPdLpaERER8QGFprqsfR8qS5gVfyWfLd3LL0dfQ4vRv4XSg7B1DrQfAs3aOV2liIiI+JBC04+5XLD8fxxOPYuH5hqGd0nmgQu62Y/FJsIZ1zhbn4iIiDhCe8/92LbZkL+Vx3NH0CI+iufGDyA8TIMqRUREQp1Wmn6keMHLlNGMJdEjeO/OYaQmxDhdkoiIiPgBrTQdI2vLBuJ2fMcXYWN46+4RtE+Kc7okERER8ROBF5qMgQXPwMo3PPqy2/cfZsH7/8CFxYU3P0LH5CYefX0REREJbIEXmiwLts625yh5yM78Eu6YNI9xru8o6XIpnTp399hri4iISHAIvNAE0PsKyNsEeRmn/VL7Csq48dVlnFsxj2YcJuHc+zxQoIiIiASbwAxNvS6z/9z05Wm9zIHicm58dSkHisv4bdJ8SO0LHc/2QIEiIiISbAIzNDVrB20HwcbGh6aCkkpufm05uw+VMnXEDuLy02HIXfblPxEREZEfCczQBPYluj2r4dDOBj+1uLyK2yYvZ2tuATPP+I6ui38LHUdA//FeKFRERESCQeCGpl5X2H9u+rpBTyurrObON1ewfdceFrZ/hfYb/wdpE+GWKRAZ64VCRUREJBgEbmhq0Q1S+zToEl1ZZTV3vbWSvKz1LEz6Kym5i+HyZ+HyZ7TxroiIiJxU4IYmsC/RZS+G4rxTHlobmOK2fcP0uMdo6iqCW6ZC2h0+KFREREQCXeCHJuOCzdNOelhZZTUPTp7P5Vl/55XIZ4lM6Qp3z4VO5/ikTBEREQl8gR2aWp4BiZ1OeomurLKaf0x6iz/supvrw+fBiP+DibOgeQff1SkiIiIBL7A37LUse7Vp6X85XJDP2jwXkRFhRIWHERkeRiRV/PD+H/lj4buUxbXGGj9Nc5hERESkUQI7NAH0HgeLn+fFSS/y0oGzjnw5nhJejnyWa8I3sKP9ODre9ALENHOwUBEREQlkgR+a2qZREp3CGYXz+cNlN9KzVTxW4R76zb+LpoVbyR7xTzpeeJfTVYqIiEiAC/jQdKCkkpnlA7kqYh7RQ1tiHcqGLydAWQHc+BEdul3odIkiIiISBAK7ERx4avpmvq4cTIwpx5r7BLw2FlzVcPs3oMAkIiIiHhLQoWnNzkN8uHInfYdfArGJsPh5iG8Fd86E1v2cLk9ERESCSMBenqt2Gf7fF+tJjY/mgTG9If5+ey+6K1+AuCSnyxMREZEgE7Ch6aOVO1m3q4Dnxg+gaXQEjPq10yWJiIhIEAvIy3OHSip4avomhnROYlz/Nk6XIyIiIiEgIEPTP7/dTGFZFX8e1xfLspwuR0REREKAW6HJsqyLLcvabFlWpmVZj3i7qJOpdhn2FZRz87CO9G6d4GQpIiIiEkJO2dNkWVY48CIwBtgFrLAsa6oxJt3bxdUlPMzi1VvTqKp2OfH2IiIiEqLcWWkaAmQaY7YZYyqAD4ArvVvWqUWEB+SVRREREQlQ7iSPtsDOYz7fVfO141iWdbdlWSsty1qZl5fnqfpERERE/II7oamuTmtzwheMmWSMSTPGpKWkpJx+ZSIiIiJ+xJ3QtAtof8zn7YA93ilHRERExD+5E5pWAN0ty+psWVYUMB6Y6t2yRERERPzLKe+eM8ZUWZb1ADADCAdeN8Zs8HplIiIiIn7ErW1UjDHTgGlerkVERETEb+m+fRERERE3KDSJiIiIuEGhSURERMQNCk0iIiIiblBoEhEREXGDQpOIiIiIGxSaRERERNyg0CQiIiLiBoUmERERETcoNImIiIi4QaFJRERExA0KTSIiIiJuUGgSERERcYNCk4iIiIgbFJpERERE3KDQJCIiIuIGyxjj+Re1rDxgh8df+HgtgP1efg9pOJ0X/6Vz4590XvyXzo1/8sZ56WiMSTnVQV4JTb5gWdZKY0ya03XI8XRe/JfOjX/SefFfOjf+ycnzostzIiIiIm5QaBIRERFxQyCHpklOFyB10nnxXzo3/knnxX/p3Pgnx85LwPY0iYiIiPhSIK80iYiIiPiM34cmy7Iutixrs2VZmZZlPVLH49GWZX1Y8/gyy7I6+b7K0OPGefk/y7LSLctaZ1nWd5ZldXSizlB0qnNzzHHXWpZlLMvS3UE+4M55sSzr+prvmw2WZb3n6xpDlRs/zzpYljXHsqzVNT/TLnWizlBjWdbrlmXlWpa1vp7HLcuy/lNz3tZZlnWW14syxvjtBxAObAW6AFHAWqDPj465D/hvzd/HAx86XXewf7h5Xs4H4mr+fq/Oi/+cm5rj4oH5wFIgzem6g/3Dze+Z7sBqILHm81Sn6w6FDzfPzSTg3pq/9wGynK47FD6Ac4GzgPX1PH4p8A1gAcOAZd6uyd9XmoYAmcaYbcaYCuAD4MofHXMl8GbN3z8BLrQsy/JhjaHolOfFGDPHGFMnuFw9AAAD5UlEQVRS8+lSoJ2PawxV7nzPADwOPAWU+bK4EObOebkLeNEYcxDAGJPr4xpDlTvnxgAJNX9vBuzxYX0hyxgzH8g/ySFXAm8Z21KguWVZrb1Zk7+HprbAzmM+31XztTqPMcZUAQVAsk+qC13unJdjTcT+vwHxvlOeG8uyBgLtjTFf+bKwEOfO90wPoIdlWYssy1pqWdbFPqsutLlzbh4DbrIsaxcwDXjQN6XJKTT0d9Fpi/Dmi3tAXStGP77dz51jxLPc/nduWdZNQBowyqsVSa2TnhvLssKAZ4HbfFWQAO59z0RgX6I7D3tldoFlWWcYYw55ubZQ5865mQBMNsb8y7Ks4cDbNefG5f3y5CR8/vvf31eadgHtj/m8HScuix45xrKsCOyl05Mt58npc+e8YFnWaOBRYJwxptxHtYW6U52beOAMYK5lWVnYfQBT1Qzude7+LPvCGFNpjNkObMYOUeJd7pybicBHAMaYJUAM9v5n4iy3fhd5kr+HphVAd8uyOluWFYXd6D31R8dMBW6t+fu1wGxT0yEmXnPK81JzCegV7MCk3gzfOem5McYUGGNaGGM6GWM6YfebjTPGrHSm3JDhzs+yKdg3UGBZVgvsy3XbfFplaHLn3GQDFwJYltUbOzTl+bRKqctU4Jaau+iGAQXGmL3efEO/vjxnjKmyLOsBYAb2HQ6vG2M2WJb1F2ClMWYq8Br2Umkm9grTeOcqDg1unpengabAxzV9+dnGmHGOFR0i3Dw34mNunpcZwEWWZaUD1cCvjTEHnKs6NLh5bn4F/M+yrF9iX/65Tf9z7n2WZb2Pfbm6RU0/2Z+ASABjzH+x+8suBTKBEuB2r9ek8y4iIiJyav5+eU5ERETELyg0iYiIiLhBoUlERETEDQpNIiIiIm5QaBIREZGAdKpNfX907LOWZa2p+ciwLKvBg2N195yIiIgEJMuyzgWKsfegO6MBz3sQGGiMuaMh76eVJhEREQlIdW3qa1lWV8uypluWtcqyrAWWZfWq46kTgPcb+n5+PdxSREREpIEmAT8zxmyxLGso8BJwQe2DlmV1BDoDsxv6wgpNIiIiEhQsy2oKnM3R3SgAon902HjgE2NMdUNfX6FJREREgkUYcMgYM+Akx4wH7m/si4uIiIgEPGNMIbDdsqzrAGo28+1f+7hlWT2BRGBJY15foUlEREQCUs2mvkuAnpZl7bIsayJwIzDRsqy1wAbgymOeMgH4oLEbLmvkgIiIiIgbtNIkIiIi4gaFJhERERE3KDSJiIiIuEGhSURERMQNCk0iIiIiblBoEhEREXGDQpOIiIiIGxSaRERERNzw/wH0MMQsg1fiHwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10, 10))\n", + "plt.plot(limits, exce_time1, label=\"with loop\")\n", + "plt.plot(limits, exce_time2, label=\"with operator==\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Заметим, что при увеличении кол-ва данных реализация с циклом по байтам проигрывает" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Сравнение startsWith и LIKE()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [03:49<00:00, 2.30s/it]\n" + ] + } + ], + "source": [ + "# With StringRef::operator==\n", + "exce_time3 = []\n", + "\n", + "for limit in tqdm(limits):\n", + " progress = client.execute_with_progress(\"SELECT DestCityName LIKE('aaaaaaaaaaa%') FROM ontime ESC LIMIT {} FORMAT Null\".format(limit))\n", + "\n", + " started_at = datetime.now()\n", + " rv = progress.get_result()\n", + " now = datetime.now()\n", + " exce_time3.append((now - started_at).total_seconds())" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAJPCAYAAABhMuBTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xl8VPW9//HXmclk3xMSSEJI2AlbWGUHEbRacau7Vq3XW21vbbWtrfVnt2vttS5dtLW2192LW9W6oqICyqYYZAsEskACWchG9n0y5/fHIUDMwgQyWZj38/HgMck533PmM8WQd7/f7/l+DdM0EREREZHu2fq7ABEREZHBQKFJRERExA0KTSIiIiJuUGgSERERcYNCk4iIiIgbFJpERERE3KDQJCIiIuIGhSYRERERNyg0iYiIiLjBxxM3jY6ONpOSkjxxaxEREZFetXXr1jLTNIecrJ1HQlNSUhJpaWmeuLWIiIhIrzIMI8+ddhqeExEREXGDQpOIiIiIGxSaRERERNzgkTlNnWlpaSE/P5/Gxsa+ekvpA/7+/iQkJOBwOPq7FBEREY/qs9CUn59PSEgISUlJGIbRV28rHmSaJuXl5eTn55OcnNzf5YiIiHhUnw3PNTY2EhUVpcB0BjEMg6ioKPUeioiIV+jTOU0KTGce/Z2KiIi30ERwERERETcoNJ3gggsuoLKyksrKSh5//PFjx9etW8eFF17Yj5V17ut1ioiIiOcoNJ1g1apVhIeHD6gw4nQ6uzx3KnW2traebkkiIiJeyWtC04MPPsijjz4KwJ133snSpUsB+OSTT7j++usBa/uXsrIy7r77bnJyckhNTeWuu+4CoLa2lssvv5zx48dz3XXXYZpmh/fYvn07c+bMYcqUKVx66aVUVFQAsGTJEu644w7mzZvHpEmT2LJlCwB1dXXcfPPNzJo1i2nTpvHWW28B8Oyzz3LFFVewYsUKzj33XGpraznnnHOYPn06kydPPtbu63Wapsldd93FpEmTmDx5Mq+88gpg9ZSdffbZXHvttUyePNlT/xOLiIic0fpsyYET/fad3ewprO7Ve6bEhfLrFRO7PL9o0SIeeeQRfvjDH5KWlkZTUxMtLS1s2LCBhQsXtmv7wAMPkJ6ezvbt2wErdGzbto3du3cTFxfH/Pnz2bhxIwsWLGh33Q033MBjjz3G4sWL+dWvfsVvf/tb/vznPwNWQNq0aROfffYZN998M+np6dx///0sXbqUp59+msrKSmbPns2yZcsA2Lx5Mzt37iQyMhKn08m///1vQkNDKSsrY86cOVx00UUd6nz99dfZvn07O3bsoKysjFmzZrFo0SIAtmzZQnp6+rGlARYuXEhNTU2H/50efvhhli1bxkMPPcTKlSs7/d+xLXyKiIh4k34JTf1hxowZbN26lZqaGvz8/Jg+fTppaWmsX7/erRAwe/ZsEhISAEhNTSU3N7ddaKqqqqKyspLFixcDcOONN3LFFVccO3/NNdcAVuiorq6msrKS1atX8/bbb/Pwww8D1rIMBw8eBGD58uVERkYC1npI99xzD5999hk2m42CggKKi4s71LhhwwauueYa7HY7sbGxLF68mC+//JLQ0FBmz57dbi2l9evXd/t577rrrmO9bCIiItJPoam7HiFPcTgcJCUl8cwzzzBv3jymTJnC2rVrycnJYcKECSe93s/P79jXdru927lGnfn6o/mGYWCaJq+//jrjxo1rd+6LL74gKCjo2PcrV66ktLSUrVu3Hvscna2N1NmQYZsT7wfqaRIREekpr+lpAusX/sMPP8zTTz/N5MmT+fGPf8yMGTM6BJqQkJBOA0V3wsLCiIiIYP369SxcuJAXXnjhWK8TwCuvvMLZZ5/Nhg0bCAsLIywsjPPOO4/HHnuMxx57DMMw2LZtG9OmTetw76qqKmJiYnA4HKxdu5a8vLxO61y0aBH/+Mc/uPHGGzly5AifffYZDz30EHv37u1wT/U0iYiI9IxXhaaFCxdy//33M3fuXIKCgvD39+8wnwkgKiqK+fPnM2nSJM4//3y++c1vunX/5557jttuu436+npGjhzJM888c+xcREQE8+bNo7q6mqeffhqAX/7yl9xxxx1MmTIF0zRJSkri3Xff7XDf6667jhUrVjBz5kxSU1MZP358p3U++OCDbN68malTp2IYBg8++CBDhw7tNDSJiIhIzxjdDemcqpkzZ5ppaWntjmVkZLg1DHYmWrJkCQ8//DAzZ87s71I8wpv/bkVEZPAzDGOraZon/SXtNUsOiIiIiJwOrxqe6y/r1q3r7xJERETkNKmnSURERMQNCk0iIiIiblBoEhEREXGDQpOIiIj0nU8fhM1/6+8qTolC0wkuuOACKisrqays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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10, 10))\n", + "plt.plot(limits, exce_time2, label=\"with operator==\")\n", + "plt.plot(limits, exce_time3, label=\"with LIKE\")\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Сравнение endsWith и LIKE()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [03:52<00:00, 2.33s/it]\n" + ] + } + ], + "source": [ + "# With StringRef::operator==\n", + "from datetime import datetime\n", + "\n", + "exce_time4 = []\n", + "\n", + "for limit in tqdm(limits):\n", + " progress = client.execute_with_progress(\"SELECT endsWith(DestCityName, 'aaaaaaaaaaa') FROM ontime ESC LIMIT {} FORMAT Null\".format(limit))\n", + "\n", + " started_at = datetime.now()\n", + " rv = progress.get_result()\n", + " now = datetime.now()\n", + " exce_time4.append((now - started_at).total_seconds())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [03:52<00:00, 2.33s/it]\n" + ] + } + ], + "source": [ + "# With StringRef::operator==\n", + "exce_time5 = []\n", + "\n", + "for limit in tqdm(limits):\n", + " progress = client.execute_with_progress(\"SELECT DestCityName LIKE('%aaaaaaaaaaa') FROM ontime ESC LIMIT {} FORMAT Null\".format(limit))\n", + "\n", + " started_at = datetime.now()\n", + " rv = progress.get_result()\n", + " now = datetime.now()\n", + " exce_time5.append((now - started_at).total_seconds())" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAJPCAYAAABhMuBTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xd8lfXd//HXdU72DplAgISNBAh7DwHBbW21rcVqq61W7U+r1taO+27tXe96u2pvW2+7tNZq664L3CBTIIGwV0JISMjeg8xz/f64kkDIOoFzMk7ez8fDxyHX+J7v5Wje/X6/1+drmKaJiIiIiHTN1tcdEBERERkIFJpEREREnKDQJCIiIuIEhSYRERERJyg0iYiIiDhBoUlERETECQpNIiIiIk5QaBIRERFxgkKTiIiIiBO83NFoZGSkGR8f746mRURERFwqJSWlyDTNqO6uc0toio+PJzk52R1Ni4iIiLiUYRiZzlyn6TkRERERJyg0iYiIiDhBoUlERETECW5Z09SRhoYGsrOzqa2t7a2vlF7g5+dHXFwc3t7efd0VERERt+q10JSdnU1wcDDx8fEYhtFbXytuZJomxcXFZGdnk5CQ0NfdERERcatem56rra0lIiJCgcmDGIZBRESERg9FRGRQ6NU1TQpMnkf/TEVEZLDQQnARERERJyg0neXyyy+nrKyMsrIynnnmmdbjGzZs4Morr+zDnnXs3H6KiIiI+yg0nWXt2rWEhYX1qzDS2NjY6bnz6WdTU9OFdklERGRQGjSh6dFHH+V///d/Abj33ntZvnw5AJ9++ik33ngjYG3/UlRUxIMPPkh6ejpJSUk88MADAFRVVXHdddcxceJE1qxZg2ma7b4jNTWVefPmMXXqVK699lpKS0sBWLZsGT/4wQ9YsGABiYmJ7NixA4Dq6mpuueUWZs+ezfTp03n77bcB+Nvf/sb111/PVVddxapVq6iqqmLFihXMmDGDKVOmtF53bj9N0+SBBx4gMTGRKVOm8MorrwDWSNnFF1/MN77xDaZMmeKuv8UiIiIerddKDpztoXcPcPBUhUvbvGhYCL+4anKn55csWcITTzzB3XffTXJyMnV1dTQ0NLB582YWL17c5tpHHnmE/fv3k5qaClihY/fu3Rw4cIBhw4axcOFCtmzZwqJFi9rcd9NNN/H000+zdOlS/vM//5OHHnqIp556CrAC0tatW9m4cSO33HIL+/fv5+GHH2b58uU899xzlJWVMWfOHFauXAnAtm3b2Lt3L0OGDKGxsZG33nqLkJAQioqKmDdvHldffXW7fr7xxhukpqayZ88eioqKmD17NkuWLAFgx44d7N+/v7U0wOLFi6msrGz39+nxxx9n5cqVPPbYY7z00ksd/n1sCZ8iIiKDSZ+Epr4wc+ZMUlJSqKysxNfXlxkzZpCcnMymTZucCgFz5swhLi4OgKSkJE6cONEmNJWXl1NWVsbSpUsBuPnmm7n++utbz99www2AFToqKiooKyvjo48+4p133uHxxx8HrLIMWVlZAFxyySUMGTIEsOoh/fSnP2Xjxo3YbDZycnLIz89v18fNmzdzww03YLfbiYmJYenSpezcuZOQkBDmzJnTppbSpk2bunzeBx54oHWUTURERPooNHU1IuQu3t7exMfH8/zzz7NgwQKmTp3K+vXrSU9PZ9KkSd3e7+vr2/pnu93e5Vqjjpz7ar5hGJimyRtvvMGECRPanNu+fTuBgYGtP7/00ksUFhaSkpLS+hwd1UbqaMqwxdntgUaaREREemrQjDSB9Qv/8ccf57nnnmPKlCncd999zJw5s12gCQ4O7jBQdCU0NJTw8HA2bdrE4sWLefHFF1tHnQBeeeUVLr74YjZv3kxoaCihoaGsXr2ap59+mqeffhrDMNi9ezfTp09v13Z5eTnR0dF4e3uzfv16MjMzO+znkiVL+OMf/8jNN99MSUkJGzdu5LHHHuPw4cPt2tRIk4iISM8MqtC0ePFiHn74YebPn09gYCB+fn7t1jMBREREsHDhQhITE7nsssu44oornGr/hRde4Hvf+x41NTWMHj2a559/vvVceHg4CxYsoKKigueeew6A//iP/+AHP/gBU6dOxTRN4uPjee+999q1u2bNGq666ipmzZpFUlISEydO7LCfjz76KNu2bWPatGkYhsGjjz5KbGxsh6FJREREesboakrnfM2aNctMTk5uc+zQoUNOTYN5omXLlvH4448za9asvu6KWwzmf7YiIjLwGYaRYppmt7+kB03JAREREZELMaim5/rKhg0b+roLIiIicoE00iQiIiLiBIUmEREREScoNImIiIg4QaFJREREes0f1qfxwtYTfd2N86LQdJbLL7+csrIyysrKeOaZ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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10, 10))\n", + "plt.plot(limits, exce_time4, label=\"with operator==\")\n", + "plt.plot(limits, exce_time5, label=\"with LIKE\")\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Сравнения с substring()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 100/100 [03:55<00:00, 2.35s/it]\n" + ] + } + ], + "source": [ + "from datetime import datetime\n", + "\n", + "exce_time6 = []\n", + "\n", + "for limit in tqdm(limits):\n", + " progress = client.execute_with_progress(\"SELECT substring(DestCityName, 1, 11) = 'aaaaaaaaaaa' FROM ontime ESC LIMIT {} FORMAT Null\".format(limit))\n", + "\n", + " started_at = datetime.now()\n", + " rv = progress.get_result()\n", + " now = datetime.now()\n", + " exce_time6.append((now - started_at).total_seconds())" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10, 10))\n", + "plt.plot(limits, exce_time2, label=\"with operator==\")\n", + "plt.plot(limits, exce_time6, label=\"substring\")\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/dbms/src/Functions/FunctionsString.cpp b/dbms/src/Functions/FunctionsString.cpp index 4c1a38142c6..b0693a31ca8 100644 --- a/dbms/src/Functions/FunctionsString.cpp +++ b/dbms/src/Functions/FunctionsString.cpp @@ -1082,6 +1082,164 @@ private: ErrorCodes::ILLEGAL_COLUMN}; } }; + + +template +class FunctionStartsEndsWith : public IFunction +{ +public: + static constexpr auto name = Name::name; + static FunctionPtr create(const Context &) + { + return std::make_shared(); + } + + String getName() const override + { + return name; + } + + size_t getNumberOfArguments() const override + { + return 2; + } + + bool useDefaultImplementationForConstants() const override + { + return true; + } + + DataTypePtr getReturnTypeImpl(const DataTypes & arguments) const override + { + if (!arguments[0]->isStringOrFixedString()) + throw Exception( + "Illegal type " + arguments[0]->getName() + " of argument of function " + getName(), ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + + if (!arguments[1]->isStringOrFixedString()) + throw Exception( + "Illegal type " + arguments[1]->getName() + " of argument of function " + getName(), ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT); + + return std::make_shared>(); + } + + void executeImpl(Block & block, const ColumnNumbers & arguments, size_t result, size_t /*input_rows_count*/) override + { + const IColumn * string_columns = block.getByPosition(arguments[0]).column.get(); + const IColumn * template_columns = block.getByPosition(arguments[1]).column.get(); + + const ColumnString * strings = checkAndGetColumn(string_columns); + const ColumnString * templates = checkAndGetColumn(template_columns); + const ColumnFixedString * fixed_strings = checkAndGetColumn(string_columns); + const ColumnFixedString * fixed_templates = checkAndGetColumn(template_columns); + const ColumnConst * const_templates = checkAndGetColumn(template_columns); + + auto col_res = ColumnVector::create(); + typename ColumnVector::Container & vec_res = col_res->getData(); + + FunctionName functionName; + if (name == static_cast("startsWith")) + { + functionName = FunctionName::StartsWith; + } + else + { + functionName = FunctionName::EndsWith; + } + + if (strings && templates) + { + vec_res.resize(strings->size()); + execute(StringSource(*strings), StringSource(*templates), vec_res, functionName); + } + else if (strings && fixed_templates) + { + vec_res.resize(strings->size()); + execute(StringSource(*strings), FixedStringSource(*fixed_templates), vec_res, functionName); + } + else if (fixed_strings && templates) + { + vec_res.resize(fixed_strings->size()); + execute(FixedStringSource(*fixed_strings), StringSource(*templates), vec_res, functionName); + } + else if (fixed_strings && fixed_templates) + { + vec_res.resize(fixed_strings->size()); + execute( + FixedStringSource(*fixed_strings), FixedStringSource(*fixed_templates), vec_res, functionName); + } + else if (strings) + { + vec_res.resize(strings->size()); + execute>( + StringSource(*strings), ConstSource(*const_templates), vec_res, functionName); + } + else if (fixed_strings) + { + vec_res.resize(fixed_strings->size()); + execute>( + FixedStringSource(*fixed_strings), ConstSource(*const_templates), vec_res, functionName); + } + + block.getByPosition(result).column = std::move(col_res); + } + +private: + enum FunctionName + { + StartsWith, + EndsWith + }; + + template + static void execute(StringType str, TemplateType str_template, PaddedPODArray & res_data, FunctionName functionName) + { + size_t ind = 0; + size_t start_pos; + + while (!str.isEnd()) + { + if (str_template.getElementSize() == 1) + { + res_data[ind] = true; + } + else + { + if (str.getElementSize() < str_template.getElementSize()) + { + res_data[ind] = false; + } + else + { + if (functionName == FunctionName::StartsWith) + { + start_pos = 0; + } + else + { + start_pos = str.getElementSize() - str_template.getElementSize(); + } + + StringRef str_ref(str.getWhole().data + start_pos, str_template.getElementSize() - 1); + StringRef template_ref(str_template.getWhole().data, str_template.getElementSize() - 1); + if (str_ref == template_ref) + { + res_data[ind] = true; + } + else + { + res_data[ind] = false; + } + } + } + str.next(); + ind++; + if (str_template.getSizeForReserve() > 1) + { + str_template.next(); + } + } + } +}; struct NameEmpty @@ -1120,6 +1278,15 @@ struct NameConcatAssumeInjective { static constexpr auto name = "concatAssumeInjective"; }; +struct NameStartsWith +{ + static constexpr auto name = "startsWith"; +}; +struct NameEndsWith +{ + static constexpr auto name = "endsWith"; +}; + using FunctionEmpty = FunctionStringOrArrayToT, NameEmpty, UInt8>; using FunctionNotEmpty = FunctionStringOrArrayToT, NameNotEmpty, UInt8>; @@ -1130,6 +1297,8 @@ using FunctionUpper = FunctionStringToString, NameUpper using FunctionReverseUTF8 = FunctionStringToString; using FunctionConcat = ConcatImpl; using FunctionConcatAssumeInjective = ConcatImpl; +using FunctionStartsWith = FunctionStartsEndsWith; +using FunctionEndsWith = FunctionStartsEndsWith; void registerFunctionsString(FunctionFactory & factory) @@ -1149,5 +1318,7 @@ void registerFunctionsString(FunctionFactory & factory) factory.registerFunction(); factory.registerFunction(); factory.registerFunction(); + factory.registerFunction(); + factory.registerFunction(); } } diff --git a/dbms/tests/queries/0_stateless/00639_startsWith.reference b/dbms/tests/queries/0_stateless/00639_startsWith.reference new file mode 100644 index 00000000000..faa1c0241e4 --- /dev/null +++ b/dbms/tests/queries/0_stateless/00639_startsWith.reference @@ -0,0 +1,16 @@ +0 +0 +1 +1 +0 +0 +1 +1 +1 +1 +1 +0 +1 +3 +2 +0 diff --git a/dbms/tests/queries/0_stateless/00639_startsWith.sql b/dbms/tests/queries/0_stateless/00639_startsWith.sql new file mode 100644 index 00000000000..ae7649b8b8b --- /dev/null +++ b/dbms/tests/queries/0_stateless/00639_startsWith.sql @@ -0,0 +1,15 @@ +SELECT startsWith(s, 'He') FROM (SELECT arrayJoin(['', 'H', 'He', 'Hellow', '3434', 'fffffffffdHe']) AS s); +SELECT startsWith(s, '') FROM (SELECT arrayJoin(['', 'h', 'hi']) AS s); +SELECT startsWith('123', '123'); +SELECT startsWith('123', '12'); +SELECT startsWith('123', '1234'); +SELECT startsWith('123', ''); + +DROP TABLE IF EXISTS startsWith_test; +CREATE TABLE startsWith_test(S1 String, S2 String, S3 FixedString(2)) ENGINE=Memory; +INSERT INTO startsWith_test values ('11', '22', '33'), ('a', 'a', 'bb'), ('abc', 'ab', '23'); + +SELECT COUNT() FROM startsWith_test WHERE startsWith(S1, S1); +SELECT COUNT() FROM startsWith_test WHERE startsWith(S1, S2); +SELECT COUNT() FROM startsWith_test WHERE startsWith(S2, S3); +DROP TABLE startsWith_test; diff --git a/dbms/tests/queries/0_stateless/00640_endsWith.reference b/dbms/tests/queries/0_stateless/00640_endsWith.reference new file mode 100644 index 00000000000..faa1c0241e4 --- /dev/null +++ b/dbms/tests/queries/0_stateless/00640_endsWith.reference @@ -0,0 +1,16 @@ +0 +0 +1 +1 +0 +0 +1 +1 +1 +1 +1 +0 +1 +3 +2 +0 diff --git a/dbms/tests/queries/0_stateless/00640_endsWith.sql b/dbms/tests/queries/0_stateless/00640_endsWith.sql new file mode 100644 index 00000000000..cd2e6a08e5c --- /dev/null +++ b/dbms/tests/queries/0_stateless/00640_endsWith.sql @@ -0,0 +1,15 @@ +SELECT endsWith(s, 'ow') FROM (SELECT arrayJoin(['', 'o', 'ow', 'Hellow', '3434', 'owfffffffdHe']) AS s); +SELECT endsWith(s, '') FROM (SELECT arrayJoin(['', 'h', 'hi']) AS s); +SELECT endsWith('123', '3'); +SELECT endsWith('123', '23'); +SELECT endsWith('123', '32'); +SELECT endsWith('123', ''); + +DROP TABLE IF EXISTS endsWith_test; +CREATE TABLE endsWith_test(S1 String, S2 String, S3 FixedString(2)) ENGINE=Memory; +INSERT INTO endsWith_test values ('11', '22', '33'), ('a', 'a', 'bb'), ('abc', 'bc', '23'); + +SELECT COUNT() FROM endsWith_test WHERE endsWith(S1, S1); +SELECT COUNT() FROM endsWith_test WHERE endsWith(S1, S2); +SELECT COUNT() FROM endsWith_test WHERE endsWith(S2, S3); +DROP TABLE endsWith_test;