Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save crmccreary/fb6290d41ef151af325e77625fc70cf7 to your computer and use it in GitHub Desktop.
Save crmccreary/fb6290d41ef151af325e77625fc70cf7 to your computer and use it in GitHub Desktop.
Say you wanted to find out how many students you could pack into a classroom and still have a social separation of 6 foot? This reduces to the circle packing problem in a polygonal domain.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np, matplotlib.pyplot as plt\n",
"from IPython import display\n",
"from shapely.geometry import Point\n",
"from shapely.geometry.polygon import Polygon\n",
"from shapely.geometry.polygon import LinearRing\n",
"from shapely.geometry import box\n",
"from scipy.optimize import minimize\n",
"from scipy.optimize import basinhopping\n",
"from itertools import cycle\n",
"from itertools import islice"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [],
"source": [
"N = 22 # number of circles\n",
"R_max = 3\n",
"\n",
"vertices = [(0, 0), \n",
" (29.3, 0), \n",
" (29.3, 4), \n",
" (34.3, 4), \n",
" (34.3,22), \n",
" (4.3,22), \n",
" (4.3,18), \n",
" (0,18)]\n",
"\n",
"polygon = Polygon(vertices)"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [],
"source": [
"poly_line = LinearRing(polygon.exterior.coords)"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [],
"source": [
"poly_line_offset = poly_line.parallel_offset(2.0, side=\"left\", join_style=2)"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [],
"source": [
"offset_polygon = Polygon(poly_line_offset.coords)"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(6.3, 6.0, 32.3, 20.0)\n"
]
}
],
"source": [
"coords = list(poly_line_offset.coords[:-1])\n",
"#print(coords)\n",
"num_vert = len(coords)\n",
"positions = cycle(coords)\n",
"rectangles = []\n",
"for i in range(num_vert):\n",
" #print('vertex: {}'.format(i))\n",
" start = islice(positions, i, None)\n",
" v1 = coords[i]\n",
" for i in range(num_vert):\n",
" _ = next(start)\n",
" v2 = next(start)\n",
" #print(v1,v2)\n",
" if v1[0] != v2[0] and v1[1] != v2[1]:\n",
" rectangles.append(box(v1[0], v1[1], v2[0], v2[1]))\n",
" \n",
"rectangles = [r for r in rectangles if offset_polygon.contains(r)]\n",
"rectangles.sort(key=lambda x: x.area, reverse=True)\n",
"rectangle = rectangles[0]\n",
"rectangle_bounds = rectangle.bounds\n",
"print(rectangle_bounds)"
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {},
"outputs": [],
"source": [
"def plot_line(ax, ob, color):\n",
" x, y = ob.xy\n",
" ax.plot(x, y, color=color, alpha=0.7, linewidth=3, \n",
" solid_capstyle='round', zorder=2)"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"plot_line(ax, poly_line, \"blue\")\n",
"plot_line(ax, poly_line_offset, \"green\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [],
"source": [
"def boundary_cons(centers):\n",
" sum = 0\n",
" for center_x,center_y in zip(centers[0::2],centers[1::2]):\n",
" point = Point(center_x,center_y)\n",
" if not offset_polygon.contains(point):\n",
" sum = sum - 100\n",
" else:\n",
" sum = sum + 1\n",
" return sum"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [],
"source": [
"def boundary_cons_T_F(centers):\n",
" for center_x,center_y in zip(centers[0::2],centers[1::2]):\n",
" point = Point(center_x,center_y)\n",
" if not offset_polygon.contains(point):\n",
" return False\n",
" return True"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {},
"outputs": [],
"source": [
"def potential_energy_outside(centers):\n",
" U = 0\n",
" for center_x,center_y in zip(centers[0::2],centers[1::2]):\n",
" point = Point(center_x,center_y)\n",
" if not offset_polygon.contains(point):\n",
" U = U + offset_polygon.exterior.distance(point)**2\n",
" return U"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [],
"source": [
"def getPairs(N):\n",
" '''Generate all (2-way) unique pairings of N objects'''\n",
" result=[]\n",
" for i in range(0,N):\n",
" for j in range(0,i):\n",
" result.append([i,j])\n",
" return(np.array(result))"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {},
"outputs": [],
"source": [
"cpairs=getPairs(N)\n",
"A=cpairs[:,0]\n",
"B=cpairs[:,1]\n",
"ind=range(0,2*N)\n",
"a,b=list(ind[0:2*N:2]),list(ind[1:2*N:2])"
]
},
{
"cell_type": "code",
"execution_count": 122,
"metadata": {},
"outputs": [],
"source": [
"def genGuess(N):\n",
" '''Generate sensible initial guess vector (random circle coordinates)'''\n",
" z=np.zeros(2*N)\n",
" bounds = offset_polygon.convex_hull.bounds\n",
" x = np.random.uniform(low=bounds[0]+R_max,high=bounds[2]-R_max,size=N)\n",
" y = np.random.uniform(low=bounds[1]+R_max,high=bounds[3]-R_max,size=N)\n",
" z[0::2] = x\n",
" z[1::2] = y\n",
" return(z)"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"4.776261317841449\n",
"3\n"
]
}
],
"source": [
"rect_area = rectangle.area/(2*np.sqrt(3))\n",
"print(rect_area/N)\n",
"#R_init = np.sqrt((rect_area/N)/np.pi)\n",
"R_init = R_max\n",
"print(R_init)"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [],
"source": [
"x0 = genGuess(N)"
]
},
{
"cell_type": "code",
"execution_count": 125,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"\n",
"plot_line(ax, poly_line, \"blue\")\n",
"plot_line(ax, poly_line_offset, \"green\")\n",
"for center_x,center_y in zip(x0[0::2],x0[1::2]):\n",
" ax.add_patch(plt.Circle((center_x,center_y), R_init, fill=False, lw=1, ec='black'))\n",
"\n",
"ax.set_aspect('equal')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"R: 3.0\n",
"basinhopping step 0: f 0.0778683\n",
"basinhopping step 1: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 2: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 3: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 4: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 5: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 6: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 7: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 8: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 9: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 10: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 11: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 12: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 13: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 14: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 15: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 16: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 17: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 18: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 19: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 20: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 21: f 0.0778683 trial_f 0.07814 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 22: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 23: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 24: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 25: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 26: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 27: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 28: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 29: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 30: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 31: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 32: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 33: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 34: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 35: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 36: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 37: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 38: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 39: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 40: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 41: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 42: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 43: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 44: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 45: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 46: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 47: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 48: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 49: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.45 old stepsize 0.5\n",
"basinhopping step 50: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 51: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 52: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 53: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 54: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 55: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 56: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 57: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 58: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 59: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 60: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 61: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 62: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 63: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 64: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 65: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 66: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 67: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 68: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 69: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 70: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 71: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 72: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 73: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 74: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 75: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 76: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 77: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 78: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 79: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 80: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 81: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 82: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 83: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 84: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 85: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 86: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 87: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 88: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 89: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 90: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 91: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 92: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 93: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 94: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 95: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 96: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 97: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 98: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"basinhopping step 99: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.405 old stepsize 0.45\n",
"basinhopping step 100: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 101: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 102: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 103: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 104: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 105: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 106: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 107: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 108: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 109: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 110: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 111: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 112: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 113: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 114: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 115: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 116: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 117: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 118: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 119: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 120: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 121: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 122: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 123: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 124: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 125: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 126: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 127: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 128: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 129: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 130: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 131: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 132: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 133: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 134: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 135: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 136: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 137: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 138: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 139: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 140: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 141: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 142: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 143: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 144: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 145: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 146: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 147: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 148: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 149: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.3645 old stepsize 0.405\n",
"basinhopping step 150: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 151: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 152: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 153: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 154: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 155: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 156: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 157: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 158: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 159: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 160: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 161: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 162: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 163: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 164: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 165: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 166: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 167: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 168: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 169: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 170: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 171: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 172: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 173: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 174: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 175: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 176: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 177: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 178: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 179: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 180: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 181: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 182: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 183: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 184: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 185: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 186: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 187: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 188: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 189: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 190: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 191: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 192: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 193: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 194: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"basinhopping step 195: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 196: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 197: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 198: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 199: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.32805 old stepsize 0.3645\n",
"basinhopping step 200: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 201: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 202: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 203: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 204: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 205: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 206: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 207: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 208: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 209: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 210: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 211: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 212: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 213: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 214: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 215: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 216: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 217: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 218: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 219: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 220: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 221: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 222: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 223: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 224: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 225: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 226: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 227: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 228: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 229: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 230: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 231: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 232: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 233: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 234: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 235: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 236: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 237: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 238: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 239: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 240: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 241: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 242: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 243: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 244: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 245: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 246: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 247: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 248: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 249: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.295245 old stepsize 0.32805\n",
"basinhopping step 250: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 251: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 252: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 253: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 254: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 255: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 256: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 257: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 258: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 259: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 260: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 261: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 262: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 263: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 264: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 265: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 266: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 267: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 268: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 269: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 270: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 271: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 272: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 273: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 274: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 275: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 276: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 277: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 278: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 279: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 280: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 281: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 282: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 283: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 284: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 285: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 286: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 287: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 288: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 289: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 290: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"basinhopping step 291: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 292: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 293: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 294: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 295: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 296: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 297: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 298: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 299: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.265721 old stepsize 0.295245\n",
"basinhopping step 300: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 301: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 302: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 303: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 304: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 305: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 306: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 307: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 308: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 309: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 310: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 311: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 312: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 313: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 314: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 315: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 316: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 317: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 318: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 319: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 320: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 321: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 322: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 323: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 324: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 325: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 326: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 327: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 328: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 329: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 330: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 331: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 332: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 333: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 334: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 335: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 336: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 337: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 338: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 339: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 340: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 341: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 342: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 343: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 344: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 345: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 346: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 347: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 348: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 349: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.239148 old stepsize 0.265721\n",
"basinhopping step 350: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 351: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 352: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 353: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 354: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 355: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 356: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 357: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 358: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 359: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 360: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 361: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 362: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 363: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 364: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 365: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 366: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 367: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 368: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 369: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 370: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 371: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 372: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 373: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 374: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 375: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 376: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 377: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 378: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 379: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 380: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 381: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 382: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 383: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 384: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 385: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 386: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"basinhopping step 387: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 388: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 389: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 390: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 391: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 392: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 393: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 394: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 395: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 396: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 397: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 398: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 399: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.215234 old stepsize 0.239148\n",
"basinhopping step 400: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 401: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 402: f 0.0778683 trial_f 0.0443486 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 403: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 404: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 405: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 406: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 407: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 408: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 409: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 410: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 411: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 412: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 413: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 414: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 415: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 416: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 417: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 418: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 419: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 420: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 421: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 422: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 423: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 424: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 425: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 426: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 427: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 428: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 429: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 430: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 431: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 432: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 433: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 434: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 435: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 436: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 437: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 438: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 439: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 440: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 441: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 442: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 443: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 444: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 445: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 446: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 447: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 448: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 449: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.19371 old stepsize 0.215234\n",
"basinhopping step 450: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 451: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 452: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 453: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 454: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 455: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 456: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 457: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 458: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 459: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 460: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 461: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 462: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 463: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 464: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 465: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 466: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 467: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 468: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 469: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 470: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 471: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 472: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 473: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 474: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 475: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 476: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 477: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 478: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 479: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 480: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 481: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 482: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"basinhopping step 483: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 484: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 485: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 486: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 487: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 488: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 489: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 490: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 491: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 492: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 493: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 494: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 495: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 496: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 497: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 498: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"basinhopping step 499: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
"adaptive stepsize: acceptance rate 0.000000 target 0.500000 new stepsize 0.174339 old stepsize 0.19371\n",
"basinhopping step 500: f 0.0778683 trial_f 0.0778683 accepted 0 lowest_f 0.0778683\n",
" fun: 0.07786832752499848\n",
" lowest_optimization_result: fun: 0.07786832752499848\n",
" hess_inv: array([[ 5.22254597e-01, -1.29050283e-02, 8.13780870e-03, ...,\n",
" -3.72144167e-02, -2.43879725e-01, -3.51665415e-02],\n",
" [-1.29050283e-02, 8.94968180e-01, -3.90914801e-02, ...,\n",
" -6.78434186e-02, -4.69237677e-01, 1.78550412e-02],\n",
" [ 8.13780870e-03, -3.90914801e-02, 4.34111978e-01, ...,\n",
" 2.31749572e-02, 1.42792894e-01, 5.22209578e-02],\n",
" ...,\n",
" [-3.72144167e-02, -6.78434186e-02, 2.31749572e-02, ...,\n",
" 5.54351200e-01, 4.51135860e-01, -7.22153341e-03],\n",
" [-2.43879725e-01, -4.69237677e-01, 1.42792894e-01, ...,\n",
" 4.51135860e-01, 9.28347320e+00, 1.23461104e+00],\n",
" [-3.51665415e-02, 1.78550412e-02, 5.22209578e-02, ...,\n",
" -7.22153341e-03, 1.23461104e+00, 1.00696912e+00]])\n",
" jac: array([ 1.97440386e-07, -4.54485416e-07, -1.53388828e-06, 1.49104744e-06,\n",
" 1.17532909e-06, 4.91738319e-07, 2.53319740e-07, -1.34110451e-06,\n",
" 7.66478479e-07, -1.68569386e-06, 0.00000000e+00, 0.00000000e+00,\n",
" 0.00000000e+00, 0.00000000e+00, 4.83915210e-06, 2.09175050e-06,\n",
" 1.68289989e-06, 1.72760338e-06, -2.01910734e-06, 2.49966979e-06,\n",
" 8.55885446e-07, -1.38767064e-07, 1.18464231e-06, -2.11503357e-06,\n",
" -3.34344804e-07, 5.53205609e-07, -4.88664955e-06, -3.13017517e-06,\n",
" 3.44496220e-06, 2.74740160e-07, -1.95018947e-06, -3.44589353e-08,\n",
" -2.14949250e-06, 1.59256160e-06, -1.22934580e-06, 1.90269202e-06,\n",
" -4.39584255e-07, -4.88385558e-06, 0.00000000e+00, 0.00000000e+00,\n",
" -5.58793545e-08, -1.90641731e-06, 5.92321157e-07, -3.27732414e-06])\n",
" message: 'Optimization terminated successfully.'\n",
" nfev: 7774\n",
" nit: 138\n",
" njev: 169\n",
" status: 0\n",
" success: True\n",
" x: array([ 1.95428421, 7.91416969, 32.34786739, 17.86317204, 12.07463287,\n",
" 13.18656755, 1.98052838, 1.95709283, 13.95355995, 1.98198308,\n",
" 20.99815544, 2.25017301, 6.91912223, 19.93071232, 21.39504609,\n",
" 10.4421514 , 17.67783541, 15.07919317, 32.36526511, 5.95786973,\n",
" 1.9514788 , 16.04555505, 26.80284085, 20.0221211 , 6.27720512,\n",
" 11.98429207, 10.21845164, 7.49347782, 16.19320619, 7.52734249,\n",
" 20.84870736, 20.07227561, 26.17538251, 14.05961536, 26.78212883,\n",
" 7.9642328 , 27.30057605, 1.99336064, 13.55875539, 19.63911027,\n",
" 7.96085439, 1.96973856, 31.77248474, 11.9089529 ])\n",
" message: ['requested number of basinhopping iterations completed successfully']\n",
" minimization_failures: 0\n",
" nfev: 1651814\n",
" nit: 500\n",
" njev: 35909\n",
" x: array([ 1.95428421, 7.91416969, 32.34786739, 17.86317204, 12.07463287,\n",
" 13.18656755, 1.98052838, 1.95709283, 13.95355995, 1.98198308,\n",
" 20.99815544, 2.25017301, 6.91912223, 19.93071232, 21.39504609,\n",
" 10.4421514 , 17.67783541, 15.07919317, 32.36526511, 5.95786973,\n",
" 1.9514788 , 16.04555505, 26.80284085, 20.0221211 , 6.27720512,\n",
" 11.98429207, 10.21845164, 7.49347782, 16.19320619, 7.52734249,\n",
" 20.84870736, 20.07227561, 26.17538251, 14.05961536, 26.78212883,\n",
" 7.9642328 , 27.30057605, 1.99336064, 13.55875539, 19.63911027,\n",
" 7.96085439, 1.96973856, 31.77248474, 11.9089529 ])\n",
"181.06821354785862\n",
"-988\n",
"All constraints exactly satisfied: False\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD5CAYAAAA3Os7hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzsnXdcU9f7xz8BgQAiIEs2iIgDJZIIOLBuBVGrbcXaOnCwHLXaOqqi1lpHa61aQZw46957b1HDFlAUFJwUUXYGkOf3h5WvVkYISW7Cj/frlZeSe885nwvJc8895xksIkIDDTTQQAPqjwbTAhpooIEGGpAPDQa9gQYaaKCe0GDQG2iggQbqCQ0GvYEGGmigntBg0BtooIEG6gkNBr2BBhpooJ7QYNAbaKCBBuoJDQa9gQYaaKCe0GDQG2iggQbqCY2UOZipqSk5ODgoc8gGGlAZxGIxSkpKUFxcjJKSEpSUlICI0KhRI7BYLLBYLEgkEkgkEpSXl0NXVxd6enrQ09ODvr4+dHV1mb6EKiktLa24NqFQWHEdAKChoQENDQ2w2eyKa9HS0mJYsXoRExPzmojMajpPqQbdwcEBfD5fmUOqPGVlZUhNTQWfz0dMTAxiYmLw8uVLCIVCiEQiaGtrg81mw8zMDO7u7uByueByuWjXrh10dHSYlt9ADYjFYhw+fBjh4eG4d+8ePDw8wOPxKv6O1tbWYLFYn7QrLCxEXFxcxWfi7t27yMnJQVBQEMaNGwcLCwsGruZ/CAQC7N27F/v37wefz0dZWVnFNbVt2xYGBgYVNyCBQICioiLcu3ev4noaNWoELpeLL774AsOHD1fpm5UqwGKxMqU6T5m5XHg8HjUY9HezmSNHjiAyMhK3bt2CjY1NxZeBy+XCzs4ObDYbOjo6EIvFEAqFePnyJWJjYyu+EA8fPgSHw8H48eMxfPhw6OnpMX1ZDXzA8+fPERkZiQ0bNsDFxQWhoaH4/PPPoa2tLXOfMTExiIiIwP79++Hr64vQ0FB06dKl0huCokhPT8e6desQFRUFDw8PjB49Gl5eXrC1tZVaBxHh6dOniI6OxtatW3Hnzh2MHj0awcHBaNGihYKvQD1hsVgxRMSr8UQiUtqLy+XS/2eePXtG8+fPJysrK+rWrRv9/fffVFBQIFNfJSUldPz4cfLz8yMTExOaNm0apaWlyVmx4hAIBHT37l06ceIEHThwgHbt2kUHDhygkydPUkxMDAmFQqYlykRZWRktX76cTExMaOLEiXTv3j25j/HmzRtauXIlOTk50eeff04vX76U+xj/JTU1lXx8fMjU1JR+/PFHevTokdz6Tk9PpxkzZpCZmRn179+fUlNT5dZ3fQEAn6SwsQ0GXQnk5+dTYGAgGRsb08SJEykpKUmu/T9+/JhmzZpF5ubmNHToUHrx4oVc+5cHSUlJFBERQePGjSMOh0O6urrUvn176t+/Pw0ZMoT8/f1pyJAh1L9/f3J1dSVdXV1yd3enCRMm0Lp16yglJYXpS6iR1NRU8vLyou7du1NGRobCxxMKhTR79mwyNzenXbt2kUQikfsYH96gVq1aRSUlJXIf4z0CgYBWr15NpqamtHz5ciorK1PYWOpGg0FXEc6cOUN2dnYUGBhIeXl5Ch1LIBDQnDlzyNzcnHbs2KGQL3ht9Wzbto28vLzIxsaGAgICaO3atRQdHV2jYSguLqabN2/SmjVraMyYMWRlZUVdu3alXbt2kUgkUtIVSMeHRm/t2rVUXl6u1PHv3LlDbdq0oc8//5xevXolt34/vEGlp6fLrd+ayMjIoB49epCnp2fDbP1fGgw6w+Tn59P48ePJzs6Ozp49q9Sx7969S66urjR48GClPI7/l6dPn1Y8Qvft25cOHz5MpaWldepTLBbT/v37qWfPnmRhYUE//fQTPX/+XE6KZUckEpG/vz916dJFKbPyqhAKhTRz5kxycHCQy9Lbli1byMTEhP766y+l36CIiMrLyyk8PJxMTU1p8+bNSh9f1Wgw6Azy6NEjat68OU2YMIHy8/MZ0SAUCmnOnDlkYWFBt2/fVsqYEomE1q1bR6ampjR16lSFremnpKTQpEmTKr7sTD2JlJSUkK+vLw0aNIgEAgEjGv7L+vXrycrKihITE2XuY+XKlWRnZ6cSs+P79++Tvb09rVixgmkpjNJg0BkiMTGRrK2tKTIykmkpRER09OhRMjMzowsXLih0nCdPnlCvXr2oY8eOlJycrNCx3hMfH08cDod8fHzo6dOnShnzPWKxmPz8/Mjf35/EYrFSx66JXbt2kaWlpUw31GXLlpGzszNlZmYqQJlsZGVlkYuLCy1ZsoRpKYwhrUFvcFusA4cOAbt2AULhu58LCwsRHX0Lbdu2hZWVNbPiPiA3Nxd8Ph88Hg8mJiZy7z8rKwupqalwcnKCk1NzsFjKC0CWSCR49OgRHj9+jLZt28DGxlYJoxLi4uJRWloKHo8HDQ3VC7jOysrCw4dp6NKlK9hstlRtMjMz8ejRI3Tp0hlstmr5hQuFQty8eQNOTk6wt3dgWo5MsNnAiBHAkCG1byut26LqfRLViA+NeUlJCW7fjkbr1m1UypgDgImJCbhcd8TE8JGfnyfHngmpqanIyEhH586d0aJFC6Uac+BdFGLLli3RqZMXHj58iLS0NACKnaQ8ffoMhYUF4HK5KmnMAcDOzg42NrZISEiANL+P3NzXSEtLg5eXl8oZcwBgs9nw8vJCWtpDvH79mmk5MiEUvrMZikQ1P41qwntjTiRBTEwMmjdvDhsbG2ZFVYGpqRnatWuPu3f5KC0tlUOPhKSke3j9+jU6d+4CAwMDOfQpO02aGKJz5y54+fIlUlJSoCijLhQKkJqaAg6HA01NTYWMIS+cnZ0hEonw9OnTas8rKytDQkIC2rdvD319fSWpqz16evpwc2uPhIQElJWVMS1HJt7bDEWh1ND/+kp6ejo8PBbhzJkzUGLQngxYIjBwPoC9WL9+vcy9EBF+/PFH5ORcR2LiWTRpInv0o3zRwdu37dGrVy906OCHn3/+Wa69ExH8/L7ETz95YP78fnLtWzFoIDHRCL16cXH8eFyVk41Jk6bCwqIIUVFRypUnExYICJgFPb2DWLt2LdNipGbgQCUNJM1Cu7xe9W1T1M+P6LPP8klL67RKbSJVR35+Ptnb29OZM2dk7mP58uXUrl07ys3NlaMy+ZGdnU0uLi60Zs0aufYbFRVFHA5H5TZBa2LhwoXk4+NTqTfQpUuXyNramt68ecOAMtl4+/Yt2djYKHyjX574+f3vJQto8HJRPAMGlJOh4VVq1+4J01JqxdmzZ8nOzk6mQKe4uDgyMzNTuldJbcnIyCBTU1O5RZgKBAIyNzen2NhYufSnTMRiMbm6utLJkyc/el8kElHz5s3p+PHjDCmTnRMnTpCDg4PapIhQlkFvWEOvA0+eZEJLqxHs7e2YllIr+vTpg379+mHBggW1aicWizF69Gj89ttvKrtX8B5HR0csWrQIY8aMkct66/79+9GhQwd06NBBDuqUi5aWFr7//nuEh4d/9P7Bgwdhb2+PAQMGMKRMdnx9feHk5ISDBw8yLUWlaDDoMiKRSPD48WO4uLgAUOmF80oJCwvD1q1bUVRUJHWbX3/9Fba2thg1apQClcmPwMBANG7cGH/88Ued+1q7di1CQ0PloIoZhg8fjlu3buHx48cV74WHh2PixIkMqqobEydO/OQm9f+dBoMuI+fPn0ejRpowNjZmWopM2NjYoHv37ti5c6dU58fHxyM8PByRkZFKTddaFzQ0NLBp0yb89ttvSE1Nlbmf2NhYvHjxQi1nsu/R09PDqFGjEBkZCQBISkpCeno6Bg0axLAy2Rk4cCCePHmCxMREpqWoDA0GXUbWrl2Ld9WX1MO4VUZoaCjWrl37bjOlBubNm4eFCxfC2lq1fOxrwsHBAbNmzUJYWJjMfURERCAoKEjl3RRrIjg4GJs3b4ZQKERERAQCAwPVunJQo0aNEBgYiIiICKalqAwNkaIykJmZCXd3d3h6ZkNT853n57FjDIuSAYlEgtatW2PTpk3o2rVrlec9efIEPB4PWVlZallIIz8/Hw4ODkhOToaVlVWt2hIRLCwswOfzYWenXnslldGpUycsWLAA/v7+SE5OVrsb9H95+fIlWrdujezs7DpX8CIivHjxAjExMUhMTERBQQGEQiHKy8vBZrPBZrPRvHnziqpMtbkZfui2KIutaIgUVSB79uyBv79/hTFXVzQ0NDBu3Djs2LGj2vMiIyMxatQotTTmAGBoaAh/f39s3Lix1m2fPn0KTU1N2NoqI6WA4vHw8MCpU6dgY2Oj9sYcACwtLWFnZ4d79+7J1D49PR0///wz/Pz8YGlpCTc3N6xduxaFhYUwMTGBk5MTWrduDUtLS+jo6ODy5csYMWIEDA0N4eHhgZCQEBw7dgzl5eVyvjLZUG+LxBB37tzB0KFD8fffTCupO97e3tizZ0+Vx0UiETZv3ozr168rUZX8CQ0Nha+vL3766Sc0aiT9xz4mJgZcLldt9g1qgsvlYs2aNeByuUxLkRtcLrfi7yQN5eXlOHnyJMLDw8Hn8/Htt99i7NixWLt2Lezs7KT6WxcWFiI+Ph58Ph+LFy/GpEmTEBwcjHHjxsHc3LyulyQzDTN0GYiJiQGPV3N5P3XAzc0NqampEIlElR7fv38/OBwOnJ2dlaxMvrRv3x6Ojo44Vsvn3doYCnWAx+MhLS2t3nx+gXcGXZql3NLSUvz+++9o3rw5Fi9ejK+//hpZWVlYuXIlhg4dCnt7e6lv3AYGBvD29sb333+P6OhoHDx4EOnp6XBxccGIESPw8OHDul6WTDQY9FqSm5uLN2/e1Jtitnp6enBycqrykfXUqVP46quvlKxKMQwbNgynTp2qVZv6ZtBdXFxQVFSEli1bMi1FbryfoVdHQkICPDw8cPHiRRw8eBDR0dEYNWoUdHXlk4iMy+Vi48aNyMjIQPv27dGpUyesXLlS6UsxNRp0Fotly2KxLrFYrBQWi5XMYrG++/f9piwW6xyLxXr477/q6b9XS2JjY9GhQweVzbInCzwer8oZTkxMDDp27KhkRYqBx+PV+MX/L/fv30ebNm0UpEj5vI8olJchUwXc3NyQkpJSadK50tJSLFy4EH369MF3332HEydOKPQGbWxsjFmzZiE6OhqHDh3CZ599ptTZujRWqQzAdCJqA8ALwEQWi9UGwCwAF4jIGcCFf3+u9yQmJsLNzY1pGXKFw+EgKSnpk/cLCwuRlZVVbwxaTctLlSEQCFQ6A2FtKS4uhoaGhlSuquqCnp4etLW1UVxc/NH7GRkZ8PDwwJ07dxAXF4cxY8YobS+kRYsWuHz5Mr766it06tQJWVmZShm3RoNORC+JKPbf/xcCSAVgDWAwgK3/nrYVwOeKEqlKFBQUqG0wUVUYGRmhsLDwk/fj4+Ph6uqq1r7KH1LT8lJlCIVCqQtEqANCoRCampoQCARMS5Erurq6H11TcnIyunXrhoCAABw/fpwRjx4NDQ189913uHnzJh49Sv93pq7YG2mt1g1YLJYDgA4AbgOwIKKX/x56BcBCrspUlPr2BQfeFQ+o7Ate39aPAek30N7DYrHq1Wz2/bJEfVoyBN7lq3l/bYmJiejVqxeWLVuGKVOmMO6h1LJlS3Tu3BkvXjzH/fsPFDqW1H9VFovVGMABAFOJqODDY/9mA6v0U89isQJZLBafxWLxc3Jy6iRWFSgvL1f7iMH/oqmpWWkCq8ePH6u9d8t/cXZ2xpMnT6Q+n81mQ6joqgRKREdHBxKJpF6toQPv3GvZbDYePnwIHx8frF69Gt988w3Tsipgs9no1KkzXr16heXLlytsHKkMOovF0sI7Y76TiN6nN8tmsViW/x63BPBPZW2JaD0R8YiIZ2ZmJg/NjFLfvuDAu6eOyr7gVb2vzujq6tbq79e4cWMUFBTUfKKaoKurC4lEUq/2BYB3ex1isRj9+/fHggULMGzYMKYlfYK2tja8vDyxbt26amM/6oI0Xi4sAJsApBLRh2nrjgIY/e//RwM4In95qoeuri5KSkqYliFXSkpKqjTo9W156b9rrTXRtm3bepX8SUtLCxKJBKampkxLkRu5ubnQ0NDAwoUL0bNnT0yYMIFpSVXCZuti7969mDJlCl69eiX3/qWZoXcBMBJATxaLFf/vyxfAUgB9WCzWQwC9//253uPk5IQHDxS7DqZsHjx4ACcnp0/e19TUVJmQZnlRVlZWq0hRaXyc1Ynk5GTo6enVKfukqhETEwMHBwecPXsWK1asYFpOjfB4PIwfPx4hISFy35+RxsvlOhGxiKg9EXH+fZ0kolwi6kVEzkTUm4jeyFWZilLfvuBA1ZuftZ3NqgMCgaBWy0j17e/93vjVhyR577lx4wYeP36MDRs2oEmTJkzLkYqwsDA8fPgQf8s5f0j92upWAk5OTsjPz8fr16+ZliIXJBIJ4uLiKjXoTZo0wZs39es+/fbtWxgYGEh9PpfLRWxsbL3xdOHz+ejYsWO9uklt374dPB4Pffv2ZVqK1Ojo6CAqKgrff/89/vmn0u1HmWgw6LVEQ0MD7u7u9eYL8fDhQxgbG8PExOSTY25uboiPj2dAleKIi4urVWCYhYUFGjduXG+W2W7dugUfH596M0N/+fIlMjMzFeo5oih4PB4GDx6MdevWya3PepttkYiQlZWF2NhY5OTkVOyC6+jogM1mw9zcHFwuFzY2NrX2U/2fL3M/xYhXInw+v8pETVwuFzNnzlSyIsVBRDL51vv7+2Pz5s1qaTQ+5O7duygoKMDQoUPx448/IjY2Fu7u7kzLqhOLFi2Crq6u2l7HxIkTMWDAgFpnAa2KemPQy8vLcfbsWVy/fh0xMTGIiYlBo0aNwOVyYWVlBTabDW1tbYjFYgiFQjx//hxBQUEgInC5XHC5XHTr1g29evWq0c/c19cXkydPhqPjT1DnikUAsHv3bnz+eeVBvh8uL9UHr4inT59CQ0Oj1lGDwcHB8PLywsKFC9XajTMiIgLBwcHQ0tJCUFAQIiIisGHDBqZlyUxZWRm2bt2KgIAAtQ2UcnNzg4ODA44dO4YhQ4bUvcP3yXqU8eJyuSRvsrOz6ddffyU7Ozvy8PCgsLAwOnr0KD1//rzGthKJhJ4+fUqHDx+mefPmkbu7Ozk6OtKyZcsoJyen2natWrWiTp1ek58fkZ+fPK9IeTx+/JhMTEyouLi4ynO6d+9Op0+fVqIqxXHw4EHy8fGRqW3//v1p69atclakPHJzc8nQ0JCys7OJiOjly5dkaGhIb9++ZViZ7Gzfvp00NTXp5cuXTEupkfd2ojJbsXPnTurdu3e17QHwSQobq563NbzLM/LNN9/AxcUF6enpOHjwIG7fvo2FCxdi4MCBUpUaY7FYsLGxweDBg/Hzzz+Dz+dj9+7dSElJQYsWLTBq1KhKk1axWCyEhoYiM/OJAq5MeUhTicjDwwNXr15VoirFce3aNXh6esrUNjQ0VK0rzEdFRcHPz6+i+EKzZs3g4+ODrVu31tBSdfn111/RsWNHNGvWjGkpdeKLL75AYmIi0tPT696ZNFZfXi95zNCFQiHNmTOHzM3NacWKFfTmzZs691kZr1+/pmXLlpGpqSktWLCAxGLxR8fz8vKoUaNT1KePQC1n6EKhkMzNzenBgwfVnnfv3j2ysrL65PrVjZKSEjI1NaVHjx7J1L6srIwcHR3p7NmzclameAoKCsjW1pZu3br10ftXr16lli1bUmlpKUPKZEckEhGLxaLjx48zLUUqqpuhExF9/fXXtGXLlirboz7O0N9XCrp37x4SEhIwbdo0hWU+NDExwYwZMxAXF4fbt2/Dw8MDCQkJFccNDQ1hZWWFx4+fKGR8RbN9+3a0b9++xkIHbdu2hbOzM44cUe9A4H379oHH41UaQCUNmpqaiIiIwIQJE9QuFcCMGTPQp08feHl5ffR+165dYWtrqxbBOP/lp59+go6ODnx9fZmWIhfkFu8gjdWX10vWGXp5eTmFhYWRubk57dixgyQSiUz9yIpEIqHNmzeTqakp/fLLLxXj9+5dQlpap6lbt3yl6qkrL168IDMzM+Lz+VKdv2fPHurRo4eCVSkWT09POnr0aJ37GTduHAUFBclBkXI4f/482djYVLlW/vjxYzI1NaXk5GQlK5OdlJQUaty4Mfn6+jItRWpqmqFfunSJvLy8qmwPKWfoKm/QS0tL6dtvv6WuXbsyvvnx9OlT8vT0pPHjx1NZWRn5+RG5uWVSkyZX1GZJQiKR0KBBg2ju3LlStxGJRGRpaUkpKSkKVKY4+Hw+2dnZUVlZWZ37ysvLIzs7Ozp37pwclCmWgoICsre3p5MnT1Z7XkREBHl4eKjF0ktZWRl5enpSjx49aOnSpUzLkZqaDHpeXh7p6elV+TeQ1qCr9JJLaWkphg0bhtzcXJw5c4bxzQ8bGxucP38eGRkZ+Pbbb0FEsLW1hY6ODpYuVY9UNjt37kRGRgbmzp0rdRttbW2EhoZizpw572YBagQRYe7cuZg8ebJc0h4bGhpi/fr1GDdunFwj/OQNEWHKlCno1asXfHx8qj03KCgIBgYGarH0smLFCujr66OsrKxe5eo3NDSEtbV1nXPsqKwfukQiwZgxYyAWixEQcASjR2tBNbLWNgabfRbnz9+Brm4i3Nzaw82tPVav9sPAgQPB4XCYFlglz58/x/Tp03Hy5Eno6OjUqu0PP/wALpeLPXv2YPjw4QpSKH+2bNmC7OxsfPfdd5UeLyoqQnx8fEXsQkpKCoqLiyEUCkFEYLPZ0NfXh4uLS0W8QqdOnTB69Gj0798fly5dgqGhoZKvqmbmzJmDpKQkXLx4scZzWSwWNm3aBE9PT7Rp0wYDBw5UgsLac+LECaxYsQK3b99Gv379YGNjw7QkuWJjY1PnSYLKGvSZM2fi2bNnOH36NEaNUhVj/g4NDU3weB0RHR2NBw8ewM2tFf766y8MHDgQV69ehaOjI9MSP+HNmzfo378/pk2bJtPMhs1mY8uWLRg4cCB69OgBCwvVL1D17NkzzJw5ExcuXPiojN6LFy+wYcMG7N27F48fP4arq2tFYNnEiRNhYGBQEUAkFApRVFSE5ORkxMTE4MCBA0hISIC1tTWaNGmCXr164cKFCypj1IkIixcvxuHDh3H16lWpk1XZ29vj6NGj8PPzw549e9CjRw8FK60dV65cQUBAAI4dOwYHB4d6mdpZHrUWVNKgX7lyBbt27UJSUtK/BQmYVvQpjRo1QseOHXH16lmMHcuCv78/cnJy0KdPH1y5coWRGoZVUVBQAF9fX/Tr1w8zZsyQuR8PDw+MHTsWISEhOHDgAOOlvaqDiDBhwgRMmTIF7du3BxHh8uXLCA8Px4ULFzB8+HBERUWBw+FIVTO1Y8eOGDNmDIB3EYr37t3D1q1bERERAXt7e6xbtw7Dhg1jNGKRiDBjxgycPn0aFy5cqHV0r4eHB/bu3Ythw4Zh27Zt6N+/v4KU1o4zZ87g22+/xZ49eyriCEQiUa2fMlUdHR2dWhUwrxRpFtrl9ZJmU7SoqIiaN2/+kUdCTRsKTLJ3715q1aoVCQQCIiJatmwZOTo6Unp6OsPK3pGTk0NcLpdCQ0Pl4h0kEAioTZs2tG7dOjmoUxwrV64kDodDYrGYLl26RG3atKG2bdtSeHg4FRQUyG2coqIiGjBgAGlra5OVlRWdOHFCbn3XhlevXtGQIUPIw8ODcnNz69TXjRs3yNzcnLZu3ap0j7IPkUgktH37djI3N6fr169/dMzW1paePHnCkLLaI40N8/X1pWPHjlV6DOrq5TJp0iQaOXJkrX8ZTPLll1/Sjz/+WPFzREQEWVtb0+XLlxlURZSQkECtWrWi2bNny/WLmZaWRlZWVrR371659SlPtm7dSra2tnTv3j2aNGkSWVtb05EjRxRqnA4fPkwmJiZkYGBA33zzjdJC6iUSCe3evZssLCxo5syZFROLupKYmEht2rShoUOH0qtXr+TSZ23Izs6mL774glq3bk0JCQmfHG/ZsiWlpqYqXZesSGPDevToQefPn6/0mFoa9MuXL5OVldUn0Z+qbtCzs7PJwsLio0i848ePk5WVFU2ePJmKioqUqkcsFtPPP/9MpqamtHnzZoWMkZCQQObm5nTgwAGF9C8rO3fupGbNmlFUVBQ1b96cRo0apbBo4v+Sm5tL/v7+1KRJEzIzM1P4bP3Vq1c0dOhQat26NUVHR8u9f4FAQLNmzSJzc3P6+++/lTJbl/YG1aVLF7p48aLC9cgLaWxYq1atKD4+vtJjamnQu3fvTjt27JDpl8E0Gzdu/CTxU25uLo0cOZKaN2+utNl6QkICubu7U79+/SgrK0uhY8XExFCzZs2qDVlWJuHh4WRtbU2TJk0iKysruQQSycKRI0fIxMSE2Gw2DR48WO4xComJiRQcHExGRkZynZVXxe3bt6l169Y0aNAgio6OVohhl0gkdPv2bfr888+lukFNnjyZfvvtN7nrUBQ12bCCggLS1dWt8rOidgY9OTmZmjVrRiKRqNa/DFWgulwhR48eJSsrKxoxYgTdvHlTIV+IpKQkCgkJIVNTU9q4caPS1j7v379PDg4OFBgYSPn5zETMvn37lsaMGUMtWrSggIAAateuHb148YIRLe8RCoW0bt06aty4Menr69PChQvrpEkoFNLff/9N3t7eZGVlRQsWLJAqo6i8EAgE9Pvvv1Pz5s3J3d2dNm7cWG2WTmkpLi6mTZs2EZfLJUdHR/rtt9+kukFFRUXR8OHD6zy+sqjJhl29epU6duxYZXu1M+iTJk2qMnpRHQw6EdEPP/zw0Vr6h7x9+5Z+//13cnJyIg6HQ+vXr6/zUoxIJKLdu3dTt27dyNLSksLCwhgxZHl5eTR+/Hiyt7dXegTliRMnyMbGhkJCQig4OJg8PT2VtsQiDYWFheTh4UEtW7akJk2akJOTEw0bNoyWLVtG58+fp9evX38UwSqRSKi4uJhiY2Npw4YNFBQURDwej/T09KhHjx60f/9+RqOSy8vL6dSpUzRw4EAyMTGhwMBA2rx5MyUkJEgVaVpaWkrLuNrOAAAgAElEQVQJCQm0efNmCgoKIhMTE/Lz86OTJ09SeXm51DqSkpLI2dm5LpeiVGqyYStXrqSQkJAq20tr0FnvzlUOPB6PKit9VVRUBDs7OyQmJlYaLPBhnMOxY4pUWDfS09Ph5eWFrKysKgshSCQSnDt3DuHh4bh+/Tq6desGLpcLHo8HLpcLMzOzKvvPy8tDbGxsRRDM5cuX0aZNG4SGhmLw4MFSud8pkjNnzmDChAnw8fHBsmXLYGRkpLCxcnNz8cMPP+Dy5cvYtGkTrl27hkOHDuHy5csKHVcWiouL0a9fP3To0AHBwcEf/Q0TExNRWFiIRo0aQUNDo8Idz8nJqeIzweVyweFwoK+vz+h1EBFevHhRof369et49OgRCgsLUVxcjNLSUujr68PExARWVlawtbVFs2bNwGKxUFRUhHv37iEpKQm2trYV1zVkyBCZ4jbKyspgZGSE58+fq0wMQHXUZMNGjhyJ7t27Y9y4cZW2Z7FYMURUeWmxD89TBYO+fv16nD59GgcPHqy0nboYdADw8fHBiBEjMHLkyBrPffbsGW7cuAE+n4+YmBjExsaiSZMmsLOzA5vNho6OTkWFpVevXuHly5fgcDgVX4bOnTujRYsWSrgq6cnPz8fMmTOxZ88efPXVVwgNDZVr9GxMTAzCw8Nx8OBBfPPNN1i6dCkuXryIqVOn4tatWyob8JSXl4euXbvixx9/xOjRoz86RkQoLS1FWVkZ2Gy2SlXfkUgkOHPmDDZt2oTr169DIpFUfP7c3d1haWlZUQ3szZs3SEpKQmxsLNLT05GVlYUXL15AV1cXLVu2xMiRIzFy5Eipg51qonfv3ggKCsJXX30ll/4USXU2rLS0FPb29rh06RJcXFwqbS+tQVeJJRd/f/9qq8Goy5ILEVFkZCSNHj1aprbl5eX08OFDunbtGp09e5aOHTtGZ86coatXr1JycrJckkspi5cvX9KiRYvIxsaGOnfuTNu3b6+2ClR1ZGdnU1RUFHl4eJC9vT0tWbKkovJObm4uWVlZ0dWrV+UpXyHExcWRmZkZPXv2jGkpNfL69Wtavnx5xZr5hg0bKDMzs9Z7M+8/03/88Qc5OztT+/btad26dVRYWFhnjbt371abLKDV2bB9+/ZRt27dqm0PdVpDd3JyqjZ9pzoZdD6fT66urkzLUBlKS0vp0KFD5OPjQ4aGhmRnZ0dDhgyhX375hU6dOkUJCQmUlpZGT548obS0NEpISKCTJ0/SokWLaPDgwWRjY0NGRkbk5+dHx44d++Sm9s0339CUKVMYurraM3/+fBowYACjATvVUVBQQJMmTSIjIyMaPXo03b59W25ay8vL6dy5czRkyBAyNjamsLCwSp0gpEUkElGzZs3UIgtodTasR48etHv37mrbS2vQGV9yycvLg62tLfLy8qrMhqdOSy4ikQjGxsZ4/fp1taXd/j8ikUiQnp5esQYbExODnJwcCAQCiMVi6OjogM1mw8LCouKxnsvlonnz5pWmGThy5AimT5+OhIQExteXpUUsFsPDwwPff//9J0svTHP+/HmMHz8evXr1wrJlyxRaGDwzMxOTJk1CZmYmoqKi4O7uLlM/8+bNQ35+PlavXi1nhfKlKhuWmpqKnj17IjMzE9ra2lW2V5sllwsXLlCXLl1kvrupIu7u7nTz5k2mZdRrSkpK1Gap5b+8X3pRFW+cgoICCg4OJltbWzp16pTSxpVIJLRt2zYyMzOTebaelZVFxsbGck3noAiqsmHVefd9CNQlH3pMTEy9ymsMADweTz7lpBqokr1794LD4cDb25tpKbWGw+GgT58+KlGgOS0tDRwOB2KxGElJSUpNyMVisTBy5EjEx8cjNjYWnTp1QnZ2dq36sLW1xaBBgzBv3jwFqVQcSUlJ2L17N0JCQuTWJ+MG/dmzZyqZbrYuODo64tmzZ0zLUCpEBIFAgDdv3iA7Oxv5+fkQi8XvNmoUQHh4uFy/CMomJCQE4eHhkEgkjGmIi4tD9+7dMWfOHGzatIkx9z8rKyscPXoUgwYNgre3NzIzM2vV/o8//sC+fftw7do1BSmUP6WlpRgzZgyWLl0KKysrufXLePpcgUBQpc+2usJmsyEQCJiWoTBKS0uRkpJSsQ7O5/ORmJgI4N21N2rUCCKRCAKBAE2bNv3Iz57L5cLa2rpOqXf5fD6ys7NrrMSjynTp0gVsNhsXL15E7969lT5+QkIC+vfvj/DwcHzxxRdKH/+/sFgszJ8/H0ZGRvjss89w7do12NraStW2adOmiIiIQEBAgNrspyxfvhxmZmYYO3asXPtlfIbekKhefUhKSkJISAjMzMzw9ddf49KlS3B2dsbvv/+Of/75BwKBAG/fvkVOTg4KCgogFovB5/MRGBgIIkJkZCS4XC5at26NVatWIS8vTyYdERERCA4OlktJOaZgsVgIDQ1FeHi40sd++PAhfHx88Ndff6mEMf+Q7777DpMnT0afPn2Qk5MjdbtBgwahU6dO+OmnnxSoTj4kJSXhzz//xIYNG+RfU0CahXZ5vSrbFB07dixt2LBBpg0FVWX16tU0ceJEpmXIBZFIRLt27aKuXbuStbU1LVy4sE45RCQSCV27do2+/vprMjIyovHjx1NsbGyt9BgYGFT4oaszBQUFZGBgoLRUu0TvcrK0atWKIiMjlTamLMyaNYt69uxZq3QAubm5ZGNjQ7t27VKgMtl4b7/69hWSi4tLrbOgQl02Rd9VJKpfs1mhUFgvlpHOnz8PFxcXbNy4EVOnTsXjx48RFhZWpzU/FouFrl27YteuXbh//z4cHR0xePBgfPnll1JtiCUnJ8POzg7m5uYya1AVDAwM0L59e8TGxiptzLCwMLi6uiIwMFBpY8rCL7/8guLiYkRGRkrdpmnTpjh16hSmTp2KEydOKFCdbJSWliI6+ja+/PJLBAQEKGQMxg1606ZNVbp6uizk5OTA2NiYaRkyU1hYiODgYIwdOxYRERG4cOECvvjiC7nnirGwsMBPP/2EtLQ0ODs7w83NDXv27Kl2I7W+eUVxuVxUlg5DEURHR2Pbtm1Yu3atUsarC5qamtiyZQvCwsLw5MkTqdu5urri6NGjCAgIwJEjRxQnsJaIxWJER0ejaVNjLFq0SGHjMG7QORyOUmcoyiA2NhYdOnRgWoZMnD9/Hu3atUNpaanS3NjYbDaWLFmCo0ePYuHChdXO1vl8fr0y6MpycRUKhQgICMCaNWvU5ummdevW+PHHHzFu3LhaeQN5enri5MmTCA4ORlRUlOIESsnTp09x8+ZNmJqawtXVVaG1eBk36Fwut175bBOR2s4iV61ahTFjxmDdunWMuLF5eHggNjYWzs7O4PF4SE1N/eQcdf3dVoWyPv9LliyBq6urWiSy+pDp06ejuLi41j77PB4PFy9exJIlSzB8+HC8fv1aQQqrhoiwZcsWuLu7w87OFq1btwag4MLq0iy0y+tV2aaoRCIhExOTajfa1GlT9NGjR2RjY8O0jFohkUho4cKF5OzsrDKFd7du3UrNmjUjPp9f8Z5EIiEdHR2ll/RTJGVlZaSrqyuXZFVVIRAIyMzMjB4+fKiwMRTJ+fPnqV27djLllCkpKaFp06ZRs2bNlFou8dmzZ+Tr60scDofi4+PrbMMgr01RFou1mcVi/cNise598N4CFov1nMVixf/78pX1hsJisZS6jqho1HEGuXTpUuzduxfXrl2Dvb0903IAAKNGjUJERAQGDBiAe/feffREIhGISC38jKVFU1MTTZo0QVFRkcLG2LdvH9zd3VUu1bK09OzZE2KxGDdu3Kh1W11dXaxYsQIHDhzA7NmzMXz4cKSlpSlA5TtKSkoQEREBDocDT09P3LlzB25ubgob779Is+QSBaCyhdSVRMT593WyLiI6deqEixcv1qULleHSpUvw8vJiWobUREREYNOmTTh37pzK5RL//PPPsXLlSvTv3x8ZGRn1MggNUHwgWnh4OEJDQxXWv6JhsVgVkbWy0rlzZ8THx6Nly5bw9vZG3759cfjwYZSVlclFY1paGqZNmwY7OzucOHEC586dQ1hYmNKLzkiVbZHFYjkAOE5Erv/+vABAERH9XpvBqipwkZGRAQ8PD2RlZVWaoVBdsi0WFBTAwcEBSUlJsLa2rvI8kUiEpKQkPHz4EAKBAAKBABoaGtDV1YWBgQFcXV3h7Oys8EIH8fHx6Nu3L6Kjo9G8eXOFjlUXVq5ciX379uHQoUNo06YNcnNzmZYkV1q0aIFTp07B2dlZ7n3HxsZiyJAhyMjIUOtArLy8PDg6OuL+/ft1nniIRCLs378f4eHhyMrKwtixY+Ht7Q0ulyu1d9qH0dK7d+9GQkICxo4di6CgIDg4OHxyfl1tmLTZFusS+j+JxWKNAsAHMJ2I3lYhJBBAIADY2dlV2lHz5s3h6emJPXv2KMw/Uxns2LEDPXv2/MSYZ2Vl4eTJkxWh8vfv34ezszNatWoFfX196OjoVORCyc/PR0JCAnJzc9GhQwfweDzweDz4+fnBwMBAblrFYjHGjBmD3377TaWNOfAuevDo0aPYuHFjvYtZABQbt7B161aMGzdOrY05ABgZGWHIkCH4+++/MXXq1Dr1paOjg969e8PY2BjHjx/H7t27sWbNGhQUFEBLSwuGhoYwNTWFtbU1nJyc4OTkhMaNG0MoFCItLQ0xMTEfldIbPXo0vvzyS+jo6MjpamVHVoMeAWARAPr33xUAKk1KQETrAawH3s3Qq+pw4sSJmD9/vtoadCJCeHg41qxZA+Dj2qHXrl3DwIED4eHhgXHjxsHNza3GL3Bubi5iY2PB5/Oxc+dOTJw4EV9//TVCQkLg6upaZ71LliyBjY0NRo0aVee+FI2GhgY2bdqEjh07QigUvkvkr0DXL2UjEAgUlv7i9u3bWL58uUL6VjafffYZTp8+LVNbsViMQ4cOYffu3bh79y6Ki4srcgzNnz8fhoaG0NLSwosXL5CcnIy0tDS8ePECqampeP36NSQSCczNzcHj8RAWFgZvb2+5TrDkhjQ7pwAcANyr7bH/vqqqWET0brff0dGRbt++/ckxdfByuXLlCrVq1YqKiopoxYoV1KJFC+JwOLR+/Xq5eGU8ffqUwsLCyNLSkrp160b79++XuZKMOpVC+5C//vqLtLW16cGDB0xLkRuvX78mAwODWoW4S0tpaSnp6empfK5wabl37x45OzvXqk1WVhbNnTuXmjVrRt27d6dt27ZRenp6rb87L1++pCNHjtCwYcPIyMiIgoKCKD4+Xur2yvJykcmgA7D84P/fA9gtTT/VGXQiojVr1tBnn332yYdb1Q16WVkZeXl50cyZM8nZ2ZmGDBlCN2/eVEiZMbFYTHv37iU3Nzfy9fWVySh7e3vTxo0b5a5N0ZSXl5OJiQkFBwczLUVunD17tsZ6krKSkJBArVq1UkjfTFBWVkb6+vqUl5dX47mZmZn05ZdfkrGxMU2aNKnaEpe15cWLF/Tzzz+TtbU1denShaKjo2tso0pui38DuAXAhcViPWOxWOMALGexWEksFisRQI9/jXqdCQkJgVgsZiQDXV1YunQpnj17hm3btmHp0qU4ePAgOnXqpJBlAS0tLXz11Ve4e/cuPD090aFDB2zZsqXacPkPSUhIQEZGhsqVP5MGDQ0N+Pr64uDBg1Jfr6rD5/PB49VcWUwW1NGFtjo0NTXh5uZWbWQ5EWHDhg3gcrngcDjIysrCmjVr0KZNG7npsLS0xLx58/DkyRMEBwdj8ODBmDlzpkrs79Ro0InoayKyJCItIrIhok1ENJKI2hFReyIaREQv5SHmff6GBQsWID09XR5dKpx9+/YhLCwMHA4HiYmJGDp0qFLG1dLSQlhYGM6dO4fVq1djwIABUuXEiYiIQGBgIBo1YjwVvkz4+/ujsLAQd+7cYVqKXFCk0Y2Pj1fbFBRV0aFDByQkJFR6LCsrC/369cP69etx6dIlzJkzB40bN1aYlkaNGuHbb79FYmIi0tPT4e7ujtu3bytsPGlgPPT/v7i4uGD27Nm1zt/ABKdPn8aIESMQEBCAY8eOKbSoblW4ubnhzp07aNeuHby9vfH06dMqz83Pz8eePXswfvx4JSqULx07dgQAtUgwVRNEpNDcNPn5+TAxMVFI30xhYmKC/Pz8T94/evQouFwuevTogVu3bsnFcUBazM3NsW/fPsyfPx+DBw/G0qVLGXuCVDmDDgBTp05FaWkpfv75Z6alVMnRo0fxxRdfoF27dli/fj2jWrS0tLBs2TIEBwfD29sbGRkZlZ63fft29OnTR64lr5SNubk5WrRogYMHDzKSn0Oe3L17FxoaGgrxPwfqZzUwXV3dT4Kwtm/fjsDAQJw8eRKzZ89m5OmTxWLB398fsbGx2LlzJ2bMmMGIUVdJg66pqYmDBw9i586dWL16NdNyPuHChQsYMWIELCwscPbsWYUHAEnL999/j5kzZ6JPnz548eLFJ8f37duHMWPGKF+YnJk8eTIMDQ1xTJWjzKQgPDwcwcHBCvv8lJWVqb3/+X9p1KgRSktLK36OiorCTz/9hIsXL1Y8vTGJlZUVrly5gmvXrmHKlClKN+qqYYkqwcLCAufPn8fvv/+OJ08eMy2ngsTERAwePBgGBga4du0aI8ss1RESEoIJEyagb9++KC4urnhfIpEgLi5OrdISVMWIESOQl5eHy5cvMy1FZnJzc3H48GG515T8EDabDZFIpLD+meDDIKz3+VnOnz8v103PutK0aVOcOXMGN27cQFhYmFLHVlmDDgD29va4cuUKMjIe4+HDNLyLY2IOkUiEPn36wMDAAHfv3q02vJ9JZs2aBQ6H81F9xbS0NJiamqJp06YMKpMP+vr68PHxwYULF5iWIjNbtmzB4MGDFTohYLPZKCkpUVj/TPA+CCspKQnBwcE4ceIEXFxcmJb1CYaGhjh9+jT27NmDXbt2KW1clTboAODo6IjOnTvj1atXuHPnDp4/f86IjszMTLRp0wZisRgJCQmwsbFhRIe0rF69Gvv378fVq1cB1D8XttmzZ+P58+d4+7bSjBMqjUgkQnh4OEJCQhQ6jr29vdp4i0nLo0ePYG1tjTFjxmDJkiVwd3dnWlKVmJub4++//8b3338PkUg5Lo0qb9CBdzONLl26wsjIGB06dEBUVJTS1qaICOvXrweHw0F2djbi4+PVouJL06ZNERERgbFjx6K4uBgxMTEK83dmAi6XiyZNmiA4OJhpKbVm4cKFcHNzg6enp0LHqW/FY4B3E5O4uDiYmZlh3LhxTMupES6XiwkTJiAxMQnKWGGQKtuivKgq22JNfJip7JdfEjBmzBhYWVlh9erVcHJykqPCj3nw4AEmTZqEN2/eoLi4GLNmzVK7TcVvv/0WJiYmePDgASZPnowBAwYwLUluDBo0CDdu3MC+ffvQs2dPpuVIxd27d+Hn54eEhAQ0a9as4v1Xr15VJG9LTU1FcXFxRd4aXV1d6Ovrw8XFBTweD1wuF5aWljWO9erVq4rslPUh901eXh6srKygr6+P2NhY2NraMi1JKkQiEczMbqFFixawtrZR2WyLjODm5laRcMjLywsdO3ZEaGgofHx85LKjX1ZWhuPHjyM8PBwJCQmYNm0abGxsEBkZqZbRlatWrUKLFi3g7OysmsmE6oCJiQlGjRqFcePGITExUeWvTyQSISAgAH/++SeMjIywY8cO7N+/H3w+HyUlJeByueByuRgwYAAMDAwqNv+EQiEKCwuRnJyMNWvWgM/nQ0dHBzweD0OHDoW/v3+l7onNmjWDnp4enjx5AkdHR2VfrtyJiYmBpqYmli5dqjbGHHiX3ZHD4eD27TswMzMHoK24waTJDyCvV025XKqiqjwIJSUltHXrVvL09CR7e3v69ddfKTY2lkQiUa36F4lExOfzadGiRWRjY0OdO3emHTt2kFAoJKJ3uU/2798vk3ZVIDg4mKysrOjOnTtMS5ErISEhtHbtWgoICKCgoCCm5dTIrFmzqG/fvjRjxgwyMzOjPn360M6dO2udLEoikdDjx49p9+7d5OPjQyYmJjR9+vRKS8wNGjSI9u7dK8/LYIygoCBq2rSpQnIkKRo/PyJr61hq3fqRTO0hZS4XtZuhf4iuri5GjRqFUaNGISYmBhs2bMDIkSPx+PFjtGnTpmLGY2VlBV1dXWhra0MsFkMgEOD58+cVj7gpKSlwcnKCt7c3jh07Bg6HUzFGUlIS0tPTMWjQIAavtG6EhIRg06ZNcqvOokpIJBL88ccf8PT0xJ9//lnnXNmKYunSpVi1ahXYbDbatm2L69evo2XLljL1xWKx4ODgAAcHB/j7+yM9PR2RkZHo1KkTeDwe/vjjj38LEgN9+vTBgQMH1K44dGXs27cPw4YNU9vlIwcHB8TFxUIicVRY7IFaG/QPeW+8AaC4uBjx8fGIiYnB9evXkZOTA4FAALFYDB0dHbDZbJibm4PL5WLMmDFwc3OrtFIS8L/cJ8ouJSVP2rdvD11dXVy4cAGdOnViWo7ceO+TbGRkhHPnzlXkqFalzTKJRIKxY8di27ZtmDlzJubNm1flZ01WnJycsHz5cixcuBAbN26Et7c3ZsyYgenTp2PkyJEICwvDy5cvpVp3V1VOnz6NvLw8/Prrr0xLkRljYyM0aqSFs2fPon//yqp6ygFppvHyesl7yUXRFBYWkrGxMT1//ly5AyuAdu3akZubG9My5MpXX31Fu3btqvj5wYMHZGtrS2vWrGFQ1f9IS0sjZ2dn0tLSoiNHjiht3IyMDOrRowd5enpSSkoKBQUF0c8//6y08RVBhw4dyNPTk2kZMvPefrVvn0mDBg2qdXvIK33u/2eio6Ph6uqq1rlP3tO1a1ekpKTUq8jB5OTkiqUFAGjZsiWuXr2KP//8E7Nnz4ZYLGZM2/bt2+Hm5oacnBzEx8crdcnO0dER58+fx+jRo+Ht7Q1LS0tERkaq7ZLbmzdvEB8fr9az8/dYW1vj2rVrePXqlUL6bzDo1VCfgnG8vLygp6eHpKQkpqXIhaKiIjx58gRt27b96H0HBwfcuHEDiYmJ8PDwQHx8vNK1zZ07F+PHj4erqysSEhIYCUvX0NBASEgIbt68iS1btkBLSwsHDhxQug558Pvvv0NLSws9evRgWkqd0dTURMeOHRWW/rnBoFdDfTLoXC4XEomk3gSaxMfHo23btpXubVhYWOD48eP4/vvv0bdvXyxYsEAps/Xy8nIMGjQIS5Yswdy5cxEdHV1lYXRl0bJlS1y7dg3l5eUIDAxUu8ja9PR0/PXXX+DxeGq7GfpfFBnw1WDQq6E+RVe2atUKIpEIt27dYlqKXKjpZstisTB69GjExcXh7t274HK52L59u0KqyojFYuzZswctWrTA2bNnceXKFcybN09lsnDa2toiOjoaAODj48OwGumRSCQYN24cOnXqhG7dujEtR240GHQGePv2LXJycmR2LVM1NDU14eLighs3bjAtRS7cuXNHqqcna2trHD9+HL/++it27twJOzs7zJw5s8qc8bXh6dOnmDdvHuzt7bFs2TK8ffsW8fHx6Nq1a537ljdWVla4ceMG+Hw+Fi9ezLQcqQgPD4dYLIa2tna9eVIGGgw6I2RlZcHe3l5lZlny4Isvvqi2opG6kJeXh5MnT8LPz0+q81ksFgYOHIjTp0/j5s2bKC8vh4eHB3r06IHZs2dj//79ePz4cbX5gYgIT58+xaFDhzB37lz07dsXHA4HeXl5OH78OAoLC7Flyxa0atVKXpcpd1xdXbF48WLMnz8fmZmZTMuplvT0dCxYsABbtmxBfHy8Sifhqi329vYQi8UK2RhVu1wuyqppcPv2bUyePLne1K4EUBECnp2drRYJxqpi1apViI6Oxt9//y1zHwKBABcuXACfz68IMBOJRHB1df0k7L6oqAjJyclgsVgV8Q5cLhe9e/dG48aNMW3aNLx69UqpaVLrQrt27fD69Wukp6fL3SdeHvzzzz/o1q0bpkyZgtDQUOjr6yM7O1uh9UEVzX9tWKtWrXDo0KGPvLSqo97mclEWQqEQOjo6TMuQK1ZWVmCxWNi8eTNmzZrFtByZICKEh4dj48aNdepHV1cXfn5+H83yX758iZSUFJSUlEAoFEIikUBXVxd6enpwcXGBjY3NJxtz169fx+7du5GYmFgnPcrk6tWrsLGxQffu3XHt2jWV+pzn5eWhf//+GDZsGEJDQ0FEFTnQ6xOVldKTBw0GvQq0tLTU1m+3KkpLS6GtrY1169bhxx9/VMvyZBcvXoS2trZC1qktLS1rFU1ZWlqKsWPHYu3atSpXuao6jI2NsWfPHvj7+2PAgAE4cuQI9PX1mZaF7Oxs9OvXDz179sTChQsBvNsYJSK1/KxWh5aW1kel9ORF/VkgljNsNlshHhFMIhQKoaenBwsLC+zevZtpObWGiLB06VJMnDhRJVzYjh49CgsLCwwZMoRpKbXGz88PnTt3RmlpKXr37s343kpycjK6deuGIUOGYMWKFRV/X01NTTRq1KjeTa5EIpFCnjoaDHoVGBsbq31V+f/y+vVrGBkZYfXq1Zg+fTr++ecfpiXVii1btiA3N1dlcrWEh4dj4sSJTMuQmUmTJkEsFmPgwIFwd3fHpk2blF7UuKysDEuWLEH37t0xc+ZMzJ8//5ObNZvNVsjyBJMoahmpwaBXgb29PQoLC5GTk8O0FLkRFxcHDocDT09PjB49Wq2M0bNnzzBz5kxERUWpRKK01NRUpKSkYOjQoUxLkZkBAwbg+fPn8PHxwcWLFxEeHg4fHx+lzdaTk5PRqVMnXLp0CTExMVUWzLaxscGTJ0+UokkZlJWV4fnz5x8VOJEXDQa9CjQ0NNChQ4d6E1kJAHw+v8Kfd+HChUhOTsbevXsZVlUzRIQJEyZgypQpaN++PdNyALzLwjl+/HhoayuwWIGCadSoEfsInugAACAASURBVIKCghAeHo527dohOjoa3t7ecHd3x6JFixSWbyQjIwM//PADunfvjsDAQJw5c6baiFp3d/d69T1MTU2FjY0NDA0N5d53g0GvhvpWk/HD6Eo2m40tW7ZgypQpjBXelpb169cjOztbZTxzysrKsGPHDgQGBjItpc6MHz8ee/fuhUAggJaWFubMmYOrV6/i6dOnaN26NYYPH46rV6/WeSmmvLwcx48fh6+vLzw8PAAAsbGxmDBhQo37IVwuF7K4O6sqH06s5E2Dl0s1cLlc7Nu3j2kZckEikSA2NvajD5Knpyd++OEH9O3bF1euXFFJT42jR49i/vz5uHz5skostQBASkoKzM3N1aoMWlVYWFigefPmSExMrCha3bp1a6xfvx7Lly/Htm3bEBQUBA0NDfTt27fCB79ly5bVep6UlpYiJSUFMTEx4PP5OHXqFMzMzBAaGooDBw5UWjKvKrhcrlo8SUqLInNENRj0avDy8sLUqVNRWlqqMsZEVuLj42FqagozM7OP3v/hhx/w5s0b9O/fH2fPnkXTpk0ZUvgp586dw/jx43Hy5EmVisCsT0nbgP89ib436O8xMjLClClTMHnyZNy4cQM3btyouMHm5OSAw+GgWbNmYLPZ0NbWhkgkglAoRFZWFu7duwc7OztwuVzweDyMHz9e5mjPDh06ICkpqV58D4F3n58vv/xSIX3Xa4NeXl6Ohw8fIjs7G0KhECKRCNra2tDV1YW5uXmNswxHR0e0adMGhw8fVvsSXpGRkQgICKj02OLFiyEWi/HZZ5/h7NmzKlHZ5uDBgwgODsbBgwdVLkFafUraBtS8pMFisdC1a9ePfP/fvHmDuLg45ObmoqSkBM+fP8fz58+Rn58PNpuNLl26oLS0FK9evcKFCxdw584dtGvXDjweD+7u7jAxMZFaX5MmTeDq6opz587B19e3TtfKNEKhAA8ePEDHjh0V0n+9MuhPnjzB9evXK0K54+LiYG5uDmtr609qir548QLZ2dngcDgVj5Fdu3b9pDp6aGgowsPD1dqg5+fnY+/evUhNTa30OIvFwm+//QZjY2N06dIF27ZtYyzBVFlZGZYvX441a9bg9OnTKpnDIyYmBsOGDWNahtzgcrmIjIysVRsiQlxcHE6ePInY2FgYGhqCy+XC09MTLi4u0NPTA5vNRnl5OYRCId6+fYuEhAQsXrwYsbGxMDExQceOHfHtt99iwIABNQYOBQcHIzw8XO0NelZWFr7++mvFBXJJU9ZIXi9FlKArLS2lw4cPU9++fcnMzIyGDRtGy5Yto/Pnz9ObN2+q7fft27d04cIFWr58Ofn7+5OZmRn17t2bDh06RKWlpUREJBaLydLSkpKTk2XSrgqsXr2a/P39pTr30KFDZGlpSVOnTqXi4mIFK/uYpKQk4nK51KdPH8rMzFTq2NJSXl5Oenp6VFBQwLQUuSEQCIjNZpNIJKr2PIlEQrdv36bRo0eToaEhjRw5kk6cOEH//PNPrcYrLy+n+/fv04YNG8jT05Ps7Ozo119/pezs7CrblJSUkKmpKWVkZNRqLFXBz4/I17ecdHTOUlJSUq3bQ8oSdGpr0HNycuiXX34hW1tb6tSpE23fvp0EAoFM/b9HKBTSzp07qXPnzmRjY0OLFi2if/75h8LCwmjSpEl16pspJBIJtWrViq5cuSJ1m9evX9OIESOoRYsWdO3aNQWqe0dpaSktXryYTE1Naf369SSRSBQ+pqwUFRWRrq4u0zLkTtOmTSknJ6fK4xcvXiQul0uOjo60bNmyas+tLXw+n8aNG0dGRkY0atQoevXqVaXnTZ8+nWbOnCm3cZWJnx8Rl/ucmja9IVN7aQ262i25EBH27NmD7777Dn5+fjh8+LDcHst1dHQwYsQIjBgxAvHx8Vi7di1cXV0xd+5crF27FpMmTYKLi4tcxlIWUVFR0NfXh7e39yfHysvLkZaWhpiYGDx69AgCgQBCoRCampoVqYMHDRoEDw8PTJs2Db1795ZrOuG8vDxs27YN4eHhsLOzQ0xMTJ0q/OTn5yM2NrYig+KH16ShoQE2mw0DAwO4urqCx+OBy+XC1dW1VsmphEJhrTw01AVdXd1KU10UFRVh5syZOHLkCFatWoXPP/9c7nlVuFwuNm7ciN9++w3Lli2Dm5sbVq1ahWHDhn3k0hgcHIzOnTtj3rx5KpF7pnYQHj9+AgcHe4WOolbpc0UiEQwMRiA1NRVRUVEV/qyKhM/nIyAgACwWCzo6OoiOjlabREHPnj1Dhw4dcP7/2jvvuCbuN45/DhUCIrIREBRRQBQQggpO3Dhw1dZdcVAF66xttdqhRa1aa2sVVFzV1q2IKA7c4KAShgMRQQW3yFBGwsrz+4PxczBCcskllPfrlRfhcvfc5y65z33v+a6zZ+Hk5AQiwrlz53D8+HEIBALExcXB2NgYfD4ftra2aNy4MTQ0NCpGuMvOzkZMTAyioqIqKpS7d+8Of39/mSoF4+LiEBAQgIMHD2LAgAHw8/ND9+7dpRqfJSkpCYGBgTh+/DhevHgBJyenijoROzu7j47pzZs3iI+Pr6hnSU5ORrt27TBu3Dh4e3tDT0+v2v2V7+Ply5fSHr5SYmVlhXPnzqFVq1YVyy5cuICpU6eiR48eWLduXY3nhi3+/fdfeHt7o23btggICICJiUnFZ59//jn09PTwxx9/KEQLWzg7P0FKSgq6d++OEydqXyiSdPjcmnMywHYArwDcfmeZPoBwAPfL/upJ8jggS8rFxeUpqaufpoULF8qcWqktIpGIvvvuO2rUqBGNHz9eofuWFrFYTAMHDqSlS5dSVlYWrVu3jmxsbMjBwYFWrlwpUR3Du7EePHhA/v7+ZGdnRwzDkI6ODnl6etKWLVsoNjaWCgsLK902MzOTzp49S7/88gt9+umn1KpVq4p01vPnz6U6tqKiIjpy5Aj17duXjI2NadGiRXTr1i0qLi6uday8vDw6f/48jR8/nnR1dWnKlCkUHR1d5fqZmZmkq6srlW5lxtTUlJ4+fUpEpd/3t99+S+bm5nT8+HFO9AiFQlq4cCGZmJjQhQsXKpZnZGSQmZlZrVKIXPP06VNSVz9F3btnV1oPKAlgK4cOoAcAlw8MfTWAhWXvFwJYJcnOpDX0tm3vk6bmWerWTTIDkhfBwcGkpqZG8+bNU+o8LxHR9u3byd7enqZMmUK6uro0btw4ioyMZEV3eno6LV68mFq0aEGNGzcmY2Nj0tDQICMjI7KwsKBWrVqRmZkZ6enpkba2NnXr1o3mzJlDu3fvpoSEBKmMl6jUaPbs2UPNmzenrl270j///EMikUjm4ynn5cuXtHLlSmrRogV16dKF4uLiPlonPz+fNDQ0WNunsqCrq0sZGRlUXFxMU6dOJTc3N3r9+jXXsujcuXNkZGREoaGhFctCQkLI2tqacnNzOVQmGWKxmIYMGUJt2iRW2bBDElgz9NJYaPmBod8DYFr23hTAPUni1NbQxWIxfffdd6StfZ769s2X+mSwib+/P/F4PJozZ47Smnp8fDxpa2uTnp4eLVmypNrWA7IiEAjIy8uL2rVrR2fOnKFHjx7R/fv36fHjx/T69WupzftDXrx4QSNGjCB7e3u6evUqKzGrori4mLZu3UqGhoa0bNmy954+xGIx6evrS/10oYxkZWVR48aNqbCwkMaPH099+vShnJwcrmVVEBUVRSYmJnT06NGKZRMmTKBZs2ZxqEoydu3aRY6OjjRoUIlSG3r2O++Zd/+vZNsvAEQDiLa0tKzVQfj7+1P79u2pf/8CmU4Gm4jFYvr888+pcePGtHjxYq7lfMSlS5dIQ0ODrKyspGoeJQ1isZh2795NRkZGtGTJElZLzWKxmPbu3UsmJiYKT7elpaWRp6cnOTs7U3x8fMXyvn37cpaKkAfnzp2jLl26kK+vL/Xo0YPy8/O5lvQRN27cICMjIzp37hwRlaZeWrZsSUFBQRwrq5orV66QoaEhxcTEVNv0WhIUZuhl/2dJEqc2JfTNmzeTtbU1PXv2TOaTwTbFxcU0fPhw0tLSot9++41rORX89ttvpKamRsOGDasypy1Pnj17Rl5eXtS+fXu6d++ezPGKiopo8uTJZG9vT//++y8LCmuPWCymbdu2kaGhIe3YsYOIiL799ltaunQpJ3rkwerVq6lnz57k7OxMb9684VpOlVy4cIEMDQ3p0aNHRESUlJREpqamtH//fo6VfUxcXBwZGxvTyZMniaj6vjSSoNIpl8TERDIwMKCkpCRWToY8KCoqopEjR1LDhg3p+vXrXMuhhQsXkpqaGv3www+c6hCLxRQYGEimpqaV5qAlRSgU0rBhw8jT01PhHZwqIzExkSwtLWndunV04MABGjp0KNeSWGPQoEGkra3Nyk1Y3qxYsYL69u1bke6Mi4ujZs2a0a5duzhW9n+uX79OJiYmdPDgwYplym7oaz6oFF0tSRxJDL24uJjc3d1p/fr1rJ0MeVFSUkJ9+vQhdXV1OnXqFGcavLy8SE1NjTZs2MCJhso4ePAgGRsb040bN2q9bUFBAQ0aNIg+/fTTGnsvKpLU1FRq06YNLV68mMzNzbmWwwolJSXE4/Hom2++4VqKRBQVFVHHjh1p8+bNFcvu3LlDzZs3pzVr1lBJSQmH6ohCQ0PJyMjoo5Sc0hg6gL0AngMoAvAEwFQABgDOlTVbPAtAX5KdSWLoa9eupR49erz3xSiroROVXhCOjo7UtGlT+uKLLxT6yJqUlETW1tbE4/EU0qOzthw9epSaNWtWq2ETiouLafTo0eTl5cVJ2qgmUlNTydLSkgwMDKS6WSkbCxcupEaNGinVjbMm7ty5817qhYjo4cOH5ObmRh4eHpwMD5CVlUVTpkyhFi1aUGRk5EefK42hs/mqydDv3btHBgYGlJyczOrJkDcPHjwgPT09+uSTT6hFixZ04sQJubaAEQqF9Ntvv1GTJk2oadOmFakpZWTXrl1kYWFBGRkZEq2/YsUK6tatm8L7GtSGe/fukba2Nnl5eXEtRSZSU1OJx+PRzJkzuZZSa1auXEmenp7vLSsuLqY1a9aQgYEBbdiwQWGl9bCwMGrevDnNmDGjyjF+/pOGPmbMGFq1atVHy5Xd0IlKKyQ/+eQTOnXqFLVt25bs7e1pw4YNrJbYHz58SAsXLiRjY2Pq06cPmZiY0Pnz51mLLy9mz55NEyZMqHG9W7dufVTyUlYCAwNJTU1NpZsvzps3jzQ0NOjx48dcS6k1hYWFZGZmVmlLrrt375Kbmxv17NmTwsPD5Va4io+PpwkTJlCLFi3o7Nmz1a77nzP058+fk66uLmVnZ7N+MhTB27dvSU9Pj548eUJisZguXLhAn376Kenq6tKMGTPo8uXLUnWEePXqFR09epSGDBlCBgYGNG/ePLp37x5NmjSJ/Pz85HAk7JObm0vW1tYUEhJS5TpFRUXk6ur6Xm5UmRGLxdS8eXPq27cv11KkQigUkra2NvXr149rKVLz448/VnkNFBcX05YtW8jBwYFsbW3p999/p6ysLJn3KRKJaM+ePdS1a1cyNzenpUuXSjTypqIMXWnGcvH398fjx48rHZe5fCwXAAgNlZc62Zk5cyaMjIzw008/VSx79uwZgoKCcPz4cdy5cwetWrX6aKwRHo8HsVhc6Vgjb9++haurK8aNG4cxY8ZAS0sLJ06cwKxZs3Dz5k1oa2tzd8C1ICIiAmPGjMGtW7cqnRVp5cqVOH/+PM6cOSPVmC5cEBoaihEjRiAyMhJubm5cy6kVu3btgp+fH0JCQtCnTx+u5UjF06dP4eDggNTUVDRp0qTSdYgIV65cQUBAAE6ePAkvLy+4u7vD1dUVDg4O4PF41e6jpKQEiYmJEAgEuHHjBg4ePIj27dvDz88PQ4cORcOGko1vKKuHSTqWi1IYenFxMaysrBAaGooOHTp89LmqGPrt27cxYMAAPHr0qNKpsgoLC3Hnzp2KeRbLRwMUCoVQU1ODpqYmtLW14eDgUGH61tbW7xnc27dv0a5dO+zevRseHh4KPDrZmTNnDrKysrBr1673lj98+BAdO3aEQCBAixbyHY2OTYgITk5OSE9Px7Nnz1TmRgSUDsalqamJO3fuqJTuDxk1ahT69OkDX1/fGtd9+fIljhw5UjEaZ1JSEmxtbeHo6AgtLS28ffsWL1++xNOnT/Hy5Uvk5eWhsLAQDMNAXV0dPB4PVlZW6NatW8X12bZtW4lMXVGGrhQpl+DgYOrSpUuVjxuqkHIpp0ePHu+1P2Wb33//XeLJKpSN3NxcMjAw+KgVwoIFC2jBggUcqZKNR48eUYMGDWjr1q1cS5GYkydPkpqaGt29e5drKTITHh5O0o4R9fz5c/rqq6/I0tKSGjVqRObm5tSpUycaPXo0LVq0iPbt20fJycmUlZVFL1++pEePHtHFixdp7dq1NHbsWLKxsaHGjRuTp6cnHT16tGJSnMr4T+XQp02b9l678w9RJUMPCAggb29vucQWi8VkY2OjlE0UJWXevHnvTVJQPhPNhy2bVIlx48aRnp5etRe0slBcXEytW7eW2gSVDZFIRJqamrUariAuLo6mT59Ourq69Nlnn9H58+elbrb55s0b2r17N7m7u5OFhQX5+/tXOkGHogydvdkKZKAuTbrr6uoKgUAgl9jnz5+HhoYGunbtKpf4imDGjBnYvn17xWQKBw4cgKurK6ytrTlWJj2BgYHIycnB4sWLuZZSI+vXr0deXh7GjRvHtRRW0NDQgJ2dHeLj42tc9+HDh+jfvz8GDx4Mc3NzJCQkYP/+/ejVqxfU1dWl2r+Ojg4mTJiAq1evIiQkBKmpqbCzs8PcuXORl5cnVUxZ4NzQCwoKkJiYCCcnJ66lsIKDgwPu378PoVDIeuyAgAD4+fmpdM7TxsYGHTp0wKFDhwD8/5hUGR0dHYwdOxYbN27EsWPHuJZTJadPn8bKlSthbGxcZwpQQOmMR9UVosRiMQICAtCxY0f069cPjx49wvfffw9TU1NWdTg7O2PLli1ITk5GRkYGnJycEBERweo+akSSYjxbr8oe827cuEEODg7VPm6oUsqFiMjZ2ZmuXbvGasznz5+Tnp5enZicODg4mLp160aJiYlkZmbG2hC7XBIXF0empqZkZGSklH0DIiMjycjIiC5evFjnJrkODAykyZMnV/rZgwcPqFevXtS5c2dKSEhQqK6QkBAyMzOj2bNn08CBRf+NlItAIACfz+daBqvUVGKQhqtXr6Jr165VNs9SJQYMGACBQIDIyEh069ZNZab0qw5HR0fk5+djy5YtGD16NE6dOsW1pArOnTuHESNG4O+//4ahoSGaN29eJ35H5fD5fMTGxn60PDw8HJ06dcLAgQNx5coVtG3bVqG6hg4dilu3biEjIwMREREQidh/av8Qzg09JSUFNjY2XMtgFRsbG6SkpLAasy7d+DQ1NdG6dWuEh4fXmUd/hmHg4uICHo+HkJAQTJo0CX/99VdpywMO2bdvH8aOHYuDBw+if//+yMjIgLGxMaea2MbIyAiZmZnvLQsODsb48eNx5MgRfP3115wVGvT19fH333/DwsICV65clXtenXNDF4lE0NLS4loGq2hpaVU6g7osREdH1xlDB0orj+vaMZU/mbm7u+Ps2bNYvXo1Ro0axcmE0q9fv8aYMWPw448/4tSpU+jZsyeA0utNU1NT4Xrkiaam5nt1ViEhIfD19cWpU6fQvXt3DpX9H2vr1mjdujWuXbuKR48eyW0/SmHoNfXWUjV4PB6rlaJEVKdK6EBpBVJaWhpcXFy4lsIa77ZwcnBwgEAggI2NDZycnLBv3z6FldYPHz4MBwcHmJubIy4u7r1zXFRUJHHvRlWhUaNGKCoqAlDaEszHxwfHjx9Xut9WixYtYG3dGn379sWLFy/ksg/ODb1BgwYoKSnhWgarlJSUsHrRPH78GI0aNYKZmRlrMbnGxMQEDMNAV1eXayms4ezsjLi4uIr/eTweVq5cidDQUPz8888YMWIEoqKi5GbsAoEAn376Kb777jscPnwYa9eu/ag0rqGhgcLCQrnsnysKCgrA4/Hw4sULjB07tqIprDJiZWWFcePGYfz48RCLxazH59zQeTwe6+kJrmH7qeP58+ewsLBgLZ4y0LhxY87zy2yjp6eHt2/ffrS8fFiDbt26YezYsejYsSO2b9+O/Px8mfcpEomwa9cudO7cGSNHjgSfz0dcXBy6dOlS6fofpifqAkKhEDweDzNmzMC0adOUfkiMH374Abm5udiyZQvrsTl/9tLR0UFWVhbXMlglOzsbOjo6rMWri2kpsVhc5wy9OrPk8XhYsGAB5s+fj9OnTyMgIADffPMNRo0aBTc3N4nHBXl3sKioqKiK0uiSJUswaNCgGiv/zMzM5JrD5YJHjx5BXV0dycnJ2L9/P9dyaqRhw4bYuXMnevToAU9PT7Rs2ZK92KxFkhIHB4ePBmtSdeLi4jB69GjW4hUUFEBDQ4O1eMqAmpqaXB45uaRBgwYoLi6udh01NTUMHDgQAwcOxMOHDxEcHIzw8HCsXLmyYvRABwcHaGtrV6RLRCIRcnNzcfv2bcTHx8PMzKxicKjr16/Xqpdty5YtIRKJ8Pz5c9Y71nDFxYsX8fjxY1y+fFllrpO2bdtiwYIFmDp1KsLDw6Gmxk6yhHND5/P5mD17NtcyWCU6OhqrV69mLZ66unqdy3s2bNhQpXu8VkZBQUGtWpBYWVlh/vz5Ff+/ffsWsbGxSEhIQH5+PkQiEYgI+vr60NTUxJgxY+Di4oKmTZtKrZFhmIrWOEOGDJE6jjKxa9cu9OnTR2nz5lXx1Vdf4fDhw9izZw8mTJjASkzODb1ly5YoKCioMyWG9PR0vH37ltWxSepiPQPDMHXO0MtzudKio6ODnj17VjQxlBd1ydBfvHiBx48fY9++fVxLqTUNGzbEjz/+iKVLl7Jm6JxXir5bYqgLCAQCuLi4sGpWxsbGePbsGWvxlIFGjRpBLBbXqRZO9+/fh5WVFdcyaoTP56OqiWZUjQ0bNqBBgwbo2LEj11KkwtPTE+np6bhx4wYr8Tg3dADo1KkTIiMjuZbBCpGRkaz/uKysrJCbm4v09HRW43LJ/fv3oaWlhaSkJK6lsIaqdJTq3r07IiMj8ebNG66lyERxcTECAwPRqVMnlR0+okGDBpgxYwYCAwNZiacUhj5+/Hj89ddfKp8nLioqwo4dO1h7fCqnvFt5XXmKAUrNr02bNnXqmFSl85eJiQn69euH3bt3cy1FJk6cOIHCwkJ8++23XEuRialTpyI4OPij4QukQSkMvW3btmjbti2Cg4O5liITx44dg7W1NRwcHFiPXZfSUkCp+bm5udW5Y1IFQwcAPz8/BAQEqHTT0T///BPq6uoYNGgQ11JkwtDQEAMGDMDhw4dljqUUhg78/wemyshzbO+6ZOgFBQW4e/cuBg8ezFrukGvevn2Lx48fw97enmspElFe8Xrp0iWOlUhPVFQUvL29VTbd8i7dunVj5VpQGkMfNmwYkpOTcfv2ba6lSMXdu3dx584djBw5Ui7xu3TpgsuXL9eJXn4XL15Eu3bt4OHhgYSEBDx+/JhrSTJz+PBh9OrVS2XGSWEYBn5+fli/fj3XUqTi3r17yM3Nxddff821FFZgq8CmNIbeqFEj+Pn54YcfflDJx8Aff/wRM2bMkHoqq5qwsLBAx44dcfDgQbnEVySBgYHw8fFB48aNMX78eLl0gVY0qjjzkre3N2JjYxEWFsa1lFrj6+uL5s2bo1mzZlxLYQUnJyfcvXsXBQUFMsVRGkMHShva37t3TyW6777LoUOHcPPmTblXztSFtFRaWhoiIiIq5rT09fXF1q1bVbpC/N9//0VGRgYGDBjAtZRaoa2tjW3btmH69OnIzs7mWo7EHD16FDdv3pTb0zAXaGlpwdraWuYMhVIZOo/Hw44dOzBnzhxOxpCWhvT0dMyaNQs7duyQ+zjTgwYNwosXL1Q6l75lyxZMmDAB2traAAB7e3vY2dmpdIV4QEAAZsyYoZK53N69e8PLy+u9HqvKTEZGBvz8/NChQweV6xlaEx06dMDNmzdliqFUhg6UtkmfMmUKfH19VSL18uWXX2LChAlwd3eX+77K26yqaim9oKAAW7duha+v73vL/fz88Pvvv6vE9/0hz58/x9GjRzFlyhSupUjNqlWrcOHCBZVIvcyaNQujR48Gj8eDnp4e13JYRVdXFzk5OTLFUDpDB0rz0ffu3cPWrVu5llItO3bsQFxcHJYtW6awfU6bNg3Hjx9XyZ5+K1asgJubG+zs7N5bPmLECIjFYmzevJkjZdJBRJgxYwa+/PJLGBoaci1Hapo0aYIdO3ZgypQpSt0oYfXq1YiPj8fy5cshFArr5MxLsg7xoZRV8jweD0eOHIGHhwf09fUBfMK1pI8ICQnBokWLcP78eYX+sAwNDbFu3Tp4e3tDIBCozOhysbGxCAwMfG8CiHIaNmyIHTt2oGfPnqwPJypP9uzZgwcPHuDAgQNcS5EZDw8PrFu3Dp6enrh48SJat27NtaT32LJlCwIDAxEZGQktLS2UlJSwNkKhsqCmpibzUBhKe0ZsbW0RFhYGX19fvHwpn+mapOXEiRMV01xx0e547NixaNOmDZYuXarwfUtDYWEhvL298euvv1Y565K9vX3FcKKqkHp5/vw55s+fj507d6rMTbUmxo4dix9//BEeHh64c+cO13Iq+PPPP+Hv74/w8HCYm5sDYKc0q2ywMe+B0ho6UDqlV1hYGOLjb+LJkydcywEA7N27F1OnTkVoaChnlTIMwyAwMBDbtm1TiY45y5cvh6WlJSZOnFjtel999RVyc3OxadMmBSmTjvJUi4+Pj8r0DJUUHx8f/PLLL+jTpw8uX77MqZbi4mJ8//33WL9+PS5fvvzeU4OmpiYrMz4pE/n5SYph6gAAIABJREFU+bI/7RORwl58Pp+koWfPt8TjhVPLljcpNzdXqhiykpeXR3PnzqXmzZvTrVu3ONHwIfv27aNWrVrRs2fPuJZSJcePHycTExN6+vSpROvfvXuXjI2N6eTJk3JWJh1isZi+/vpr6ty5M4lEIq7lyI2TJ0+SqakpzZ07l/Ly8hS+/4SEBOrUqRP17t2bnj9//tHnCxYsoOXLlytcl7QMGfL/V1X06NGDzpw5U+lnAKJJAo9V6hJ6OU2aNEHPnj1QVFQMR0dHhXdXjoyMhJOTE169eoW4uDi0b99eofuvitGjR2PKlCno378/KwP7sM2lS5cwefJkhISESDzBdXkTxokTJyIiIkLOCmvPihUrEBYWhrCwsDqTaqkMT09P3Lp1C69evYKTk5PCRkMtLi7GqlWr0KNHD0yePBlnz56ttPNQXRoKAyidkjE2Nlb2Jz5JXL+qF4BHAG4BiIMEdxBpS+jv3t2OHTtGZmZm9OWXX9Lbt2+liicpOTk5NHfuXDI1NaXg4GC57ktaxGIxLViwgDp06EAvX77kWk4FZ8+eJSMjIzp79qxU24eHh5ORkVGVJRZFIxaLacmSJWRrayvx00ZtKSoqotzcXCoqKpJLfGkJDg4mU1NTmjFjBt27d08u+yguLqbjx49XlMofPnxY7fpJSUlkaWkpFy3yoKYSemJiIllZWVW5vST+SkSsGLqhpOuzYehERBkZGeTt7U36+vo0a9Ysunv3rlRxqyIxMZHmzJlD+vr6NHHiRHr9+jWr8dlGLBbT999/TzY2NjVeCIrg8OHDZGRkRBcvXpQpTkREBBkZGdH27dtJLBazpK725OXlkY+PDzk7O9OrV69kiiUWi+nJkycUEhJCP/zwAw0ePJhMTU2pQYMGpKamRpqamqSmpkYNGjQgU1NTGjx4MP3www8UEhIitxuJJLx+/ZoWLlxIxsbG1K9fPwoODmblxpOenk6rVq0iKysrcnV1pd27d0v0XZeUlFDTpk0pPT1dZg2KoCZD/+eff2jUqFFVbi+poatEyuVD9PX1sWPHDsTGxkJHRwceHh7o3bs3Dh06JHXD/NzcXBw+fBh9+/ZFjx490LhxY8TExGDXrl0wMDBg+QjYhWEYLFu2DF9++SU6duyIoKAgTlqKvH37Fj4+Ppg3bx7CwsJknkqtW7duOH/+PP744w94eXnh6dOnLCmVnIiICDg5OSEvLw8XLlyAkZGRVHHS09Pxyy+/oHXr1nBycsLGjRtRXFyMKVOm4OrVqxAKhSgpKUF+fj5KSkogFApx9epVTJ48GUVFRdi4cSMcHR1hbW2NVatWKXyyEwMDA6xcuRJpaWmYNGkS1qxZAysrK3z11VfYu3cvkpKSJJr0WygU4vr169i4cWNFa627d+9i//79uHHjBiZMmCDRbF9qampwdnZWiUYBknDjxg1WKtgZWS58hmEeAsgCQAA2E1G1oyy5urqSNB1ivLz+/z409OPPCwsLceTIEWzZsgVRUVGwsLCAq6sr7O3toaWlhcLCQpSUlFS08WQYBiUlJRCJREhNTUVMTAzS0tLQsWNHfPHFF/jkk0+UMj8qFotx//59CAQCpKSkQCQSQSQSoUGDBuDxeNDR0UGTJk0QGBgIExMTBAUFwdLSUiHazpw5Ax8fH3h6emLNmjXQ0dGRaLv8/HzEx8dDIBDg7t27yM/PrxhRUlNTE1paWrCxscGtW7dw7NgxrFmzBp9//rnc5yPNz8/Hd999hwMHDiAgIADDhw+vdQwiwrVr1xAQEIATJ05g5MiR8PX1BZ/Pl0o/ESE6OhqBgYEIDg7GkCFD4OfnBzc3N07mZ42Li8PJkychEAgQHR2NrKwsODs7w9bWFg0bNsSbN2/w7NkzPHv2DDk5OXjz5g2EQiEaN24MXV1dtGjRAsOGDUPPnj3h6OhY62vu119/xc2bN7Fr1y45HSF7VOdhRUVFsLKyQlhYGBwdHSvdnmEYARHV2KxOVkM3J6KnDMMYAwgHMIuILn+wzhcAvgAAS0tLfmpqaq33U5Ohl3Pz5k2cPHkSFy9eRGxsLDIyMiradZbPX9mgQQOoqamhUaNGKC4uRnFxMezt7dG9e3e4u7tjyJAh0NLSqrVGeUBEOH/+PE6cOAGBQIDY2FgYGBiAz+fDxsYGWlpa4PF4FTenrKwsxMXFITY2FgzDQCgUwtPTE6tXr4atra1cNKalpWHZsmUIDw/H1q1b0a9fv2rXLykpwcmTJ3H48GFER0cjJSUF9vb24PP5aNeuHZo0aVLxnQmFQuTk5OD27dsQCARISEgAwzDQ19fHjBkzsGjRItaHq83NzcWePXuwevVqdO7cGevXr5fqCS0lJQVTp07F06dP4efnh0mTJpV1kmOHzMxM7Ny5E4GBgWjevDm2bduGVq1asRa/thARTp8+jT/++AOxsbHIysqCsbExmjdvjpYtW8LY2Bi2trawtbUFEUEkEiEtLa3iZnD//n3Y2dnBw8MDX3zxxUe9iSsjIyMD1tbWSE5OVvqeutV52JEjR7Bu3bpqGwFIauisNUkE8BOABdWtw1YO/V1EIhH9888/1LVrVzI3N6cvv/ySdu7cSbdv36bi4uIaY6enp9Pp06dpxYoVNGDAADIwMKD58+dTUlKSVFrZICsri37//XeytbUlBwcHWr58OZ05c0biXH5JSQndu3ePVq1aRS1atCCGYahVq1a0bds2KikpkVlfSUkJnTp1ioYOHUr6+vo0f/58evPmTbXbvHz5klauXEktWrSgzp0708aNG0kgEFBBQYHE+xWJRHT16lUaO3YsaWpqUsOGDWnw4MGsVNQlJCTQrFmzSF9fn4YNGyZ1ZW5JSQmtX7+eDAwMaO3atRL9BmWhuLiYfv31VzIwMKA///yTle+3NuTm5lJQUBA5OzuTtbU1rVmzhuLi4qiwsLBWcfLz8+n69eu0ePFiatasGfXu3ZsOHTpUY5xJkybRqlWrZDkEhVCdh/Xp04f27NlT7faQd6UogMYAmrzz/ioAz+q2YdPQX716RYsWLSJjY2Pq06cPHT58mJVKmpSUFPrmm2/IyMiI+vfvr9D20KmpqTRt2jTS1dWlsWPHUkREBCuVgXfu3KGBAwdSw4YNSVNTk8aNG0cxMTG1Ol85OTl0+fJlWrlyJVlbW1OHDh0oKCioxn4BqampNGHCBNLV1aWpU6dSdHS0rIdDRKXGuW3bNrK2tiaGYcjCwoK++eYbOnXqVI0VZWKxmJKTk2n//v30zTffUNeuXalZs2a0ZMkSSktLk1pTcnIy9ejRg7p06UKJiYlSx5GGxMREcnd3p549e1JKSorc9ycUCmnJkiWkr69PQ4cOpVOnTrF2MykoKKC9e/dS9+7dyczMjDZs2FBl7KioKLKyspL7jVNWqjL0u3fvkomJSY19GhRh6K0AxJe97gBYXNM2bBn6wYMHqVmzZuTr68t6C5dyhEIh7dq1i9q0aUNjx46Va0sXsVhMmzdvJkNDQ/r+++/pxYsXctmPUCikn376iUxMTEhDQ4N4PB65ubnRzJkz6c8//6Rt27bRP//8Q7t376YtW7bQ6tWrafz48WRnZ0daWlrUqVMnmjlzJl27dq3GG41YLKagoCAyNDSkn376iTIzM+VyTERE9+7doxEjRpCmpibZ2dmRjo4OWVpaUv/+/Wn48OE0ZswY+uyzz2jo0KHUs2dP0tPTI3Nzcxo2bBgtW7aMTp48Wasnhcq4cOECGRoaKqRUXhXlpXU2WhhVR1RUFNnb29PIkSPl3qoqNja22huVWCwmPp9Phw4dkqsOWanK0H18fGjRokU1bi93Q5fmJauh9+8vos8++4xsbW3p6tWrUsWqLXl5eTRv3jwyNTWlI0eOsB7/0aNH1LdvX+Lz+QrrgVp+AzEwMKBp06bRqlWryNfXl7y9vWnMmDE0fvx4mjp1Ks2ZM4e2bt1KsbGxtXqETktLowEDBpCLiwvdvHlTjkfyPjExMeTo6EiDBw+miIgICgsLoyNHjtA///xD+/bto6NHj9LZs2dZv2GGhoaSkZERnT9/ntW40lLeB+D48eOsxhUKhbRw4UIyMTGhffv2KawpaU1ppQsXLpC5ublcCw2yUpmhX7x4kczMzCgjI6PG7eucoXfs+Jw0NE7TggULKD8/X6o4shAREVFRWmerQ9Pff/9NhoaGtHz5ck46k5TfTFxdXVkraR05coQMDQ3p559/rnUelQ0KCgrohx9+ICMjIwoNDZX7/k6dOkVGRkYUFRUl933VhuvXr7PaMevRo0fUrl07GjlypNyeIGuiPK3Ut29fys7Ofu+zmTNn0qRJkzjRJQkfGnpubi5ZW1vTsWPHJNq+Thm6o2MqaWicoa5da76TyZO8vDyaMmUKderUSaK7anX8/vvvZGFhQfHx8Sypkw6xWEy//vorWVhYUEJCgkyxtm3bRqampqzlyWXh2rVrZGJiQn///bfc9nHlyhUyMjKiyMhIue1DFiIiIsjQ0JCuXbsmU5y7d++ShYUFrVu3jtMOXkSlpfWZM2eSi4vLe528cnJyyMrKivWnErb40NBnz55NEyZMkHj7OmPof/zxB2lqhlOvXjnVDmyjKMoHZ2rXrp3UvQZXrFhBbdq0oUePHrGsTnr++usvatasmdRpn8DAQLK0tJRb13BpuHPnDjVv3py2bdvGeuysrCxq3rw5nThxgvXYbHLs2DGysLD4qEQrKYmJiWRqako7duxgV5gMiMVi+u6778je3v69uq3y1Isy9ux+19AvXLggcaqlHEkNXSknuChn+/btWLt2Lbp0SVSa2UkYhsGqVaugrq6OAQMG4MKFC2jatKnE22/cuBHbtm1DREQETE1N5ai0dnz++edo1KgRPD09cfny5Vq1ad6zZw/8/f1rvZ28sbe3x7lz5+Dh4QEdHR2MGjWKtdjz58+Hl5cXBg0axFpMeeDl5YXjx49jwYIFCAoKqtW2aWlp6N+/P5YvXw5vb2/5CJSCo0cZJCUtR0HBBFhbJ8Dd3b2sP4IHeLxwtG59F25ubqz3UWCDt2/fYvTo0di9ezer/RLKUdqu/2FhYViyZAnCw8OVxszLYRgGP//8M7p06YLhw4dLPMvIsWPH8MsvvyA8PFypzLycsWPHYsmSJejfv7/EQyhcu3YN8+bNw+nTp5XKzMuxsbHBiRMn4Ofnx9rofGFhYbhw4QJWrVrFSjx5s2bNGoSHh+P06dMSb1NYWAgvLy/MmTMHkydPlqO62rNnDyASAW3b2qFpUx3ExcWitLN66bImTZrgxo0bMs/+wzZ5ebn499/L+OOPP9C/f3+57EMpDT0zMxM+Pj7Yt28fbGxsuJZTKQzDYP369QCAdevW1bh+RkYGZsyYgb1798LKykre8qRmxowZ8PDwwNdff13jukKhEJMnT8bGjRvRrl07BaiTDmdnZ6xduxbe3t4oLCyUKVZ2djamT5+Obdu2oUmTJiwplC86OjoICgqCj48P3rx5I9E2/v7+sLS0xLx58+Ssrvb8f6IiBu3bt0dubh6ePn1WsczR0RE8Hg9RUddRVFTEkcr3efv2Da5du4CpUzUxZswY+e1IkrwMWy9Jc+gTJkyg2bNnV5p/UjZSUlLIwMCgxvbw48aNo7lz5ypIlWxkZ2eThYUFhYeHV7veggUL6LPPPlOQKtkQi8Xk5eVFS5YskSnOvHnzaPr06SypUizTpk2jBQsW1LieQCAgIyMjTkd3rI4P/eDff/8lY2Pj91rflJSU0MyZM6lDhw4K7+T1IaGhoWRsbEwHDhyQOgZUtVI0JCSErK2t3+uBqMyGTkS0YcMGcnd3r7JDSXBwMLVu3ZqTmV+k5dSpU9SiRYsqm2hevXqVmjVrJvNwsork2bNnZGRkJHUrnNzcXNLX11eqyuza8ODBAzIwMKj2d1hQUECOjo60a9cuBSqrHZX5waJFi2jEiBHvtcIRi8W0YcMGMjAwoF9//VXhHb4yMzPp888/p1atWtHly5dliqWShp6RkUFmZmZ06dKl95Yru6GXlJSQh4cHrVmz5qPPMjMzydTUlCIiIjhQJhtTp04lX1/fj5YXFhaSra0tHTx4kANVsrF7925ycHCQ6uIOCgqioUOHykGV4hg8eDBt3769ys/9/f1pyJAhnDdPrI7K/EAkEpG9vX2lPUaTk5OpZ8+e5O7urrDSemhoaMXYUmxMm6mShu7v70/e3t4fLVd2Qycq7X5uaGj4UaenVatW0cSJEzlSJRuZmZmkq6v70ZylBw4coO7du3OkSjbEYjF16tSp1p2OxGIxdejQgU6dOiUnZYrhxIkT5OrqWulnIpGITExM5DacBltU5QdHjx4ld3f3SrcpKSmhP//8kwwMDGj27NlyMXaxWEzh4eE0bNgwatWqFavDL0hq6EpTKVpcXIzNmzdjzpw5XEuRChsbG3Tq1An79++vWFZSUoJNmzZh1qxZHCqTHj09PYwePRpbt259b3lgYCBmzpzJkSrZYBgGfn5+CAgIqNV2UVFRyMnJqXF4YGVnwIAByMjIqHRiiMOHD6N9+/YSDV2rjAwePBhPnjxBbGzsR5+pqanhyy+/RGxsLLS1tdGjRw/07dsXR44cQXFxsUz7zc7Oxu+//w47OzvMnz8fnp6euHnzpswTvEiFJK7P1qu6Enp1d1dVKKETlc5w37Fjx4r/qysNqQpxcXFkbm5eMTRBQkICNWvWTObBrLgkPz+fDA0NKTk5WeJt5s6dSz///LMcVSmOpUuX0vz58z9a3rVrVzp8+DAHimpHdX7g7+9P06ZNqzGGSCSiPXv2ULdu3cjU1JRGjx5Na9asofPnz1fbCUssFtPjx4/p6NGj9P3339PAgQNZHx21MqBqJfSAgAD4+flxLUMmPD09kZ6eXlH6qQvH5OTkhJYtWyK0bFT+wMBATJs2Derq6hwrkx5NTU14e3tj8+bNEm8THR0Nd3d3OapSHO7u7vhw5rD4+HikpqZi6NChHKlih2nTpuHQoUPIzs6udj0NDQ2MHTsWERERuHjxIgYOHIi0tDQsWbIE5ubmaNOmDbp06YI+ffrA09MTvXr1gpubG0xNTeHi4oJNmzZBLBbDx8cHSUlJ2LNnD7p168bJzFHvItOMRbWlqinokpOT0aVLF6SlpVXMVvMuks5YpAysXr0aiYmJ+Omnn+Di4oK0tDSlmQFJWvbu3YudO3ciNDQUzZo1Q3x8PCwsLLiWJRMpKSlwc3PDixcv0KBBg2rXLSkpga6uLtLS0qCnp6cghfIjIyMDVlZWyM7OhppaaZlu3rx5aNq0KX766SduxUlATX4wZswY9OrVC9OnT5cqfklJCZKSkpCZmQmRSITCwkLweDxoamrCzMwMFhYWCjduSWcsUoq+sefPn8fAgQMrNXNVY8SIEejbty/69u0LDw8PlTdzABg0aBB8fHwQFxcHc3NzlTdzALC2toauri4SExNr7BR17949mJiY1AkzB0onfDYwMMD9+/crpia8du0a1qxZw7EydujduzeuXbsmtaE3aNAAbdu2ZVmVYlCKlItAIICra83T5akC1tbWePPmDSIiIurMMTVt2hSmpqYICwtjZWZyZYHP50s0HIBAIKhTxw28f+xFRUW4desWnJ2dOVbFDnw+/6OU0n8FpTH0unLBqKmpwcXFBVeuXKkzxwSUXiSXLl2qc8ckiaHfuXOnytnYVRVHR0fcvn0bAJCQkABLS0toa2tzrIod2rdvj5SUFOTn53MtReFwbuiFhYVISEhAhw4duJbCGi4uLkhKSoKLiwvXUliDz+fjzp07/0lDz8vLg46OjgIUKQ4dHR3k5eUBqFsFKqC0wrNt27aIj4/nWorC4dzQb9++DWtr6zqRay7HzMwMDRo0gIGBAddSWMPJyQmvX7+Gk5MT11JYw8XFBXFxcRCLxdWuJxQK60T9zrvweDyIyka5iouLq1OFD6D0u62sPXpdh3NDf/z4sVKPPigNmpqaNbacUDX09PTAMAwaN27MtRTW0NXVhVgshlAorHY9IuK8ORrbqKmpVdzIMjMzYWRkxLEidjEyMkJWVhbXMhQO54YuFAqVbrxzNlBkc9B6pOfdkqos66ga7153dfEa1NTUrPFGXRfh3NBFIhE0NDS4lsEqRFTjY7yqUddKqOWoq6vXOEa6lpZWRb65rpCXl1dh4kVFRWjUqBHHitilUaNGSjMWuiLh3NAbNWok81gKyoaamlqdM8C6djzlFBQU1FigsLW1RUJCgoIUKYaEhISKNuh18QlEJBLVuXoPSeDc0DU1Nevcj4lhmDprgHUNSS78utiu+d2+H3UxPSESiepcGkkSODd0PT09pKency2DVepiyiU3NxdA6SS3dYXXr19DXV29xgu/Xbt2ePjwYZ1Ju+Tk5CAtLQ329vYAAHNzczx69IhbUSzz8OFDmJubcy1D4XBu6E5OToiPj69TBpieno7CwsI6ZX7x8fEwNDSsU03BBAIBXFxcanyaUldXR7t27RAXF6cgZfIlNjYWDg4OaNiwdOQPV1dX1ibQVhbqWtt6SeHc0PX19WFoaIikpCSupbBGXFwcWrZsWafMLzo6Gu3atatTF35tLno+n4+oqCg5K1IMN27ceO+4Je1gpSpkZ2fj5cuXFXUE/yU4N3Sg7v2gBAIBOnfuXOeOqUePHnXumCQ19OHDh2P37t0q3xyViLBr1y4MHz68YpmlpSUKCwvx/PlzDpWxR0xMDDp06FDn+oJIglIYuqura52pdMrIyEBWVhZ69epVZ44pLy8PDx8+hJeX13/W0Pv374+cnByVL6VfvXoVIpEIffr0qVjGMEydqvj9r6ZbACUxdDc3N5w/f17lSz8AcOHCBXTq1Andu3fHhQsX6kRb2HPnzoHP58PJyQmZmZm4f/8+15Jk5vbt2ygqKkLr1q0lWl9NTQ2+vr61nrpO2QgICICvr2/FOOjl9OnTB0ePHuVIFbsEBwejd+/eXMvgBKUw9O7duyM3N1flSz8AsGnTJkyZMgU2NjawsbGpExdJYGAgfHx80LBhQ0yZMgWbNm3iWpLMlB/Th8ZWHd7e3ggNDcXr16/lqEx+vHr1CmFhYZg0adJHn3l7e+PIkSMq310+NjYWT548waBBg7iWwglKYeh1pfSTmJiI27dvY+TIkQAg1WTEykZKSgqio6Px2WefAQCmT5+Ov/76S6WHJs3JycHevXvh4+NTq+0MDAwwfPhw/PHHH3JSJl/++OMPfPLJJ5VO1GFsbIzBgwdj586dihfGIoGBgZg+fXpFC57/Gkph6AAwefJklS79AKWl86lTp1b0PBwxYgQSExNx9+5djpVJz6ZNmzB58uSKzjdWVlZwc3PD/v37OVYmPX///Td69+4tVTvln3/+GZs2bVK5oVnj4uIQFBSEZcuWVblOeQFEVZsQZ2dn4+DBg5g6dSrXUjhDaQzdwMAAw4YNw/bt27mWIhV5eXnYvXs3vvjii4pl6urqmDZtmsqW0oVCIXbu3PnRVF6+vr7YsGGDStZ5iMVimSbvbt68OVavXo3JkyerTP1IYWEhJk2ahF9//RVmZmZVrufu7o7GjRvj1KlTClTHHtu2bYOnpyeaNWvGtRTOUBpDB4C5c+fit99+w6tXr7iWUmtWrFiBfv36oUWLFu8t9/X1xb59+ypmh1Elli5dit69e8Pa2vq95Z6enmAYBlu3buVImfRs3LgROjo66NWrl9QxvL290axZM6xcuZJFZfJjxYoVsLCwwMSJE6tdj2EYLFu2DLNnz1a5XrFpaWn45ZdfsHjxYq6lcAsRKezF5/OpJr755hsaNWrUe8uGDPn/Sxm5ceMGGRsb0/Pnzyv9fMuWLcTn86mwsFDByqQnKiqKTExM6MWLF5V+fuvWLTI0NKTU1FQFK5Oe5ORkMjAwoMTERJljPX78mAwNDSk6OpoFZfLjxo0bZGRkRE+fPpV4m/Hjx9Ps2bPlqEo2PvQDsVhM/fv3J39/f26FyREA0SSBx8pk0AA8AdwDkAxgYU3rS2LoQqGQ7OzsaP/+/RXLlNnQRSIRtWvXjvbs2VPlOuU/uOXLlytQmfQIhUJq27Yt7du3r9r1/P39qV+/fiQWixWkTHpKSkqoR48e9Ouvv7IW8/Dhw2RqakpJSUmsxWSTxMREMjU1peDg4Fptl5GRQaampnTp0iU5KZOND/0gKCiI+Hw+FRUVcStMjsjd0AE0AJACoBUAdQDxAOyr20YSQyciun79OpmYmNDLly+JSLkN/bvvvqPhw4fXaGqpqalkaGhIt27dUpAy6fn222/pk08+qfGYioqKiM/n05YtWxSkTHrWr19PXbp0oeLiYlbjBgUFUYsWLejhw4esxpWVBw8ekKWlJW3fvl2q7Y8ePUrW1taUm5vLsjLZedcPyq+rmzdvci1Lrkhq6AxJWbHFMIw7gJ+IaEDZ/4vKUjhVJhZdXV1J0t5oCxcuRGxsLEJDQ/HJJ+pSaZQ36emvEBsbh549e0BDo+axl9PS0vDgQQq6dOkKdXXlPKYXL17g1q2b6NGjp0QTj+TkvMXVq9fQsWNH6OvrK0Bh7Xn9+jUEAgG6du0ql5ntHz16iOTkZHTu7IYmTZqwHr+2lPZovY7WrdugZcuWUseJj49DQUEhXF1da9VeX1EUFRXixYtOGD9+PL7++muu5cgVhmEERORa03qyfEvmAB6/8/+TsmUfCvmCYZhohmGiazNMrr+/PzQ1NTFx4kSlbE2RmZmJmJhYdOzoKpGZA6VjZpiYNENUVBSKi5WvhcTr169x82Y8OnXqJPEsUk2a6MDFxRnR0Tfw9u0bOSusPdnZ2RVdweVh5gDQsqUV7OzscO3aNbx48UIu+5CUFy9e4Nq1a7CzayuTmQOAg4MjgNImj8p2DRYXFyM6OhK9evXCggULuJajNMj9tktEW4jIlYhcazMRbcOGDbFv3z5kZGQgISFSqdrGZmZmIjr6BlxcXKBMBiuQAAALuklEQVSnV7tSadu2dtDV1cX161EoKqp+6jNFkp6eXmZ8rmjaVLdW2xoZGcPBwQHXr0chO1t5ehpmZmbi33//RYcOTjA0NJTrvpo3twCfz0dCwh3ExsYq/LstLCxETEwMEhIS4OrKR/PmzWWOqaamBj6fj8LCAsTExCjNNVhUVIh//70MZ+dErF27tn4ymXeRJC9T2QuAO4DT7/y/CMCi6raRNIf+Lnl5eTRo0CDy8vKi/Pz8Wm/PNmFhYWRoaEhnzpyROoZYLKZ58+aRg4MDPXnyhEV10nHgwAEyMjKiiIgImeKEhoaSkZERnTp1iiVlqqclNzeXZs2aRWZmZhQSEqKQfR49epRMTU1pzpw5lJeXx3p8oVBIw4YNI09PT8rIyGA9fm148OABOTo60rx586ikpIRTLYoECqgUbQjgAQAr/L9StF1120hj6EREBQUFNHHiRGrbti1dv35dqhiykp+fT1999RU1a9aMrl69KnM8sVhMK1euJCMjI9q9ezcnLUWys7NpypQp1KJFC4qJiWEl5qVLl8jc3Jz8/PwoJyeHlZi14c2bN+Tj40OWlpasfE/ScvHiRWrVqhX179+fQkJCWK+MLS4uppCQEOrfvz9ZW1vT5cuXWY3/IYWFhTR37lwyMzOjo0ePynVflVFSUkIbN24kAwMD+u2331SiZRWbyN3QS/eBQQCSUNraZXFN60tr6OXs37+fTExM6JtvviGhUChTrNpw5coVsrGxodGjR1N6ejqrsW/cuEHt27enoUOH0rNnz1iNXR0nT54kCwsLmj59Or19+5bV2JmZmeTt7U1WVlZ0/vx5VmNXx+nTp8nS0pJ8fHzozZs3CttvVQiFQtq1axe5ubmRpaUlrVixoqLllrS8ePGC/P39ydLSktzd3Wn37t0KvRYuX75M1tbWNH78eIWV1h88eEC9evUiNzc3unv3rkL2qWwoxNBr+5LV0ImIXr58SZ988gnZ2dnRxYsX5XqnzsrKqiiVHzp0SG77EYlEtHjxYjI2NqagoCC5XqCpqakVpfLw8HC57YeI6Pjx42Rubk5ffPEFpaSkyG0/SUlJNGXKFLK0tKTTp0/LbT+yIBAIaNq0aaSrq0udO3emmTNn0vbt2yk+Pr7K9tOFhYUUFxdH27ZtIz8/P+rcuTPp6uqSj48Pa09U0pCXl0dz5swhMzMzCggIYL1AUM7Lly/p559/JgMDA1q9ejXrTzmqRJ019HL2799P1tbW5OzsTEFBQay2l42Jiam4+CZNmkSvXr1iLXZ13Lhxg/r160dGRkb07bff0oMHD1iJW1JSQqdPn6Zhw4aRvr4+ffXVV3K7CD8kMzOTvv76azI0NKSBAwdSaGgoKxdmUVERBQcHV5yvhQsXKkWpvCZycnLo4sWLtHbtWho3bhzZ2tqSlpYWWVpakq2tLTk4OJCtrS1ZWlqSlpYW2dnZ0fjx4+m3336jS5cucZLGqoqrV6/SyJEjSU9Pj2bOnEm3b9+WOaZYLKbIyEgaN24c6erq0tSpU1np2avqSGroUrdDl4batEOXBLFYjPDwcAQEBCAyMhITJ07EZ599hg4dOkBLS0viOESER48e4dKlS9i8eTOePn2KGTNmYOrUqTAxMWFNr6Tcv38fmzZtwl9//QU3NzeMGTMGHTt2RJs2bSRuD5yXl4e4uDhERkZi69at0NbWxsyZMzF27Fg0btxYzkfwMUKhEAcOHEBAQABevnyJiRMnonPnzuDz+TA1NZUoxrNnzxAdHY3r169j9+7dsLCwgJ+fH0aNGlUxGqQqkpOTg4yMDIhEIhQUFEBDQwM8Hg+GhoZya2rJJk+ePEFQUBCCgoLQunVr9OvXD66uruDz+TA2Nq52WyLC48ePIRAIEB0djePHj0MoFMLPzw+TJk2qdKjf/yKStkNXaUN/l9TUVGzZsgVnzpxBQkICrKyswOfzwefz0aZNG2hqaoLH46G4uBhCoRCZmZmIjY2FQCBATEwMNDU10alTJ3h7e2PQoEFKMZ5yfn4+9u3bh7CwMAgEAmRkZMDZ2Rl8Ph82NjbQ0tICj8dDSUkJRCIRsrKyEBcXB4FAgIcPH6Jdu3bo2LEjJk6cCDc3N6Vp3hUdHY3Dhw9DIBBAIBCAx+OBz+ejXbt20NbWrjBnkUiE3Nxc3Lp1CwKBAEVFReDz+XB1dcWoUaPg7OzM8ZHU8y5FRUUICwvDlStXKq4rbW1t8Pl8NGvWDDweD+rq6igoKIBIJEJaWhqio6PRoEGDimvVw8MDHh4eStmRiUv+c4b+LoWFhbh9+3aFYTx8+BAFBQUQCoVo1KgReDwemjZtCicnp4ofkioMuZmRkYGYmBgIBAKkpKRAJBJBKBSiYcOG4PF40NHRgaOjY4U5Kmtv1HchIqSmpiI6OhqJiYkQCoUQCoUAAE1NTWhpaaFt27bg8/mwtLRUmptSPTVDRHjw4AFiYmKQkZEBoVCIwsJCaGhoQFNTE6ampuDz+TAzM6v/XmtAKQ2dYZh0AKlSbm4IQNVmv1A1zfV65Y+qaa7XK38k0dyCiGrsmalQQ5cFhmGiJblDKROqprler/xRNc31euUPm5rrE1X11FNPPXWEekOvp5566qkjqJKhb+FagBSomuZ6vfJH1TTX65U/rGlWmRx6PfXUU0891aNKJfR66qmnnnqqQSUMnWEYT4Zh7jEMk8wwzEKu9dQEwzCPGIa5xTBMHMMw8m94LwUMw2xnGOYVwzC331mmzzBMOMMw98v+Kk03vSr0/sQwzNOy8xzHMMwgLjW+C8MwFgzDXGAYJoFhmDsMw8wpW66U57gavcp8jnkMw/zLMEx8mealZcutGIaJKvOL/QzDKEWHjGr07mQY5uE757iD1DuRZHwALl+QYu5Srl8AHgEw5FpHDRp7AHABcPudZatRNtk3gIUAVnGtswa9PwFYwLW2KvSaAnApe98EpaOS2ivrOa5GrzKfYwaAdtn7RgCiALgBOABgTNnyTQB8udZag96dAEaxsQ9VKKF3ApBMRA+IqBDAPgDDONak8hDRZQCZHyweBuCvsvd/ARiuUFHVUIVepYWInhNRTNn7HAB3UTpFo1Ke42r0Ki1USm7Zv43KXgSgN4BDZcuV6RxXpZc1VMHQJZq7VMkgAGcYhhEwDPMF12JqgQkRPS97/wKA4kcmqz1fMgxzsywloxTpiw9hGKYlAGeUlsiU/hx/oBdQ4nPMMEwDhmHiALwCEI7Sp/lsIiouW0Wp/OJDvURUfo6Xl53jdQzDSDahbyWogqGrIt2IyAXAQAAzGYbpwbWg2kKlz4XK3gQqEIA1gA4AngNYy62cj2EYRhvAYQBziejtu58p4zmuRK9Sn2MiKiGiDgCao/Rp3o5jSdXyoV6GYdqjdPpOOwAdAegD+Fba+Kpg6E8BWLzzf/OyZUoLET0t+/sKQDBKf2iqwEuGYUwBoOzvK471VAsRvSy7QMQAgqBk55lhmEYoNcd/iOhI2WKlPceV6VX2c1wOEWUDuIDSuY51GYYpHy5VKf3iHb2eZekuIqICADsgwzlWBUO/AaBNWc21OoAxAI5xrKlKGIZpzDBMk/L3APoDuF39VkrDMQCTyt5PAhDCoZYaKTfGMkZAic4zUzp84DYAd4not3c+UspzXJVeJT/HRgzD6Ja91wTQD6W5/wsARpWtpkznuDK9ie/c4BmU5vulPscq0bGorKnU7yht8bKdiJZzLKlKGIZphdJSOVA6kfYeZdTLMMxeAB4oHentJYAfARxFaQsBS5SOivkZESlFRWQVej1QmgoglLYsmv5OfppTGIbpBiACwC0A4rLF36E0L61057gavWOhvOfYEaWVng1QWjg9QETLyq7BfShNX8QCmFBW+uWUavSeB2CE0lYwcQBmvFN5Wrt9qIKh11NPPfXUUzOqkHKpp5566qlHAuoNvZ566qmnjlBv6PXUU089dYR6Q6+nnnrqqSPUG3o99dRTTx2h3tDrqaeeeuoI9YZeTz311FNHqDf0euqpp546wv8AjxrJOBUgnL8AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"for R in np.linspace(R_max, R_max, num=1, endpoint=True):\n",
" \n",
" print('R: {}'.format(R))\n",
" \n",
" r = np.ones(N)*R\n",
" \n",
" def circle_distances(centers):\n",
" z=np.array(centers,dtype=np.float)\n",
" x,y=z.take(a,axis=0),z.take(b,axis=0)\n",
" '''\n",
" Overlapping depth or separation.\n",
" If circles overlap, the c5 entry will be positive.\n",
" If circles are separated, the c5 entry will be negative.\n",
" '''\n",
" c5=r.take(A,axis=0) + \\\n",
" r.take(B,axis=0) - \\\n",
" np.sqrt(np.power(x.take(A,axis=0) - \\\n",
" x.take(B,axis=0),2) + \\\n",
" np.power(y.take(A,axis=0) - \\\n",
" y.take(B,axis=0),2)) # <=0\n",
" return c5\n",
"\n",
" def potential_energy(centers):\n",
" c5 = circle_distances(centers)\n",
" return c5[c5 > 0]**2\n",
" \n",
" def circle_cons(centers):\n",
" c5 = circle_distances(centers)\n",
" #print(len(c5),c5)\n",
" #print(len(c5[c5 > 0]))\n",
" neg_norm = np.linalg.norm(c5[c5 < 0])\n",
" pos_norm = np.linalg.norm(c5[c5 > 0])\n",
" return neg_norm - pos_norm\n",
" \n",
" def accept(f_new, x_new, f_old, x_old):\n",
" #print(x_new - x_old)\n",
" center_to_center_dist = circle_distances(x_new)\n",
" if (center_to_center_dist < 0).all() and boundary_cons_T_F(x_new):\n",
" print('Accepted')\n",
" return True\n",
" return False\n",
" \n",
" def total_potential_energy(centers):\n",
" return potential_energy(centers).sum() + potential_energy_outside(centers)\n",
" \n",
" \n",
" opt = basinhopping(total_potential_energy,\n",
" x0,\n",
" accept_test=accept,\n",
" niter=500,\n",
" #T=1000,\n",
" #stepsize=1,\n",
" disp=True,\n",
" minimizer_kwargs={'method':'BFGS'})\n",
" #display.clear_output()\n",
" print(opt)\n",
" print(circle_cons(opt.x))\n",
" print(boundary_cons(opt.x))\n",
" print('All constraints exactly satisfied: {}'.format(accept(0,opt.x,0,0)))\n",
" \n",
" fig = plt.figure()\n",
" ax = fig.add_subplot(111)\n",
" plot_line(ax, poly_line, \"blue\")\n",
" for center_x,center_y in zip(opt.x[0::2],opt.x[1::2]):\n",
" ax.add_patch(plt.Circle((center_x,center_y), R, fill=False, lw=1, ec='black'))\n",
" ax.set_aspect('equal')\n",
" plt.show()\n",
"\n",
" if not opt.lowest_optimization_result.success:\n",
" centers_opt = x0\n",
" break\n",
" x0 = opt.x\n",
"centers_opt = opt.x"
]
},
{
"cell_type": "code",
"execution_count": 127,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.0\n"
]
}
],
"source": [
"print(R)"
]
},
{
"cell_type": "code",
"execution_count": 128,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 1.95428421 32.34786739 12.07463287 1.98052838 13.95355995 20.99815544\n",
" 6.91912223 21.39504609 17.67783541 32.36526511 1.9514788 26.80284085\n",
" 6.27720512 10.21845164 16.19320619 20.84870736 26.17538251 26.78212883\n",
" 27.30057605 13.55875539 7.96085439 31.77248474]\n",
"[ 7.91416969 17.86317204 13.18656755 1.95709283 1.98198308 2.25017301\n",
" 19.93071232 10.4421514 15.07919317 5.95786973 16.04555505 20.0221211\n",
" 11.98429207 7.49347782 7.52734249 20.07227561 14.05961536 7.9642328\n",
" 1.99336064 19.63911027 1.96973856 11.9089529 ]\n"
]
}
],
"source": [
"print(centers_opt[0::2])\n",
"print(centers_opt[1::2])"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"181.06821354785862"
]
},
"execution_count": 129,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"circle_cons(centers_opt)"
]
},
{
"cell_type": "code",
"execution_count": 130,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-988"
]
},
"execution_count": 130,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"boundary_cons(centers_opt)"
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111)\n",
"\n",
"plot_line(ax, poly_line, \"blue\")\n",
"plot_line(ax, poly_line_offset, \"green\")\n",
"for center_x,center_y in zip(centers_opt[0::2],centers_opt[1::2]):\n",
" ax.add_patch(plt.Circle((center_x,center_y), R, fill=False, lw=1, ec='black'))\n",
"\n",
"ax.set_aspect('equal')\n",
"plt.show()\n",
"fig.savefig('room1.pdf', dpi=300)\n",
"fig.savefig('room1.png', dpi=300)"
]
}
],
"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.1"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment