diff --git a/sheets/02_cpsat/DBST/constraint_programming.ipynb b/sheets/02_cpsat/DBST/constraint_programming.ipynb index 3fc70cb4487e114741fb5e8950f90912c58138f5..0e698503b4e22510d33e542cb31fb32b15c632e4 100644 --- a/sheets/02_cpsat/DBST/constraint_programming.ipynb +++ b/sheets/02_cpsat/DBST/constraint_programming.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 46, "id": "62e4c444-c034-4183-b096-a51f3d0223c7", "metadata": {}, "outputs": [], @@ -25,6 +25,23 @@ "from _solver import DBSTSolverCP" ] }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "4f9b844c", + "metadata": {}, + "source": [ + "# Degree (-Constrained) Bottleneck Spanning Tree\n", + "\n", + "This combinatorial problem is a mix of two distinct spanning tree problems: The Bottleneck Spanning Tree (BST) problem and the Degree-constrained Minimum Spanning Tree (DCMST) problem. \n", + "\n", + "* BST asks for a spanning tree on a given undirected graph, which minimizes the cost of the 'longest' (most expensive) used edge. This problem is known to be easy, as a regular Minimum Spanning Tree (MST) is always also a BST.\n", + "\n", + "* The k-DCMST problem asks for the cost-minimal spanning tree on a given undirected graph, such that every node in that graph has degree k or less. k-DCMST with k=2 is the well-known Hamiltonian Path problem, which is known to be NP-hard. But, the problem is known to also be NP-hard for k > 2.\n", + "\n", + "Our problem simply unites the constraints from the BST and the k-DCMST problem. We want to find the smallest bottleneck cost while limiting the degrees of the resulting spanning tree (feel free to fiddle with that value k)." + ] + }, { "cell_type": "markdown", "id": "5de497dd-00e4-4528-87fb-91a77fa2c717", @@ -35,31 +52,26 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 47, "id": "098ad290-5284-4e19-bbf3-dd3d240561ab", "metadata": {}, "outputs": [], "source": [ "def random_points(n, w=10_000, h=10_000):\n", " \"\"\"\n", - " n zufällige Punkte mit ganzzahligen Koordinaten in einem w * h-Rechteck.\n", - " :param n: Anzahl der Punkte\n", - " :param w: Breite des Rechtecks.\n", - " :param h: Höhe des Rechtecks.\n", - " :return: Eine Liste von Punkten als (x,y)-Tupel.\n", + " Generate a list of n randomly placed points on the w x h grid.\n", " \"\"\"\n", " return [(random.randint(0,w), random.randint(0,h)) for _ in range(n)]\n", "\n", "def squared_distance(p1, p2):\n", " \"\"\"\n", - " Berechne die (quadrierte) euklidische Distanz zwischen Punkten p1 und p2.\n", + " Calculate the squared euclidian distance (in order to minimze the use of the sqrt() operation).\n", " \"\"\"\n", " return (p1[0]-p2[0])**2 + (p1[1]-p2[1])**2\n", "\n", - "def draw_edges(edges):\n", + "def draw_dbst_edges(edges):\n", " \"\"\"\n", - " Malt eine gegebene Liste von Kanten als Graph.\n", - " Die längste Kante wird dabei hervorgehoben (rot, dicker) dargestellt.\n", + " Draw the edges of a DBST. The bottleneck edge(s) automatically get highlighted.\n", " \"\"\"\n", " points = set([e[0] for e in edges] + [e[1] for e in edges])\n", " draw_graph = nx.empty_graph()\n", @@ -72,7 +84,7 @@ " plt.clf()\n", " fig, ax = plt.gcf(), plt.gca()\n", " fig.set_size_inches(8,8)\n", - " ax.set_aspect(1.0) # Seitenverhältnis 1:1\n", + " ax.set_aspect(1.0) # 1:1 aspect ratio\n", " nx.draw_networkx(draw_graph, pos={p: p for p in points}, node_size=8,\n", " with_labels=False, edgelist=g_edges, edge_color=color, width=width, ax=ax)\n", " plt.show()" @@ -88,13 +100,13 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 48, "id": "10a54359-24a9-41ff-872f-c0b48a29e4bb", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAJnCAYAAAAHjOIZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACJwklEQVR4nO3dd1jV5cMG8PssDrJUVJwgKrlzgVvRTMWVI8WRe5KjzDJH9mb+1HLlzIF7K85MxZGVCze5FRQXKirgYHM44/v+QVDmYpzDc8b9ua736k3wfG9/CdznmTJJkiQQERERkc2Qiw5ARERERHmLBZCIiIjIxrAAEhEREdkYFkAiIiIiG8MCSERERGRjWACJiIiIbAwLIBEREZGNUWblkwwGA6KiouDs7AyZTGbqTERERESUTZIkISEhASVKlIBc/vYxviwVwKioKLi7uxslHBERERGZzv3791GqVKm3fk6WCqCzs3PmC7q4uOQ+GREREREZVXx8PNzd3TN729tkqQBmTPu6uLiwABIRERGZsaws1+MmECIiIiIbwwJIREREZGNYAImIiIhsDAsgERERkY1hASQiIiKyMSyARERERDaGBZCIiIjIxrAAEhEREdkYFkAiIiIiG8MCSERERGRjWACJiIiIbAwLIBEREZGNYQEkIiIisjEsgEREREQ2hgWQiIiIyMawABIRERHZGBZAIiIiIhvDAkhERERkY1gAiYiIiGwMCyARERGRjWEBJCIiIrIxLIBERERENoYFkIiIiMjGsAASERER2RgWQCIiIiIbwwJIREREZGNYAImIiIhsDAsgERERkY1hASQiIiKyMSyARERERDaGBZCIiIjIxrAAEhEREdkYFkAiIiIiG8MCSERERGRjWACJiIiIbAwLIBEREZGNYQEkIiIisjEsgEREREQ2hgWQiIiIyMawABIRERHZGBZAIiIiIhvDAkhERERkY1gAiYiIiGwMCyARERGRjWEBJCIiIrIxLIBERERENoYFkIiILEaqVo/IZ8lI1epFRyGyaErRAYiIiLIiJCIWAetDkajRwUmtRGAvbzT0Kiw6FpFF4gggERGZvVStHgHrQ5GUpgMAJKXpELA+lCOBRDnEAkhERGYvOkGDRI0OkpT+75IEJGp0iE7QiA1mRJzeprzEKWAiIjJ7bs5qqOUGaAwyADLIZICjnRJuzmrR0YyC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Tz6Bv78/7O3tRf8RiIjITO3duxdXr17FmDFjREchwTgFbMb0ej2OHTuGoKAg3Lobibs1AqCFIv3eWskAJfTY6F8adbxrio5KREQWQK/Xo2XLljh48CAUCp57asuy09d4EHQeUygUaNq0KRYvXowlazYhLaP8AYBMDp1MhWJlKoiMSEREFkShUMDPzw8HDhwQHYUsCAugQCUKOsJJrQT+HoSVyQAntRJuzmrByYiIyJIMGDAAK1asEB2DLAgLoED2KgUCe3lDJdMDABzt0g+e5tVlRESUHYULF4azszNu374tOgpZCBZAwRp6FcYn+S7jZ79CODeheeatI0RERNkxdOhQLFmyRHQMshAsgGbA0d4OBVV6jvwREVGO1alTBxcvXkRKSoroKGQBWADNgJ2dHTQajegYRERkwWQyGbp164atW7eKjkIWgAXQDKjVaqSlpYmOQUREFq579+7YtGmT6BhkAVgAzQBHAImIyBgcHBxQuXJlnDt3TnQUMnMsgGZArVazABIRkVF8+umn3AxC78QCaAbkKjUeJ+qQqtWLjkJERBbuvffeQ2xsLB5FxyLyWTJ/ttBrKUUHsHUhEbH43+V8SNU7YOnUQwjs5c2jYIiIKFcadh6AJnNPIE1SwEmt5M8WegVHAAVK1eoRsD4UGr0MAJCUpkPA+lC+WyMiohxL1eqx5pYaaYb0H/H82UKvwwIoUHSCBokaXeZdwJIEJGp0iE7gekAiIsqZjJ8tkKUPLvBnC70OC6BAbs5qOKmVGV+jvAuYiIhyjT9bKCtYAAXKuAvY0S59KSbvAiYiotzizxbKCpkkSdK7Pik+Ph758+dHXFwcXFxc8iKXTUnV6hGdoIGbs5pfoEREZBT82WJ7stPXuAvYDNirFPBwdRAdg4iIrAh/ttDbcAqYiIiIyMawABIRERHZGBZAIiIiIhvDAkhERERkY1gAiYiIiGwMCyARERGRjWEBJCIiIrIxLIBERERENoYFkIiIiMjGsAASERER2RgWQCIiIiIbwwJIREREZGNYAImIiIhsDAsgERERkY1hASQiIiKyMSyARERERDaGBZCIiIjIxrAAEhEREdkYFkAiIiIiG8MCSERERGRjWACJiIiIbAwLIBEREZGNYQEkIiIisjEsgEREREQ2hgWQiIiIyMawABIRERHZGBZAIiIiIhvDAkhERERkY1gAiYiIiGwMCyARERGRjWEBJCIiIrIxLIBERERENoYFkIiIiMjGsAASERER2RgWQCIiIiIbwwJIREREZGNYAImIiIhsDAsgERERkY1hASQiIiKyMSyARERERDaGBZCIiIjIxrAAEhEREdkYFkAiIiIiG8MCSERERGRjWACJiIiIbAwLIBEREZGNUWblkyRJAgDEx8ebNAwRERER5UxGT8vobW+TpQKYkJAAAHB3d89FLCIiIiIytYSEBOTPn/+tnyOTslATDQYDoqKi4OzsDJlMZrSARERERGQckiQhISEBJUqUgFz+9lV+WSqARERERGQ9uAmEiIiIyMawABIRERHZGBZAIiIiIhvDAkhERERkY1gAiYiIiGwMCyARERGRjWEBJCIiIrIx/w+pv5GNGL0thQAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAJ4CAYAAAD1DFJXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAACPm0lEQVR4nOzdd1iTZ8MF8BNGggLixL1xb7G2ah207lXFbalVqyK499aqxVkF694LN2qdVWvrpE7cdeLCjaggw4SM5/2DwmvrYiS5kzznd13f9b1iSI5tDSf3VEiSJIGIiIiIZMNOdAAiIiIiMi8WQCIiIiKZYQEkIiIikhkWQCIiIiKZYQEkIiIikhkWQCIiIiKZYQEkIiIikhmH1DzIYDDg8ePHcHV1hUKhMHUmIiIiIkojSZIQGxuLfPnywc7u42N8qSqAjx8/RsGCBY0SjoiIiIhM58GDByhQoMBHH5OqAujq6pryhFmyZMl4MiIiIiIyqtevX6NgwYIpve1jUlUAk6d9s2TJwgJIREREZMFSs1yPm0CIiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYFkIiIiEhmWACJiIiIZIYF0EqotXpEvEyAWqsXHYWIiIisnIPoAPRpoeFR8A0OQ5xGBxeVAxb7eKKWR07RsYiIiMhKcQTQwqm1evgGhyE+UQcAiE/UwTc4jCOBRERElG4sgBYuMlaDOI0OkpT0a0kC4jQ6RMZqxAYjIiIiq8UCaOHcXVVwUTlA8c+vFQrAReUAd1eV0FxERERkvVgALZyToz0W+3jCWZW0XDOTgx0mf1NOcCoiIiKyZiyAVqCWR06cHVMfAz/PBrVGg0GbL6JawEGEhkeJjkZERERWiAXQiiy7EAuDImkkkJtBiIhSj0dpEf0bj4GxEsmbQaBIWg349maQQtkzC05HRGS5eJQW0bs4Amgl3F1VsDdouRmEiCgNeJQW0ftxBNBK3Lh6BZViT+Gmez3EaXRwViZ9inVytBcdjYhIOEmSEBkZiYiICNy/fx/3799HREQEwp9GI65Y+7celzR78iDqNUrkzSYwMZFYCklKPmHuw16/fg03NzfExMQgS5Ys5shF/9G2bVvMnj0b7nnzIzJWA3dXFcsfEclGYmIiHj58mFLskv9/ZGQkJEmCQqGAu7s7ChUqhMKFC6Nw4cIoVKgQcuXOixozjyJOnQgo7KAA4AA9ylxfDei1+Oyzz+Dl5YXq1atDqVSK/mMSZUha+hpHAK1AaGgoChYsiEKFCgEA1/wRkcVSa/Xp+pAaExPzr2KXPIoXHx8PAHB0dETBggVTil2TJk1QqFAhuLu7Q6FQfPS5pzYtioFbr0KvsIOzygGLfT5HLY+WSExMxJkzZ3D48GHMnDkTAPD555/Dy8sL1apVg6OjY/r/QRBZOI4AWjhJktCiRQusXLkSuXLlEh2HiOiDPrTZwmAw4OnTp+9Mzz569Ag6nQ4KhQJZsmRJGb17+/+7uLhkONfu3btx534EWnXq+tFiqtFocOrUKRw6dAhnz56Fvb09atSoAS8vL1StWhUODhwzIcuWlr7GAmjh9u3bhxMnTmDixImioxARfZBaq0e1gIOI1+ggAYAkwc6gRZnrq+GgkJAnT553pmfz589vllI1YcIENG/eHJ999lmavu/Nmzc4efIkDh06hHPnzkGpVKJmzZrw8vJC5cqVYW/PZThkWVgAbYTBYEDjxo0REhLCf+5EZNEiXiagzsxD73y9reoyWn5VE9WrV4eTk5OAZEDr1q2xceNGqFQZOzUhPj4ef/31Fw4fPowLFy4gU6ZM+PLLL1GvXj1UrFgRdnY8WIPE4hpAGxESEoKGDRuy/BGRxcvuZAc7vQaSvQoSko6qclbao0X9Ogg9dgSzZ8+GXq+Hp6cn6tWrhy+++MIshVCSJCQmJma4/AGAs7MzGjRogAYNGgAA4uLicPz4cWzYsAGjR4+Gi4sLateuDS8vL5QtW5aFkCwaRwAtlE6nQ6NGjbB7925kypRJdBwioo8aO3YsnApXwsZHWT544LJWq0VYWBiOHDmCkydPQqfToWrVqqhbty5q1Khhkve6+/fvY9q0aVi4cKHRn/u/Xr9+jWPHjuHQoUP4+++/4ebmhjp16sDLywulS5f+5GYVooziFLANWL58OfR6PXr16iU6ChHRRx05cgSrV6/GihUr0rQLWKfT4dy5czhy5AhOnDiBxMREVKlSBfXq1UONGjWQOXPGTzzYunUroqOj8cMPP2T4udIqOjoaR48exaFDh3D9+nVky5YNdevWhZeXF0qUKMFCSEbHAmjl1Go1mjVrhn379vEYAiKyaC9fvkSbNm2wc+dOuLq6Zui5dDodLly4gMOHD+PEiRNQq9WoXLky6tWrh5o1a8LZ2TnNzzly5Eh07twZFStWzFA2Y3jx4kVKIbx16xZy5syZUgiLFSvGQkgZxgJo5QIDA5EnTx506tRJdBQiog+SJAmdO3fGoEGDUL16daM/v16vx4ULF3DkyBH89ddfePPmDSpVqoS6deuiVq1aqToipmXLlti2bZtFHuESGRmJI0eO4NChQ7hz5w7y5MmDevXqoV69eihSpIjoeGSFWACtWGxsLLy9vbF//34uICYii7Z8+XI8f/4cI0eONMvr6fV6XLp0CUeOHMHx48eRkJCAihUrol69eqhVq9Y7I5AGgwEtWrTAnj17zJIvo54+fYrDhw/j0KFDuH//PvLlywcvLy94eXmhQIECouORFWABtGKTJk2Cp6cnmjVrJjoKWYn03rxAlBE3btzA0KFD8euvvwo7D89gMODy5cs4fPgwQkNDERcXh/Lly6NevXr48ssv8ezZM8ybNw9z5swRki+jHj16lFIIHz58iIIFC6YUwrx584qORxaIBdBKRUVFoUuXLtizZw/XglCqfOjmBSJT0mg0aN68OVauXGlRI1MGgwF///03Dh8+jOPHj+PGjRvInz8//Pz8ULt2bbi5uYmOmCERERE4dOgQDh8+jCdPnqBIkSLw8vJCvXr1kDt3btHxyAKwAFqpoUOHomXLlqhTp47oKGQFUm5eSNRBkpLPXXPA2TH1ORJIJjVs2DDUqFED3t7eoqN81MCBA/H1118jIiICx44dQ0xMDMqWLYt69eqhdu3ayJo1q+iIGXL37t2UQhgZGQkPD4+UNYQ5c374gyBnDWwXD4K2Qg8fPsSdO3dY/ijVImM1iNPoUn4tSUCcRofIWA0KZc/48RlE7/P777+nrFW2dOHh4Zg9ezbs7OzQp08fSJKEa9eu4fDhw/Dz80N0dDRKly6dUgizZ88uOnKaFC1aFEWLFkX37t0hSRJu376NQ4cOYeDAgYiKikKpUqXg5eWFOnXqpPzZOGtAyTgCaCF69+4NX19fVKlSRXQUshL/vXuVI4Bkas+fP0eHDh2wa9eudB3JYk46nQ6tW7fGrl27PvgYSZJw48YNHD58GEePHsWrV69QqlQp1K1bF3Xq1EGOHDnMmNi43v6zHTlyJOnPVrY89meuB41ewfcMG8URQCtz69YtxMXFsfxRmjg52mOxjyd6rDqFN/qkN/LFPp58IyeTkCQJ/v7+mDVrlsWXPwC4fv06ypQp89HHKBQKlC5dGqVLl0bv3r0hSRJu3ryJI0eOoH///njx4gVKliyJevXqoU6dOh+dVrU07/uz/XHqInbseJTyGM4ayBsLoAWYNGkSxo8fLzoGWaFaHjkx1OMFtA6Z0bVDa5Y/MpmFCxeiRo0aVvNB9cyZM/jss8/S9D0KhQKlSpVCqVKl0KtXL0iShPDwcBw+fBiDBg1CVFQUihcvnlII3d3dTZTe+BQKBb70rACXfc/eWTfs7prxe5LJ+rAACnbhwgVkypQJJUuWFB2FrNSThxFo0KAByx+ZzJUrV3DgwAFs27ZNdJRUO3v2LIYOHZqh51AoFChRogRKlCiBnj17QpIk3LlzB4cPH8bQoUMRGRmJ4sWLo27duqhbt67F78RNnjVIXgPIWQN5YwEUbPLkyQgKChIdg6xYREQEChUqJDoG2ag3b95gwIABWLdunVUdTn/37l2j36ahUChQvHhxFC9eHD/88AMkScLdu3dx5MgRDB8+HM+ePUPRokVRr1491K1bF3ny5Hnv84jchVvLIyfOjqnPXcDEAijS8ePHUbhwYRQsWFB0FLJiT58+tfiRB7JeI0aMwODBgz9YZixRYmIiHB0dTX6eqkKhQLFixVCsWDF069YNAHDv3j0cPnwYo0aNwtOnT1GoUKGUQpgvXz6L2IXr5GgvdM0fj6GxDCyAgkiShKlTp2LVqlWio5CVkyTJqkZmyHokX6FmbTcTXb58GRUrVhTy2kWKFEHXrl3RtWtXAMD9+/dx5MgRjB07Fo+eRiK8Qg8Y7BwAKBCfqINvcJisduFaQgGmJPypIci+fftQrVo15MqVS3QUsmKpOMWJKF2ePn2KwMBAzJgxQ3SUNEvPBhBTKVy4MLp06YIVK1ZgafBm6O0cISFpZPLtXbhyoNbq4RschvjEpPNLkwuwWqsXnEyeWAAFMBgMmD17NoYMGSI6Clm5V69eWd3htWT5DAYDevfujaCgIDg5OYmOk2Znz55FtWrVRMd4h7urCi4qB/x/ZlqCnV6DiBuXRcYym+TD65M/t8qtAFsaFkABQkJC0LhxYx6qTRnGDSBkCnPmzEGDBg1Qvnx50VHS5fHjx8iXL5/oGO9I3oXrrExafeWicsS8DpWwavlS9O3bFzExMYITmlZKAf7n1woF4KLiMTSicA2gmel0OixevBi7d+8WHYVsAAsgGdv58+cRGhqKLVu2iI6SLgkJCciUKZPoGB/0vl24TZctw9GjR9GmTRv06NEDHTp0MPkGFhGSC3DPNaeRoJV4DI1gHAE0s1WrVqFDhw4W/QZF1oMFkIwpPj4eQ4YMwcKFC622gFy4cMHiD6tO3oX7dvGpU6cO9u7di7t376J169YIDw8XmNB0annkxPQvFOiR+wHOjqnPDSACcQTQjNRqNTZs2IB9+/aJjkI2IiIiAl9//bXoGGQjhg4dilGjRln15jRLXf+XGkqlEqNGjcKdO3cwdOhQVKlSBcOHD4dKZVtTpE8ePkDFYvk48icYRwDNaOHChejZsyccHR1FRyEbERERwXMkySi2b98OFxcXNGjQQHSUDLHmApisWLFi2Lp1K8qUKYOmTZvi0KFDoiMZ1f3791G4cGHRMWSPBdBMYmNj8dtvv6F9+/aio5ANiY+Ph4uLi+gYZOUePnyIBQsWICAgQHSUDIuKikLOnNY/rahQKNC2bVts374dv/76K7p3747IyEjRsYyCS1csAwugmcyePRsDBw7kgb1EZFH0ej38/Pwwb948KJVK0XEy5PXr1zZ3ukKWLFkwZ84c+Pv7w8fHB0uXLoXBYBAdK0NevXqFrFmzio4he2wjJqbW6nEh/CFOnD6LJk2aiI5DNkSr1cLBgct4KWNmzpyJb775BqVKlRIdJcPCwsLg6ekpOoZJVKtWDb/99hs0Gg2aN2+Oy5et++xAa91kZEv408OE3r7yJlPV3vjr9gvueCKjefToEQoUKCA6Blmx06dP4+LFi1i/fr3oKEZhC+v/Psbe3h59+/aFt7c3hg0bhgIFCmD8+PFwdnYWHS3VdDodP7haCI4AmkjKlTeapCtv1HrwyhsyKq6joYyIjY3FyJEjMX/+fJsZjbHlEcC35cuXD+vWrUO9evXQokULqzpX9smTJxZ5SLccsQCaSMqVN//8mlfekLGxAFJGDBw4EBMmTLCpqwRtcQ3gxzRp0gS7d+/GiRMn0LFjRzx8+FB0pE+6f/8+37csBAugibzvzkdeeUPGxAJI6bVx40bkyZMHdevWFR3FaGxl929aZc6cGQEBARg/fjx69+6NwMBA6HQ60bE+KCIigkfAWAgWQBP5752PdrpEzPYuzYMvyWhYACk97t27h5UrV+LHH38UHcWowsLCbHr936eULVsWu3btQrZs2dCkSROcPn1adKT34gig5WABNKHkOx+PDvNCUD0n/LVtpehIZEOePHmCPHnyiI5BVkSn08HPzw8LFiywuQPpz5w5I+sCCCTtrO3atSs2btyIpUuXok+fPoiOjhYd6184Amg5WABNLPnOxxZNm+Ds2bM2c5AniWcwGGBvzxFlSr2AgAB07twZxYsXFx3F6M6fP4/KlSuLjmERcuTIgaVLl6Jjx45o27YtNmzYAEmSPv2NZvD48WPkzZtXdAwCC6DZKBQKjBkzxiZO2ifxJEmymDd0sg6hoaG4ffs2fHx8REcxiTdv3iBz5syiY1iU2rVrY+/evbh//z5at26NW7duiY7ED64WhAXQjGrUqIEnT57g3r17oqOQlYuJiUG2bNlExyArERMTg3HjxmHu3Lk2c+TL2x4/fsyjRT5AqVRi5MiRCAwMxMiRIzFp0iRoNGJOo+CHVsvCAmhmEyZMwMSJE0XHICvHDSCUWpIkoW/fvvjpp5/g5uYmOo5J2PoB0MZQtGhRhISEoGzZsmjatCn+/PNPs2eIjo7mB1cLwgJoZuXKlYNCobD6a3xILBZASq21a9eiRIkSqFmzpugoJnPmzBl89tlnomNYPIVCgbZt22L79u3YuXMnunbtatZ16dwBbFlYAAWYMGECJk2aJDoGWTEWQEqN8PBwbNy4EaNHjxYdxaQuX76MChUqiI5hNbJkyYKgoCD069cP3333HZYsWQKDwWDy1+UOYMvCAihA4cKFUaBAARw/flx0FLJSERERKFiwoOgYZMG0Wi369OmDhQsX2vTdq5IkQavVQqlUio5idTw9PbF3714kJiaiWbNmuHTpkklf7/79+yyAFoQFUJDRo0dj6tSpXBRL6cIRQPqUCRMm4IcffrD5H7j37t1DkSJFRMewWvb29ujbty+WL1+OGTNmYNiwYYiPjzfJa3EK2LKwAAqSK1cufP7559izZ4/oKGSF5HbnKaXN4cOHERkZifbt24uOYnLcAGIc+fLlQ3BwML7++mu0aNECO3fuNPpr8IOrZWEBFGjQoEEICgqCXq8XHYWIbMTLly8xadIkBAUFiY5iFtwAYlyNGzfGnj17cPr0aXTo0AEPHjww2nPzrEbLwgIokKurK7755hts2LBBdBSyIjqdjgep0ntJkgR/f39Mnz4dLi4uouOYxbVr11C6dGnRMWxKpkyZ8NNPP+HHH3+En58fZs+eDZ1OJzoWGRkLoGC9evXCihUrhB3MSdbnyZMnyJ8/v+gYZIGWLVuGKlWqyGZEzGAwQJIkm97kIlKZMmWwa9cu5MiRA02aNMHJkyfT/VxqtRoqlcqI6SijWAAFU6lU6NatG5YsWSI6ClkJrqOh97l+/Tp27tyJYcOGiY5iNrdu3UKJEiVEx7BpCoUC33//PTZu3IgVK1bA398fr169SvPzPHz4kCcXWBgWQAvQuXNn7NixA7GxsaKjkBVgAaT/0mg06NevHxYtWgQ7O/m8rXP9n/nkyJEDS5YsQefOndGuXTusX78+TadYcAew5ZHPO4UFs7e3x8CBAxEYGCg6ClkBFkD6rzFjxqBPnz6yWxpw9uxZFkAz+/LLL7F37148ePAArVq1wq1bt1L1fTwE2vKwAFqIZs2a4dSpU3j+/LnoKGThWADpbQcOHEBCQgJatWolOorZhYeHo3jx4qJjyI5SqcSIESMQFBSEkSNHYuLEiZ9cx85DoC0PC6CFUCgUGDVqFKZOnSo6Clm4R48eIV++fKJjkAWIjIzEtGnT8PPPP4uOYnY6nQ52dnaymvK2NEWLFkVISAjKly+PJk2a4I8//vjgY/nB1fLwb44F+fLLLxEREYH79++LjkIWTK/Xc9cjQZKklCM65Hi22tWrV1G2bFnRMWRPoVCgTZs22LFjB3bv3o3vv/8ez549e+dxz58/R86cOQUkpA9hAbQwEyZMwKRJk0THICILN3/+fNSuXRuVK1cWHUUIbgCxLK6urggMDMSAAQPQpUsXLF68GAaDAQCg1uqR6OgKjc4gOCW9jQXQwlSoUAEGgwF///236ChkgV6/fg1XV1fRMUiwy5cv448//kD//v1FRxGGV8BZpqpVq2Lv3r3Q6XRo1qwZ1uw/hWoBB3Gj1LeoFnAQoeFRoiPSP1gALdD48eMxceJE0THICNRaPSJeJkCtNc51fw8ePOA6Gpl78+YNBg0aJLsjX/6Lx4pYLnt7e/Tp0wcLlyzDxD8fI06tBQDEJ+rgGxxmtPdDyhj5vntYsKJFiyJv3rw4ceKE6CiUAaHhUagWcBB1Zh4y2idfLqSmESNGYPDgwcidO7foKMJoNBqoVCooFArRUegj7JyzQW+nBP759yRJQJxGh8hY3nxlCVgALdSYMWMQEBCQpoM2yXKoNVr4rjyJ+ORPvhoteqw+jWdRLzP0vCyA8rZ7924oFAo0bdpUdBShLl26hIoVK4qOQZ/g7qqCi8oByTVdoQBcVA5wd+WVcJaAWwktlLu7Ozw9PbFv3z40adJEdBxKLUkC9u1D5E8/I67OYCS/80lQ4I1OQp+ho6F58QgA4ObmBg8PDxQvXhweHh7w8PBAzpw5Pzqqcff+AxSt8BnUWj2cHO3N8SciC/HkyRMEBQVh9+7doqMIxw0g1sHJ0R6LfTzhGxyGOI0OzkoHLPbx5HuXhVBIqRhiev36Ndzc3BATE4MsWbKYIxch6Z97mzZtsH//flmv9bEaoaHAqFHAsWNQ16mHanWGIl6f1AkVCsBZ6YCzY+qnvPlFR0fj9u3bCA8PT/m/5IPAnZ2dU0ph8v/djnPA98uOQ2+nhIsq6Y20lgePVZADg8EAb29vBAQEoFy5cqLjCNe9e3dMmTIFefLkER2FUkGt1eObjl2wY+Malj8TS0tf4wigBcuSJQuaNWuGjRs3onPnzqLj0IdcvAiMGQPs2QNUrgzs3Qunxo2x+PaLj37yzZo1Kzw9PeHp6fnOU8bFxeH27du4ffs2Tpw4gVVr1+FQ1kYw2DkC+P9i6rcLJdmuwMBANGrUiOXvH0+fPmX5syJOjvZQaWP5XmVhWAAtXO/evdG0aVO0bdsWSqVSdBx6261bwIQJwIYNQIkSwMaNQLt2wD+jtbU8cuLsmPqIjNXA3VWVpjc/FxcXVKpUCZUqVQIARLxMwB8zD6X8/tuLqQtll98hwHJy7tw5nDx5Eps3bxYdxSLEx8fL8uBra2dvbw+dTsdD7C0I5xUtnJOTE77//nssW7ZMdBRK9ugR4OsLlCkDHD0KLFkC/P030KFDSvlL5uRoj0LZM2f4k2/KYup/lgdyMbU8xMfHY+jQoVi4cCF3vP7j/PnzqFq1qugYlEbu7u68697CsABaAR8fH2zbtg1xcXGio8jbixfAsGGAhwewdSswYwYQHg707Ak4Opr0pZMXUzsrkz49czG1PAwePBijR4/mFVpv4QHQ1ilv3rx48uSJ6Bj0Fo7FWgF7e3v069cPc+bMwZgxY0THkZ/YWCAwEPj556S51xEjgMGDATNviMrIlDJZn61bt8LNzQ3169cXHcWinD17Fl26dBEdg9IoT548ePr0qegY9BYWQCvRsmVLLFq0CC9evECOHDlEx5EHtRpYtAiYMgV4/Rro0wcYORLIlUtYpOQpZbJtDx48wOLFi3nky3u8fPkS2bNnFx2D0ogF0PJwCthKKBQKjBo1ClOnThUdxfbpdMDy5UDJksDQocA33yRt+Jg1S2j5I3nQ6/Xw8/PDvHnzuPHrP6Kjo+Hm5iY6BqUDC6DlYQG0InXq1MGdO3fw4MED0VFsk8EAbNkClC8P9OgB1KwJXL0KLF0KFCwoOh3JxPTp0+Ht7Y2SJUuKjmJxwsLCuP7PSnENoOVhAbQyEyZMwKRJk0THsC3/3N6Bzz4D2rcHihUDzp1LOtaFP4TJjE6dOoW///4b3bp1Ex3FInEDiPXKnTs3RwAtDAuglalUqRISExNx7do10VFsw19/AfXqAU2aAJkyJR3rsncvUKWK6GQkM7GxsRg1ahTmzZvHI18+ICwsjEfAWCknJydoNBrRMegtLIBWaMKECZg4caLoGNbt0iWgRQugVi0gJgbYvRs4dgyoXVt0MpIZtVaPiJcJ6NN/IH788Udky5ZNdCSLFRcXB1dXV9ExiGwCC6AVKlasGHLmzIlTp06JjmJ9wsOBb79NurLt+vWkWzzOnQOaNQM46kJmFhoehWoBB1Fn5iGcyNMS9vnKio5ksZ4/f45c3IRFZDQsgFZq7Nix+OmnnyBJkugo1uHRI6B376TbO44cSTre5epVoGPHd27vIDIHtVYP3+AwxGt0AACdwgG+wWFQa/WCk1mms2fP4rPPPhMdgzLAxcWFFxpYEP7ks1J58uRB5cqV8fvvv4uOYtlevACGD0+6vSMkBJg2LelIl169TH57B9HHRMZqEKfRIfkj3Nv3O9O7zpw5ww0gVo5HwVgWFkArNnToUPz8888wGAyio1ieuDhg8uSkHb0LFyaVwDt3gCFDkjZ7EAmWfL8z/hnF5/3OH3fhwgVUqlRJdAzKABZAy8ICaMXc3NzQqFEjbNmyRXQUy6HRAHPmJBW/n34CundPKn4TJ5r96jaij0m+39nOoAXA+50/RpIkqNVqZOKHN6vGAmhZeBWclevTpw+aNm0Kb29vOMp5SlOnA9auBX78EXj4EOjWDRg/HihUSHQyog+qWTwHSl1dicVrNvJ+54949OgRChQoIDoGZVDevHlx/fp10THoHxwBtHJOTk7w8fHB8uXLRUcRQ5KS1vZVqJA02vf550mbO5YtY/kji/fs2TPky50LhbJnZvn7CB4AbRs4AmhZWABtQJcuXbBlyxYkJCSIjmI+kgQcOJB0e0e7dkCRIkBYGLB5M1CqlOh0RKly8eJFVKxYUXQMi3fmzBnuALYBLICWhQXQBjg4OKBv376YM2eO6CjmceIE4OUFNGoEqFRJx7r89hvAGwLIyly6dIkbG1LhypUrKF++vOgYlEE5cuRAVFSU6Bj0DxZAG9GqVSscOXIEL1++FB3FdC5fBlq2BGrWBF69AnbtAo4fB+rUEZ2MKF0uXbqEChUqiI5h0SRJgk6nk/caZxthZ2fHs2stCAugjVAoFBgxYgSmT58uOorx3b4N+PgAlSolre9bvx44fx5o3py3d5BVe/nyJXLkyCE6hkW7fjMcuYuX4wHZREbGAmhDvLy8cPPmTTx8+FB0FON4/Bjw8wNKlwYOHUo6z+/aNaBTJ97eQVYvMTGRo1qfEBoehVZrbuBP57qoFnAQoeGcPrR2dnZ20OtZ5i0Bf4ramPHjx2Py5MmiY2TMy5fAiBFJt3ds3gxMmZJ0h6+vL2/vIJtx/fp1lClTRnQMi5V8VZ7mn64Qn6jjVXk2IGfOnHjx4oXoGAQWQJtTpUoVJCQk4MaNG6KjpF1cXNLhzUWLAvPnA0OHJh3iPGwYb+8gm3Px4kVuAPmI5Kvykpd58Ko825AnTx48efJEdAwCC6BNmjBhAiZOnCg6RuppNMAvvwDFiydd39atW1LxmzQJcHMTnY7IJC5dusQjYD4i+aq85GW+vCrPNuTNm5dHwVgIFkAb5OHhgaxZs+LMmTOio3ycXg+sWpV0bt+gQUmbOm7eBIKCAHd30emITOrmzZsoWbKk6BgWK/mqPGdl0oVVvCrPNvAsQMvBq+Bs1Lhx49C7d2/s2LFDdJR3SRKwbRswblzSpo62bYF9+5I2exDJhE6ng4MD34I/ppZHTpwdUx+RsRpelWcj8uTJg+PHj4uOQeAIoM3KmzcvypUrh4MHD4qO8n+SBPz+O1C9elLpK1gQOHsW2LKF5Y9k5dmzZ3DnKHeqODna86o8G8I1gJaDBdCGDR8+HDNnzrSMgzdPngS++gpo2BBwcEg61mX/fsDTU3QyIrPj+j+SK04BWw4WQBuWNWtW1K9fHyEhIeJCXLkCfPMNUKMG8OIFsHMn8NdfQL164jIRCcYr4EiunJ2d5XVvvQVjAbRxffv2xcKFC6HVas37wnfuAN99B1SsmFQCg4OBCxeAFi14ewfJHq+AIyLRWABtXKZMmdCpUyesWrXKPC/45Ang75+0s/ePP4AFC4Dr14Fvv+XtHUT/iIqKQq5cuUTHIBLCIpYlEQugHHTr1g0bN2407bD7y5fAyJFJZ/lt3AgEBCTd3tG7N2/vIHqLVqvl7l+StUyZMnEa2AKwAMqAg4MD/Pz8MG/ePOM/eVxcUtkrVgyYNw8YPDhp+nf4cCBzZuO/HpGVu3HjBkpz1zvJWN68efHs2TPRMWSPBVAm2rRpgz/++AOvXr0yzhNqNMDcuUkjfpMmAd9/D9y+nXSVW9asxnkNIht09vxFFCxTmXfakmxxJ7BlYAGUCYVCgeHDh2PGjBkZeyK9Hli9OmmN38CBQNOmSbd3zJkD5M5tlKxEtio0PAo//e2Cn29kQbWAgwgNjxIdicjseBagZWABlJGvv/4aV69exePHj9P+zcm3d1SoAHTtClSrlrS7d+VKoHBho2clsjVqrR6+wWHQKZIONI5P1ME3OIwjgSQ7HAG0DCyAMjNu3DhMnjw5bd908CDw+edAmzZAgQLAmTNASAhQpoxpQhLZoMhYDeI0OgBJxyBJEhCn0SEyViM2GJGZ5c2blwXQArAAyky1atUQExODW7duffrBp04BX38NNGiQdITLn38CBw4kjf4RUZq4u6rgonJIOQZToQBcVA5wd1WJDUZkZhwBtAwsgDL0448/YuLEiR9+wJUrQKtWwBdfAJGRwI4dwIkTgJeX2TIS2RonR3ss9vGEszLpCBhnpQMW+3jyjluSnVy5ciEyMlJ0DNnjYVQyVLJkSbi4uODE6bPI71EW7q6qpB9Cd+8CEyYk3dpRpAiwdi3QqRNgzx9QRMZQyyMnzo6pj8hYzf//3hHJjL29PfR6rn0VjQVQppp0HYhvQ67BYP8MLko7LI4+iVoLpwI5ciSd59ejB6BUio5JZHOcHO1RKDvPyCR5U/BKUOE4BSxDaq0eY/bdh8Eu6YaOeLUOvg7loZ70U9LtHf7+LH9ERGQyCoUCBoNBdAxZYwGUoZTdiP98ApPs7BCnzIzIXn0BZ2fB6YiIyNZlz54dL1++FB1D1lgAZShpN6I9ICV9+uJuRCIiMifuBBaPBVCGnBztUTn2DJwckv71czciERGZEwugeNwEIkNHjx5F5tgHuDBtNHcjEhGR2fEwaPFYAGUmLi4OP/74I3799VfuRiQiIiHy5MmDU6dOiY4ha5wClpkRI0Zg7NixyJIli+goREQkU5wCFo8FUEZ+//132NnZ4auvvhIdhYiIZIwFUDxOActETEwMpk6dil27domOQkREMufq6orY2FjRMWSNI4AyMWTIEEyePBnOPOePiIgE400g4rEAysDu3buRNWtW1KpVS3QUIiIiAIAkSaIjyBqngG3cixcvEBgYiD179oiOQkRElEKpVEKj0UCl4iUEInAE0MYNGjQI06ZNg5OTk+goREREKfLkyYNnz56JjiFbLIA2LCQkBIUKFcJnn30mOgoREdG/8DBosTgFbKMiIyOxePFiTv0SEZFFypMnD548eSI6hmxxBNAGSZKE/v374+eff4ZSqRQdh4iI6B08C1AsFkAbtG7dOpQvXx6VKlUSHYWIiOi9sufKjVuPX0Kt1YuOIkssgDbm0aNHWLt2LUaOHCk6ChER0XuFhkeh594ohCRWRLWAgwgNjxIdSXZYAG2IJEno168fgoKC4ODA5Z1ERGR51Fo9fIPDkKA1AADiE3XwDQ7jSKCZsQDakOXLl6NmzZooU6aM6ChERETvFRmrQZxGh+RzoCUJiNPoEBmrERtMZjhMZCPu37+Pbdu28a5fIiKyaO6uKrioHBCfmFQCFZDgrHKEuysPhDYnjgDaAIPBgH79+uGXX36Bvb296DhEREQf5ORoj8U+nnBWJo1BKfRaLPbxhJMjf36ZEwugDViwYAEaNmwIDw8P0VGIiIg+qZZHTpwdUx9Hh3mhdtQe5FHEiI4kOyyAVi48PBwHDhyAv7+/6ChERESp5uRoj0LZM6NP715YtGiR6DiywwJoxfR6Pfr374+5c+fCzo7/KomIyPp89tlnuHTpEt68eSM6iqywNVixwMBAeHt7o3DhwqKjEBERpYtCoUCHDh2wZcsW0VFkhQXQSl29ehV//fUXfvjhB9FRiIiIMqRjx47YsGGD6BiywgJohXQ6HQYNGoR58+ZBoVCIjkNERJQhmTNnRunSpXHu3DnRUWSDBdAKTZs2Dd999x3y5csnOgoREZFR9O7dm5tBzIgF0MpcvHgRV65cwbfffis6ChERkdGUKlUKz549Q3R0tOgossACaEUSExMxdOhQ/PLLL5z6JSIim9O1a1esXr1adAxZYAG0IpMmTYKvry/c3d1FRyEiIjK6Fi1aYNeuXZCSLwomk2EBtBJnzpxBREQE2rZtKzoKERGRSTg4OKBOnTo4dOiQ6Cg2jwXQCrx58wYjR45EUFCQ6ChEREQm1aNHDyxdulR0DJvHAmgFxo0bh0GDBiF79uyioxAREZlUvnz5oFAo8OjRI9FRbBoLoIU7fvw4oqOj0bx5c9FRiIiIzKJnz54cBTQxFkALFh8fj/Hjx2PWrFmioxAREZlNvXr1EBoaCq1WKzqKzWIBtGAjR47EqFGj4ObmJjoKERGR2SgUCrRs2RI7d+4UHcVmsQBaqD/++AMGgwENGjQQHYWIiMjsunTpwjMBTchBdAD6N7VWjzuPozB5yjTs3rFddBwiIiIh3NzckDdvXly/fh2lS5cWHcfmcATQgoSGR6FawEE0XXQWz2oOxMWnatGRiIiIhPHz8+P9wCbCAmgh1Fo9fIPDEK/RJf1aD/gGh0Gt1QtORkREJEblypVx8+ZNxMfHi45ic1gALURkrAZxGh2SL7+RJCBOo0NkrEZoLiIiIpE6d+6MDRs2iI5hc1gALYS7qwouKvuk5gdAoQBcVA5wd1UJTkZERCRO27ZtsWXLFt4PbGQsgBbCydEefSoq4agwAACclQ5Y7OMJJ0d7wcmIiIjEcXJyQuXKlXH69GnRUWwKdwFbkPg75zD/66ooXfULuLuqWP6IiIgA+Pr6YvLkyfj8889FR7EZHAG0IGfOnMEX1auhUPbMLH9ERET/KFasGF6/fo2oqCjRUWwGC6AFiY2NRZYsWUTHICIyCrVWj4iXCTzNgIyiW7duWLlypegYNoMF0EI8ffoUuXPnFh2DiMgoks81rTPzEKoFHERoOEduKGOaNGmC/fv3w2AwiI5iE1gALcSZM2dQvXp10TGIiDIs5VzTxKRzTeMTdTzXlDLM3t4e9evXx4EDB0RHsQksgBbi9OnTLIBEZBNSzjX959QOnmtKxtK9e3csX75cdAybwAJoIS5duoQKFSqIjkFElGFJ55o68FxTMjp3d3dkypQJ9+/fFx3F6rEAWgBJkqDT6aBUKkVHISLKMCdHeyz28YQDkqaAea4pGZOvry+WLFkiOobVYwG0AOHh4ShRooToGERERlPLIyda6k9gReuCODumPmp55BQdiWxEzZo1cebMGWg0XFKQESyAFoDr/4jIFmV1dYYL1Bz5I6NSKBRo06YNtm3bJjqKVWMBtACnTp1iASQim+Pq6orY2FjRMcgGffvtt1i3bp3oGFaNBdAChIeHo3jx4qJjEBEZlaurK+Li4kTHIBvk4uKCIkWK4PLly6KjWC0WQMESExPh6OgIhUIhOgoRkVFxBJBMyc/PDwsXLhQdw2qxAAp26dIlVKpUSXQMIiKjYwEkUypXrhwiIiLw+vVr0VGsEgugYNwAQkS2igWQTO27775DcHCw6BhWiQVQMBZAIrJVLIBkaq1bt8b27dshJV87Q6nGAijY8+fP4e7uLjoGEZHRsQCSqSmVSnzxxRc4fvy46ChWhwVQoJiYGGTJkkV0DCIik2ABJHPo1asXFi9eLDqG1WEBFOjs2bOoVq2a6BhERCbBAkjmULBgQSQmJuLZs2eio1gVFkCBuP6PiGyZk5MT1Gq16BgkAz169MDy5ctFx7AqLIAChYWFoWrVqqJjEBGZBM83JXOpX78+/vzzT+j1etFRrAYLoEAJCQlwdnYWHYOIiMiq2dnZoUmTJtizZ4/oKFaDBVCQR48eIX/+/KJjEBER2YSuXbti5cqVomNYDRZAQbj+j4iIyHhy5MiBbNmy4fbt26KjWAUWQEFYAImIiIzLz88PixYtEh3DKrAACvL333+jXLlyomMQEZmUg4MDtFqt6BgkE5999hkuXbqEN2/eiI5i8VgABTAYDDAYDHBwcBAdhYjIpHgWIJlbhw4dsHnzZtExLB4LoADXr19H6dKlRccgIjI5FxcXFkAyq44dO2Ljxo2iY1g8FkABuP6PiOSCI4BkbpkzZ0aZMmUQFhYmOopFYwEUgAWQiOSCBZBE6N27NzeDfAILoAD37t1D4cKFRccgIjI5FkASoWTJkoiMjMSrV69ER7FYLIBmplaroVKpeEUSEckCCyCJ0rVrV6xZs0Z0DIvFAmhmFy5cQJUqVUTHICIyCxZAEqVFixbYtWsXJEkSHcUisQCaGdf/EZGcsACSKA4ODqhTpw7+/PNP0VEsEgugmbEAEpGcsACSSD169MCyZctEx7BILIBm9vLlS2TPnl10DCIis2ABJJHy5csHhUKBR48eiY5icVgAzejly5fIli2b6BhERGbDAkii9erVC0uXLhUdw+KwAJrRmTNnOP1LRLLCAkii1a1bF8ePH+ed1P/BAmhGXP9HRHLDAkiiKRQKfPPNN9i5c6foKBaFBdCMzp8/j8qVK4uOQURkNkqlkiMvJFyXLl2wevVq0TEsCgugmUiSBLVajUyZMomOQkRkVjz4nkRzc3ND3rx5ce3aNdFRLAYLoJlERETw+jciIiJB/Pz8eD/wW1gAzeT06dP4/PPPRccgIiKSpcqVK+PWrVuIj48XHcUisACaCTeAEBERidW5c2ds2LBBdAyLwAJoJteuXUOpUqVExyAiEoL3sZIlaNu2LbZs2cL/HsECaBY6nQ4KhQL29vaioxARmZ1KpYJGoxEdgwhOTk6oXLkyTp06JTqKcCyAZnD16lWUK1dOdAwiIiF4FiBZEl9fXyxYvBQRLxOg1upFxxGGBdAMuP6PiOTM2AVQrdXL/oc3pd8TQxYcz9UcdWYeQrWAgwgNjxIdSQgWQDNgASQiOTNmAQwNj0K1gIOy/+FN6aPW6uEbHAbJ3hEAEJ+og29wmCw/TLAAmsHDhw+RP39+0TGIiIQwVgFUJ+rQc81pxGmSbhaJ12jRa+0ZqBN1GX5ukofIWA3iNDpISDqcXJKAOI0OkbHyW6PqIDqArYuPj0fmzJl5Ej4RyVZ6C6BOp8PFixdx7NgxhIaG4mWiHRLKdgGSf3hDgfhEA1p0+A7O0huUK1cOVatWRdWqVVGkSBG+79I73F1VUNkZoDEoACigUADOSge4u6pERzM7FkATO3/+PDw9PUXHICISJrUFUK1W4/Tp0zh27BjOnDkDnU6HSpUqoU6dOujevTuUmZxRLeAg4jU6SEDKD+9dm4NhDwOuXr2KsLAwzJo1C3fv3oWdnR1Kly6NqlWrwtPTEx4eHrCz48SXnL18/gy5bvyK6PLtEKfRw1npgMU+nnBylN8pHSyAJnbq1Cmu/yMiWXNydsX9yGiotfp//aCNiYnBX3/9hWPHjuHixYtwdHRE9erVUadOHQwZMgROTk7vPNdiH0/8sOok1HrFf35426NSpUqoVKkSunfvDgDQ6/W4ceMGwsLCsHDhQty6dQsA4OHhkTJSWLp0aTg48EehHEiShP79+2PJpEkoVqIUImM1cHdVybL8AYBCSsVpiK9fv4abmxtiYmKQJUsWc+SyGR07dsTixYvh5uYmOgoRkdmFhkfhh1WnoNYDzko7+BRR4+mFw7h58yZcXV1Rq1Yt1K5dGxUrVkx1EVuxei00dk7o1tE7zT+8DQYDbt++jXPnziEsLAzXr1+HXq9HkSJFUkphuXLloFQq0/PHJQu2Zs0aPH78GCNHjhQdxWTS0tf4scfEkv9lEBHJTfKOS80/GyzjNXqsuuWAkF69Ub5s6XSv0UuIjUHJkrnTNXJjZ2eHEiVKoESJEujQoQOApJGh+/fv49y5cwgJCcHEiRORmJiIAgUKpJTCChUqIFOmTOnKS+I9fvwY69atw549e0RHsRgsgCYUGRmJXLlyiY5BRCRE8o7LFAoFNJICbnkLZ2iDRkxMjFE/WCsUChQpUgRFihSBt7c3gKRS+PjxY5w7dw579+7FtGnToFarkTt37pRSWKlSJbi4uHz0udVaveynGkVLnvoNDAzkdP9b+E/ChM6cOcP1f0QkW+6uKrioHBCfqIMkwWg7Lo1dAN9HoVAgf/78yJ8/P1q0aJHy9WfPnuH8+fM4cuQI5syZg7i4OGTPnj2lFFauXBlZs2YFkDT97RschjiNDi6qpPWKtTxymjQ3vWvNmjWoVq0aypYtKzqKRWEBNKHTp0+jefPmomMQEQnh5GiPxT6eKSXIWDsuo6OjhS2tyZ07Nxo3bozGjRunfO3ly5c4f/48zpw5g8WLFyMmJgbOWdxwoWgn6JD0Z00+cPjsmPocCTSjR48eYf369Zz6fQ8WQBO6ePEiRo8eLToGEZEwtTxy4uyY+kadBo2JiUkZZbME2bNnx9dff42vv/465WtX7z9D00VnU3799oHDhbJnFhFTdjj1+3E8EMlEJEmCVquFSiW/wyWJiN7m5GiPQtkzG23kS61Wv/eIGEtSLF9OuKgckLzUUaEAXFTyPHBYlDVr1uCzzz7j1O8HsACayO3bt1G8eHHRMYiIbI4kSRZ/y0fy9LezMmnkSc4HDouQPPU7dOhQ0VEsFsdETeT06dPcAEJEJGOmmP6mT+PUb+pwBNBEWACJiMjY09/0aatXr0b16tU59fsJrMYmcuvWLXh4eIiOQUREJBuPHj3Chg0buOs3FTgCaAJarRb29va8dJyIyMi0Wi2n9ei9OPWbNmwoJnD58mVUrFhRdAwiIptjjkOgyTpx6jdtWJFNgOv/iIhMw9LOACTL8OjRI2zcuBG7d+8WHcVqcATQBFgAiYhMgyOA9F+c+k0fFkATePbsGfLkySM6BhGRzRF5DRxZpuSp3zJlyoiOYlVYlY3s9evXcHFxER2DiMgmcQSQ3sap3/TjCKCRhYWFoVq1aqJjEBHZJK4BpGSSJKFfv36c+k0nFkAj4/o/IiLT4QggJVu1ahW++OILTv2mEwugkYWFhcHT01N0DCIim8Q1gAQADx8+xKZNmzBkyBDRUawWC6CRxcXFcQ0gEZGJcAqY3t71a2/PK/bSiwXQiB4/foy8efOKjkFEZLM4BUyc+jUOrpo0ojNnznD9HxGRCbEAylvy1C/v+s04jgAaETeAEBGZVmJiIpRKpegYJEDy1G9QUBCnfo2ABdCILl++jPLly4uOQUREZHNWrVqFGjVqoHTp0qKj2AROARuJwWCAXq+Ho6Oj6ChERDZLoVCIjkACcOrX+DgCaCQ3b95EqVKlRMcgIrJpkiSJjkBmxqlf02ABNBKu/yMiIjK+lStXcurXBFgAjYQFkIjItNRqNZycnETHIDN6+PAhNm/ejMGDB4uOYnNYAI3kzp07KFq0qOgYREQ2i0fAyAunfk2LBdAINBoNlEolFycTEZkQC6C8cOrXtLgL2AguXryIypUri45BRGTTeA+wfDx48ACbN2/mrl8T4gigEZw+fRqff/656BhERDaN9wDLA6d+zYMFMIPUWj2OhP2NilU8RUchIrJpnAKWh5UrV6JWrVqc+jUxFsAMCA2PQrWAgziTpzkaLTqP0PAo0ZGIiGwWp4BtX/LU76BBg0RHsXksgOmk1urhGxyGeI0OABCfqINvcBjUWr3gZEREtokjgLaNU7/mxQKYTpGxGsRpdEg+k16SgDiNDpGxGqG5iIhsFdcA2rYVK1Zw6teMuAs4ndxdVXBROSBOrQUUCigUgLPSAe6uKtHRiIhsEkcAbdeDBw8QEhKC3bt3i44iGxwBTCcnR3vM61ARdoZEAEnlb7GPJ5wcOWxNRGQKXANomzj1KwZHADMg7nYY+uZ/hLbf/QB3VxXLHxGRCb1+/RpZsmQRHYOMLHnqt1SpUqKjyAoLYAZs3boVkydPRoHsmUVHISKyeXq9Hg4O/LFlSzj1Kw6ngNMpMTERkZGRKFCggOgoREREVodTv2KxAKbTH3/8gfr164uOQUREZJVWrFiBL7/8klO/grAAptPWrVvRpk0b0TGIiIisTvLU78CBA0VHkS0WwHTQarV4/PgxChUqJDoKEZEsSJIEhUIhOgYZAad+LQMLYDocOnQIXl5eomMQEclGQkICMmfmhjtbsHz5ck79WgAWwHQICQlB27ZtRccgIpINngFoGyIiIrB161ZO/VoAFsA00ul0ePDgAYoWLSo6ChGRbPAaOOvHqV/LwgKYRkeOHEHdunVFxyAikhVeA2f9li9fjtq1a3Pq10LwRM00CgkJwZAhQ0THICKSFRZA65Y89csDny0HRwDTQK/X4+7du/Dw8BAdhYhIVrgG0HolT/3OmTOHU78WhAUwDY4dO4batWuLjkE2Sq3VI+JlAtRavegoRBaHawCt17Jly1CnTh2ULFlSdBR6C6eA0yAkJAT9+vUTHYNsUGh4FHyDwxCn0cFF5YDFPp6o5ZFTdCwiixETE4Ny5cqJjkFpFBERgW3btnHq1wJxBDCVDAYDbt26xcWrZHRqrR6+wWGIT9QBAOITdfANDuNIINFbuAbQ+nDq17KxAKZSaGgoatWqJToG2aDHr+IRp9FBkpJ+LUlAnEaHyFiN2GBEFoRrAK0Pp34tGwtgKvHwZzK2xMRErFixAj90bgulwoDkS64UAFxUDnB3VYmMR2RRuAbQukRERGD79u0YMGCA6Cj0ASyAqWAwGHDt2jWULVtWdBSyARqNBgsXLkSTJk0gSRL2792Nld1rwFn1z5JcnRoLv60CJ0dOmRAli4uLg4uLi+gYlAo88Nk6sACmwsmTJ1GjRg3RMcjKJSQkYM6cOWjWrBlcXFywf/9+/PDDD1AqlajlkRNnx9THJp/SyH5kJq4d+lV0XCKLYjAYYGfHH1nWgFO/1oF/m1KB07+UEXFxcZg5cya++eYb5MmTB/v378d3330HB4d/b8J3crTH5+WKw6NoYWzYsAGPHz8WlJiIKH049Ws9WAA/QZIkXL58GeXLlxcdhaxMTEwMAgIC0KZNG3h4eGD//v3o0KHDJ6dE/P39UapUKQwePNhMSYmIMo5Tv9aFBfATTp8+jerVq0OhUHz6wUQAXr58ifHjx6Njx46oXLky9u3bh9atW6d6+qpOnTq4ffs2PDw8sHXrVhOnJSIyjqVLl6Ju3bqc+rUSPAj6E0JCQvDtt9+KjkFWIDIyErNnz8aVK1cwYMAATJw4MV0fHBQKBdq2bQsnJycsWLAAX331FbJly2aCxETWwWAw8EO4hbt//z5+/fVX7Nq1S3QUSiWOAH6EJEm4cOECKlWqJDoKWbAnT55g8ODB6NWrF5o2bYrdu3ejQYMGGfqB9e2332LTpk2YPHkyRo4cacS0RNYnNjYWrq6uomPQB0iShAEDBnDq18pwBPAjzp07B09PT37ypPd68OABZsyYgSdPnmDIkCFG3Snu4uKCUqVKQaVSQalU4tChQ/Dy8jLa8xNZE54BaNk49WudWAA/YsuWLWjXrp3oGGRh7ty5g2nTpiEmJgbDhw+Hp6enSV7H398f06ZNQ1BQEFq1aoUvvvgCmTJlMslrEVkyXgNnuTj1a704BfwBkiQhLCwMVatWFR2FLMSNGzfQrVs3jBs3Dn379sWmTZtMVv4AoESJEnj58iUSExMxaNAgTJw40WSvRWTJeA2cZeJdv9aNI4AfcPHiRVSuXJnTv4QrV65g+vTpsLe3x4gRI1CmTBmzvXaPHj2wfPlyDB8+HJs2bcL58+dRpUoVs70+kSXgCKBlWrp0Kby8vFCiRAnRUSgdWAA/YMuWLTz8WebOnz+PGTNmwMXFBRMmTICHh4fZMzRu3BizZ8/GkCFDMGvWLPj4+GDv3r3vHCJNZMu4BtDycOrX+nEK+D0kSUo5/4/k5/Tp02jXrh2WLVuGadOmYenSpULKHwDY29ujadOm2LNnD9zd3eHj44PAwEAhWYhE4QigZeHUr21gAXyPK1euoEKFCpz+lZnjx4+jdevWWL9+PYKCgjB//nwULlxYdCx069YNK1asAAB89913CA0NRXh4uOBURObDNYCWZcmSJZz6tQGcR3oPTv/KhyRJ+PPPPxEYGIiyZcti0aJFyJ07t+hY/5I9e3a4u7vj+vXrKF26NAIDAzFgwADs2LGDH1JIFjgFbDnu37+PHTt2YPfu3aKjUAZxBPA9Tp48iS+++EJ0DDIhSZLw22+/oVmzZjh06BBWrVqFGTNmWFz5S+bv748FCxYAAIoWLYp69eph5cqVglMRmQengMVTa/W4/yIefQcMwpw5c1J9tSVZLo4A/sfVq1dRpkwZ/sdtoyRJws6dO7FgwQJ8+eWXWL9+vVWMLFSuXBm3b99OuRFhwIABaNq0KZo2bYo8efKIjkdkUiyAYoWGR8E3OAxxGh2UZbsiUpENnPy1fmw5/xESEsLpXxtkMBiwZcsWNGzYENevX0dISAjGjRtnFeUvWZcuXbB27VoASZtDZsyYgSFDhghORWR68fHxyJw5s+gYsqTW6uEbHIZ4jQ4AoIU9fIPDoNbqBSejjGIB/I/Q0FDUrFlTdAwyEp1Oh+DgYDRs2BAPHz7Er7/+ihEjRljlvaKtW7fGtm3bIEkSAKBSpUooUqQIduzYITgZkelxvasYkbEaxGl0kP75tSQBcRodImM1QnNRxrEAvuX69esoUaIEt7XbAK1WixUrVqBRo0aIiYnB7t27MWjQIDg7O4uOlm5KpRK1a9fGoUOHUr42btw4/PLLL4iJiRGYjMi0WP7EcXdVwUHSQvFPBVQoABeVA9xdVYKTUUaxAL5l69atnP61chqNBosWLULjxo2h1+vx22+/oU+fPnBychIdzSh69eqFxYsXp/zayckJEyZMwKhRowSmIjKt5FFvMr/tIZvxpXQNzipHAICz0gGLfTzh5MiBEmvHTSBvOXr0KEaOHCk6BqXDmzdvsHTpUuzYsQNdunTBvn374OjoKDqW0eXNmxeOjo6IiIhAoUKFAAB16tTBhg0bcOzYMdSuXVtwQiKyFX///TfWr1+P7du3QycpEBmrgburiuXPRnAE8B+3bt1C0aJFOf1rZeLi4vDzzz+jZcuWcHd3x4EDB/D999/bZPlL5ufnh0WLFv3ra9OmTcOPP/4ItVotKBWRaeh0Or4vC/D69Wv0798fy5Ytg4ODA5wc7VEoe2aWPxvCAviPrVu3ol27dqJjUCrFxMQgICAA3t7eKFasGPbv34+OHTvK4gdFzZo1cfbs2X+VPTc3N/Tr1w8//fSTwGRExvf69WseAWNmkiShd+/emDx5ssWejUoZxwL4j8OHD6Nu3bqiY9AnvHz5EhMmTECHDh1QqVIl7N+/H97e3rI6t1GhUKBDhw7YvHnzv77eqlUr3LlzB5cuXRKUjMj4eAag+c2ePRtffPEFT8SwcfL5qfkRd+7cQcGCBeHgwCWRlur58+cYNWoUvvvuO9SqVQu//fYbmjdvLtvdgZ06dcL69evf+frs2bMxbNgw6PU8o4tsA+8BNq+jR4/iwoUL6Nevn+goZGIsgOD0ryV78uQJhgwZgh9++AGNGzfGnj170LBhQ9kWv2SZM2dGhQoVcPr06X99PU+ePGjfvj3mzp0rKBmRcfEeYPN58uQJJk6ciIULF8r+PVYOWAAB/Pnnn/Dy8hIdg97y4MED9OvXD3379kWbNm2wc+dOTtH/h5+fX8r9wG/r3r07/vzzT9y9e1dAKiLj4hSweWi1WvTo0QPz58+Hi4uL6DhkBrKf87x//37K0Rok3t27dzFt2jS8evUKw4cPR7Vq1URHsljFihVDXFwcIiMj4e7unvJ1hUKB2bNnY9CgQdi+fTs/yZNVYwE0j5EjR6Jbt24oXbq06ChkJrIfAeThz5bh5s2b6N69O8aOHYs+ffpg8+bNLH+p0LNnTyxbtuydr3t4eKBmzZoIDg4WkIrIeLgG0PS2bNkCAPxZKDOyLoBqrR57j55G7bqc/hXl77//RpcuXRAQEIChQ4di3bp1qFixouhYVqNBgwb4448/oNPp3vm9wYMHY82aNYiMjBSQjMg4uAbQtK5du4ZVq1Zh2rRpoqOQmcm2AIaGR8HzpwMIL/Mdasw8itDwKNGRZOX8+fPo2LEjAgMDMW7cOKxevRply5YVHcvq2NnZoWXLlti5c+c7v+fg4IDp06dj6NChApIRGQengE0nLi4Offv2xbJly7gMSoZkWQDVWj18g8MQn5h0VEZ8og6+wWFQa3l0hqmdPn0abdu2xdKlSzFt2jQsW7YMJUqUEB3Lqn3//fdYtWrVe3+vatWqyJs3L/bs2WPeUERG8iL6NeLgxPdnI5MkCX5+fpgwYQLy5s0rOg4JIMtNIJGxGsRpdACSFsdLEhCn0SEyVoNC2TOLDWcj1Fr9v+6NPH78OH7++WcULlwYQUFBKFCggOiINiNr1qzInz8//v77b5QrV+6d358wYQKaN2+OOnXqwNXVVUBCovQJDY/C0exNcGjlZbiormGxjydqeeQUHcsm/PLLL6hcuTLq1KkjOgoJIssC6O6qgovKAfGJOkgSAMmAzEoHuLuqREezCaHhUfANDkOcRgcneyBv+C5UK+iKRYsWIU+ePKLj2aQ+ffpg/vz57z0WJnPmzBg7dizGjBmDX375RUA6orRLnqnR2yVNTSbP1JwdU5/30WZQaGgoTp06hXXr1omOQgLJcgrYydEei3084axM6r+ZlQ5wu7QJEXdvC05m/VKm1zVJmxLUegmRpVph8pRpLH8mVL58eTx48AAxMTHv/f2vvvoKb968wV9//WXmZETpkzJTo3h3pobS79mzZxg/fjwWLVrEI6JkTpYFEABqeeTE2TH1cXSYF86Na4itC6bAz88PV65cER3NqiW/aUspX1EgPlHPN20z6Nq1K1avXv3B358xYwbGjRsHjYb/LsjyubuqkMlBAfzzbqJQAC4qztRkhE6nQ48ePfDLL78gS5YsouOQYLItgEDSSGCh7Jnh5GiPfPnyYePGjRg8eDDCwsJER7NaR/fvgr0hMflDO9+0zeibb77Bzp07YTAY3vv72bJlg5+fH497IKvg5GiPxs4RcLJPejNxVjpgsY8np38zYMyYMfj222/fu1aY5EfWBfC/cuXKhc2bN2Ps2LEIDQ0VHcfqrF27Fgf3/4aV3WumTK/zTdt8HBwc4OXlhYMHD37wMW3atMHVq1fx999/mzEZUfpEnPkdfw2rjaPDvHB2TH1uAMmA7du3Q61Wo2PHjqKjkIVQSJIkfepBr1+/hpubG2JiYmQxbBwXF4dOnTphwIABqF+/vug4VmH58uU4deoUFi5cCHt7+3d2AZN5REZGok+fPikn+7/Po0eP0KNHD+zevRv29vx3Q5ZJp9OhVatW2L17t+goVu/mzZsYMGAAduzYAaVSKToOmVBa+hpHAN/DxcUFmzdvxsKFC7Fr1y7RcSzeggULcO7cOSxatCilULw9vU7m4+7ujsyZM+Pu3bsffEz+/PnRqlUrLFy40IzJrINaq0fEywSeOWcBzp8/jypVqoiOYfXi4+Ph7++PZcuWsfzRv7AAfkCmTJmwYcMGbNiwAZs3bxYdx2IFBgbi1q1bmDdvHuzs+J+TJfD39/9kuevZsyd+++03REREmCmV5QsNj0K1gIOoM/MQqgUc5O1Agh06dAheXrymMyMkSYK/vz/GjBmD/Pnzi45DFoY/sT9CqVRizZo1+O2337By5UrRcSzOtGnT8PTpU8yePZvHCViQ6tWr4+LFi0hISPjgY+zs7DB79mwMGjQIqVgFYvP+e3xRvIa3A4l24sQJ1KhRQ3QMq7Zw4UKULVuWRZreiwXwExwcHLB8+XKcPXsW8+fPFx3HIkiShIkTJ+LNmzeYNm0ay5+FUSgU6Ny5MzZu3PjRx5UqVQqenp6ffJwc/Pf4IglJZ85t+HXvB3dVk+lotVrodDpkypRJdBSrdfLkSRw5cgTDhw8XHYUsFAtgKtjZ2WHevHm4d+8eZsyYITqOUJIkYcyYMXBwcMDEiRNZ/ixUhw4dsHHjxk+O7g0bNgzLly9HVJR8pzu1Wi1mB0yAg6RD8n/NCgXgrLTHo/CraNiwIVatWoXExEShOeUkLCwMnp6eomNYrefPn2P06NFYsmQJ36Ppg1gAU0mhUGDGjBlISEjA+PHjZTltJkkShg4dihw5cmDMmDGi49BHODk5oWrVqjhx4sRHH+fo6IgpU6Zg2LBhZkpmWSIiItCyZUvUrvkFVveoBWfV/48vWvJdNYwdNQK7d++GVqtFkyZNMHv2bMTGxgpObfu4/i/99Ho9evTogaCgILi5uYmOQxaMx8Ckw8yZM/H06VP8/PPPsvl0ZTAYMGDAAJQqVQp9+/YVHYdS4d69exg3bhzWrl37yccOHjwYjRo1QqNGjcyQzDLs2bMHQUFBWLRoEYoXLw4AHz2+SK/XY8eOHViyZAk8PT3Rv39/5M6dW0R0m/fNN99g06ZNcHJyEh3F6owZMwZlypSBj4+P6CgkAI+BMbFhw4ahePHi8Pf3l8X6IIPBAD8/P1SoUIHlz4oUKVIEarUaT548+eRjJ0+ejOnTpyMuLs4MycTSarUYMWIE9u7di127dqWUP+DjxxfZ29vD29sbv/32Gxo2bAh/f3/4+fkhPDzcnPFtXmJiIgwGA8tfOuzcuRPR0dEsf5QqLIDp5O/vjy+++ALdu3eHTqcTHcdkkqcTatasiV69eomOQ2nk6+uLpUuXfvJxzs7OGDlyJMaPH2+GVOI8evQIrVq1QtWqVTF//vx0lQyFQoG6deti69at8PPzw+TJk/Htt9/yCkkjOXPmDKpXry46htW5ffs2FixYgNmzZ4uOQlaCBTADvv/+ezRr1gw+Pj7QaDSi4xidVqtF165d0aBBA3z//fei41A6fP311zhy5Ai0Wu0nH9uwYUNER0fj9OnTZkhmfvv370fXrl0RGBiIDh06GOU5K1asiNWrV2PKlClYs2YNWrZsiQMHDshyjbCxcP1f2iUkJKB3795YunQpVCreu06pwwKYQe3atYOPjw86deqEN2/eiI5jNImJiejSpQtatWqFTp06iY5D6aRQKNC6dWts3749VY+fOXMmRo8ebVM7XnU6HcaOHYvt27dj586dKFmypNFfo3DhwpgzZw5WrlyJkydPolGjRtiwYYNNzw6YyunTpzkCmAaSJKFfv34YPnw4ChYsKDoOWREWQCNo3rw5+vTpg/bt29vEDkG1Wo3OnTujc+fOaNOmjeg4lEFdunTBmjVrUvXYHDlyoEePHpg5c6aJU5nHkydP0KpVK5QuXRqLFi0y+blyOXLkwPjx4/Hrr7/ixYsXaNSoEebPn//RQ7np/zQaDRQKBa8sS4OlS5eiWLFiaNCggegoZGVYAI3k66+/xqhRo9CuXTu8evVKdJx0S0hIQKdOndCjRw+0aNFCdBwygixZsqBIkSK4dOlSqh7foUMHnD9/HtevXzdxMtP6448/4OPjg5kzZ5p9UXzmzJnRt29f7N+/H9mzZ0erVq0wadIkvHjxwqw5rM2pU6fw+eefi45hNc6cOYPff/8do0aNEh2FrBALoBHVrFkTU6ZMQfv27fH8+XPRcdIsPj4eHTp0QL9+/dC4cWPRcciI+vTpk+qbbBQKBWbPno0hQ4ZY5S53vV6PH3/8ERs2bMDOnTtRpkwZYVkcHBzQqVMn7N+/H59//jm6deuGgQMH8g7mD+D6v9SLiorCiBEjsGTJEt7DTunC/2qMrGrVqggMDETHjh3x6NEj0XFS7fXr12jfvj2GDx+Or776SnQcMrIyZcrg6dOnqR6dLlSoEJo0aYIlS5aYOJlxPXv2DN7e3ihSpAiWLVsGZ2dn0ZEAJJXqRo0aYefOnfj2228xcuRIdO3aFZcvXxYdzaKcPXsW1apVEx3D4un1evTs2ROzZ89GtmzZRMchK8UCaALly5fHokWL8N133+HevXui43xSdHQ02rdvj3HjxqF27dqi45CJdOvWDatWrUr14/39/bFjxw6r+SBz+PBhdO7cGQEBAejatavoOB/02WefYf369RgzZgwWLFiANm3a4MiRI7LfOfzmzRs4ODjA0dFRdBSLN2nSJHzzzTeoXLmy6ChkxVgATaREiRJYuXIlunfvjhs3boiO80EvXrxA+/btERAQgC+++EJ0HDKh5s2bY/fu3ame1rWzs8OsWbMwaNAgiy4nBoMBAQEBWLVqFXbs2IHy5cuLjpQqJUqUwMKFCzF//nzs378fTZo0wbZt26xy2t0YTpw4gRo1aoiOYfH27t2LZ8+eWfSHHLIOLIAmVLhwYaxbtw7+/v6pXoBvTpGRkejYsSNmzpzJi9dlwMHBAQ0aNMD+/ftT/T1ly5ZFuXLlEBISYsJk6ff8+XO0adMGuXPnxsqVK+Hi4iI6UprlyZMHU6ZMwebNm3H37l00aNAAy5Yts8mzRT/m8OHDqFevnugYFu3u3buYM2cOgoKCREchWyClQkxMjARAiomJSc3D6T+eP38u1a9fXzp9+rToKCkeP34sffXVV9KVK1dERyEzioyMlLy9vdP0PWq1Wvrqq6+kFy9emChV+hw7dkzy8vKSLly4IDqKUWk0GmnlypXS119/LU2bNk2Kjo4WHcksmjVrJmm1WtExLNabN2+kBg0aSHfv3hUdhSxYWvoaRwDNIGfOnNiyZQvGjx+P48ePi46Dhw8fwsfHBwsXLkS5cuVExyEzypUrF9zc3NJ0f61KpcJPP/2EESNGmDBZ6hkMBkyfPh2LFi3Cr7/+ikqVKomOZFRKpRJdu3bFgQMHUKZMGXTq1AkjRoxI1Z3O1iohIQFKpRIODg6io1isAQMGYPDgwShSpIjoKGQjWADNJGvWrNiyZQtmzJiB33//XViOe/fuoUuXLliyZIlJbkQgy+fv74+FCxem6Xtq1KiBTJky4Y8//jBRqtRJXrOaJUsWrF27FlmyZBGax5Ts7OzQsmVL7N27Fy1btkT//v3Rs2dPi15TnF6hoaGoVauW6BgWa8WKFciXLx+P5yLjMvaQIn1cQkKC5O3tLe3YscPsrx0eHi55eXlJ9+7dM/trk2Vp3LixFBcXl6bvef36teTl5SXFx8ebKNXHnThxQvLy8pLCwsKEvL4luHLlitS9e3epffv20okTJ0THMZrRo0fL+t/rx4SFhUmtW7eW9Hq96ChkBdLS1xSS9Ontfa9fv4abmxtiYmJs+hO3uSQmJqJr165o2bIlOnbsaJbXvHHjBvz9/bFmzRrkz5/fLK9Jlis4OBhv3rxBz5490/R9e/fuxeHDhzFjxgwTJXuXJEkIDAzEmTNnsGjRIri5uZnttS3Vw4cPERgYmPL3ukmTJlAoFKJjpVuzZs2wc+dO2Nvbi45iUV6+fIm2bdtiy5YtyJEjh+g4ZAXS0tc4BSyAUqnEmjVr8Pvvv2PFihUmf70rV67A398f69atY/kjAEC7du2wefPmNB/v0rRpUzx9+hTnzp0zUbJ/e/XqFTp06ABHR0esX7+e5e8fBQoUwKxZs7B27VpcuHABDRs2xNq1a6HVakVHS7O4uDhkypSJ5e8/DAYDevbsiZkzZ7L8kUmwAAri4OCApUuX4ty5c5g7d67JXufChQsYNGgQNm7ciDx58pjsdci6qFQqfP755+nalDRr1iyMGDECcQlqRLxMgFqrN0HCpHtOvb29MXToUPTr18+qR7hMJVu2bBg9ejR27tyJ+Ph4NG7cGHPmzEFcXJzoaKl2/PhxfPnll6JjWJyAgAA0btyYR3SRybAACmRnZ4e5c+fiwYMHmDZtmtGf/+zZsxgxYgQ2bdqEXLlyGf35ybr5+vpi0aJFaf6+XLlyoZZ3d1SZfAB1Zh5CtYCDCA2PMlouSZLwyy+/YObMmdi2bRuqV69utOe2VZkyZULv3r1x4MAB5MuXD23atMH48eOt4k5y3v/7rgMHDiAiIgI9evQQHYVsGAugYAqFAtOnT0diYiLGjh1rtBsXTpw4gXHjxmHz5s3Inj27UZ6TbEvBggVhMBjSfNWbWqtHyLPs0P7z9hGfqINvcJhRRgJjYmLQuXNn6HQ6bNq0ifecppG9vT3atWuHffv2oW7duujVqxf69u2LO3fuiI72QZcvX0aFChVEx7AY9+/fx8yZM/HLL79w1JtMigXQAigUCowfPx7ZsmXDkCFDMlwCjx49ioCAAGzevJlrpuijfH19sWTJkjR9T2SsBnEaHYCkH06SBMRpdIiMzdjNFefOnUOrVq3Qv39/DB48mD/8MkChUODrr7/G9u3b8cMPP2DChAn47rvvcP78edHR/uX169dwcXGBnR1/FAGARqNBr169sHjxYmTKlEl0HLJx/FtnQYYMGYKSJUuid+/e0OvTN5ryxx9/4Oeff8amTZvg6upq5IRka+rWrYu//voLiYmJqf4ed1cVXFQOSO5nCgXgonKAu6sqXRkkScLChQsREBCAkJAQ3gdrZFWqVMHatWsxceJELF++HK1atcIff/xhEfc7Hzt2DLVr1xYdw2IMGjQI/fr1Q7FixURHIRlgAbQwvXv3Rq1atdC9e3fodLo0fe9vv/2G+fPnY9OmTXB2djZRQrIlCoUCbdq0wdatW1P9PU6O9ljs4wlnZdKtDc5KByz28YSTY9p3cb5+/RpdunTB69evedSFiRUrVgzz5s3D0qVLcfToUTRu3BibN29O94dNY+D6v/9bs2YNcuTIgebNm4uOQjLBcwAtVEhICLZs2YI1a9ZApfr0yMrOnTsRHByMtWvXpurxRMni4uLQvn177N27N03fp9bqERmrgburKl3l7+LFixg0aBAmTZrEXaACxMXFYfny5di5cyfatWuH77//PmXaMaP/blOrSZMm2Lt3r+yn+y9evIgJEyZg69atPA6HMiQtfY0XL1qotm3bInPmzOjYsSPWrVuHzJkzf/CxISEh2LZtG4KDg6FUKs2YkmyBi4sLSpYsiXPnzqFq1aqp/j4nR3sUyv7h/y4/RJIkLFu2DHv27OEOdYFcXFwwYMAA+Pv7Y9OmTWjZsiXq1asHz2adMfTXm4jT6OCiShrdreWR0+ivHx0dDTc3N6Hlz1xF92Oio6MxaNAgbN68meWPzIpTwBasadOm6NevH9q1a4fY2Nj3Pmb9+vXYtWsX1qxZw/JH6ebv748FCxaY/HXi4uLQrVs3REZGYtu2bSx/FsDR0RE+Pj44cOAAyleqDP/1FxCnTjpQOl6jQ881p/H42XMYDAajvu7Ro0dRp04doz5nWoSGR6FawEGTHGWUWgaDAb169cK0adOQM6fxSzbRx3AE0MJ99dVXcHJyQtu2bbFx40ZkcsmS8ol147q1OH78OFasWMFPjpQhJUuWxIsXL/DixQuTrcO7cuUK+vfvj/Hjx6NevXomeQ1KP4VCgSo1vWAIPZTyNQlAglbCoNE/Qh318F8bR5RKJXLlyoVcuXIhZ86c7/zvnDlzfnQ5yqFDh9CrVy9T/pE+SK3Vwzc4DPGJSeusk48yOjumvllHAmfMmAEvLy+edUlCsABagZo1a2Lq1Klo/sMQRFdoj/hEPZQKAyrH3sbGJUt4hAIZxQ8//IAVK1Zg2LBhRn/uVatWYdu2bdiwYQNy585t9Ocn40je4R2n0QJQQKFI2uSzetEv7xQjtVqNqKgoREVF4fnz53j+/DmuXr2a8r+joqJSdpdLkgQ7Oztkz549pRwePHgQX331FWJiYlLKo6urq1mmhP9/lBH+yff/o4zSs6whPf744w/cvHkTy5cvN8vrEf0XC6CVKFuhEl6Vb4sEjRZQ2CHRoMDVHF8iUS/Bif2PjKBJkyYIDAzE4MGDjTainJCQgP79+6NAgQLYvn07R6otXPIO767L/4IW9h/d4e3k5IQCBQqgQIECqXpuvV6PV69e4fnz57h9+zayZs2Kx48f49KlSymlMXmpS/JIo4uLywdHGHPlyoUcOXKk678pF3sd7PSJkOyVkICUopveo4zS6uHDh5g6dSp27twp+w0wJA4LoJWIjNUgQSsBin/ankJh9k+sZNvs7e1TdmW2aNEiw8937do19O3bF6NGjUL9+vWNkJDMoZZHTvTMeRuFS1fENw3rGW1K1N7eHjlz5kTOnDlx/fp1+Pj4wNfX94OPlyQJ8fHxKaOJySXx/v37Kf/75cuX/zrGxsHB4V9T0O8rjYmJifDp1AlDewzBgks6xGl0GTrKKK0SExPRs2dPLFy48KOb+4hMjQXQSiRPzcQn6pD04ViCi8rRbJ9YSR66d++O7t27Z7gABgcHY+PGjVi7di3y5ctnpHRkLs5OSrjZa01WiA4dOoS+fft+9DEKhQIuLi5wcXFB0aJFU/W8Wq32nWnp8PBwnDhxAs+fP8ejR48QGhqKMmXKYN+qOSiisEem7HmQP7sLjm45h2vvKYxubm5GWWaTvON4+o+j0bt3b5QoUSLDz0mUESyAViJ5asY3OAxxmqTpi4n1iwg7uoBsU/IarRs3bqBUqVJp/v43b95g4MCByJUrF3799Vc4OPAtxhqpVCpoNBm72u9jbt26ZZIC5OjoiLx58yJv3rzv/N6TJ0/g4+ODP/74AxUrVgSQNMoYHR39r8L4/PlzXLt2LeV/R0dHpzwWADJlyvROSfzv5hdHR8d/vXZoeFTKe7dDZi90LlfL6H92orTiu7MVqeWRE2fH1EdkrAavn0Zgwrgx8K4VwjUkZFTJR8LMmTMnTd938+ZN+Pv7Y+jQoWjcuLGJ0pE5mLIAPn/+HDlz5jTr+9b9+/fRtWtXLFq06F8fbBQKBbJly4Zs2bKlupC+efPmnWnpt9cxRkVF/fsWJ3tH/F3yO+gVDoBCAb2dg5Adx0T/xQJoZVIO381eGlWqVMHmzZvRoUMH0bHIhlSpUgVjx45FbGxsqu+T3rRpE1avXo1Vq1alelMAWS6lUpmm+6HT4vDhw2Y9BujmzZvo3bs3Vq5ciSJFimT4+TJlyoRChQqhUKFCqXr8ncjX+CrwWMqvRew4Jnof7h+1YsOHD8eSJUvw6tUr0VHIxnz33XcIDg7+5OPUajX69OmDc+fOYceOHSx/NsKUI4DmLICXL1+Gn58fgoODjVL+0iNfNme4qByQPOCpUAAuKvPtOCb6EBZAK6ZUKjFp0iSMHDlSdBSyMd7e3ti6dSs+dlX47du30aJFCzRp0gTTp09/Z90TWS9TFsA7d+6gWLFiJnnut509exZDhgzBpk2bhG5ESl6/7axMmnAz545joo/hFLCVq1WrFtatW4djx46hdu3aouOQjVAqlfjyyy9x+PBheHl5vfP7W7duxdKlS7F8+fJUT4WR9TBVAXz69Cly585t8vV/x44dw5QpU7B582ZkzZrVpK+VGm+v3xZ57zDR2zgCaAOmTJmCH3/80aS79kh+evXqhcWLF//raxqNBgMGDMBff/2FnTt3svzZKFMVQHNM/x44cAAzZ87Eli1bLKL8JUtev83yR5aCBdAGZM2aFX5+fpg2bZroKGRD8uXLB3t7e9y6cw8RLxNw41bSlK+XlxdmzZoFpVIpOiKZiEqlMskmkEOHDpm0AP76669YsmQJNm/eDBcXF5O9DpEt4BSwjWjTpg02bdqE69evo3Tp0qLjkI2o3a4nmi69CC0cYKfXYMb4WWj1ZQXRscjElEqlSUYA79+/b7LNGOvXr8fevXuxYcMGrkclSgWOANoIhUKBWbNmYciQITAYDKLjkA1Qa/WYd0EDrZT0NiHZq/DjwcdQa/Wf+E6ydqaYAn78+LHJNmMsXboUhw4dwurVq1n+iFKJBdCGFCpUCA0bNsSKFStERyEbEBmrQZxGl3L/tIT/n19Gts0UBfDQoUPv3VCUUYGBgfj777+xePFi2NtzfR1RarEA2pi+fftiy5YtePr0qegoZOWS75/m+WXyYw0FUJIkTJ48GVFRUQgMDDTKfb1EcsK/MTbG3t4e06dPx7Bhw0RHISvH88vkyxQF8OHDh0Y7KFySJIwYMQIODg4ICAjgdZhE6cBNIDaocuXKyJs3L/bu3YumTZuKjkNWjOeXyZOxr4KLiIhAwYIFjfJcBoMB/fv3R6lSpdCvXz+jPCeRHHEE0EZNmDABP//8M+Lj40VHISvH88vkx9gjgB86UDytdDodevTogapVq7L8EWUQC6CNcnZ2xogRIzBhwgTRUeg91Fo9Il4mcEctWSQHBwfodDqjPZ8xCmBiYiK6dOmCRo0aoXv37kZKRiRfLIA2rFGjRoiMjMS5c+dER6G3hIZHoVrAQdSZeQjVAg4iNDxKdCSifzH2mronT54gb9686f7+N2/eoFOnTujUqRM6dOhgxGRE8sUCaON+/vlnjBw50qif5in91Fo9fIPDEJ+Y9O8jPlEH3+AwjgSSzbp7926GDn+OjY1F+/bt4e/vjxYtWhgvGJHMcROIjXN3d0enTp0wd+5cDBo0SHQcWUlMTMT9+/dx586dlP+7/uA54oq2S3mMJP3/bL1C2TMLTEv0b5IkGeV5MnL/76tXr9CpUyeMHz8eNWvWNEoeIkrCAigDXbt2RcuWLdG6dWuTXcMkR5IkISoq6l8F786dO4iMjAQAODo6okiRIihWrBiKFSsGLy8v5C1QELV+Po74RB0kKelsPWclz9Yj23X48GHMmDEjzd8XGRmJb7/9FtOnT0fVqlVNkIxI3lgAZeDta+JCQkJ4ZlYaqNXqd0bx7t27l3JERq5cuVIK3tdff42ePXsiV65cH/1nvNjHE77BYYjT6Hi2HlksY7xPSJKEyMhI5M6dO03f9+jRI3Tp0gVz585F2bJlM5yDiN7FAigTJUuWRJUqVbBlyxa0b99edByLkfwD6r+jeM+fP4dCoYBKpUoZxStevDgaNGiAwoULQ6VK/4gdz9Yjubh9+zaKFy+epu+5e/cufvjhByxdujTN30tEqccCKCPDhw9HkyZN0KBBA2TLlk10HLN58+YN7t2796+Cd//+fWi1WgBA7ty5U0bxGjVqhGLFiiFHjhwmHSlNPluPyJal9fq3a9euoU+fPli9erXRDo4movdjAZQRpVKJSZMmYdSoUVi0aJHoOEYjSRKePn36zijeixcvoFAo4OTkhKJFi6JYsWIoVaoUmjRpgkKFCkGpVIqOTmTTjhw5gqCgoFQ99sKFCxg6dCg2bNiQ5iljIko7FkCZqVWrFtatW4djx46hdu3aouOkWkJCAu7evfuvghcREQGdTgeFQoE8efKkjOI1a9YMxYoVQ7Zs2bjekSidMroLWJIkvHjxAjlz5vzkY0+ePIkff/wRmzdvRvbs2TP0ukSUOiyAMjRlyhS0adMGe/fuzdBaNmMyGAx48uTJO6N40dHRAIDMmTOnjOKVK1cOLVq0QMGCBeHo6Cg2OBG9182bN1GyZMlPPu7QoUOYNWsWtmzZAldXVzMkIyKABVCWsmbNCj8/P0yfPh3jx4832+vGxcW9M4r34MED6PV6KBQK5MuXL2UU75tvvkHRokVltVaRyJIoFApIkpTuUfTUrP/bu3cvli1bhs2bNyNzZq6JJTInFkCZatOmDTZt2oTr16+jdOnSRnlOg8GAR48evTOKFxMTA4VCAWdn55SCV6lSJbRu3RoFChSAgwP/MySyNEqlEomJiemeJTh69CjmzZv3wd8PCQlBSEgINmzYYDEzEURywp+8MpV8NqC/vz+2bN2O5/HaVB1JEhsb+8FRPDs7O+TPnz+l5Hl7e6No0aLImjWref5QRGQ0KpUKGo0mXeVMkiS8evXqg+v5Vq9ejcOHDyM4OJgfAIkE4d88GStUqBBK1WmJypP2QWOwg4vKAQs6V0ERJ/U7o3ixsbEAABcXl5SCV6VKFbRp0wYFChSAvT3PsiOyJckFMD2uXbuGMmXKvPf3FixYgCtXrmD58uWws+N19ESisADKmFqrx/6EwtDoEwEFEKdORNdloWgY/ydKFEs6/Lhdu3YoWrQosmTJIjouEZmRSqVKufEmrT60/m/GjBmIjIzE/PnzuUOfSDAWQBmLjNUgTqMDFP98ClfYwWCvxOjJ03lIMZHMKZXKdI8AHj16FEuWLEn5tSRJmDBhAuzt7TFz5kyWPyILwPF3Gcus0EKh0yD5rVihAFxUDnB35YJsIrlL7xSwwWBAbGws3NzcACSVv6FDh8LNzQ0TJkxg+SOyECyAMjZy2BAMr5EVzqqkgWBnpQMW+3jybloiSncB/Pvvv1GuXDkAgF6vh5+fH0qWLIkhQ4YYOyIRZQCngGUqJCQE7u7u8PP+Ct1a6BEZq0nVLmAikof0FsDk9X9arRY9evRAgwYN4OPjY4KERJQRLIAy9OjRIyxZsgS7d+8GADg52nPNHxH9S3oKoFqrx+8nzsO7XQd8++236NSpE1q3bm2ihESUEZwClhmDwQB/f3/88ssvUCqVouMQkYVKPgg6tULDo1At4CAuF2mLOoF/oWbrbix/RBaMBVBm5syZg8aNGxvt9g8isk1pGQFUa/XwDQ5DvEYHAJDslVh2ww5qrd6UEYkoA1gAZeTSpUsIDQ1F7969RUchIguXlgKYfKSU9M+vJQBxGh0iY9N3jAwRmR7XAMqEWq3G4MGDsW7dOh7DQESflJYC6O6qgovKAfGJOkgSoADgzCOliCwaRwBlYvTo0Rg4cCBy584tOgoRWYG0FEAnR3ss9vGEszJpTEGhT+SRUkQWjgVQBn7//Xeo1Wo0b95cdBQishJp3QVcyyMnzo6pj6PDvNAaJ6G+f9GE6YgoozgFbONevHiBadOmYdeuXaKjEJEVSesuYOD/R0qNGz0K7dq1g5eXF+zsOM5AZIn4N9OGSZKEvn37YsaMGcicmef8EVHqpfcgaADImjUrWrRogeDgYCOnIiJjYQG0YatWrULFihXh6ekpOgoRWZmMFEAA6N27N1avXo03b94YMRURGQsLoI26ffs2QkJCMHz4cNFRiMgKZbQAKpVK+Pv7IygoyHihiMhoWABtkE6nQ9++fbFgwQLY23MXHhGlXUYLIAB4e3vj2LFjiIyMNFIqIjIWFkAbFBAQAB8fHxQuXFh0FCKyUsYogAqFAuPHj8ekSZOMlIqIjIUF0MacPHkS4eHh6Ny5s+goRGTF0rML+H2++OILvHr1Cjdu3DBCKiIyFhZAGxIbG4vRo0fjl19+4W0fRJQhxhgBTDZp0iSMGzfOKM9FRMbBAmhDhgwZgvHjxyNbtmyioxCRlTNmASxevDgKFCiAo0ePGuX5iCjjWABtxPbt25EtWzbUq1dPdBQisgHGLIAAMHbsWAQEBMBgMBjtOYko/VgAbcDjx4+xYMECLrQmIqMx1hrAZNmzZ0fDhg2xadMmoz0nEaUfC6CVMxgM8Pf3x5w5c6BSqUTHISIbYWdnZ/TRur59+2Lp0qVQq9VGfV4iSjsWQCs3b9481K9fH2XLlhUdhYjoo1QqFXx9fTFv3jzRUYhkjwXQil25cgWHDx9Gnz59REchIhtkitME2rdvj4MHD+LFixdGf24iSj0WQCul0WgwaNAgLFiwgEe+EJHVUCgUGDNmDCZPniw6CpGssQBaqTFjxqBv377IkyeP6ChERGlSu3ZtPHnyBOHh4aKjEMkWC6AV+uOPPxAXF4dvvvlGdBQionSZPHkyxo8fLzoGkWyxAFqZly9fIiAgALNmzRIdhYgo3UqWLIkcOXLgr7/+Eh2FSJZYAK2IJEno168fpk2bBmdnZ9FxiIgyZPz48Zg8eTIkSRIdhUh2WACtyNq1a1GmTBlUr15ddBQiogzLlSsX6tati61bt4qOQiQ7LIBW4u7du9iwYQNGjhwpOgoRkdEMGDAACxYsMOqtI0T0aSyAVkCn06FPnz5YsGABHBwcRMchIjKaTJkyoXv37liwYIHoKESywgJoBaZNm4aOHTuiaNGioqMQkYzY29tDp9OZ/HU6d+6MvXv34tWrVyZ/LSJKwgJo4U6fPo1r167hu+++Ex2FiGRGqVSaZWrWzs4Oo0aNwpQpU0z+WkSUhAXQgsXFxWHkyJGYO3cub/sgIrNTqVTQaDRmeS0vLy/cvXsXd+/eNcvrEckdC6AFGzp0KMaMGYPs2bOLjkJEMmTOAgjwcGgic2IBtFA7duyAi4sLvv76a9FRiEimzF0Ay5QpAxcXF5w+fdpsr0kkVyyAFujp06eYO3cuAgICREchIhkzdwEEgAkTJmDixIk8HJrIxFgALYwkSfD390dQUBBUKpXoOEQkYw5KJ9x/EQ+1Vm+218yTJw9q1KiBHTt2mO01ieSIBdDCzJ8/H3Xr1kX58uVFRyEiGQsNj8I2VEfPnY9RLeAgQsOjzPbagwcPxty5c6HVas32mkRywwJoQa5evYqDBw+iX79+oqMQkYyptXr4BodBC3sAQHyiDr7BYWYbCcycOTN8fHywZMkSs7wekRyxAFoIjUaTciWSnR3/tRCROJGxGsRpdACSjp+SJCBOo0NkrPnWA3bp0gXbt29HTEyM2V6TSE7YNCzE+PHj4efnh3z58omOQkQy5+6qgovKASnHj0oGZHJI+rq52NvbY8SIEZg2bZrZXpNITlgALcDhw4fx8uVLeHt7i45CRAQnR3ss9vGEszLp7nEXJ0cUjjiADcFrzJqjQYMGuH79OiIiIsz6ukRyoJBSsdf+9evXcHNzQ0xMDLJkyWKOXLLx6tUrtGnTBjt37oSLi4voOEREKdRaPSJjNXB3VUFpr8Do0aNhMBgwdepU2NvbmyXD5cuXMXv2bKxcudIsr0dkzdLS1zgCKJAkSejfvz+mTJnC8kdEFsfJ0R6FsmeGk6M97OzsMG3aNJQtWxadOnVCXFycWTJUqFABDg4OOHfunFlej0guWAAFWrduHTw8PPDFF1+IjkJElCpdu3ZFv3790Lp1azx48MAsrzlx4kT8+OOPPByayIhYAAW5d+8egoODMWbMGNFRiIjSpHbt2li8eDG6du1qlmvb8uXLhypVqmDv3r0mfy0iuWABFECv18Pf3x/z58+Hg4OD6DhERGlWrFgxbNu2DVOnTsXGjRtN/nrDhg3D7NmzodPpTP5aRHLAAijAjBkz0LZtWxQvXlx0FCKidHNzc8OWLVtw4sQJk9/f6+Ligo4dO2LFihUmew0iOWEBNLOzZ8/i0qVL6Natm+goREQZ5uDggDlz5iBXrlzo0qUL3rx5Y7LX6tatGzZt2oTY2FiTvQaRXLAAmlF8fDyGDx+OefPmQZFywioRkfXz9/dHly5d0Lp1azx9+tQkr+Hg4IAhQ4Zg5syZJnl+IjlhATSjYcOGYdSoUciRI4foKERERtegQQMEBQWhc+fOuHjxokleo0mTJrhw4QIePXpkkucnkgsWQDPZvXs3VCoVGjRoIDoKEZHJlC5dGlu2bMGYMWOwc+dOoz+/QqFIORaGiNKPBdAMnj17hqCgIEydOlV0FCIik8uRIwe2bduGXbt2YebMmUbfHFKlShXodDpcunTJqM9LlkWt1SPiZQLUWr3oKDaJBdDEJEmCv78/Zs+eDScnJ9FxiIjMQqlUYsmSJVAoFOjVqxcSExON+vyTJk3ChAkTjPqcZDlCw6NQLeAg6sw8hGoBBxEaHiU6ks1hATSxRYsWoVatWqhYsaLoKEREZqVQKDB06FC0aNEC3t7eiIoy3g/xggULokyZMti/f7/RnpMsg1qrh29wGOITk858jNfo4BscxpFAI2MBNKHr16/jt99+w8CBA0VHISISpmXLlggICED79u1x/fp1oz3vyJEjMXPmTOj1LAa2JDJWgziNDskrByQAcRodImM1QnPZGhZAE0lMTES/fv2wYMEC2NnxHzMRyVulSpWwfv16DBw4EAcOHDDKc2bJkgXe3t5YvXq1UZ6PLIO7qwouKgeknJYmGeAgaeHuqhKay9awmZjIhAkT4OvriwIFCoiOQkRkEfLkyYPt27cjODgYCxYsMMpz9uzZE+vWrUN8fLxRno/Ec3K0x2IfTzgrk65KdXKwQ7YrIViycL7gZLaFBdAEjh49isjISLRt21Z0FCIii5IpUyasXr0aUVFR6N+/f4bv9nV0dET//v0xe/ZsIyUkS1DLIyfOjqmPo8O8cGFCYxTNnIijR49i165doqPZDBZAI4uOjsaECRMQGBgoOgoRkUVSKBQYP348atWqhXbt2iEmJiZDz9eyZUucPHnSZDeQkBhOjvYolD0znBztMXXqVEiShCVLluDcuXOio9kEFkAjGzBgAH766SdkyZJFdBQiIovWoUMHjBo1Ct7e3rh9+3a6n0ehUODHH3/k4dA2rHjx4ihZsiS+//57DBs2DA8ePBAdyeqxABpB8mGVa9ZtQOHChVGrVi3RkYiIrEL16tWxatUq9O7dG8eOHUv383z22WdISEjA1atXjZiOLMno0aOxcOFCzJ8/H926dUNsbKzoSFZNIaXiiPbXr1/Dzc0NMTExHNn6j9DwKPgGhyFOo4OdXoOV3Wuibuk8omMREVmVuLg4dO/eHU2bNkXXrl3T9Rz37t3DkCFDsHXrVuOGI4uxZs0avHz5EtWrV8fPP/+MzZs3w8HBQXQsi5GWvsYRwAz472GVkr0KfTZe5GGVRERp5OLigo0bN+LatWsYMWIEDAZDmp+jSJEiKF68OP78808TJCRL4OPjg3379qFEiRLo0KEDBg4caPSrBuWCBTADeFglEZHx2NnZYfr06ShTpgw6deqEuLi4ND/H6NGjMW3atHQVSLJ8dnZ2mDhxIsaPH48OHTogf/783HSZTiyAGZB8WCWkpDcahQJwUTnwsEoiogzo2rUr+vTpg9atW6d5sX/WrFnRrFkzrFu3zkTpSLTPP/8cGo0GFy5cwMiRI3Ht2jVs375ddCyrwwKYAU6O9uheQgdHRdIQoLPSAYt9POHkaC84GRGRdatTpw4WLVqErl274vTp02n6Xj8/P6xcuRJv3rwxUToSLSAgAGPHjgUALFiwACtXrsSZM2cEp7Iu3ASSAZIkoVmzZli5JhgaOye4u6pY/oiIjCgmJgZdu3ZFp06d0L59+1R/39atW3Hr1i2MHDnShOlIpOnTp6No0aJo3749oqOj0aZNG6xYsQKFCxcWHU0YbgIxk8OHD6NKlSrInTN7ymGVRERkPG5ubtiyZQuOHz+OSZMmpXrBv7e3N44ePYrnz5+bOCGJMnDgQCxevBgJCQnImjUrli1bhu7du2f4YHG5YAHMgKCgIAwcOFB0DCLKoOSzPLmD3zI5ODjgl19+QY4cOfD999+nampXoVBg3LhxmDhxohkSkggqlQoDBgzAzJkzAQBFixbFlClT0KVLF2i1WsHpLB8LYDqdPHkSxYsXR65cuURHIaIMCA2PQrWAg6gz8xCqBRxEaHiU6Ej0AX369IGPjw9at26dqmvfatSogZcvX+LGjRtmSEcitGjRAufPn0dERASApA0iXbp0Qd++fXk8zCewAKbTrFmzMHToUNExiCgD/nuWZ3yiDr7BYRwJtGANGzZEYGAgOnfujEuXLn3y8ZMnT8b48ePNkIxEUCgUmDJlCkaPHp3ytTZt2sDDwyNlZJDejwUwHS5cuIBcuXIhX758oqMQUQa8c5anxLM8rUGZMmWwefNmjB49Grt27froY4sXL458+fLh6NGjZkpH5la2bFnkyJHjX/+Ohw4dijt37iAkJERgMsvGApgOM2fOxLBhw0THIKIMSj7LU6H45wuSBHt9Ip7duyk0F31azpw5sW3bNuzcuRM///zzR6f7xo4di4CAAB4ObcN+/PFHTJ48GXp90ui9QqHA3LlzERwcjJMnTwpOZ5lYANPo+vXrUKlUKFq0qOgoRJRBTo72WOzjCWdl0l2iLk6OmPlNSSxdtADffvstrl27JjghfYxSqcSSJUsgSRJ8fX2RmJj43sflyJEDDRo0wObNm82ckMwlW7ZsaNOmDZYvX57yNUdHR6xevRpjx47F3bt3BaazTDwHMI26d++O4cOHo3Tp0qKjEJGRqLV6RMZq/nWWZ3h4OH766ScoFAqMHTsWxYsXF5ySPmbHjh1YtmwZVq1ahRw5crzz+2q1Gk2bNsXevXvh5OQkICGZml6vR+PGjbFlyxZkzZo15esRERHo1q0bQkJCkC1bNnEBzYDnAJrI3bt3odFoWP6IbIyTo/07Z3l6eHhg1apVGDZsGMaNGwdfX9+UnYZkeb755htMnjwZ7dq1w/Xr19/5fScnJ/Tq1Qvz5s0TkI7Mwd7eHmPGjHnn6J9ChQph+vTp+P777z84SixHLIBpMGPGDK79I5KZsmXLYv369fDz88OQIUPQv39/PHnyRHQseo/KlStj/fr1GDhwIA4ePPjO73fo0AEHDx7EixcvBKQjc6hXrx6ePXv2zvKNatWqoXv37vD394ckSTz7E5wCTrVHjx5hwIAB3FFEJHOnTp3C1KlTUbJkSQwfPhw5c+YUHYn+482bN+jVqxdq1qwJPz+/f/3esWPHsG3bNgQGBgpKR6Z27949DBo0CNu2bYMiZYdXksDAQITH2uOIoRTiNDq4qByw2McTtTxs4+8xp4BNgOf+ERGQdNDsr7/+imbNmuH777/H+PHjER0dLToWvSVTpkxYs2YNnj17hgEDBkCn06X8Xu3atfH48WOEh4cLTEimVKRIEVSoUAF79ux55/f8+vTD/oRCiNck3RQi57M/WQBT4fnz5wgPD8cXX3whOgoRWYi6deti9+7d+PLLL9GxY0cEBAQgNjZWdCz6h0KhwI8//ogaNWqgffv2/7oflodD274RI0YgMDAQiYmJ0Ov1uHLlClatWgW/IaOgUzhCQtLIoJzP/mQBTIWgoCAMGjRIdAwisjAKhQINGzbEb7/9hooVK8Lb2xuzZs1K1V21ZB4dO3bEiBEj4O3tjTt37gAASpYsiRw5cuDEiROC05GxGQwGXL9+Hdu3b4dSqUSlSpXQunVrrF27Fs7OzhjRz/dfZ38qFICLygHuriqxwQXgGsBPiI6ORufOnbFnz5531hIQEb3NYDBg69atWLRoEby9vdGjRw+oVPL7wWKJIiIi8MMPP2D8+PGoXbs2nj9/ji5dumDv3r18b7dSBoMBt2/fxtmzZ3H27NmUO59LlSqFatWqwdPTEwMGDMDKlSuRJ0+elO8LDY+Cb3CY7NcAsgB+QkBAAKpUqYKmTZuKjkJEVkKv12P9+vVYtWoVOnfujC5dusDR0VF0LNmLi4tD9+7dU9ZvTps2DR4eHmjbtq3oaPQJkiTh3r17KWXv6tWrkCQJHh4eKWWvZMmSsLe3/9f3hYWFYeHChVi2bNm/vv6+sz9tAQugkcTFxcHb2xv79+/nJ0QiSjOtVotVq1Zh48aN6NatGzp16vTODygyL71ej1GjRsHe3h5jx45FixYtsG/fPiiVStHR6B+SJOHBgwcpZe/vv/+GTqdD0aJFUa1aNVSrVg2lS5eGg4NDqp6vV69e6NmzJz777DMTJxePBdBIZs+ejUKFCvHTIRFliEajwdKlS/Hrr7+id+/e8Pb2hp0dl2CLtGLFChw4cAD169dHfHw8fP372uSIkDV4/PhxStm7dOkStFotChUqlDKyV65cuQyNoD979gxdu3aVxXQ/C6ARqNVqNG/eHAcOHOAbNREZRUJCAhYsWIADBw6gf//+aNasmc3/QLJkR44cweTJk/E6U17EV/0W8Yl6m1sTZmmePXv2r7KnVquRL1++lJG98uXLm2Td7KxZs5DDPQ++atbapks+C6ARLFy4EC4uLvjuu+9ERyEiGxMbG4s5c+bg+PHjGDJkCOrXr88iKMi1G7fQZOklwEEFKBRQKABnpQPOjqlvsyXBXKKiohAWFoazZ8/i/PnzePPmDXLnzg1PT09Uq1YNFStWRKZMmcyS5fD1J+i2/AQkB5VNl3wWwAzSarVo3Lgx9u/fn+o1BkREafXq1SvMnj0b58+fx4gRI1C7dm3RkWQn/Mkr1P/lr3e+fnSYFwplzywgkXV69erVv8peXFwccuTIkTKyV6lSJTg7OwvJptbqUS3gIOI1OkiATZf8tPQ1tpv3WL9+PTp06MDyR0QmlS1bNkyePBnPnz/HjBkzMGvWLIwePRrVq1cXHc3mqdVqLF++HCHbd0D1eT8kSnaQpP+XAzmeC5dar1+/xrlz53D27FmEhYXh9evXyJYtG6pWrYqaNWuiT58+cHV1FR0zRWSsBnGa/98G8/bhz3Iu+Ww4/6HX67FmzRrs3btXdBQikolcuXJh5syZePz4MaZOnYqZM2di7NixqFSpkuhoNketVmPZsmXYvn07unXrht/37cWpe9Ep58I5K5OmB21tZCi94uLicP78+ZTRvVevXsHV1TVlGrdnz55wc3MTHfOj3F2Tpn3jE3Us+W/hFPB/bN68GY8fP8bAgQNFRyEimbp//z4CAgIQHx+PsWPHokyZMqIjWT21Wp2yE7t79+7o2LHjv47ksdVz4dLy50pISMDFixdTNmlERUXB2dkZVapUSdmRmz17djMlNy5bPvz5bVwDmE6SJKFRo0bYvn27sLUKRETJwsPD8dNPPwEAxo0bh+LFiwtOZH3evHmDpUuXYseOHfjhhx/QoUMH2ZzF+LHSo1arcfny5ZSy9/TpU2TKlAmVK1dOKXu5cuUS/CcwLlst+W9jAUynXbt24cqVKxg1apToKEREKa5evYqffvoJrq6uGDNmDAoVKiQ6ksV78+YNlixZgl27duGHH35A+/btZVP8gLc2PiRPewJwVBhQO2oPnjyMgJOTEypWrJhS9vLmzSs6MhkBN4GkgyRJWLBgATZu3Cg6ChHRv5QtWxbr16/HhQsXMGTIEOTNmxejRo3iD+33ePPmDRYvXozdu3ejR48e2L9/v6yKX7J3Nj4ASJTs4DtwOD4rU5THDhELYLI///wTn332mcUvZiUi+apcuTK2bNmCU6dOwc/PDyVKlMCIESOQM6ftrWVKq4SEBCxevBh79uxBz549ZVv8gKQBjf3bN8FO7wbJXvWvo08qlijM8kcAAF5x8Y+goCAMGDBAdAwiok/6/PPP8euvv6J58+b4/vvvMW7cOERHR4uOJURCQgJmz56Nli1bIn/+/Dhw4ICs1vn91/3799G6dWvEvHqBVT/UgrMqaZyHu5vpvzgCCCA0NBSlSpVCjhw5REchIkq1unXrok6dOvj999/RsWNH1K5dG/3797eoM9hMJT4+HgsXLsS+ffvg6+sr+2s7DQYDFi5ciL179yIoKAglSpQAAJwdU9/mNz5Q+sj3b8s/1Fo9ps5dir4DBomOQkSUZgqFAg0bNsRvv/2GihUrwtvbG7NmzUJCQoLoaCYRHx+PmTNn4ptvvkGRIkVw4MABtGvXTtbl7+bNm2jRogUUCgV27dqVUv4AwMnRHoWyZ2b5o3fIehdwaHgUeqw+jTc6yabPBSIi+TAYDNi6dSsWLVqE1q1bo2fPnlCprP/A27i4OCxYsAC///47evfujdatW8u69AGATqdDYGAg/vrrLwQFBaFw4cKiI5Fgaelrsv3bo9bq4Rschjc6AwAgPlEH3+AwqLV6wcmIiNLPzs4O7dq1w4EDB+Dm5oYmTZpg2bJl0Gq1oqOlS1xcHKZPn47WrVvDw8MD+/fvR5s2bWRf/i5fvoxmzZohV65c2LZtG8sfpZls/wb9f4t80m6ot+8GJCKydvb29vjuu++wf//+lEPug4ODoddbx4fc2NhYTJs2Da1bt0bJkiWxf/9+eHt7y774JSYmYuLEifjpp5+watUqdO3albt6KV1k+zcp+W7A5L83CgXgouLdgERkWxwdHdGzZ0/89ttviI6ORsOGDbFlyxYYDAbR0d4rNjYWU6dORZs2bVC6dGns37+f073/OHv2LJo2bYoyZcpg48aNPAeSMkS2f6OcHO2x2McTzkpukSci26dSqdC3b1/s2rUL9+/fR6NGjbBr1y6kYhm4Wbx+/RpTpkxBmzZtUK5cOezfvx+tWrVi8UPS4dYjRozA3LlzsXHjRrRv356jfpRhst4EAsjjbkAiov+KjY3FnDlzcPz4cQwZMgT169cXUipev36NuXPn4siRI+jXrx+aN2/OcvOW48ePY/z48Rg0aBBatGghOg5ZON4FTEREqfLq1SvMnj0b58+fx/Dhw1GnTh2zvG5MTAzmzp2Lo0ePon///mjWrBmL31vi4uIwevRoaDQaTJ8+HVmzZhUdiawAdwETEVGqZMuWDZMnT8bKlSuxa9cutGrVCqdPnzbZ68XExGDSpElo3749qlSpgv3793PU7z9+//13tGzZEt988w0WL17M8kcmwRFAIiJK8eTJE0yZMgVPnjzB2LFjUblyZaM8b3R0NObMmYO//voLAwYMQJMmTVj6/iM6OhrDhg2Ds7MzfvrpJ7i4uIiORFaGU8BERJQh9+/fx5QpUxAbG4tx48ahTJky6Xqe6OhoBAUF4cSJExg4cCAaN27M4vceO3bswC+//IJJkyahVq1aouOQlWIBJCIiowgPD0dAQAAkScK4ceNQvHjxVH3fq1evEBQUhFOnTmHgwIFo1KgRi997PH/+HIMHD0aBAgUwYcIEODk5iY5EVowFkIiIjOrq1asp05Jjx45FoUKFALx7ksKrV68QGBiI06dPY9CgQWjYsCGL33tIkoRNmzZh+fLlmDZtGjw9PUVHIhvAAkhERCZx4cIFBAQEIE+ePGjwXV+M3nsPcRodnJX2qKG7jEfn/sSgQYPQoEEDFr8PePz4MQYOHIgKFSpgxIgRUCqVoiORjWABJCIikzr210l8/+sTGOwck65SkgxwcrDDhfGN4PTPAfv0b5IkYeXKldi8eTN+/vlnlC9fXnQksjE8BoaIiEyqcOmKMNgr8f/7NO2g1gOL127CgwcPxIazQPfu3UPr1q3x6tUr7Nmzh+WPhOPHNCIiSrPk+9TjE3WQpKQemNnRDllVCkyaNAkPHz5E/vz54eXlhXr16iF//vyiIwthMBiwYMEC7Nu3D0FBQfDw8BAdiQgAp4CJiCidQsOj4BschjiNDi6qpPvUa3nkTPn9Bw8e4MiRIzh06BAeP36MQoUKoV69eqhXrx7y5s0rMLl53Lx5E4MGDULz5s3h6+vLe43J5LgGkIiIzCIt96nfv38fhw8fxuHDh/HkyRMULVo0pRDmzp3bTIlNT6fTYfbs2Th58iSCgoJSdkwTmRoLIBERWbx79+7h0KFDOHz4MCIjI1GsWDF4eXmhbt26yJUrl+h46XL58mUMGTIE3377Lbp06cKd0GRWLIBERGRVJEnCnTt3UkYInz9/jhIlSqQUwhw5coiO+FGJiYmYMmUKrl+/jsDAQFlMcZPlYQEkIiKrJkkSwsPDcfjwYRw5cgQvXrxAqVKlUK9ePdStWxfZsmUTHTHFmTNnMGrUKPj6+qJt27Yc9SNhWACJiMimSJKEmzdv4tChQzh69ChevXqFMmXKwMvLC7Vr18b/2rtj1qrOOI7jv5tcjSS5xJZiQbBLCx1EFMUlyZAr7eRLqGPp0KGLZFEhi4MOeQHSl9C+AinclKiTIEoCvgIH6WKOEsV4T4eq2A4xqUlj8/985ofz/M/25T73nHP48OH/fKb19fUsLCzk8ePHWVxc/Oh/pWT/E4AA7Gtt2+bhw4dvg/DJkyc5fvx4+v1+ZmdnMzU1tav7Ly8vZ2FhIRcvXsz58+d3dS/YKgEIQClt22Z1dTVLS0tZXl5O0zQ5ceJE5ubmMjs7m16vtyP7NE2TS5cu5eXLl7l+/fquhyZshwAEoLThcJiVlZUMBoPcunUrz549y8mTJzM3N5eZmZlMTk5u+5o3b97MtWvXcuXKlZw7d24XpoYPIwAB4B3D4TAPHjzIYDDI7du3s76+nlOnTqXf72d6ejrj4+N/W//u+w3Xn65lfn4+vV4vV69ezcTExB7dBWxOAALAJl69epX79+9nMBjkzp07ef78eU6fPp1+v598/nV++mUlT19s5NBom09Wf83i/A+Znp7e67FhUwIQALZhY2Mj9+7dy2+D3/PzH19mONJNOiNJ2kyOdXP38rfv/dIJ7LXt9JoPEwJQXrfbzdmzZ/Pd9z9mOHrwdfwlSSdPX/x1HAz7iQAEgNeO9MYyOdbNm3c5dzrJ5Fg3R3pjezsY7DABCACvHTowmhsXzmTiYDdJMnGwmxsXzjj+Zd/p7vUAAPAxmfnqs9y9/M3bp4DFH/uRAASAfzh0YDRffDr+/oXwP+UIGACgGAEIAFCMAAQAKEYAAgAUIwABAIoRgAAAxQhAAIBiBCAAQDECEACgGAEIAFCMAAQAKEYAAgAUIwABAIoRgAAAxQhAAIBiBCAAQDECEACgGAEIAFCMAAQAKEYAAgAUIwABAIoRgAAAxQhAAIBiBCAAQDECEACgGAEIAFCMAAQAKEYAAgAUIwABAIoRgAAAxQhAAIBiBCAAQDECEACgGAEIAFCMAAQAKEYAAgAUIwABAIoRgAAAxQhAAIBiBCAAQDECEACgGAEIAFCMAAQAKEYAAgAUIwABAIoRgAAAxQhAAIBiultZ1LZtkmRtbW1XhwEA4N9502lvum0zWwrApmmSJMeOHfuAsQAA2G1N02RqamrTNZ12C5k4HA7z6NGj9Hq9dDqdHRsQAICd0bZtmqbJ0aNHMzKy+b/8thSAAADsHx4CAQAoRgACABQjAAEAihGAAADFCEAAgGIEIABAMQIQAKCYPwGLq6saaK4+YwAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 800x800 with 1 Axes>" ] @@ -104,17 +116,10 @@ } ], "source": [ + "random.seed(1234567) # remove if you want random instances\n", "solver = DBSTSolverCP(random_points(50), 3)\n", - "draw_edges(solver.solve())" + "draw_dbst_edges(solver.solve())" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e9bd1971-696a-4669-be92-9509236a60d9", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -133,7 +138,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/sheets/02_cpsat/README.md b/sheets/02_cpsat/README.md index 2c184bea9d18ae9900c2da0a337fdac32044a2e1..7148fc2b0e171fa9358ec20b50fa2ea61848de69 100644 --- a/sheets/02_cpsat/README.md +++ b/sheets/02_cpsat/README.md @@ -142,5 +142,5 @@ Your task in this sheet is to solve the problem with CP-SAT. 3. Create some tests based on handcrafted instances for which you can argue the optimal value. 4. Create a benchmark with at least 100 instances of various sizes to evaluate the performance of your solver and to allow comparisons with other solver implementations (by checking, which solver can solve more instances with a timelimit of one minute per instance). You can use random positions but adding some structure and symmetry can yield more difficult instances. 5. Create a version of your solver that enforces a single tour via assigning vertices the corresponing index as variable, with $x_{vw}=1 \Rightarrow index(w)=index(v)+1$ (except for the origin), and one that uses CP-SAT's [`AddCircuit` constraint](https://google.github.io/or-tools/python/ortools/sat/python/cp_model.html#CpModel.AddCircuit). Compare both versions with your benchmark. -6. Give an sound estimate on how well this problem can be solved with CP-SAT based on your experiments. Up to which size would you consider this problem to be easily solvable? +6. Give a sound estimate on how well this problem can be solved with CP-SAT based on your experiments. Up to which size would you consider this problem to be easily solvable?