import os import shutil from fnmatch import fnmatch root = r'H:' dst_dir = r'G:' pattern = "*.tif" i = 1 for path, subdirs, files in os.walk(root): for name in files: if fnmatch(name, pattern): current_file = os.path.join(path, name) shutil.copy(current_file, dst_dir) dst_file = os.path.join(dst_dir, name) dst_new_file_name = os.path.join(dst_dir, "["+ str(i) +"] " + name) os.rename(dst_file, dst_new_file_name) print(os.path.join(path, name)) i += 1
Sunday, August 27, 2017
Use Python to find specific files from one location to another location
Python Split a large file into multiple files....
def file_split(filehandler, delimiter='\t', row_limit=25, output_name_template='output_%s.txt', output_path='F:\\Novus\\Decision Tree\\Data\\', keep_headers=True): import csv reader = csv.reader(filehandler, delimiter=delimiter) #reading the source file using csv module current_piece = 1 #identifier of the out data int number current_out_path = ''.join([output_path, output_name_template % current_piece]) #create the full path of the out data of = open(current_out_path, 'w') #open the source data current_out_writer = csv.writer(of, delimiter=delimiter) #put the source data into a variable current_limit = row_limit #set the max row limit if keep_headers: #check if the header option is True or False headers = next(reader) current_out_writer.writerow(headers) #if header is True write the header into the out file for i, row in enumerate(reader): if i + 1 > current_limit: of.close() current_piece += 1 current_limit = row_limit * current_piece current_out_path = ''.join([output_path, output_name_template % current_piece]) of = open(current_out_path, 'w') current_out_writer = csv.writer(of, delimiter=delimiter) #if the row limit is achieved then create a new out file if keep_headers: current_out_writer.writerow(headers) current_out_writer.writerow(row) of.close() file_split(open(r'F:\Novus\Decision Tree\Data\iris_data.txt', 'r'), row_limit=100, output_name_template='iris_split_%s.txt', output_path='F:\\Novus\\Decision Tree\\Data\\')
Thursday, August 24, 2017
Python dask dataframe for large data
The data that I am using here fits in memory, but dask
will work even when the data is larger than memory.
import dask.dataframe as dd df = dd.read_csv(r'F:\Novus\Decision Tree\Data\iris_data_copy.txt', sep='\t', header=0, encoding='latin-1', blocksize=100**4) df.npartitions df_summary = df.groupby(['Species']).mean() print(df_summary.compute())
Friday, August 18, 2017
Update a Python list - Don't know why this the case.
I was trying to update a list which contents a few lists. When I try to update a one element of a list within the list it seems updating all lists of the list. But it only happens when I create the list in the following way. I have no clue why this is the case.
example_list = [[0,0]]*3 print(example_list) example_list[0][0] = 1 print(example_list) print('') example_list = [[0,0],[0,0],[0,0]] print(example_list) example_list[0][0] = 1 print(example_list)
[[0, 0], [0, 0], [0, 0]]
[[1, 0], [1, 0], [1, 0]]
[[0, 0], [0, 0], [0, 0]]
[[1, 0], [0, 0], [0, 0]]
Wednesday, August 16, 2017
Python Recursive Function
Recursion is a way of programming or coding a problem, in which a function calls itself one or more times in its body. Usually, it is returning the return value of this function call. If a function definition fulfils the condition of recursion, we call this function a recursive function.
Termination condition:
A recursive function has to terminate to be used in a program. A recursive function terminates, if with every recursive call the solution of the problem is downsized and moves towards a base case. A base case is a case, where the problem can be solved without further recursion. A recursion can lead to an infinite loop, if the base case is not met in the calls.
Example:
Replacing the calculated values gives us the following expression
Generally we can say: Recursion in computer science is a method where the solution to a problem is based on solving smaller instances of the same problem.
Termination condition:
A recursive function has to terminate to be used in a program. A recursive function terminates, if with every recursive call the solution of the problem is downsized and moves towards a base case. A base case is a case, where the problem can be solved without further recursion. A recursion can lead to an infinite loop, if the base case is not met in the calls.
Example:
4! = 4 * 3!
3! = 3 * 2!
2! = 2 * 1
Replacing the calculated values gives us the following expression
4! = 4 * 3 * 2 * 1
Generally we can say: Recursion in computer science is a method where the solution to a problem is based on solving smaller instances of the same problem.
#Recursive function to calculate the cumulative sum of a list def cum_sum(l=None): if len(l) <= 1: return l[0] else: return l[0]+cum_sum(l[1:len(l)]) #Recursive function to calculate the the factorial of a number def fact(number): if number == 1: return 1 else: return number * fact(number-1) print(cum_sum([1,2,3,4,5,6,7,8,9])) print(fact(3)) #45 #6
Monday, August 14, 2017
Python Grouping Data Elements (itertools groupby)
#PYTHON GROUPING DATA ELEMENTS (ITERTOOLS GROUPBY) import itertools #make a iterator that returns consecutive keys and groups from the iterable list_01 = [100, 50, 50, 50, 50, 50, 60, 60, 60, 80, 80, 70, 70, 70, 70, 70, 70] keys = [] groups = [] sorted_list_01 = sorted(list_01) for k, g in itertools.groupby(sorted_list_01): keys.append(k) #make g a list groups.append(list(g)) print(keys, "==>", groups) #make dict of key and group dict_list_01 = dict(zip(keys, groups)) print(dict_list_01) #another example list_02 = 'AAAAAAACCCDDEEEEFF' sorted_list_02 = sorted(list_02) dict_list_02 = dict(zip([k for k, g in itertools.groupby(sorted_list_02)], [list(g) for k, g in itertools.groupby(sorted_list_02)])) print(dict_list_02) dict_list_02_len = dict(zip([k for k, g in itertools.groupby(sorted_list_02)], [len(list(g)) for k, g in itertools.groupby(sorted_list_02)])) print(dict_list_02_len)
Friday, August 11, 2017
Python pickle
In this post i am going to talk about pickle. It is used for serializing and de-serializing a Python object structure. Any object in python can be pickled so that it can be saved on disk. What pickle does is that it “serialises” the object first before writing it to file. Pickling is a way to convert a python object (list, dict, etc.) into a character stream. The idea is that this character stream contains all the information necessary to reconstruct the object in another python script.
Example of pickle creation
##Import pickle module
import pickle
##Let's create example dic object
eample_dict = {'Sarbadal': ['Manager', '5 years', 'Data Science', 'Photography'],
'AJ': ['Lead', '4 years', 'Data Science', 'Video Game'],
'Shobhit': ['Sr. Analyst', '1 year', 'Data Science', 'Python'],
'Abhishek': ['Analyst', '2 years', 'Data Science', 'Painting']}
##Creating pickle
filename = r'F:\Python\Pickle Objects\pickle_example_dict'
file = open(filename, 'wb')
pickle.dump(eample_dict, file)
##Loading pickle
file = open(filename, 'rb')
new_dict = pickle.load(file)
##Checking the loaded object
print(type(new_dict))
print(new_dict['AJ'])
['Lead', '4 years', 'Data Science', 'Video Game']
Thursday, August 10, 2017
Permutation Function with Repetition
def perm(l=None, n=None, str_a=None, perm_a=None): if len(str_a) == n: return [str_a] + perm_a else: new_perm_a = perm_a for c in l: new_perm_a = perm(l=l, n=n, str_a=str_a + c, perm_a=new_perm_a) return new_perm_a def permutations(l=None, n=None): str_a, perm_a = '', [] result = perm(l=l, n=n, str_a=str_a, perm_a=perm_a) return result lst = permutations(l=['a', 'b', 'c', 'd'], n=3) print(lst)
Python Basic Cluster Analysis
import matplotlib.pyplot as plt from matplotlib import style style.use('ggplot') import numpy as np import pandas as pd from sklearn.cluster import KMeans, hierarchical from scipy.spatial.distance import cdist from scipy.spatial.distance import pdist from scipy.cluster import hierarchy from scipy.cluster.hierarchy import linkage from sklearn import preprocessing
Reading the data and making the Car Models as Index
print('Reading the original data mtcar...')
car = pd.read_csv(r'F:\Novus\ClusterAnalysis\mtcar.txt',
sep='\t',
header=0,
low_memory=True,
encoding='latin-1',
error_bad_lines=False)
car.set_index('car', inplace=True)
scalling all the attribute to (0,1)...
scaler = preprocessing.MinMaxScaler(feature_range=(0,1))
scaled_col = []
ori_col = car.columns.tolist()
for col in ori_col:
new_col = 'scaled_'+col
scaled_col.append(new_col)
car[new_col] = scaler.fit_transform(car[[col]])
car_scaled = car[scaled_col].copy() #creating the scaled/transformed data
car = car[ori_col].copy() #putting the original data back
del scaled_col, ori_col
Create dendrogram
tree = linkage(car_scaled, method='complete', metric='euclidean')
hierarchy.to_tree(tree, rd=False)
hierarchy.set_link_color_palette(['#800080', '#FF00FF', '#000080', '#0000FF', '#008080', '#008000', '#800000'])
plt.figure(figsize=(15,10))
dn = hierarchy.dendrogram(tree,
orientation='top',
color_threshold=1,
leaf_font_size=11,
leaf_rotation=90,
labels = car.index.tolist())
plt.show()
hierarchy.set_link_color_palette(None) # reset to default after use
car_scaled['Group_Hierarchical'] = hierarchy.cut_tree(tree, n_clusters=5, height=None)
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2QAAAKjCAYAAABycsxwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmclWXdP/DvwBxkcENn0kJEE9RwVEjTXCpcUFp8jJR6rKjsycqy3dwXVNTQJM1cWlxSR330gVcTLpmioQ+JT27QzxEtcUFDpRlUhAE5s/z+mGZiZBlm5j7nmhne79fLl3Dm3Pf3Oocz97k/93Xd11XS3NzcHAAAABRdv9QNAAAA2FgJZAAAAIkIZAAAAIkIZAAAAIkIZAAAAIkIZAAAAIkIZAAAAIkIZAAAAIkIZAAAAIkIZAAAAImUFmrHixYt6tTzKyoqora2tkCtUUeddLXUUafYtdRRp5h1illLHXWKXUsddbpTZ8iQIRv0PD1kAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiQhkAAAAiZSmbgDQc1VVDYrq6rJ2j+VypZHPlxe8dl+rU8xa6qhTzDrFrKXOv40fvyImTqzPuEVACnrIgHWqri6Lmppc6mYAsJqamtwaF8uA3ksPGbBelZX5mDatru3vFRUVUVtbt54tstHX6hSzljrqFLNOMWup02LChOL0fALFoYcMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgEYEMAAAgkQ0OZE1NTXHyySfHlClTCtkeAACAjcYGB7K77747tttuu0K2BQAAYKOyQYGsrq4unnjiiTj00EML3R4AAICNRklzc3NzR0+aOnVqfOYzn4kVK1bEHXfcEaeeeuoaz5k5c2bMnDkzIiKmTJkSq1at6lRDSktLo6GhoVPbdIU66hS7Vm+uc9hhpRERcd99/95vb349KesUs5Y66hSzTjFrqdNibcfmQtTpLJ85ddRpb8CAARu2/46e8Pjjj8eWW24ZO+20U9TU1KzzeWPHjo2xY8e2/b22tnaDGtCqoqKi09t0hTrqFLtWb66Tz5dHRERtbV1B66xNX6tTzFrqqFPMOsWspU6LtR2bC1Gns3zm1FGnvSFDhmzQ8zoMZM8++2w89thj8eSTT8aqVatixYoVcfnll8f3vve9TjcKAACAf+swkH3hC1+IL3zhCxERUVNTE3fccYcwBgAAkAHrkAEAACTSYQ/Z6iorK6OysrJQbQEAANio6CEDAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIRCADAABIpDR1AwCAjUtV1aCori7r9Ha5XGnk8+UFaFHvqlNTk4uIiAkTNmzbnv56il1r/PgVMXFifcYtgq7TQwYAFFV1dVlbqKDzKivzUVmZT92MXqmmJteliwFQSHrIAICiq6zMx7RpdZ3apqKiImprO7dNV6jTs+t0p9aG9ipCMekhAwAASEQgAwAASEQgAwAASEQgAwAASEQgAwAASEQgAwAASEQgAwAASEQgAwAASEQgAwAASEQgAwAASKS0oyesWrUqJk2aFA0NDdHY2Bj77bdffO5znytG2wAAAPq0DgNZLpeLSZMmxcCBA6OhoSHOPvvsGD16dOyyyy7FaB8AAECf1eGQxZKSkhg4cGBERDQ2NkZjY2OUlJQUvGEAAAB9XYc9ZBERTU1Nccopp8Rrr70W48aNi5133rnQ7QIAAOjzSpqbm5s39MnLly+PSy65JL761a/GsGHD2v1s5syZMXPmzIiImDJlSqxatapTDSktLY2GhoZObdMV6qhT7Fq9uc5hh7Vcs7nvvn/vtze/npR1illLHXWKWacrtdZ2bClEna5Sp2fX6U6tzn72+tp7p05x6wwYMGDD9t+ZnW666aZRWVkZc+fOXSOQjR07NsaOHdv299ra2s7sOioqKjq9TVeoo06xa/XmOvl8eURE1NbWFbTO2vS1OsWspY46xazTlVprO7YUok5XqdOz63SnVmc/e33tvVOnuHWGDBmyQc/r8B6ypUuXxvLlyyOiZcbFv/71r7Hddtt1ukEAAAC012EP2RtvvBFXXnllNDU1RXNzc+y///6x9957F6NtAAAAfVqHgWyHHXaIiy++uBhtAQAA2Kh0OGQRAACAwhDIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEhHIAAAAEilN3QC6r6pqUFRXlxW0Ri5XGvl8eUFrFLNOMWv15jo1NbmIiJgw4d/77c2vJ2WdYtbqLXXGj18REyfWZ9giAOh99JD1AdXVZW0nzpClysp8VFbmUzeDPqimJlfwC0kA0BvoIesjKivzMW1aXcH2X1FREbW1hdt/sesUs5Y66hS7Vm+os3qvKwBszPSQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJCKQAQAAJFLa0RNqa2vjyiuvjDfffDNKSkpi7Nix8clPfrIYbQMAAOjTOgxk/fv3jy996Uux0047xYoVK+LUU0+NPffcM4YOHVqM9gEAAPRZHQ5Z3GqrrWKnnXaKiIiysrLYbrvtYsmSJQVvGAAAQF/XqXvIFi9eHC+88EKMGDGiUO0BAADYaJQ0Nzc3b8gTV65cGZMmTYqjjjoqPvzhD6/x85kzZ8bMmTMjImLKlCmxatWqTjWktLQ0GhoaOrVNV/TFOgcf3PLn++4rXL2+9r4Vs5Y66hS7Vm+oc9hhLSPmN+S41Rtez8Zcpyu1OvPv3506XdVT6lxzTb+47bbuz79WUlISG3i61yvqdKfWvHklERExatSGbdvX3rtC1vnP/2yK445rioie8zuUus6AAQM2bP8b8qSGhoaYOnVqfPSjH11rGIuIGDt2bIwdO7bt77W1tRvUgFYVFRWd3qYr+mKdfL7lF6u2tq6gdfrS+1bMWuqoU+xavaFOPl8eERt23OoNr2djrtOVWp359+9Ona7qKXWqqsqjpqZfVFbmu1Unl8tFPt+9ffSkOt2ptdtuLf/f0E372ntXqDo1NbnI5xtj/PiW3+me8juUus6QIUM26HkdBrLm5ub45S9/Gdttt10cccQRnW4IAABdU1mZj2nTunfBteVksnAXbYtdp5i11NkwEyaUZ77PjUmHgezZZ5+Nhx56KIYNGxYnnXRSRER8/vOfj7322qvgjQMAAOjLOgxkH/jAB+L2228vRlsAAAA2Kt2/UxQAAIAuEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASEcgAAAASKe3oCVdddVU88cQTseWWW8bUqVOL0SYAAICNQoc9ZAcddFCcfvrpxWgLAADARqXDHrLddtstFi9eXIy2ALABBlUNirLqsnX+vDRXGuX58oK3ozt1SmtyERFRPqHj7Xvy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uSe22GKLOPvss2PQoEGZ1ImIeOihh+Lhhx9uW5eyvLw8DjjggPjoRz8aJSUlvarOY489FvX19fGxj31sjdqDBg3KfGmXV199Na666qpYsmRJXHnllfH888/HY489VpDP+1NPPRW77757h48Vwj/+8Y/M91lbWxtVVVVr/A5dccUVmddatGhRvPjii+3qjBkzJpN9r1q1KmbMmBFz5sxp99nef//948gjj4x1uKXAAAAgAElEQVQBAwZkUufaa6+Niy66KCIiLrjggrY/R0Tcfvvtsffee2dSp9WUKVNi0qRJUVracjrZ2NgYF110UVxwwQWZ1nn44Ydj9uzZ8c9//jP69+8fQ4cOjSOOOKLtuJeF++67L2666aYYNGhQHHfccXHttdfGsGHD4sUXX4z//M//jEMOOSSzWhEt5zpXXHFFvPHGG1FSUhKNjY0xaNCguP766zOtszbLli2LzTbbLNN9LliwIKZOnRq5XC6am5ujsbExTjzxxNhpp50yrbO6X//61/GNb3yjIPuuqqpa47FBgwbFLrvsUpDjadEDWVYnvx254447IqLlILhgwYIYNmxYREQsXLgwRowYkVkgy2o/HZk+fXo88sgj8bGPfawtgNXW1sZ1110XH/7wh2PChAmZ1Pmf//mfmDVrVpSUlMSRRx4Zd999d+y+++4xa9aseP755zNb8mDOnDkxZ86cWLx4cbtQu2LFithkk00yqdGq9TM3ffr0yOVyMXbs2Ghubo7777+/3ZW97rr//vvjzDPPXOPxAw88MM4999zMAtnChQvb/vyXv/ylXSDrzVfX9tprr5gxY0aMGTMmBg4c2PZ41p+Hyy67LPbbb784+OCDo1+/wg4SuPrqq2PfffeN559/Po4//vi477774r3vfW9m+58+fXrstNNOcdxxx0X//v0jIqKhoSGuu+66mDZtWocXIzbUddddF6+++moceuihUVFREREtx5/7778//v73v8fXvva1XlVnxowZceKJJ67x+OjRo+OnP/1p5oHsmmuuiaOPPjpuvvnmiIjYcccd44orrihIILvpppvanYSv67He4uqrr44DDzwwXnrppfje974X9957b2y77baZ17n77rtj5syZ8cYbb8SIESNi/vz5sdtuu2UWyK666qoYOHBgnHDCCe0+2/fee29ceeWV8cMf/jCTOqv3jr+7p7wQPef5fL7dMXrgwIGxatWqTGtUVVXFyy+/HHvssUc8+uijsfPOO8cWW2wRP/3pT+NLX/pS7LfffpnUueeee+Lyyy+PFStWxKmnnho/+clPYsiQIfHmm2/G+eefn3kgu/HGG+P000+Pyy+/PKZMmRIzZ86MN998M7P9P//883HppZfGkiVLYq+99oqvf/3rscUWW0RExOTJkzM/Jvz2t7+Nb33rW7HHHntERMuFoOuvvz4mT56cyf7XFpDmzJnTduFx4sSJmdRp9eabb8YzzzwT++yzT0S0XMgbPnx4zJkzJ/bff//MlwAreiArlkmTJkVEy8nXscceGzvvvHNERDz33HNx9913Z1bnoIMOymxf6/Pggw/GJZdcssZVtHHjxsWJJ56YWSCbM2dO/OxnP4uVK1fGd77znfjFL34RgwcPjhUrVsSZZ56Z2Qfwfe97X+y1117x3HPPtQu1gwYNKtiV3L/85S/tDkBHHnlknHLKKZm9psbGxigrK1vj8bKysky77tf3hZtlT0WxTZs2LSKi7aS1VdYXcZqbm4u2luJbb70Vhx12WNxzzz0xcuTI2HXXXePMM8/M7ER83rx5ccEFF7SFsYiI0tLS+PKXvxxnnHFGJjUiIubOnRuXX355u8dGjBgR++67b/zgBz/odXXy+XxsueWWazy+xRZbxMqVKzOr06q+vj5Gjx4dt9xyS0S09Ai39ihk5bXXXotFixZFfX19uxEi9fX1vXpo9ttvvx2HHHJI3HXXXbHLLrvEiBEj4swzz4zPfvazmda5//7748ILL4yzzjorzjjjjFi4cGHbMSkLL7zwwho941tssUUcf/zx8f3vfz+zOqt/B7z7+6BQ3w9Lly5tO9F/6623Mg9+jz/+eEydOjX69esXY8eOjSlTpsQ555wTBxxwQPzkJz/JLJD1798/Bg8eHIMHD45NN900hgwZEhERgwcPLsjFu+bm5hg6dGg0NjZGv3794vDDD49TTz01s++H3/72t/HVr341dtlll/jDH/4QkyZNijPOOCMqKioKEs5XrlzZFsYiInbfffe44YYbMtv/H//4x9hnn33ife97X7vHs75o2+qNN96IKVOmtPUkTpgwIaZOnRrnnXdenH766X0nkL344ovxm9/8Zo1hCFmffL388sttYSyi5ct99R6GrDQ2Nsaf/vSnePHFF9tdHfr2t7+dyf6bm5sLfjU/ouVkbpNNNolNNtkkNt100xg8eHBEtISK1U/6umvHHXeMHXfcMT70oQ9l3m2+LqtWrYrXXnutrYfitddey/RK3vLly9f5sxUrVmRWZ31fuFk67bTT1vmzQtwjUKze85133jleeuml2GGHHQpeq/Wke+DAgVFbWxuDBw+Ot99+O9Maq/cmru+x7lrbEJfly5dn/sVejDrLli1b588KEcj69esXDQ0Nbb+vS5Ysyfx395lnnokHH3ww3nrrrbYRIhEtx+6sekojIr72ta+tte3Nzc1RX1+fWZ1W7/4d2nLLLQty/MnlcjFw4MBobm6O5ubmGDZsWLz66quZ7b9fv37x+uuvr9G799prr2X6Waivr48nn3yy7d/j3eE8a5/4xCfirLPOahv++9BDD8X48eMzrbH6uU9JSUnb62jtacxKLpeLJ598MpYvXx4lJSXxyCOPxH777Rfz588vyHdt6znV1ltvHU8++WS85z3vWe+xqbNWrlzZdsH7s5/9bAwZMiTOO++8OOOMMwryejbZZJOoqamJysrKiGgZkpllWLroooviN7/5Tey0007xqU99KkpKSmLWrFmZX5xptWTJknbfRZtuumm88cYbUVZWFrlcLvN6yQLZtddeG8ccc0xbl+0f//jHgpxEDBw4MB566KG2g8X//u//FiRN//rXv47GxsaoqamJww8/PGbPnp3pvV1jxoyJ0047LcaMGdNuuMODDz6Y2ZCKiJYP3B//+Meor6+PzTffPO64444YM2ZMzJ07t2Dv29pkee9dq2OOOSbOOOOMtvHML7zwQqZjj3fdddf4/e9/H5/+9KfbPX7HHXfErrvumlmdRYsWtYWl1f/c+vesfOlLX8psXxtq0aJF8Y9//CP22WefWLlyZTQ0NGQe2J977rmYNWtWDBkypN1BtRD3kO26666xbNmyOOyww+LUU0+NAQMGZHoPx/p6WbLsgTnyyCPjpJNOin322Sfe8573RETEP//5z3j00UfbDZntLXV22GGHmD17dnzkIx9p9/if//zn2H777TOr0+rwww+PSy65JJYuXRq33357PPTQQ3HMMcdkWuOggw6Kgw46KGbNmlXQkRtTpkwp2L7XZuTIkbFs2bIYN25cnHLKKZHL5TLrEVndJptsEg0NDbHDDjvEzTffHOXl5dHU1JTZ/r/4xS/GWWedFcOHD2/7bC9evDief/75TL+HKioqYsaMGW1/Xj2cZx1gIiIOOeSQ2HbbbePJJ5+MiIhvfvObsdtuu2VaY4899ogpU6bEHnvsEY899ljbMbS+vj7Tf6Njjz02fvOb30RJSUmcdNJJMWPGjLjyyisjl8tl2kPf6uMf/3gsW7YsPve5z8Vll10W9fX1ceyxx2a2/3w+H01NTW2B9sADD4xcLheTJ08uyIQbxx57bPzsZz9r+15taGhY69DwrhoyZEicddZZUV1dHeeee258/etfL+hF6aFDh8avfvWrtttNZs2aFdttt13k8/mCdJCUNCeajuuUU06Jiy66KE488cSYOnVqRLRckc/6pOiVV16JK664Il5++eWIiBg2bFiccMIJMXTo0EzrtL6OH//4x3HJJZdEfX19XHzxxXHOOedkVuPpp5+OOXPmrDGpR5YHv1dffTWqqqqipKQkjj322LjvvvviD3/4Q2y77bbx7W9/O97//vdnViui5QPeKp/PxyOPPBJDhw6Nr371q5nWafXWW2/F3//+94iI2GWXXdqGWWThzTffjHPOOSc233zzGDFiRES0nPwvXbo0zj333Lbexu7qaNKTrL8Mi2XWrFlRXV0dDQ0NccUVV8SiRYvi2muvjbPOOivTOut6/wr9vi1evDjq6+szvQn9S1/60jqPZa+88krcdNNNmdVavHhxPPLII+2OP/vtt19ss802mdUoVp1FixbFOeecE7vvvnu739WnnnoqzjnnnLahSll65pln4rHHHouIiL333jvzyZhW99prr60xaU2x7nfOWn19fds9IrW1tVFfX992T3iWFi5cGNtss0288847ceutt8by5cvj6KOPzvT3deXKlTF37tx2n+3Ro0cX5GJ0X9LU1BQPPPBAvPTSS7HTTjvFQQcdFCUlJZHP56O+vn6tw4+z8vbbb8emm25alBFKWbv22mvjgx/84Bq/+48//nhcffXVcc0112Res6Ghoe3C8JAhQzIfmt2qdZTd66+/XpDXEdFy7Jk2bVrU1NRERERlZWVMmDAhNtlkk1i+fHmm548RCQPZ6aefHhdeeGFMmjQpvvrVr0Z5eXmceuqpceWVVxakXuuQsbXd45OF1jB58sknx+TJk2OTTTaJH/7wh3HppZcWpF5f1dDQEOeff36mQTai5YB+2mmnFfzG9lWrVsXs2bPj+eefj4iInXbaKQ488MCCjXEupD//+c8xfPjwtiGe11xzTcyePTu22Wab+O53v5t5T8LJJ58c5513Xpx99tlx8cUXR0S0u2DTW+Xz+ViyZEm7k+OsTvj7ajgvhjfffDPuueeeeOGFFyIi4v3vf3+MGzcuttpqq8xrzZ8/v6ABbHW33HJL3H///TF06NB2J5Gt91X3Js3NzfGjH/3I92gPVFVVFRMnTlznTNOFGOWyupUrV/baIDtv3rz1/nzUqFFFakn23nnnnairq2vXc5l1B0irxsbGeOONNwrS85tCsiGLBxxwQLz99tvxmc98Js4+++xoamoq2JTXc+fObZume9SoUbHnnntmXmOzzTaLZcuWxejRo+PCCy+MzTffPLbeeuvM9t969W7gwIHR0NAQv//97+O5556LHXbYIY466qjMpsxdn0JMk7o2hZgpsF+/fm2zPxXyvRowYEAccsgha8zGdNVVV2V2P2GxgtLvfve7tqmLH3300XjiiSfizDPPjOeffz5uuOGGtc4o2R2lpaVrfMFmeVUyxQnEvffeG1VVVVFWVtbutVx99dWZ7L9YgauhoSFmzpwZJSUlMXbs2Pi///u/mD17dgwbNiyOPvrozMbTv/nmmzF9+vQoLy+P//iP/4gbbrghampqYvvtt4+vfOUrmYalwYMHZz5scF1uvPHGWL58eYwZMyYOOuigKC8vL1itOXPmxC9+8YtMlzxIpaSkJCoqKory3fPGG2/E9ddfH0899VSUlJTE7rvvHscee2xBAvq7/epXv4pvfvObmezr9ddfj1//+tdRW1sbe++9dxxzzDFt33lnnHFGZtPRf+ADH4iIdD2vkyZNyvwCa7Heu+nTp6/zZyUlJQUNZDfeeGOm95Su7p577olbbrklNttss7ahhCUlJZktUXHjjTfG5z//+bbvm/79+0dFRUXU1dXFL3/5y0wnsmo1b968NZbCyGoSvXdLFsiOOOKIiGiZZvi6666LfD5fkN6rGTNmxIMPPhgHHnhgRETccMMNMWbMmDjyyCMzrXPaaadFv3794phjjonZs2dHfX19pvd2/fznP28bu3/LLbdEbW1tfOxjH4t58+bFNddck9nJfrGnSV395Li5uTkWLlxYkMAc0TKz46RJk2K//fZrd+I/bty4gtRbXZbrdhUrKJWUlLT17M2dOzcOPvjgGDFiRIwYMSLuu+++TGqsbvPNN49Fixa1HcgfeuihTE9cU5xAzJgxIy655JLMh/Wtrhjrdl133XXx9ttvx6pVq2L+/PnR0NAQH/nIR+LRRx+Nm266Kf7rv/4rkzpXX311bLfddvH666/H5MmTY9iwYfGtb30rnnjiifjVr36V6Rp7xVpXLaLl/sSFCxfGrFmz4vTTT4/tt98+DjrooDXuYcvCVltt1SfCWKuysrI45ZRT4oMf/GC743bWU1xfccUVMXLkyLZ7eP70pz/FFVdckfmQ6bWZO3duZvu65pprYp999olddtkl7rnnnrYZ4QYNGtTupLK7WpeGqKysbLsnrpgKMbirWO/deeedl9m+Oqt1+F0h3HnnnTF16tSCfR5WrFgRJ598cpxwwgltQ83vu+++mDZtWnzmM5/JvN7NN98cCxYsiJdffjn22WefePTRR9vNIpm1ogeyxYsXxzbbbLPOlc+z7tp86KGH4vzzz28Le60zAmUdyO6444749Kc/Hf369WubQGRtEzx0R+tVgZqamrjwwgujf//+sd9++8XJJ5+cWY1iT5O6+slx//7948gjj2w3K2aWmpqaYvvtty/I4qXFVKygtPqQg7/97W/tJvnI8kbqVl/5ylfi8ssvj0WLFsUJJ5wQAwYMiFNOOSWz/beeQBRrqYqIiC233LKgYaxY63Y9++yzMXXq1Mjn83HcccfFb37zmxgwYEDsu+++mYakJUuWxGmnnRZNTU3xzW9+s23o8ogRI+Kkk07KrE6x3rfVDRs2LL785S/H5z//+bj++uvjF7/4RUEC2S677BKXXXZZ7L///u16LgtxIaK+vj4WLVrUbrbarHttt99++4JMtPJub7zxRrsr30cffXT8+c9/zmz/xx133Fofz3p2yrfeeis+/vGPR0TLLM+///3v49xzz40zzzyzIBMgnHnmmTF06NAYM2ZM7LfffkUZrRMRBTmuFuu962jyrULcw9qqkHcpDR48uKDh/Jvf/GbMnTs3Lrvssth3333jpZdeiqampjjvvPMKsjbhE088ERdffHGceuqp8Y1vfCMmTJgQv/rVrzKv06rogey6665rW3Dv3bLs2mzV3NzcruetrKysIB/Ihx9+eI3wtbbHumrAgAFtU7Zvuummkc/no3///tHY2JjpbDnFnia19eS4darpQo4Jz6oXMbViBaWRI0fGZZddFoMHD46lS5e2nWgtXbq0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)
KMeans CLustering
#determine k range
k_range = range(1, len(car_scaled))
# fir the KMeans model for each n_cluster = k
k_means_var = [KMeans(n_clusters=k).fit(car_scaled) for k in k_range]
#pull out the cluster centers for each model
centroids = [X.cluster_centers_ for X in k_means_var]
#calculate the Euclidean distance from each point to each cluster center
k_euclid = [cdist(car_scaled, cent, 'euclidean') for cent in centroids]
dist = [np.min(ke, axis=1) for ke in k_euclid]
#total within cluster sum of squares
wcss = [sum(d**2) for d in dist]
#total sum of squares
tss = sum(pdist(car_scaled)**2)/car_scaled.shape[0]
#the between cluster sum of squares
bss = tss - wcss
plt.figure(figsize=(12,7))
plt.plot(range(1, len(car_scaled)), bss,
linewidth=2.0,
# linestyle="None",
marker="o",
color="blue")
plt.xlabel('# clusters')
plt.ylabel('% of variance explained')
plt.title('variance explained vs # cluster')
plt.annotate('optimal number of clusters', xy=(5, bss[4]), xycoords='data', xytext=(7.5, bss[4]-5),
arrowprops=dict(facecolor='black', shrink=0.05),
horizontalalignment='top', verticalalignment='top')
plt.grid(True)
plt.show()
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtQAAAG9CAYAAAA1PuH/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4TGf7B/DvmZnsuySWLKTEVmtVLKVCEnusLaqoUpRYSvvaughVBK1U8fbXorW0amkJ2lIiKtZKLS+104QQKpFFEpNlZs7vj2kmGdmOJJOZTL6f68qVmbM85z55Brcn93keQRRFEUREREREVCYyYwdARERERFSVMaEmIiIiIioHJtREREREROXAhJqIiIiIqByYUBMRERERlQMTaiIiIiKicmBCTURGNX/+fPj6+ho7DJPTtWtXjBs37pnO8fHxwSeffGKgiPS9+eabCAoKqpRrVSZzvS8iMiwm1ERkVP/5z39w6tQpY4dhFmJiYjBjxgxjh1FpZs+ejcmTJwMAvvnmG/To0cPIERXN19cX8+fPN3YYRGRATKiJyCg0Gg3UajXs7e3h5uZm7HDMgru7O+zs7IwdRqU5fvw4OnfuDAA4evQoOnXqZOSIDEsUReTm5ho7DCIqAhNqIirR2rVr4eTkhKysLL3tS5cuRd26daHRaCCKIsaPH48GDRrAxsYG9evXx/vvv4/s7Gzd8XmlHdu2bUOTJk1gaWmJ69evFyr5iI2NxeDBg+Hh4QFbW1u0aNECmzdv1rt2XjnEwoULUbt2bdSoUQNvvPEGMjIy9I7btm0bXnzxRVhbW8PV1RW9e/dGSkqKbv+qVavQpEkTWFtbo2HDhli0aBFUKlWJP4+bN2/ilVdegbOzM1xcXNCjRw9cvHhRtz8kJAQ+Pj5ITU3VbRs7diwaN26si8/HxwcffPABxo0bB0dHR7i5ueH999+HRqMp9roHDx5E165dUaNGDTg5OcHf3x+nT5/WO+bpkg8fHx/MmzcP77zzDmrUqIFatWphxowZhe6xtJ9DcnIyhg0bBjs7O9SqVQsffvghSltkt1OnTpgwYUKh7U2bNsWHH34IALh06RJ69uwJZ2dn2NnZoWnTpoX6ujjZ2dn4888/dQn1sWPHJCfUpX0uCiqqBOS7776DIAi693fv3sUrr7wCNzc3WFtbo379+li+fDkA7Wf11q1bWLBgAQRBgCAIiIuLA1D6Z2nDhg1QKBQ4fPgwXnjhBVhZWSEyMlLSPRJR5WJCTUQlGjp0KHJycrB792697Zs2bcLIkSMhk8kgiiJq1qyJLVu24MqVK/j888/x7bffYvHixXrnJCQk4L///S82btyIy5cvw8vLq9D1MjIyEBAQgH379uHixYuYMGECxowZg8OHD+sd9+OPPyI5ORm///47tm7dip9//hlLly7V7f/2228xcuRIDBw4EGfPnsWRI0fQp08fqNVqANoE/9NPP8WSJUtw5coVrFy5El999RUWLFhQ7M/in3/+QefOnVGzZk0cPXoUp06dQuPGjdG1a1ckJiYCAFasWAFHR0eMHz8eALBlyxZ8//332Lp1K+zt7XVtrVq1Ch4eHoiJiUF4eDhWrlyJVatWFXvtjIwMhISE4OTJkzhx4gQaNmyIXr164dGjR8Wek3edOnXq4I8//sCqVauwevVqbNy4Ubdfys/hrbfewpkzZ7B3715ERUUhLi4Ou3btKvG6o0ePxo4dO/T+U3X69GlcvXoVb7zxBgBg+PDhcHV1xYkTJ3Dx4kWsWLECLi4uJbYbEhICZ2dn1KxZE9nZ2WjRogWcnZ1x8+ZNDB48GM7OztiyZUux55f2uSiLkJAQpKWlITIyElevXsX69et1n+2dO3fCx8cH7733Hu7fv4/79+/D29tb0mcJ0P4mZ/bs2VixYgWuXr2Ktm3bljlOIjIgkYioFMOGDRP79Omjex8TEyMCEK9evVrsOStWrBB9fX1170NDQ0VBEMTbt2/rHRcaGio2aNCgxOv3799fHDdunO69v7+/2LJlS71jJk6cKHbo0EH33tvbW5w8eXKR7WVmZoo2Njbivn379LZv3LhRdHJyKjaO0NBQsX379nrbNBqNWL9+fTE8PFy37fLly6Ktra04Z84c0cHBQfz888/1zqlXr57YuXNnvW1z584Vvby89O7xrbfeKjYWtVotOjs7i999951euwsXLtR7369fP73zevXqJb722muiKEr7Ody4cUMEIB44cEC3Pzs7W/Tw8BADAwOLjS8lJUW0trYWt2/frts2efJkvT5ydHQUv/3222LbKEpiYqIYGxsrhoSEiMOHDxdjY2PF5cuXi507dxZjY2PF2NhYMT09vdjzS/pciKIojh49Wu++nn4viqK4efNmseA/ny1bthRDQ0OLbbNBgwaF9kv5LH377bciADE6OrrYtonINCiMm84TUVUwevRo9O/fHw8fPkTNmjWxadMmtGvXDo0bN9Yds3btWqxbtw5xcXHIzMyESqUqVMJQq1Yt1K1bt8RrPXnyBB9//DH27t2L+/fvIycnB9nZ2ejWrZveca1atdJ77+Hhgd9++w0A8PDhQ8THxxf7kNqlS5egVCrxyiuv6P3qXq1WIysrC4mJiXB3dy90XkxMDM6cOaM30gwASqUSN27c0L1v2rQpPv30U4SEhKB379545513CrXVsWNHvfedOnXCkiVL8PjxYzg6OhY6PjY2FvPmzcPJkyfx8OFDaDQaPHnyBLdv3y7yHvO0bt1a772HhwdiY2Ml/xwuX74MAHjppZd0+y0tLeHn51eoxKYgZ2dn9O/fH5s3b8aQIUOQm5uLrVu3YuHChbpj/vOf/2DcuHHYsGEDunbtiv79+6NNmzYl3o+bmxvc3Nxw8uRJfPTRR/Dx8cGZM2cwYMAA+Pj4lHhuaZ+Lspo+fTrefvtt7Nu3D127dkXfvn3RpUuXEs+R+lkCAD8/vwqNl4gqHhNqIipVjx494Obmhi1btmDy5MnYunWr3qwFO3bswOTJkxEWFgZ/f384Ojpix44d+OCDD/TakfLA3MyZM7F7926sWLECjRs3hp2dHd577z2kpaXpHWdpaan3XhCEEmuQC8o7bseOHWjUqFGh/TVq1Cj2vMDAQKxevbrQPicnJ733R44cgVwuR3x8PLKysmBtbS0ptuIEBwfDzc0Na9asgbe3NywtLdG5c2fk5OSUeF5JP6ey/hykeuONNzBo0CAkJibi+PHjyMjIwGuvvabb/9FHH2HEiBHYv38/oqKisHjxYsyaNavYqf8WL16sKyPKzMzEyJEjIQgClEolIiIiMH/+fLz//vt4//33yxV3QXklTQU9/WDgmDFj0KtXL+zfvx+HDx9G7969MWjQIHz33XfFtiv1sySXy8v92SEiw2NCTUSlksvlGDFiBDZv3oz69esjLS1NLzGKjo7GCy+8gHfffVe3Le/Bq2cVHR2NESNGYOjQoQC0icf169dRq1YtyW3UrFkTXl5eOHDgAPr3719of7NmzWBtbY2///4bffr0kdxu27ZtsWHDBnh5eZWY5Kxfvx579uxBdHQ0Xn/9dcyYMQNffvml3jFPTxV44sQJeHp6Fjk6/ejRI1y+fBm//vorevbsCUD7INzDhw8lx14UKT+H559/Xhdf9+7dAQA5OTmIiYlB06ZNS2y/Z8+eqFGjBrZu3YrDhw8jODi4UI10/fr1ERISgpCQEISFhWH58uXFJtQTJ07E0KFD8csvv2Dz5s3YunUr/vrrL4wdO1b3gGZJ/wko7XNR3DknT57U23b27NlCx9WpUwdjxozBmDFj0KdPHwwfPhz//e9/4ejoCEtLy0I12lI/S0RUNfChRCKS5I033sDZs2cRGhqK4OBgvcSlcePGuHjxInbv3o1bt25h5cqV2LlzZ5mu07hxY+zevRunT5/G5cuXMWHCBCQkJDxzO6Ghofjqq6+wcOFCXLlyBZcuXcLq1auRlJQEe3t73UjmmjVrcO3aNVy6dAlbt27F7Nmzi21zypQpUKvVGDBgAI4ePYq4uDgcO3YMH3zwAU6cOAEAuHbtGt555x18/vnneOmll/DDDz9g3bp1hR7iO3/+PObPn4/r169jy5YtWLlyJd57770ir+vi4gJ3d3esXbsW169fx8mTJzF8+HDY2Ng888+lICk/B19fX/Tv3x+TJ0/G4cOHcfnyZYwbNw7p6emltq9QKPD666/jyy+/xC+//ILRo0fr9mVkZGDy5MmIiopCbGwszp07h/379+sS+KLUqFEDvr6+uHHjBgIDA+Hr64s7d+6gS5cu8PX1ha+vb6mj6iV9LooSFBSEq1evYs2aNbh16xbWrl2L7du36x0zZcoU/Prrr7h16xYuXbqEnTt3wtvbGw4ODgCA5557DsePH8edO3eQlJQEjUYj6bNERFUHE2oikqRly5Zo3bo1zp8/r5ulIc/bb7+NUaNGYcyYMXjhhRfwxx9/lHkhi/DwcNSrVw/dunVDYGAgPD098eqrrz5zO3m1uT/++CNat26NLl26YN++fVAotL+Y++ijj7BixQqsXbsWrVq1QufOnREeHl5iHW6tWrVw8uRJuLm5YfDgwWjcuDFGjBiB27dvo06dOsjOzsZrr72GXr166aaM69ixIxYsWIBx48YhPj5e19bUqVNx+/ZttG3bFlOnTsWUKVOKrLUGtGUHO3bswK1bt9CyZUu8+eabmD59OurUqfPMP5enSfk5fPPNN2jdujWCg4Ph7+8PT09PDBo0SFL7o0ePxpUrV+Dk5ITevXvrtisUCqSkpOCtt95C06ZN0bNnT9SqVavEGTry/P7777oa5SNHjqBr166S77e0z8XTgoKC8Mknn2Dx4sVo1aoVoqKiMG/ePL1jRFHE9OnT0bx5c3Tp0gWZmZnYt2+fri59wYIFSE1NRePGjeHu7o47d+6U+lkioqpFEJ8uDiMiIoPy8fHBuHHjdPMxExFR1cYRaiIiIiKicmBCTURERERUDiz5ICIiIiIqB45QExERERGVAxNqIiIiIqJyqJILu0iZk9bNza3YeUXJeNgvpod9YnrYJ6aJ/WJ62CemyZz6xcPDQ9JxHKEmIiIiIioHJtREREREROXAhJqIiIiIqByYUBMRERERlQMTaiIiIiKicmBCTURERERUDkyoiYiIiIjKgQk1EREREVE5MKEmIiIiIioHJtREREREROVQqUuPazQazJkzBzVq1MCcOXOQkZGB8PBwJCYmwt3dHTNmzIC9vX1lhkREREREVC6VOkL966+/wtPTU/c+IiICLVq0wBdffIEWLVogIiKiMsMhIiIiIiq3SkuoHz16hLNnzyIwMFC3LSYmBv7+/gAAf39/xMTEVFY4REREREQVotJKPjZs2ICRI0dCqVTqtqWlpcHFxQUA4OzsjLS0tCLPjYyMRGRkJAAgLCwMbm5upV5PoVBIOo4qF/vF9LBPTA/7xDRVp3754QcZ5s2TIz4e8PYGPv5YjeHDNSbaXp1yt2f4GE2vPcPHWP5+McQ9G0qlJNRnzpyBk5MT6tevj0uXLhV5jCAIEAShyH1BQUEICgrSvU9KSir1mm5ubpKOo8rFfjE97BPTwz4xLTt32iAszAEJCQI8PGSYMycdgwcrSz+x1Pbk8PBQm2R7s2Y5QanU/pt85w4waZIM6ella7es7Ymi9kujyf8SRQEREdb48EMnZGXltzdxogwJCRno0ydL77y814Cg9/7p/QcPWmP5ckdkZ+e3+fbbcly5komAgOx/4xEKnVfwCxB0r48cscSXXzogJye/vQkT5Pjzzyfo1CkHgKB3jwVfP/0eAE6csMSGDfaF2jt2LAsdOuTonVPc97zXef74wxJbttghNze/zfHj5Th0KAt+frmltlmwnwDgzz8t8eOPtoXa278/Gy+8kFtqfE+3ef68BXbv1m+vPJ/DsvLw8JB0nCCKT99GxduyZQuio6Mhl8uRk5MDpVKJdu3a4datW5g/fz5cXFyQkpKC+fPnY+XKlaW2l5CQUOox/AfJNLFfTA/7xPRUpz6p6GSwotvMTwbzKyRtbDRYtixNcpsaDaBSAWq1gJ07rTFvnhOysvLbs7LSYObMdAQEZEOt1h6nPb641wLUam2bp05Z4ocf8pMiALCwENGvnxLNmuXqjs07X63Oi6fw67xj9u611rvfgnF26JCj147+axS6nkYD3Lsnh1pdeMBMEETY24u6c0VRKJQ8Ez3N01OF06cfVtr1TCqhLujSpUvYu3cv5syZg82bN8PBwQEDBw5EREQEMjIyMHLkyFLbYEJddbFfTA/7xPSYcp8YM1nVaIDsbCA7W0BOjoDsbKHQ+6goK6xdmz+SB2gTzIEDn6B5cxVUKiAnR5uY5uYK/35pk8rcXO22/H3A779b6SW/eRQKEfXrq5Cbm5/cqlRCkd81GiaGZSUIImQy6L4EQfx3ZLqon6kIV1cNBCHvWO0XAMhkou59wf3aawCxsfJi22zaVFXgPP12CraR/yUiJsay2PY6dcp56lyxyHbyfwbAoUNWxbbXq1eW7riC3wue//R3QQD27LEuts2n//wV1cbT37dtsym2vddffyIproLfN260LbI9QRBx9+79Iq5jGFUioU5PT0d4eDiSkpKeado8JtRVF/vF9LBPTE9F9omhE2ArKxHTpqWjU6ccKJX4N8kt+AVkZQnIytLfnpUlYM+eokdCFQoRXl5qZGUJyMnJT5gLjsJWNQqFCIWi5GSwYUMVFApALhchlwNyufa8gq9lsry2tNv27i0+KZowIfPfc/PbkMnyz81/ndeu9vUnnzgiJUVeqEVXVzVWrkzVnVuwzeLal8uBV15xw4MHhdurU0eFqKhEvWRZJss7t3Bimaddu5q4d69wxWp5Ri4ruk1Tb68qxGiIey4Lk02oKwIT6qqL/WJ62Cemw3C1sPoJ8FtvZaB161xkZgrIzBSQkSGT8FpAcrIMRSdvlcfKSoSVlQhLy7zvgLV1/vvTp4sfGRw7NhMKBWBpqU36FArt+QqFCAsL7Ui2hYV2n/Y1MGeOEx49KpwM1qypxtatjyCX5x2vTUaf/p6XXOYlhlUh6aiIMpeq1F5ViJH3XP72ykpqQl2pC7sQEVHRnv7H4949BWbNckJmpoCXX85GeroMjx8LRX5PTxfw+LH+9/R0GR4+lBWqQ83OFvDf/zpUcPQi2rbN1SW71tZigdf5SXDePu1+YNEihyJHQmvWVOOnn5L+PQe6BNrSsugRy4KKTzDVWLjw8TPfWVaWUOQ/6h999BiNG6ueub05c9KLbG/OnPRnbssQ7QHQJSsV9Z87U2+vKsTIe664ZywMhSPUVKnYL6aHfVJ2ZRlRVqmApCQZ/vlHjn/+yfsux1df2eHJk8paGkBbd2lrq30ozN5eU+C1CFtbje61nZ0Gdnba1336uCEhoeJGQ6vCqFtem6Y+K0dVSToqGv/+Mk3m1C8s+TCjzjQn7BfTwz4pm6ISN2trDaZOzcDzz+fin3/kePhQmzQ/eCDHw4fa5DkxsfCocclEeHur4eAgwtFRAwcHEQ4OGjg6Pv298L4BA6pGAmzKs3wUxD8rpod9YprMqV9Y8kFEVIHUauDBAzlu35bjzh055s93KvRAXVaWDMuXO5bYjiCIcHdXo2ZNDWrVUqN2be3rDRtskZpauPzB01ONU6fKVgs7d27FlgMY6tfOFT2aaog2iYhKwoSaiKqN0kYuHz8WcOeOHLdvKwp9v3dPLnGWCREBAdmoVatg0qxBzZpq1Kqlhru7BhYWhc9q0EBl8rWweW0yWSUi0seEmoiqhaIe+psxwxnr19tBowHu3FEgNbXkGuZatdTw9lajbl0VDh60Rnp64eM9PdXYvDn5meMz1AM4TICJiAyPCTURmaxnrYVVKgXcuydHfLwcd+8W/FLg7FmLQgtsqFQCzp+31L23sdGgbl31v18q1KuX/93bWw0bm/xHToqrJy7viPLgwUqzqj8kIqoOmFATkUkqakR55kwn3LsnQ+PGqn8TZwXu3pXrkuii5gsunYjdu5NQr54abm6aUqdly1PVpnQiIiLDYUJNRCbjyRNtDfOdO3J8+GHRD/2FhTkVe76FhQhPTzU8PdXw8lLD21ulez11qkuRq7V5eqrRtm1umeJlOQUREQFMqImogkgpz8jNBRIStDNlxMdrH/iLj5fjzh0F4uPlSEqSMsIsomvXbHh5qQt8qeDlpX0IUF5MEx988LjCSzSIiIgAJtREVAGKKs94911n7NtnBQcH6BLnhAR5oTrmgiwtRXh5aeuWY2IskZlZ9EN/339vOg/9ERERMaEmomeiVALx8Yp/52PWfv/+e1tkZeknv7m5An791VZvmyCI8PBQoW7d/NkytN+15Rm1a2sg+7cZQz70R0REVJGYUBNVU/olGjV1o7WiCCQmynQJ8507csTFKf6tbVYUWYdcPBFhYWm6hNnTUw0rK2lnckSZiIiqCi49TpWK/WIafvxRO/qbnZ0/+iuTiahVS43UVFmhhwELUii0ZRn16mmnk6tXT4U1a+yRnFzUA39lW+K6uuOfE9PEfjE97BPTZE79wqXHiao5UQSSk2W4dUuBv/+W//td+3X9ugKAfi2zRiPg/n3tXwnOzhrUq6ctzchLnOvWVcHHR7tUtuKpvzlq1tTwgT8iIqq2mFATVRHFzaKhVAqIjc1PmAsmzmlpJa/89zRBEHHp0gM4OT3bL65YnkFERNUZE2qiKmDnThvMnOmke/Dv3j0F3nnHGR995IjU1OJrmh0cNGjQQIX69fO/GjRQYcyYGkhIKPzH38ND/czJdB4+8EdERNUVE2oiEySKwK1bCpw5Y4E//7TE9u22UKkKl2ikpsphYSGiXr28hFmtS6AbNFAVu/Lf3LnpLNEgIiKqIEyoiUxAZqaAc+cscOaMJf780xJnz1oiNbX0cg1BEHHz5v1CNc2lYYkGERFRxWFCTWQAJa0aKIrahU7+/NNSl0BfuaIotOBJ7dpqtGmTg7Ztc/Dll/ZITCxc2uHhUfgBQanySjTM6WlsIiIiY2BCTVTBilo18D//cUZkpBWyswX8+adloSW2FQoRLVpok+cXX8zBiy/mwtNTrSvXcHfnLBpERESmigk1UQULC3MoNI9zdraA3bvzVw10dVXjxRdz0LZtLl58MQetWuXCxqb4hwFZokFERGS6mFATVYDbt+U4fNgKR45Y4d694mbdELFyZSpefDEHPj7qIh8WLAln0SAiIjJNTKiJyiAzU8Dx45Y4csQav/9uhbi40v8oeXqq8eqrTIiJiIjMDRNqIglEEbh0SaFLoGNiLJGbmz/E7OSkwcsvZ6Nr12w8eQIsWeLIemciIqJqggk1EYqelcPfPxvR0Vb4/XcrREdb4eHD/FIOmUxEmzY56No1G/7+WWjdOldvtg0XF5H1zkRERNUEE2qq9oqalWPaNGeIIgDkj0LXrq1G165Z8PfPxssvZ8PFpeSHCJlAExERVQ9MqKlaU6mABQscC83KIYoCABFdumgT6K5ds9G4seqZHyQkIiIi88eEmqodlQo4dcoSe/fa4NdfrZGcXPSsHIIA/PBDciVHR0RERFUNE2qqFtTq/CR63z5rvYVVFAoRKlXhoWcPD3VlhkhERERVFBNqMltqNXD6dP5IdMGlu597ToV+/ZTo10+Jq1ctuAohERERlRkTajIrGg0QE2OJvXut8csvNnozc/j4qBAcrE2imzXLr4d+/nkVAK5CSERERGXDhJqqpKenuRs69AkeP5bhl19s8OBBfhJdr552JDo4OAvNm+cW+1AhZ+UgIiKismJCTVVOUdPchYc76vZ7e+eVc2ShRYvik2giIiKiilApCXVOTg5CQ0OhUqmgVqvRoUMHDB06FNu3b8ehQ4fg6KhNhoYPH442bdpURkhURf39txzvv+9UaJo7ALC312Dbtkdo1YpJNBEREVWeSkmoLSwsEBoaCmtra6hUKsybNw+tW7cGAPTt2xf9+/evjDCoikpOlmHPHmv8+KMtzp2zLPa4zEwBrVvnVmJkRERERJWUUAuCAGtrawCAWq2GWq2GwCFEKoFSCRw8aI2dO21x+LCVblo7OzsNRBF48qTwCDWnuSMiIiJjEERRLH795Aqk0Wgwe/ZsPHjwAD179sTIkSOxfft2/P7777C1tUX9+vXxxhtvwN7evtC5kZGRiIyMBACEhYUhJyen1OspFAqoVKoKvw8qn5L6RaMBoqMF/PCDDDt3yvD4sTaJlstFdO8u4vXXNejXT4Pdu2UICZHjyZP8/5TZ2or473/VGD5cUyn3YU74Z8X0sE9ME/vF9LBPTJM59YulZfG/GS+o0hLqPJmZmfj0008xZswYODo66uqnt23bhpSUFISEhJTaRkJCQqnHuLm5ISkpqdzxUsUqql+uXlXgp59ssGuXLe7fz5+ho3XrHAwerMSAAUq4ueknyk/P8sFp7sqOf1ZMD/vENLFfTA/7xDSZU794eHhIOq7SZ/mws7NDs2bNcP78eb3a6cDAQCxdurSyw6FKop8A18SkSRnIzhbw00+2uHzZQnect7fq3ynsnsDXt/gSDk5zR0RERKaiUhLqx48fQy6Xw87ODjk5Obhw4QIGDBiAlJQUuLi4AABOnz4Nb2/vygiHKllR09x9+KETAG3JhrOzBsHBSrzyihJ+fjmcoYOIiIiqlEpJqFNSUrBmzRpoNBqIooiOHTvixRdfxKpVqxAXFwdBEODu7o4JEyZURjhUycLCHIqY5k6AtbUGa9akolu3LFhZGSU0IiIionKrlIS6Xr16WLZsWaHtU6dOrYzLkxGlpgq4d09e5L7sbAG9emVVckREREREFavw3GNEFeTMGQv07OmOvNIOfSKnuSMiIiKzwKXHqcJpNMBXX9khLMwRKpWAunVVePhQhqws7f/fHB012LbtChIT7yMpqSbc3NyMHDERERFR2TGhpgqVnCzDO+84IypKu5DPhAkZmDv3MX7+OX+WDwcHDdLSUjBmTC+4uLigR48eCAwMhLe3N2rXro0aNWpw4R8iIiKqMphQU4U5dcoSkye74MEDOZydNQgPT0GPHtkA8qe5y5ubMjfXG4MHD8aOHTuwZcsWbNmyBQDg7u6Onj17IiAgAN71Wpv0AAAgAElEQVTe3qhVqxZcXV2NeVtEREREJWINNZWbWg18/rk9hgxxxYMHcvj5ZePAgYe6ZLooFhYWGDlyZKHtiYmJ+O677zB27Fh0794dQUFBmDNnDm7cuIFKXoOIiIiISBIm1FQuDx/KMGKEK5Yvd4RGI2DKlHTs2PEInp6lLwHesGFDNGrUqJT2H+L8+fOwt7dnGQgRERGZJCbUVGZHj1qiRw93HD1qBVdXNb7//hHmzk2HhUXp5wKAk5MT3nvvvRKPqVmzJr788kvUqVOnAiImIiIiqnhMqOmZqVTA8uUOGD7cFYmJcnTsmI0DBxLRtWvxJR7FadWqFezt7Yvdv3TpUjz33HPlCZeIiIjIoJhQ0zO5f1+GYcNc8fnnDgCA9957jG3bHqF27dJLPIri5eWFt99+u9j9U6dOxalTp6BWc85qIiIiMk1MqEmyqCgr9OjhjlOnrFCzphrbtj3Cu+9mQF70QoiSCIKAnj17Frs/IyMDQ4cOxc8//wylUln2CxEREREZCBNqKlVuLrBokQNGjXJFcrIc/v5ZOHgwEZ065VRI+/Xr10e3bt107ydMmIC+ffvq3qvVaoSEhGDt2rVISUmpkGsSERERVRTOQ02F7NyZvwhLrVoaWFuLiItTQC4XMWtWOkJCMiCrwP+K2djYYOLEiTh8+DAGDBiAqVOnQhRFPPfcc1i9erXuuKVLlyI2NhZz5sxBrVq1Ki4AIiIionJgQk16du60waxZTlAqtRnzgwfaeg4nJw02bEhGu3YVMyr9tMaNG6N3796YN28eatSoAQCYNm0afHx8MHPmTN0c1Nu3b0dsbCy++OIL1K1b1yCxEBERET0LlnyQnrAwB10yXZCtrcZgyTSgXSFx+fLlqF27tm6bnZ0dXn31VXz//fewtrbWbY+JicGQIUNw7do1LvZCRERERseEmvQkJBT9hGHeSLUhubi4FNpmYWGBLl26ICIiAm5ubrrtd+/exYABA3D69GnOAEJERERGxYSa9Hh4FJ2cFre9MgiCgBYtWiAiIgJNmzbVbU9PT8eQIUOwb98+zgBCRERERsOEmvTMmpUOQdAvo7Cx0WDOnHQjRZTvueeew6ZNm/Sm2VOr1Xj77bfx7bffIi0tzYjRERERUXXFhJr02NqKEEUBcrkIQRDh6anCsmVpGDzYNEaAPTw8sHz5ckyaNElv+6JFi7Bw4UI8fPjQSJERERFRdcWEmvSsW2cHAJg//zHu3r2P06cfmkwyncfV1RXTp0/H0qVL9bb/8MMPmDhxIuLj440UGREREVVHTKhJ58IFC/zxhxUcHTUYNuyJscMpkb29PYYOHYrvvvsOVlZWuu1//PEHhgwZguvXr3MGECIiIqoUTKhJZ+1a7ej08OFPYGdn+smopaUlunbtioiICN3c1QAQHx+P/v3748yZM5wBhIiIiAyOCTUBAB48kGHPHhvIZCLGjs00djiSCYKAli1bYvfu3WjYsKFue3p6Ol555RUcOHAAWVlZRoyQiIiIzB0TagIAbNhgB5VKQO/eWfDyqnqjuvXr18eWLVsQGBio26ZSqTBu3Dhs2LCBM4AQERGRwTChJiiVAr77zhYAMH58hpGjKTsPDw+sWLECEyZM0Nu+cOFCLFmyBImJiUaKjIiIiMwZE2rCTz/ZICVFjtatc9C2ba6xwykXNzc3vPvuu1iyZIne9s2bN2PKlCm4e/eukSIjIiIic8WEupoTxfyp8saPz4QgGDmgCuDg4IDXXnsNmzZtgqWlpW77sWPHMGzYMNy4ccOI0REREZG5YUJdzR05YoUbNyxQu7Yaffua1nzT5WFpaYlu3bph165dcHFx0W2Pi4vDgAEDcPbsWWg0GiNGSEREROaCCXU1lzc6PWZMJiwsjBxMBZPJZGjdujV2794NX19f3fa0tDQMHjwYBw8eRHZ2thEjJCIiInPAhLoau3FDgcOHrWFtrcGIEVVnqrxn1aBBA2zZsgXdunXTbcvNzcXYsWOxefNmPH782IjRERERUVXHhLoayxudHjJECRcX01/IpTw8PT0RHh6OsWPH6m0PDQ3F0qVLOQMIERERlRkT6moqOVnAjz/aAADGjTPf0emC3N3dMXPmTCxcuFBv+4YNGzBt2jTOAEJERERlwoS6mvr+eztkZckQEJAFX1+VscOpNI6Ojhg5ciQ2bNgAiwJF49HR0Rg+fDhu3rxpxOiIiIioKmJCXQ3l5GhXRgSqz+h0QZaWlggMDMTOnTvh5OSk2/73339jwIABOHfuHGcAISIiIsmYUFdDP/9sgwcP5GjUKBddulTPWS5kMhnatGmDPXv24LnnntNtT01NxaBBg3Do0CHk5OQYMUIiIiKqKphQVzMFF3IZN848FnIpD19fX2zduhUvv/yybltubi7efPNNfP/990hPTzdidERERFQVKCrjIjk5OQgNDYVKpYJarUaHDh0wdOhQZGRkIDw8HImJiXB3d8eMGTNgb29fGSFVWzExlvjf/yxRo4Yagwc/MXY4JsHLywurVq1CeHg4Nm7cqNv+4YcfIjY2FtOmTYObm5sRIyQiIiJTVikj1BYWFggNDcXy5cuxbNkynD9/HtevX0dERARatGiBL774Ai1atEBERERlhFOtrV2rHZ0eNeoJbGyMHIwJcXd3x+zZszF//ny97evXr8eMGTNw79494wRGREREJq9SEmpBEGBtbQ0AUKvVUKvVEAQBMTEx8Pf3BwD4+/sjJiamMsKptu7ckWP/fmtYWIgYPbr6PYxYGicnJ4waNQrr1q2DQpH/y5uoqCicP3/eiJERERGRKauUkg8A0Gg0mD17Nh48eICePXuiYcOGSEtLg4uLCwDA2dkZaWlpRZ4bGRmJyMhIAEBYWJikX78rFAr+mv4py5bJodEIGD5cjWbNahglhqrQL6+99hrq1KmD4cOH4/Hjx5g+fTqCg4Ph6upq7NAMoir0SXXDPjFN7BfTwz4xTdWxXyotoZbJZFi+fDkyMzPx6aef4s6dO3r7BUGAUMwTckFBQQgKCtK9T0pKKvV6bm5uko6rLjIyBHzzTS0AwKhRyUhKyjVKHFWlX1q1aoU9e/bghx9+wNixYyGKYpWIuyyqSp9UJ+wT08R+MT3sE9NkTv3i4eEh6bhKn+XDzs4OzZo1w/nz5+Hk5ISUlBQAQEpKChwdHSs7nGpj2zZbpKfL0KFDNlq0ME4yXZUIgoCGDRti1qxZZjsyTURERBWjUhLqx48fIzNTW7Obk5ODCxcuwNPTE23btsWRI0cAAEeOHIGfn19lhFPtqNXA+vXVdyGX8sir/SciIiIqTqWUfKSkpGDNmjXQaDQQRREdO3bEiy++iEaNGiE8PBxRUVG6afOo4kVGWuP2bQXq1lWhR48sY4dDREREZFYqJaGuV68eli1bVmi7g4MD5s2bVxkhVGt5U+WNHZsJudzIwRARERGZGa6UaOb++kuBkyetYG+vwWuvcSEXY1q7di2USqXu/ahRo4qd2eZZnDhxAm+88Ua523kWDRs2rJTrhISEICgoCF9//bWk48sa1/79+3H9+vUynUtERMSE2sytXatdefK1157AwUE0cjTV27p16/QS6s2bN8PJycmIERmHSqWSdNzDhw/xv//9D5GRkZgwYYJBYypLQi31PoiIyPwxoTZj//wjw+7dNpDJRLz1Fh9GrGhfffUVAgICEBAQgLVr1wIA4uPj0aVLF0yZMgX+/v4YP348lEol1q9fj3/++QdDhgzBq6++CgBo3749kpOTdedMnz4dnTt3xpQpUxAdHY0BAwagU6dOOHfuHADg3Llz6NevH3r06IH+/fvj5s2bJca3bds2jBs3DiNGjECnTp3wySef6PYVHMnduXMnpk+fDgCYPn065syZg+DgYHTs2BEnTpzAu+++C39/f90xeUJDQ9GtWzcMHToUjx49AgDExcVhxIgR6NWrFwYNGqSLcfr06Zg9ezaCg4P14gCArKwszJgxA4GBgejRoweOHz8OAHj99dfx4MEDdO/eHX/88YfeOYmJiXjrrbd0U2o+vSjU06P2H3zwAbZt2wYAWLx4Mbp27YqgoCB8/PHHiImJwcGDB/HJJ5+ge/fuiIuLk3wfJ0+eRPfu3dG9e3f06NEDGRkZJfYJERGZp0qbh5oq36ZNdsjNFdC7txJ166qNHY5ZuXDhArZv346ff/4ZoijqElAnJyfcunULn332Gfz8/PDuu+9i48aNmDhxIr7++mvs2LEDNWoUXlQnLi4OX331FVasWIE+ffogIiICEREROHDgAFatWoVvvvkGvr6+2LVrFxQKBaKjo7F06VJdIl+cS5cu4bfffoOlpSW6dOmCMWPGwNPTs8Rz0tLSsHfvXhw4cABjxoxBREQEPv30U/Tp0wd//fUXmjdvjidPnqBVq1ZYsGABwsPDsWLFCixatAizZs1CWFgY6tevj7Nnz2Lu3LnYsWMHAOD+/fvYvXs35E8V8m/YsAGCIODQoUO4efMmhg8fjqNHj+Lbb7/F6NGjcfDgwUIxfvTRR+jQoQPWr18PtVqtm0WoNMnJydi3bx+io6MhCALS0tLg5OSE7t27IygoCMHBwQCAoUOHSrqP0aNHY/HixfDz80NmZiasrKwkxUFEROaFCbWZUiqBTZtsAQDjx3N0uqKdPn0avXr1gq2t9mfcu3dv/PHHH+jRowc8PDx0U0AOHjwY33zzDSZOnFhie97e3mjatCkAoFGjRujcuTMEQUCTJk0QHx8PALpVG2NjYyEIAnJzS59PvHPnzrr53Rs1aoR79+6VmlB3795dd203Nze9uO7evYvmzZtDJpOhf//+unscN24cMjMzcebMGbz99tu6tnJycnSvg4ODCyXTABATE4MxY8YAAHx9feHl5YW///4bDg4OxcZ4/PhxrFy5EgAgl8slz2Hv6OgIKysrvPfee4UWjMrzLPfh5+eHBQsWYNCgQejdu7fkBQCIiMi8MKE2UxERtkhOlqNFixy0a5dT+glUYZ5e8bO4FUALKjiyKZPJYGlpqXutVmt/u7B8+XK89NJLWL9+PeLj43WlIyXJayevrby634IxZWVlFXmOTCYrFFdxdcOCIECj0cDR0bHIEWUAuv98VAaFQgFRzH9mIDs7W7f9l19+wbFjx/DLL7/g22+/1Y0853mW+5gyZQoCAwMRFRWFgQMHYsuWLfD19TXAHRERkSljDbUZEsX8qfLGj8+EhHyOnlH79u3x22+/QalU4smTJ9i/fz/at28PALh37x7+/PNPAEBERIRutNre3r5cNbbp6emoXbs2AGD79u3lit/d3R03btyARqPB7t27n/l8jUaDX375BQCwa9cutGvXDg4ODvD29sbevXsBAKIo4tKlS6W21a5dO+zatQsAcOvWLdy7dw8NGjQo8ZzOnTtj06ZNAAC1Wo3Hjx/r7ff09MT169eRnZ2NtLQ0HDt2DIB29Dk9PR2BgYGYP38+Ll++DEDbN3llI89yH3FxcWjatCkmT56MVq1alVrXTkRE5okJtRk6etQS165ZoFYtNfr1U5Z+Aj2zFi1aYMiQIejbty+Cg4MxfPhwNG/eHADQoEEDbNy4Ef7+/khLS8Po0aMBACNGjMCIESMkjSwXZdKkSViyZAl69OhR7hkm5s6di9GjR6N///66JP1Z2Nra4ty5cwgICMDx48d1izKtXr0aW7duRVBQELp164YDBw6U2tbo0aOh0WgQGBiISZMmITw8vNRa5I8//hgnTpxAYGAgevXqVWiGDk9PT/Tr1w8BAQGYOHGirm8yMjIwevRoBAUFYdCgQQgNDQUADBgwAF9++SV69OiBuLg4yfexbt06BAQEICgoCBYWFujWrVup90tEROZHEAv+XrSKSEhIKPUYNzc3JCUlVUI0pmfUqBqIirLGrFmP8c47pjXrgLn3S3x8PEaPHo2oqChjhyKZufdJVcQ+MU3sF9PDPjFN5tQvUp+N4Qi1mbl5U46oKGtYW4sYNYoLuRAREREZGhNqM7N+vXYhl1deeYIaNTRGjqb68fb2rlKj00RERFR+TKjNSEqKgB07bAAA48ZxqjwiIiKiylDstHlSR9kCAgIqLBgqny1b7KBUyuDvn4VGjbgsMhEREVFlKDahPnr0qO61KIq4du0anJ2d4erqikePHiE1NRVNmjRhQm0Cdu60QViYA+7d0y428fzzpS/4QUREREQVo9iEOm86KQD45ptv4Ofnh759++q2/frrr3jw4IFho6NS7dxpg1mznKBU5lfvbNhgh+efV2HwYE6ZR0RERGRokmqojx49it69e+tt69Wrl94oNhlHWJiDXjINAEqlDGFhxS/bTEREREQVR1JC7ezsrFv5Lc+ff/4JR0dHgwRF0iUkyJ9pOxERERFVrGJLPgoaM2YMPvvsM+zZsweurq5ISkrC3bt38e677xo6PiqFh4ca9+4V7kYPD7URoiEiIiKqfiQl1C1btsSqVatw/vx5JCcno02bNmjTpg0cHFhWYGxz5qTjnXecodEIum02NhrMmZNuxKiIiIiIqg9JCTUAODo64vnnn0dycjIaNWpkyJjoGQQGZkG7eLwIQdCOTM+Zk84HEomIiIgqiaSEOikpCStXrkRcXBwAYPPmzTh16hTOnz+PiRMnGjI+KsWRI1YQRQEdOmTjp58eGTscIiIiompH0kOJX3/9NV544QVs3LgRCoU2B2/ZsiUuXLhg0OCodJGR1gCAoKAsI0dCREREVD1JSqhv3ryJgQMHQibLP9zW1hZPnjwxWGBUOrUaiIqyAgAEBWUbORoiIiKi6klSQu3k5FRoEZe7d+/Czc3NIEGRNGfPWiAlRY569VTw9eVS40RERETGIKmGul+/fli6dCkGDhwIjUaDY8eOYdeuXRg4cKCh46MSFCz3EIRSDiYiIiIig5CUUAcEBMDBwQGRkZFwdXXFkSNHMGzYMLRr187Q8VEJDh3KS6hZ7kFERERkLJKnzfPz84Ofn58hY6FncPeuHFeuWMDOToP27ZlQExERERmL5IT6f//7H+Li4pCVpT+bxLBhwyo8KCpdZKT2YUR//2xYWRk5GCIiIqJqTFJCvX79epw8eRLNmjWDFbM3k8Dp8oiIiIhMg6SE+tixY1i+fDln9TARmZkCjh+3giCICAhguQcRERGRMUmaNs/R0RF2dnaGjoUkOnbMCjk5Alq3zoW7u8bY4RARERFVa5JGqIODg/HFF19g0KBBcHJy0ttXq1YtgwRGxcurn2a5BxEREZHxSUqo161bBwA4e/ZsoX3btm2r2IioRBpNwenymFATERERGZukhJpJs+m4eNEC//wjR506ajRrxtURiYiIiIxNUg01mQ6ujkhERERkWoodoV60aBE++OADAMC8efMgFJO9LViwoNSLJCUlYc2aNUhNTYUgCAgKCkKfPn2wfft2HDp0CI6OjgCA4cOHo02bNmW5j2qD9dNEREREpqXYhNrf31/3OiAgoFwXkcvlGDVqFOrXrw+lUok5c+agZcuWAIC+ffuif//+5Wq/unjwQIYLFyxhba1Bp06cLo+IiIjIFBSbUHfu3Fn3umvXruW6iIuLC1xcXAAANjY28PT0RHJycrnarI6iorTlHp0758DGxsjBEBERERGAZ1h6PDU1FTdv3kR6ejpEUdRtf9bR64cPHyI2Nha+vr64evUq9u/fj+joaNSvXx9vvPEG7O3tC50TGRmJyMhIAEBYWJikBWYUCoXZLUQTHa3troEDq+69mWO/VHXsE9PDPjFN7BfTwz4xTdWxXwSxYHZcjNOnT2PVqlWoU6cO4uPj4e3tjfj4eDRp0gShoaGSL5aVlYXQ0FAMHjwY7du3R2pqqq5+etu2bUhJSUFISEip7SQkJJR6jJubG5KSkiTHZuqysoDmzWtDqZQhJuYBPDyq5oIu5tYv5oB9YnrYJ6aJ/WJ62CemyZz6xcPDQ9Jxkmb52LZtG0JCQrBs2TJYW1tj2bJlmDBhAp577jnJAalUKnz22Wd4+eWX0b59ewCAs7MzZDIZZDIZAgMDcevWLcntVTcnTlhBqZShefOcKptMExEREZkjSQl1UlISOnbsqLfN398f0dHRki4iiiL+7//+D56enggODtZtT0lJ0b0+ffo0vL29JbVXHeVPl8eHEYmIiIhMiaQaakdHR6SmpsLZ2Rnu7u64fv06HBwcoNFIGym9du0aoqOjUbduXcycOROAdoq848ePIy4uDoIgwN3dHRMmTCj7nZgxUeR0eURERESmSlJCHRgYiKtXr6JDhw7o27cvFixYAEEQ9EabS9KkSRNs37690HbOOS3N1asK3LungJubGq1a5Ro7HCIiIiIqQFJCPXDgQN1rf39/NGvWDFlZWfDy8jJYYJQvr9wjMDAbMq5tSURERGRSJE+bV1B1mwrF2AouN05EREREpqXYhHrSpEmSGvjyyy8rLBgqLDlZhjNnLGBpKaJLFz6QSERERGRqik2op06dWplxUDGioqwgigI6dsyCvX2pU4YTERERUSUrNqF+/vnnKzMOKsbBg5wuj4iIiMiUSaqhVqlU+Omnn3D8+HGkpKTAxcUFL730EgYPHgxLS0tDx1ht5eQAR45op8sLDGT9NBEREZEpkpRQr127FgkJCRgzZgzc3d2RmJiIXbt2ITk5WdJS4VQ2p09bIj1dhkaNclGvntrY4RARERFRESQl1DExMVi1ahXs7OwAAF5eXmjYsCHrrA2Ms3sQERERmT5Jsxo7OzsjO1u/hjcnJwcuLi4GCYq0uNw4ERERkemTNELdpUsXLF68GL169YKrqysePXqE3377DV26dMFff/2lO6558+YGC7S6uXVLjthYBZydNXjxxRxjh0NERERExZCUUB88eBAAsGvXrkLb8/YJgoDVq1dXcHjVV97odEBAFhRlWn6HiIiIiCqDpFRtzZo1ho6DnpI/XR7rp4mIiIhMmaQa6oSEhCK3X716tUKDIa20NAGnT1tCLhfh78/6aSIiIiJTJimh/uCDD3DgwAHde5VKhe+++w6fffaZwQKrzn7/3QpqtYB27XLg7MzVEYmIiIhMmaSSj9DQUKxevRpnzpxBcHAwNm3aBBcXFyxbtszQ8VVLnC6PiIiIqOqQNELt4+ODxYsX49GjR/jkk0/QoEEDvP/++5w2zwDUaiAqitPlEREREVUVkhLq5ORkLF26FAqFAmPGjEFMTAy2bNkCtZqr91W0s2ctkZoqg4+PCg0aqIwdDhERERGVQlJCPXPmTDRs2BCLFi1Cr169sHz5cvz999+YO3euoeOrdiIjrQBoyz0EwcjBEBEREVGpJNVQz549G40aNdK9r1GjBj788EP8+uuvBgusuuJ0eURERERVi6QR6rxkOikpCdevX9dt79Onj2Giqqbu3JHj2jUL2Ntr0L49V0ckIiIiqgokjVAnJSVh5cqViIuLAwBs3rwZp06dwvnz5zFx4kRDxletHDqkLffw98+GpaWRgyEiIiIiSSSNUH/99dd44YUXsHHjRij+XQe7ZcuWuHDhgkGDq244XR4RERFR1SMpob558yYGDhwImSz/cFtbWzx58sRggVU3mZkCTpywgiCICAzkdHlEREREVYWkhNrJyQkPHjzQ23b37l24ubkZJKjq6OhRK+TkCGjTJheurhpjh0NEREREEkmqoe7Xrx+WLl2KgQMHQqPR4NixY9i1axcGDhxo6PiqjYLT5RERERFR1SEpoQ4ICICDgwMiIyPh6uqK6OhoDBs2DO3atTN0fNWCRsP6aSIiIqKqSlJCDQB+fn7w8/MzZCzV1oULFkhMlMPDQ4WmTbk6IhEREVFVIqmGmgwrf3Q6m6sjEhEREVUxTKhNAOuniYiIiKouJtRGdv++DBcvWsLGRoNOnThdHhEREVFVw4TayKKitOUeL7+cDWtrIwdDRERERM9M0kOJubm5+PHHH3H8+HGkp6dj48aN+N///of79++jV69eho7RrOWXe3B0moiIiKgqkjRCvXHjRsTHx2PatGkQ/n1qztvbGwcOHDBocOZOqdQu6AIAAQGsnyYiIiKqiiSNUJ8+fRpffPEFrK2tdQl1jRo1kJycbNDgzN2JE1ZQKmVo0SIHdepwdUQiIiKiqkhSQq1QKKDR6Cd8jx8/hoODg6SLJCUlYc2aNUhNTYUgCAgKCkKfPn2QkZGB8PBwJCYmwt3dHTNmzIC9vf2z30UVVXC6PCIiIiKqmiSVfHTo0AGrV6/Gw4cPAQApKSlYv349XnrpJUkXkcvlGDVqFMLDw7Fo0SL89ttvuHv3LiIiItCiRQt88cUXaNGiBSIiIsp+J1WMKHK6PCIiIiJzICmhfv3111GzZk289957ePLkCaZNmwYXFxe8+uqrki7i4uKC+vXrAwBsbGzg6emJ5ORkxMTEwN/fHwDg7++PmJiYMt5G1XPligIJCQrUrKlGy5a5xg6HiIiIiMpIcsnHm2++iTfffFNX6iGUcUm/hw8fIjY2Fr6+vkhLS4OLiwsAwNnZGWlpaUWeExkZicjISABAWFgY3NzcJMUs5Thj+OEHGd55Rw4AyMyU4dChmhg+vHrUUJtyv1RX7BPTwz4xTewX08M+MU3VsV8kJdRHjhyBj48P6tWrB0dHRwBAXFwc7ty5gy5duki+WFZWFj777DO8+eabsLW11dsnCEKxSXpQUBCCgoJ075OSkkq9lpubm6TjKtvOnTaYNcsJSqX2XjMzBUyaJEN6ejoGD1YaOTrDM9V+qc7YJ6aHfWKa2C+mh31imsypXzw8PCQdJ6nkY9u2bXB1ddXb5ubmhq1bt0oOSKVS4bPPPsPLL7+M9u3bAwCcnJyQkpICQFuXnZesm7OwMAcolfo/dqVShrAwaQ94EhEREZFpkZRQK5XKQiPKtra2yMzMlHQRURTxf//3f/D09ERwcLBue9u2bXHkyBEA2lFwPz8/qXFXWQkJ8mfaTkRERESmTVJC7eXlhX62nGAAAB64SURBVFOnTultO336NLy8vCRd5Nq1a4iOjsZff/2FmTNnYubMmTh79iwGDhyICxcuYNq0abh48SIGDhz47HdQxXh4qJ9pOxERERGZNkk11CNGjMCSJUtw4sQJ1K5dGw8ePMDFixcxd+5cSRdp0qQJtm/fXuS+efPmSY/WDMyZk47p052hVufXi9vYaDBnTroRoyIiIiKispI0Qt2kSRN8+umn8PX1RVZWFnx9ffHZZ5+hSZMmho7P7AwerMTzz+dNkyfC01OFZcvSqsUDiURERETmSNIINQC4u7tXi5KMyqDRaEenf/klCa1bcw5qIiIioqpMUkKdkZGBPXv24Pbt28jK0l/Vb8GCBQYJzJzdu6d9ANHTk3XTRERERFWdpIR65cqVUKlU6NixIywtLQ0dk1nLzBSQmiqDlZUIN7fqsZgLERERkTmTlFBfv34d69atg4WFhaHjMXt5o9MeHmqUcbFJIiIiIjIhkh5KrFu3Lh49emToWKoFlnsQERERmRdJI9TNmzfH4sWL0bVrVzg7O+vtCwgIMEhg5uruXW1C7eWlMnIkRERERFQRJCXUV69ehaurKy5evFhoHxPqZ8MRaiIiIiLzIimhDg0NNXQc1QYTaiIiIiLzInke6jyiKEIURd17mUxSGTb9iwk1ERERkXmRlFAnJydj/fr1uHLlCjIzM/X2bdu2zSCBmSsm1ERERETmRdLw8tdffw2FQoF58+bB2toaS5cuRdu2bTF+/HhDx2dWVCrg/v38afOIiIiIqOqTlFBfv34dkyZNgo+PDwRBgI+PDyZNmoSff/7Z0PGZlX/+kUGtFlCzphpWVsaOhoiIiIgqgqSEWiaTQS7Xjqza2dnh8ePHsLKyQnJyskGDMzcJCdoKG5Z7EBEREZkPSTXUvr6+OHfuHNq1a4dWrVohPDwclpaWaNCggaHjMyt5c1AzoSYiIiIyH5IS6qlTp+pm9njzzTexZ88eZGVloW/fvgYNztzwgUQiIiIi8yMpobazs9O9trS0xKuvvmqwgMwZE2oiIiIi81NsQr1z504MHjwYQMlT4w0bNqziozJT+cuOM6EmIiIiMhfFJtSPHj0q8jWVXUJC3gi1ysiREBEREVFFKTahzptjWqPRoEuXLmjcuDEsLCwqLTBzI4p8KJGIiIjIHJU6bZ5MJsOyZcuYTJfT48cCMjJksLXVwNlZLP0EIiIiIqoSJM1D3bRpU1y/ft3QsZi1gg8kCoKRgyEiIiKiCiNplg93d3csWbIEbdu2haurK4QCGSEfSpSGDyQSERERmSdJCXVOTg78/PwAgKsjllHeA4keHkyoiYiIiMyJpIQ6JCTE0HGYPc5BTURERGSeJCXUeZRKJdLT03WrJuL/27vb4KjK84/jvz1ZQljzRLIhsAZaERwFASeCCo0CJVRFpZChGZ1ai4xFBVqwUwEZBTpQGwUMUlHbEQPaaSvTYsZOW6cNUhiIUzIy6AyUGQLlIQQSliwhYJawD/8X/LOAJLBhH85mz/fzKrs5u3u51xz5cXOd+0jKz8+PelHJqK7u4lfNyAcAAEByCStQ19XVac2aNTp8+PBVv7vWTV9wCSvUAAAAySmsXT7ee+89DR06VO+//74cDocqKio0ceJEzZ49O9b1JY32QM0KNQAAQHIJK1AfPnxYP/zhD3XTTTcpGAzK4XDoySefZHU6TG1tUkODIcMIKj+fQA0AAJBMwgrUPXr0kN9/MQhmZGTI7XYrGAzq7NmzMS0uWZw4kaJg0Kb8/IC4Pw4AAEByCWuG+vbbb9fnn3+ucePG6b777tOrr76qHj16aOjQobGuLylc2oPaZ3IlAAAAiLawAvXPf/7z0M9PPPGE+vfvL6/XqwceeCBmhSUTLkgEAABIXmEF6kOHDunb3/62JMkwDIJ0FxGoAQAAkldYgXr58uXKzMzUd77zHRUVFbH3dBcRqAEAAJJXWIH6d7/7nXbv3q3t27dr/vz5KigoUFFRkcaMGaOsrKxY19jtEagBAACSV1iB2jAMFRYWqrCwUG1tbaqpqdE///lPffjhh/rDH/5w3de//fbb2rVrl7KysrRq1SpJ0saNG7V582ZlZmZKujibXVhYGMF/SuK6dFEigRoAACDZdOnW421tbfriiy9UXV2tgwcP6o477gjrdePGjdNDDz2ktWvXXvH8I488osmTJ3elhG4nGGSFGgAAIJmFFah37dql7du364svvlBBQYHGjBmjn/zkJ8rOzg7rQ4YMGaLGxsaICu2uPB5DXq+hzMyAMjKCZpcDAACAKAsrUH/44YcqKipSaWmp+vbtG7UP//TTT7Vt2zYNHDhQTz31lNLT0zs8rqqqSlVVVZKksrIyOZ3O67633W4P67hYO3LEJkn61reUEPWYLVH6gkvoSeKhJ4mJviQeepKYrNgXWzAYjMuyaWNjo1577bXQDPXp06dD89MfffSRPB6PZs2aFdZ71dfXX/cYp9Mpt9t94wVHyT/+kaZnnslRcbFXGzY0mV2O6RKlL7iEniQeepKY6EvioSeJKZn64nK5wjourFuPx0J2drYMw5BhGJowYYIOHDhgVikxxfw0AABAcjMtUHs8ntDPO3fuVP/+/c0qJabY4QMAACC5dWmXjxu1evVq7d27Vy0tLXruuedUWlqqPXv26NChQ7LZbMrLy9PMmTPjUUrcXVqh9plcCQAAAGKh00D97LPP6re//a2ki/tIhzvf3JF58+Zd9dx3v/vdG36/7qS+npEPAACAZNbpyIfP51NLS4sk6T//+U/cCko27SMfBGoAAIDk1OkK9cSJE/X8888rIyND58+f1/PPP9/hce+8807MiuvuWlsltztFdntQffoEzC4HAAAAMdBpoH788cdVXFwst9ut5cuX66c//Wk860oK7eMeLpdfKSkmFwMAAICYuOZFiU6nU06nUwsWLNCQIUPiVVPSYMs8AACA5BfWLh/Dhg3Tli1btG3bNjU1NSknJ0cPPPCAxo8fH+v6urXLV6gBAACQnMIK1Js2bdLWrVv12GOPhe5+88knn8jj8aikpCTWNXZbdXUXv172oAYAAEheYQXqzZs3a+nSpcrLyws9N2LECC1ZsoRAfQ2MfAAAACS/sO6UeP78eWVmZl7xXEZGhtra2mJSVLJoD9SsUAMAACSvsAL1XXfdpTVr1qi+vl5tbW06duyY3nrrLY0YMSLW9XVrrFADAAAkv7BGPmbMmKH3339fv/jFL+T3+2W32zV69Gg9/fTTsa6v2woEuCgRAADACsIK1A6HQ3PmzNGsWbPU0tKijIwMGUZYi9uWdfKkobY2m3Jy/HI4gmaXAwAAgBgJK1C3MwxDWVlZsaolqTDuAQAAYA0sM8cIgRoAAMAaCNQxQqAGAACwBgJ1jBCoAQAArKFLM9Rff/21KisrdeTIEfXp00dTpkxRTk5OrGrr1tiDGgAAwBq6tEK9bt06paWl6eGHH1ZaWpreeOONWNXV7bXfdpwVagAAgOR2zUC9fv16eb3e0GO3260pU6ZoxIgRKikp0bFjx2JeYHfFyAcAAIA1XHPkY9CgQVqyZIm+//3va8yYMbr33ns1f/58DRgwQAcOHNDYsWPjVWe3cu6cTadPG+rZMyinM2B2OQAAAIihawbqoqIiFRYW6k9/+pO2bNmip59+WsOHD9eRI0c0adIkDRo0KF51divtq9Mul182m8nFAAAAIKaue1Giw+HQjBkzdPDgQb3zzju64447NG3aNKWmpsajvm6JcQ8AAADruGagbmpqUmVlpRobG1VQUKAXX3xR1dXVevnll1VaWqqRI0fGq85upa6ufYcPn8mVAAAAINaueVFieXm5UlNT9dBDD0mSKioq9NBDD2nRokWqrq5WWVlZXIrsblihBgAAsI5rBuq6ujo9/vjjuuuuu1RaWqq6ujpJUnZ2tn72s5/p0UcfjUuR3Q2BGgAAwDquOfIxduxYLVu2TLfffrv27duncePGXfH7O++8M5a1dVsEagAAAOu4ZqCePn26amtr1djYqKKiIvXv3z9edXVrBGoAAADruO4uH4MGDWJ7vC7w+aTjxy9tmwcAAIDk1qVbj+P6GhoM+f029enjV8+eZlcDAACAWCNQR1l9/cVFf8Y9AAAArIFAHWXte1ATqAEAAKyBQB1lXJAIAABgLQTqKGsP1AUFBGoAAAArIFBHGSMfAAAA1kKgjrL6+vZA7TO5EgAAAMTDdfehjoa3335bu3btUlZWllatWiVJOnv2rMrLy3Xy5Enl5eXphRdeUHp6ejzKiZlgkBVqAAAAq4nLCvW4ceO0aNGiK56rrKzUsGHDtGbNGg0bNkyVlZXxKCWmzpyx6exZQw5HQNnZQbPLAQAAQBzEJVAPGTLkqtXnmpoajR07VpI0duxY1dTUxKOUmLp8hw+bzeRiAAAAEBdxGfnoSHNzs3r37i1Jys7OVnNzc6fHVlVVqaqqSpJUVlYmp9N53fe32+1hHRdNZ85cTNG33JIS98/uLszoC66NniQeepKY6EvioSeJyYp9MS1QX85ms8l2jSXd4uJiFRcXhx673e7rvqfT6QzruGjat88hKVt5ea1yuzv/C4KVmdEXXBs9STz0JDHRl8RDTxJTMvXF5XKFdZxpu3xkZWXJ4/FIkjwejzIzM80qJWrYgxoAAMB6TAvUI0eO1NatWyVJW7du1ahRo8wqJWrq6i4u+LPDBwAAgHXEZeRj9erV2rt3r1paWvTcc8+ptLRUU6ZMUXl5uT777LPQtnndHbcdBwAAsJ64BOp58+Z1+PzixYvj8fFxw8gHAACA9XCnxChpa5MaGgwZRlD5+QRqAAAAqyBQR8mJEykKBm3Kzw+oRw+zqwEAAEC8EKijpP2W4wUFPpMrAQAAQDwRqKOECxIBAACsiUAdJVyQCAAAYE0E6ihpD9QuF4EaAADASgjUUcLIBwAAgDURqKOEkQ8AAABrIlBHQTB4aZcPVqgBAACshUAdBR6PIa/XUGZmQBkZQbPLAQAAQBwRqKOA1WkAAADrIlBHARckAgAAWBeBOgq4IBEAAMC6CNRRwMgHAACAdRGoo+DSyIfP5EoAAAAQbwTqKKivZ4UaAADAqgjUUcDIBwAAgHURqCPU2iq53Smy24Pq0ydgdjkAAACIMwJ1hNrHPVwuv1JSTC4GAAAAcUegjhB7UAMAAFgbgTpCXJAIAABgbQTqCNXV2SURqAEAAKyKQB0hRj4AAACsjUAdIW47DgAAYG0E6gixQg0AAGBtBOoIBAJXbpsHAAAA6yFQR+DkSUNtbTbl5PjlcATNLgcAAAAmIFBHgHEPAAAAEKgjwAWJAAAAIFBHoD1QMz8NAABgXQTqCDDyAQAAAAJ1BBj5AAAAAIE6Atx2HAAAAATqCDDyAQAAAAL1DTp3zqbTpw317BmU0xkwuxwAAACYxG52AbNnz1ZaWpoMw1BKSorKysrMLiksl+/wYbOZXAwAAABMY3qglqQlS5YoMzPT7DK6hAsSAQAAIDHyccPq6trnp30mVwIAAAAzJcQK9bJly2QYhiZOnKji4uKrfl9VVaWqqipJUllZmZxO53Xf0263h3XcjfJ4LgbqwYN7xvRzkk2s+4KuoyeJh54kJvqSeOhJYrJiX0wP1MuWLVNOTo6am5u1fPlyuVwuDRky5IpjiouLrwjabrf7uu/rdDrDOu5G7d+fLcmh3r1b5Ha3xuxzkk2s+4KuoyeJh54kJvqSeOhJYkqmvrhcrrCOM33kIycnR5KUlZWlUaNGqba21uSKwsOWeQAAAJBMDtRer1etra2hn7/66isNGDDAzJLCRqAGAACAZPLIR3Nzs1auXClJ8vv9Kioq0l133WVmSWHx+6Xjxy9tmwcAAADrMjVQ5+fna8WKFWaWcENOnDDk99vUp49fPXuaXQ0AAADMZPoMdXdUX3/x7yGMewAAAIBAfQMu7UFNoAYAALA6AvUN4IJEAAAAtCNQ3wBuOw4AAIB2BOobwMgHAAAA2hGob0B9fXug9plcCQAAAMxGoL4BzFADAACgHYG6i5qbbWppMeRwBJSdHTS7HAAAAJiMQN1Fl1+QaLOZXAwAAABMR6DuIi5IBAAAwOUI1F3UfkGiy0WgBgAAAIG6y9iDGgAAAJcjUHdRXZ1dEiMfAAAAuIhA3UVsmQcAAIDLEai7iJEPAAAAXI5A3QVtbVJDgyHDCCo/n0ANAAAAAnWXnDiRomDQpr59/erRw+xqAAAAkAgI1F3AHtQAAAD4JgJ1F3BBIgAAAL6JQN0FXJAIAACAbyJQd0F7oOYuiQAAAGhHoO4CRj4AAADwTQTqLmDkAwAAAN9EoA5TMMguHwAAALgagTpMHo8hr9dQVlZAGRlBs8sBAABAgiBQh6l9dZoLEgEAAHA5AnWYuCARAAAAHSFQh4kLEgEAANARAnWYuCARAAAAHSFQh+nSyIfP5EoAAACQSAjUYaqvZ4UaAAAAVyNQh4mRDwAAAHSEQB2G1lbJ7U5Rjx5B5ecHzC4HAAAACYRAHYb2cY9+/fwy+MYAAABwGbvZBezevVsVFRUKBAKaMGGCpkyZYnZJV2EPagAAAHTG1PXWQCCgdevWadGiRSovL9eOHTtUV1dnZklX2bSpl2bN6i1J+vLLHtq0qZfJFQEAACCRmBqoa2tr1bdvX+Xn58tut2vMmDGqqakxs6QrbNrUS/PnZ8njubhC/fXXhubPzyJUAwAAIMTUQN3U1KTc3NzQ49zcXDU1NZlY0ZXKyjLU2nrlV9TaaqisLMOkigAAAJBoTJ+hDkdVVZWqqqokSWVlZXI6ndd9jd1uD+u4a2m/GLGj5yN9b6uKRl8QXfQk8dCTxERfEg89SUxW7IupgTonJ0enTp0KPT516pRycnKuOq64uFjFxcWhx263+7rv7XQ6wzruWlyuPjp27OqvyOXyR/zeVhWNviC66EnioSeJib4kHnqSmJKpLy6XK6zjTB35uPXWW3X8+HE1NjbK5/OpurpaI0eONLOkKyxc2KJeva7cd7pXr4AWLmwxqSIAAAAkGlNXqFNSUjRjxgz96le/UiAQ0Pjx49W/f38zS7pCSUmrpIuz1PX1KXK5/Fq4sCX0PAAAAGD6DHVhYaEKCwvNLqNTJSWtBGgAAAB0ivv+AQAAABEgUAMAAAARIFADAAAAESBQAwAAABEgUAMAAAARIFADAAAAESBQAwAAABEgUAMAAAARIFADAAAAESBQAwAAABEgUAMAAAARIFADAAAAEbAFg8Gg2UUAAAAA3VXSrlAvXLjQ7BLQAfqSeOhJ4qEniYm+JB56kpis2JekDdQAAABAPBCoAQAAgAikLF26dKnZRcTKwIEDzS4BHaAviYeeJB56kpjoS+KhJ4nJan3hokQAAAAgAox8AAAAABEgUAMAAAARsJtdQCzs3r1bFRUVCgQCmjBhgqZMmWJ2SZY3e/ZspaWlyTAMpaSkqKyszOySLOntt9/Wrl27lJWVpVWrVkmSzp49q/Lycp08eVJ5eXl64YUXlJ6ebnKl1tFRTzZu3KjNmzcrMzNTkvTEE0+osLDQzDItxe12a+3atTp9+rRsNpuKi4s1adIkzhWTddYXzhfztLW1acmSJfL5fPL7/brvvvtUWlpqyXMl6WaoA4GA5s6dq5dfflm5ubl66aWXNHfuXBUUFJhdmqXNnj1bv/71r0P/w4M59u7dq7S0NK1duzYU3n7/+98rPT1dU6ZMUWVlpc6ePasnn3zS5Eqto6OebNy4UWlpaZo8ebLJ1VmTx+ORx+PRwIED1draqoULF+rFF1/Uv//9b84VE3XWl+rqas4XkwSDQZ0/f15paWny+XxavHixpk+frp07d1ruXEm6kY/a2lr17dtX+fn5stvtGjNmjGpqaswuC0gIQ4YMuWqVoKamRmPHjpUkjR07lvMlzjrqCczVu3fv0A4FvXr10s0336ympibOFZN11heYx2azKS0tTZLk9/vl9/tls9ksea4k3chHU1OTcnNzQ49zc3O1f/9+EytCu2XLlskwDE2cOFHFxcVml4P/19zcrN69e0uSsrOz1dzcbHJFkKRPP/1U27Zt08CBA/XUU08Ruk3S2Nio//3vfxo0aBDnSgK5vC/79u3jfDFRIBDQggULdOLECT344IMaPHiwJc+VpAvUSEzLli1TTk6OmpubtXz5crlcLg0ZMsTssvANNptNNpvN7DIs73vf+56mTZsmSfroo4/0wQcfaNasWSZXZT1er1erVq3S9OnT5XA4rvgd54p5vtkXzhdzGYahFStW6Ny5c1q5cqWOHDlyxe+tcq4k3chHTk6OTp06FXp86tQp5eTkmFgRJIV6kJWVpVGjRqm2ttbkitAuKytLHo9H0sUZRebczZednS3DMGQYhiZMmKADBw6YXZLl+Hw+rVq1Svfff7/uvfdeSZwriaCjvnC+JIabbrpJQ4cO1e7duy15riRdoL711lt1/PhxNTY2yufzqbq6WiNHjjS7LEvzer1qbW0N/fzVV19pwIABJleFdiNHjtTWrVslSVu3btWoUaNMrgjtfxBJ0s6dO9W/f38Tq7GeYDCod999VzfffLMeffTR0POcK+bqrC+cL+Y5c+aMzp07J+nijh9fffWVbr75ZkueK0m3y4ck7dq1Sxs2bFAgEND48eNVUlJidkmW1tDQoJUrV0q6eNFCUVERPTHJ6tWrtXfvXrW0tCgrK0ulpaUaNWqUysvL5Xa7LbO9USLpqCd79uzRoUOHZLPZlJeXp5kzZ4bmERF7+/bt0+LFizVgwIDQP1U/8cQTGjx4MOeKiTrry44dOzhfTHL48GGtXbtWgUBAwWBQo0eP1rRp09TS0mK5cyUpAzUAAAAQL0k38gEAAADEE4EaAAAAiACBGgAAAIgAgRoAAACIAIEaAAAAiACBGgC6sY0bN2rNmjVmlwEAlkagBgCTvPTSS6qvr1dDQ4MWLFhgWh2NjY0qLS2V3+83rQYA6M4I1ABgAp/PJ7fbrX79+ungwYO65ZZbzC7phhHEAVid3ewCAMCKjh49qoKCAtlsNh04cOC6gfro0aNav369Dh48KLvdrocffviqO47u2bNHv/nNb/Tuu++Gnps9e7aeffZZDR8+XLW1tXrvvfd0/PhxpaamqqioSD/+8Y+1ZMkSSdL06dMlSa+88opuu+02ffbZZ/rrX/+q06dPa9CgQZo5c6by8vIkSaWlpZoxY4b+/ve/y+/366233tKGDRu0fft2XbhwQU6nU3PnztWAAQOi+K0BQGIiUANAHG3ZskUbNmyQz+dTMBjU9OnT5fV6lZqaqj/+8Y96/fXX1adPnyte09raqmXLlumxxx7TggUL5Pf7VVdX1+XPrqio0KRJk/TAAw/I6/XqyJEjkqRf/vKXmjNnjtavX6+UlBRJUk1NjT7++GMtWLBA/fr1U2Vlpd58800tX7489H41NTV69dVXlZqaqi+//FL//e9/9eabb8rhcOjYsWO66aabIvimAKD7IFADQByNHz9e48eP1+LFizVjxgylp6frtdde0+uvvy6bzdbha7744gtlZ2frscceCz03ePDgLn+23W7XiRMndObMGWVmZuq2227r9Nh//etfmjp1qgoKCiRJU6dO1ccff6yTJ0+GVqmnTp2q9PT00Ht7vV4dO3ZMgwYNCr0OAKyAQA0AcXL27FnNmTNHwWBQXq9XS5cu1YULFyRJTz/9tH7wgx/okUceuep1p06dUn5+fsSf/9xzz+mjjz7SCy+8oD59+mjatGm6++67Ozz25MmTqqio0AcffBB6LhgMqqmpKRSoc3NzQ7+788479eCDD2rdunVyu92655579KMf/UgOhyPiugEg0RGoASBO0tPTtX79eu3YsUN79uzRzJkztWLFCj344IMaPnx4p6/Lzc1VdXX1dd+/Z8+eOn/+fOhxIBDQmTNnQo/79eunefPmKRAIaOfOnXrjjTe0bt26DlfGnU6nSkpKdP/993f6ed983aRJkzRp0iQ1NzervLxcn3zyiR5//PHr1g0A3R27fABAnF2+q8ehQ4c0cODAax5/9913y+Px6G9/+5suXLig1tZW7d+//6rjXC6XLly4oF27dsnn8+kvf/lLaAVckrZt26YzZ87IMIzQyrFhGMrMzJTNZlNDQ0Po2IkTJ6qyslJHjx6VJH399df6/PPPO62xtrZW+/fvl8/nU8+ePdWjRw8ZBn/EALAGVqgBIM4OHjyo0aNHq6WlRYZhhOaQO9OrVy+9/PLLWr9+vf785z/LbrfrkUceuWqO2uFw6JlnntG7776rQCCgyZMnXzGWsXv3bn3wwQc6f/688vLyNHfuXKWmpkqSSkpK9Morr8jv92vRokW655575PV6tXr1arndbjkcDg0bNkyjR4/usMbW1lZt2LBBDQ0NSk1N1YgRIzR58uQIvykA6B5swWAwaHYRAAAAQHfFv8cBAAAAESBQAwAAABEgUAMAAAARIFADAAAAESBQAwAAABEgUAMAAAARIFADAAAAESBQAwAAABH4P7gRs5SZ+1pnAAAAAElFTkSuQmCC)
clf = KMeans(n_clusters=5)
clf.fit(car_scaled)
centroids = clf.cluster_centers_
labels = clf.labels_
car_scaled['Group_KMeans'] = labels
#print(car_scaled)
crosstab = pd.crosstab(car_scaled['Group_KMeans'], car_scaled['Group_Hierarchical']).apply(lambda r: r, axis=1)
print(crosstab)
Group_Hierarchical 0 1 2 3 4
Group_KMeans
0 0 0 7 0 0
1 4 0 0 0 0
2 0 0 0 12 0
3 0 0 0 0 2
4 0 7 0 0 0
Subscribe to:
Posts (Atom)