{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create input map" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from scripts.spatial_network.run_entropy_maximisation_orientation_map import get_orientation_map\n", "from scripts.spatial_layout import SpatialLayout\n", "from scripts.interneuron_placement import plot_neural_sheet" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "sheet_length = 450\n", "random = 4\n", "long_half = 150\n", "short_half = 30\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: desired correlation length 200.0 not available. Taking 206.9 instead\n" ] } ], "source": [ "input_map = get_orientation_map(200, random, sheet_length, 450, data_folder=\"../data/\")\n", "spatial_layout = SpatialLayout(input_map, 900, 100, long_half, short_half, sheet_length )" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_neural_sheet(spatial_layout.ex_positions, spatial_layout.ex_tunings)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create interneuron axon" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from scripts.interneuron_placement import Pickle, get_excitatory_phases_in_inhibitory_axon" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from scripts.spatial_layout import get_entropy" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "ex_idx = 465" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "pos_x = spatial_layout.ex_positions[ex_idx][0]\n", "pos_y = spatial_layout.ex_positions[ex_idx][1]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "equivalent_radius = np.sqrt(long_half*short_half)\n", "circular_axon = Pickle(pos_x, pos_y, equivalent_radius, equivalent_radius, 0)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "neuron_positions = spatial_layout.ex_positions\n", "neuron_tunings = spatial_layout.ex_tunings" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "number_of_phases = 8\n", "phases = np.linspace(-np.pi/2, np.pi/2, number_of_phases, endpoint=False)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "number_of_bins = 10\n", "tuning_bins = np.linspace(-np.pi, np.pi, number_of_bins+1)\n", "tunings = []\n", "entropies = []\n", "for phase in phases:\n", " axonal_cloud = Pickle(pos_x, pos_y, long_half, short_half, phase)\n", " tunings.append(get_excitatory_phases_in_inhibitory_axon(neuron_positions, neuron_tunings, axonal_cloud))\n", " entropies.append(get_entropy(axonal_cloud, neuron_positions, neuron_tunings, tuning_bins))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "circular_entropy = get_entropy(circular_axon, neuron_positions, neuron_tunings, tuning_bins)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "max_entropy = max(entropies)\n", "max_phase = phases[np.argmax(entropies)]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "circular_tuning = get_excitatory_phases_in_inhibitory_axon(neuron_positions, neuron_tunings, circular_axon)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 0, 'Orientation')" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAASwAAAGtCAYAAACskUkIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3X1cVHXe+P/XZxik0rQM6SuNMZmmgMIooNS2eMPlTTeraZRaJqbuYjfbRW13u+16lZettdv+1jI2t9bKVguLTLw2c2tJdKNaY2x0UzTvIEFXRbRMEQU+vz9gpgEGmBuQOfJ+Ph48POdzd95n4Lw958y5UVprhBDCCEwdHYAQQnhLEpYQwjAkYQkhDEMSlhDCMCRhCSEMQxKWEMIwJGEJIQxDEpYQwjAkYQkhDMPsS+Pw8HBttVrbKRQhRGdlt9vLtda9WmvnU8KyWq0UFhb6H5UQQniglCrxpl27HRIuWbKEN954o72GF0J0Qu2WsObOncuMGTOalFdXV7fXIoUwpNWrV7N9+/aODqNF+/btY/jw4fTv358pU6Zw5syZJm3Onj1Leno6gwcPJjo6moULF7rqrFYrgwcPxmazkZiY6HccbZaw3njjDeLi4oiPj+euu+7iySef5LnnngNg5MiR/OpXv2LEiBE8//zzHDp0iEmTJhEfH098fDyffvppW4UhhOG0lLCC5T/4xx57jAcffJBdu3Zx6aWXsnTp0iZt3nnnHaqqqvj3v/+N3W7nz3/+M8XFxa769evX43A4Ajqt1CYJa9u2bTz99NN8/PHHbNmyheeff75Jm+PHj7NhwwZ+8Ytf8MADDzBixAi2bNnC5s2biY2NbYswhAgKy5cvZ9iwYdhsNjIyMqipqQGgW7duPPHEE8THx5OcnMyhQ4f49NNPWbNmDY888gg2m409e/Y0+Q++pKSE1NRU4uLiSE1N5ZtvvgFg5syZzJ07lx//+Mdcc801/O1vfwPgxz/+MQ6HwxXPj370I7Zu3er3+mit+fjjj0lLSwMgPT2d1atXN2mnlOLkyZNUV1dTWVlJly5d6N69u9/L9cSnk+7Nca5MeHg4AD179mzSZsqUKQ3aO89vhYSE0KNHj7YIQ3jJ+vj77b6M4mduavdlBKOioiJWrlxJQUEBoaGh3HvvvaxYsYIZM2Zw8uRJkpOTefrpp3n00Ud55ZVX+PWvf82ECRO4+eabXQkBfvgPHuAnP/kJM2bMID09nVdffZUHHnjAlTCKi4vZsGEDe/bsYdSoUezevZs5c+bw+uuvs2jRIr7++muqqqqIi4trEOfOnTsbbJPu8vPzueSSS1zzR48e5ZJLLsFsrksXFouFsrKyJv3S0tLIzc2ld+/enDp1ij/+8Y+uXKCUYuzYsSilyMjI4Gc/+5lfn2+bJCytNUqpFtt07dq1LRYlRFDLy8vDbreTlJQEQGVlJREREQB06dKFm2++GYCEhAQ++uijZsdxTyafffYZq1atAuCuu+7i0UcfddXdfvvtmEwm+vfvT9++fdmxYwe33XYb//u//8vvf/97Xn31VWbOnNlk/AEDBjTYC2uJp4d8etreN23aREhICAcOHODYsWP8+Mc/5r/+67/o27cvBQUFREZGcvjwYcaMGcPAgQNJSUnxavnu2uSQMDU1lbfffpujR48CUFFR0Wr7l156CYCamhq+++67tghDiA6ntSY9PR2Hw4HD4WDnzp08+eSTAISGhro29JCQkBbPT7X0H7x7smicOJRSXHTRRYwZM4bc3Fzefvtt7rjjjiZj7Ny5E5vN5vHn+PHjDdqGh4dz/PhxV7ylpaVERkY2GfPNN99k/PjxhIaGEhERwY9+9CPX+Spn+4iICCZNmsSmTZuaXb+WtEnCio2N5YknnmDEiBHEx8fz0EMPtdj++eefZ/369QwePJiEhAS2bdvWFmEI0eFSU1PJycnh8OHDQN1/3iUlLV9idPHFF3PixIlm66+77jqys7MBWLFiBddff72r7p133qG2tpY9e/awd+9eBgwYAMCcOXN44IEHSEpK8niKxrmH5enH/XAQ6pLgqFGjyMnJAWDZsmVMnDixyZhXXnklH3/8MVprTp48yeeff87AgQM5efKka/1OnjzJhx9+yKBBg1r8TJrTJoeEUHciLj093WNdfn5+g/nLL7+c3Nzctlq0EEEjJiaGBQsWMHbsWGprawkNDSUrK4uoqKhm+0ydOpWf/vSnvPDCC66k4O6FF15g1qxZ/P73v6dXr1689tprrroBAwYwYsQIDh06xJIlS7jggguAukPO7t27c/fdd7fJej377LNMnTqVX//61wwZMoTZs2cDsGbNGgoLC5k/fz733Xcfd999N4MGDUJrzd13301cXBx79+5l0qRJQN23nnfccQfjx4/3Kw7ly0soEhMTtVzpbnxy0v38MHPmzCYn650OHDjAyJEj2bFjByZT8N8yrJSya61bvUAr+NdECOGTN954g+HDh/P0008bIln5os0OCYUQ59brr7/usXzGjBke7zI5H5xf6VcIcV6ThCWEMAxJWEIIw5CEJYQwDElYQgjDkIQlhDAMSVhCCMOQhCWEMAxJWEIIw5CEJYQwDElYQgjDkHsJRbs4F0+EAHkqRGcje1hCCMOQPawgcq72SoQwKtnDEkIYhiQsIYRhSMLqBDLNOXwS9nMAtobNJtNc99zw7C7zXfW7w+5ka9hssrvMb1C+NWy2q6+Tc3532J1N2rsvs3G5c97JfT7TnONq11x7ISRhdQKZ5lVYVN0r2LqrSjLNde+4SzbtcNWblaa7qiTZtKNBeXdV6err5Jw3K92kvfsyG5c7553c5zPNq1ztmmsvhCQsIYRh+PTWHKXUEaDll6x5Jxwob4Nx2kuwxwc+xJjQ25QAYD9Ya2887V7mrnG5/WCt3X08T/XOck/LbFzvPo637dtBsP+eO1N8UVrrXq018ilhtRWlVKE3r/TpKMEeHwR/jMEeHwR/jBJfU3JIKIQwDElYQgjD6KiE9XIHLddbwR4fBH+MwR4fBH+MEl8jHXIOSwgh/CGHhEIIw5CEJYQwDElYQgjDkIQlhDAMSVhCCMOQhCWEMAxJWEIIw5CEJYQwDElYQgjDkIQlhDAMSVhCCMOQhCWEMAxJWEIIw5CEJYQwDElYQgjDkIQlhDAMSVhCCMOQhCWEMAxJWEIIw5CEJYQwDElYQgjDkIQlhDAMSVhCCMOQhCWEMAxJWEIIw5CEJYQwDElYQgjDkIQlhDAMSVhCCMOQhCWEMAxJWEIIw5CEJYQwDElYQgjDkIQlhDAMSVhCCMOQhCWEMAxJWEIIw5CEJYQwDElYQgjDMPvSODw8XFut1nYKRQjRWdnt9nKtda/W2vmUsKxWK4WFhf5HJYQQHiilSrxp166HhFarlfLycgC6devWavtjx44xadIk4uLiGDZsGF999ZWrbt26dQwYMIB+/frxzDPPeOxfVVXFlClT6NevH8OHD6e4uNhV98gjj5CYmMiGDRsCWykhOqHWtr9vvvmGUaNGMWTIEOLi4li7di0AZ86c4e6772bw4MHEx8eTn58fWCBaa69/EhIStC+ioqL0kSNHtNZad+3atdX2Dz/8sH7yySe11loXFRXp0aNHa621rq6u1n379tV79uzRVVVVOi4uTm/btq1J/6ysLJ2RkaG11vqtt97St99+u2ushx9+WJ88eVLfdtttPq2DEJ2dN9vfT3/6U/2nP/1Ja631tm3bdFRUlNZa6xdffFHPnDlTa631oUOH9NChQ3VNTU2TZQCF2osc1CZ7WMuXL2fYsGHYbDYyMjKoqanxa5zt27eTmpoKwMCBAykuLubQoUNs2rSJfv360bdvX7p06cLUqVPJzc1t0j83N5f09HQA0tLSyMvLQ2tNTU0NJpMJpRR1n40QwlvebH9KKb777jsAvv32WyIjI4GG23RERASXXHJJQKeVAk5YRUVFrFy5koKCAhwOByEhIaxYscKvseLj41m1ahVQ9yGVlJRQWlpKWVkZffr0cbWzWCyUlZU16e/ezmw206NHD44ePUpsbCynTp3i+uuv55577vErNiE6K2+2vyeffJLly5djsVi48cYbWbx4MVC3Tefm5lJdXc2+ffuw2+3s37/f71h8OunuSV5eHna7naSkJAAqKyuJiIjwa6zHH3+c//7v/8ZmszF48GCGDBmC2Wz2uFeklGpS1lI75wcohPCNN9vfW2+9xcyZM/nFL37BZ599xl133cVXX33FrFmzKCoqIjExkaioKK677jrMZv/TTsAJS2tNeno6Cxcu9LlvVlYWr7zyCgBr164lMjKS1157zTXuVVddxVVXXcWpU6caZOXS0lLXLqc7i8XC/v37sVgsVFdX8+2339KzZ08/10wIAT9sV06etr+lS5eybt06AK699lpOnz5NeXk5ERER/PGPf3S1u+666+jfv7/fsQR8SJiamkpOTg6HDx8GoKKigpISr76h5L777sPhcOBwOIiMjOT48eOcOXMGgL/85S+kpKTQvXt3kpKS2LVrF/v27ePMmTNkZ2czYcKEJuNNmDCBZcuWAZCTk8Po0aM97okJIbznzfZ35ZVXkpeXB9SdJjp9+jS9evXi1KlTnDx5EoCPPvoIs9lMTEyM/8F4c2Zet/ItYXZ2to6Pj9eDBw/WQ4cO1Z999pnW2vdvCT/99FPdr18/PWDAAD1p0iRdUVHhqnv//fd1//79dd++ffWCBQtc5b/5zW90bm6u1lrryspKnZaWpq+++mqdlJSk9+zZ0+oyhRCt87T9uW97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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(number_of_phases+2, 1, sharex=True, sharey = True, figsize=(5,7))\n", "\n", "axes[0].hist(circular_tuning, bins=10, range=(-np.pi, np.pi))\n", "axes[0].plot(circular_tuning, np.zeros((len(circular_tuning),)), '|')\n", "axes[0].text(0.02, 0.95, 'circ', transform=axes[0].transAxes, va='top', ha='left')\n", "axes[0].text(0.99, 0.93, 'entropy = {:.2f}'.format(circular_entropy), transform=axes[0].transAxes, va='top', ha='right')\n", "\n", "for phase, tuning, entropy, ax in zip(phases, tunings, entropies, axes[2:]):\n", " ax.hist(tuning, bins=10, range= (-np.pi, np.pi))\n", " ax.plot(tuning, np.zeros((len(tuning),)), '|')\n", " ax.text(0.02, 0.93, 'ell {:.1f}°'.format(phase/np.pi*180), transform=ax.transAxes, va='top', ha='left')\n", " ax.text(0.99, 0.93, '{:.2f}'.format(entropy), transform=ax.transAxes, va='top', ha='right')\n", "\n", "axes[1].axis('off')\n", "for ax in axes:\n", " ax.set_ylim(0,50)\n", " ax.yaxis.set_ticks([])\n", "axes[-1].set_xlabel(\"Orientation\")\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "fig.savefig(\"../figures/evolve_spatial_layout/select_max_entropy_orientation_hist.png\", dpi=300)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "axonal_cloud = Pickle(pos_x, pos_y, long_half, short_half, max_phase)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAARQAAAD8CAYAAAC2EFsiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsvXd8XMd5qP28p2zfRScIggVgFymxqPdqW5Kb7DjusR3bsZIbOYnj3CR27r2248T50l0Tl8Tdim3FVZGbZFWrUqREiRXsDUSv23fPOfP9cQ5AgNgFdgGQBMh9+JsfgdmZObOLPXNm3ipKKSpUqFBhNtDO9QQqVKhw/lBZUCpUqDBrVBaUChUqzBqVBaVChQqzRmVBqVChwqxRWVAqVKgwa5S8oIiILiIvisgD3u/fEJHDIrLdK5u8ehGRz4nIARF5WUQuPVOTr1ChwtzCKKPtnwB7gNiYuj9XSv3gtHZ3Aqu8chXwRe//ChUqnOeUtEMRkcXAa4D/LKH5XcC3lMuzQLWINM1gjhUqVJgnlLpD+QzwF0D0tPpPicjHgIeBjyilskAzcHxMmxNeXcfYjiJyN3A3gC8QvKxx8bKSJ13cuLdcq18p/kqRl4rVF0Mr0l4rd6BJxtKLjFXuNYq1l0k+p3KZvZHOHZN9y3bu2tGrlGooZZybb7hZ9Q/0l3TNHbt2/EopdUdJjc8hUy4oIvJaoFsptU1Ebh7z0keBTsAHfAX4S+CTFP7OTPgbKKW+4vVj6aqL1J9/+mslT9p2CterMheUyW4UQy9WX94tETQLbwJDviIXmIRIkT4xn1n4Gmbh+mIEjcJfB1MrvpHVypTrF/v0tFlaaib7BszW98OZZJzla5YdLXX8/oF+fvajB0pqu3TNsvpSxz2XlPJtuA54vYgcAb4H3Coi31FKdXjHmizwdeBKr/0JYMmY/ouBk7M45woVziNUiWVyRCQgIltE5CUR2SUif33m5lycKRcUpdRHlVKLlVItwNuAR5RSvzMiFxERAd4A7PS63A+829P2XA0MKaU6Co1docKFjUIpp6RSAlngVqXURmATcId3/51VytHynM69ItKAu4vdDvyBV/9z4NXAASAFvHdGM6xQ4XymtMVi6mHcsAEJ71fTK2c9lEBZC4pS6jHgMe/nW4u0UcA9M51YhQoXAoqSF5R6Edk65veveHLIUUREB7YBK4F/U0o9NzuzLJ2Z7FAqVKgwIxTKKXlB6VVKXT7paErZwCYRqQZ+LCIXK6V2TtZntqmY3leocK5QuEeeUko5wyo1iHuSOOtq5jmxQ9EEQr7S1za7yMnQmcXoc8VsO/Qyl2BfETXzdFbyYm8vV+QpZ5b+9ANAs62C9SLF1c+GlPeZ60VUseUqjd2HcaFxir9nZefLuoaVSxast4vUl4tCFX0f5eLJM/NKqUERCQKvAP5hVgYvgzmxoFSocGGiUEUW8WnQBHzTk6NowH1KqdKMXGaRyoJSocK5QlGqSnjqoZR6Gdg8K4PNgMqCUqHCOUOBMztHnrlCZUGpUOGcoXCc8uQ6c53KglKhwjlCKVCVHUqFChVmB4VyZk0oOyeoLCgVKpwrlCpblT3XmRMLyrmyQ5mO2Uq5YUz0IkFMZBrxUOwiE84Viefg02ZnO61J8XH0MsM5iBT7O5f5t3NyBevtXKpon3x6oKxr5Ie7C9cPdpU1TnFU5chToUKFWaKyQ6lQocJs4VreV2QoFSpUmA2UQtmVI0+FChVmhfPvyDOTvDytIvKciOwXke+LiM+r93u/H/BebzkzU69QYZ6jXLVxKWW+UI7T60henhH+Afi0UmoVMAC836t/PzCglFoJfJpz4PFYocL8wNXylFLmC9PKy+PFkb0VGEny9U3cuLLg5uX5pvfzD4DbZDo60goVznOUUigrX1KZL0w3L08dMKiUGtmLjeTegTF5eZRSlogMee17Z2XGFSqcT8yj3UcpTLlDGZuXZ2x1gaaqhNfGjnu3iGwVka3xocGSJluhwnnFeShDKWWHMpKX59VAADe38WdwU4wa3i5lbO6dkbw8J0TEAKqACenRxib6Wr7morMenbtChXOOUihr/iwWpTDdvDzvBB4Ffttr9h7gp97P93u/473+iBcJv0KFCqdxvgllZ2KH8pfA90Tkb4EXga969V8Fvi0iB3B3Jm+b2RQrVDhPUQpmLwTknGAmeXkOcSr96Ng2GeDNszC3ChXOc2Y1puycoGIpW6HCOUJVTO/PDJoIQVMvub1TRCJjlZk2Il8sDsIklNuj2DWkzPQTABT97hV+30nKe/oFioi6ikRgAMDQyksIYkrhv/MpC4TSKBamIDtcPI12bqizrGtY/YXbW0PlhUGYlHkkHymFObGgVDi7PPHwgwjCDbe98lxP5cLmQtTyVDg/UErxDx//K4YGB1i8tIUlra3Ytk0uVzhQUYWzgALlOCWV+UJlh3KBICK84s7XEolEqaquAeC+b38dQXjzu3733E7ugkVBRYZSYb6x48UXGOzvm3DEef2b34ZpFE8zWuEMcx4KZStHnguAYChEtKp6Qn0gEGSgv4+//as/p2J7eG5Qtl1SmS9UFpQ5yvDgAOmUm5R7Jjd7MpFgybIWNl1+RcHXa+sbeONb3zHt8cGdX09PDwDpdHpGY11QKAWOU1qZAhFZIiKPisgeEdklIn9yFt7BBObEkad8tXHhG8x2youSkJXif6h8Ed10sQjzxSjWPJOfXLr/zX//PJffeBv1Cxfx7c/9A3/2959HK6K/LRZZ36cLTz78CIf37eFd9/xp0WvVLFnBM1u2svmySwu/h0kWNFPTeOD+n3D48GE++Mcf4p3vfAv/9C+fZcnSpQXbB7XCXzllZYteoxDF1MPZniNF++R7TxZ9rRBWf2H1sJ0pb67FUAqUNWu7Dwv4M6XUCyISBbaJyENKqd2zdYFSmBMLSoVT5HNZMqkU7/7QRxERlFL87p/+FUopXnjycTZfd1NZKTiuf+UdXHvbqyZtk0om+PX9Pyy6oBTjv+/9Nlddeim33/kaNE1DRPjWvd/H5/OVNc6Fi0KV+YAqOpJSHUCH93NcRPbghhI5qwtK5cgzxzh+6ADf+uzfjy4aIkL9wkXkshl2PP8MuWzpT8fd27fxyAM/QZvC+Kymrp57/s8ny57rResvpmlRM6ZpouvuDtPn8/Hf3/8uP/nxD8se74JDUc6Rp34k3IdX7i42rBd2dTPw3Fl5H2Oo7FDmGMvXrueej0+MmhkIhnjPn36UVDLBticf5bLrb5lyrJq6evyBYEnXPXH4IA9895t8+BOfmrLts08+wckTx/mtt72T2oB/wuvXXnc9/kCgpOte6DhWyTuUXqXU5VM1EpEI8EPgQ0qp4ZnMbTpUdihzjO996TNY+eIh/1LxYU4cOlDSWJFYFSvWriupbUNTM2997wdKartq7UVsvLT4d7t58RJ6e3rI5ytGc5Myi0JZABExcReTe5VSPzqjcy9CZUGZQyilWNDUjG4U3zjWL1zEXe/+AMcO7uPYwX1F28WHBvn4B99fsobIHwhg+Hz09/YUbdPZcZJ//OuPUVffwIrVayYd79+/8DmGhoZKuvaFilLuDqWUMhVe3OavAnuUUv96xidfhMqCMocQEW69680lCV27T56gr6u4s1u0qpp/+dYPyhLg/uahX7J/z66ir9fW1XP7615f0lif+7cvUV/fUPK1L0xmdYdyHfAu4FYR2e6VV5/Z+U+ksqDMIQb7evm/v/fWktpefsOtbL72Rk4eO1zw9ace+jmdJ46Vdf3ffvf7uOqGmwu+9tivH6T9+LFJjzpjuffb3+T4sfKuf8GhQNmqpDLlUEo9qZQSpdQGpdQmr/z8LLyLcUwplBWRAPAE4Pfa/0Ap9XER+QZwEzCyr/1dpdR2b+v1WeDVQMqrf2HSSWhCfbB0IV6miIfmcK68dAOZSbaSw5nC9gGp7Oyo+fLWxC+Jo8e4+2++RM9w4fd3usFkJpXk2//897zrI/+C6RsvHO0dsugYcsgGSpdj+AyH733u73jrH3103LErFsjTMZjCHM6h+saHDchUFf6c9GgVA5aNnhjfPlIzUYgL4KT6Sp4nQOp44Z1U7uTxon2swURZ17DThb9Pdnb2PISdWVIbzxVK0fJkgVuVUglP6POkiPzCe+3PlVI/OK39ncAqr1wFfNH7v8IUZFMJutuPsWzNxSW1D4TC/N7Hv0DesrDyOQzTtf9QSrHpxjswjfIM/TRd55JrbsJxbHTvq+E4Dnu3b+eqWya3ZTmdG19RXvsLEm+Hcj5RSpBqpZQaWdpNr0z2KdwFfMvr9yxudPymmU/1/Gd4oI8dzzxaVh8R4bEffp0XHz+1u9317CPc/5//NK05rL/y+nG2LsMDfTz14AM4ZbrQ/9s//h1P/PrBac3hQkGhUE5pZb5Qkh2KiOjANmAl8G9KqedE5H8BnxKRjwEPAx9RSmUZk+jLYyQJWMdpY94N3A2wsGnRTN/HeUHjklZe+7t/VHa/G17/O5j+U0fGdVfdwooNE8L9lsSOZx6nbfsW3nLPX5JKDBOrruX9f/Hxssd53wc/hEwW6q2Cu0MpcPSdz5QklFVK2UqpTbj5d64UkYuBjwJrgSuAWtwo+FBioi+l1FeUUpcrpS6vqamZ1uTPN9LJOD/5yj+X3c8XCDLU28V9n/0YSikO7XgekenJ2zdedwtvucf9Uz5x/308++D90xrn0P5955184Exwvu1QyvrWKaUGcaPe36GU6vCONVng65yKgD+S6GuEsUnAKkyC6Quw/OLN0+obq1vAta95KyLC3heeIp/LTHseT/zPf5PLZrj97e/nqle9blpjPPTAT4kPV+xQJkVdgAuKiDSISLX3cxB4BbB3RC7iaXXeAOz0utwPvFtcrgaGPMelC4IRWcOWh39GLlveTW2YJhdffcu0whVomkbzinVsffh+XvWOPyRaXVf2GCPkc1m+8ff/l8HeLnR9et4ZH/o/H6exjKPsyHvetbeNHbv3Tuua8w3XsE2VVOYLpexQmoBHReRl4HngIaXUA8C9IrID2AHUA3/rtf85cAg4APwH8IezPus5yiM/+g6P//S7AJw4uBfDMHnp6Ud5/KffK3mMT3/onfR3TW9DJyJ0Ht3Pw/f9x7T6j3Dbm36HO9/xfqrrG6fVP5fN8plP/XXJ7fv6+3j1296FUoqunl66enrIWxYf+eTfnecxby9AoaxS6mVcz8XT628t0l4B98x8avOP6+78LTTN9br9rbv/DICVF19KcngQ27a47wv/H2/6gz/H5y9uc/Onn/4Oml56bJjTuflN76Ov4xjpZByzKlZ2/1w2yw+++I/UNi5iyaqLpjUHEWHzlVdP2e47936bTDbD773vA3zni593LYVvuA4A27a55YbrMCZxQzgfmEfxp0uiYik7Szx039cZ6OnE9I833ArHqliweBko2HDNzfj8AQ7t3k4qXtgR9Ni+nfR3tU97HiLQ9uLTtG17clr9M6kENQ0LueG100/+qBtGUTsUpRSf+dy/0tffx+2vup23veXtANTVjhfM67rObTdcx47de6Y9j7nOhXrkqVACi1esJVZbX/R13TBYf+UNAOzb/jyDvZ0FbTs6jx1ieKA8q9Gx/PI7X2D5+svYdOOdZffNpJL4/AFe9db30tM+fbP5l7c9z8f+9IMT6nu7uxERVixfgSYaDQ0LiEQiRcdJZzJ89stfLfr6vOdCFMpWKI01m68iECp+c4zljnd8gEWtq3nyge/x5APfH/fa1be/kZa1G6Y9jzf94f9j5YYrObJnO/d/tTyn0z3bnuEX//UfKKX4+Xe+XLYx2wibrriKj/3TZ8bVJRNxPvG//5hsLsvrXnsXpZgKRCMRvvb5c+Y4e1ZQTmllvlBZUGaJL3/8jzm0e3tZfa65/U1svukOEkMD7HjmEQCOtu3kV//15WnNIZdJ8/TP3QWqqWU1173mLWX133zDK7jrfX+MYZr84d9+fspIb8XYuf0Feru7ADh8YD9f//fPEY5E+dw3/gu/r7AvTyH6+gf43Fe+Nq05zAeUAtsqrcwXKgvKLPEHn/w8Ky8uLyar6fcTjlaRig8x1N8LQN3CZjZcW1DePSVWPud+SwF/MEQoWsVLT/26pL6P/fjb7HzuN6OLyNO/+DFH900vHOnRQwfp7+0hPjzMwkXNbL7CdeUqd4Hy+3wsaT6/ragrR54KBUkMDfDib0q7eU9nweIWrn/NW+hpP8ZPvvJPBCOxaR03QtEqrn3N20Z/FxFOHmorya5lw7W3smTl2tHfG5qXEolVlT0HgNf81psZ7O/nG1/8HMFQiE1XTM83VDd03viaO6bVd14wuwHb5gRzQieno6hRpQdf1ovESc2HwmVd95HBrqKv7dlXeD6ZwSJhDeIZ2rYfJRQbb8xmDRXer6rMxG+JUlWsbH0H//H//oJrb/pj6hesHv96sXALnsfqwf0Pk0h0s3GzqzmRgM6KJe9m9697MM3isWU72l+ipnYZgUgAiHu1qznR5dC+M47qKW6gl989PlzAQLqd507cy6tW/Bkxruc7d4/XNu07cW/Bcd7XunBC3T/tfYJ3LNtIc3DiwtbYXNhPKBAt/ows116waGyqMoJWTYYCnPmTw6skKjuUWSIUrWXzje+cUVIuEY2a2mXcdufH2fLUl1FlSuOWLLua1WvGP9EtK8v9378HK198Uehsf5l0eryZ/KG2R3nq4U+XdX2AdH6Ipuh6NE1HL5KDp1Q+vOZ6mgLl29LMGyo7lAqTsWfrA6TivVx2y+/OaJxEvIuNl70dx7E52PYrVl10e0nOfulUP8HgeO2JYfi5621fwjAK58qx7Tybr3zXhPqWlTfQuvqmkud8ZHAbOSvJ0upLqQ+3ltyvGHuHe/BrOq2R2hmPNZeZTxqcUqjsUGaR5etvYuN1b5u64ZQIIhqWlSGZ6Cl519PW9ksGByfaj+i6yXO/+SLZTHxcvVKKB37wIRLx7gl9HGVz7NCzU17TUQ62k6ch1Mqi6DqOD73Igb6nSprvZNjKwTrf7rbTUMqNwldKmS9UdiiziD8Ypev4LkxfiNrG6T+lG5vWj/68+cp3k04NsPWZr3LtDX8yatpfiCuvKpwGQ0RY2LwROU3LIiLc+YZ/xOefKHtSjsOJI8+ybMW1k851f99vyNkpLml0DelW+W+YtH0p5BybdbEFZQXYnq+cb2tmZYcyy8QHu0gn+mc0hm3n+eG978XxJHb+QIwVq29F0/SichWlFM89++XRPqezbPm1pBK95PNuMnPHsdn6zNfQingTm74g19324aJztKwsyVQfK2uvZV3DK0brd3b9krw9s9y/j3Uf5Fed+2c0xnxgltPyzAkqC8oss/KSW1m0/FJsa/pesrpucucb/nlUbqJpOouWXMrw0Eke/NlfFTwCKeVQVbVk0h3M3p0PMNh/FHAXlGhsIbpePA/xc4//O0MDJwq+drx9C20HfoGumeia6c1BoYkxY2HsKxtXcVvjihmNMV843448MhOtxGzRGq1Rn7z85pLbp5KF6+NF6ovRlSj+3o9nCmtFOq1UwfpxfdMncHBYFlzKsBReWHRncovRrJ3GwSGonzqOVGnNZOwUfi1IXuXwae4YYXNBwTH8/uqC9UopktYAEXO8wFMzx3tB96aPEvMtwKefUjlnrDjxfC8NwVaUUtj5U5+HUmrKY0o8VdhHKGG72RB7c72YYlJlTm4Dsy5Q2HR/TY1ZtE91mQqjYp4UkzlAv/WXP9lWSspQgGXhGvV/Lr65pLn8/pbSxz2XVHYoZ4BFgSaWBpZM3XASknaCpBWfUB/QQyTsQXYlnh5X3509wvMDP5ty3J2Dj3IwvpWtffdPKeyt8S+aoF1K5Pvpy7i2J6cvHm3DT9E2PH5e5eLTfBgz3OHMJ863I89M8vK0At/DjSf7AvAupVRORPzAt4DLgD7grUqpI2do/nMSXXSG8kPkVA6/f3rWprW+4ln3okYNG6M3YSuLlD1M2FxAg28ZtebUZuqtkc0EtDArY1dM2bZt8Ek00VlbcyPDuR46U/tYXX0d9cFlBduvjl2LrcrLjTSWrJMlokfQphkPd74xouU5nyjlLzeSl2cjsAm4wwvt+A/Ap5VSq4AB4P1e+/cDA0qplcCnvXYXHLoYGDKzJ+3BxB4sVdjSVhONhDXEyaybOTBu9ZNxJj/zKaVwHJvfdN3LQPbklIZz62pvYW3NjQCYmp+gUfzMoJSiPbUHQ4rLZKaiI9PBQH5g2v3nI7O1QxGRr4lIt4jsnLr1maOUiG0KKJSX51bgHV79N4FP4Cb1usv7GeAHwBdERNRcENacRSJGGKVC9Npx/HrpWRHH0uBvQiuYRMClyqyjyqwjaQ1xIrOXanMBEcOVLSilGMp10ZM5Sk/2KL3ZY2TsU5nzft3phon0aUHq/UupDyylMbyaan8TmriC3US+n87kPvqzJ7hiwZtYErmk6FwslaU7c4Ql4fVF20xFS6hl2n3nIwqYxcQA3wC+gHs6OGdMKy8PcBAYVGr08TmSewfG5OVRSlkiMgTUAb2njTmal6fOX9zPZD4Tt+N0ZE7QEl05rf4RI4atrNEbvBgZJ0FYr2JRYBWD+S4OJLfRkz1OXk0ULGvo6JqJo2xslSfnpDmZbuNkug0GHsIQHw3BVtZU34BfD6NQLI9dMaWw1dQCXFb3mmm9T6UUexN7WRZcRlA/P78LBVGzJx9RSj0hIi2zM9r0KWlBUUrZwCYv+v2PgULBRkd2ICXn5QG+Aq6Wp6TZniMcpdga38Xl0XX05vroz/ezOryKPYm9LPQ3UmVUcSh1mJXhFWTsDApFUA8SM2Isi6woSftRiKF8P8PWAMtCqyZtV+drpj3dxqM93yZun7KBCeoxGgLLaPAvoyGwDKVgf/wZLqt7HbsGH8WUIM2hNfRkj9KTOUpv7jiJfB8dqTY6Um2Y4ufahe8oKjMZy56h31DjW8TCYPnqXhFhaXApAc3dyeWcHJayCOkh2jPt1JluBP+2ZBsbYxtpz7RjWf1siKxgy/BeLg63EJrmLvBcU0ZkgnoR2Trm969499CcoqxDvlJqUEQeA67GTTFqeLuUsbl3RvLynBARA6gCZmbpdY44lukg4+RYHVrGQl8dCqgxq6nyZAmrQisRERSKiOGqd+N2gpyTo1kPsifRRm2wkaOJg7REVhIwynv61vjqqfEVDysJkLAG2ZV4js7sIcDdgbSGNtIS2kBNaOmEheyyOjfPzurYNRjiR0QImzW0RDahmQFS1hCHhp9n3+BT5J0Mj3d8nQXB5Vxc+0oagi1F57E4tB5TK19+krGTnMwepM70syuxi/WR9SSsBBknQ0gPEdACaKJhism6yDoAFvoXssYTdteaUXyaybFMF4NWgjU1aye73JxCKbBKF8r2nhdq4yJ5efYAjwK/7TV7D/BT7+f7vd/xXn9kvspPFvjqaPJu6KWBJnTR0EXH9Ay5DM1AFx1ddBb6Xff7Bl89zQFX29IcaMKvB2gMNtOZdgNP92d7yVjpkufQnWkn5xS2iTmZOciWoV/RmT2Ehs7y0GZe0fBefFoAW+XHLSYDuQ6e7rlv9HdTC9CdOUxP5ui4MYN6lI5kG7ct/gPW1dyKIT6604d4pP0r7O5/tKCq2VYWAgT00kJgZp00R9Nu8Omj6b3ErQE00Vjm7YRqfbUs8j7DOl8dPs2HiIx+7rro+LyfVwabMUSnzqxiib+wPc5cReHuUEop84WZ5OX5S+DDInIAV0YyEk34q0CdV/9h4COzP+0zi1KKZ4dexhSDqFFejJWxxIwYmmjU+GsJm1FyIybpAjkny4HErtHrFUMvoClylENbcht7kltQOCwNrsevBVkR3kxADxMzG/DroXF9qs1GNlS/ctL55p0sIho3NL2bKl8jl9S9kluaP8Da6hsBxY7+B3mm67tYznhjvaQ1yI7Bh4uO6yj3MfzSwEP05zrRvY2xpfK0htazMXYTIkLUiE7bfyesB6gxo/y082Uy9vRV12eb821BmUlenkOcSj86tj4DTD8HwxzAxmFJYCH6LNpD6KKjUNT63R2P2CaLAu4T+WhqPzGzhhqznpyTHacVqvM3jltw8k6WHfEnGbC6ETTWhC9ndfSacW0a/S0opdjS+2Murr4VXUx6skdZHBov+moMLkcph7yTxdT8PNd1H2uqbxh3tNna8xNuXvR+6oPLeLbzPo4ndhDP9XJ907sIm65GKWbWc03D+D952opjagESVh8vDTzITY3vpjWyGTs3hCEmy4IX0ZM7QW+unYsi04voVohV4QXzxktZAcViZpWLiHwXuBlX1nIC+LhS6qynDLgwLIjKxBCdBrNmRsGSTqfWX48hBllvl6KJRshwjwhLQyupNmvJqxyHkntQSpGyEmTtDBk7xZ74iwCk7QRbhn7FgNWNTwJcGruV5sAKHGVzItM27ukuIrRGNhPUo2TsJMl8YTFW2/DT7Bt+BltZXN341glyklct+SA+PUhzeB2vWPK/iJh1DOY6eOj4v9GfcY9xe4eeJGkNkrWTo0eoHYO/ZijfRZW5gOsb3AhyMbMeQ075/TT4FrM2POGZNCNWhOuJGKUHwj6nzKJzoFLq7UqpJqWUqZRafC4WE6gsKEV5cuhFhu0ynYOmYDA3wGBuYs4dTTQ00fFpfi6KbUZESNpx0k4SnwSo9y0kb+fYPvwYGSdJVK/liqrbqTZda1pH2QzmOyeM2xBoIe/keLH/Z6yMFr5xV8eudWOfJHdgFBCqHhreStIzNqvyNfLKxfewMLSKrJPkiY5vkLQGyDgpHGWTdVJ0Z1xDuyvr30idfzEi2qjz4Fj2JJ+jN3dyVkMUpO0snz30GM48Edkp3OidpZT5woXjNFEmN1dfgTbL8TjqAiMLgMNUyUYb/E0A5J08CWuYnlwHaSdJSItyaexWjDE3qaH5uCR2c8Fx4lYPDgpdMyeorx1lk7VT1PqaC/YFkNOsAHx6kOub3s1j7V+lN3OEJ7u/y9LQBhSKmNnA+urC8zid5cEN497DbBDU/Xx4xa2z/nc7UygU1jxZ/EqlskMpggDb420k7dI1MqVgORZtQztxSjznm5qJpfKk7SSG+FgV3gwCx9Nto21BRHscAAAgAElEQVSG8j3sHH6iYP86/xKuX/B2+rPtbOn78bjXujOH2TX0GEEjSqiId29r7LJRWQnA0fh2UvlBrlzwWwT0CAmrn2Opl4kadSW9H1tZtCWex6cFRo8/s0HWyfPc8J5J7IrnJhecUPZsYFnQPTEKYfH2Re7FbJkJkUyt+Nev0RdgVaiRZl8E3xjvV1+Zgtp+67RgQxo0xS4ngQ1Mvah0Z7sZtgYQhOWxNYiRo9c5RJI++jhMf7aHKhqI6AF6s23j+hqZIJ25YywOrMRRDouMJfQOu+rajJMkqEdoMVeicnHyKk9vLoWpjZc/HEi+iF8LuRaz4U1k0/0kLY2oUcu1NW/kN333kbD62dX/EKvCl035fpRyiBo1iPfzCDbl2ejsyIyXCdnKJoXGi33FgzstT5V3jfoiCr5oadrxKVHz7DhTCnNiQZmrtAYaSdhpDiRPsi68dNbGNTWTE6mjRPQI1WbhmCXget8eSrkGa0E9OOqFa2o+GoJNXitBEx0Rja7sCRr9i0f7W1gob9HSRCOkRzme2Yfl5Oi3urg0estoeIIj6d1UmQtoDpyyyu3OHqXaaKDa10RH1o1X0hw8ldrDlACL/Cs5mtlFW/J5FviWUmUW95KOWwPk7CRN/uVlfFpT05/rJ6SHqJ/EQ3uuYs3B7YcXMeBNQAtj1gil1Cen6ls58kyBIOTV7PuY1xg1hPXJbVyOp4/j4FBr1rI6tHo0oNJYav31pJw47ZmDjHg49OU6yTs5fOJnSWB8bp+YXkezfxWbI6cWE4AVwQ00B1ZhK4sT6X2ehsu1AlY4tIY2Tri2rfKEjSpag5cAij2JyYNaJ6wBhq3eSdtMh7zKjy6c8wkFOKiSylnmp7hOvhaQHFOmpLJDmYKwHmBjpJX2bB81RoTZWoPDRpick6Mn20ODf+KTNWkn6c51IwjLgsvwaT76rQRhMzqhbYNvEQ2+U7FQ4tYgAS3EzvgvuThyHVHD3QUppTiU3sHa8BXsS21jSWA1VYZrF5NxUhxJ7KXB10zCHsDBZoF/Ke2Z/XRlj9ASmuhp7NdCLA9tJOdkOJFpozd/gp7scRr8E4NLZewUTYHlZO2JQaOmi61sklaSRn/jrI15tpmjR57FSqlppWys7FBKpDPXz7A9dfjHcsmpwiEij6Zce45GfyNBPYitbHoyE1XD4C4gw9apOCItobWEjRgrQhsZsnoA6Mm2YyuLTdGbCOphVgQ3EtVqGcz3oJRD0nYTfQX0KGsjV41a6DYHVhVcTACeHvgRCWsQnxZgZcjN67w7+cyEOCtKKZ4f+gWZWVbDZ50sA0Xsa+YDCrC8dCFTlbPM0yJSPFbFJFQWlBK5LLqKhb4a9qWOkXFmFtV9BJ/moznQTNJOjjOiG8wPMmgNoqOzxAsl6dN8tEQLex3bysJyTpmbK+VwPH2ABnMRi71jzL70C/TlO8ipDLZjAQoHm5cTT5Kwh6j3LWJN5Ao0tHGm9YP5btrT+wpe94rqVxPWXUfJltAlBLUIcauPE5mJ7a+veSOBKY54pWIrm+5sF0EtyLJ5HENFlWiDcg52MdcD20SkTUReFpEdnuvNlFSOPGXi4JSdI3cylFIcTx8fjQWilOJo2t2dNAeaRx3iAAazfdjKpi4w3gmu2hzvkWzjoIvhJgtTefJOlmurXgsoDqV3AYqMk+Si8JVcGbudgB4aXdAOpF6gyb+COu8IpYuJr4A2bDjfh4jg0/1eO4M14SvZHn+EtuQWmgOr0ESnN9fOiUwbm2K3ztZH5rkLzB9/neKouWqEd+d0O1Z2KGWyNtSCXzPZMrybrDP9VBkjiAhrI2sJaAFX9emkSNpJDDFoCjSNaxs0QgSNMHnvulk7Q87O0Z45zKHUbhzlkLaT9GU7WBRooT1zgPbMQdqzB9mdfI625DY0NEzxsdS/lueGfklOZRjK9/L00AMALA6sIe8lru/OHsUUH7W+RfTm3HQaOSdD1kmTsPuJn3bcaA6sJqJXk3GS9Hjt68wm1oSnjl9bCrayOZrajyYazcHF8z4R2Fw98iiljgLVwOu8Uu3VTcmc2KEoBfkyFCnFwuaVu9hP9nXUi7zoEw1Eo9lfR1jzTRlQOVgkgntGja/vyHUxkB/E9Iy9FvjqSXlR7xf46nl+6EVawivJ2xlOZI+zOrqWvuwAPs1P1Bcjnu4nLcNkyXAk00Y0EMXBJmJEOZw+RoO5mHrfQiyVJ6ey+AyDluBaFHkOpXdTbzSRyQ9j2RnaM/vwi4/hfC8pe4j+RDe66FQb9ZxM7yOr0qwIbeTpgZ8S0iOY4uNA6kUuid5ItdFIwh7kZGY/JzMHaA1eQsysG/U41ooYswWluPp8BIWi2kgQklqSTHRhADicHy7aP5MoT1u3NB8qWN+Ym53nsALss6/BmRIR+RPgA8CPvKrviMhXlFKfn6pvZYcyTVoDTdjK4ef9z5J3Sreoc5TDyaxrxdeT6+No2k1J0ZntpsnXSHfeFaI2+hoIagGCXhSzDdH1+DQffbkeFgVdW5OFgSZqfbWICEvCy9FFJ2SE2VB9BfHcEMcz+wjpEVaELmZhYAmGZhLQQ8S8uLO1vgUE9BDLgqtZGlrJM0M/Y9DqYUlgNT4JsDS4hoW+ZVwSvZGNsVsAWBxcTb3ZzI74E1xd/Tqieg2m+Gn21NNVhqux6sodYSjfg6H56MudZPvwIwB0546TsAYBV/ZT6mf2cvwp8irHQv+yeb8zGYujVEnlLPN+4Cql1MeUUh/DDahWOM/taVQWlBlgagZXR9dhagbpMek3lVIopRi2UhzLdACwPbGXY5kOBOFYthOlFDEjQoMXwGlz7BJ00ck4WUwxqDGqiRoRop5Hst8LMrQyspqIMd5Usyt9gnje1dIcTrSRsIbx60GWB9ePGrRNRtiIoYnOxZFrWBRYTtIeoifXjlIOjrJHNUAjRIxqWoMb0ERDRMPQfNSaboCpZaF1RPQaLJVnTeQKQnqUGrORteGrAbCcHA42trJ4vP8+lFL05U7SlXUTgOWczGnhGnJootESXIc5g4j6cxGFwiqxnGUEGLuds5l8Qz9KKRHblojIoyKyR0R2edshROQTItIuItu98uoxfT4qIgc8KfHtZb6ZeUWtGcNSNj/rf4aOrLsNf6D/aYbsJCKMpsG4KLScxf5GRISrYxsQEfyan9CYoMwju5MFvoaiT2FHORxJHhp30y0OLyekR9w0GcrmZOoYDjY1ZVqOVpn16Bh0ZI/Qnj1I3BqkM3eU9tO0NkP5HkJ68ZQaDT53B3UyexAATXQCXsCnRYEVxIw6dDG4pfbt3ucQIqC5r+9ObCFpD5NxUhxPH2B7/HHyTo6YUXNe7UxgxNtYlVTOMl8HnvPu8U8Az3IqgNqklCJDsYA/U0q9ICJRXHXSQ95rn1ZK/fPYxiKyDngbsB5YBPxaRFZ7ga7PKxzl8Juhl7mhaiOXR9YyZCdJpjPcWn0pIS2AiLA86Kp9/SXEW+3OuVakET3M4fRRWgsEh9ZEI2JEUSgEQSlFT7aDnkwHK6PraImsQUNzb75pfA9FhOWhS4jqNWSdFJayWB+9jqyTxq8FsZXF4fTLbDYLR3/ry51kcWAth9M76M4exVY2epGo/SMLRMSoxtTcZ9um2I04jsPJ7CEMMbgsdisHUi9R72umxlhATmXwa+dPZPxzYAU7JUqpf/ViR1+PuzN5r1LqxVL6TrlDUUp1KKVe8H6O48aTLe7v7prsfk8plVVKHQYOUCCy23xk5Cy7O3mEHclDaKKxNNCIQtESXMjq4GL688OYYpT9NM07edJOBg2NBWY91UZxIWWdr96NgZIb4Fj6KJpoLI9cxP74Lk4kD834SV5rNqJw2JF4mgXmUvbEn+X5wZ+Td3LoYnBZ1e0FhdFKKU5mD7iyHL0KG2vCcakUlChSTpwF/sVootMSXEfMqCXrpNkZfwalFBk7XbIMZq6i1NzS8ohIzPu/FjgCfAf4NnDUq5uSsmQoXt6PzcBzXtUHPcOXr4nIiI/7aF4ej7E5e8aOdbeIbBWRrUl7dgzFzgRKKfKOhaVsvtn5MJayaQksZE3QdRZs9YJXg7t7uDJ2EaYYPDywjWGrdMvQpGeFG9ZD+HQfNWYVxzPtBQW+7ekT7E+0ETWjLAo0U+dvxNRNLoptZkmo/DQWhTDFR73Z5Gp3zAVcV/NGTM3HUwM/5lh674T2boClNJdEbySkx4jq7tchYZWeCTDnZNgZfwZBWB3ePGqtOxLqIKCHuDR2CyJCX66T4fygm9Bs3lrLlubHcxZ3Mf/l/b8N2DqmjPw+JSWrjUUkAvwQ+JBSalhEvgj8De7G+m+AfwHexzTy8iwO1JR1Siz2AC73wTxZ+5EgPVvjB7GxuSq2hnc03oTCIKhPHcfjsugqas0IJ3NDRPTghG1/SI0fo8ez/agyIoQ8Yzaf6PhFI+AFR+rNDxI1osT0CE2+BYTEDwIvxXeSzqdYXrWakBnB8RzlrDIXah9j1KQCK0KX0JNvR5fAqCPhiuAmqowGktYQw1YvS0JupsC+bCftmX1sqroNgKhZR1fuCElnCG2McZ7GxM9OKUXaThAzFrIyfBnhEmKrrAm5ti0ZO0Uif4xm32pyTgZLirtHnHDK8yPKZArvgBL27Fj8jtihzBWUUq/1/m+d7hgl7VBExMRdTO5VSv3Iu2iXUspWruPGf3DqWDOSl2eEsTl75g2PDLxMfz7OpmgrV0ZdlWhQL13L0OCrRkRoSx2lNz84ZfuEt5uJjDFPbw0uQRedvtwADg5H08ewlU2Dv568ytOX68dRDosjLSyKLJkyw2C55FWWg8kd7Io/Bbgxbet8iwgaEZwxFhRD+V4a/EvYOMYaNlLGDmXY6mVfaisiQo1ZnqNfQA+xxovDsjuxhdSYdKvzgTm2QwFARCakMChUV4hStDyCK+Hdo5T61zH1Y8043wiMJGm+H3ibiPhFpBVYBWwpZTLnGqUUB1KuA97qUDMRPYgh+oxkElfG1tPoq2N/6jhHPRVyIeKe41z0NH+X9mwnLyX2oovOxdH1ozsdTTR00did2EMyn6DKV1t2IrGp8GkBrqq6ndvq38nJzAHaM/vp9JKzR41aFgVWkLezPN3/I+L5/nGfU9Rwj9xxq/hxpDd7nMOpl6gyG9gUnblp/sboDYT0CF2ZE/RmCztSziXc8AWllbOBiAQ8WUm9iNSISK1XWnAVLFNSypHnOuBdwA4R2e7V/RXwdhHZhPu5HAF+H0AptUtE7gN242qI7pkvGp6sk2dX4gStwQUs9pcW0rBUGn21CGApm5yT5/S1fGRBGclA2JntwdQMlgWaafY3krRTOIpRYWjUiOI4DqtDIV5O7iRtJWiOtMzqnAFSTpwD8ZeJmQ00+ZcTNk6FilRKYWh+XtHwHkzNzwuDD7IyfCkxs56IJ1RO2kM4yh63e8o7WUAIG9UYXoyX2VAJj2i2anwNngrdQZA5rG5W2HPoyIN7D38Id/HYxinxxTBuTvMpKSUvz5MUlov8fJI+nwI+VcoE5gqHUt0sCdRx14KRbI+zu82MeQvFiWw3HdleVofHJ1Af8QsS5d2ooqPj7o5MMdmdOECVUUuVF/u1N9fHkfQRlodaWVuzYULIgNnCEIOkHWdpcD0d2UNUOQ2jdibHM23YWKwKu5/Z6sgVhPQqBvNdaBj4tCA5J03OyYzzND6YepGwXs2S4FqCUxjdTYeRQFRHU/uJGDHqfHMzXspIgKW5glLqs8BnReSPSjGzL8Sc8OWZCxxMd1FthqjVZilgaBEW+xfQ7GugKx/ncOY468KrXMta74u1I9HGusgq6n3jtXQbwmsZdLLknBw+zUetWUNYD+GgODy8n+ZIC+YsJiYbIaCHuar6NSSsASJ6DV3ZI9SbzYgIzYGVjN1pRTyT/pQdRxcD3Yvt73hGlweS21joX8Ga8FVnZdfQHGgpmHlxLjF3lpNTKKU+LyIXA+uAwJj6b03Vt2J67/HKukuoNc/sYjKCiGCIQa13LOjNuYJLDY2rqjYRMybOQ0TIOTl2JXazK74bB4eAFqAr2+XGlD1Dc7WVzbOD/8PRzG4WBlq4OHo9SXuQLYO/QJAJKU8BFgVWutkLvdtlxHcnatRiiu+sHUEMzSRuDdKTLS67OpeMOAeWUs4mIvJx4PNeuQX4R+D1pfSd28v3WeKl+FHSTo6rqwoHMDoTmJpBnVlDb66fNi8Q9VTnfZ/mY1N0I8PWMJr3LDDFoDa0cNZz3JxCkbFTbmxZL69PT+4ENeaCKbVKhviAJHviT9OdPcJF0euKWs2eKUzNNy527lxDzck9Cr8NbAReVEq9V0Qagf8spePc/aTPIi3BBjZFJpq5n0mUUqScNN35fq6pdlNH29j054tblnZmuxi0hojbCdqzJ0k7afry/Rwa2kfWzpyReQoaK8IbaA1ewkC+i8OpHVSbC1gVvmzSkI5xq5+046pwN8VeQZXZgIY262Egp8IQk6hROOfQXEBJaWUqROQOz3fugIh8ZIbTSnvmIJZnPdsNlJSqoLKgAFVGiJSTY2+y/axc72D6BAfSR6kyoqwLrxzdbQDE9DDDVoJBa2Jcj7AeIqD5afIvpNm/iKAWZF3kIvIqNxpHZbYRhKQ9jCYGhmZSZdQT0qM4yuGF4V+Tc8YnQktYgwzmuwnr1acsXXU/S4JuovYXhh4cPQKdaWxlsSf+YslJ1c4Fs2GHIiI6rhbmTly5x9s9n7rpslVEqnHty7YBL1Ci6UdlQfFwlCJbRlyT6TCQj5NxcjT7G1gWOOWNICLjFpW0kxk1xbc9NfNBL49P0LO6FYStw9uwlc2yyPKSnmLTwVJ5TmYOENNr6cudpMZciF8LoYnGNdWvx5SAG5JA2SilSFgDJLzEZCOaJ81bWESEa2ruImJUcyS1kyHPu/pMkHdyaOhcHLtiyiBY5wrFrO1QrgQOKKUOKaVywPdwfeqmNy+l/lApNaiU+hLwSuA9Sqn3ltJ3bn7S54B6X5SN0WW0JTvYmTg+dYdpcDzbyUB+mIDmx3eazCPshTFIOCkaffU0+xcyZMXZMvwyCuUuIqfJV2rMGgJagJ5MF32ZMlIvloGjbK6veZOX/nQvCfuU5auI0J07ys74E2wfepje3AkWBlpZHFxDTqXJqyyG+PBJYEwf9ysX1CP4tODoYjTbHEruIWUn5uxiAoAonBILrrHZ1jHl7jEjleQ/V/K0xljFKqWOKKVeLtVStiKUPY0GX5ScY2Erh5PZfpYE6qfuNAVPDm3nkvBKNkSKC30jepi4nSRuJak23FgjVUaUlkAzKBi2E4SdaowxISVXhlYQt+Jooo+LjzKb7Ig/TdSsY130Wq6vfdO4G9RWFl2Zo6yPXo9SjEtjGvdM7iNF4pg0+lsAOJh8AQW0BtfPeK6WynMgsZPl4XWsilwytxcTACVoqmQhda9S6vIir5XkPzcVIhIAQniWsmPGjVGipewc/8TPPrVmhIX+auJ2mr2pE57j2vS8oXtyrqxgXaiVaAH16lhGTO4Tpwkth6w4OZWn3qxBF51hK07WybI3uZfB/CBhPYwmOjX+ujOyqFwSvY7BfDeOcnCwOZzaQd7JMpDvQheDOl8Tmpi8NPzwuKyAIz48UX1yr/floc0sD20kYQ0WTL9RClknzUC+B0NMGvyLEGTuLya4d6soKalMwWz5z/0+rsxkrff/SPkpJVrKzv1P/RxRbYR5Ze0mRISf9D7HQD5B1smTKlGbYiubLfG95Jw8tWbVlF/wqGdJO2KC7yiHhJ1ibXgFUSPMIi/aW9yKk7YzrAyt9BYTjagZ5WTyGAeHJoYVmAlH0nuI2wPcWPdmfJofURqWypG0hujJuTvs5uBqdNFZH7uBmHFqN5fwfHhGjN2KIeLlZkYwPMFyqULUjuwR8k6OnJMZ9RmqMmvnsKn96QiitJLKFDwPrBKRVhHx4QY4u7/c2SilPut5Gv9vpdRypVSrVzYqpb5Qyhhz48gjUCD1S1GKPYeLRaovxmR/prFjvbPxBkSEw+lu9qU6uan6EjpzA9SbMYzT7CqyTp7nhtu4rmodb6i/hoRdWD7gO22BqTFcE/SkncInGgNWnIPp41wRu3i0jSkaLcHFxK0E/flehq046yJrqTXr8OPH1Ey0MffiTPP9Zp00gsa+xFbWRa9lb+pJqs0F1PkWUe8lZTc82U9MDzKY7+ZEcg8XV91EwgusVO1bONoGGBfKYCx1eog6WhjMd7E7/huurfvtgu3iVj99uXYW+1fRnesiYNRSq7ewyDsy+SYJLZC0y8ur3E1hbVQ8O/P0KSMIM7fLUUpZIvJB4FeADnxNKbVrBuN9XkSuZWKy9Iql7Gww8sRrDS7gpmo3Q+OLiYNknTz9+Th7U+7T2lY2PjFo9FWjlWm7GtFDCELCTpG2M9SYVeMWk7FknRw+zc/a8GpsZfPywDYsZZFzshyMt3mZAaePo2z6cp2sDm1mkb/VzTjoZLgocjVBLcLWoV8WeQ/VLAys8AJ0uxqcaAmxTcZSbTZyWfWr3fgv2ROjOYi2Dz5IwhpA55RJ/4rw5klj2859XO1eKf+mQin1c6XUaqXUCs+XbvqzEvk28M+4ISCv8Eox+c045sYOZR5yZ637+WadPLroxK003+1+jNfVXcWKYBMduX4WleGxrItGrVFFnzXIk0MvcEX0YqrNwjfLWD8fpRQtkZVEjRgd6RMYYs44LspAvof9qe1UGXVcFLmCdZFrMMTNQVRjNnJp1asK9jM0H/X+xewYeoSckyaoxwiWecO7mRT30ORfwa7hx4ka9VxacztLQuvxayFMzU/IWId1hgz5ziaCu6TMQS4H1qlpCOXm5LuZT1QbEWJ6kKgR5E0N11NvxkjaGfZ4u5ZdycMc8eKgHMt0YU+iIl0ccL1iQ3qw6GIylB9mV+KUrGTELyiv8piajwWBhSStOCeSR6b1fuLWAFGjmg2R6wloIYatfvYmnxuVAWmiM2z1MZgvrqYeyrtHi8XBNQXlGY6ycZRD1k5xJPkSAPviz3Ew+YLns5TGp4e4sf7trI/dyM7hx6k1m8Zpkc4PBA29pHKW2QksnE7HyoIyQxJ2mhcSB1FKUWdGMTWDKiPMbTWbAFjiX0C9WY1SikOZdkA4munkhfhuAI5nOknYKVdD47gPhK5cnxczZSJRI8qKYMu4uuH8EFk7Q0Ogkd5sD/25vtFwCKUGcraVjeXkeTn+FO2Zw6ScYVpD64nqNVxdPd4vLOekyZ5mITuCoxzinrYnpFXRm3VTkvZl2zma2gHAU73fZzDXgYiQ8SKsLQtvYFnQPeKti10/6oOji0HMqEdEO2Oq8XOJoJdUzjL1wG4R+ZWI3D9SSuk4k7w8tSLykIjs9/6v8epFRD7n+RS8LCKXzuitzVGyTp7tiUNE9SB31l5eVLMQM8JE9CAiws3Vl6KLxhL/AtZ78VBsz8I0p/Icz3ZRa1ShUGyLuzK1nckDJO00OSdPT66P/ryrjs15C4blWDQGmoh6O5qmYDNLQi2siK6mJ9vJy0NbsJVV9GbMO3kc5bBzaAuOcri2+jXU+RoRTwbk5j7u9oJQu9a7UaOWmCcbOZR8AVtZDOY62T38G/pyx8k6KXwSIG71szf+FEo5+PQgId31qbm+/u3U+pvxaUHWxq4DwK8FMQqkGjE0k6Wh9WTsBE/0ffeMxX05F8gsylBmmU8AbwD+DjdW9EiZklJmOpKX5yLclIT3eH4CHwEeVkqtAh72fgfXn2CVV+4Gvljy25hnTNdHRBNtNE9PS7CZqBFmT+oQl8fWsyzg2g/lvaNRrRHDFANLWQzlh+jKddOd66XPi/S+Lf4S3dlOutInORBvw9AMDicP0J3pwq/58WsBQDiY3M2BhLtIdWaO051xzRR2Dm9hOD+AXw+yJ/k8Dg5D+b5Rx74Xhh+jI3uQhDUwmk60K3uEbUMP0pc7SdZO4yiboB6jKbCSE+k2932FN7Kh+lYurb4DhbsINfjdTAHTUesG9AiXV78aEQ1bFd69zT8EDbOkcjZRSj2OG4XR9H5+HtefZ0pKidjWAXR4P8dFZCQvz13AzV6zbwKPAX/p1X/LE+g8KyLVItLkjTPvyTkWTw/v5rrYOi6Nrpy6Q4k0+RoI6UGaNZPtib305gdI2CkW+RcA4MNkZXiiw+dVVZfR4fnO1AfctmE9TFAPEjNqWKQcOjPHWeBvRmGTtlMM5fuxVJ4FgUW0BtcS1MOsDK9HOTp9+Q7i9gCrQhu98V9FxHBtYK6qfi0AraENNPlX4NeCNIZOWf+KCO3egtIcXAvA7viTtIY3UeebtiX4KGGjmsF8F7uGn+Cq6tfNeLy5wGwHFp8NROQDuJuBWmAF7v3+JeC2qfqWpeU5LS9P48gioZTqEJEFXrNifgXjFhTPF+FugBoziDkLn6td5oZBn2R/plmFn6JKGbQG64kYpSXzUkXOv3nlfvRZJ8eJbDcrvATo4KM1sIhDmXb2Jg9ygxfaAOBI/AiNvgZqzPHu+FEvDangxlRdFGgeza9cZdaSUxlCepjeXCdZJ8dC/xKCRpiOzDEUikRuiMXB5cQMN+54o2/Z6Bd9yOpk0EmwPDL+5KoZIXqzx1ji5ScC2NP7LJbKsiC4nIboKkSEawPvRERG48pqZoCZsJCF1FWvQRxFzk4RMMaHkPTnihvSBfMl5aoaJZMvHLG/XHuWYghyLuQjpXAPrsPhcwBKqf1j7u9JKflwdnpensmaFqgrmJdHKXW5UurysD73pfeOUnyv41mSTpY1oeZZs8bMORb50wSnGyOr0NE4mu0cl4Kj2d9EuIAJ/8l0O+2Z8Q6N+5NtJOwhFA5xaxhHOWTsNNVGLVW+WgzcXD8LfM1UG/UM5ftJWkOcyBwY99QMahFqfE2nXxJQHE3tGJXNJPMD7B96xp1/3R2jn4+I0Jk6wHPdP5zW51MIUw/QmdrHzv5fz9qY5wZxQ2WWUM4yWc9r2Z2liNmUEDYAACAASURBVEGJvkHTzssDdI2k0vD+H9Ejnhd5eU5HE+HGmjWEZ1F1GbeSBHU/a0Mt4+rDenC07oX4Xjf1ppPDEH2ClzJAU2ARi8fsFAAafQvJOVk00ak1G9BEJ2SEMT3ZTUalGLYGMDQDJQ62shHRSNnD47x//VqI6gK5cnQxubL2rtGFY0f/QzjYLItsotY//nizINjKpfWvLfvzmYxF4Yu4tOEusnbSi6I//3DdDoySylnmcRH5KyAoIq8E/hv4n1I6TjsvD66vwHu8n9+D60A0Uv9uT9tzNfz/7Z15fFxnee+/zzln9tG+WbIsW97iPYuNYycO2RMTQmloQ5MSEgptgJvcS3vppXDDLS0tEOD2QmlpuaFJAy0JpbSBXBJIYhOSkGBncbyvku3Iu2Tt0mj29/5xRrKWM6Mzo5E0ks/38zmf0Zx5z3mfGWkevcvz/B66Z/r6ySudhznUf4Y6r3XmbK4cGTjB2Wi75WsrAwvxiIvWWCcnI62cj3XRErEWgIokI/TFzap4Z8NnzIhd3U1vrJtYMkaZuxJDM6j2zCWU6OP0wHH8epBLgmsAKDJKKXVVoGOQUHEzYjfeRSQ5QEv4IPt7XrHs92y4mf2dL9EROcU7fbvQ0FldftOYdprouDQv21t/TCSPim2aaBzsfJkz/Yfyds+ppkC3jT8LtAF7MBMGnwU+b+fCidTleRj4kYh8DGgB7ky99ixwG2aR9BBgS5ilkFkRqMOj5fe/REIluKJoWdrX3ZqL1cHFvNl7gB19B7mt/Oq0Uaf9iX56Y90EjSI0JLXr4sdvRFAkYNgugS4ardEzVHvrMYb95wslejkWPszlxdcD0BE7h1cPMN+7DGVYZ0qXuKopMebyxvmnAFhSspGAy3oNQxONhuClQ3V48sWa1PQqnoxabjsXNoI+SUp7E2FYNdDvZnvtROrygMWqb2p354FsDSlE+uMRXutu4qbyFXkdmYSTUZ5tf433VlydMQt5ia+BI6ETdCf6eKb911xdsh5Nu9D+bKSNUqOYgB4Y0pSt9l4IcKz21I2IzI0mI3g0P5cWb6A9eg6X5qbEZS5UBo0SalMlVwEafJek+niHc/0n2VR5F92xNvx68VDEqk8vYlf3VtrDLXj1IpaXXZvxfdf6l9AZPoMiSaUvPxq+IkIsGWbLyX/klvoH83LPqcKUWSicRVkR+ZFS6oMisgfrdc81493DyeXJgKFp1HlK854O79Xc3Fq+YVxJA1003l16OT/veI2+5AAtkdPUeqpoi3ZQ760loqLEVJykSpBgbEi/Uor9vW+xNLAGj+6lJXSEGu88iowSPLo3pUpvyiWei5xkRWDs4qsiydLgBgBOhPYyx7uYUlcN3bFWwsl+jva+iSBcVXOXZUmN0YQT2RUst4NL83Jz/QPomosEkyvjmV8ErbBGVZ9KPea84FUQDkXTwJuHkXAapYD07TNsM/cmQiS0BBsqRi4weozsnIsvNrL97t4W4irJIm9DmitGUuEq47rSVWzp3MWB0BGKdS+QoFh3szrQCEAkotBcFbhGLYklRGdV0XrT4agkiwOrh5xjsVFuJuKFmqlwVxPQi/FaaJc0GmUEiswt7St8dwDQHTnHsZ7dnA6ZOUWr695H3dx32Xo/DfocMxs5fJYS3wUHJpn28K0YFfnrBna1/IQKbwNzUxnho3FHq7Lqwhe2Ti8ojmRYB+p8xn4HIkgBjVBS4R868KhSauximA2cXJ40nI30cLgv/zqtjb4qGrz2spBDiQhv9hzheLiVulSG8Zu9+6keVVXQEAOfbl0oXRCO9O+lNXxyzEhLRAjqxeZOkNs6zGBf7yt0jSqUpYlGa/goCRWjxFtLd+g0oWg3Z3vsCTxF4r1sP/r9vGvJLqi8kqpg/oINJxvBXLC2c0wVqTrkIRHJqfaI41DSsKJoDtdULMrrPff0nkAXjUp35nq+O3uPciLchlsz0EXnPWVr+Z3Kq1jgrSNBgl91vsHx8IWd+LiKs6tn15j7JFWScHKAclcV1R7rSNWAUURT3z6a+/dZhrTP9V6CP1XhEOBs6DAvnPwHIol+5viXcNuK/8XcsjWEYp2c7z8GwOHWl+iLpA/+8rqKuXnFZ4byhfJFib+Wnsg5onHrkUXhIWi6y9YxxYQxN2EeTeXlfUtEvmXnQsehWBBOxHi05Td5v297rI/R69txlSCuEnTH+/lx66sA1HrKKTWCGKJT5ynnWOQcmqbxrqKVLPTOJUGS7T172NV3iKRSuDQXa0vWjumvL97N2XALNd76tOptHt3HyqJ1lLtq0CxmwD49iEvzoJTiUOcrvHz6cWLJMHWB5Vw150PoukFjxXqKPdWsqn0PYCrb65qbztBJ3jrxY4AxyYkiwkuHv8353qNZf46ZONL6EtEpLiaWKyKCiGHrmGJeBL6Omb+znwvasuPiOBQLDNG5sXLp+A2zoDse4rry5fh1N7FkgraoKZG4pWMnLeE2inU/t5SbYfY17lKKjAtTmMH/5JporCtayRXB5QjCwdBxXuneQTwZ51zkgtaKUoruWDfFrjIaA8tQSnGwbyfRUQFg0WSEY/0H0DSNMncloUQPb3X9YsSX/9WO/yCS6Gd767+zs/1ZFIoVZTewac49Q7s9R9u3sfv0hbinJVXX4HMV43eX0VBmhuy/3PQd2nqbzazluJl4uL7xHiqCjXn9nDc23kfQM/FKBVODIJpu65gSa0QMEfka8FfAR4A/BP4aWAU8YecejkOxwNA0ar0leVtD6Y6F+PG5N/hN1xE6Y/30JgZ4q7cJgFvKL2ehbw4iQrFFvEe1q4SFvgtbwSLCEn8D15WuwyMuzkbPs7NnJ+3RdhJJ06FEVZTWaOuQYxARVhWtxz0qBkQXnXL3hShYv17M4sBaRGQoF2hZcAO/PPVd3ul9G11cXDXn91ldcfOIesELKzayruH3xtjuMQJUBc2Exg2N91IeaKArdIpXDpsJ6F2hkzS3/pp32t/M6XMdTWtPEztO5C/Ef9IR0HTD1jFFfB0zIbBRKbVWKXU5ZgnSktRr4+I4lDR0xQY43G/qoiazEPYZ/CLu6T1FUimOhM6ytXM/H617NyWGH02EcleQzRXmFCXT1nFSKf757BZiFhqx1e5ybi7fSJlRTFRF6Yp3sadvD039TRgYLAksGbMIe7T/ALGUcJOZ2xMaikMB0/GUuKpoDbewretpXmp/kh3dz9MbayPoKuem+k8yLzh2B0VEONz6EpF4+qmGxwigay7KAw3cuPxPAQjHejF0N27dxy92/zVKKfoj7fRHOjJ8wmNJJGP0RzooC8xjfrkt6dMCQUDT7R1Tw+3AHymlhvb2U3l7nwTea+cGjkNJQ42niNtrVjKQiPKVpudJKsU7oQ4O958D4FDfWQYSUbpjAzzfZqqvbT1/kFc6mhARmvvbCCdjDCRilOp+RIQVwbmUpIk6tUIT4e7qd+NKE6Ub0H3cVLaBpQGzlEUkGaE12srO3p2cHDhJb7xrSLNFRCh3V6OlnEwkOcDZyIWEQnOa1MbR/p0c6H+N9uhJ+hKdGOJmXdUdbG74E0o9VkmCJkkVJ5FGZW40g45uYdVVLKi8ksqixSyruwUR4Vz3IU52mAHZz+35Mr3hNvrC59l/6jkAWnuO0B0yF6R3n3iapErQ0rGDw2dfxKV7qAhMbdH7iVFYUx7MuFSrgLYENpMDCyIOpZDx6W7+dNGNaCJmLdrU530i3Em5O0CR7qXWa+6wXVO+GD014vjtOaYE5LJALf3e7NLmBzkf60FHw5chG1sTocJVQa+rF7fupjXSykBygJZwC4Rb0NAIGiUUGaX49ACtkdP4tABKFKWuSk6Hj9MT66Iv3jUiOM6rBSl11VBklLOoZP24ti6rGVcqIy2haCcnO3ayoHI9C6uvGjp/zdJP4nUVEY714nebO0194TaS7jglvlp0zU08EWVBxXqk8sqc+58uRECmbjpjh/0icu/ochkicg9gKyagoN5NoTKYx7PAX0409Z27qXL50Ouri8wtWfeokcTBvrP4xU+1O7dSD+djPRiiUeYKjtvW0AwqXBXUeeroiHXQFeuiJ97HQLKfnngnPXFrbY/h+PViKlx1VLjrqfUupiN6irORY0QTA7g0z4h1k9G09TWz/+zzXLv4k1m9R4AS3xw2Lb2fpEqOmAL6PWVDjwuqTIcx5HCUYuXczVn3VVCIIHrhBLZhpsz8p4h8FHNXR2GW0PABd9i5geNQJpFwMoZHy10DdZm/ftw2B/qPIppZ06cr3sUczxwq3BVUuCtI4COWjNIb76I33kU0GSFJYmg3yCVuDM1FkVFKkVFKvfeyEfcuddXg14vZ3f4L5viXUh9MX3+4zD+PK+ffk/N7TSTjPLPzC2xe83nchnWQ3mxEtMJZdVBKnQKuFJEbgJWYMQ4/V0rZKpQOjkOZNAYSUS4rnkc4R/nTSDLG8x1v875K6+mGUgoRocwoJoRGvc/a+bg0N+Xu6qFI2HgyxuH+3TT6TenHTCRUHJfm5fKq96Gh0xU5S5GrAt1Ck8XQ3HQPnEah8KUpAZIJXTO4edVnLipngggU1pQHAKXUL4Ff5nJt4bjHWcaPz+7gWCh3qUBdNNZm0Kzd2XeI05E25ngqcWkuBhIDtEXbxr1vVEXwaQE82vhf3DORJk6Hj6CLKXfZ3LOdzkh6raxTXXsyRsiOh9dVzL5TP7e9uDvzEUTXbB0zhcJzj7OED9VdiQCRHJNfBxJRqt1j0yniKoGGxhJ/A75RcSXj1a1RSuHTAjQGltEVaydolIzQRBlNY0qoepC1Ve8HoKV3NzX+RXhGjXDWzJ2YcLSIqbIaT0QsR0GzDsHMjJ3sbkTuxCyNsRxYr5TKT+CPBXYU2x4TkVYR2Tvs3F+IyCkR2Zk6bhv22udSNXkOicitk2V4IfN82366YqEJyR7s6GumJTx2xLG3v4nj4dMEdT/6cO1X3Ue1J7OOcFfsPMdCBwDoi3cRTWYu53kstJuBVCGu4fTHO4gnxxYMD0W7+M2x72W853ismLt51hb1Gosghm7rmCB7gQ8AL0/c5szYGaE8Dvw9MLry+jeUUv97+IlUvZ67MBd06oAtIrI0tY+dFk2DYOZ8uREk09wt27/BZIb10nSvxW2MOJbESqkv8eLWIJamvS+c2Zf/XmCklk1vPExZUri5bCWG6COcVXciSlIlebX7DTaVrB96rWPUmyhxlRMwilEkmetrRClFUsWHdm+KKkZOsQLaeYqKFuGeO3J95tJ596CU4q3mJ1le/D6CflMWwJ8sotF7PVp1euV5DOv3Le4LX5pfbvkqV69/kJLi9IvSKm79C5IMQ0ItlmV2c5o+VLpfKsA7Wdx/ikYoSqkDkFs9pGwZ990opV4G7IYuvh/4oVIqopQ6hikDOX4Qwyzi1EA3l5bW4p5AMFJfPMKv2g+POLez5yRNA2dwadblOzTRuKLIWgcEoCfWSXe8HdewqUTLwBHao+nTCxaVbcBnWHt6EaGmdBk+T8nQaELTDKrKlxKbYLbv5hu+lNGZzCp0sXdApYi8Oey4f7pNt2Ii7vHBVKnRxwbLkJK+Js8YROT+wQ+nNzYzVctHo5TiqZP76I1P/P0UGWb9mjPhbk4MdLKpbBGrgwvG7T+eppaxJmOLbs/1LaTCPVbRHiAc7+PZ5q9l7G9e5RWIpvPCti8SCqcqGe7/F8607c543Xhoms7OvU/S0zejtc3HRVJxKHYO4Pxg2ZnU8cioe20Rkb0Wx/un8j3luij7j5gZiSr1+DfAR7FZkwfMujzAIwCNRWWzYsIsIjy45KrxG45DQHeztsRUdOuODxBTCeZJGeNFP5+InKbWXU2pNnIxN5qM4NeDY/KGDDHojnWQVEnK3CMzdN26n+sbPj6urZroXLnqD/F7ywkNtLNhTX7+cVZVLMM127eQhcHRx4TJVWEt3+TkUJRS5wZ/FpHvAj9LPZ2VNXns8vMzh1hWVEVjMLdQ+0F+cm4XoJjnK2ddif3clOWBJZbnWyOn8Gp+Kj1zxrymi4EmY9cKwvFeYskwPsYX7iopMisVvrzjm6xd8WG6ek6wZH7uofgAc2svJxzJVE9uNiBTsoYyleT0bgYLfKW4A3MVGcyaPHeJiEdEGjELpr8+MRNnDsuKqyj32E/+syKWTPCeqpVsLF3EYn92GqjtsU7ORM6NOV+fYWoTNIoJ6MVDqvmDdEVOc6p3r+U1VogIt171lwT9NZzrOEAkOnZ3KBti8TDPvPA/SKZbgZ8NCOYitZ1jIt2I3CEiJ4GNwDMi8lw+zLdi3BGKiDyJWRS9MmXUF4DrROQyzDH4ccxiQCil9onIjzBVnuLAA+Pt8MwWQvEoNZ4gfmNiKuZbzh8gkozz/ppLs16Vd4sL0UZec7z/EFWeOgJpFlcBumMd9MQ7WTHsXF1wOXXB5WmvsUJEw+suJuivIjnB4DSX4eUD7/3OlOxMTCva5L8/pdRTwFOT3hH26vLcbXH60QztvwR8aSJGzUT297RyItTNHfXp810y0dTfSpW7iGvLl/B0656cvkhFRnBM/Ea1Zy6eNALWg5S6KsasoRzu+DUVvnlUZFk/R0To6jlBf7iDHQef5JIFt1BZmptwdHfPSc53HGZx48SmTwWLCMygKFg7FESkrK5DsMT+F0glrRcnE1lGpWaKQ0kX05Lu/I1l9ZhLRqMvsG4/WPIjqRSaCAdO9eEpMlhUXM6n51mLBC30WX9GV6dEpFtD/Xx5+2/45vXm+lz3bbdz1ZUbCQQy5+wANDU3cf9nv8wNd/5PAGqPJQmW1lBUVkv0XIbRhsX34cqq/4rXV8Lq+eUUldTS19uKx1eCxxMkjbQtJMZ+UIYRwEgEkfKx8g2S5m9AxTL8UuNZrv1b2AQgmeqvZEMeF2ULhdnlHqeRF04cpW0gO3FkpRQP7/w1Z0J93DR3IYuKy3mr7TQvnj6ekw2VPj9fveY6wHRUW3+1lbhNL7tg/gLWbPrg0PM5DasoLksvqJQJTdPp7T5DaXkDuu7inebXOP2OLY3jERQV19K4+N052TBTmG25PDPH0gLHqxtD4krjEU0khpzGJ1eso9Z/Qe+kIVjCkuLcdok0EY50ddIVCRNJxHn4i1+hpNheeRXDMCirms+BN58hEu7nX7/2wZzD39tbm2hpfm3o+eq1d9K49Fpamn/Djm2P275PeKCLn/zwEznZMCMYHKHYC2ybERTElGc2cE1dg60vYDSRQATOh0PEVZIyz8j1jYDLTbkn9yjbAx3txBIJfnBwPy+lJA7somk6PR2nERHu+cy/57wgWr/gXdQvGFtJsLbhckrL5pNMxDl98m3q52euNuj2FHHrb30lJxtmBjPLWdjBGaHkiaeOHmLrqeOWr5k5M4qDnef51t7XcWk6dy5cgcsiPP+xQ2+zvyt3CYA7ly7j8po5fHnTtVk7BNE0rrzlj+g400zrSXtVAK0YCHXx5quPjTnvcnkpLq0jFOrgxLHtZknSrlNpt4a7O1uIRmdGjZ2cMEsH2jtmCI5DyRPXzZ3PDXMX0B4eGFK+742aIfiPHHibXe3nWFpawadWZ05tenDlelaXZ84azsTTzUf4622v4p6AtODrWx7lZNMbOV9vGB7KqxamfT1YVM3G6x5ERNix7XE6248RCffS1WlmbQx+fm2th+npOpWzHTOCWTblcRxKnijzeNFE+OeDO2np6+FEfw/f3G3G9P3+4pVcVlGDJmI5KhnOi6ePE8226vsw1lRWc+08e4XY03H7R/+GdTd+JOfrXW4fjUuutTUFvG7zQ1RULaar8x2OHDDjrV564SucbHmDpctvZd6CmSc+bRtnDcVhPD596QYU5t/K59duAqDInV61fjRnQ7lHmO5ua6W+qIhVnioSE9ATef6JP2fB8k30d7ex9oZ7c7rHj//5Xm6/61v4/BmkDIZRU7uKmtpVAGy6/r+jTzBAcKYwOhBxpuM4lDxjqo4NI8vv9d2LV+Xc99HuLoo9Hr6z620+vTZ31Ygrrr2HQEkVWRs/jDvufRQjR6dguLw59zujkJk1+rCDM+UpINoG+vm7fbmlPnWGw/z24qUsKC7h4Wuuo8qfW05RZKCXYGkNgeJKDJeXvdt+ktN92luP0N+X++LyRcEsnPI4DqWAKHF7ef/8S7K+ri8a5UvbXyOWCv092t3F9jO5JXmfa9nHrl//EADd8BCL9OeUoNd6Zj+hvvacbLiYEE1sHTMFZ8pTQIiA38hOnDmpFEG3m6+++3r01DaxZilLY4+GSzbQcMkGAAyXm8uv/RCtB5rweIttr4eAGczmMA5O6L3DZNI6EOJfjmSndvZU8yF+fuzokDMBWFBSwvo5tVlHuiqleO3ZfyAeGylA/c7R1+hoa87qXju3/yvtrUeyuuZiRHR7x0zBcSgFxNxAEX+yekNW17yvcQnvrp835vzX3tjOtte3ZXUvlUxQVj0ffdQo6dJ1dzN3/joGQl2271XXcAX+YOX4DS9mnMA2h8kkmkjws5bD4zcEIok433j7dZJKEXCNnSY9cNkVbFifnXNKJpMsX/deywjbvp5zbH3mL2yPesorF+L1lWbV/8WGMPtGKHYElh4DbgdalVKrUufKgX8DFmAKLH1QKdUp5l/i3wK3ASHgI0qpHeP1obs1Shvs64fGQtbp9NlKOSXTlEkAzAUN+6fTormsLzC8Y/9KookEgYhO3QrrbVNf3YUvqFKKu+fC4kX1+JaN3WoODUT4xdYXuPUm+6WR3nn7uyxZuYZNt9w24vyupgGqWMD8jd9GKdD0C2U8wiFrB/Pk1x5g831foKxmZJBdPGL9mSei2U3PkmnaqwwSBemuSUsa+QKV5nzWyMxacLWDnRHK48DoMvefBbYqpZYAW1PPAd6DKfu4BLgfU8zawSZuXedD61aOOwp4+o397Dp+hnWLMtStQfGrl1/Mqv+P/PGfseGGW9K+rukGLz/1CPu3PT/uve7+zKNjnImDBZrNY4aQa12e9wPfS/38PeC3h53/vjLZBpSO0p91GIcvPvcq+85mjt9oqCyluiSYsU3A5+UrX3zYdr/nzp1l24svYBiZB60b3/thlq+/kVgkfdXBvq42Du/Iqdb2xYWAZoitY6aQq++rUUqdAUg9Dmaz5VSXp2sgc0nMi4n/sukKVsyxXsx8o+kkP3ptN5c11lFXXjzuvX76/37Ct7/z97b6jUQj9HR1jtvO6y9CNJ3/+Ls/o+3UUcs2scgAkVCvrX4vembZCCXfcSg51eW5pLpiVtTlyQdlPg8vNbWwaWE9rmEZw4lkkgXVZQS99sPZr9p4ta12Silq59Rx6wd+z1Z7EeEDD34Ft9dP+5nzBEoqRtwrUFLB6k1TWl9qZiKzL5cnV993bnAqk3ocrGd5UdflyQeaCM3nu+iNREkkkySSSV5pPsHfvfwWVcUBltfblzaoqqyiv7+ffQf2ZWzX1HyEuz78wYxtRuP2+olFwjzz2OcJ9XaSiEdJJOKcPrqbLU98Nat7XawIoOn2jplCrg7laeC+1M/3AT8ddv5eMdkAdA9OjRzsISL84cZLKff7+G//uYWj7V2sn1/Lx6++PKf7HT5ymIOHDmRss2TxUh7/p+9nfW+Xx8udf/wP+IvKeP2577P7laeYu+hSbvnwQznZetEhF2HofZq6PA8DPxKRjwEtwGCc9bOYW8ZNmNvGf2DHCM3voeiypbaNjp629lGJgSxrCqdRTs+EuLKbJep+a+kCo3R8rdfvrbx/REyIu2ZsABtAoOFSy/MKxc033QxAUiWt40v6+nji337A/R/7OHVp9t0jC9Jvr5/vNa+58xOfHHY2ffpA/4D1vcLh7JTkYxHr31268wCJWHa/73Tt1cRKDo3ApgzxjCHXujwAY4qlKHO/84GJGuVgkq8iV0/88Ad0dnXywCceHPPawEAIv29i1Q4dckMEtFmWy+MkB14E3HrLZryescFyzc1NlJSWcs/vf3garHKAqRmhiMjXgfcBUaAZ+AOllP08iiyYZQMuBysqyivweDx8/IH76eu7oAj38quv8Jttr2W40mGy0TR7xwR5AVillFoDHAY+N+E7psEZoVwkGIbBfffcRzAY5Hv/+jiNCxbyB/faWuJymCREZEqmPEqp4aHN24Dfnay+HIdyETEYl7LuinWUlDiJe4VAFqOPShF5c9jzR1KxXNnyUcw8vEnBcSgXIStX5K5b65BHJKsYk/NKKeui14CIbAHmWLz0kFLqp6k2DwFx4AdZWmobx6E4OEwTAmh5ijFRSt2UsS+R+zBVA25UudaYtUFBOBTDV0zpmjG70GnpDVgXoYp3tuXLJEjzmYuF9kgmNK/1lqxRnL34kKvU6h8Q6C7rPvQspSCrcxC2Dnqyi/3pHrCOdemLZKc9MRC2/v1EMsSaRDLEqFgRSyN3EM9WBiEdkpcF1/G7EdkM/BlwrVIqNJl9FYRDcXC4GBEBfWriUP4e8AAvpGKbtimlJqUKveNQHBymkakYoSilFk9+LyaOQ3FwmCYGJWVnE45DcXCYLgQMJ/TewcEhH5i7PNNtRX5xHIqDw3Qh+ds2LhQch+LgME0IYMwg8SQ7OA7FwWHaELQ8SVQUChNyKCJyHOgFEkBcKbUuXc2eiZnp4DD7EAF9lq2h5OPtXK+UumxYnkG6mj0ODg7DMKc8YuuYKUyGf0xXs8fBwWE4Aromto6ZwkQdigKeF5G3ROT+1Ll0NXscHByGIYAu9o6ZwkQXZa9WSp0WkWrMPIGDdi9MOaD7Aerm1EzQDAeHmYfMwsC2CY1QlFKnU4+twFPAetLX7Bl97SNKqXVKqXXlpY7Yj8PFhzD7pjw5j1BEJABoSqne1M+3AF/kQs2ehxlZsyc9uhu9xLpEhBVFi6394EBrk+17AMR7R5dsvoDmsi5/QZbbfJonjbSAb/xSoqMxfNalN0RP82tMUxYjHX7dWpqh0udLe41Hzy6QosRr1JK1GgAABfNJREFUXYOiP5qdrX3RuOX5UDR9OY5wlrIDkViakh9ZyiBkYpYNUCY05akBnkqlQxvAE0qpX4jIG1jX7HFwcBiGiGDMsn3jnB2KUuooMKbClFKqHYuaPQ4ODiMxF2Vn1xDFiZR1cJhGZtkAxXEoDg7ThQi4Zlm6seNQHBymCWFm7eDYwXEoDg7TiLOGMglEkwmO9XTbbr+42HqLWTPG1u/NRKT7dFbtc0HSFF7RXNnZCqCnfX/Wf5Qqy21jQ6xtDRjplf6zHbIHXNZ/chFv+u1ey/YJ6/cWiad/z9FEdn2E49bt2/utt76zRQQMZ8rj4OCQDwYD22YTjkNxcJg2xJnyODg45AdnyuPg4JA3nMA2BweHvCGA4ayhODg45AURNHGmPA4ODnliKkSqReSvMJUUk5hyIh8ZlB7JN7PLPTo4zCAG11DsHBPk60qpNUqpy4CfAX8+YePT4IxQHBymkakYoSileoY9DWBKt04KjkNxcJgmBEFLE+VsQaWIvDns+SNKqUds9yXyJeBeoBu43r6V2eE4FAeHaSSLEcr5YaVqxiAiW4A5Fi89pJT6qVLqIeAhEfkc8CDwhayNtcGkORQR2Qz8LaAD/6SUeniy+nJwmKmI/RFKRpRSN9ls+gTwDJPkUCZlUVZEdODbwHuAFcDdIrJiMvpycJipCKClpj3jHRPqR2TJsKe/BdiuTpEtkzVCWQ80pWQiEZEfYm5b7Z+k/hwcZiRTFNb2sIhcgrlt/A7wicnqaLIcylzgxLDnJ4ErhzcYXpcHiNz0rkv3TpIt+aASOD/dRmSgkO0rZNsg//bNt9twz749z82/pKHSZvOcbVRK/U6u12bLZDkUK8c7YqsqtUL9CICIvJlpwWm6cezLnUK2DabXPqXU5unodzKZrMC2k8BwFaR6YPLVjBwcHKaVyXIobwBLRKRRRNzAXZgFwBwcHGYxkzLlUUrFReRB4DnMbePHlFL7MlxiO0BnmnDsy51Ctg0K374ZhSg1aVG4Dg4OFxlOcqCDg0PecByKg4ND3ph2hyIim0XkkIg0ichnp8mGx0SkVUT2DjtXLiIviMiR1GNZ6ryIyLdS9u4WkSsm2bZ5IvKiiBwQkX0i8qkCs88rIq+LyK6UfX+ZOt8oIttT9v1banEeEfGknjelXl8wmfal+tRF5G0R+Vmh2TbbmFaHUkAh+o8Do2MCPgtsVUotAbamnoNp65LUcT/wj5NsWxz4tFJqObABeCD1GRWKfRHgBqXUpcBlwGYR2QB8FfhGyr5O4GOp9h8DOpVSi4FvpNpNNp8CDgx7Xki2zS6UUtN2ABuB54Y9/xzwuWmyZQGwd9jzQ0Bt6uda4FDq5/8L3G3Vbors/ClwcyHaB/iBHZhR0ecBY/TvGXPnb2PqZyPVTibRpnpMh3sDpriQFIpts/GY7imPVYj+3GmyZTQ1SqkzAKnH6tT5abM5NQS/HNheSPalphQ7MeUFXwCagS6lVNzChiH7Uq93AxWTaN43gc9g5rGQ6qtQbJt1TLdDGTdEvwCZFptFJAj8B/DHaqQC15imFucm1T6lVEKZ8oL1mImhyzPYMGX2icjtQKtS6q3hpzP0PxP/HguK6XYohRyif05EagFSj62p81Nus4i4MJ3JD5RS/1lo9g2ilOoCfoW51lMqIoOBk8NtGLIv9XoJ0DFJJl0N/JaIHAd+iDnt+WaB2DYrmW6HUsgh+k8D96V+vg9z7WLw/L2p3ZQNQPfg1GMyEBEBHgUOKKX+TwHaVyUipamffcBNmAugLwK/m8a+Qbt/F/ilSi1a5Bul1OeUUvVKqQWYf1u/VEp9qBBsm7VM9yIOcBtwGHPe/dA02fAkcAaIYf6X+hjm3HkrcCT1WJ5qK5g7U83AHmDdJNu2CXPYvRvYmTpuKyD71gBvp+zbC/x56vxC4HWgCfh3wJM67009b0q9vnCKfsfXAT8rRNtm0+GE3js4OOSN6Z7yODg4zCIch+Lg4JA3HIfi4OCQNxyH4uDgkDcch+Lg4JA3HIfi4OCQNxyH4uDgkDf+PwQce0qhx43LAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_neural_sheet(spatial_layout.ex_positions, spatial_layout.ex_tunings)\n", "ax = plt.gca()\n", "for phase in phases:\n", " ell = Pickle(pos_x, pos_y, long_half, short_half, phase).get_ellipse()\n", " ell.set_linestyle(\"dotted\")\n", " ax.add_artist(ell)\n", "circ = circular_axon.get_ellipse()\n", "circ.set_linewidth(2)\n", "ax.add_artist(circ)\n", "plt.gcf().savefig(\"../figures/evolve_spatial_layout/select_max_entropy_orientation_layout_all_orient.png\", dpi=300)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_neural_sheet(spatial_layout.ex_positions, spatial_layout.ex_tunings)\n", "ax = plt.gca()\n", "for phase in phases:\n", " ell = Pickle(pos_x, pos_y, long_half, short_half, phase).get_ellipse()\n", " ell.set_linestyle(\"dotted\")\n", " ax.add_artist(ell)\n", "max_ell = Pickle(pos_x, pos_y, long_half, short_half, max_phase).get_ellipse()\n", "max_ell.set_linewidth(2)\n", "ax.add_artist(max_ell)\n", "circ = circular_axon.get_ellipse()\n", "circ.set_linewidth(2)\n", "ax.add_artist(circ)\n", "\n", "\n", "plt.gcf().savefig(\"../figures/evolve_spatial_layout/select_max_entropy_orientation_layout_max_orient.png\", dpi=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How to determine clustering and cluster sizes? https://stats.stackexchange.com/questions/40454/determine-different-clusters-of-1d-data-from-database" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* we would be tempted to look for orientations that provide cluster with distinct orientation preferences, but the jumps are quite big in the orientation map which would mean that close by orientations do not compete\n", "* circles and ellipsoids seem similar, in the uniform case they both cover all tunings, however sparsely, whereas for long correlation lengths circular axons have to deal with the position, they are either close to a switch or within a patch, ellipsoids can slightly compensate for this by their orientation\n", "* maybe the most interesting would really be to try out brute force, what the optimal tuning could be for an ellipsoid arrangement and then look at their orientations..." ] } ], "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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }