Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save panicpotatoe/1f67eaff09c25d2fc2d1ae6b6d54e4d1 to your computer and use it in GitHub Desktop.
Save panicpotatoe/1f67eaff09c25d2fc2d1ae6b6d54e4d1 to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Peer-Graded Assignment : Segmenting and Clustering Neighborhoods in Toronto (Part 1, 2 & 3)\n",
"- Build a dataframe of the postal code of each neighborhood along with the borough name and neighborhood name in Toronto.\n",
"- Get the geographical coordinates of the neighborhoods in Toronto.\n",
"- Explore and cluster the neighborhoods in Toronto (replicate the same analysis we did to New York City data).\n",
"***\n",
"### 1. Import libraries"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Libraries imported.\n"
]
}
],
"source": [
"import numpy as np # library to handle data in a vectorized manner\n",
"\n",
"import pandas as pd # library for data analsysis\n",
"pd.set_option(\"display.max_columns\", None)\n",
"pd.set_option(\"display.max_rows\", None)\n",
"\n",
"import json # library to handle JSON files\n",
"\n",
"from geopy.geocoders import Nominatim # convert an address into latitude and longitude values\n",
"\n",
"import requests # library to handle requests\n",
"from bs4 import BeautifulSoup # library to parse HTML and XML documents\n",
"\n",
"from pandas.io.json import json_normalize # tranform JSON file into a pandas dataframe\n",
"\n",
"# Matplotlib and associated plotting modules\n",
"import matplotlib.cm as cm\n",
"import matplotlib.colors as colors\n",
"\n",
"# import k-means from clustering stage\n",
"from sklearn.cluster import KMeans\n",
"\n",
"import folium # map rendering library\n",
"\n",
"print(\"Libraries imported.\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Scrap data from Wikipedia page into a DataFrame"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# send the GET request\n",
"data = requests.get('https://en.wikipedia.org/wiki/List_of_postal_codes_of_Canada:_M').text"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# parse data from the html into a beautifulsoup object\n",
"soup = BeautifulSoup(data, 'html.parser')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# create three lists to store table data\n",
"postalCodeList = []\n",
"boroughList = []\n",
"neighborhoodList = []"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Using BeautifulSoup**\n",
"\n",
"```python\n",
"# find the table\n",
"soup.find('table').find_all('tr')\n",
"\n",
"# find all the rows of the table\n",
"soup.find('table').find_all('tr')\n",
"\n",
"# for each row of the table, find all the table data\n",
"for row in soup.find('table').find_all('tr'):\n",
" cells = row.find_all('td')\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# append the data into the respective lists\n",
"for row in soup.find('table').find_all('tr'):\n",
" cells = row.find_all('td')\n",
" if(len(cells) > 0):\n",
" postalCodeList.append(cells[0].text)\n",
" boroughList.append(cells[1].text)\n",
" neighborhoodList.append(cells[2].text.rstrip('\\n')) # avoid new lines in neighborhood cell"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M1A</td>\n",
" <td>Not assigned</td>\n",
" <td>Not assigned</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M2A</td>\n",
" <td>Not assigned</td>\n",
" <td>Not assigned</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M3A</td>\n",
" <td>North York</td>\n",
" <td>Parkwoods</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M4A</td>\n",
" <td>North York</td>\n",
" <td>Victoria Village</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough Neighborhood\n",
"0 M1A Not assigned Not assigned\n",
"1 M2A Not assigned Not assigned\n",
"2 M3A North York Parkwoods\n",
"3 M4A North York Victoria Village\n",
"4 M5A Downtown Toronto Harbourfront"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create a new DataFrame from the three lists\n",
"toronto_df = pd.DataFrame({\"PostalCode\": postalCodeList,\n",
" \"Borough\": boroughList,\n",
" \"Neighborhood\": neighborhoodList})\n",
"\n",
"toronto_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3. Drop cells with a borough that is \"Not assigned\""
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M3A</td>\n",
" <td>North York</td>\n",
" <td>Parkwoods</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M4A</td>\n",
" <td>North York</td>\n",
" <td>Victoria Village</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M6A</td>\n",
" <td>North York</td>\n",
" <td>Lawrence Heights</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M6A</td>\n",
" <td>North York</td>\n",
" <td>Lawrence Manor</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough Neighborhood\n",
"0 M3A North York Parkwoods\n",
"1 M4A North York Victoria Village\n",
"2 M5A Downtown Toronto Harbourfront\n",
"3 M6A North York Lawrence Heights\n",
"4 M6A North York Lawrence Manor"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# drop cells with a borough that is Not assigned\n",
"toronto_df_dropna = toronto_df[toronto_df.Borough != \"Not assigned\"].reset_index(drop=True)\n",
"toronto_df_dropna.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4. Group neighborhoods in the same borough\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge, Malvern</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Highland Creek, Rouge Hill, Port Union</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M1E</td>\n",
" <td>Scarborough</td>\n",
" <td>Guildwood, Morningside, West Hill</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M1G</td>\n",
" <td>Scarborough</td>\n",
" <td>Woburn</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M1H</td>\n",
" <td>Scarborough</td>\n",
" <td>Cedarbrae</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough Neighborhood\n",
"0 M1B Scarborough Rouge, Malvern\n",
"1 M1C Scarborough Highland Creek, Rouge Hill, Port Union\n",
"2 M1E Scarborough Guildwood, Morningside, West Hill\n",
"3 M1G Scarborough Woburn\n",
"4 M1H Scarborough Cedarbrae"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# group neighborhoods in the same borough\n",
"toronto_df_grouped = toronto_df_dropna.groupby([\"PostalCode\", \"Borough\"], as_index=False).agg(lambda x: \", \".join(x))\n",
"toronto_df_grouped.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 5. For Neighborhood=\"Not assigned\", make the value the same as Borough"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge, Malvern</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Highland Creek, Rouge Hill, Port Union</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M1E</td>\n",
" <td>Scarborough</td>\n",
" <td>Guildwood, Morningside, West Hill</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M1G</td>\n",
" <td>Scarborough</td>\n",
" <td>Woburn</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M1H</td>\n",
" <td>Scarborough</td>\n",
" <td>Cedarbrae</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough Neighborhood\n",
"0 M1B Scarborough Rouge, Malvern\n",
"1 M1C Scarborough Highland Creek, Rouge Hill, Port Union\n",
"2 M1E Scarborough Guildwood, Morningside, West Hill\n",
"3 M1G Scarborough Woburn\n",
"4 M1H Scarborough Cedarbrae"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# for Neighborhood=\"Not assigned\", make the value the same as Borough\n",
"for index, row in toronto_df_grouped.iterrows():\n",
" if row[\"Neighborhood\"] == \"Not assigned\":\n",
" row[\"Neighborhood\"] = row[\"Borough\"]\n",
" \n",
"toronto_df_grouped.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 6. Check whether it is the same as required by the question"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M5G</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Central Bay Street</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M2H</td>\n",
" <td>North York</td>\n",
" <td>Hillcrest Village</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M4B</td>\n",
" <td>East York</td>\n",
" <td>Woodbine Gardens, Parkview Hill</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M1J</td>\n",
" <td>Scarborough</td>\n",
" <td>Scarborough Village</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4G</td>\n",
" <td>East York</td>\n",
" <td>Leaside</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>M4M</td>\n",
" <td>East Toronto</td>\n",
" <td>Studio District</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>M1R</td>\n",
" <td>Scarborough</td>\n",
" <td>Maryvale, Wexford</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>M9V</td>\n",
" <td>Etobicoke</td>\n",
" <td>Albion Gardens, Beaumond Heights, Humbergate, ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>M9L</td>\n",
" <td>North York</td>\n",
" <td>Humber Summit</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>M5V</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>CN Tower, Bathurst Quay, Island airport, Harbo...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge, Malvern</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough \\\n",
"0 M5G Downtown Toronto \n",
"1 M2H North York \n",
"2 M4B East York \n",
"3 M1J Scarborough \n",
"4 M4G East York \n",
"5 M4M East Toronto \n",
"6 M1R Scarborough \n",
"7 M9V Etobicoke \n",
"8 M9L North York \n",
"9 M5V Downtown Toronto \n",
"10 M1B Scarborough \n",
"11 M5A Downtown Toronto \n",
"\n",
" Neighborhood \n",
"0 Central Bay Street \n",
"1 Hillcrest Village \n",
"2 Woodbine Gardens, Parkview Hill \n",
"3 Scarborough Village \n",
"4 Leaside \n",
"5 Studio District \n",
"6 Maryvale, Wexford \n",
"7 Albion Gardens, Beaumond Heights, Humbergate, ... \n",
"8 Humber Summit \n",
"9 CN Tower, Bathurst Quay, Island airport, Harbo... \n",
"10 Rouge, Malvern \n",
"11 Harbourfront "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create a new test dataframe\n",
"column_names = [\"PostalCode\", \"Borough\", \"Neighborhood\"]\n",
"test_df = pd.DataFrame(columns=column_names)\n",
"\n",
"test_list = [\"M5G\", \"M2H\", \"M4B\", \"M1J\", \"M4G\", \"M4M\", \"M1R\", \"M9V\", \"M9L\", \"M5V\", \"M1B\", \"M5A\"]\n",
"\n",
"for postcode in test_list:\n",
" test_df = test_df.append(toronto_df_grouped[toronto_df_grouped[\"PostalCode\"]==postcode], ignore_index=True)\n",
" \n",
"test_df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 7. Print the number of rows of the cleaned dataframe"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(103, 3)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# print the number of rows of the cleaned dataframe\n",
"toronto_df_grouped.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 8. Load the coordinates from the csv file on Coursera"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Postal Code</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M1B</td>\n",
" <td>43.806686</td>\n",
" <td>-79.194353</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M1C</td>\n",
" <td>43.784535</td>\n",
" <td>-79.160497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M1E</td>\n",
" <td>43.763573</td>\n",
" <td>-79.188711</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M1G</td>\n",
" <td>43.770992</td>\n",
" <td>-79.216917</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M1H</td>\n",
" <td>43.773136</td>\n",
" <td>-79.239476</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Postal Code Latitude Longitude\n",
"0 M1B 43.806686 -79.194353\n",
"1 M1C 43.784535 -79.160497\n",
"2 M1E 43.763573 -79.188711\n",
"3 M1G 43.770992 -79.216917\n",
"4 M1H 43.773136 -79.239476"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# load the coordinates from the csv file on Coursera\n",
"coordinates = pd.read_csv(\"Geospatial_Coordinates.csv\")\n",
"coordinates.head()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M1B</td>\n",
" <td>43.806686</td>\n",
" <td>-79.194353</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M1C</td>\n",
" <td>43.784535</td>\n",
" <td>-79.160497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M1E</td>\n",
" <td>43.763573</td>\n",
" <td>-79.188711</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M1G</td>\n",
" <td>43.770992</td>\n",
" <td>-79.216917</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M1H</td>\n",
" <td>43.773136</td>\n",
" <td>-79.239476</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Latitude Longitude\n",
"0 M1B 43.806686 -79.194353\n",
"1 M1C 43.784535 -79.160497\n",
"2 M1E 43.763573 -79.188711\n",
"3 M1G 43.770992 -79.216917\n",
"4 M1H 43.773136 -79.239476"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# rename the column \"PostalCode\"\n",
"coordinates.rename(columns={\"Postal Code\": \"PostalCode\"}, inplace=True)\n",
"coordinates.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 9. Merge two tables to get the coordinates"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge, Malvern</td>\n",
" <td>43.806686</td>\n",
" <td>-79.194353</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M1C</td>\n",
" <td>Scarborough</td>\n",
" <td>Highland Creek, Rouge Hill, Port Union</td>\n",
" <td>43.784535</td>\n",
" <td>-79.160497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M1E</td>\n",
" <td>Scarborough</td>\n",
" <td>Guildwood, Morningside, West Hill</td>\n",
" <td>43.763573</td>\n",
" <td>-79.188711</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M1G</td>\n",
" <td>Scarborough</td>\n",
" <td>Woburn</td>\n",
" <td>43.770992</td>\n",
" <td>-79.216917</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M1H</td>\n",
" <td>Scarborough</td>\n",
" <td>Cedarbrae</td>\n",
" <td>43.773136</td>\n",
" <td>-79.239476</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough Neighborhood Latitude \\\n",
"0 M1B Scarborough Rouge, Malvern 43.806686 \n",
"1 M1C Scarborough Highland Creek, Rouge Hill, Port Union 43.784535 \n",
"2 M1E Scarborough Guildwood, Morningside, West Hill 43.763573 \n",
"3 M1G Scarborough Woburn 43.770992 \n",
"4 M1H Scarborough Cedarbrae 43.773136 \n",
"\n",
" Longitude \n",
"0 -79.194353 \n",
"1 -79.160497 \n",
"2 -79.188711 \n",
"3 -79.216917 \n",
"4 -79.239476 "
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# merge two table on the column \"PostalCode\"\n",
"toronto_df_new = toronto_df_grouped.merge(coordinates, on=\"PostalCode\", how=\"left\")\n",
"toronto_df_new.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 10. Finally, check to make sure the coordinates are added as required by the question"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M5G</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Central Bay Street</td>\n",
" <td>43.657952</td>\n",
" <td>-79.387383</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M2H</td>\n",
" <td>North York</td>\n",
" <td>Hillcrest Village</td>\n",
" <td>43.803762</td>\n",
" <td>-79.363452</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M4B</td>\n",
" <td>East York</td>\n",
" <td>Woodbine Gardens, Parkview Hill</td>\n",
" <td>43.706397</td>\n",
" <td>-79.309937</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M1J</td>\n",
" <td>Scarborough</td>\n",
" <td>Scarborough Village</td>\n",
" <td>43.744734</td>\n",
" <td>-79.239476</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4G</td>\n",
" <td>East York</td>\n",
" <td>Leaside</td>\n",
" <td>43.709060</td>\n",
" <td>-79.363452</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>M4M</td>\n",
" <td>East Toronto</td>\n",
" <td>Studio District</td>\n",
" <td>43.659526</td>\n",
" <td>-79.340923</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>M1R</td>\n",
" <td>Scarborough</td>\n",
" <td>Maryvale, Wexford</td>\n",
" <td>43.750072</td>\n",
" <td>-79.295849</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>M9V</td>\n",
" <td>Etobicoke</td>\n",
" <td>Albion Gardens, Beaumond Heights, Humbergate, ...</td>\n",
" <td>43.739416</td>\n",
" <td>-79.588437</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>M9L</td>\n",
" <td>North York</td>\n",
" <td>Humber Summit</td>\n",
" <td>43.756303</td>\n",
" <td>-79.565963</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>M5V</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>CN Tower, Bathurst Quay, Island airport, Harbo...</td>\n",
" <td>43.628947</td>\n",
" <td>-79.394420</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>M1B</td>\n",
" <td>Scarborough</td>\n",
" <td>Rouge, Malvern</td>\n",
" <td>43.806686</td>\n",
" <td>-79.194353</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront</td>\n",
" <td>43.654260</td>\n",
" <td>-79.360636</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough \\\n",
"0 M5G Downtown Toronto \n",
"1 M2H North York \n",
"2 M4B East York \n",
"3 M1J Scarborough \n",
"4 M4G East York \n",
"5 M4M East Toronto \n",
"6 M1R Scarborough \n",
"7 M9V Etobicoke \n",
"8 M9L North York \n",
"9 M5V Downtown Toronto \n",
"10 M1B Scarborough \n",
"11 M5A Downtown Toronto \n",
"\n",
" Neighborhood Latitude Longitude \n",
"0 Central Bay Street 43.657952 -79.387383 \n",
"1 Hillcrest Village 43.803762 -79.363452 \n",
"2 Woodbine Gardens, Parkview Hill 43.706397 -79.309937 \n",
"3 Scarborough Village 43.744734 -79.239476 \n",
"4 Leaside 43.709060 -79.363452 \n",
"5 Studio District 43.659526 -79.340923 \n",
"6 Maryvale, Wexford 43.750072 -79.295849 \n",
"7 Albion Gardens, Beaumond Heights, Humbergate, ... 43.739416 -79.588437 \n",
"8 Humber Summit 43.756303 -79.565963 \n",
"9 CN Tower, Bathurst Quay, Island airport, Harbo... 43.628947 -79.394420 \n",
"10 Rouge, Malvern 43.806686 -79.194353 \n",
"11 Harbourfront 43.654260 -79.360636 "
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create a new test dataframe\n",
"column_names = [\"PostalCode\", \"Borough\", \"Neighborhood\", \"Latitude\", \"Longitude\"]\n",
"test_df = pd.DataFrame(columns=column_names)\n",
"\n",
"test_list = [\"M5G\", \"M2H\", \"M4B\", \"M1J\", \"M4G\", \"M4M\", \"M1R\", \"M9V\", \"M9L\", \"M5V\", \"M1B\", \"M5A\"]\n",
"\n",
"for postcode in test_list:\n",
" test_df = test_df.append(toronto_df_new[toronto_df_new[\"PostalCode\"]==postcode], ignore_index=True)\n",
" \n",
"test_df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 11. Use geopy library to get the latitude and longitude values of Toronto"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The geograpical coordinate of Toronto are 43.653963, -79.387207.\n"
]
}
],
"source": [
"address = 'Toronto'\n",
"\n",
"geolocator = Nominatim(user_agent=\"my-application\")\n",
"location = geolocator.geocode(address)\n",
"latitude = location.latitude\n",
"longitude = location.longitude\n",
"print('The geograpical coordinate of Toronto are {}, {}.'.format(latitude, longitude))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 12. Create a map of Toronto with neighborhoods superimposed on top"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0My42NTM5NjMsIC03OS4zODcyMDddLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTAsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl80NWIyNzA3MGY2Nzg0Y2FmOTRlMGQxMTdjZGJmMjVlYyA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2YyODFmNTI2NzdmMzQ4ODlhZTQyOTg2YTVlNzdlZTMzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuODA2Njg2Mjk5OTk5OTk2LCAtNzkuMTk0MzUzNDAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNTVjZThkMDhhNDM3NGYxYjk3NDc5YTk2YTUxMjM3OTcgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzRjMjQ0OTEzYWYzMzQxYWM5ZDUyNWE1MzQ2MGYwOGEwID0gJChgPGRpdiBpZD0iaHRtbF80YzI0NDkxM2FmMzM0MWFjOWQ1MjVhNTM0NjBmMDhhMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Um91Z2UsIE1hbHZlcm4sIFNjYXJib3JvdWdoPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzU1Y2U4ZDA4YTQzNzRmMWI5NzQ3OWE5NmE1MTIzNzk3LnNldENvbnRlbnQoaHRtbF80YzI0NDkxM2FmMzM0MWFjOWQ1MjVhNTM0NjBmMDhhMCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfZjI4MWY1MjY3N2YzNDg4OWFlNDI5ODZhNWU3N2VlMzMuYmluZFBvcHVwKHBvcHVwXzU1Y2U4ZDA4YTQzNzRmMWI5NzQ3OWE5NmE1MTIzNzk3KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xOGIwYmIwODNmMDM0ZDcxOTc5YjdlOThiNmFmZWZjNSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc4NDUzNTEsIC03OS4xNjA0OTcwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9kMzkyYzc3MmMyMDg0NTk2YmUxOTVmMWU4NzVlZmI4OSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNDQyN2UyOGEzOGMwNDBkMThiODgzMmM5Mzk4MDYyZTUgPSAkKGA8ZGl2IGlkPSJodG1sXzQ0MjdlMjhhMzhjMDQwZDE4Yjg4MzJjOTM5ODA2MmU1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IaWdobGFuZCBDcmVlaywgUm91Z2UgSGlsbCwgUG9ydCBVbmlvbiwgU2NhcmJvcm91Z2g8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZDM5MmM3NzJjMjA4NDU5NmJlMTk1ZjFlODc1ZWZiODkuc2V0Q29udGVudChodG1sXzQ0MjdlMjhhMzhjMDQwZDE4Yjg4MzJjOTM5ODA2MmU1KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl8xOGIwYmIwODNmMDM0ZDcxOTc5YjdlOThiNmFmZWZjNS5iaW5kUG9wdXAocG9wdXBfZDM5MmM3NzJjMjA4NDU5NmJlMTk1ZjFlODc1ZWZiODkpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzJhNzhlNmJiOTRjYTRkYzY4YWIxY2NiNDU5YzAwNTQwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzYzNTcyNiwgLTc5LjE4ODcxMTVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZDhhMmQ2NmY3NDYwNDMwZTg5OWI2NDVmOTk3ZjA4MzQgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2ZjNGE1NjlmODBkYjQyMDI5ZGYzNjVmMDIyYjhlZTIzID0gJChgPGRpdiBpZD0iaHRtbF9mYzRhNTY5ZjgwZGI0MjAyOWRmMzY1ZjAyMmI4ZWUyMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+R3VpbGR3b29kLCBNb3JuaW5nc2lkZSwgV2VzdCBIaWxsLCBTY2FyYm9yb3VnaDwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kOGEyZDY2Zjc0NjA0MzBlODk5YjY0NWY5OTdmMDgzNC5zZXRDb250ZW50KGh0bWxfZmM0YTU2OWY4MGRiNDIwMjlkZjM2NWYwMjJiOGVlMjMpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzJhNzhlNmJiOTRjYTRkYzY4YWIxY2NiNDU5YzAwNTQwLmJpbmRQb3B1cChwb3B1cF9kOGEyZDY2Zjc0NjA0MzBlODk5YjY0NWY5OTdmMDgzNCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZjZlZjJmZGMwNzhkNDgzZjg5OTczZTM5NzUyMzllYTcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43NzA5OTIxLCAtNzkuMjE2OTE3NDAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYmY0NjM5NTAyYzQyNDI3NDg2ODg1NGZmZGZiNmEyNjkgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzI0ZWI5ZDJhY2IzODQwMTA5ZDRiZGViZTU0NjQ4MmFkID0gJChgPGRpdiBpZD0iaHRtbF8yNGViOWQyYWNiMzg0MDEwOWQ0YmRlYmU1NDY0ODJhZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V29idXJuLCBTY2FyYm9yb3VnaDwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9iZjQ2Mzk1MDJjNDI0Mjc0ODY4ODU0ZmZkZmI2YTI2OS5zZXRDb250ZW50KGh0bWxfMjRlYjlkMmFjYjM4NDAxMDlkNGJkZWJlNTQ2NDgyYWQpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2Y2ZWYyZmRjMDc4ZDQ4M2Y4OTk3M2UzOTc1MjM5ZWE3LmJpbmRQb3B1cChwb3B1cF9iZjQ2Mzk1MDJjNDI0Mjc0ODY4ODU0ZmZkZmI2YTI2OSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDg2Y2M3NjZjNmU0NDUxOWIyN2NiNmFiYmM3NTYzZjYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43NzMxMzYsIC03OS4yMzk0NzYwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9iYjE1YjlkNThlNTU0ZjliOGYxNWQ0M2NlNmRjN2M0MSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYTNmYTBhZDA0ZDVlNDlkMWFmMDdiMzRkNzdiNzMzZmIgPSAkKGA8ZGl2IGlkPSJodG1sX2EzZmEwYWQwNGQ1ZTQ5ZDFhZjA3YjM0ZDc3YjczM2ZiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DZWRhcmJyYWUsIFNjYXJib3JvdWdoPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2JiMTViOWQ1OGU1NTRmOWI4ZjE1ZDQzY2U2ZGM3YzQxLnNldENvbnRlbnQoaHRtbF9hM2ZhMGFkMDRkNWU0OWQxYWYwN2IzNGQ3N2I3MzNmYik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfZDg2Y2M3NjZjNmU0NDUxOWIyN2NiNmFiYmM3NTYzZjYuYmluZFBvcHVwKHBvcHVwX2JiMTViOWQ1OGU1NTRmOWI4ZjE1ZDQzY2U2ZGM3YzQxKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xOTc3ODcyNjk4NDQ0N2RhOGMwYTY1YzA1YmJlNTAxYSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc0NDczNDIsIC03OS4yMzk0NzYwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9kYTdiMWQ3MTZmMzM0Nzc1YWU0N2ZlYjA3NTBjMjZhMCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYzUwMGJiMGJhMWZiNDQ2ZDhjYTk3ZWY2MGM5YjhlN2EgPSAkKGA8ZGl2IGlkPSJodG1sX2M1MDBiYjBiYTFmYjQ0NmQ4Y2E5N2VmNjBjOWI4ZTdhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TY2FyYm9yb3VnaCBWaWxsYWdlLCBTY2FyYm9yb3VnaDwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kYTdiMWQ3MTZmMzM0Nzc1YWU0N2ZlYjA3NTBjMjZhMC5zZXRDb250ZW50KGh0bWxfYzUwMGJiMGJhMWZiNDQ2ZDhjYTk3ZWY2MGM5YjhlN2EpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzE5Nzc4NzI2OTg0NDQ3ZGE4YzBhNjVjMDViYmU1MDFhLmJpbmRQb3B1cChwb3B1cF9kYTdiMWQ3MTZmMzM0Nzc1YWU0N2ZlYjA3NTBjMjZhMCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODUxMDJhMmZmMDhiNDIzOWFlYmU2MGJlMWMyMDU2ZTggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43Mjc5MjkyLCAtNzkuMjYyMDI5NDAwMDAwMDJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNDBjZjQ2YmYxMjY4NDA2OWJhMWNlY2U4NGI2YTA3NDIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzJmMjQzNzllOGVkNTRjNDM5YTVlOGM5MzNkNTVmY2I0ID0gJChgPGRpdiBpZD0iaHRtbF8yZjI0Mzc5ZThlZDU0YzQzOWE1ZThjOTMzZDU1ZmNiNCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RWFzdCBCaXJjaG1vdW50IFBhcmssIElvbnZpZXcsIEtlbm5lZHkgUGFyaywgU2NhcmJvcm91Z2g8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNDBjZjQ2YmYxMjY4NDA2OWJhMWNlY2U4NGI2YTA3NDIuc2V0Q29udGVudChodG1sXzJmMjQzNzllOGVkNTRjNDM5YTVlOGM5MzNkNTVmY2I0KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl84NTEwMmEyZmYwOGI0MjM5YWViZTYwYmUxYzIwNTZlOC5iaW5kUG9wdXAocG9wdXBfNDBjZjQ2YmYxMjY4NDA2OWJhMWNlY2U4NGI2YTA3NDIpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzA5MmRlNWUxZGY1ZjQxYWVhYjVjNTBlNzQ3YmM5NGUzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzExMTExNzAwMDAwMDA0LCAtNzkuMjg0NTc3Ml0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81MTBmODk4NTBlMDM0Mzg5OTEyY2RlNWIyMjRiY2FmNCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMTUwNDZjNmI0YzFmNDVmOTk4NjlmM2MzZDhjNzk4ZGQgPSAkKGA8ZGl2IGlkPSJodG1sXzE1MDQ2YzZiNGMxZjQ1Zjk5ODY5ZjNjM2Q4Yzc5OGRkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DbGFpcmxlYSwgR29sZGVuIE1pbGUsIE9ha3JpZGdlLCBTY2FyYm9yb3VnaDwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81MTBmODk4NTBlMDM0Mzg5OTEyY2RlNWIyMjRiY2FmNC5zZXRDb250ZW50KGh0bWxfMTUwNDZjNmI0YzFmNDVmOTk4NjlmM2MzZDhjNzk4ZGQpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzA5MmRlNWUxZGY1ZjQxYWVhYjVjNTBlNzQ3YmM5NGUzLmJpbmRQb3B1cChwb3B1cF81MTBmODk4NTBlMDM0Mzg5OTEyY2RlNWIyMjRiY2FmNCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYmJjNmNlNDU4ZTIzNDg1NTlkYTIzNGEzZTY4MDJmNGIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MTYzMTYsIC03OS4yMzk0NzYwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9kNTQxNjI1NThkMDM0YTQxOTcyNGQzNGU0M2YwYTQ5NCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfOGEwZGRkOTRiMTYyNGM2MGE2NjY0ZDhlMWEwOWE2OWEgPSAkKGA8ZGl2IGlkPSJodG1sXzhhMGRkZDk0YjE2MjRjNjBhNjY2NGQ4ZTFhMDlhNjlhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DbGlmZmNyZXN0LCBDbGlmZnNpZGUsIFNjYXJib3JvdWdoIFZpbGxhZ2UgV2VzdCwgU2NhcmJvcm91Z2g8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZDU0MTYyNTU4ZDAzNGE0MTk3MjRkMzRlNDNmMGE0OTQuc2V0Q29udGVudChodG1sXzhhMGRkZDk0YjE2MjRjNjBhNjY2NGQ4ZTFhMDlhNjlhKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9iYmM2Y2U0NThlMjM0ODU1OWRhMjM0YTNlNjgwMmY0Yi5iaW5kUG9wdXAocG9wdXBfZDU0MTYyNTU4ZDAzNGE0MTk3MjRkMzRlNDNmMGE0OTQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzQyYzIzNjI2MmQzMjQ0MzQ5NzY4MDAzNDRlNGQ1YmZkID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjkyNjU3MDAwMDAwMDA0LCAtNzkuMjY0ODQ4MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF84MTA4NWUyOGU5NGE0OTc2OTFiNzA0YTg4ZGVkZTgwMiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZjgyNWY2NjMyMjVhNDlhNmFmYTc1MzNkNTM3ZDYwOWYgPSAkKGA8ZGl2IGlkPSJodG1sX2Y4MjVmNjYzMjI1YTQ5YTZhZmE3NTMzZDUzN2Q2MDlmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CaXJjaCBDbGlmZiwgQ2xpZmZzaWRlIFdlc3QsIFNjYXJib3JvdWdoPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzgxMDg1ZTI4ZTk0YTQ5NzY5MWI3MDRhODhkZWRlODAyLnNldENvbnRlbnQoaHRtbF9mODI1ZjY2MzIyNWE0OWE2YWZhNzUzM2Q1MzdkNjA5Zik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNDJjMjM2MjYyZDMyNDQzNDk3NjgwMDM0NGU0ZDViZmQuYmluZFBvcHVwKHBvcHVwXzgxMDg1ZTI4ZTk0YTQ5NzY5MWI3MDRhODhkZWRlODAyKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84NjZjOTBkOGQ2NDU0MDAwODA1OTc0YTA2ZGIxMWM4MyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc1NzQwOTYsIC03OS4yNzMzMDQwMDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9hMjdhMTg0NjU0MjM0MWQ3YTM4MTA4N2FkZGEzMWY3NiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNjk3ZTk0MzllZDM0NDE4MWE3OGNjZGNjODBkNWMxYjQgPSAkKGA8ZGl2IGlkPSJodG1sXzY5N2U5NDM5ZWQzNDQxODFhNzhjY2RjYzgwZDVjMWI0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Eb3JzZXQgUGFyaywgU2NhcmJvcm91Z2ggVG93biBDZW50cmUsIFdleGZvcmQgSGVpZ2h0cywgU2NhcmJvcm91Z2g8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfYTI3YTE4NDY1NDIzNDFkN2EzODEwODdhZGRhMzFmNzYuc2V0Q29udGVudChodG1sXzY5N2U5NDM5ZWQzNDQxODFhNzhjY2RjYzgwZDVjMWI0KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl84NjZjOTBkOGQ2NDU0MDAwODA1OTc0YTA2ZGIxMWM4My5iaW5kUG9wdXAocG9wdXBfYTI3YTE4NDY1NDIzNDFkN2EzODEwODdhZGRhMzFmNzYpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2Q1MmY2ZWU3OTBjYzQyYWM4YjEwNDljZjhjYWFmYWQzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzUwMDcxNTAwMDAwMDA0LCAtNzkuMjk1ODQ5MV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9mMWU1N2ZjODM1YTI0NWMxYWM3YjRhMGU5NzI5YmE5ZCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZGZjMTU4NzEyMjRjNDlhMmI1NDY2MjQzMTlkMzM1ZTEgPSAkKGA8ZGl2IGlkPSJodG1sX2RmYzE1ODcxMjI0YzQ5YTJiNTQ2NjI0MzE5ZDMzNWUxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NYXJ5dmFsZSwgV2V4Zm9yZCwgU2NhcmJvcm91Z2g8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZjFlNTdmYzgzNWEyNDVjMWFjN2I0YTBlOTcyOWJhOWQuc2V0Q29udGVudChodG1sX2RmYzE1ODcxMjI0YzQ5YTJiNTQ2NjI0MzE5ZDMzNWUxKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9kNTJmNmVlNzkwY2M0MmFjOGIxMDQ5Y2Y4Y2FhZmFkMy5iaW5kUG9wdXAocG9wdXBfZjFlNTdmYzgzNWEyNDVjMWFjN2I0YTBlOTcyOWJhOWQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2UzNDE5NjBlNzgyZjRiN2RiY2QzODYyNzY5NzZhYzIzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzk0MjAwMywgLTc5LjI2MjAyOTQwMDAwMDAyXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzY0ODMzNDU4Y2U3YjQ2NWJiNWYzNTQ0YTliM2U2ZWQxID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF81MDU0ZGRmNjRjYjM0MmFkYjEwOTE4NGVlNWNjYWEyMiA9ICQoYDxkaXYgaWQ9Imh0bWxfNTA1NGRkZjY0Y2IzNDJhZGIxMDkxODRlZTVjY2FhMjIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFnaW5jb3VydCwgU2NhcmJvcm91Z2g8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNjQ4MzM0NThjZTdiNDY1YmI1ZjM1NDRhOWIzZTZlZDEuc2V0Q29udGVudChodG1sXzUwNTRkZGY2NGNiMzQyYWRiMTA5MTg0ZWU1Y2NhYTIyKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9lMzQxOTYwZTc4MmY0YjdkYmNkMzg2Mjc2OTc2YWMyMy5iaW5kUG9wdXAocG9wdXBfNjQ4MzM0NThjZTdiNDY1YmI1ZjM1NDRhOWIzZTZlZDEpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzQzNjIxNTE1YjUwZTQ4ZWU5ZmM2MWJhM2RlODdiMjRlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzgxNjM3NSwgLTc5LjMwNDMwMjFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNzkxMzZlMzJiYjJmNGJjNzgwNzk3Yjc1M2EzNGU4NjQgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2RhZjFhMDVmZmNiOTQzYzY4YjRmZjFiZjlhM2E5MGEyID0gJChgPGRpdiBpZD0iaHRtbF9kYWYxYTA1ZmZjYjk0M2M2OGI0ZmYxYmY5YTNhOTBhMiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2xhcmtzIENvcm5lcnMsIFN1bGxpdmFuLCBUYW0gTyYjMzk7U2hhbnRlciwgU2NhcmJvcm91Z2g8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNzkxMzZlMzJiYjJmNGJjNzgwNzk3Yjc1M2EzNGU4NjQuc2V0Q29udGVudChodG1sX2RhZjFhMDVmZmNiOTQzYzY4YjRmZjFiZjlhM2E5MGEyKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl80MzYyMTUxNWI1MGU0OGVlOWZjNjFiYTNkZTg3YjI0ZS5iaW5kUG9wdXAocG9wdXBfNzkxMzZlMzJiYjJmNGJjNzgwNzk3Yjc1M2EzNGU4NjQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2M4Nzc0ODUwNWY0YjQxMzdhNWRhYzg1NmQ2NDQ3NzMwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuODE1MjUyMiwgLTc5LjI4NDU3NzJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMDNlYWQ4ZTk0MzQ2NDJlMjkxM2U4YzdhYjdmODYzOTIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzRhMDIyMTkyYmE3YzRiMWM4OTJiMTY2NzUxMGY2NzMzID0gJChgPGRpdiBpZD0iaHRtbF80YTAyMjE5MmJhN2M0YjFjODkyYjE2Njc1MTBmNjczMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QWdpbmNvdXJ0IE5vcnRoLCBMJiMzOTtBbW9yZWF1eCBFYXN0LCBNaWxsaWtlbiwgU3RlZWxlcyBFYXN0LCBTY2FyYm9yb3VnaDwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8wM2VhZDhlOTQzNDY0MmUyOTEzZThjN2FiN2Y4NjM5Mi5zZXRDb250ZW50KGh0bWxfNGEwMjIxOTJiYTdjNGIxYzg5MmIxNjY3NTEwZjY3MzMpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2M4Nzc0ODUwNWY0YjQxMzdhNWRhYzg1NmQ2NDQ3NzMwLmJpbmRQb3B1cChwb3B1cF8wM2VhZDhlOTQzNDY0MmUyOTEzZThjN2FiN2Y4NjM5MikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZmQwMDM0ZGU1MGEwNGU0YmI4NTY5ODRmNzRhZjEyYTMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43OTk1MjUyMDAwMDAwMDUsIC03OS4zMTgzODg3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzBkOWNlZjg4YTg4ZTQxODY4ZmMzYTBiOWYxNjg0MGIzID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF82MDUzNDZiOTQzYmQ0ZDQxOGYyZTdiODQ4OGZmNjM3YyA9ICQoYDxkaXYgaWQ9Imh0bWxfNjA1MzQ2Yjk0M2JkNGQ0MThmMmU3Yjg0ODhmZjYzN2MiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkwmIzM5O0Ftb3JlYXV4IFdlc3QsIFNjYXJib3JvdWdoPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzBkOWNlZjg4YTg4ZTQxODY4ZmMzYTBiOWYxNjg0MGIzLnNldENvbnRlbnQoaHRtbF82MDUzNDZiOTQzYmQ0ZDQxOGYyZTdiODQ4OGZmNjM3Yyk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfZmQwMDM0ZGU1MGEwNGU0YmI4NTY5ODRmNzRhZjEyYTMuYmluZFBvcHVwKHBvcHVwXzBkOWNlZjg4YTg4ZTQxODY4ZmMzYTBiOWYxNjg0MGIzKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hMzViNjI2MWZiMTg0YmJiYWJkMDZmMjdiZDQ0MTkzZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjgzNjEyNDcwMDAwMDAwNiwgLTc5LjIwNTYzNjA5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzdhMjliY2U1ODliNjQ4MmVhNDYyMDUxODVlN2FhMDViID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8zNDFhNGQxNDAxMTg0ZjA1YWM2MGMyODEyNDQ0ODc0MSA9ICQoYDxkaXYgaWQ9Imh0bWxfMzQxYTRkMTQwMTE4NGYwNWFjNjBjMjgxMjQ0NDg3NDEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlVwcGVyIFJvdWdlLCBTY2FyYm9yb3VnaDwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF83YTI5YmNlNTg5YjY0ODJlYTQ2MjA1MTg1ZTdhYTA1Yi5zZXRDb250ZW50KGh0bWxfMzQxYTRkMTQwMTE4NGYwNWFjNjBjMjgxMjQ0NDg3NDEpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2EzNWI2MjYxZmIxODRiYmJhYmQwNmYyN2JkNDQxOTNlLmJpbmRQb3B1cChwb3B1cF83YTI5YmNlNTg5YjY0ODJlYTQ2MjA1MTg1ZTdhYTA1YikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMWZjZTY3MjlkMDdlNDAyMWJhMzA2MzBlYmViM2I2YTEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My44MDM3NjIyLCAtNzkuMzYzNDUxN10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF84Y2ZlZjYzZWEyZDU0NGUxYjU5MWQ1ZGFkZDU1YTg4OSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYmQzNTU2YzU4NmUzNDkyMmFlNTU3ZGY4ZWMzZmJjYjkgPSAkKGA8ZGl2IGlkPSJodG1sX2JkMzU1NmM1ODZlMzQ5MjJhZTU1N2RmOGVjM2ZiY2I5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IaWxsY3Jlc3QgVmlsbGFnZSwgTm9ydGggWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF84Y2ZlZjYzZWEyZDU0NGUxYjU5MWQ1ZGFkZDU1YTg4OS5zZXRDb250ZW50KGh0bWxfYmQzNTU2YzU4NmUzNDkyMmFlNTU3ZGY4ZWMzZmJjYjkpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzFmY2U2NzI5ZDA3ZTQwMjFiYTMwNjMwZWJlYjNiNmExLmJpbmRQb3B1cChwb3B1cF84Y2ZlZjYzZWEyZDU0NGUxYjU5MWQ1ZGFkZDU1YTg4OSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMzI2NWM2Y2Q4MmVlNGJmOGIyMTZkYTcxOTg2ZjJkN2IgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43Nzg1MTc1LCAtNzkuMzQ2NTU1N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9hNWM3Y2I3MGM4M2U0OWNjYWZkOTI3NjJjZDEzMWU3MiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMDdmNzA0MGI1MmFhNDAwNjkzOGQyNGEzYjVjMzdiNjAgPSAkKGA8ZGl2IGlkPSJodG1sXzA3ZjcwNDBiNTJhYTQwMDY5MzhkMjRhM2I1YzM3YjYwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GYWlydmlldywgSGVucnkgRmFybSwgT3Jpb2xlLCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2E1YzdjYjcwYzgzZTQ5Y2NhZmQ5Mjc2MmNkMTMxZTcyLnNldENvbnRlbnQoaHRtbF8wN2Y3MDQwYjUyYWE0MDA2OTM4ZDI0YTNiNWMzN2I2MCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMzI2NWM2Y2Q4MmVlNGJmOGIyMTZkYTcxOTg2ZjJkN2IuYmluZFBvcHVwKHBvcHVwX2E1YzdjYjcwYzgzZTQ5Y2NhZmQ5Mjc2MmNkMTMxZTcyKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81NGQ2ZDI0ODQ0ZjY0OTBiYjViZDMzYmExZmIyZjY2NSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc4Njk0NzMsIC03OS4zODU5NzVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYzQyNzU3ZDk4Y2QwNDRiZmJhMjQ5Y2YwZTQ0ZDdhMGYgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2JkNzliZTQ0YzlkYzRkMDE5MDc3NmJjOGRmNzRiZmMwID0gJChgPGRpdiBpZD0iaHRtbF9iZDc5YmU0NGM5ZGM0ZDAxOTA3NzZiYzhkZjc0YmZjMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QmF5dmlldyBWaWxsYWdlLCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2M0Mjc1N2Q5OGNkMDQ0YmZiYTI0OWNmMGU0NGQ3YTBmLnNldENvbnRlbnQoaHRtbF9iZDc5YmU0NGM5ZGM0ZDAxOTA3NzZiYzhkZjc0YmZjMCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNTRkNmQyNDg0NGY2NDkwYmI1YmQzM2JhMWZiMmY2NjUuYmluZFBvcHVwKHBvcHVwX2M0Mjc1N2Q5OGNkMDQ0YmZiYTI0OWNmMGU0NGQ3YTBmKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hOGQ1NDUwYzRjY2Q0NWIwYjBlMmI2ODE5MjUwMWJmMiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc1NzQ5MDIsIC03OS4zNzQ3MTQwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8wYjMzOTRjNDMyNWY0ZDE2OTUyMzE4MmQzZmM2OTcwZSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMDEwNWYyYTE4ODI0NGU3NzhjNTQ1MDU4MGJhZjc5NDAgPSAkKGA8ZGl2IGlkPSJodG1sXzAxMDVmMmExODgyNDRlNzc4YzU0NTA1ODBiYWY3OTQwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TaWx2ZXIgSGlsbHMsIFlvcmsgTWlsbHMsIE5vcnRoIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMGIzMzk0YzQzMjVmNGQxNjk1MjMxODJkM2ZjNjk3MGUuc2V0Q29udGVudChodG1sXzAxMDVmMmExODgyNDRlNzc4YzU0NTA1ODBiYWY3OTQwKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9hOGQ1NDUwYzRjY2Q0NWIwYjBlMmI2ODE5MjUwMWJmMi5iaW5kUG9wdXAocG9wdXBfMGIzMzk0YzQzMjVmNGQxNjk1MjMxODJkM2ZjNjk3MGUpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzVjYjI5ZjJjMjAwZjQ4MzRiNWFlMzFmNTJiZDc3ZGZhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzg5MDUzLCAtNzkuNDA4NDkyNzk5OTk5OTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfM2I2MGY1MTAyMTY5NDliOWExZTJhOTdiZWQ5YzYzMmUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzAzYzk3OTM2OTcwMTQwOGVhNmMyNmNhN2E0MGEyNzdlID0gJChgPGRpdiBpZD0iaHRtbF8wM2M5NzkzNjk3MDE0MDhlYTZjMjZjYTdhNDBhMjc3ZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TmV3dG9uYnJvb2ssIFdpbGxvd2RhbGUsIE5vcnRoIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfM2I2MGY1MTAyMTY5NDliOWExZTJhOTdiZWQ5YzYzMmUuc2V0Q29udGVudChodG1sXzAzYzk3OTM2OTcwMTQwOGVhNmMyNmNhN2E0MGEyNzdlKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl81Y2IyOWYyYzIwMGY0ODM0YjVhZTMxZjUyYmQ3N2RmYS5iaW5kUG9wdXAocG9wdXBfM2I2MGY1MTAyMTY5NDliOWExZTJhOTdiZWQ5YzYzMmUpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzM3ZjA5M2FjYmFkMDQzMzBiNjQ5ZTc2Yzk0MWJjN2MzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzcwMTE5OSwgLTc5LjQwODQ5Mjc5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzdlNjg1YzI0ODU4NzQ1MjU4NjJhODY3ZDQ2NGNkZjEwID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF85ZTMyNWFkODc5YTM0MTQxOTYyNTYzYmE5ZWU5NzAzZSA9ICQoYDxkaXYgaWQ9Imh0bWxfOWUzMjVhZDg3OWEzNDE0MTk2MjU2M2JhOWVlOTcwM2UiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldpbGxvd2RhbGUgU291dGgsIE5vcnRoIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfN2U2ODVjMjQ4NTg3NDUyNTg2MmE4NjdkNDY0Y2RmMTAuc2V0Q29udGVudChodG1sXzllMzI1YWQ4NzlhMzQxNDE5NjI1NjNiYTllZTk3MDNlKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl8zN2YwOTNhY2JhZDA0MzMwYjY0OWU3NmM5NDFiYzdjMy5iaW5kUG9wdXAocG9wdXBfN2U2ODVjMjQ4NTg3NDUyNTg2MmE4NjdkNDY0Y2RmMTApCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2FlYTI4NWNhNzFmZjQ4MzNhYzhlMjdjOTI1NjQxYTU2ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzUyNzU4Mjk5OTk5OTk2LCAtNzkuNDAwMDQ5M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF80MDlmNjkwZDM1ODI0MTU2OWNhNzI1MzA3ODEwYjA3MiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfY2EwZTFiYjRkMTFlNDdlMjliODRlM2VmODg0NWExM2YgPSAkKGA8ZGl2IGlkPSJodG1sX2NhMGUxYmI0ZDExZTQ3ZTI5Yjg0ZTNlZjg4NDVhMTNmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Zb3JrIE1pbGxzIFdlc3QsIE5vcnRoIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNDA5ZjY5MGQzNTgyNDE1NjljYTcyNTMwNzgxMGIwNzIuc2V0Q29udGVudChodG1sX2NhMGUxYmI0ZDExZTQ3ZTI5Yjg0ZTNlZjg4NDVhMTNmKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9hZWEyODVjYTcxZmY0ODMzYWM4ZTI3YzkyNTY0MWE1Ni5iaW5kUG9wdXAocG9wdXBfNDA5ZjY5MGQzNTgyNDE1NjljYTcyNTMwNzgxMGIwNzIpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2E4MzJkMTYzZmZlMDQxMWFhYWEwNDE0OGUzODM2ODc1ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzgyNzM2NCwgLTc5LjQ0MjI1OTNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYTc4M2VlMWZiYTU3NDYyNTg3ZjA1NDkyNmViMTEwYzcgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2QwMTEwZDNlZGExZTQyZDRhNjFhZjZlN2Q2ODVhYjdmID0gJChgPGRpdiBpZD0iaHRtbF9kMDExMGQzZWRhMWU0MmQ0YTYxYWY2ZTdkNjg1YWI3ZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V2lsbG93ZGFsZSBXZXN0LCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2E3ODNlZTFmYmE1NzQ2MjU4N2YwNTQ5MjZlYjExMGM3LnNldENvbnRlbnQoaHRtbF9kMDExMGQzZWRhMWU0MmQ0YTYxYWY2ZTdkNjg1YWI3Zik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfYTgzMmQxNjNmZmUwNDExYWFhYTA0MTQ4ZTM4MzY4NzUuYmluZFBvcHVwKHBvcHVwX2E3ODNlZTFmYmE1NzQ2MjU4N2YwNTQ5MjZlYjExMGM3KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yYWYzMWMwNTlhZTA0MTQwOGQzZjljNWJkODBjZTllYSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc1MzI1ODYsIC03OS4zMjk2NTY1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzM3ZDQ3Yzc0YWYzNzQxZDdhNjI3ZmQzNDFjMmIzMTEzID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9lN2JiZDVmMjU4NWE0Njk3OWM1OTBkNTcyMGFkNjEyMCA9ICQoYDxkaXYgaWQ9Imh0bWxfZTdiYmQ1ZjI1ODVhNDY5NzljNTkwZDU3MjBhZDYxMjAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlBhcmt3b29kcywgTm9ydGggWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8zN2Q0N2M3NGFmMzc0MWQ3YTYyN2ZkMzQxYzJiMzExMy5zZXRDb250ZW50KGh0bWxfZTdiYmQ1ZjI1ODVhNDY5NzljNTkwZDU3MjBhZDYxMjApOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzJhZjMxYzA1OWFlMDQxNDA4ZDNmOWM1YmQ4MGNlOWVhLmJpbmRQb3B1cChwb3B1cF8zN2Q0N2M3NGFmMzc0MWQ3YTYyN2ZkMzQxYzJiMzExMykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMjJiNDViNTA4NWFkNGE5YjliY2I1YjhhZDgzYWM3ZmMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43NDU5MDU3OTk5OTk5OTYsIC03OS4zNTIxODhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfOWFjYTIyMTRjYjhjNDYxNmIxZTRhYzc3MzkyNWJlYzUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzYyODg4NTY4MjdhZjRiNzdhMDRkNDgxMjU1NzhkMjYyID0gJChgPGRpdiBpZD0iaHRtbF82Mjg4ODU2ODI3YWY0Yjc3YTA0ZDQ4MTI1NTc4ZDI2MiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RG9uIE1pbGxzIE5vcnRoLCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzlhY2EyMjE0Y2I4YzQ2MTZiMWU0YWM3NzM5MjViZWM1LnNldENvbnRlbnQoaHRtbF82Mjg4ODU2ODI3YWY0Yjc3YTA0ZDQ4MTI1NTc4ZDI2Mik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMjJiNDViNTA4NWFkNGE5YjliY2I1YjhhZDgzYWM3ZmMuYmluZFBvcHVwKHBvcHVwXzlhY2EyMjE0Y2I4YzQ2MTZiMWU0YWM3NzM5MjViZWM1KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xMDM0NDMzODg5NTg0MTFkYTM3OTMxZGM2M2RkOTViOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcyNTg5OTcwMDAwMDAxLCAtNzkuMzQwOTIzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2Y1ZmU2NjAyODAxNDRlOGQ5YmU1NmU1NDUxYzI5M2FlID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF83MDU4ZjAxYjUyODU0NGJiODIyZTFhMDg0NDVkZmI2NiA9ICQoYDxkaXYgaWQ9Imh0bWxfNzA1OGYwMWI1Mjg1NDRiYjgyMmUxYTA4NDQ1ZGZiNjYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZsZW1pbmdkb24gUGFyaywgRG9uIE1pbGxzIFNvdXRoLCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2Y1ZmU2NjAyODAxNDRlOGQ5YmU1NmU1NDUxYzI5M2FlLnNldENvbnRlbnQoaHRtbF83MDU4ZjAxYjUyODU0NGJiODIyZTFhMDg0NDVkZmI2Nik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMTAzNDQzMzg4OTU4NDExZGEzNzkzMWRjNjNkZDk1YjguYmluZFBvcHVwKHBvcHVwX2Y1ZmU2NjAyODAxNDRlOGQ5YmU1NmU1NDUxYzI5M2FlKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81NDhhMjI1MjM1MDQ0NDEyYWE1Y2I0MDkzMTJhODc2ZiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc1NDMyODMsIC03OS40NDIyNTkzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzdiMTJkMTY0MWViYjQxNjQ4MmQ4ZjcxZGU2YTNjN2Y4ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9kYjQyNWE1YzA0ZTA0YTM1OTkyYzlhOTU4MTJhZjE3OCA9ICQoYDxkaXYgaWQ9Imh0bWxfZGI0MjVhNWMwNGUwNGEzNTk5MmM5YTk1ODEyYWYxNzgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJhdGh1cnN0IE1hbm9yLCBEb3duc3ZpZXcgTm9ydGgsIFdpbHNvbiBIZWlnaHRzLCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzdiMTJkMTY0MWViYjQxNjQ4MmQ4ZjcxZGU2YTNjN2Y4LnNldENvbnRlbnQoaHRtbF9kYjQyNWE1YzA0ZTA0YTM1OTkyYzlhOTU4MTJhZjE3OCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNTQ4YTIyNTIzNTA0NDQxMmFhNWNiNDA5MzEyYTg3NmYuYmluZFBvcHVwKHBvcHVwXzdiMTJkMTY0MWViYjQxNjQ4MmQ4ZjcxZGU2YTNjN2Y4KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84Zjc5OGJkYjcxODU0OGM1OTI0MTI2YTJjMGI2NWYxYiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjc2Nzk4MDMsIC03OS40ODcyNjE5MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF85OWExYjNiM2I3MDE0NzQ2OWJjOGYwMGRmM2EwOTkxMiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfOTI5OTVhZjI4ODQxNDIxYjlmODkwNWE4NDlkYjU5YzQgPSAkKGA8ZGl2IGlkPSJodG1sXzkyOTk1YWYyODg0MTQyMWI5Zjg5MDVhODQ5ZGI1OWM0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ob3J0aHdvb2QgUGFyaywgWW9yayBVbml2ZXJzaXR5LCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzk5YTFiM2IzYjcwMTQ3NDY5YmM4ZjAwZGYzYTA5OTEyLnNldENvbnRlbnQoaHRtbF85Mjk5NWFmMjg4NDE0MjFiOWY4OTA1YTg0OWRiNTljNCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfOGY3OThiZGI3MTg1NDhjNTkyNDEyNmEyYzBiNjVmMWIuYmluZFBvcHVwKHBvcHVwXzk5YTFiM2IzYjcwMTQ3NDY5YmM4ZjAwZGYzYTA5OTEyKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jMzQ1ZGQ5ZjQxODE0N2M3OTE4OGE1ZGJlZGQ5MzRiNSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjczNzQ3MzIwMDAwMDAwNCwgLTc5LjQ2NDc2MzI5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2JlMThlYmJhODM5YjQ4MDQ5YWVkNjliMTUwNmFkMDQxID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF81MDUwNjg4Y2Q4NzY0NjgzYmQ4MGZjMjhjMDFhY2Q0ZSA9ICQoYDxkaXYgaWQ9Imh0bWxfNTA1MDY4OGNkODc2NDY4M2JkODBmYzI4YzAxYWNkNGUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNGQiBUb3JvbnRvLCBEb3duc3ZpZXcgRWFzdCwgTm9ydGggWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9iZTE4ZWJiYTgzOWI0ODA0OWFlZDY5YjE1MDZhZDA0MS5zZXRDb250ZW50KGh0bWxfNTA1MDY4OGNkODc2NDY4M2JkODBmYzI4YzAxYWNkNGUpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2MzNDVkZDlmNDE4MTQ3Yzc5MTg4YTVkYmVkZDkzNGI1LmJpbmRQb3B1cChwb3B1cF9iZTE4ZWJiYTgzOWI0ODA0OWFlZDY5YjE1MDZhZDA0MSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDY0OTkzNDBkM2E5NDkzZGFhNTgwYWE4MzY0Yzc4MWIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MzkwMTQ2LCAtNzkuNTA2OTQzNl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81OTJhYTg2M2NiYzU0YzE2OGI2NDRiNjY1NzQ5OTYyNyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfOTM1ZTcwNGZjNGRmNGM4MDhlYWE5NzExNDU2NjJhM2UgPSAkKGA8ZGl2IGlkPSJodG1sXzkzNWU3MDRmYzRkZjRjODA4ZWFhOTcxMTQ1NjYyYTNlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Eb3duc3ZpZXcgV2VzdCwgTm9ydGggWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81OTJhYTg2M2NiYzU0YzE2OGI2NDRiNjY1NzQ5OTYyNy5zZXRDb250ZW50KGh0bWxfOTM1ZTcwNGZjNGRmNGM4MDhlYWE5NzExNDU2NjJhM2UpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzA2NDk5MzQwZDNhOTQ5M2RhYTU4MGFhODM2NGM3ODFiLmJpbmRQb3B1cChwb3B1cF81OTJhYTg2M2NiYzU0YzE2OGI2NDRiNjY1NzQ5OTYyNykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODZkNThkMTQwYjE5NGIzYTk3MGNhZjVhMjA4ZWYyNmQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43Mjg0OTY0LCAtNzkuNDk1Njk3NDAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMGM1YTQ5ODg0ZWQ0NDI5ODk3M2E4MTM0Yzg2ZjhiNTIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2U4NDNhYzM1NzEyYzRlMzc4M2Q4ODBjNzcwMTkzMWMzID0gJChgPGRpdiBpZD0iaHRtbF9lODQzYWMzNTcxMmM0ZTM3ODNkODgwYzc3MDE5MzFjMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RG93bnN2aWV3IENlbnRyYWwsIE5vcnRoIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMGM1YTQ5ODg0ZWQ0NDI5ODk3M2E4MTM0Yzg2ZjhiNTIuc2V0Q29udGVudChodG1sX2U4NDNhYzM1NzEyYzRlMzc4M2Q4ODBjNzcwMTkzMWMzKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl84NmQ1OGQxNDBiMTk0YjNhOTcwY2FmNWEyMDhlZjI2ZC5iaW5kUG9wdXAocG9wdXBfMGM1YTQ5ODg0ZWQ0NDI5ODk3M2E4MTM0Yzg2ZjhiNTIpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzBmMDQ5MzlhNTM1NTQzZjg4OGIwMDJiMGQ1MDQ4OGQ4ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzYxNjMxMywgLTc5LjUyMDk5OTQwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2MxNzgwNjA5OTIxYTQyZDViOTc4OWYzNDVhYmQ1YWNkID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8xZDlkMzE3N2VjODg0ODI2YjdiNDg0ODYyOTIwNTQzMyA9ICQoYDxkaXYgaWQ9Imh0bWxfMWQ5ZDMxNzdlYzg4NDgyNmI3YjQ4NDg2MjkyMDU0MzMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRvd25zdmlldyBOb3J0aHdlc3QsIE5vcnRoIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfYzE3ODA2MDk5MjFhNDJkNWI5Nzg5ZjM0NWFiZDVhY2Quc2V0Q29udGVudChodG1sXzFkOWQzMTc3ZWM4ODQ4MjZiN2I0ODQ4NjI5MjA1NDMzKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl8wZjA0OTM5YTUzNTU0M2Y4ODhiMDAyYjBkNTA0ODhkOC5iaW5kUG9wdXAocG9wdXBfYzE3ODA2MDk5MjFhNDJkNWI5Nzg5ZjM0NWFiZDVhY2QpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzdlM2UyNjQ2NDhkNDQ2ZDU4ZTVmMTNlNGZjZGE1MzA5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzI1ODgyMjk5OTk5OTk1LCAtNzkuMzE1NTcxNTk5OTk5OThdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfM2ViMGRjMGM3MDlmNDMwZGJmMGZmZDhlMzlkODFkNDYgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzNjN2Y0YzQ1ZmQyYjQyODNiMTQwNzQ0ZWMzNzEyM2ZmID0gJChgPGRpdiBpZD0iaHRtbF8zYzdmNGM0NWZkMmI0MjgzYjE0MDc0NGVjMzcxMjNmZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VmljdG9yaWEgVmlsbGFnZSwgTm9ydGggWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8zZWIwZGMwYzcwOWY0MzBkYmYwZmZkOGUzOWQ4MWQ0Ni5zZXRDb250ZW50KGh0bWxfM2M3ZjRjNDVmZDJiNDI4M2IxNDA3NDRlYzM3MTIzZmYpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzdlM2UyNjQ2NDhkNDQ2ZDU4ZTVmMTNlNGZjZGE1MzA5LmJpbmRQb3B1cChwb3B1cF8zZWIwZGMwYzcwOWY0MzBkYmYwZmZkOGUzOWQ4MWQ0NikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTI4YjFmODEwYmJkNGI2NTkzNGU0MzA1YjNjZDQ1ODIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MDYzOTcyLCAtNzkuMzA5OTM3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzY4ODg0NDY1MWIyMzQ3NmZiMWZlOWNiYjJmOWIwNWVhID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9iOTIxZjJjNzBkYTY0ZmY4YTE5NWEyODYxZjhlM2VkNyA9ICQoYDxkaXYgaWQ9Imh0bWxfYjkyMWYyYzcwZGE2NGZmOGExOTVhMjg2MWY4ZTNlZDciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldvb2RiaW5lIEdhcmRlbnMsIFBhcmt2aWV3IEhpbGwsIEVhc3QgWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF82ODg4NDQ2NTFiMjM0NzZmYjFmZTljYmIyZjliMDVlYS5zZXRDb250ZW50KGh0bWxfYjkyMWYyYzcwZGE2NGZmOGExOTVhMjg2MWY4ZTNlZDcpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzEyOGIxZjgxMGJiZDRiNjU5MzRlNDMwNWIzY2Q0NTgyLmJpbmRQb3B1cChwb3B1cF82ODg4NDQ2NTFiMjM0NzZmYjFmZTljYmIyZjliMDVlYSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzcxZjY4MzViZGM5NDU1NDkyYzcxYTJlZWZiYTlhODUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42OTUzNDM5MDAwMDAwMDUsIC03OS4zMTgzODg3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzg0ODkxYWQ5NzI3YjQyZWY5MjJlNTYwODRjZGY2ZjhlID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8zZjA5YTlhMTgzNDE0YjQ1OWU4ZmIwYTE0Y2RmY2I4NiA9ICQoYDxkaXYgaWQ9Imh0bWxfM2YwOWE5YTE4MzQxNGI0NTllOGZiMGExNGNkZmNiODYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldvb2RiaW5lIEhlaWdodHMsIEVhc3QgWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF84NDg5MWFkOTcyN2I0MmVmOTIyZTU2MDg0Y2RmNmY4ZS5zZXRDb250ZW50KGh0bWxfM2YwOWE5YTE4MzQxNGI0NTllOGZiMGExNGNkZmNiODYpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzc3MWY2ODM1YmRjOTQ1NTQ5MmM3MWEyZWVmYmE5YTg1LmJpbmRQb3B1cChwb3B1cF84NDg5MWFkOTcyN2I0MmVmOTIyZTU2MDg0Y2RmNmY4ZSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfN2UxOTFmZDc2ZmM5NDJmMDgwZTYxNWE5Y2MxMDMzZmEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NzYzNTczOTk5OTk5OSwgLTc5LjI5MzAzMTJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNmEwNTRiNmFkYjhiNGE2Y2FiMzU2ZTg4NGNkZjVhNGYgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzgxMmY1OTRmZmQ2MDQ3OTk4ZGU3MTRhNTllODg5M2U5ID0gJChgPGRpdiBpZD0iaHRtbF84MTJmNTk0ZmZkNjA0Nzk5OGRlNzE0YTU5ZTg4OTNlOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VGhlIEJlYWNoZXMsIEVhc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF82YTA1NGI2YWRiOGI0YTZjYWIzNTZlODg0Y2RmNWE0Zi5zZXRDb250ZW50KGh0bWxfODEyZjU5NGZmZDYwNDc5OThkZTcxNGE1OWU4ODkzZTkpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzdlMTkxZmQ3NmZjOTQyZjA4MGU2MTVhOWNjMTAzM2ZhLmJpbmRQb3B1cChwb3B1cF82YTA1NGI2YWRiOGI0YTZjYWIzNTZlODg0Y2RmNWE0ZikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDhlOGRkZGUxZDYwNGM0ODg2ZTVkZjgzM2NlYzllZGEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MDkwNjA0LCAtNzkuMzYzNDUxN10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF80MWQxMjZmZTZkNzE0OTM3YjBlZDdkNjNiNDg3MmI0NiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfM2NmN2M3YTI4MzgyNDEyM2EyMTc3ZjUyMjQ4OGMzZWYgPSAkKGA8ZGl2IGlkPSJodG1sXzNjZjdjN2EyODM4MjQxMjNhMjE3N2Y1MjI0ODhjM2VmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5MZWFzaWRlLCBFYXN0IFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNDFkMTI2ZmU2ZDcxNDkzN2IwZWQ3ZDYzYjQ4NzJiNDYuc2V0Q29udGVudChodG1sXzNjZjdjN2EyODM4MjQxMjNhMjE3N2Y1MjI0ODhjM2VmKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl8wOGU4ZGRkZTFkNjA0YzQ4ODZlNWRmODMzY2VjOWVkYS5iaW5kUG9wdXAocG9wdXBfNDFkMTI2ZmU2ZDcxNDkzN2IwZWQ3ZDYzYjQ4NzJiNDYpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ZhMzRhODE4OTY0MDQxZjY5YmNjOTg4ZGMyZTVkM2Y5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzA1MzY4OSwgLTc5LjM0OTM3MTkwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzhlMGIyMTczOTE1YzQ1N2ZhOWQxZjVmNGFkMzdmZmM2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8wMjAwNDI0MTE0MDU0NGNiOTYwODZmYmU5MmEyZjA3ZiA9ICQoYDxkaXYgaWQ9Imh0bWxfMDIwMDQyNDExNDA1NDRjYjk2MDg2ZmJlOTJhMmYwN2YiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlRob3JuY2xpZmZlIFBhcmssIEVhc3QgWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF84ZTBiMjE3MzkxNWM0NTdmYTlkMWY1ZjRhZDM3ZmZjNi5zZXRDb250ZW50KGh0bWxfMDIwMDQyNDExNDA1NDRjYjk2MDg2ZmJlOTJhMmYwN2YpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2ZhMzRhODE4OTY0MDQxZjY5YmNjOTg4ZGMyZTVkM2Y5LmJpbmRQb3B1cChwb3B1cF84ZTBiMjE3MzkxNWM0NTdmYTlkMWY1ZjRhZDM3ZmZjNikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYzgxM2IyYmM5ZGUxNDAwN2I3ZDI3MmZkOWU3ODUzY2UgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42ODUzNDcsIC03OS4zMzgxMDY1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzQxZTgzZjJiNmM3ZjQzNTlhYjE3NzFlODBkYWNmMzk2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8yZDg3NDNlYzcxMDM0NjI3YmE2MTQ4YzlmNDllNzZjZCA9ICQoYDxkaXYgaWQ9Imh0bWxfMmQ4NzQzZWM3MTAzNDYyN2JhNjE0OGM5ZjQ5ZTc2Y2QiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkVhc3QgVG9yb250bywgRWFzdCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzQxZTgzZjJiNmM3ZjQzNTlhYjE3NzFlODBkYWNmMzk2LnNldENvbnRlbnQoaHRtbF8yZDg3NDNlYzcxMDM0NjI3YmE2MTQ4YzlmNDllNzZjZCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfYzgxM2IyYmM5ZGUxNDAwN2I3ZDI3MmZkOWU3ODUzY2UuYmluZFBvcHVwKHBvcHVwXzQxZTgzZjJiNmM3ZjQzNTlhYjE3NzFlODBkYWNmMzk2KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xMzI1MDM1ZDRlYjQ0NTBiODE5YWVlMTZmMDU1NDgyNiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY3OTU1NzEsIC03OS4zNTIxODhdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZGI3YzMzNmY2NTFjNDM5MTgxYTRjZDg0NDQxOGM2MWQgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzg1NmRhYTAxOGVlMDRmODM5MTQ0YTdhNmY5ZDZkYjk5ID0gJChgPGRpdiBpZD0iaHRtbF84NTZkYWEwMThlZTA0ZjgzOTE0NGE3YTZmOWQ2ZGI5OSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VGhlIERhbmZvcnRoIFdlc3QsIFJpdmVyZGFsZSwgRWFzdCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2RiN2MzMzZmNjUxYzQzOTE4MWE0Y2Q4NDQ0MThjNjFkLnNldENvbnRlbnQoaHRtbF84NTZkYWEwMThlZTA0ZjgzOTE0NGE3YTZmOWQ2ZGI5OSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMTMyNTAzNWQ0ZWI0NDUwYjgxOWFlZTE2ZjA1NTQ4MjYuYmluZFBvcHVwKHBvcHVwX2RiN2MzMzZmNjUxYzQzOTE4MWE0Y2Q4NDQ0MThjNjFkKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yNjk2NjRmYjJlYzc0MWM2YWM0OTVmMzM0MzBlMDI3OCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2ODk5ODUsIC03OS4zMTU1NzE1OTk5OTk5OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81MzI0MDYwOTg5YzI0NWEwYjI0MThlYjcyYTEwY2E0YiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNWJhNmY1ZWY4YzE1NDE0NDliMDllNzQ1ODEwMzUwYjcgPSAkKGA8ZGl2IGlkPSJodG1sXzViYTZmNWVmOGMxNTQxNDQ5YjA5ZTc0NTgxMDM1MGI3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5UaGUgQmVhY2hlcyBXZXN0LCBJbmRpYSBCYXphYXIsIEVhc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81MzI0MDYwOTg5YzI0NWEwYjI0MThlYjcyYTEwY2E0Yi5zZXRDb250ZW50KGh0bWxfNWJhNmY1ZWY4YzE1NDE0NDliMDllNzQ1ODEwMzUwYjcpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzI2OTY2NGZiMmVjNzQxYzZhYzQ5NWYzMzQzMGUwMjc4LmJpbmRQb3B1cChwb3B1cF81MzI0MDYwOTg5YzI0NWEwYjI0MThlYjcyYTEwY2E0YikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOThkNTBiNjFiNmU4NDM0YWIxYTZjYzQwZmYxOGRjZTYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTk1MjU1LCAtNzkuMzQwOTIzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzc4MjNkYmEyN2MzMDQ2ZDU4YmIzNzI0OTYxMWQ5MWY0ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8yMzA3MzAzMTI0ZTI0NWYzOThiMjFlZjU0ZjMzOTBmMSA9ICQoYDxkaXYgaWQ9Imh0bWxfMjMwNzMwMzEyNGUyNDVmMzk4YjIxZWY1NGYzMzkwZjEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlN0dWRpbyBEaXN0cmljdCwgRWFzdCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzc4MjNkYmEyN2MzMDQ2ZDU4YmIzNzI0OTYxMWQ5MWY0LnNldENvbnRlbnQoaHRtbF8yMzA3MzAzMTI0ZTI0NWYzOThiMjFlZjU0ZjMzOTBmMSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfOThkNTBiNjFiNmU4NDM0YWIxYTZjYzQwZmYxOGRjZTYuYmluZFBvcHVwKHBvcHVwXzc4MjNkYmEyN2MzMDQ2ZDU4YmIzNzI0OTYxMWQ5MWY0KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xN2IyMGY5NjRiNGQ0NDQ4OGZkMTRmMmZkMTg5ZDZiNCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcyODAyMDUsIC03OS4zODg3OTAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2JjZmQzZGMyY2JiZDRmMDE5YWFjMDNlNDZhODkwN2Q4ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9hZjJmNjA1MTZjZjc0OWFmODM3N2NmN2NjZjAyMDE3YyA9ICQoYDxkaXYgaWQ9Imh0bWxfYWYyZjYwNTE2Y2Y3NDlhZjgzNzdjZjdjY2YwMjAxN2MiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkxhd3JlbmNlIFBhcmssIENlbnRyYWwgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9iY2ZkM2RjMmNiYmQ0ZjAxOWFhYzAzZTQ2YTg5MDdkOC5zZXRDb250ZW50KGh0bWxfYWYyZjYwNTE2Y2Y3NDlhZjgzNzdjZjdjY2YwMjAxN2MpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzE3YjIwZjk2NGI0ZDQ0NDg4ZmQxNGYyZmQxODlkNmI0LmJpbmRQb3B1cChwb3B1cF9iY2ZkM2RjMmNiYmQ0ZjAxOWFhYzAzZTQ2YTg5MDdkOCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTYzYTdlZGFhYTM5NDFhM2I1OWQyNjA4MDc2MTM1NDQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MTI3NTExLCAtNzkuMzkwMTk3NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81NzdhYTRlYTQxODk0NjE2ODM3M2I3OGYyZjllYmM5MyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNWI5ODAwMDk1OGVhNGMzNTk0ODdlMjVmYjIyMTc4NzggPSAkKGA8ZGl2IGlkPSJodG1sXzViOTgwMDA5NThlYTRjMzU5NDg3ZTI1ZmIyMjE3ODc4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5EYXZpc3ZpbGxlIE5vcnRoLCBDZW50cmFsIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNTc3YWE0ZWE0MTg5NDYxNjgzNzNiNzhmMmY5ZWJjOTMuc2V0Q29udGVudChodG1sXzViOTgwMDA5NThlYTRjMzU5NDg3ZTI1ZmIyMjE3ODc4KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9hNjNhN2VkYWFhMzk0MWEzYjU5ZDI2MDgwNzYxMzU0NC5iaW5kUG9wdXAocG9wdXBfNTc3YWE0ZWE0MTg5NDYxNjgzNzNiNzhmMmY5ZWJjOTMpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ExNzhiNGU0OGM4OTRjOGJhMGNkNGIzNDEzZDA4YzA5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzE1MzgzNCwgLTc5LjQwNTY3ODQwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzBhYjc5YTdmYzQ0MzRiNTRhOGU1ZDNmNzNkMTYxMWVmID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF83ZjllOGRiMzJjMzc0ZDRlYjA5MTU0Yzc3NzQ2ZDRhMSA9ICQoYDxkaXYgaWQ9Imh0bWxfN2Y5ZThkYjMyYzM3NGQ0ZWIwOTE1NGM3Nzc0NmQ0YTEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk5vcnRoIFRvcm9udG8gV2VzdCwgQ2VudHJhbCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzBhYjc5YTdmYzQ0MzRiNTRhOGU1ZDNmNzNkMTYxMWVmLnNldENvbnRlbnQoaHRtbF83ZjllOGRiMzJjMzc0ZDRlYjA5MTU0Yzc3NzQ2ZDRhMSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfYTE3OGI0ZTQ4Yzg5NGM4YmEwY2Q0YjM0MTNkMDhjMDkuYmluZFBvcHVwKHBvcHVwXzBhYjc5YTdmYzQ0MzRiNTRhOGU1ZDNmNzNkMTYxMWVmKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xNDBhNTU1MDVlN2I0ZWE5YjVjZDJjYzc3ZmQzYzBiOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcwNDMyNDQsIC03OS4zODg3OTAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzYyZmNhMWI1NGJjNjRlNjA5ODY3ZDkwNDUyZGU1OGJjID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8wYmQyNzM0N2NjODE0MzE3YjFiZjU0MDVjYThjYmIwOCA9ICQoYDxkaXYgaWQ9Imh0bWxfMGJkMjczNDdjYzgxNDMxN2IxYmY1NDA1Y2E4Y2JiMDgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRhdmlzdmlsbGUsIENlbnRyYWwgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF82MmZjYTFiNTRiYzY0ZTYwOTg2N2Q5MDQ1MmRlNThiYy5zZXRDb250ZW50KGh0bWxfMGJkMjczNDdjYzgxNDMxN2IxYmY1NDA1Y2E4Y2JiMDgpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzE0MGE1NTUwNWU3YjRlYTliNWNkMmNjNzdmZDNjMGI4LmJpbmRQb3B1cChwb3B1cF82MmZjYTFiNTRiYzY0ZTYwOTg2N2Q5MDQ1MmRlNThiYykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYTgxZGM1MjUyNTcyNGQwZTlhMmFkNjFkYzYwMmMzZWIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42ODk1NzQzLCAtNzkuMzgzMTU5OTAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNTVmOGM4NGFjYzg0NDg3YWJkZGMwYzQxNTY3MzhmZTUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzBmM2RkM2RjOWMwNjQzYWY4ZTI2M2JhYTRlMTFhMmUxID0gJChgPGRpdiBpZD0iaHRtbF8wZjNkZDNkYzljMDY0M2FmOGUyNjNiYWE0ZTExYTJlMSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TW9vcmUgUGFyaywgU3VtbWVyaGlsbCBFYXN0LCBDZW50cmFsIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNTVmOGM4NGFjYzg0NDg3YWJkZGMwYzQxNTY3MzhmZTUuc2V0Q29udGVudChodG1sXzBmM2RkM2RjOWMwNjQzYWY4ZTI2M2JhYTRlMTFhMmUxKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9hODFkYzUyNTI1NzI0ZDBlOWEyYWQ2MWRjNjAyYzNlYi5iaW5kUG9wdXAocG9wdXBfNTVmOGM4NGFjYzg0NDg3YWJkZGMwYzQxNTY3MzhmZTUpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzQ4N2Y5ZjNiYzA1ODQzMzRhY2Y2ZmJiMmM0YjdkOGQ5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjg2NDEyMjk5OTk5OTksIC03OS40MDAwNDkzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2Y0NmQ4MjY4ZjU2NDQ0NDNiNWQyZjU5NjE5Yjg2ZjE3ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF85NjJhNTBiMDU0ZTc0ZmE2YWQzNTJlNDc0ZmZiNGVmNyA9ICQoYDxkaXYgaWQ9Imh0bWxfOTYyYTUwYjA1NGU3NGZhNmFkMzUyZTQ3NGZmYjRlZjciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRlZXIgUGFyaywgRm9yZXN0IEhpbGwgU0UsIFJhdGhuZWxseSwgU291dGggSGlsbCwgU3VtbWVyaGlsbCBXZXN0LCBDZW50cmFsIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZjQ2ZDgyNjhmNTY0NDQ0M2I1ZDJmNTk2MTliODZmMTcuc2V0Q29udGVudChodG1sXzk2MmE1MGIwNTRlNzRmYTZhZDM1MmU0NzRmZmI0ZWY3KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl80ODdmOWYzYmMwNTg0MzM0YWNmNmZiYjJjNGI3ZDhkOS5iaW5kUG9wdXAocG9wdXBfZjQ2ZDgyNjhmNTY0NDQ0M2I1ZDJmNTk2MTliODZmMTcpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzZkOTBkODk5NmJlNDRlNzI4ZWM0M2FlOTQ5YzMxNjA1ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjc5NTYyNiwgLTc5LjM3NzUyOTQwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzZlMjlmYmJhYzFiMjQwODU5MzcxMGYyMzU2YzkzNTEzID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9hYTEzYTQ2MGM2Zjc0ODE4YmNmYWRhMmUwZTc4ZTQ3NCA9ICQoYDxkaXYgaWQ9Imh0bWxfYWExM2E0NjBjNmY3NDgxOGJjZmFkYTJlMGU3OGU0NzQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJvc2VkYWxlLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzZlMjlmYmJhYzFiMjQwODU5MzcxMGYyMzU2YzkzNTEzLnNldENvbnRlbnQoaHRtbF9hYTEzYTQ2MGM2Zjc0ODE4YmNmYWRhMmUwZTc4ZTQ3NCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNmQ5MGQ4OTk2YmU0NGU3MjhlYzQzYWU5NDljMzE2MDUuYmluZFBvcHVwKHBvcHVwXzZlMjlmYmJhYzFiMjQwODU5MzcxMGYyMzU2YzkzNTEzKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xMjMxZjE2ZmU4YWI0OGUyOWVmNmE4MDU3NzEyNTM2MiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2Nzk2NywgLTc5LjM2NzY3NTNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYzU1NmU5ODE3MGUxNGZjMzkwMzIzMzFkMTI1OThiMWMgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2JlMjczMDY1MTFhZDQyOGE4MDBmMTIxNDY3NDdjNzgwID0gJChgPGRpdiBpZD0iaHRtbF9iZTI3MzA2NTExYWQ0MjhhODAwZjEyMTQ2NzQ3Yzc4MCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2FiYmFnZXRvd24sIFN0LiBKYW1lcyBUb3duLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2M1NTZlOTgxNzBlMTRmYzM5MDMyMzMxZDEyNTk4YjFjLnNldENvbnRlbnQoaHRtbF9iZTI3MzA2NTExYWQ0MjhhODAwZjEyMTQ2NzQ3Yzc4MCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMTIzMWYxNmZlOGFiNDhlMjllZjZhODA1NzcxMjUzNjIuYmluZFBvcHVwKHBvcHVwX2M1NTZlOTgxNzBlMTRmYzM5MDMyMzMxZDEyNTk4YjFjKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xNjgyNmYyOTkwZmU0MjZhYjJkZDc3ZTNmMTM0OWIyOSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2NTg1OTksIC03OS4zODMxNTk5MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8xZDQ2YWNjMjQ4NzI0YTA2YmIzYzZjNmU3ZmYxMTk4YiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNGExODBkNTI1MjczNDdmNzhmYzJiOGE3NzFkNzNjM2UgPSAkKGA8ZGl2IGlkPSJodG1sXzRhMTgwZDUyNTI3MzQ3Zjc4ZmMyYjhhNzcxZDczYzNlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DaHVyY2ggYW5kIFdlbGxlc2xleSwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8xZDQ2YWNjMjQ4NzI0YTA2YmIzYzZjNmU3ZmYxMTk4Yi5zZXRDb250ZW50KGh0bWxfNGExODBkNTI1MjczNDdmNzhmYzJiOGE3NzFkNzNjM2UpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzE2ODI2ZjI5OTBmZTQyNmFiMmRkNzdlM2YxMzQ5YjI5LmJpbmRQb3B1cChwb3B1cF8xZDQ2YWNjMjQ4NzI0YTA2YmIzYzZjNmU3ZmYxMTk4YikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYzNiZWQxZDI3ODFmNDFhYTkzMmI2MmY2ODY3ZThkNjUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTQyNTk5LCAtNzkuMzYwNjM1OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF82ODU1ZTYwMWNiN2U0N2U0OTNhZTYyZDhiYjRhMGRiMSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZDUzNTQyZThkNDhmNGI1Nzg1NDZmMGY2ZDI4NjQ1MWUgPSAkKGA8ZGl2IGlkPSJodG1sX2Q1MzU0MmU4ZDQ4ZjRiNTc4NTQ2ZjBmNmQyODY0NTFlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IYXJib3VyZnJvbnQsIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNjg1NWU2MDFjYjdlNDdlNDkzYWU2MmQ4YmI0YTBkYjEuc2V0Q29udGVudChodG1sX2Q1MzU0MmU4ZDQ4ZjRiNTc4NTQ2ZjBmNmQyODY0NTFlKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9jM2JlZDFkMjc4MWY0MWFhOTMyYjYyZjY4NjdlOGQ2NS5iaW5kUG9wdXAocG9wdXBfNjg1NWU2MDFjYjdlNDdlNDkzYWU2MmQ4YmI0YTBkYjEpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2NkMGJiZTFiNTA0ZDQwMWRiY2M3Yjc2YTQwNjljZWViID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjU3MTYxOCwgLTc5LjM3ODkzNzA5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzc4NTk4YWI1NmFhZjQwZGY5NWI5ODk5MDhhMDg4Njg3ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9mMWZhZjgzMTYzMTQ0MDZiODQ0MjAwMzFkYmI1ZWJiYSA9ICQoYDxkaXYgaWQ9Imh0bWxfZjFmYWY4MzE2MzE0NDA2Yjg0NDIwMDMxZGJiNWViYmEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJ5ZXJzb24sIEdhcmRlbiBEaXN0cmljdCwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF83ODU5OGFiNTZhYWY0MGRmOTViOTg5OTA4YTA4ODY4Ny5zZXRDb250ZW50KGh0bWxfZjFmYWY4MzE2MzE0NDA2Yjg0NDIwMDMxZGJiNWViYmEpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2NkMGJiZTFiNTA0ZDQwMWRiY2M3Yjc2YTQwNjljZWViLmJpbmRQb3B1cChwb3B1cF83ODU5OGFiNTZhYWY0MGRmOTViOTg5OTA4YTA4ODY4NykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNDY4ODkyNWVkMDdhNGFkOGFhZGVkMTg1ODM0NmE0NzkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTE0OTM5LCAtNzkuMzc1NDE3OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81NzgxNTM4YWM0NGU0Y2Q1OGM1NjdmNzdiNGUzYmRmMSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZWIwMWQxOGI2OThiNDA1YWFhN2ZmYWE4MzEzZGQyMzQgPSAkKGA8ZGl2IGlkPSJodG1sX2ViMDFkMThiNjk4YjQwNWFhYTdmZmFhODMxM2RkMjM0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TdC4gSmFtZXMgVG93biwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81NzgxNTM4YWM0NGU0Y2Q1OGM1NjdmNzdiNGUzYmRmMS5zZXRDb250ZW50KGh0bWxfZWIwMWQxOGI2OThiNDA1YWFhN2ZmYWE4MzEzZGQyMzQpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzQ2ODg5MjVlZDA3YTRhZDhhYWRlZDE4NTgzNDZhNDc5LmJpbmRQb3B1cChwb3B1cF81NzgxNTM4YWM0NGU0Y2Q1OGM1NjdmNzdiNGUzYmRmMSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfYWFiMDQ2NTdlNzMwNGY3NDgxYTI5NTJhMDIyZWNhMTEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NDQ3NzA3OTk5OTk5OTYsIC03OS4zNzMzMDY0XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2NiZWVlOWZjZjczNzRjNzZhZjRkZDc3OTQ5NDA3MTAxID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF84ZDk5NDNlYjUzZWQ0MmJiODMxYTAwZGEwMzM5ODE3NSA9ICQoYDxkaXYgaWQ9Imh0bWxfOGQ5OTQzZWI1M2VkNDJiYjgzMWEwMGRhMDMzOTgxNzUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJlcmN6eSBQYXJrLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2NiZWVlOWZjZjczNzRjNzZhZjRkZDc3OTQ5NDA3MTAxLnNldENvbnRlbnQoaHRtbF84ZDk5NDNlYjUzZWQ0MmJiODMxYTAwZGEwMzM5ODE3NSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfYWFiMDQ2NTdlNzMwNGY3NDgxYTI5NTJhMDIyZWNhMTEuYmluZFBvcHVwKHBvcHVwX2NiZWVlOWZjZjczNzRjNzZhZjRkZDc3OTQ5NDA3MTAxKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hZTIwZTdkNGExYTU0ZDlhOTA1OTU5MDZmMTg2ZmRhZCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY1Nzk1MjQsIC03OS4zODczODI2XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzc3NzFjYzk2YmNhODQ5YmE5YWMxYTZiYjUwYzBiZmY3ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF83MWRlNGJhMmJmMWM0N2I2YmQ5OTM5Mzc5YTA3ZWFhNyA9ICQoYDxkaXYgaWQ9Imh0bWxfNzFkZTRiYTJiZjFjNDdiNmJkOTkzOTM3OWEwN2VhYTciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNlbnRyYWwgQmF5IFN0cmVldCwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF83NzcxY2M5NmJjYTg0OWJhOWFjMWE2YmI1MGMwYmZmNy5zZXRDb250ZW50KGh0bWxfNzFkZTRiYTJiZjFjNDdiNmJkOTkzOTM3OWEwN2VhYTcpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2FlMjBlN2Q0YTFhNTRkOWE5MDU5NTkwNmYxODZmZGFkLmJpbmRQb3B1cChwb3B1cF83NzcxY2M5NmJjYTg0OWJhOWFjMWE2YmI1MGMwYmZmNykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNTBmMjYwNTQ2N2FjNGJjZjk2NmU5YzA1ZjlhY2UyNWQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTA1NzEyMDAwMDAwMSwgLTc5LjM4NDU2NzVdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMmUyOTY4ODFhNmYyNDExMzg1ZDE0ZWQyMzMyNzJmN2EgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2JkZTIyNTI5ZDgyYzQxYmQ4YTMwYzdiNTJiZjg5YTZmID0gJChgPGRpdiBpZD0iaHRtbF9iZGUyMjUyOWQ4MmM0MWJkOGEzMGM3YjUyYmY4OWE2ZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QWRlbGFpZGUsIEtpbmcsIFJpY2htb25kLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzJlMjk2ODgxYTZmMjQxMTM4NWQxNGVkMjMzMjcyZjdhLnNldENvbnRlbnQoaHRtbF9iZGUyMjUyOWQ4MmM0MWJkOGEzMGM3YjUyYmY4OWE2Zik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNTBmMjYwNTQ2N2FjNGJjZjk2NmU5YzA1ZjlhY2UyNWQuYmluZFBvcHVwKHBvcHVwXzJlMjk2ODgxYTZmMjQxMTM4NWQxNGVkMjMzMjcyZjdhKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81OTYyYmQ2ZDZkYzY0ZDAyODlmM2VmMmE4YmFhOTcxOCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY0MDgxNTcsIC03OS4zODE3NTIyOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF83NDQ0ZTI1YWRhMWI0NjYxOTViYThjNGU0ZWFlNTFhOCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYjE0MDhhZjgwNzc4NDIzZWJmNzUyZDg4YWY3MDY3NmEgPSAkKGA8ZGl2IGlkPSJodG1sX2IxNDA4YWY4MDc3ODQyM2ViZjc1MmQ4OGFmNzA2NzZhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IYXJib3VyZnJvbnQgRWFzdCwgVG9yb250byBJc2xhbmRzLCBVbmlvbiBTdGF0aW9uLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzc0NDRlMjVhZGExYjQ2NjE5NWJhOGM0ZTRlYWU1MWE4LnNldENvbnRlbnQoaHRtbF9iMTQwOGFmODA3Nzg0MjNlYmY3NTJkODhhZjcwNjc2YSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNTk2MmJkNmQ2ZGM2NGQwMjg5ZjNlZjJhOGJhYTk3MTguYmluZFBvcHVwKHBvcHVwXzc0NDRlMjVhZGExYjQ2NjE5NWJhOGM0ZTRlYWU1MWE4KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl85MDlmNDVhZjhmYTA0ZjNlODY5ZmY2MTM4ZTAyODA3NiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY0NzE3NjgsIC03OS4zODE1NzY0MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9mZTMxY2RkOGI4YTE0YTU1OGVkM2M0NWM4ZWJkMDU5YyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYjY3MWIzODZmYmMxNDBkOWEwZjg0ODMwMTI0M2MxOTcgPSAkKGA8ZGl2IGlkPSJodG1sX2I2NzFiMzg2ZmJjMTQwZDlhMGY4NDgzMDEyNDNjMTk3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5EZXNpZ24gRXhjaGFuZ2UsIFRvcm9udG8gRG9taW5pb24gQ2VudHJlLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2ZlMzFjZGQ4YjhhMTRhNTU4ZWQzYzQ1YzhlYmQwNTljLnNldENvbnRlbnQoaHRtbF9iNjcxYjM4NmZiYzE0MGQ5YTBmODQ4MzAxMjQzYzE5Nyk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfOTA5ZjQ1YWY4ZmEwNGYzZTg2OWZmNjEzOGUwMjgwNzYuYmluZFBvcHVwKHBvcHVwX2ZlMzFjZGQ4YjhhMTRhNTU4ZWQzYzQ1YzhlYmQwNTljKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9lZDUxZDIxOTdiZWI0Y2Q4YTdmNjBmZDE5Y2NjYmQwYyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY0ODE5ODUsIC03OS4zNzk4MTY5MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9mMWUwY2ZhOTlhN2Y0MzE2OTk4MDU5N2JhNmNhNGQxZiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfM2RhMzg2N2IxOWZkNDZjMmIzNzdhMjMxMDY5YTBmNjcgPSAkKGA8ZGl2IGlkPSJodG1sXzNkYTM4NjdiMTlmZDQ2YzJiMzc3YTIzMTA2OWEwZjY3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Db21tZXJjZSBDb3VydCwgVmljdG9yaWEgSG90ZWwsIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZjFlMGNmYTk5YTdmNDMxNjk5ODA1OTdiYTZjYTRkMWYuc2V0Q29udGVudChodG1sXzNkYTM4NjdiMTlmZDQ2YzJiMzc3YTIzMTA2OWEwZjY3KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9lZDUxZDIxOTdiZWI0Y2Q4YTdmNjBmZDE5Y2NjYmQwYy5iaW5kUG9wdXAocG9wdXBfZjFlMGNmYTk5YTdmNDMxNjk5ODA1OTdiYTZjYTRkMWYpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2NmNTNhMjhhYzk3MjRjNzRiN2Q3YWZmMTYwMzExN2UxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzMzMjgyNSwgLTc5LjQxOTc0OTddLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYjkyYWYyNzM2ZGM2NGUzODgwZjNmMjRiODlhZmY4ZGIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzMzZWI1MzAwYzVhYjRmOTI4YjY5ZGU0Y2Q5YWVhNDQzID0gJChgPGRpdiBpZD0iaHRtbF8zM2ViNTMwMGM1YWI0ZjkyOGI2OWRlNGNkOWFlYTQ0MyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QmVkZm9yZCBQYXJrLCBMYXdyZW5jZSBNYW5vciBFYXN0LCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2I5MmFmMjczNmRjNjRlMzg4MGYzZjI0Yjg5YWZmOGRiLnNldENvbnRlbnQoaHRtbF8zM2ViNTMwMGM1YWI0ZjkyOGI2OWRlNGNkOWFlYTQ0Myk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfY2Y1M2EyOGFjOTcyNGM3NGI3ZDdhZmYxNjAzMTE3ZTEuYmluZFBvcHVwKHBvcHVwX2I5MmFmMjczNmRjNjRlMzg4MGYzZjI0Yjg5YWZmOGRiKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82MzM3NWY0OWYxODA0Nzk3ODViYjY0MWFkZTY1OWQ5MSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcxMTY5NDgsIC03OS40MTY5MzU1OTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF82Y2IzNDMwZWFiNzM0NDY1ODllNDAwNjk5Nzc5ZGYwZCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYzY5YTZmNmM0NThmNGIzNGEyMzVkMGQxM2MyYTMwODYgPSAkKGA8ZGl2IGlkPSJodG1sX2M2OWE2ZjZjNDU4ZjRiMzRhMjM1ZDBkMTNjMmEzMDg2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Sb3NlbGF3biwgQ2VudHJhbCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzZjYjM0MzBlYWI3MzQ0NjU4OWU0MDA2OTk3NzlkZjBkLnNldENvbnRlbnQoaHRtbF9jNjlhNmY2YzQ1OGY0YjM0YTIzNWQwZDEzYzJhMzA4Nik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNjMzNzVmNDlmMTgwNDc5Nzg1YmI2NDFhZGU2NTlkOTEuYmluZFBvcHVwKHBvcHVwXzZjYjM0MzBlYWI3MzQ0NjU4OWU0MDA2OTk3NzlkZjBkKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8zOTIwNjc1ZDU3YWQ0ZjcyODdhYTYxM2ZjNzA1NzVlOSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY5Njk0NzYsIC03OS40MTEzMDcyMDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF84OTZjNTAzNDhlYmQ0M2U5YWY2YzBhNjU5M2Y3M2EyYSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYzczMTFiODRmOGY4NDRmM2IwZTI1MDNiYTQ4Njk0ZWYgPSAkKGA8ZGl2IGlkPSJodG1sX2M3MzExYjg0ZjhmODQ0ZjNiMGUyNTAzYmE0ODY5NGVmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Gb3Jlc3QgSGlsbCBOb3J0aCwgRm9yZXN0IEhpbGwgV2VzdCwgQ2VudHJhbCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzg5NmM1MDM0OGViZDQzZTlhZjZjMGE2NTkzZjczYTJhLnNldENvbnRlbnQoaHRtbF9jNzMxMWI4NGY4Zjg0NGYzYjBlMjUwM2JhNDg2OTRlZik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMzkyMDY3NWQ1N2FkNGY3Mjg3YWE2MTNmYzcwNTc1ZTkuYmluZFBvcHVwKHBvcHVwXzg5NmM1MDM0OGViZDQzZTlhZjZjMGE2NTkzZjczYTJhKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84ODA2Y2VhODJlNjk0MzY3YTRhMDY5YzUwMzkxODRmMiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY3MjcwOTcsIC03OS40MDU2Nzg0MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF85YmNkZDgyZmFiZjg0ZmRkYTk1MTAzMDk4Y2U3ZmViMSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYzk0ZDQ3YzdhNWUyNDZlMjlhOTU0NzBlMTZiOGNhMmEgPSAkKGA8ZGl2IGlkPSJodG1sX2M5NGQ0N2M3YTVlMjQ2ZTI5YTk1NDcwZTE2YjhjYTJhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5UaGUgQW5uZXgsIE5vcnRoIE1pZHRvd24sIFlvcmt2aWxsZSwgQ2VudHJhbCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzliY2RkODJmYWJmODRmZGRhOTUxMDMwOThjZTdmZWIxLnNldENvbnRlbnQoaHRtbF9jOTRkNDdjN2E1ZTI0NmUyOWE5NTQ3MGUxNmI4Y2EyYSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfODgwNmNlYTgyZTY5NDM2N2E0YTA2OWM1MDM5MTg0ZjIuYmluZFBvcHVwKHBvcHVwXzliY2RkODJmYWJmODRmZGRhOTUxMDMwOThjZTdmZWIxKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hNDA2Mjk5YzJiZmQ0MjU3YjcyNzc4ZjMzZmY2YjYwNCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2MjY5NTYsIC03OS40MDAwNDkzXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2VhNjQ5YzMxOGE3YjQ1ZjI5MTFkODcxNTAxMTQ5YWE3ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9mOGVmMDVlYWQ2ZmE0ODJiODY3MWEyNjhkMjdkNDUzOSA9ICQoYDxkaXYgaWQ9Imh0bWxfZjhlZjA1ZWFkNmZhNDgyYjg2NzFhMjY4ZDI3ZDQ1MzkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkhhcmJvcmQsIFVuaXZlcnNpdHkgb2YgVG9yb250bywgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9lYTY0OWMzMThhN2I0NWYyOTExZDg3MTUwMTE0OWFhNy5zZXRDb250ZW50KGh0bWxfZjhlZjA1ZWFkNmZhNDgyYjg2NzFhMjY4ZDI3ZDQ1MzkpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2E0MDYyOTljMmJmZDQyNTdiNzI3NzhmMzNmZjZiNjA0LmJpbmRQb3B1cChwb3B1cF9lYTY0OWMzMThhN2I0NWYyOTExZDg3MTUwMTE0OWFhNykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMzNhYmI0OTE1MWJkNDBkM2JkZDI5YmJhOGMxNDQxZjMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTMyMDU3LCAtNzkuNDAwMDQ5M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9kYTAxOTY3ZDM4ZDM0MDMwYjNkNmIzZjUxNWUxMDk2OSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNGI1N2Y1ZDg0MTQ3NDIwYTlmZjFjODQzNDAwMWI2ZTMgPSAkKGA8ZGl2IGlkPSJodG1sXzRiNTdmNWQ4NDE0NzQyMGE5ZmYxYzg0MzQwMDFiNmUzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DaGluYXRvd24sIEdyYW5nZSBQYXJrLCBLZW5zaW5ndG9uIE1hcmtldCwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kYTAxOTY3ZDM4ZDM0MDMwYjNkNmIzZjUxNWUxMDk2OS5zZXRDb250ZW50KGh0bWxfNGI1N2Y1ZDg0MTQ3NDIwYTlmZjFjODQzNDAwMWI2ZTMpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzMzYWJiNDkxNTFiZDQwZDNiZGQyOWJiYThjMTQ0MWYzLmJpbmRQb3B1cChwb3B1cF9kYTAxOTY3ZDM4ZDM0MDMwYjNkNmIzZjUxNWUxMDk2OSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDM1ZWY0MzhhMjI3NDUyMDg4NWFkN2Q4ZmU3NTJmM2QgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42Mjg5NDY3LCAtNzkuMzk0NDE5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81MDUxMTM5NzczY2E0YzE5ODVkZDNiZjg1MjU3YTY5MiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMjM3OWQwMmFiMDlhNDRjOWE2NDk0ZTBmMDNhYjEzYzIgPSAkKGA8ZGl2IGlkPSJodG1sXzIzNzlkMDJhYjA5YTQ0YzlhNjQ5NGUwZjAzYWIxM2MyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DTiBUb3dlciwgQmF0aHVyc3QgUXVheSwgSXNsYW5kIGFpcnBvcnQsIEhhcmJvdXJmcm9udCBXZXN0LCBLaW5nIGFuZCBTcGFkaW5hLCBSYWlsd2F5IExhbmRzLCBTb3V0aCBOaWFnYXJhLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzUwNTExMzk3NzNjYTRjMTk4NWRkM2JmODUyNTdhNjkyLnNldENvbnRlbnQoaHRtbF8yMzc5ZDAyYWIwOWE0NGM5YTY0OTRlMGYwM2FiMTNjMik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMDM1ZWY0MzhhMjI3NDUyMDg4NWFkN2Q4ZmU3NTJmM2QuYmluZFBvcHVwKHBvcHVwXzUwNTExMzk3NzNjYTRjMTk4NWRkM2JmODUyNTdhNjkyKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84NzI4MjZmMmZhMTY0NmY5YTA1OGQ1YzIwOWQxMjI2ZSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY0NjQzNTIsIC03OS4zNzQ4NDU5OTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9iMGIxZDFkM2QyZWU0YzY3ODU2NDU5MzY5OTU0NDBkNCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZWI4NDRmODc0YWRkNGQ1YjhmNzM4OTllY2JlYjc1YjkgPSAkKGA8ZGl2IGlkPSJodG1sX2ViODQ0Zjg3NGFkZDRkNWI4ZjczODk5ZWNiZWI3NWI5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5TdG4gQSBQTyBCb3hlcyAyNSBUaGUgRXNwbGFuYWRlLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2IwYjFkMWQzZDJlZTRjNjc4NTY0NTkzNjk5NTQ0MGQ0LnNldENvbnRlbnQoaHRtbF9lYjg0NGY4NzRhZGQ0ZDViOGY3Mzg5OWVjYmViNzViOSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfODcyODI2ZjJmYTE2NDZmOWEwNThkNWMyMDlkMTIyNmUuYmluZFBvcHVwKHBvcHVwX2IwYjFkMWQzZDJlZTRjNjc4NTY0NTkzNjk5NTQ0MGQ0KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xNWRlMGNjZjJmZTc0OTYzOWZjMzhiN2MwMDY1OTg2MyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY0ODQyOTIsIC03OS4zODIyODAyXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2FmYTMwZmRiZDQ2YzRiMThiOTlmY2FhYTE2ZDdkM2ZhID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF85ZTNjNjc0Zjg3YmU0MjljYjlkMjlmZWViZGQ3YTIyNSA9ICQoYDxkaXYgaWQ9Imh0bWxfOWUzYzY3NGY4N2JlNDI5Y2I5ZDI5ZmVlYmRkN2EyMjUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkZpcnN0IENhbmFkaWFuIFBsYWNlLCBVbmRlcmdyb3VuZCBjaXR5LCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2FmYTMwZmRiZDQ2YzRiMThiOTlmY2FhYTE2ZDdkM2ZhLnNldENvbnRlbnQoaHRtbF85ZTNjNjc0Zjg3YmU0MjljYjlkMjlmZWViZGQ3YTIyNSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMTVkZTBjY2YyZmU3NDk2MzlmYzM4YjdjMDA2NTk4NjMuYmluZFBvcHVwKHBvcHVwX2FmYTMwZmRiZDQ2YzRiMThiOTlmY2FhYTE2ZDdkM2ZhKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9jOTgzZTAzNzBiNGY0M2QzOTAwNzk0NjM1NDIyMGMwNiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcxODUxNzk5OTk5OTk5NiwgLTc5LjQ2NDc2MzI5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzUzNjJjODVlNDVlNzRiNzViYzM0NzRjMjFmZmYyZTBlID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9jOGM5NGM1MWM2YmE0MjJlOTc5NGI3YWM1ODJmNjNmOCA9ICQoYDxkaXYgaWQ9Imh0bWxfYzhjOTRjNTFjNmJhNDIyZTk3OTRiN2FjNTgyZjYzZjgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkxhd3JlbmNlIEhlaWdodHMsIExhd3JlbmNlIE1hbm9yLCBOb3J0aCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzUzNjJjODVlNDVlNzRiNzViYzM0NzRjMjFmZmYyZTBlLnNldENvbnRlbnQoaHRtbF9jOGM5NGM1MWM2YmE0MjJlOTc5NGI3YWM1ODJmNjNmOCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfYzk4M2UwMzcwYjRmNDNkMzkwMDc5NDYzNTQyMjBjMDYuYmluZFBvcHVwKHBvcHVwXzUzNjJjODVlNDVlNzRiNzViYzM0NzRjMjFmZmYyZTBlKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81ZTM2YTExZDRhYzE0NDhlYWRiMDBiMGM0ODY3ZGU1MCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcwOTU3NywgLTc5LjQ0NTA3MjU5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzU4YmRkNjQxMGYzYzQ4NDc5ZjY0YjI5YTY4N2M5NTM2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9hNWZhMWUxYzkzNDk0MTI4YTAyMDNhYjE3ZmM2YmFmYSA9ICQoYDxkaXYgaWQ9Imh0bWxfYTVmYTFlMWM5MzQ5NDEyOGEwMjAzYWIxN2ZjNmJhZmEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkdsZW5jYWlybiwgTm9ydGggWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81OGJkZDY0MTBmM2M0ODQ3OWY2NGIyOWE2ODdjOTUzNi5zZXRDb250ZW50KGh0bWxfYTVmYTFlMWM5MzQ5NDEyOGEwMjAzYWIxN2ZjNmJhZmEpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzVlMzZhMTFkNGFjMTQ0OGVhZGIwMGIwYzQ4NjdkZTUwLmJpbmRQb3B1cChwb3B1cF81OGJkZDY0MTBmM2M0ODQ3OWY2NGIyOWE2ODdjOTUzNikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZjAxNGE3YmFhMGM1NDIyOWJlNjhmZDE1Y2MzOGZkYmEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42OTM3ODEzLCAtNzkuNDI4MTkxNDAwMDAwMDJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNGE4MDJhMDY3MmRjNGRjYTlhMDdiOWU5N2E2OWIyOTkgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzBmNDNiYjc1ODQ2MzQ2NTM5NDcyYzMwNzliZDQ3NDRiID0gJChgPGRpdiBpZD0iaHRtbF8wZjQzYmI3NTg0NjM0NjUzOTQ3MmMzMDc5YmQ0NzQ0YiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SHVtZXdvb2QtQ2VkYXJ2YWxlLCBZb3JrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzRhODAyYTA2NzJkYzRkY2E5YTA3YjllOTdhNjliMjk5LnNldENvbnRlbnQoaHRtbF8wZjQzYmI3NTg0NjM0NjUzOTQ3MmMzMDc5YmQ0NzQ0Yik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfZjAxNGE3YmFhMGM1NDIyOWJlNjhmZDE1Y2MzOGZkYmEuYmluZFBvcHVwKHBvcHVwXzRhODAyYTA2NzJkYzRkY2E5YTA3YjllOTdhNjliMjk5KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9iNGMyYzg0NTgwODg0YThhYTY4NTVhNzQxYWVmM2JjMCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY4OTAyNTYsIC03OS40NTM1MTJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYTE4ZWMxNjU0YmI2NDJiYWFmM2EwZGNmM2ExN2RiNTcgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzUxOGI5OTM5ODk1NzQxNGE4NmE4ZWMyY2ZjZTExMzY4ID0gJChgPGRpdiBpZD0iaHRtbF81MThiOTkzOTg5NTc0MTRhODZhOGVjMmNmY2UxMTM2OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2FsZWRvbmlhLUZhaXJiYW5rcywgWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9hMThlYzE2NTRiYjY0MmJhYWYzYTBkY2YzYTE3ZGI1Ny5zZXRDb250ZW50KGh0bWxfNTE4Yjk5Mzk4OTU3NDE0YTg2YThlYzJjZmNlMTEzNjgpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2I0YzJjODQ1ODA4ODRhOGFhNjg1NWE3NDFhZWYzYmMwLmJpbmRQb3B1cChwb3B1cF9hMThlYzE2NTRiYjY0MmJhYWYzYTBkY2YzYTE3ZGI1NykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMGZkOGUyOWE0MGQ2NGJlNmI1ZjAwMTJlYWY1OWVlMWUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42Njk1NDIsIC03OS40MjI1NjM3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzkzYTIxYTY2NTRmNTQ3NTVhODA3Y2IxM2Q3ZDMwZWVkID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF85YjRlMjEwZWM4OTU0MmI5ODczMjE0M2VmNTdhNTNjOCA9ICQoYDxkaXYgaWQ9Imh0bWxfOWI0ZTIxMGVjODk1NDJiOTg3MzIxNDNlZjU3YTUzYzgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNocmlzdGllLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzkzYTIxYTY2NTRmNTQ3NTVhODA3Y2IxM2Q3ZDMwZWVkLnNldENvbnRlbnQoaHRtbF85YjRlMjEwZWM4OTU0MmI5ODczMjE0M2VmNTdhNTNjOCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMGZkOGUyOWE0MGQ2NGJlNmI1ZjAwMTJlYWY1OWVlMWUuYmluZFBvcHVwKHBvcHVwXzkzYTIxYTY2NTRmNTQ3NTVhODA3Y2IxM2Q3ZDMwZWVkKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xMDZiNzkzYjc3ZDg0ZjBlOGI3ZDg0NWQxYmJmZGJjMCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2OTAwNTEwMDAwMDAxLCAtNzkuNDQyMjU5M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9mZjRkODQ3MDA4NDI0YjRmODMxNzE4OGNmNWU0ZTVhOCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNTNhOTQyZmJiYjlmNDExMjkzM2RjNzNiMGQ5Mjg5NTggPSAkKGA8ZGl2IGlkPSJodG1sXzUzYTk0MmZiYmI5ZjQxMTI5MzNkYzczYjBkOTI4OTU4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Eb3ZlcmNvdXJ0IFZpbGxhZ2UsIER1ZmZlcmluLCBXZXN0IFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZmY0ZDg0NzAwODQyNGI0ZjgzMTcxODhjZjVlNGU1YTguc2V0Q29udGVudChodG1sXzUzYTk0MmZiYmI5ZjQxMTI5MzNkYzczYjBkOTI4OTU4KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl8xMDZiNzkzYjc3ZDg0ZjBlOGI3ZDg0NWQxYmJmZGJjMC5iaW5kUG9wdXAocG9wdXBfZmY0ZDg0NzAwODQyNGI0ZjgzMTcxODhjZjVlNGU1YTgpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2M4N2UyMTM3NTAwNzQ1MjE4OWFmZmZkMWIyYjAzMWQ3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjQ3OTI2NzAwMDAwMDA2LCAtNzkuNDE5NzQ5N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9hNDhkNThhOWQ4OWU0NmQwYjdlM2ZhY2FkOTg0YzYzMyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfOWU3YjBhZGRkNjE4NGNiMjhjYmVjNmVlOTg0YTU2MDkgPSAkKGA8ZGl2IGlkPSJodG1sXzllN2IwYWRkZDYxODRjYjI4Y2JlYzZlZTk4NGE1NjA5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5MaXR0bGUgUG9ydHVnYWwsIFRyaW5pdHksIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9hNDhkNThhOWQ4OWU0NmQwYjdlM2ZhY2FkOTg0YzYzMy5zZXRDb250ZW50KGh0bWxfOWU3YjBhZGRkNjE4NGNiMjhjYmVjNmVlOTg0YTU2MDkpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2M4N2UyMTM3NTAwNzQ1MjE4OWFmZmZkMWIyYjAzMWQ3LmJpbmRQb3B1cChwb3B1cF9hNDhkNThhOWQ4OWU0NmQwYjdlM2ZhY2FkOTg0YzYzMykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDUxNjk0MTRkYjE5NDBkNWI1Y2MzMmU0OTMzNzk0YTggPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42MzY4NDcyLCAtNzkuNDI4MTkxNDAwMDAwMDJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZWRkMTg1MzRjYjc4NGQ2ZGEzYzI5MmQwN2Q3YmQ3MjEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzk4ZDQ1MjhiYjQxYjQ1ODk4MDFiMDBkMmU3ZGMyZWFmID0gJChgPGRpdiBpZD0iaHRtbF85OGQ0NTI4YmI0MWI0NTg5ODAxYjAwZDJlN2RjMmVhZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QnJvY2t0b24sIEV4aGliaXRpb24gUGxhY2UsIFBhcmtkYWxlIFZpbGxhZ2UsIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9lZGQxODUzNGNiNzg0ZDZkYTNjMjkyZDA3ZDdiZDcyMS5zZXRDb250ZW50KGh0bWxfOThkNDUyOGJiNDFiNDU4OTgwMWIwMGQyZTdkYzJlYWYpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2Q1MTY5NDE0ZGIxOTQwZDViNWNjMzJlNDkzMzc5NGE4LmJpbmRQb3B1cChwb3B1cF9lZGQxODUzNGNiNzg0ZDZkYTNjMjkyZDA3ZDdiZDcyMSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjdmYzNkMzUyZWI3NDU1OWFhY2VjNTFjZGYwNWMwMWYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MTM3NTYyMDAwMDAwMDYsIC03OS40OTAwNzM4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2IwNmI4MmZkYjEwODQ1YzY5Njg3ODY4MmNhNjNlZWVjID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9iMjVhOTQ1Y2E5Y2Y0NzY0OTdlZTQ2ZTc3MDA2OWM4NCA9ICQoYDxkaXYgaWQ9Imh0bWxfYjI1YTk0NWNhOWNmNDc2NDk3ZWU0NmU3NzAwNjljODQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRvd25zdmlldywgTm9ydGggUGFyaywgVXB3b29kIFBhcmssIE5vcnRoIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfYjA2YjgyZmRiMTA4NDVjNjk2ODc4NjgyY2E2M2VlZWMuc2V0Q29udGVudChodG1sX2IyNWE5NDVjYTljZjQ3NjQ5N2VlNDZlNzcwMDY5Yzg0KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl82N2ZjM2QzNTJlYjc0NTU5YWFjZWM1MWNkZjA1YzAxZi5iaW5kUG9wdXAocG9wdXBfYjA2YjgyZmRiMTA4NDVjNjk2ODc4NjgyY2E2M2VlZWMpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzg5NTkzNTQ2ZWNkYjQwNGE4ZjUwNTZlNzM4NzE3NmMwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjkxMTE1OCwgLTc5LjQ3NjAxMzI5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzkxOWFjYzhjZjc3MDQ0YmQ5OTgwM2YyMmMwZGRkY2NjID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9hMWM5MmU1YTViNGY0ZTZkOWM0YmE1ZjAxYzVjYzEwMSA9ICQoYDxkaXYgaWQ9Imh0bWxfYTFjOTJlNWE1YjRmNGU2ZDljNGJhNWYwMWM1Y2MxMDEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRlbCBSYXksIEtlZWxlc2RhbGUsIE1vdW50IERlbm5pcywgU2lsdmVydGhvcm4sIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfOTE5YWNjOGNmNzcwNDRiZDk5ODAzZjIyYzBkZGRjY2Muc2V0Q29udGVudChodG1sX2ExYzkyZTVhNWI0ZjRlNmQ5YzRiYTVmMDFjNWNjMTAxKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl84OTU5MzU0NmVjZGI0MDRhOGY1MDU2ZTczODcxNzZjMC5iaW5kUG9wdXAocG9wdXBfOTE5YWNjOGNmNzcwNDRiZDk5ODAzZjIyYzBkZGRjY2MpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2FkYzQyYWViZGI4NzQ3YzU4MDhjZmE1YTg3MTc0YTIzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjczMTg1Mjk5OTk5OTksIC03OS40ODcyNjE5MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8yNmQ3YWVmOTlmNTM0YjlmODkwODFlZDkyMjQyYWFhNCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMmM0YjBlNTcwN2Y4NDk5OGI2MjdmZmU2NzQ2NDgwOTQgPSAkKGA8ZGl2IGlkPSJodG1sXzJjNGIwZTU3MDdmODQ5OThiNjI3ZmZlNjc0NjQ4MDk0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5UaGUgSnVuY3Rpb24gTm9ydGgsIFJ1bm55bWVkZSwgWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8yNmQ3YWVmOTlmNTM0YjlmODkwODFlZDkyMjQyYWFhNC5zZXRDb250ZW50KGh0bWxfMmM0YjBlNTcwN2Y4NDk5OGI2MjdmZmU2NzQ2NDgwOTQpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2FkYzQyYWViZGI4NzQ3YzU4MDhjZmE1YTg3MTc0YTIzLmJpbmRQb3B1cChwb3B1cF8yNmQ3YWVmOTlmNTM0YjlmODkwODFlZDkyMjQyYWFhNCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfN2EwNGE2NGE5NThmNGU3ODhjNmM5NmVlNWI0ZWFhOTAgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NjE2MDgzLCAtNzkuNDY0NzYzMjk5OTk5OTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNWRmNjE5YjA4MWQ1NGFlZmI3YWIzZDBmY2VlMzNmMjYgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2RmMDVmMmRkMGI3ODRkMGJiMWM3YTdkYzE3OTBjNDQ4ID0gJChgPGRpdiBpZD0iaHRtbF9kZjA1ZjJkZDBiNzg0ZDBiYjFjN2E3ZGMxNzkwYzQ0OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SGlnaCBQYXJrLCBUaGUgSnVuY3Rpb24gU291dGgsIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81ZGY2MTliMDgxZDU0YWVmYjdhYjNkMGZjZWUzM2YyNi5zZXRDb250ZW50KGh0bWxfZGYwNWYyZGQwYjc4NGQwYmIxYzdhN2RjMTc5MGM0NDgpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzdhMDRhNjRhOTU4ZjRlNzg4YzZjOTZlZTViNGVhYTkwLmJpbmRQb3B1cChwb3B1cF81ZGY2MTliMDgxZDU0YWVmYjdhYjNkMGZjZWUzM2YyNikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODQzOTg3N2NjZGQ5NDRhOGI0NzRkYzk0ZmZmNmMyMmYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NDg5NTk3LCAtNzkuNDU2MzI1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2ZiNmQ5Mjk5MmU3NTQwOTM5YTk4ZmMxZTRlNmRjYmRmID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF85ZWVmYTk2YWUwMDk0OGZkYmE1MWE0MThhYzE1NTlhNCA9ICQoYDxkaXYgaWQ9Imh0bWxfOWVlZmE5NmFlMDA5NDhmZGJhNTFhNDE4YWMxNTU5YTQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlBhcmtkYWxlLCBSb25jZXN2YWxsZXMsIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9mYjZkOTI5OTJlNzU0MDkzOWE5OGZjMWU0ZTZkY2JkZi5zZXRDb250ZW50KGh0bWxfOWVlZmE5NmFlMDA5NDhmZGJhNTFhNDE4YWMxNTU5YTQpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzg0Mzk4NzdjY2RkOTQ0YThiNDc0ZGM5NGZmZjZjMjJmLmJpbmRQb3B1cChwb3B1cF9mYjZkOTI5OTJlNzU0MDkzOWE5OGZjMWU0ZTZkY2JkZikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNmE0YmE0ZjhhZWU3NDVkNmJiOWM2Y2EwZTQwMTc5OTUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTE1NzA2LCAtNzkuNDg0NDQ5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF85ODU3OTAyOGEzZDM0NzVkODlhY2EwNGEwMjk3YTdjZCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMGIxMTQ5ZDlkYTgzNGE5N2I5NTdkM2RjNTJjNmZhNzQgPSAkKGA8ZGl2IGlkPSJodG1sXzBiMTE0OWQ5ZGE4MzRhOTdiOTU3ZDNkYzUyYzZmYTc0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5SdW5ueW1lZGUsIFN3YW5zZWEsIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF85ODU3OTAyOGEzZDM0NzVkODlhY2EwNGEwMjk3YTdjZC5zZXRDb250ZW50KGh0bWxfMGIxMTQ5ZDlkYTgzNGE5N2I5NTdkM2RjNTJjNmZhNzQpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzZhNGJhNGY4YWVlNzQ1ZDZiYjljNmNhMGU0MDE3OTk1LmJpbmRQb3B1cChwb3B1cF85ODU3OTAyOGEzZDM0NzVkODlhY2EwNGEwMjk3YTdjZCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZTBjNTc3NzVlNDNkNGZiMDgyYzIxY2I5YzI1YmY4ZTEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NjIzMDE1LCAtNzkuMzg5NDkzOF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9jZGNmNWY0YzFkNzg0OWI5OTYxNzU3NTc1NzEwNWM2NCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNjY1NmY4MzEwN2VlNDdiOWFkMmZjYTU4Zjg1ZDViZWEgPSAkKGA8ZGl2IGlkPSJodG1sXzY2NTZmODMxMDdlZTQ3YjlhZDJmY2E1OGY4NWQ1YmVhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5RdWVlbiYjMzk7cyBQYXJrLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2NkY2Y1ZjRjMWQ3ODQ5Yjk5NjE3NTc1NzU3MTA1YzY0LnNldENvbnRlbnQoaHRtbF82NjU2ZjgzMTA3ZWU0N2I5YWQyZmNhNThmODVkNWJlYSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfZTBjNTc3NzVlNDNkNGZiMDgyYzIxY2I5YzI1YmY4ZTEuYmluZFBvcHVwKHBvcHVwX2NkY2Y1ZjRjMWQ3ODQ5Yjk5NjE3NTc1NzU3MTA1YzY0KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8xYzA4OTM2ZmM4ZDA0ZWQ1OWUxYmFmZWRkZGQxNDM0NiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjYzNjk2NTYsIC03OS42MTU4MTg5OTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF80MWZlNTkzMzRiNzQ0ODk0ODQ1NGZkNTIxYzI4MDg1MSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMThkODk1NmEzMWYwNDdlOGE1MTA4NGE2YmI5ZGY1ZDQgPSAkKGA8ZGl2IGlkPSJodG1sXzE4ZDg5NTZhMzFmMDQ3ZThhNTEwODRhNmJiOWRmNWQ0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DYW5hZGEgUG9zdCBHYXRld2F5IFByb2Nlc3NpbmcgQ2VudHJlLCBNaXNzaXNzYXVnYTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF80MWZlNTkzMzRiNzQ0ODk0ODQ1NGZkNTIxYzI4MDg1MS5zZXRDb250ZW50KGh0bWxfMThkODk1NmEzMWYwNDdlOGE1MTA4NGE2YmI5ZGY1ZDQpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzFjMDg5MzZmYzhkMDRlZDU5ZTFiYWZlZGRkZDE0MzQ2LmJpbmRQb3B1cChwb3B1cF80MWZlNTkzMzRiNzQ0ODk0ODQ1NGZkNTIxYzI4MDg1MSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMGIwM2Y2YWE3ZWRkNDBjZjk1ZWRkNDI3NDRmY2JmM2UgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NjI3NDM5LCAtNzkuMzIxNTU4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2QwNTFkNzE5ZmRkOTQ0YmQ5YTVhZWEzMGQ0NmRjYjI4ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8xYmNhOGIxODk0ZWE0NDFhODIxY2YxODVmMGU1OTA1NiA9ICQoYDxkaXYgaWQ9Imh0bWxfMWJjYThiMTg5NGVhNDQxYTgyMWNmMTg1ZjBlNTkwNTYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJ1c2luZXNzIFJlcGx5IE1haWwgUHJvY2Vzc2luZyBDZW50cmUgOTY5IEVhc3Rlcm4sIEVhc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kMDUxZDcxOWZkZDk0NGJkOWE1YWVhMzBkNDZkY2IyOC5zZXRDb250ZW50KGh0bWxfMWJjYThiMTg5NGVhNDQxYTgyMWNmMTg1ZjBlNTkwNTYpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzBiMDNmNmFhN2VkZDQwY2Y5NWVkZDQyNzQ0ZmNiZjNlLmJpbmRQb3B1cChwb3B1cF9kMDUxZDcxOWZkZDk0NGJkOWE1YWVhMzBkNDZkY2IyOCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMmFlMWY2NDZkZTJiNDU3MmI4OTkxOGM5ZDNhZjA3OGUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42MDU2NDY2LCAtNzkuNTAxMzIwNzAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMmNmZmY3NjlhMzJhNDE3MzhlOGY1YjkxNzhkMGUyODIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2VmM2YwODNjYjEwYjQ3OTY5NmU2MDM1YzU5NzBjNmQzID0gJChgPGRpdiBpZD0iaHRtbF9lZjNmMDgzY2IxMGI0Nzk2OTZlNjAzNWM1OTcwYzZkMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SHVtYmVyIEJheSBTaG9yZXMsIE1pbWljbyBTb3V0aCwgTmV3IFRvcm9udG8sIEV0b2JpY29rZTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8yY2ZmZjc2OWEzMmE0MTczOGU4ZjViOTE3OGQwZTI4Mi5zZXRDb250ZW50KGh0bWxfZWYzZjA4M2NiMTBiNDc5Njk2ZTYwMzVjNTk3MGM2ZDMpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzJhZTFmNjQ2ZGUyYjQ1NzJiODk5MThjOWQzYWYwNzhlLmJpbmRQb3B1cChwb3B1cF8yY2ZmZjc2OWEzMmE0MTczOGU4ZjViOTE3OGQwZTI4MikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzA3Y2NiODcyZDNjNDU2YWI0YWJkOWRhODUyNTYyODcgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42MDI0MTM3MDAwMDAwMSwgLTc5LjU0MzQ4NDA5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzEzNTY4MjY0NWZmNTQxMTJiNTQzMDIyOWU2YTc1YjE2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9mZmNjYTAzNDE1MDA0NDVhYjE0MTBhNTI3NTM3NDNkYSA9ICQoYDxkaXYgaWQ9Imh0bWxfZmZjY2EwMzQxNTAwNDQ1YWIxNDEwYTUyNzUzNzQzZGEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFsZGVyd29vZCwgTG9uZyBCcmFuY2gsIEV0b2JpY29rZTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8xMzU2ODI2NDVmZjU0MTEyYjU0MzAyMjllNmE3NWIxNi5zZXRDb250ZW50KGh0bWxfZmZjY2EwMzQxNTAwNDQ1YWIxNDEwYTUyNzUzNzQzZGEpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzcwN2NjYjg3MmQzYzQ1NmFiNGFiZDlkYTg1MjU2Mjg3LmJpbmRQb3B1cChwb3B1cF8xMzU2ODI2NDVmZjU0MTEyYjU0MzAyMjllNmE3NWIxNikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMDM5YzRlNTdlMzgyNGQ4NWFhNTgwMWExMDMyYjQ0ZDIgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTM2NTM2MDAwMDAwMDUsIC03OS41MDY5NDM2XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzY0OGI1NTQwYTE4NDQ5NmM4OGQyZGRhNmJhYmNlNTgwID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF81NDE2OGYzZDRmM2Y0MGMzOTJmMjEzNGVhZDUxYTk5MyA9ICQoYDxkaXYgaWQ9Imh0bWxfNTQxNjhmM2Q0ZjNmNDBjMzkyZjIxMzRlYWQ1MWE5OTMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlRoZSBLaW5nc3dheSwgTW9udGdvbWVyeSBSb2FkLCBPbGQgTWlsbCBOb3J0aCwgRXRvYmljb2tlPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzY0OGI1NTQwYTE4NDQ5NmM4OGQyZGRhNmJhYmNlNTgwLnNldENvbnRlbnQoaHRtbF81NDE2OGYzZDRmM2Y0MGMzOTJmMjEzNGVhZDUxYTk5Myk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMDM5YzRlNTdlMzgyNGQ4NWFhNTgwMWExMDMyYjQ0ZDIuYmluZFBvcHVwKHBvcHVwXzY0OGI1NTQwYTE4NDQ5NmM4OGQyZGRhNmJhYmNlNTgwKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9mMGMwZDczYTQ4YmE0ZjhlYWZjYTc4N2QwZmRmYzc2NSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjYzNjI1NzksIC03OS40OTg1MDkwOTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81YWE0ODUyZjdhM2U0MzA1OTkzNzE2ODM4ZWVmZjBhNyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZWJkMmI3ODU4YTI0NDkxN2JiMjE4OWY3NmQxMjQ3NzggPSAkKGA8ZGl2IGlkPSJodG1sX2ViZDJiNzg1OGEyNDQ5MTdiYjIxODlmNzZkMTI0Nzc4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IdW1iZXIgQmF5LCBLaW5nJiMzOTtzIE1pbGwgUGFyaywgS2luZ3N3YXkgUGFyayBTb3V0aCBFYXN0LCBNaW1pY28gTkUsIE9sZCBNaWxsIFNvdXRoLCBUaGUgUXVlZW5zd2F5IEVhc3QsIFJveWFsIFlvcmsgU291dGggRWFzdCwgU3VubnlsZWEsIEV0b2JpY29rZTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81YWE0ODUyZjdhM2U0MzA1OTkzNzE2ODM4ZWVmZjBhNy5zZXRDb250ZW50KGh0bWxfZWJkMmI3ODU4YTI0NDkxN2JiMjE4OWY3NmQxMjQ3NzgpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2YwYzBkNzNhNDhiYTRmOGVhZmNhNzg3ZDBmZGZjNzY1LmJpbmRQb3B1cChwb3B1cF81YWE0ODUyZjdhM2U0MzA1OTkzNzE2ODM4ZWVmZjBhNykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDFkMjI4NzM2YmE4NDc4YmJjNjFkN2Q5Y2I4OTg2YzAgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42Mjg4NDA4LCAtNzkuNTIwOTk5NDAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMWM1OTk1YmIwOWUwNDIwZWE4NjU3NjY5Nzg1OTRiY2UgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzEwNmIyMTNhYTI5ZTQyYjZiZWVmODVlOGI0ZDJkYjc1ID0gJChgPGRpdiBpZD0iaHRtbF8xMDZiMjEzYWEyOWU0MmI2YmVlZjg1ZThiNGQyZGI3NSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+S2luZ3N3YXkgUGFyayBTb3V0aCBXZXN0LCBNaW1pY28gTlcsIFRoZSBRdWVlbnN3YXkgV2VzdCwgUm95YWwgWW9yayBTb3V0aCBXZXN0LCBTb3V0aCBvZiBCbG9vciwgRXRvYmljb2tlPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzFjNTk5NWJiMDllMDQyMGVhODY1NzY2OTc4NTk0YmNlLnNldENvbnRlbnQoaHRtbF8xMDZiMjEzYWEyOWU0MmI2YmVlZjg1ZThiNGQyZGI3NSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfZDFkMjI4NzM2YmE4NDc4YmJjNjFkN2Q5Y2I4OTg2YzAuYmluZFBvcHVwKHBvcHVwXzFjNTk5NWJiMDllMDQyMGVhODY1NzY2OTc4NTk0YmNlKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9kYTgzNjhmYzk2NzY0MTE3ODUzODcyNzNlODdhODJjMyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2Nzg1NTYsIC03OS41MzIyNDI0MDAwMDAwMl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9iMjA5ZTc0ZjAyMDE0Mjg5YjU1NTQ2MjNlZDVjYjRlZiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYjRjY2I1NDE5NmZhNDI3ZWE0M2M1YTFmMzU1YjZkNzggPSAkKGA8ZGl2IGlkPSJodG1sX2I0Y2NiNTQxOTZmYTQyN2VhNDNjNWExZjM1NWI2ZDc4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5RdWVlbiYjMzk7cyBQYXJrLCBRdWVlbiYjMzk7cyBQYXJrPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2IyMDllNzRmMDIwMTQyODliNTU1NDYyM2VkNWNiNGVmLnNldENvbnRlbnQoaHRtbF9iNGNjYjU0MTk2ZmE0MjdlYTQzYzVhMWYzNTViNmQ3OCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfZGE4MzY4ZmM5Njc2NDExNzg1Mzg3MjczZTg3YTgyYzMuYmluZFBvcHVwKHBvcHVwX2IyMDllNzRmMDIwMTQyODliNTU1NDYyM2VkNWNiNGVmKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84NjRhNzc1N2MyYTA0MTQzYjg2OWEwZTNkMGY4YjQ0MiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY1MDk0MzIsIC03OS41NTQ3MjQ0MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF84YTczZDcwZTYwNDA0N2MzOTUyMWIzNjg3NGMyYjNmOSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNjRmZGEzZDJmZWEwNDFmMmFjMGU4ODAyNmY3YTcxMWEgPSAkKGA8ZGl2IGlkPSJodG1sXzY0ZmRhM2QyZmVhMDQxZjJhYzBlODgwMjZmN2E3MTFhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DbG92ZXJkYWxlLCBJc2xpbmd0b24sIE1hcnRpbiBHcm92ZSwgUHJpbmNlc3MgR2FyZGVucywgV2VzdCBEZWFuZSBQYXJrLCBFdG9iaWNva2U8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfOGE3M2Q3MGU2MDQwNDdjMzk1MjFiMzY4NzRjMmIzZjkuc2V0Q29udGVudChodG1sXzY0ZmRhM2QyZmVhMDQxZjJhYzBlODgwMjZmN2E3MTFhKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl84NjRhNzc1N2MyYTA0MTQzYjg2OWEwZTNkMGY4YjQ0Mi5iaW5kUG9wdXAocG9wdXBfOGE3M2Q3MGU2MDQwNDdjMzk1MjFiMzY4NzRjMmIzZjkpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzQ2ZjhhNzY5MmFjNTQzZmY5Zjg4ZDliZDRkM2E3ODg5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjQzNTE1MiwgLTc5LjU3NzIwMDc5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzVmMWUxNWVhYzk0NTRlMWY5NTY5YTAyMDU2ODA4ZjBlID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8yM2MzNTdlZjJiZTU0YjZhOGY5YmI4NmJhMGMxYzdmOSA9ICQoYDxkaXYgaWQ9Imh0bWxfMjNjMzU3ZWYyYmU1NGI2YThmOWJiODZiYTBjMWM3ZjkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkJsb29yZGFsZSBHYXJkZW5zLCBFcmluZ2F0ZSwgTWFya2xhbmQgV29vZCwgT2xkIEJ1cm5oYW10aG9ycGUsIEV0b2JpY29rZTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81ZjFlMTVlYWM5NDU0ZTFmOTU2OWEwMjA1NjgwOGYwZS5zZXRDb250ZW50KGh0bWxfMjNjMzU3ZWYyYmU1NGI2YThmOWJiODZiYTBjMWM3ZjkpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzQ2ZjhhNzY5MmFjNTQzZmY5Zjg4ZDliZDRkM2E3ODg5LmJpbmRQb3B1cChwb3B1cF81ZjFlMTVlYWM5NDU0ZTFmOTU2OWEwMjA1NjgwOGYwZSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNjdhNzk5MGJhNzgyNGIwY2E1YmJkY2ZmOWE3YzViMzYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43NTYzMDMzLCAtNzkuNTY1OTYzMjk5OTk5OTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYTQ4MmYyYWQwNDdmNDI2Y2EwMDU5NzgyODYxMzgzNGIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2Q2OGFlODhkMTY5MDQ2N2E4NjRlMTJhOGQ1OWMwYzAxID0gJChgPGRpdiBpZD0iaHRtbF9kNjhhZTg4ZDE2OTA0NjdhODY0ZTEyYThkNTljMGMwMSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SHVtYmVyIFN1bW1pdCwgTm9ydGggWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9hNDgyZjJhZDA0N2Y0MjZjYTAwNTk3ODI4NjEzODM0Yi5zZXRDb250ZW50KGh0bWxfZDY4YWU4OGQxNjkwNDY3YTg2NGUxMmE4ZDU5YzBjMDEpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzY3YTc5OTBiYTc4MjRiMGNhNWJiZGNmZjlhN2M1YjM2LmJpbmRQb3B1cChwb3B1cF9hNDgyZjJhZDA0N2Y0MjZjYTAwNTk3ODI4NjEzODM0YikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfN2M2OTdmYjhjY2MwNGY0MzllNzdjYzI0NjM0ZmYyNDUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MjQ3NjU5LCAtNzkuNTMyMjQyNDAwMDAwMDJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNjdmZDIwYjU4ODdhNDQwMzkzM2FlZTRmMzU2NTVlODQgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2E4M2Q2YzJlNzg1NzQxNDJhY2Y0YWQ1N2IzYWFiNjA4ID0gJChgPGRpdiBpZD0iaHRtbF9hODNkNmMyZTc4NTc0MTQyYWNmNGFkNTdiM2FhYjYwOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RW1lcnksIEh1bWJlcmxlYSwgTm9ydGggWW9yazwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF82N2ZkMjBiNTg4N2E0NDAzOTMzYWVlNGYzNTY1NWU4NC5zZXRDb250ZW50KGh0bWxfYTgzZDZjMmU3ODU3NDE0MmFjZjRhZDU3YjNhYWI2MDgpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzdjNjk3ZmI4Y2NjMDRmNDM5ZTc3Y2MyNDYzNGZmMjQ1LmJpbmRQb3B1cChwb3B1cF82N2ZkMjBiNTg4N2E0NDAzOTMzYWVlNGYzNTY1NWU4NCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOTAxMjFmZDUzNjcyNGIxMThlMzcwZGE0ZGE1YWUxZDEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MDY4NzYsIC03OS41MTgxODg0MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF85MWU3OTVkOTY5ODM0M2YxYmM4YTZmMWYxYmEwY2Y3ZSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMmEwMjU5OThkYzU3NGE0YmI3ZTVhMDY1YTljZTUxOTIgPSAkKGA8ZGl2IGlkPSJodG1sXzJhMDI1OTk4ZGM1NzRhNGJiN2U1YTA2NWE5Y2U1MTkyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5XZXN0b24sIFlvcms8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfOTFlNzk1ZDk2OTgzNDNmMWJjOGE2ZjFmMWJhMGNmN2Uuc2V0Q29udGVudChodG1sXzJhMDI1OTk4ZGM1NzRhNGJiN2U1YTA2NWE5Y2U1MTkyKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl85MDEyMWZkNTM2NzI0YjExOGUzNzBkYTRkYTVhZTFkMS5iaW5kUG9wdXAocG9wdXBfOTFlNzk1ZDk2OTgzNDNmMWJjOGE2ZjFmMWJhMGNmN2UpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzRjYmRlYzliNjc0MDRmNjY5YjAyMGM3ZTc4ZjM5YWNlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjk2MzE5LCAtNzkuNTMyMjQyNDAwMDAwMDJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF9iYTUwNDJlMWJiOTI0ODQ4ODkwZTYwODdlZDhlNzQ1OSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZDg5ZjIwZGE5ZmY2NDYxZWIxMTQwNGI5YWNmNjQwOTUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzQzZTdmZmNlYmEwNzRiYjlhMWQ3OWZiZjRiN2RmM2I2ID0gJChgPGRpdiBpZD0iaHRtbF80M2U3ZmZjZWJhMDc0YmI5YTFkNzlmYmY0YjdkZjNiNiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V2VzdG1vdW50LCBFdG9iaWNva2U8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZDg5ZjIwZGE5ZmY2NDYxZWIxMTQwNGI5YWNmNjQwOTUuc2V0Q29udGVudChodG1sXzQzZTdmZmNlYmEwNzRiYjlhMWQ3OWZiZjRiN2RmM2I2KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl80Y2JkZWM5YjY3NDA0ZjY2OWIwMjBjN2U3OGYzOWFjZS5iaW5kUG9wdXAocG9wdXBfZDg5ZjIwZGE5ZmY2NDYxZWIxMTQwNGI5YWNmNjQwOTUpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzk1NGJiOGI3OTA1ZTQ5YzJhYjY2NDBlNmFiZGJlMzQ3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjg4OTA1NCwgLTc5LjU1NDcyNDQwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYmE1MDQyZTFiYjkyNDg0ODg5MGU2MDg3ZWQ4ZTc0NTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzRjNTE2NDExMzAxNDQyMGRhMjZjOTgwNTQzYWY5YzExID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8zYzliNGE1ZWE2NDE0Y2JiODY0MjJlNWNkOTMxNTNlZSA9ICQoYDxkaXYgaWQ9Imh0bWxfM2M5YjRhNWVhNjQxNGNiYjg2NDIyZTVjZDkzMTUzZWUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPktpbmdzdmlldyBWaWxsYWdlLCBNYXJ0aW4gR3JvdmUgR2FyZGVucywgUmljaHZpZXcgR2FyZGVucywgU3QuIFBoaWxsaXBzLCBFdG9iaWNva2U8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNGM1MTY0MTEzMDE0NDIwZGEyNmM5ODA1NDNhZjljMTEuc2V0Q29udGVudChodG1sXzNjOWI0YTVlYTY0MTRjYmI4NjQyMmU1Y2Q5MzE1M2VlKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl85NTRiYjhiNzkwNWU0OWMyYWI2NjQwZTZhYmRiZTM0Ny5iaW5kUG9wdXAocG9wdXBfNGM1MTY0MTEzMDE0NDIwZGEyNmM5ODA1NDNhZjljMTEpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2FhYzkyMjQzNGZiNDQ4YTg5ZjFjNWUyYmQ5OGQ4OTRhID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzM5NDE2Mzk5OTk5OTk2LCAtNzkuNTg4NDM2OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF82ZDFhYmZjNDMzZWE0NjQ2OGM2NDA1MzFjOWI2YTk3OSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfODQ2MzljNjExZmExNDdiYmJmNDBjZDM1ZGUyZDdmZjEgPSAkKGA8ZGl2IGlkPSJodG1sXzg0NjM5YzYxMWZhMTQ3YmJiZjQwY2QzNWRlMmQ3ZmYxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5BbGJpb24gR2FyZGVucywgQmVhdW1vbmQgSGVpZ2h0cywgSHVtYmVyZ2F0ZSwgSmFtZXN0b3duLCBNb3VudCBPbGl2ZSwgU2lsdmVyc3RvbmUsIFNvdXRoIFN0ZWVsZXMsIFRoaXN0bGV0b3duLCBFdG9iaWNva2U8L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNmQxYWJmYzQzM2VhNDY0NjhjNjQwNTMxYzliNmE5Nzkuc2V0Q29udGVudChodG1sXzg0NjM5YzYxMWZhMTQ3YmJiZjQwY2QzNWRlMmQ3ZmYxKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9hYWM5MjI0MzRmYjQ0OGE4OWYxYzVlMmJkOThkODk0YS5iaW5kUG9wdXAocG9wdXBfNmQxYWJmYzQzM2VhNDY0NjhjNjQwNTMxYzliNmE5NzkpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzQ1NTQ5OWJkNzNlMzQzYzg5N2Y5NjE3OTZmNmU0MDI0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzA2NzQ4Mjk5OTk5OTk0LCAtNzkuNTk0MDU0NF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2JhNTA0MmUxYmI5MjQ4NDg4OTBlNjA4N2VkOGU3NDU5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81YjllNTViZDQxZmM0NGE4YWEyYzEzZTA5MmNjZWE4ZCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfOTQ4MzM1MTVjN2E1NGE0YWFlMTBhY2I5MWY2ODhkNTkgPSAkKGA8ZGl2IGlkPSJodG1sXzk0ODMzNTE1YzdhNTRhNGFhZTEwYWNiOTFmNjg4ZDU5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Ob3J0aHdlc3QsIEV0b2JpY29rZTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81YjllNTViZDQxZmM0NGE4YWEyYzEzZTA5MmNjZWE4ZC5zZXRDb250ZW50KGh0bWxfOTQ4MzM1MTVjN2E1NGE0YWFlMTBhY2I5MWY2ODhkNTkpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzQ1NTQ5OWJkNzNlMzQzYzg5N2Y5NjE3OTZmNmU0MDI0LmJpbmRQb3B1cChwb3B1cF81YjllNTViZDQxZmM0NGE4YWEyYzEzZTA5MmNjZWE4ZCkKICAgICAgICA7CgogICAgICAgIAogICAgCjwvc2NyaXB0Pg==\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x7f2a2e7aa790>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create map of Toronto using latitude and longitude values\n",
"map_toronto = folium.Map(location=[latitude, longitude], zoom_start=10)\n",
"\n",
"# add markers to map\n",
"for lat, lng, borough, neighborhood in zip(toronto_df_new['Latitude'], toronto_df_new['Longitude'], toronto_df_new['Borough'], toronto_df_new['Neighborhood']):\n",
" label = '{}, {}'.format(neighborhood, borough)\n",
" label = folium.Popup(label, parse_html=True)\n",
" folium.CircleMarker(\n",
" [lat, lng],\n",
" radius=5,\n",
" popup=label,\n",
" color='blue',\n",
" fill=True,\n",
" fill_color='#3186cc',\n",
" fill_opacity=0.7).add_to(map_toronto) \n",
" \n",
"map_toronto "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 13. Filter only boroughs that contain the word Toronto "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['East Toronto', 'Central Toronto', 'Downtown Toronto', 'West Toronto']"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# filter borough names that contain the word Toronto\n",
"borough_names = list(toronto_df_new.Borough.unique())\n",
"\n",
"borough_with_toronto = []\n",
"\n",
"for x in borough_names:\n",
" if \"toronto\" in x.lower():\n",
" borough_with_toronto.append(x)\n",
" \n",
"borough_with_toronto"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(39, 5)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th>Latitude</th>\n",
" <th>Longitude</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>43.676357</td>\n",
" <td>-79.293031</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M4K</td>\n",
" <td>East Toronto</td>\n",
" <td>The Danforth West, Riverdale</td>\n",
" <td>43.679557</td>\n",
" <td>-79.352188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M4L</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches West, India Bazaar</td>\n",
" <td>43.668999</td>\n",
" <td>-79.315572</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M4M</td>\n",
" <td>East Toronto</td>\n",
" <td>Studio District</td>\n",
" <td>43.659526</td>\n",
" <td>-79.340923</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4N</td>\n",
" <td>Central Toronto</td>\n",
" <td>Lawrence Park</td>\n",
" <td>43.728020</td>\n",
" <td>-79.388790</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough Neighborhood Latitude \\\n",
"0 M4E East Toronto The Beaches 43.676357 \n",
"1 M4K East Toronto The Danforth West, Riverdale 43.679557 \n",
"2 M4L East Toronto The Beaches West, India Bazaar 43.668999 \n",
"3 M4M East Toronto Studio District 43.659526 \n",
"4 M4N Central Toronto Lawrence Park 43.728020 \n",
"\n",
" Longitude \n",
"0 -79.293031 \n",
"1 -79.352188 \n",
"2 -79.315572 \n",
"3 -79.340923 \n",
"4 -79.388790 "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create a new DataFrame with only boroughs that contain the word Toronto\n",
"toronto_df_new = toronto_df_new[toronto_df_new['Borough'].isin(borough_with_toronto)].reset_index(drop=True)\n",
"print(toronto_df_new.shape)\n",
"toronto_df_new.head()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0My42NTM5NjMsIC03OS4zODcyMDddLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTAsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl84NTNhOGYxMzRiZDM0Mjc4YmUwMGIxMjYzMzY4NjNiZSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2Y2OGZlZWNmZjdkNzQzYWY5YjRjZTEyZDIyY2Q4MTIxID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjc2MzU3Mzk5OTk5OTksIC03OS4yOTMwMzEyXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzFjMWUxNjdlMDI5ZTRhOGQ5ZDhhZTA1YzA5YjJhZTc3ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8zYzJiMTY3NjY0NGM0NWQxOTc4MWFlNTNkOWVhOGZlOSA9ICQoYDxkaXYgaWQ9Imh0bWxfM2MyYjE2NzY2NDRjNDVkMTk3ODFhZTUzZDllYThmZTkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlRoZSBCZWFjaGVzLCBFYXN0IFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMWMxZTE2N2UwMjllNGE4ZDlkOGFlMDVjMDliMmFlNzcuc2V0Q29udGVudChodG1sXzNjMmIxNjc2NjQ0YzQ1ZDE5NzgxYWU1M2Q5ZWE4ZmU5KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9mNjhmZWVjZmY3ZDc0M2FmOWI0Y2UxMmQyMmNkODEyMS5iaW5kUG9wdXAocG9wdXBfMWMxZTE2N2UwMjllNGE4ZDlkOGFlMDVjMDliMmFlNzcpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2UwYzY4Y2YzYTQ1MTRiMDU4YjkyMTZiMjRiZTE2Yjk0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjc5NTU3MSwgLTc5LjM1MjE4OF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF83NzE2ZmEzNGRmMWY0ZWYyOGNmZTI4MDJjMTI3YzBkNyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZDdhNjFjYTVhN2E4NDUxMjk4OTRjYWRkMmIwZDVlMzEgPSAkKGA8ZGl2IGlkPSJodG1sX2Q3YTYxY2E1YTdhODQ1MTI5ODk0Y2FkZDJiMGQ1ZTMxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5UaGUgRGFuZm9ydGggV2VzdCwgUml2ZXJkYWxlLCBFYXN0IFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNzcxNmZhMzRkZjFmNGVmMjhjZmUyODAyYzEyN2MwZDcuc2V0Q29udGVudChodG1sX2Q3YTYxY2E1YTdhODQ1MTI5ODk0Y2FkZDJiMGQ1ZTMxKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9lMGM2OGNmM2E0NTE0YjA1OGI5MjE2YjI0YmUxNmI5NC5iaW5kUG9wdXAocG9wdXBfNzcxNmZhMzRkZjFmNGVmMjhjZmUyODAyYzEyN2MwZDcpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzA3NmQ5NDY2ZmI2MzQxNjNiYjUzYTZmMDFiY2JlYzNmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjY4OTk4NSwgLTc5LjMxNTU3MTU5OTk5OTk4XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2U0NWZmNDJjOTBmZDRkNDNhNjg2MzNjMTBmNWJiMDYzID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF81NDc1MWQzNTlkNDY0MDhhYWEyZjQwZWZkOTAzNzU0MyA9ICQoYDxkaXYgaWQ9Imh0bWxfNTQ3NTFkMzU5ZDQ2NDA4YWFhMmY0MGVmZDkwMzc1NDMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlRoZSBCZWFjaGVzIFdlc3QsIEluZGlhIEJhemFhciwgRWFzdCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2U0NWZmNDJjOTBmZDRkNDNhNjg2MzNjMTBmNWJiMDYzLnNldENvbnRlbnQoaHRtbF81NDc1MWQzNTlkNDY0MDhhYWEyZjQwZWZkOTAzNzU0Myk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMDc2ZDk0NjZmYjYzNDE2M2JiNTNhNmYwMWJjYmVjM2YuYmluZFBvcHVwKHBvcHVwX2U0NWZmNDJjOTBmZDRkNDNhNjg2MzNjMTBmNWJiMDYzKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl81YTkyZTBhNjVhNDY0Mzg2YmI4ZThiNWFhYjY1ZWJmYiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY1OTUyNTUsIC03OS4zNDA5MjNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMjI0ODA0MDllODg5NDk0MWEyMDcwOTg0NWUxNzA3ZmQgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzJmNzZlMjdjMWQ3MDRiNDU5Y2YwYjU2NjZjMzc4MmUzID0gJChgPGRpdiBpZD0iaHRtbF8yZjc2ZTI3YzFkNzA0YjQ1OWNmMGI1NjY2YzM3ODJlMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3R1ZGlvIERpc3RyaWN0LCBFYXN0IFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMjI0ODA0MDllODg5NDk0MWEyMDcwOTg0NWUxNzA3ZmQuc2V0Q29udGVudChodG1sXzJmNzZlMjdjMWQ3MDRiNDU5Y2YwYjU2NjZjMzc4MmUzKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl81YTkyZTBhNjVhNDY0Mzg2YmI4ZThiNWFhYjY1ZWJmYi5iaW5kUG9wdXAocG9wdXBfMjI0ODA0MDllODg5NDk0MWEyMDcwOTg0NWUxNzA3ZmQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzVjOTRjZDI0ZjI0NDQzYjM4ZGI2YzRiYjRiOWYwZTlmID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzI4MDIwNSwgLTc5LjM4ODc5MDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfM2IxODI3MjUxODhlNDQ3ZTkxNmIxM2U4YWIzNzc5MWMgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzgwYjkxYWMxMGRjMzQ4YWFiNjBiNjQxZTg5OTRmOGJlID0gJChgPGRpdiBpZD0iaHRtbF84MGI5MWFjMTBkYzM0OGFhYjYwYjY0MWU4OTk0ZjhiZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+TGF3cmVuY2UgUGFyaywgQ2VudHJhbCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzNiMTgyNzI1MTg4ZTQ0N2U5MTZiMTNlOGFiMzc3OTFjLnNldENvbnRlbnQoaHRtbF84MGI5MWFjMTBkYzM0OGFhYjYwYjY0MWU4OTk0ZjhiZSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNWM5NGNkMjRmMjQ0NDNiMzhkYjZjNGJiNGI5ZjBlOWYuYmluZFBvcHVwKHBvcHVwXzNiMTgyNzI1MTg4ZTQ0N2U5MTZiMTNlOGFiMzc3OTFjKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84Y2IxNzE5ZTliNjg0MjJjOGE0MmE2MmUyNWEzM2Y5YyA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjcxMjc1MTEsIC03OS4zOTAxOTc1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzExZjA2YjQxMjZhZjQ1MGZiYjQwMzMwMTU0ZGFmMmM2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9lZmU1ODgxOTY4N2I0MDJjOWUwNjVjNDNlMjZkNDllNiA9ICQoYDxkaXYgaWQ9Imh0bWxfZWZlNTg4MTk2ODdiNDAyYzllMDY1YzQzZTI2ZDQ5ZTYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRhdmlzdmlsbGUgTm9ydGgsIENlbnRyYWwgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8xMWYwNmI0MTI2YWY0NTBmYmI0MDMzMDE1NGRhZjJjNi5zZXRDb250ZW50KGh0bWxfZWZlNTg4MTk2ODdiNDAyYzllMDY1YzQzZTI2ZDQ5ZTYpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzhjYjE3MTllOWI2ODQyMmM4YTQyYTYyZTI1YTMzZjljLmJpbmRQb3B1cChwb3B1cF8xMWYwNmI0MTI2YWY0NTBmYmI0MDMzMDE1NGRhZjJjNikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZTIxZWJlMGJhYWM1NGE4MDgwMDg3YjYzZmMzZDVmZmMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MTUzODM0LCAtNzkuNDA1Njc4NDAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMWVmZjJkZTI0MjdjNDRjMjkwZGMyMjVjZTAzYWExNmEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzQ2ZWM5NmNjN2FlODRmNGU5MjVjOTNiNjA4ZTA2ZTQwID0gJChgPGRpdiBpZD0iaHRtbF80NmVjOTZjYzdhZTg0ZjRlOTI1YzkzYjYwOGUwNmU0MCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Tm9ydGggVG9yb250byBXZXN0LCBDZW50cmFsIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMWVmZjJkZTI0MjdjNDRjMjkwZGMyMjVjZTAzYWExNmEuc2V0Q29udGVudChodG1sXzQ2ZWM5NmNjN2FlODRmNGU5MjVjOTNiNjA4ZTA2ZTQwKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9lMjFlYmUwYmFhYzU0YTgwODAwODdiNjNmYzNkNWZmYy5iaW5kUG9wdXAocG9wdXBfMWVmZjJkZTI0MjdjNDRjMjkwZGMyMjVjZTAzYWExNmEpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzAwN2I4Y2VjMGQyMjQxMDk4YmVjNjU5Yjg3OTVkZGY0ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNzA0MzI0NCwgLTc5LjM4ODc5MDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZTVjYWIxOWQwYjRmNGViNWIzYmJiYjU3YWU1YjFlNTEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzYyMzE1ZmQ1MDllNTQ4MTE5MjA1ODhkZWVkM2Q4M2MyID0gJChgPGRpdiBpZD0iaHRtbF82MjMxNWZkNTA5ZTU0ODExOTIwNTg4ZGVlZDNkODNjMiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RGF2aXN2aWxsZSwgQ2VudHJhbCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2U1Y2FiMTlkMGI0ZjRlYjViM2JiYmI1N2FlNWIxZTUxLnNldENvbnRlbnQoaHRtbF82MjMxNWZkNTA5ZTU0ODExOTIwNTg4ZGVlZDNkODNjMik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMDA3YjhjZWMwZDIyNDEwOThiZWM2NTliODc5NWRkZjQuYmluZFBvcHVwKHBvcHVwX2U1Y2FiMTlkMGI0ZjRlYjViM2JiYmI1N2FlNWIxZTUxKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84Mjc5N2Y2YWY3N2U0MDkyYmRjMTAxYmZmY2YyNGMxYiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY4OTU3NDMsIC03OS4zODMxNTk5MDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF85MDlhNzMyNTVkY2M0ZGUwODYyNmVhODY4NTc1NjZmYSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMTljODY1ODE5OGE3NDUwOGE3MjhiN2ZjM2MzYTQ5ZjYgPSAkKGA8ZGl2IGlkPSJodG1sXzE5Yzg2NTgxOThhNzQ1MDhhNzI4YjdmYzNjM2E0OWY2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Nb29yZSBQYXJrLCBTdW1tZXJoaWxsIEVhc3QsIENlbnRyYWwgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF85MDlhNzMyNTVkY2M0ZGUwODYyNmVhODY4NTc1NjZmYS5zZXRDb250ZW50KGh0bWxfMTljODY1ODE5OGE3NDUwOGE3MjhiN2ZjM2MzYTQ5ZjYpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzgyNzk3ZjZhZjc3ZTQwOTJiZGMxMDFiZmZjZjI0YzFiLmJpbmRQb3B1cChwb3B1cF85MDlhNzMyNTVkY2M0ZGUwODYyNmVhODY4NTc1NjZmYSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfN2YyZjVmMjhlMzhjNDM0MGEwMjA5NTcwYzA5MWJiY2MgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42ODY0MTIyOTk5OTk5OSwgLTc5LjQwMDA0OTNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNDAxMzZhNmEwZDQ2NDI0MWFlYmIwNTIzZmUyOWQxNzIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2E4ZGNhMmNhZGIzMzRlZmJhYTA1Yjg1MDNiMThiNGY5ID0gJChgPGRpdiBpZD0iaHRtbF9hOGRjYTJjYWRiMzM0ZWZiYWEwNWI4NTAzYjE4YjRmOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+RGVlciBQYXJrLCBGb3Jlc3QgSGlsbCBTRSwgUmF0aG5lbGx5LCBTb3V0aCBIaWxsLCBTdW1tZXJoaWxsIFdlc3QsIENlbnRyYWwgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF80MDEzNmE2YTBkNDY0MjQxYWViYjA1MjNmZTI5ZDE3Mi5zZXRDb250ZW50KGh0bWxfYThkY2EyY2FkYjMzNGVmYmFhMDViODUwM2IxOGI0ZjkpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzdmMmY1ZjI4ZTM4YzQzNDBhMDIwOTU3MGMwOTFiYmNjLmJpbmRQb3B1cChwb3B1cF80MDEzNmE2YTBkNDY0MjQxYWViYjA1MjNmZTI5ZDE3MikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZDExNTI5MGY1ZjMxNDQwMDg5YzAwYjI4NzJlNjBiODYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42Nzk1NjI2LCAtNzkuMzc3NTI5NDAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZjI2MWNjMGZkNjZhNDY2YmFhMDgxOWE1M2ZkNzA0YmUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzUxNDFiNDk1OTc0YzRiZGY5ODY1NGVmOTEyZTRlN2I3ID0gJChgPGRpdiBpZD0iaHRtbF81MTQxYjQ5NTk3NGM0YmRmOTg2NTRlZjkxMmU0ZTdiNyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Um9zZWRhbGUsIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZjI2MWNjMGZkNjZhNDY2YmFhMDgxOWE1M2ZkNzA0YmUuc2V0Q29udGVudChodG1sXzUxNDFiNDk1OTc0YzRiZGY5ODY1NGVmOTEyZTRlN2I3KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9kMTE1MjkwZjVmMzE0NDAwODljMDBiMjg3MmU2MGI4Ni5iaW5kUG9wdXAocG9wdXBfZjI2MWNjMGZkNjZhNDY2YmFhMDgxOWE1M2ZkNzA0YmUpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzZjZGZlZmZkOTU2ZjQ3NGVhMzQyN2MwZTRjMWQ2M2YzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjY3OTY3LCAtNzkuMzY3Njc1M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8zODMxOGE5NWQwOTE0M2Y0YTRjZGY3NmY4Y2NkNGE2NyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMDdjODY0ODZiYjYxNGJhYzliNTcyZTRkNmZmM2M3NDUgPSAkKGA8ZGl2IGlkPSJodG1sXzA3Yzg2NDg2YmI2MTRiYWM5YjU3MmU0ZDZmZjNjNzQ1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DYWJiYWdldG93biwgU3QuIEphbWVzIFRvd24sIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMzgzMThhOTVkMDkxNDNmNGE0Y2RmNzZmOGNjZDRhNjcuc2V0Q29udGVudChodG1sXzA3Yzg2NDg2YmI2MTRiYWM5YjU3MmU0ZDZmZjNjNzQ1KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl82Y2RmZWZmZDk1NmY0NzRlYTM0MjdjMGU0YzFkNjNmMy5iaW5kUG9wdXAocG9wdXBfMzgzMThhOTVkMDkxNDNmNGE0Y2RmNzZmOGNjZDRhNjcpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzhmYzA3ZGZjNTRhZDRmNGVhNDJjY2FmNzVmYjc5ZTc5ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjY1ODU5OSwgLTc5LjM4MzE1OTkwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzZlNDliNmYxMTY2YjQ3ZTg4YWRkYTFiN2MxNjBlOTkyID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8xNTc5NjZiNTg1NTI0ZDE1OGRhMWEyNWM2MGVkODNiZCA9ICQoYDxkaXYgaWQ9Imh0bWxfMTU3OTY2YjU4NTUyNGQxNThkYTFhMjVjNjBlZDgzYmQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNodXJjaCBhbmQgV2VsbGVzbGV5LCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzZlNDliNmYxMTY2YjQ3ZTg4YWRkYTFiN2MxNjBlOTkyLnNldENvbnRlbnQoaHRtbF8xNTc5NjZiNTg1NTI0ZDE1OGRhMWEyNWM2MGVkODNiZCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfOGZjMDdkZmM1NGFkNGY0ZWE0MmNjYWY3NWZiNzllNzkuYmluZFBvcHVwKHBvcHVwXzZlNDliNmYxMTY2YjQ3ZTg4YWRkYTFiN2MxNjBlOTkyKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl84ZWRjMjI4ODAxN2U0ZmExOTMzNzQ1NTEzNmU2YWVkZCA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY1NDI1OTksIC03OS4zNjA2MzU5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2QzYmQ1MDM3MTBhYTQ0NDlhY2I4MWNkNjgwNzc3ZjFlID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF82ZGE5OTA5NzgyNzM0ZjgxOTMzN2VjMzA5NTI3NTM2MyA9ICQoYDxkaXYgaWQ9Imh0bWxfNmRhOTkwOTc4MjczNGY4MTkzMzdlYzMwOTUyNzUzNjMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkhhcmJvdXJmcm9udCwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kM2JkNTAzNzEwYWE0NDQ5YWNiODFjZDY4MDc3N2YxZS5zZXRDb250ZW50KGh0bWxfNmRhOTkwOTc4MjczNGY4MTkzMzdlYzMwOTUyNzUzNjMpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzhlZGMyMjg4MDE3ZTRmYTE5MzM3NDU1MTM2ZTZhZWRkLmJpbmRQb3B1cChwb3B1cF9kM2JkNTAzNzEwYWE0NDQ5YWNiODFjZDY4MDc3N2YxZSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZjEyN2ZjZDU4ZDllNDhiOTgzZmRhOTc3MDkyMjNkNDQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTcxNjE4LCAtNzkuMzc4OTM3MDk5OTk5OTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfY2ZkZTdlYTJlMzNmNDU5ZmI4ODcxOGU1MjVkYWM5M2YgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzMxNjMxNjgxODRjNDQ4YjM5MjIyYTBmYTdlYmZjOGYzID0gJChgPGRpdiBpZD0iaHRtbF8zMTYzMTY4MTg0YzQ0OGIzOTIyMmEwZmE3ZWJmYzhmMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UnllcnNvbiwgR2FyZGVuIERpc3RyaWN0LCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2NmZGU3ZWEyZTMzZjQ1OWZiODg3MThlNTI1ZGFjOTNmLnNldENvbnRlbnQoaHRtbF8zMTYzMTY4MTg0YzQ0OGIzOTIyMmEwZmE3ZWJmYzhmMyk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfZjEyN2ZjZDU4ZDllNDhiOTgzZmRhOTc3MDkyMjNkNDQuYmluZFBvcHVwKHBvcHVwX2NmZGU3ZWEyZTMzZjQ1OWZiODg3MThlNTI1ZGFjOTNmKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl8yZDg1ZDY4MDcwYTg0NDdlOTQ0MTlmOGE1NmU1NTNjYiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY1MTQ5MzksIC03OS4zNzU0MTc5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzMxYjIyMDVhOGRjZTRmODU4NDBlOWI2ZDcxOGMwOWFhID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF81NzAwNTFkOTRlY2Y0ODQ0ODg2YTlmMDkxOGVhNzQ4NyA9ICQoYDxkaXYgaWQ9Imh0bWxfNTcwMDUxZDk0ZWNmNDg0NDg4NmE5ZjA5MThlYTc0ODciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlN0LiBKYW1lcyBUb3duLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzMxYjIyMDVhOGRjZTRmODU4NDBlOWI2ZDcxOGMwOWFhLnNldENvbnRlbnQoaHRtbF81NzAwNTFkOTRlY2Y0ODQ0ODg2YTlmMDkxOGVhNzQ4Nyk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMmQ4NWQ2ODA3MGE4NDQ3ZTk0NDE5ZjhhNTZlNTUzY2IuYmluZFBvcHVwKHBvcHVwXzMxYjIyMDVhOGRjZTRmODU4NDBlOWI2ZDcxOGMwOWFhKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl82ZDk4MzE4ZjhhYmE0NTg2OTAyN2MxN2U3OWIyNjI4MSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY0NDc3MDc5OTk5OTk5NiwgLTc5LjM3MzMwNjRdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNmY5MzU4ZWFjMDlhNDQwYWE4ZWMwYTA0NzY5OWY5OTcgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2I4OWE0ZjBjYjljODQ0YmVhZDAwY2MzMzE3OGQ5YThhID0gJChgPGRpdiBpZD0iaHRtbF9iODlhNGYwY2I5Yzg0NGJlYWQwMGNjMzMxNzhkOWE4YSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QmVyY3p5IFBhcmssIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNmY5MzU4ZWFjMDlhNDQwYWE4ZWMwYTA0NzY5OWY5OTcuc2V0Q29udGVudChodG1sX2I4OWE0ZjBjYjljODQ0YmVhZDAwY2MzMzE3OGQ5YThhKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl82ZDk4MzE4ZjhhYmE0NTg2OTAyN2MxN2U3OWIyNjI4MS5iaW5kUG9wdXAocG9wdXBfNmY5MzU4ZWFjMDlhNDQwYWE4ZWMwYTA0NzY5OWY5OTcpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzZkODMzNDJlZWEwZTQyMjQ5MzMwNjhmNjU5OTcwODgyID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjU3OTUyNCwgLTc5LjM4NzM4MjZdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNmI3MDZlNDBmODYxNGNmMjg4MTU4ODIxMDRkOWI0OTkgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzYzYjhjY2E0NjVhODQyOTY5MTVjNTY5M2QyZmRkOTQxID0gJChgPGRpdiBpZD0iaHRtbF82M2I4Y2NhNDY1YTg0Mjk2OTE1YzU2OTNkMmZkZDk0MSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2VudHJhbCBCYXkgU3RyZWV0LCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzZiNzA2ZTQwZjg2MTRjZjI4ODE1ODgyMTA0ZDliNDk5LnNldENvbnRlbnQoaHRtbF82M2I4Y2NhNDY1YTg0Mjk2OTE1YzU2OTNkMmZkZDk0MSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNmQ4MzM0MmVlYTBlNDIyNDkzMzA2OGY2NTk5NzA4ODIuYmluZFBvcHVwKHBvcHVwXzZiNzA2ZTQwZjg2MTRjZjI4ODE1ODgyMTA0ZDliNDk5KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9hZWFmMTNlYjA4MGQ0NGNhOWMyMmRmYzYzOTc3NjczYSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY1MDU3MTIwMDAwMDAxLCAtNzkuMzg0NTY3NV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF84ZDU2YWU3MTE2ZDk0MTEyOTYzMDhhNDVlNDI2MTZlNyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNTY5NTMwYmYzN2Y3NDM0YThiZGM1YjJlYjhmMTFkNWYgPSAkKGA8ZGl2IGlkPSJodG1sXzU2OTUzMGJmMzdmNzQzNGE4YmRjNWIyZWI4ZjExZDVmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5BZGVsYWlkZSwgS2luZywgUmljaG1vbmQsIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfOGQ1NmFlNzExNmQ5NDExMjk2MzA4YTQ1ZTQyNjE2ZTcuc2V0Q29udGVudChodG1sXzU2OTUzMGJmMzdmNzQzNGE4YmRjNWIyZWI4ZjExZDVmKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9hZWFmMTNlYjA4MGQ0NGNhOWMyMmRmYzYzOTc3NjczYS5iaW5kUG9wdXAocG9wdXBfOGQ1NmFlNzExNmQ5NDExMjk2MzA4YTQ1ZTQyNjE2ZTcpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzgzMzQ0NTJiMzkyZDRhOWFhZTRhMjIwMTgwNmU0ZjFiID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjQwODE1NywgLTc5LjM4MTc1MjI5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2I1NDhhNWY2NGIzMDRkYzM4ZTE3OWM5MzRhODliMGZkID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF83OWIxMTI4YzgyZWI0ZGExYjRjMTBmNjVkNGQyZjI1YiA9ICQoYDxkaXYgaWQ9Imh0bWxfNzliMTEyOGM4MmViNGRhMWI0YzEwZjY1ZDRkMmYyNWIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkhhcmJvdXJmcm9udCBFYXN0LCBUb3JvbnRvIElzbGFuZHMsIFVuaW9uIFN0YXRpb24sIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfYjU0OGE1ZjY0YjMwNGRjMzhlMTc5YzkzNGE4OWIwZmQuc2V0Q29udGVudChodG1sXzc5YjExMjhjODJlYjRkYTFiNGMxMGY2NWQ0ZDJmMjViKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl84MzM0NDUyYjM5MmQ0YTlhYWU0YTIyMDE4MDZlNGYxYi5iaW5kUG9wdXAocG9wdXBfYjU0OGE1ZjY0YjMwNGRjMzhlMTc5YzkzNGE4OWIwZmQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzVmY2FjMTkzNjQ3ZjRlMzFiZDE0M2E3MTlmNjg4MGEzID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjQ3MTc2OCwgLTc5LjM4MTU3NjQwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2YxY2MwN2YxYzdjZTQxZTFiMjc5MGU1ZTgxY2U5Zjg0ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF81YjY3NmVhOTdiODQ0ZDhjOThmZWNkOWFjYjE4M2IwNCA9ICQoYDxkaXYgaWQ9Imh0bWxfNWI2NzZlYTk3Yjg0NGQ4Yzk4ZmVjZDlhY2IxODNiMDQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRlc2lnbiBFeGNoYW5nZSwgVG9yb250byBEb21pbmlvbiBDZW50cmUsIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZjFjYzA3ZjFjN2NlNDFlMWIyNzkwZTVlODFjZTlmODQuc2V0Q29udGVudChodG1sXzViNjc2ZWE5N2I4NDRkOGM5OGZlY2Q5YWNiMTgzYjA0KTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl81ZmNhYzE5MzY0N2Y0ZTMxYmQxNDNhNzE5ZjY4ODBhMy5iaW5kUG9wdXAocG9wdXBfZjFjYzA3ZjFjN2NlNDFlMWIyNzkwZTVlODFjZTlmODQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2Q3NDJhMTM1ZDk1NTRjNDg4YjQ5ZjZiZTc4MzUwNDJlID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjQ4MTk4NSwgLTc5LjM3OTgxNjkwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2Q0ZTVjNGMyNzhkNzQ1ZjQ4NTVkY2Y0NGYwNTFmZWZlID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9kODg2NTk3YTk3NDM0Yjk2OWE5YWM2NjZjMjRlNDYzZCA9ICQoYDxkaXYgaWQ9Imh0bWxfZDg4NjU5N2E5NzQzNGI5NjlhOWFjNjY2YzI0ZTQ2M2QiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNvbW1lcmNlIENvdXJ0LCBWaWN0b3JpYSBIb3RlbCwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kNGU1YzRjMjc4ZDc0NWY0ODU1ZGNmNDRmMDUxZmVmZS5zZXRDb250ZW50KGh0bWxfZDg4NjU5N2E5NzQzNGI5NjlhOWFjNjY2YzI0ZTQ2M2QpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2Q3NDJhMTM1ZDk1NTRjNDg4YjQ5ZjZiZTc4MzUwNDJlLmJpbmRQb3B1cChwb3B1cF9kNGU1YzRjMjc4ZDc0NWY0ODU1ZGNmNDRmMDUxZmVmZSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOGJlMzg0ZTQzOTQ3NGUyZmE4NTQ5NjYyMzE1YmUyMDEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My43MTE2OTQ4LCAtNzkuNDE2OTM1NTk5OTk5OTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMzJmNjQ5NDdlNTA3NGNhNDk2YTZlYjcyYTQzNTBjZGEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2M4NjRjZjY2NGIwZTQ0MzZiYzQyYjA2YWMwNWUxNmM4ID0gJChgPGRpdiBpZD0iaHRtbF9jODY0Y2Y2NjRiMGU0NDM2YmM0MmIwNmFjMDVlMTZjOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Um9zZWxhd24sIENlbnRyYWwgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8zMmY2NDk0N2U1MDc0Y2E0OTZhNmViNzJhNDM1MGNkYS5zZXRDb250ZW50KGh0bWxfYzg2NGNmNjY0YjBlNDQzNmJjNDJiMDZhYzA1ZTE2YzgpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzhiZTM4NGU0Mzk0NzRlMmZhODU0OTY2MjMxNWJlMjAxLmJpbmRQb3B1cChwb3B1cF8zMmY2NDk0N2U1MDc0Y2E0OTZhNmViNzJhNDM1MGNkYSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODJhYzI5OGMzMDI5NDQ5YzkxYWZhNGRhZDA1Y2JkMDUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42OTY5NDc2LCAtNzkuNDExMzA3MjAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNzVlN2NjNjIwZGYyNDM3ZDhhNDg4MmI5MTU3MWNlMjMgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2RhOTBiNWRmNDYzNzRlN2U5OTliYTRiY2FhZDczOTQ5ID0gJChgPGRpdiBpZD0iaHRtbF9kYTkwYjVkZjQ2Mzc0ZTdlOTk5YmE0YmNhYWQ3Mzk0OSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Rm9yZXN0IEhpbGwgTm9ydGgsIEZvcmVzdCBIaWxsIFdlc3QsIENlbnRyYWwgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF83NWU3Y2M2MjBkZjI0MzdkOGE0ODgyYjkxNTcxY2UyMy5zZXRDb250ZW50KGh0bWxfZGE5MGI1ZGY0NjM3NGU3ZTk5OWJhNGJjYWFkNzM5NDkpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzgyYWMyOThjMzAyOTQ0OWM5MWFmYTRkYWQwNWNiZDA1LmJpbmRQb3B1cChwb3B1cF83NWU3Y2M2MjBkZjI0MzdkOGE0ODgyYjkxNTcxY2UyMykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNzIyNjk1NWQzNTI1NDkwMTgwMzlkNDhjNDE0NGRiMGEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NzI3MDk3LCAtNzkuNDA1Njc4NDAwMDAwMDFdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNTY1NTE5MTZkZjY3NGQ4MGJmZTNhMTBlNzliYTkyMWYgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2QxY2M3M2FmODNhYzQzYzliMGQxZWRhMDA2MjA2NmZlID0gJChgPGRpdiBpZD0iaHRtbF9kMWNjNzNhZjgzYWM0M2M5YjBkMWVkYTAwNjIwNjZmZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VGhlIEFubmV4LCBOb3J0aCBNaWR0b3duLCBZb3JrdmlsbGUsIENlbnRyYWwgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81NjU1MTkxNmRmNjc0ZDgwYmZlM2ExMGU3OWJhOTIxZi5zZXRDb250ZW50KGh0bWxfZDFjYzczYWY4M2FjNDNjOWIwZDFlZGEwMDYyMDY2ZmUpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzcyMjY5NTVkMzUyNTQ5MDE4MDM5ZDQ4YzQxNDRkYjBhLmJpbmRQb3B1cChwb3B1cF81NjU1MTkxNmRmNjc0ZDgwYmZlM2ExMGU3OWJhOTIxZikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMzBmMGY1YWY5NjA2NDA1Mzg4M2UzYTkzNzYzOTI0YjkgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NjI2OTU2LCAtNzkuNDAwMDQ5M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9lMmFjMzAzYTI5NzE0YTFkYTZmZGEyODBmZjMyYTEzZiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNGYzMjk2ODFkZGUzNGRiZDk5OTcwOWM2ODY5NjM5Y2EgPSAkKGA8ZGl2IGlkPSJodG1sXzRmMzI5NjgxZGRlMzRkYmQ5OTk3MDljNjg2OTYzOWNhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5IYXJib3JkLCBVbml2ZXJzaXR5IG9mIFRvcm9udG8sIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZTJhYzMwM2EyOTcxNGExZGE2ZmRhMjgwZmYzMmExM2Yuc2V0Q29udGVudChodG1sXzRmMzI5NjgxZGRlMzRkYmQ5OTk3MDljNjg2OTYzOWNhKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl8zMGYwZjVhZjk2MDY0MDUzODgzZTNhOTM3NjM5MjRiOS5iaW5kUG9wdXAocG9wdXBfZTJhYzMwM2EyOTcxNGExZGE2ZmRhMjgwZmYzMmExM2YpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzhjNjM1YzA0MWZlYzRiOTQ5MTkwNWY4NTdhZmVmMmQ3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjUzMjA1NywgLTc5LjQwMDA0OTNdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYTY2YzU2NzY0YzllNDE4OWFmOGI4ZThmYjA4NmYwZDAgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzI3NmEyNDUyYTllYjRhZjhiZGZlZmU0NmQwZDE0N2RhID0gJChgPGRpdiBpZD0iaHRtbF8yNzZhMjQ1MmE5ZWI0YWY4YmRmZWZlNDZkMGQxNDdkYSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q2hpbmF0b3duLCBHcmFuZ2UgUGFyaywgS2Vuc2luZ3RvbiBNYXJrZXQsIERvd250b3duIFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfYTY2YzU2NzY0YzllNDE4OWFmOGI4ZThmYjA4NmYwZDAuc2V0Q29udGVudChodG1sXzI3NmEyNDUyYTllYjRhZjhiZGZlZmU0NmQwZDE0N2RhKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl84YzYzNWMwNDFmZWM0Yjk0OTE5MDVmODU3YWZlZjJkNy5iaW5kUG9wdXAocG9wdXBfYTY2YzU2NzY0YzllNDE4OWFmOGI4ZThmYjA4NmYwZDApCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyX2ZjNWIzMmJkYjY4ZDQ3ZDQ5ZTI3YjkzYzdlZGU3ODcwID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjI4OTQ2NywgLTc5LjM5NDQxOTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNDBjNjkxMmNhZDBmNDQ1NWFiOWJiNGJhY2NjMjkwZWMgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2U4NTllYTI0MGQwYjRhYTQ5YWZlZDgxZDBlOWJmMDQ3ID0gJChgPGRpdiBpZD0iaHRtbF9lODU5ZWEyNDBkMGI0YWE0OWFmZWQ4MWQwZTliZjA0NyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q04gVG93ZXIsIEJhdGh1cnN0IFF1YXksIElzbGFuZCBhaXJwb3J0LCBIYXJib3VyZnJvbnQgV2VzdCwgS2luZyBhbmQgU3BhZGluYSwgUmFpbHdheSBMYW5kcywgU291dGggTmlhZ2FyYSwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF80MGM2OTEyY2FkMGY0NDU1YWI5YmI0YmFjY2MyOTBlYy5zZXRDb250ZW50KGh0bWxfZTg1OWVhMjQwZDBiNGFhNDlhZmVkODFkMGU5YmYwNDcpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2ZjNWIzMmJkYjY4ZDQ3ZDQ5ZTI3YjkzYzdlZGU3ODcwLmJpbmRQb3B1cChwb3B1cF80MGM2OTEyY2FkMGY0NDU1YWI5YmI0YmFjY2MyOTBlYykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfOTY5YzlmNjdhMWIzNGU5ZmJjYjU1NzM5NmQ3NWUzNzEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NDY0MzUyLCAtNzkuMzc0ODQ1OTk5OTk5OTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMjk0ZjhlNDYzMzI5NDIyYjlhMDZhYmJiODllM2YzYzQgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzdlMDkxNTNjYmY3YTQxNjc4ZmE0MDhjNzlhN2E0OWRiID0gJChgPGRpdiBpZD0iaHRtbF83ZTA5MTUzY2JmN2E0MTY3OGZhNDA4Yzc5YTdhNDlkYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+U3RuIEEgUE8gQm94ZXMgMjUgVGhlIEVzcGxhbmFkZSwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8yOTRmOGU0NjMzMjk0MjJiOWEwNmFiYmI4OWUzZjNjNC5zZXRDb250ZW50KGh0bWxfN2UwOTE1M2NiZjdhNDE2NzhmYTQwOGM3OWE3YTQ5ZGIpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzk2OWM5ZjY3YTFiMzRlOWZiY2I1NTczOTZkNzVlMzcxLmJpbmRQb3B1cChwb3B1cF8yOTRmOGU0NjMzMjk0MjJiOWEwNmFiYmI4OWUzZjNjNCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNmZjYjVjNzJkNjBhNDRmY2I0MDZhZmMzMzYwMmI3MTEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NDg0MjkyLCAtNzkuMzgyMjgwMl0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9kZGMzMzg0NzMyZmY0Zjg0OGJjYzQ3MzMwYzQxZDk3NCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZTUwZWE4ODYwNmQwNGEyZTg0Njc5Y2M5NjE1NDFiNGUgPSAkKGA8ZGl2IGlkPSJodG1sX2U1MGVhODg2MDZkMDRhMmU4NDY3OWNjOTYxNTQxYjRlIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GaXJzdCBDYW5hZGlhbiBQbGFjZSwgVW5kZXJncm91bmQgY2l0eSwgRG93bnRvd24gVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kZGMzMzg0NzMyZmY0Zjg0OGJjYzQ3MzMwYzQxZDk3NC5zZXRDb250ZW50KGh0bWxfZTUwZWE4ODYwNmQwNGEyZTg0Njc5Y2M5NjE1NDFiNGUpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzZmY2I1YzcyZDYwYTQ0ZmNiNDA2YWZjMzM2MDJiNzExLmJpbmRQb3B1cChwb3B1cF9kZGMzMzg0NzMyZmY0Zjg0OGJjYzQ3MzMwYzQxZDk3NCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTBkMWVmNGQzMjY3NDdjYmIwNzNjZDU5ZDkzYmU0ZDUgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42Njk1NDIsIC03OS40MjI1NjM3XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzcwMzFjMGY4NDA2ZDQ5NDA5MjU4MDRkYmY2MzVlOTIzID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8zMDFlNTA4NmYzMzA0MDdhYWFmZDY3NTM4ODIxMmNkNSA9ICQoYDxkaXYgaWQ9Imh0bWxfMzAxZTUwODZmMzMwNDA3YWFhZmQ2NzUzODgyMTJjZDUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNocmlzdGllLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzcwMzFjMGY4NDA2ZDQ5NDA5MjU4MDRkYmY2MzVlOTIzLnNldENvbnRlbnQoaHRtbF8zMDFlNTA4NmYzMzA0MDdhYWFmZDY3NTM4ODIxMmNkNSk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfMTBkMWVmNGQzMjY3NDdjYmIwNzNjZDU5ZDkzYmU0ZDUuYmluZFBvcHVwKHBvcHVwXzcwMzFjMGY4NDA2ZDQ5NDA5MjU4MDRkYmY2MzVlOTIzKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl9mMWZhYmVhYjQxYTU0OTI3OWNhZmM1ZWExMzc3OTlmNiA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2OTAwNTEwMDAwMDAxLCAtNzkuNDQyMjU5M10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8wMzUyYmE4MjFkZWU0Nzg3ODYwNzcwNzNkY2ZjMTU2OCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMDdjYmFmOWQ2OWFhNDY0YzhiNDEwNzdiNGIzY2JjMmIgPSAkKGA8ZGl2IGlkPSJodG1sXzA3Y2JhZjlkNjlhYTQ2NGM4YjQxMDc3YjRiM2NiYzJiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5Eb3ZlcmNvdXJ0IFZpbGxhZ2UsIER1ZmZlcmluLCBXZXN0IFRvcm9udG88L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMDM1MmJhODIxZGVlNDc4Nzg2MDc3MDczZGNmYzE1Njguc2V0Q29udGVudChodG1sXzA3Y2JhZjlkNjlhYTQ2NGM4YjQxMDc3YjRiM2NiYzJiKTsKICAgICAgICAKCiAgICAgICAgY2lyY2xlX21hcmtlcl9mMWZhYmVhYjQxYTU0OTI3OWNhZmM1ZWExMzc3OTlmNi5iaW5kUG9wdXAocG9wdXBfMDM1MmJhODIxZGVlNDc4Nzg2MDc3MDczZGNmYzE1NjgpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBjaXJjbGVfbWFya2VyXzRkOWM3ZGQxN2I5ZDQyZTZhNzFlZjdiYWQ4NTAwYmE3ID0gTC5jaXJjbGVNYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuNjQ3OTI2NzAwMDAwMDA2LCAtNzkuNDE5NzQ5N10sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF81NGE2MzI0YWJhNTU0OTkwYjVjMjFlYzhiYjhmYWI3ZSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNjNlYjdiODViNzMxNDU3N2IwZWViMmQ0OGI3MzNmODAgPSAkKGA8ZGl2IGlkPSJodG1sXzYzZWI3Yjg1YjczMTQ1NzdiMGVlYjJkNDhiNzMzZjgwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5MaXR0bGUgUG9ydHVnYWwsIFRyaW5pdHksIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81NGE2MzI0YWJhNTU0OTkwYjVjMjFlYzhiYjhmYWI3ZS5zZXRDb250ZW50KGh0bWxfNjNlYjdiODViNzMxNDU3N2IwZWViMmQ0OGI3MzNmODApOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzRkOWM3ZGQxN2I5ZDQyZTZhNzFlZjdiYWQ4NTAwYmE3LmJpbmRQb3B1cChwb3B1cF81NGE2MzI0YWJhNTU0OTkwYjVjMjFlYzhiYjhmYWI3ZSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfMTA0OTFiN2Q1ZjgwNGFlMGE2ZjYwMWQxNDA1ZmZkZjQgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42MzY4NDcyLCAtNzkuNDI4MTkxNDAwMDAwMDJdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNTdmZWJjYjJmM2UyNDQwZjk3ZTAyNmQ3Njc1YWZhNTkgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzgyOTM0OGU3NzdiMTQ1NWM5MTMwMjJlN2Y0ZGJhNjIzID0gJChgPGRpdiBpZD0iaHRtbF84MjkzNDhlNzc3YjE0NTVjOTEzMDIyZTdmNGRiYTYyMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QnJvY2t0b24sIEV4aGliaXRpb24gUGxhY2UsIFBhcmtkYWxlIFZpbGxhZ2UsIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81N2ZlYmNiMmYzZTI0NDBmOTdlMDI2ZDc2NzVhZmE1OS5zZXRDb250ZW50KGh0bWxfODI5MzQ4ZTc3N2IxNDU1YzkxMzAyMmU3ZjRkYmE2MjMpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzEwNDkxYjdkNWY4MDRhZTBhNmY2MDFkMTQwNWZmZGY0LmJpbmRQb3B1cChwb3B1cF81N2ZlYmNiMmYzZTI0NDBmOTdlMDI2ZDc2NzVhZmE1OSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfODdjZjdiZmY1ZWNiNDg0MGE1MGU0YzU1NTEwZDA3NGEgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NjE2MDgzLCAtNzkuNDY0NzYzMjk5OTk5OTldLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMTdmZGFkMGY4OWJiNGRlMmI0YjAxNmI0MmIwY2JlMmIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzYzZjI2MjAzM2QzNDQwYTU4NzMwMTZlMWEwNGFhM2E1ID0gJChgPGRpdiBpZD0iaHRtbF82M2YyNjIwMzNkMzQ0MGE1ODczMDE2ZTFhMDRhYTNhNSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SGlnaCBQYXJrLCBUaGUgSnVuY3Rpb24gU291dGgsIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8xN2ZkYWQwZjg5YmI0ZGUyYjRiMDE2YjQyYjBjYmUyYi5zZXRDb250ZW50KGh0bWxfNjNmMjYyMDMzZDM0NDBhNTg3MzAxNmUxYTA0YWEzYTUpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzg3Y2Y3YmZmNWVjYjQ4NDBhNTBlNGM1NTUxMGQwNzRhLmJpbmRQb3B1cChwb3B1cF8xN2ZkYWQwZjg5YmI0ZGUyYjRiMDE2YjQyYjBjYmUyYikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNWI3Y2YzYmMzZDhhNDU1NGJmMjBhNTRmNmRjNDIwZmYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NDg5NTk3LCAtNzkuNDU2MzI1XSwKICAgICAgICAgICAgICAgIHsiYnViYmxpbmdNb3VzZUV2ZW50cyI6IHRydWUsICJjb2xvciI6ICJibHVlIiwgImRhc2hBcnJheSI6IG51bGwsICJkYXNoT2Zmc2V0IjogbnVsbCwgImZpbGwiOiB0cnVlLCAiZmlsbENvbG9yIjogIiMzMTg2Y2MiLCAiZmlsbE9wYWNpdHkiOiAwLjcsICJmaWxsUnVsZSI6ICJldmVub2RkIiwgImxpbmVDYXAiOiAicm91bmQiLCAibGluZUpvaW4iOiAicm91bmQiLCAib3BhY2l0eSI6IDEuMCwgInJhZGl1cyI6IDUsICJzdHJva2UiOiB0cnVlLCAid2VpZ2h0IjogM30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMWRjNzBhM2ZhOGQ0NDYxNmIzMzA2NzFlNWRhNGIxYTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2E0MDBmYTEwNzE1MzQ0OWZiZGEyNjZlOWI2M2VhMzVhID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF83Yzc2M2I5Yjc2NWU0NmY0YmIzMjVhMmE5ZDgyZGU2NyA9ICQoYDxkaXYgaWQ9Imh0bWxfN2M3NjNiOWI3NjVlNDZmNGJiMzI1YTJhOWQ4MmRlNjciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlBhcmtkYWxlLCBSb25jZXN2YWxsZXMsIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9hNDAwZmExMDcxNTM0NDlmYmRhMjY2ZTliNjNlYTM1YS5zZXRDb250ZW50KGh0bWxfN2M3NjNiOWI3NjVlNDZmNGJiMzI1YTJhOWQ4MmRlNjcpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyXzViN2NmM2JjM2Q4YTQ1NTRiZjIwYTU0ZjZkYzQyMGZmLmJpbmRQb3B1cChwb3B1cF9hNDAwZmExMDcxNTM0NDlmYmRhMjY2ZTliNjNlYTM1YSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfZGNmODY5NmJhMDJkNDg3NTg4NzI3YjY3YmY0MGQwNWMgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NTE1NzA2LCAtNzkuNDg0NDQ5OV0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF85MGYzM2NkZTM0YTg0MzE5YjYwZTExZGIzZGY0NTg1NiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZjdiNjExYTdjODYzNGM5MzliMDkwM2YwZDNiYzM4OGIgPSAkKGA8ZGl2IGlkPSJodG1sX2Y3YjYxMWE3Yzg2MzRjOTM5YjA5MDNmMGQzYmMzODhiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5SdW5ueW1lZGUsIFN3YW5zZWEsIFdlc3QgVG9yb250bzwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF85MGYzM2NkZTM0YTg0MzE5YjYwZTExZGIzZGY0NTg1Ni5zZXRDb250ZW50KGh0bWxfZjdiNjExYTdjODYzNGM5MzliMDkwM2YwZDNiYzM4OGIpOwogICAgICAgIAoKICAgICAgICBjaXJjbGVfbWFya2VyX2RjZjg2OTZiYTAyZDQ4NzU4ODcyN2I2N2JmNDBkMDVjLmJpbmRQb3B1cChwb3B1cF85MGYzM2NkZTM0YTg0MzE5YjYwZTExZGIzZGY0NTg1NikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIGNpcmNsZV9tYXJrZXJfNWRhN2Q1OGM5NTc5NDdjNGJkOTg1Yzc5ZmJmMjA3OGYgPSBMLmNpcmNsZU1hcmtlcigKICAgICAgICAgICAgICAgIFs0My42NjIzMDE1LCAtNzkuMzg5NDkzOF0sCiAgICAgICAgICAgICAgICB7ImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLCAiY29sb3IiOiAiYmx1ZSIsICJkYXNoQXJyYXkiOiBudWxsLCAiZGFzaE9mZnNldCI6IG51bGwsICJmaWxsIjogdHJ1ZSwgImZpbGxDb2xvciI6ICIjMzE4NmNjIiwgImZpbGxPcGFjaXR5IjogMC43LCAiZmlsbFJ1bGUiOiAiZXZlbm9kZCIsICJsaW5lQ2FwIjogInJvdW5kIiwgImxpbmVKb2luIjogInJvdW5kIiwgIm9wYWNpdHkiOiAxLjAsICJyYWRpdXMiOiA1LCAic3Ryb2tlIjogdHJ1ZSwgIndlaWdodCI6IDN9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzFkYzcwYTNmYThkNDQ2MTZiMzMwNjcxZTVkYTRiMWExKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9hZjg4NjI4YjM3NGY0MjY5YjhiNDk1Mjg1MTFkZDg5NCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMDljYjcyN2ZiZmIzNDliMWFlZmNmZTAzNWE2NTU4YjggPSAkKGA8ZGl2IGlkPSJodG1sXzA5Y2I3MjdmYmZiMzQ5YjFhZWZjZmUwMzVhNjU1OGI4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5RdWVlbiYjMzk7cyBQYXJrLCBEb3dudG93biBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2FmODg2MjhiMzc0ZjQyNjliOGI0OTUyODUxMWRkODk0LnNldENvbnRlbnQoaHRtbF8wOWNiNzI3ZmJmYjM0OWIxYWVmY2ZlMDM1YTY1NThiOCk7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNWRhN2Q1OGM5NTc5NDdjNGJkOTg1Yzc5ZmJmMjA3OGYuYmluZFBvcHVwKHBvcHVwX2FmODg2MjhiMzc0ZjQyNjliOGI0OTUyODUxMWRkODk0KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgY2lyY2xlX21hcmtlcl80ZTg5MmFiN2UzNjE0ZmViODM1MWZkYjIxMGYxZjBhNSA9IEwuY2lyY2xlTWFya2VyKAogICAgICAgICAgICAgICAgWzQzLjY2Mjc0MzksIC03OS4zMjE1NThdLAogICAgICAgICAgICAgICAgeyJidWJibGluZ01vdXNlRXZlbnRzIjogdHJ1ZSwgImNvbG9yIjogImJsdWUiLCAiZGFzaEFycmF5IjogbnVsbCwgImRhc2hPZmZzZXQiOiBudWxsLCAiZmlsbCI6IHRydWUsICJmaWxsQ29sb3IiOiAiIzMxODZjYyIsICJmaWxsT3BhY2l0eSI6IDAuNywgImZpbGxSdWxlIjogImV2ZW5vZGQiLCAibGluZUNhcCI6ICJyb3VuZCIsICJsaW5lSm9pbiI6ICJyb3VuZCIsICJvcGFjaXR5IjogMS4wLCAicmFkaXVzIjogNSwgInN0cm9rZSI6IHRydWUsICJ3ZWlnaHQiOiAzfQogICAgICAgICAgICApLmFkZFRvKG1hcF8xZGM3MGEzZmE4ZDQ0NjE2YjMzMDY3MWU1ZGE0YjFhMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfM2FlYjk0NDYxMjFhNGNkMzg1NGU5ODM3MjFiNGQ3NjQgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2Y4YTRlZDc0MjJiZDRkMGQ4M2Y5NTFkNDM2MWQ4MjA2ID0gJChgPGRpdiBpZD0iaHRtbF9mOGE0ZWQ3NDIyYmQ0ZDBkODNmOTUxZDQzNjFkODIwNiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+QnVzaW5lc3MgUmVwbHkgTWFpbCBQcm9jZXNzaW5nIENlbnRyZSA5NjkgRWFzdGVybiwgRWFzdCBUb3JvbnRvPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzNhZWI5NDQ2MTIxYTRjZDM4NTRlOTgzNzIxYjRkNzY0LnNldENvbnRlbnQoaHRtbF9mOGE0ZWQ3NDIyYmQ0ZDBkODNmOTUxZDQzNjFkODIwNik7CiAgICAgICAgCgogICAgICAgIGNpcmNsZV9tYXJrZXJfNGU4OTJhYjdlMzYxNGZlYjgzNTFmZGIyMTBmMWYwYTUuYmluZFBvcHVwKHBvcHVwXzNhZWI5NDQ2MTIxYTRjZDM4NTRlOTgzNzIxYjRkNzY0KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKPC9zY3JpcHQ+\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x7f2a2cdb7550>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create map of Toronto using latitude and longitude values\n",
"map_toronto = folium.Map(location=[latitude, longitude], zoom_start=10)\n",
"\n",
"# add markers to map\n",
"for lat, lng, borough, neighborhood in zip(toronto_df_new['Latitude'], toronto_df_new['Longitude'], toronto_df_new['Borough'], toronto_df_new['Neighborhood']):\n",
" label = '{}, {}'.format(neighborhood, borough)\n",
" label = folium.Popup(label, parse_html=True)\n",
" folium.CircleMarker(\n",
" [lat, lng],\n",
" radius=5,\n",
" popup=label,\n",
" color='blue',\n",
" fill=True,\n",
" fill_color='#3186cc',\n",
" fill_opacity=0.7).add_to(map_toronto) \n",
" \n",
"map_toronto "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 14. Use the Foursquare API to explore the neighborhoods"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Your credentails:\n",
"CLIENT_ID: your Foursquare ID\n",
"CLIENT_SECRET:your Foursquare Secret\n"
]
}
],
"source": [
"# define Foursquare Credentials and Version\n",
"CLIENT_ID = 'your Foursquare ID' # your Foursquare ID\n",
"CLIENT_SECRET = 'your Foursquare Secret' # your Foursquare Secret\n",
"VERSION = '20180605' # Foursquare API version\n",
"\n",
"print('Your credentails:')\n",
"print('CLIENT_ID: ' + CLIENT_ID)\n",
"print('CLIENT_SECRET:' + CLIENT_SECRET)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Now, let's get the top 100 venues that are within a radius of 500 meters.**"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"radius = 500\n",
"LIMIT = 100\n",
"\n",
"venues = []\n",
"\n",
"for lat, long, post, borough, neighborhood in zip(toronto_df_new['Latitude'], toronto_df_new['Longitude'], toronto_df_new['PostalCode'], toronto_df_new['Borough'], toronto_df_new['Neighborhood']):\n",
" url = \"https://api.foursquare.com/v2/venues/explore?client_id={}&client_secret={}&v={}&ll={},{}&radius={}&limit={}\".format(\n",
" CLIENT_ID,\n",
" CLIENT_SECRET,\n",
" VERSION,\n",
" lat,\n",
" long,\n",
" radius, \n",
" LIMIT)\n",
" \n",
" results = requests.get(url).json()[\"response\"]['groups'][0]['items']\n",
" \n",
" for venue in results:\n",
" venues.append((\n",
" post, \n",
" borough,\n",
" neighborhood,\n",
" lat, \n",
" long, \n",
" venue['venue']['name'], \n",
" venue['venue']['location']['lat'], \n",
" venue['venue']['location']['lng'], \n",
" venue['venue']['categories'][0]['name']))"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1714, 9)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th>BoroughLatitude</th>\n",
" <th>BoroughLongitude</th>\n",
" <th>VenueName</th>\n",
" <th>VenueLatitude</th>\n",
" <th>VenueLongitude</th>\n",
" <th>VenueCategory</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>43.676357</td>\n",
" <td>-79.293031</td>\n",
" <td>Glen Manor Ravine</td>\n",
" <td>43.676821</td>\n",
" <td>-79.293942</td>\n",
" <td>Trail</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>43.676357</td>\n",
" <td>-79.293031</td>\n",
" <td>The Big Carrot Natural Food Market</td>\n",
" <td>43.678879</td>\n",
" <td>-79.297734</td>\n",
" <td>Health Food Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>43.676357</td>\n",
" <td>-79.293031</td>\n",
" <td>Grover Pub and Grub</td>\n",
" <td>43.679181</td>\n",
" <td>-79.297215</td>\n",
" <td>Pub</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>43.676357</td>\n",
" <td>-79.293031</td>\n",
" <td>Upper Beaches</td>\n",
" <td>43.680563</td>\n",
" <td>-79.292869</td>\n",
" <td>Neighborhood</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>43.676357</td>\n",
" <td>-79.293031</td>\n",
" <td>Seaspray Restaurant</td>\n",
" <td>43.678888</td>\n",
" <td>-79.298167</td>\n",
" <td>Asian Restaurant</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough Neighborhood BoroughLatitude BoroughLongitude \\\n",
"0 M4E East Toronto The Beaches 43.676357 -79.293031 \n",
"1 M4E East Toronto The Beaches 43.676357 -79.293031 \n",
"2 M4E East Toronto The Beaches 43.676357 -79.293031 \n",
"3 M4E East Toronto The Beaches 43.676357 -79.293031 \n",
"4 M4E East Toronto The Beaches 43.676357 -79.293031 \n",
"\n",
" VenueName VenueLatitude VenueLongitude \\\n",
"0 Glen Manor Ravine 43.676821 -79.293942 \n",
"1 The Big Carrot Natural Food Market 43.678879 -79.297734 \n",
"2 Grover Pub and Grub 43.679181 -79.297215 \n",
"3 Upper Beaches 43.680563 -79.292869 \n",
"4 Seaspray Restaurant 43.678888 -79.298167 \n",
"\n",
" VenueCategory \n",
"0 Trail \n",
"1 Health Food Store \n",
"2 Pub \n",
"3 Neighborhood \n",
"4 Asian Restaurant "
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# convert the venues list into a new DataFrame\n",
"venues_df = pd.DataFrame(venues)\n",
"\n",
"# define the column names\n",
"venues_df.columns = ['PostalCode', 'Borough', 'Neighborhood', 'BoroughLatitude', 'BoroughLongitude', 'VenueName', 'VenueLatitude', 'VenueLongitude', 'VenueCategory']\n",
"\n",
"print(venues_df.shape)\n",
"venues_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Let's check how many venues were returned for each PostalCode**"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th>BoroughLatitude</th>\n",
" <th>BoroughLongitude</th>\n",
" <th>VenueName</th>\n",
" <th>VenueLatitude</th>\n",
" <th>VenueLongitude</th>\n",
" <th>VenueCategory</th>\n",
" </tr>\n",
" <tr>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhood</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>M4E</th>\n",
" <th>East Toronto</th>\n",
" <th>The Beaches</th>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4K</th>\n",
" <th>East Toronto</th>\n",
" <th>The Danforth West, Riverdale</th>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4L</th>\n",
" <th>East Toronto</th>\n",
" <th>The Beaches West, India Bazaar</th>\n",
" <td>18</td>\n",
" <td>18</td>\n",
" <td>18</td>\n",
" <td>18</td>\n",
" <td>18</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4M</th>\n",
" <th>East Toronto</th>\n",
" <th>Studio District</th>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" <td>42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4N</th>\n",
" <th>Central Toronto</th>\n",
" <th>Lawrence Park</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4P</th>\n",
" <th>Central Toronto</th>\n",
" <th>Davisville North</th>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4R</th>\n",
" <th>Central Toronto</th>\n",
" <th>North Toronto West</th>\n",
" <td>21</td>\n",
" <td>21</td>\n",
" <td>21</td>\n",
" <td>21</td>\n",
" <td>21</td>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4S</th>\n",
" <th>Central Toronto</th>\n",
" <th>Davisville</th>\n",
" <td>32</td>\n",
" <td>32</td>\n",
" <td>32</td>\n",
" <td>32</td>\n",
" <td>32</td>\n",
" <td>32</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4T</th>\n",
" <th>Central Toronto</th>\n",
" <th>Moore Park, Summerhill East</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4V</th>\n",
" <th>Central Toronto</th>\n",
" <th>Deer Park, Forest Hill SE, Rathnelly, South Hill, Summerhill West</th>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4W</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Rosedale</th>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4X</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Cabbagetown, St. James Town</th>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M4Y</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Church and Wellesley</th>\n",
" <td>82</td>\n",
" <td>82</td>\n",
" <td>82</td>\n",
" <td>82</td>\n",
" <td>82</td>\n",
" <td>82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5A</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Harbourfront</th>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" <td>47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5B</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Ryerson, Garden District</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5C</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>St. James Town</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5E</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Berczy Park</th>\n",
" <td>56</td>\n",
" <td>56</td>\n",
" <td>56</td>\n",
" <td>56</td>\n",
" <td>56</td>\n",
" <td>56</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5G</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Central Bay Street</th>\n",
" <td>83</td>\n",
" <td>83</td>\n",
" <td>83</td>\n",
" <td>83</td>\n",
" <td>83</td>\n",
" <td>83</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5H</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Adelaide, King, Richmond</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5J</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Harbourfront East, Toronto Islands, Union Station</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5K</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Design Exchange, Toronto Dominion Centre</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5L</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Commerce Court, Victoria Hotel</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5N</th>\n",
" <th>Central Toronto</th>\n",
" <th>Roselawn</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5P</th>\n",
" <th>Central Toronto</th>\n",
" <th>Forest Hill North, Forest Hill West</th>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5R</th>\n",
" <th>Central Toronto</th>\n",
" <th>The Annex, North Midtown, Yorkville</th>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5S</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Harbord, University of Toronto</th>\n",
" <td>37</td>\n",
" <td>37</td>\n",
" <td>37</td>\n",
" <td>37</td>\n",
" <td>37</td>\n",
" <td>37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5T</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Chinatown, Grange Park, Kensington Market</th>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" <td>87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5V</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>CN Tower, Bathurst Quay, Island airport, Harbourfront West, King and Spadina, Railway Lands, South Niagara</th>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5W</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Stn A PO Boxes 25 The Esplanade</th>\n",
" <td>95</td>\n",
" <td>95</td>\n",
" <td>95</td>\n",
" <td>95</td>\n",
" <td>95</td>\n",
" <td>95</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M5X</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>First Canadian Place, Underground city</th>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M6G</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Christie</th>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" <td>19</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M6H</th>\n",
" <th>West Toronto</th>\n",
" <th>Dovercourt Village, Dufferin</th>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M6J</th>\n",
" <th>West Toronto</th>\n",
" <th>Little Portugal, Trinity</th>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" <td>53</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M6K</th>\n",
" <th>West Toronto</th>\n",
" <th>Brockton, Exhibition Place, Parkdale Village</th>\n",
" <td>23</td>\n",
" <td>23</td>\n",
" <td>23</td>\n",
" <td>23</td>\n",
" <td>23</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M6P</th>\n",
" <th>West Toronto</th>\n",
" <th>High Park, The Junction South</th>\n",
" <td>24</td>\n",
" <td>24</td>\n",
" <td>24</td>\n",
" <td>24</td>\n",
" <td>24</td>\n",
" <td>24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M6R</th>\n",
" <th>West Toronto</th>\n",
" <th>Parkdale, Roncesvalles</th>\n",
" <td>14</td>\n",
" <td>14</td>\n",
" <td>14</td>\n",
" <td>14</td>\n",
" <td>14</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M6S</th>\n",
" <th>West Toronto</th>\n",
" <th>Runnymede, Swansea</th>\n",
" <td>40</td>\n",
" <td>40</td>\n",
" <td>40</td>\n",
" <td>40</td>\n",
" <td>40</td>\n",
" <td>40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M7A</th>\n",
" <th>Downtown Toronto</th>\n",
" <th>Queen's Park</th>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" </tr>\n",
" <tr>\n",
" <th>M7Y</th>\n",
" <th>East Toronto</th>\n",
" <th>Business Reply Mail Processing Centre 969 Eastern</th>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" <td>16</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" BoroughLatitude \\\n",
"PostalCode Borough Neighborhood \n",
"M4E East Toronto The Beaches 5 \n",
"M4K East Toronto The Danforth West, Riverdale 42 \n",
"M4L East Toronto The Beaches West, India Bazaar 18 \n",
"M4M East Toronto Studio District 42 \n",
"M4N Central Toronto Lawrence Park 3 \n",
"M4P Central Toronto Davisville North 8 \n",
"M4R Central Toronto North Toronto West 21 \n",
"M4S Central Toronto Davisville 32 \n",
"M4T Central Toronto Moore Park, Summerhill East 1 \n",
"M4V Central Toronto Deer Park, Forest Hill SE, Rathnelly, South Hil... 15 \n",
"M4W Downtown Toronto Rosedale 4 \n",
"M4X Downtown Toronto Cabbagetown, St. James Town 47 \n",
"M4Y Downtown Toronto Church and Wellesley 82 \n",
"M5A Downtown Toronto Harbourfront 47 \n",
"M5B Downtown Toronto Ryerson, Garden District 100 \n",
"M5C Downtown Toronto St. James Town 100 \n",
"M5E Downtown Toronto Berczy Park 56 \n",
"M5G Downtown Toronto Central Bay Street 83 \n",
"M5H Downtown Toronto Adelaide, King, Richmond 100 \n",
"M5J Downtown Toronto Harbourfront East, Toronto Islands, Union Station 100 \n",
"M5K Downtown Toronto Design Exchange, Toronto Dominion Centre 100 \n",
"M5L Downtown Toronto Commerce Court, Victoria Hotel 100 \n",
"M5N Central Toronto Roselawn 3 \n",
"M5P Central Toronto Forest Hill North, Forest Hill West 4 \n",
"M5R Central Toronto The Annex, North Midtown, Yorkville 22 \n",
"M5S Downtown Toronto Harbord, University of Toronto 37 \n",
"M5T Downtown Toronto Chinatown, Grange Park, Kensington Market 87 \n",
"M5V Downtown Toronto CN Tower, Bathurst Quay, Island airport, Harbou... 16 \n",
"M5W Downtown Toronto Stn A PO Boxes 25 The Esplanade 95 \n",
"M5X Downtown Toronto First Canadian Place, Underground city 100 \n",
"M6G Downtown Toronto Christie 19 \n",
"M6H West Toronto Dovercourt Village, Dufferin 16 \n",
"M6J West Toronto Little Portugal, Trinity 53 \n",
"M6K West Toronto Brockton, Exhibition Place, Parkdale Village 23 \n",
"M6P West Toronto High Park, The Junction South 24 \n",
"M6R West Toronto Parkdale, Roncesvalles 14 \n",
"M6S West Toronto Runnymede, Swansea 40 \n",
"M7A Downtown Toronto Queen's Park 39 \n",
"M7Y East Toronto Business Reply Mail Processing Centre 969 Eastern 16 \n",
"\n",
" BoroughLongitude \\\n",
"PostalCode Borough Neighborhood \n",
"M4E East Toronto The Beaches 5 \n",
"M4K East Toronto The Danforth West, Riverdale 42 \n",
"M4L East Toronto The Beaches West, India Bazaar 18 \n",
"M4M East Toronto Studio District 42 \n",
"M4N Central Toronto Lawrence Park 3 \n",
"M4P Central Toronto Davisville North 8 \n",
"M4R Central Toronto North Toronto West 21 \n",
"M4S Central Toronto Davisville 32 \n",
"M4T Central Toronto Moore Park, Summerhill East 1 \n",
"M4V Central Toronto Deer Park, Forest Hill SE, Rathnelly, South Hil... 15 \n",
"M4W Downtown Toronto Rosedale 4 \n",
"M4X Downtown Toronto Cabbagetown, St. James Town 47 \n",
"M4Y Downtown Toronto Church and Wellesley 82 \n",
"M5A Downtown Toronto Harbourfront 47 \n",
"M5B Downtown Toronto Ryerson, Garden District 100 \n",
"M5C Downtown Toronto St. James Town 100 \n",
"M5E Downtown Toronto Berczy Park 56 \n",
"M5G Downtown Toronto Central Bay Street 83 \n",
"M5H Downtown Toronto Adelaide, King, Richmond 100 \n",
"M5J Downtown Toronto Harbourfront East, Toronto Islands, Union Station 100 \n",
"M5K Downtown Toronto Design Exchange, Toronto Dominion Centre 100 \n",
"M5L Downtown Toronto Commerce Court, Victoria Hotel 100 \n",
"M5N Central Toronto Roselawn 3 \n",
"M5P Central Toronto Forest Hill North, Forest Hill West 4 \n",
"M5R Central Toronto The Annex, North Midtown, Yorkville 22 \n",
"M5S Downtown Toronto Harbord, University of Toronto 37 \n",
"M5T Downtown Toronto Chinatown, Grange Park, Kensington Market 87 \n",
"M5V Downtown Toronto CN Tower, Bathurst Quay, Island airport, Harbou... 16 \n",
"M5W Downtown Toronto Stn A PO Boxes 25 The Esplanade 95 \n",
"M5X Downtown Toronto First Canadian Place, Underground city 100 \n",
"M6G Downtown Toronto Christie 19 \n",
"M6H West Toronto Dovercourt Village, Dufferin 16 \n",
"M6J West Toronto Little Portugal, Trinity 53 \n",
"M6K West Toronto Brockton, Exhibition Place, Parkdale Village 23 \n",
"M6P West Toronto High Park, The Junction South 24 \n",
"M6R West Toronto Parkdale, Roncesvalles 14 \n",
"M6S West Toronto Runnymede, Swansea 40 \n",
"M7A Downtown Toronto Queen's Park 39 \n",
"M7Y East Toronto Business Reply Mail Processing Centre 969 Eastern 16 \n",
"\n",
" VenueName \\\n",
"PostalCode Borough Neighborhood \n",
"M4E East Toronto The Beaches 5 \n",
"M4K East Toronto The Danforth West, Riverdale 42 \n",
"M4L East Toronto The Beaches West, India Bazaar 18 \n",
"M4M East Toronto Studio District 42 \n",
"M4N Central Toronto Lawrence Park 3 \n",
"M4P Central Toronto Davisville North 8 \n",
"M4R Central Toronto North Toronto West 21 \n",
"M4S Central Toronto Davisville 32 \n",
"M4T Central Toronto Moore Park, Summerhill East 1 \n",
"M4V Central Toronto Deer Park, Forest Hill SE, Rathnelly, South Hil... 15 \n",
"M4W Downtown Toronto Rosedale 4 \n",
"M4X Downtown Toronto Cabbagetown, St. James Town 47 \n",
"M4Y Downtown Toronto Church and Wellesley 82 \n",
"M5A Downtown Toronto Harbourfront 47 \n",
"M5B Downtown Toronto Ryerson, Garden District 100 \n",
"M5C Downtown Toronto St. James Town 100 \n",
"M5E Downtown Toronto Berczy Park 56 \n",
"M5G Downtown Toronto Central Bay Street 83 \n",
"M5H Downtown Toronto Adelaide, King, Richmond 100 \n",
"M5J Downtown Toronto Harbourfront East, Toronto Islands, Union Station 100 \n",
"M5K Downtown Toronto Design Exchange, Toronto Dominion Centre 100 \n",
"M5L Downtown Toronto Commerce Court, Victoria Hotel 100 \n",
"M5N Central Toronto Roselawn 3 \n",
"M5P Central Toronto Forest Hill North, Forest Hill West 4 \n",
"M5R Central Toronto The Annex, North Midtown, Yorkville 22 \n",
"M5S Downtown Toronto Harbord, University of Toronto 37 \n",
"M5T Downtown Toronto Chinatown, Grange Park, Kensington Market 87 \n",
"M5V Downtown Toronto CN Tower, Bathurst Quay, Island airport, Harbou... 16 \n",
"M5W Downtown Toronto Stn A PO Boxes 25 The Esplanade 95 \n",
"M5X Downtown Toronto First Canadian Place, Underground city 100 \n",
"M6G Downtown Toronto Christie 19 \n",
"M6H West Toronto Dovercourt Village, Dufferin 16 \n",
"M6J West Toronto Little Portugal, Trinity 53 \n",
"M6K West Toronto Brockton, Exhibition Place, Parkdale Village 23 \n",
"M6P West Toronto High Park, The Junction South 24 \n",
"M6R West Toronto Parkdale, Roncesvalles 14 \n",
"M6S West Toronto Runnymede, Swansea 40 \n",
"M7A Downtown Toronto Queen's Park 39 \n",
"M7Y East Toronto Business Reply Mail Processing Centre 969 Eastern 16 \n",
"\n",
" VenueLatitude \\\n",
"PostalCode Borough Neighborhood \n",
"M4E East Toronto The Beaches 5 \n",
"M4K East Toronto The Danforth West, Riverdale 42 \n",
"M4L East Toronto The Beaches West, India Bazaar 18 \n",
"M4M East Toronto Studio District 42 \n",
"M4N Central Toronto Lawrence Park 3 \n",
"M4P Central Toronto Davisville North 8 \n",
"M4R Central Toronto North Toronto West 21 \n",
"M4S Central Toronto Davisville 32 \n",
"M4T Central Toronto Moore Park, Summerhill East 1 \n",
"M4V Central Toronto Deer Park, Forest Hill SE, Rathnelly, South Hil... 15 \n",
"M4W Downtown Toronto Rosedale 4 \n",
"M4X Downtown Toronto Cabbagetown, St. James Town 47 \n",
"M4Y Downtown Toronto Church and Wellesley 82 \n",
"M5A Downtown Toronto Harbourfront 47 \n",
"M5B Downtown Toronto Ryerson, Garden District 100 \n",
"M5C Downtown Toronto St. James Town 100 \n",
"M5E Downtown Toronto Berczy Park 56 \n",
"M5G Downtown Toronto Central Bay Street 83 \n",
"M5H Downtown Toronto Adelaide, King, Richmond 100 \n",
"M5J Downtown Toronto Harbourfront East, Toronto Islands, Union Station 100 \n",
"M5K Downtown Toronto Design Exchange, Toronto Dominion Centre 100 \n",
"M5L Downtown Toronto Commerce Court, Victoria Hotel 100 \n",
"M5N Central Toronto Roselawn 3 \n",
"M5P Central Toronto Forest Hill North, Forest Hill West 4 \n",
"M5R Central Toronto The Annex, North Midtown, Yorkville 22 \n",
"M5S Downtown Toronto Harbord, University of Toronto 37 \n",
"M5T Downtown Toronto Chinatown, Grange Park, Kensington Market 87 \n",
"M5V Downtown Toronto CN Tower, Bathurst Quay, Island airport, Harbou... 16 \n",
"M5W Downtown Toronto Stn A PO Boxes 25 The Esplanade 95 \n",
"M5X Downtown Toronto First Canadian Place, Underground city 100 \n",
"M6G Downtown Toronto Christie 19 \n",
"M6H West Toronto Dovercourt Village, Dufferin 16 \n",
"M6J West Toronto Little Portugal, Trinity 53 \n",
"M6K West Toronto Brockton, Exhibition Place, Parkdale Village 23 \n",
"M6P West Toronto High Park, The Junction South 24 \n",
"M6R West Toronto Parkdale, Roncesvalles 14 \n",
"M6S West Toronto Runnymede, Swansea 40 \n",
"M7A Downtown Toronto Queen's Park 39 \n",
"M7Y East Toronto Business Reply Mail Processing Centre 969 Eastern 16 \n",
"\n",
" VenueLongitude \\\n",
"PostalCode Borough Neighborhood \n",
"M4E East Toronto The Beaches 5 \n",
"M4K East Toronto The Danforth West, Riverdale 42 \n",
"M4L East Toronto The Beaches West, India Bazaar 18 \n",
"M4M East Toronto Studio District 42 \n",
"M4N Central Toronto Lawrence Park 3 \n",
"M4P Central Toronto Davisville North 8 \n",
"M4R Central Toronto North Toronto West 21 \n",
"M4S Central Toronto Davisville 32 \n",
"M4T Central Toronto Moore Park, Summerhill East 1 \n",
"M4V Central Toronto Deer Park, Forest Hill SE, Rathnelly, South Hil... 15 \n",
"M4W Downtown Toronto Rosedale 4 \n",
"M4X Downtown Toronto Cabbagetown, St. James Town 47 \n",
"M4Y Downtown Toronto Church and Wellesley 82 \n",
"M5A Downtown Toronto Harbourfront 47 \n",
"M5B Downtown Toronto Ryerson, Garden District 100 \n",
"M5C Downtown Toronto St. James Town 100 \n",
"M5E Downtown Toronto Berczy Park 56 \n",
"M5G Downtown Toronto Central Bay Street 83 \n",
"M5H Downtown Toronto Adelaide, King, Richmond 100 \n",
"M5J Downtown Toronto Harbourfront East, Toronto Islands, Union Station 100 \n",
"M5K Downtown Toronto Design Exchange, Toronto Dominion Centre 100 \n",
"M5L Downtown Toronto Commerce Court, Victoria Hotel 100 \n",
"M5N Central Toronto Roselawn 3 \n",
"M5P Central Toronto Forest Hill North, Forest Hill West 4 \n",
"M5R Central Toronto The Annex, North Midtown, Yorkville 22 \n",
"M5S Downtown Toronto Harbord, University of Toronto 37 \n",
"M5T Downtown Toronto Chinatown, Grange Park, Kensington Market 87 \n",
"M5V Downtown Toronto CN Tower, Bathurst Quay, Island airport, Harbou... 16 \n",
"M5W Downtown Toronto Stn A PO Boxes 25 The Esplanade 95 \n",
"M5X Downtown Toronto First Canadian Place, Underground city 100 \n",
"M6G Downtown Toronto Christie 19 \n",
"M6H West Toronto Dovercourt Village, Dufferin 16 \n",
"M6J West Toronto Little Portugal, Trinity 53 \n",
"M6K West Toronto Brockton, Exhibition Place, Parkdale Village 23 \n",
"M6P West Toronto High Park, The Junction South 24 \n",
"M6R West Toronto Parkdale, Roncesvalles 14 \n",
"M6S West Toronto Runnymede, Swansea 40 \n",
"M7A Downtown Toronto Queen's Park 39 \n",
"M7Y East Toronto Business Reply Mail Processing Centre 969 Eastern 16 \n",
"\n",
" VenueCategory \n",
"PostalCode Borough Neighborhood \n",
"M4E East Toronto The Beaches 5 \n",
"M4K East Toronto The Danforth West, Riverdale 42 \n",
"M4L East Toronto The Beaches West, India Bazaar 18 \n",
"M4M East Toronto Studio District 42 \n",
"M4N Central Toronto Lawrence Park 3 \n",
"M4P Central Toronto Davisville North 8 \n",
"M4R Central Toronto North Toronto West 21 \n",
"M4S Central Toronto Davisville 32 \n",
"M4T Central Toronto Moore Park, Summerhill East 1 \n",
"M4V Central Toronto Deer Park, Forest Hill SE, Rathnelly, South Hil... 15 \n",
"M4W Downtown Toronto Rosedale 4 \n",
"M4X Downtown Toronto Cabbagetown, St. James Town 47 \n",
"M4Y Downtown Toronto Church and Wellesley 82 \n",
"M5A Downtown Toronto Harbourfront 47 \n",
"M5B Downtown Toronto Ryerson, Garden District 100 \n",
"M5C Downtown Toronto St. James Town 100 \n",
"M5E Downtown Toronto Berczy Park 56 \n",
"M5G Downtown Toronto Central Bay Street 83 \n",
"M5H Downtown Toronto Adelaide, King, Richmond 100 \n",
"M5J Downtown Toronto Harbourfront East, Toronto Islands, Union Station 100 \n",
"M5K Downtown Toronto Design Exchange, Toronto Dominion Centre 100 \n",
"M5L Downtown Toronto Commerce Court, Victoria Hotel 100 \n",
"M5N Central Toronto Roselawn 3 \n",
"M5P Central Toronto Forest Hill North, Forest Hill West 4 \n",
"M5R Central Toronto The Annex, North Midtown, Yorkville 22 \n",
"M5S Downtown Toronto Harbord, University of Toronto 37 \n",
"M5T Downtown Toronto Chinatown, Grange Park, Kensington Market 87 \n",
"M5V Downtown Toronto CN Tower, Bathurst Quay, Island airport, Harbou... 16 \n",
"M5W Downtown Toronto Stn A PO Boxes 25 The Esplanade 95 \n",
"M5X Downtown Toronto First Canadian Place, Underground city 100 \n",
"M6G Downtown Toronto Christie 19 \n",
"M6H West Toronto Dovercourt Village, Dufferin 16 \n",
"M6J West Toronto Little Portugal, Trinity 53 \n",
"M6K West Toronto Brockton, Exhibition Place, Parkdale Village 23 \n",
"M6P West Toronto High Park, The Junction South 24 \n",
"M6R West Toronto Parkdale, Roncesvalles 14 \n",
"M6S West Toronto Runnymede, Swansea 40 \n",
"M7A Downtown Toronto Queen's Park 39 \n",
"M7Y East Toronto Business Reply Mail Processing Centre 969 Eastern 16 "
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"venues_df.groupby([\"PostalCode\", \"Borough\", \"Neighborhood\"]).count()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Let's find out how many unique categories can be curated from all the returned venues**"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"There are 230 uniques categories.\n"
]
}
],
"source": [
"print('There are {} uniques categories.'.format(len(venues_df['VenueCategory'].unique())))"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['Trail', 'Health Food Store', 'Pub', 'Neighborhood',\n",
" 'Asian Restaurant', 'Greek Restaurant', 'Cosmetics Shop',\n",
" 'Italian Restaurant', 'Ice Cream Shop', 'Brewery', 'Yoga Studio',\n",
" 'Fruit & Vegetable Store', 'Dessert Shop', 'Pizza Place',\n",
" 'Bookstore', 'Restaurant', 'Juice Bar', 'Bubble Tea Shop', 'Diner',\n",
" 'Spa', 'Furniture / Home Store', 'Grocery Store', 'Coffee Shop',\n",
" 'Bakery', 'Caribbean Restaurant', 'Frozen Yogurt Shop',\n",
" 'American Restaurant', 'Liquor Store', 'Gym', 'Burger Joint',\n",
" 'Fish & Chips Shop', 'Park', 'Sushi Restaurant', 'Burrito Place',\n",
" 'Pet Store', 'Steakhouse', 'Fast Food Restaurant', 'Movie Theater',\n",
" 'Sandwich Place', 'Light Rail Station', 'Fish Market', 'Café',\n",
" 'Cheese Shop', 'Gay Bar', 'Seafood Restaurant',\n",
" 'Middle Eastern Restaurant', 'Comfort Food Restaurant',\n",
" 'Thai Restaurant', 'Stationery Store', 'Wine Bar'], dtype=object)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"venues_df['VenueCategory'].unique()[:50]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 15. Analyze Each Area"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1714, 233)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhoods</th>\n",
" <th>Afghan Restaurant</th>\n",
" <th>Airport</th>\n",
" <th>Airport Food Court</th>\n",
" <th>Airport Gate</th>\n",
" <th>Airport Lounge</th>\n",
" <th>Airport Service</th>\n",
" <th>Airport Terminal</th>\n",
" <th>American Restaurant</th>\n",
" <th>Antique Shop</th>\n",
" <th>Aquarium</th>\n",
" <th>Art Gallery</th>\n",
" <th>Arts &amp; Crafts Store</th>\n",
" <th>Asian Restaurant</th>\n",
" <th>Athletics &amp; Sports</th>\n",
" <th>Auto Workshop</th>\n",
" <th>BBQ Joint</th>\n",
" <th>Baby Store</th>\n",
" <th>Bagel Shop</th>\n",
" <th>Bakery</th>\n",
" <th>Bank</th>\n",
" <th>Bar</th>\n",
" <th>Baseball Stadium</th>\n",
" <th>Basketball Stadium</th>\n",
" <th>Beach</th>\n",
" <th>Bed &amp; Breakfast</th>\n",
" <th>Beer Bar</th>\n",
" <th>Beer Store</th>\n",
" <th>Belgian Restaurant</th>\n",
" <th>Bistro</th>\n",
" <th>Boat or Ferry</th>\n",
" <th>Bookstore</th>\n",
" <th>Boutique</th>\n",
" <th>Brazilian Restaurant</th>\n",
" <th>Breakfast Spot</th>\n",
" <th>Brewery</th>\n",
" <th>Bubble Tea Shop</th>\n",
" <th>Building</th>\n",
" <th>Burger Joint</th>\n",
" <th>Burrito Place</th>\n",
" <th>Bus Line</th>\n",
" <th>Butcher</th>\n",
" <th>Café</th>\n",
" <th>Cajun / Creole Restaurant</th>\n",
" <th>Camera Store</th>\n",
" <th>Candy Store</th>\n",
" <th>Caribbean Restaurant</th>\n",
" <th>Cheese Shop</th>\n",
" <th>Chinese Restaurant</th>\n",
" <th>Chocolate Shop</th>\n",
" <th>Church</th>\n",
" <th>Climbing Gym</th>\n",
" <th>Clothing Store</th>\n",
" <th>Cocktail Bar</th>\n",
" <th>Coffee Shop</th>\n",
" <th>College Arts Building</th>\n",
" <th>College Auditorium</th>\n",
" <th>College Gym</th>\n",
" <th>College Rec Center</th>\n",
" <th>Colombian Restaurant</th>\n",
" <th>Comfort Food Restaurant</th>\n",
" <th>Comic Shop</th>\n",
" <th>Concert Hall</th>\n",
" <th>Convenience Store</th>\n",
" <th>Cosmetics Shop</th>\n",
" <th>Coworking Space</th>\n",
" <th>Creperie</th>\n",
" <th>Cuban Restaurant</th>\n",
" <th>Cupcake Shop</th>\n",
" <th>Dance Studio</th>\n",
" <th>Deli / Bodega</th>\n",
" <th>Department Store</th>\n",
" <th>Dessert Shop</th>\n",
" <th>Dim Sum Restaurant</th>\n",
" <th>Diner</th>\n",
" <th>Discount Store</th>\n",
" <th>Dog Run</th>\n",
" <th>Doner Restaurant</th>\n",
" <th>Donut Shop</th>\n",
" <th>Dumpling Restaurant</th>\n",
" <th>Eastern European Restaurant</th>\n",
" <th>Electronics Store</th>\n",
" <th>Ethiopian Restaurant</th>\n",
" <th>Event Space</th>\n",
" <th>Falafel Restaurant</th>\n",
" <th>Farmers Market</th>\n",
" <th>Fast Food Restaurant</th>\n",
" <th>Filipino Restaurant</th>\n",
" <th>Fish &amp; Chips Shop</th>\n",
" <th>Fish Market</th>\n",
" <th>Flea Market</th>\n",
" <th>Flower Shop</th>\n",
" <th>Food</th>\n",
" <th>Food &amp; Drink Shop</th>\n",
" <th>Food Court</th>\n",
" <th>Food Truck</th>\n",
" <th>Fountain</th>\n",
" <th>French Restaurant</th>\n",
" <th>Fried Chicken Joint</th>\n",
" <th>Frozen Yogurt Shop</th>\n",
" <th>Fruit &amp; Vegetable Store</th>\n",
" <th>Furniture / Home Store</th>\n",
" <th>Gaming Cafe</th>\n",
" <th>Garden</th>\n",
" <th>Garden Center</th>\n",
" <th>Gas Station</th>\n",
" <th>Gastropub</th>\n",
" <th>Gay Bar</th>\n",
" <th>General Entertainment</th>\n",
" <th>General Travel</th>\n",
" <th>German Restaurant</th>\n",
" <th>Gift Shop</th>\n",
" <th>Gluten-free Restaurant</th>\n",
" <th>Gourmet Shop</th>\n",
" <th>Greek Restaurant</th>\n",
" <th>Grocery Store</th>\n",
" <th>Gym</th>\n",
" <th>Gym / Fitness Center</th>\n",
" <th>Harbor / Marina</th>\n",
" <th>Health &amp; Beauty Service</th>\n",
" <th>Health Food Store</th>\n",
" <th>Historic Site</th>\n",
" <th>History Museum</th>\n",
" <th>Hobby Shop</th>\n",
" <th>Home Service</th>\n",
" <th>Hookah Bar</th>\n",
" <th>Hospital</th>\n",
" <th>Hostel</th>\n",
" <th>Hotel</th>\n",
" <th>Hotel Bar</th>\n",
" <th>IT Services</th>\n",
" <th>Ice Cream Shop</th>\n",
" <th>Indian Restaurant</th>\n",
" <th>Indie Movie Theater</th>\n",
" <th>Intersection</th>\n",
" <th>Italian Restaurant</th>\n",
" <th>Japanese Restaurant</th>\n",
" <th>Jazz Club</th>\n",
" <th>Jewelry Store</th>\n",
" <th>Juice Bar</th>\n",
" <th>Korean Restaurant</th>\n",
" <th>Lake</th>\n",
" <th>Latin American Restaurant</th>\n",
" <th>Light Rail Station</th>\n",
" <th>Lingerie Store</th>\n",
" <th>Liquor Store</th>\n",
" <th>Lounge</th>\n",
" <th>Market</th>\n",
" <th>Mediterranean Restaurant</th>\n",
" <th>Men's Store</th>\n",
" <th>Metro Station</th>\n",
" <th>Mexican Restaurant</th>\n",
" <th>Middle Eastern Restaurant</th>\n",
" <th>Miscellaneous Shop</th>\n",
" <th>Modern European Restaurant</th>\n",
" <th>Molecular Gastronomy Restaurant</th>\n",
" <th>Monument / Landmark</th>\n",
" <th>Movie Theater</th>\n",
" <th>Museum</th>\n",
" <th>Music Store</th>\n",
" <th>Music Venue</th>\n",
" <th>Neighborhood</th>\n",
" <th>New American Restaurant</th>\n",
" <th>Nightclub</th>\n",
" <th>Noodle House</th>\n",
" <th>Office</th>\n",
" <th>Opera House</th>\n",
" <th>Optical Shop</th>\n",
" <th>Organic Grocery</th>\n",
" <th>Other Great Outdoors</th>\n",
" <th>Park</th>\n",
" <th>Performing Arts Venue</th>\n",
" <th>Pet Store</th>\n",
" <th>Pharmacy</th>\n",
" <th>Pizza Place</th>\n",
" <th>Plane</th>\n",
" <th>Playground</th>\n",
" <th>Plaza</th>\n",
" <th>Poke Place</th>\n",
" <th>Portuguese Restaurant</th>\n",
" <th>Post Office</th>\n",
" <th>Poutine Place</th>\n",
" <th>Pub</th>\n",
" <th>Ramen Restaurant</th>\n",
" <th>Record Shop</th>\n",
" <th>Recording Studio</th>\n",
" <th>Rental Car Location</th>\n",
" <th>Restaurant</th>\n",
" <th>Roof Deck</th>\n",
" <th>Sake Bar</th>\n",
" <th>Salad Place</th>\n",
" <th>Salon / Barbershop</th>\n",
" <th>Sandwich Place</th>\n",
" <th>Scenic Lookout</th>\n",
" <th>Sculpture Garden</th>\n",
" <th>Seafood Restaurant</th>\n",
" <th>Shoe Store</th>\n",
" <th>Shopping Mall</th>\n",
" <th>Skate Park</th>\n",
" <th>Skating Rink</th>\n",
" <th>Smoke Shop</th>\n",
" <th>Snack Place</th>\n",
" <th>Southern / Soul Food Restaurant</th>\n",
" <th>Spa</th>\n",
" <th>Speakeasy</th>\n",
" <th>Sporting Goods Shop</th>\n",
" <th>Sports Bar</th>\n",
" <th>Stadium</th>\n",
" <th>Stationery Store</th>\n",
" <th>Steakhouse</th>\n",
" <th>Strip Club</th>\n",
" <th>Supermarket</th>\n",
" <th>Sushi Restaurant</th>\n",
" <th>Swim School</th>\n",
" <th>Tailor Shop</th>\n",
" <th>Taiwanese Restaurant</th>\n",
" <th>Tanning Salon</th>\n",
" <th>Tea Room</th>\n",
" <th>Tennis Court</th>\n",
" <th>Thai Restaurant</th>\n",
" <th>Theater</th>\n",
" <th>Theme Restaurant</th>\n",
" <th>Toy / Game Store</th>\n",
" <th>Trail</th>\n",
" <th>Train Station</th>\n",
" <th>Vegetarian / Vegan Restaurant</th>\n",
" <th>Video Game Store</th>\n",
" <th>Vietnamese Restaurant</th>\n",
" <th>Wine Bar</th>\n",
" <th>Women's Store</th>\n",
" <th>Yoga Studio</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough Neighborhoods Afghan Restaurant Airport \\\n",
"0 M4E East Toronto The Beaches 0 0 \n",
"1 M4E East Toronto The Beaches 0 0 \n",
"2 M4E East Toronto The Beaches 0 0 \n",
"3 M4E East Toronto The Beaches 0 0 \n",
"4 M4E East Toronto The Beaches 0 0 \n",
"\n",
" Airport Food Court Airport Gate Airport Lounge Airport Service \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Airport Terminal American Restaurant Antique Shop Aquarium Art Gallery \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Arts & Crafts Store Asian Restaurant Athletics & Sports Auto Workshop \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 1 0 0 \n",
"\n",
" BBQ Joint Baby Store Bagel Shop Bakery Bank Bar Baseball Stadium \\\n",
"0 0 0 0 0 0 0 0 \n",
"1 0 0 0 0 0 0 0 \n",
"2 0 0 0 0 0 0 0 \n",
"3 0 0 0 0 0 0 0 \n",
"4 0 0 0 0 0 0 0 \n",
"\n",
" Basketball Stadium Beach Bed & Breakfast Beer Bar Beer Store \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Belgian Restaurant Bistro Boat or Ferry Bookstore Boutique \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Brazilian Restaurant Breakfast Spot Brewery Bubble Tea Shop Building \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Burger Joint Burrito Place Bus Line Butcher Café \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Cajun / Creole Restaurant Camera Store Candy Store Caribbean Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Cheese Shop Chinese Restaurant Chocolate Shop Church Climbing Gym \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Clothing Store Cocktail Bar Coffee Shop College Arts Building \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" College Auditorium College Gym College Rec Center Colombian Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Comfort Food Restaurant Comic Shop Concert Hall Convenience Store \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Cosmetics Shop Coworking Space Creperie Cuban Restaurant Cupcake Shop \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Dance Studio Deli / Bodega Department Store Dessert Shop \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Dim Sum Restaurant Diner Discount Store Dog Run Doner Restaurant \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Donut Shop Dumpling Restaurant Eastern European Restaurant \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" Electronics Store Ethiopian Restaurant Event Space Falafel Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Farmers Market Fast Food Restaurant Filipino Restaurant \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" Fish & Chips Shop Fish Market Flea Market Flower Shop Food \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Food & Drink Shop Food Court Food Truck Fountain French Restaurant \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Fried Chicken Joint Frozen Yogurt Shop Fruit & Vegetable Store \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" Furniture / Home Store Gaming Cafe Garden Garden Center Gas Station \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Gastropub Gay Bar General Entertainment General Travel \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" German Restaurant Gift Shop Gluten-free Restaurant Gourmet Shop \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Greek Restaurant Grocery Store Gym Gym / Fitness Center \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Harbor / Marina Health & Beauty Service Health Food Store Historic Site \\\n",
"0 0 0 0 0 \n",
"1 0 0 1 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" History Museum Hobby Shop Home Service Hookah Bar Hospital Hostel \\\n",
"0 0 0 0 0 0 0 \n",
"1 0 0 0 0 0 0 \n",
"2 0 0 0 0 0 0 \n",
"3 0 0 0 0 0 0 \n",
"4 0 0 0 0 0 0 \n",
"\n",
" Hotel Hotel Bar IT Services Ice Cream Shop Indian Restaurant \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Indie Movie Theater Intersection Italian Restaurant Japanese Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Jazz Club Jewelry Store Juice Bar Korean Restaurant Lake \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Latin American Restaurant Light Rail Station Lingerie Store \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" Liquor Store Lounge Market Mediterranean Restaurant Men's Store \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Metro Station Mexican Restaurant Middle Eastern Restaurant \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" Miscellaneous Shop Modern European Restaurant \\\n",
"0 0 0 \n",
"1 0 0 \n",
"2 0 0 \n",
"3 0 0 \n",
"4 0 0 \n",
"\n",
" Molecular Gastronomy Restaurant Monument / Landmark Movie Theater \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" Museum Music Store Music Venue Neighborhood New American Restaurant \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 1 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Nightclub Noodle House Office Opera House Optical Shop \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Organic Grocery Other Great Outdoors Park Performing Arts Venue \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Pet Store Pharmacy Pizza Place Plane Playground Plaza Poke Place \\\n",
"0 0 0 0 0 0 0 0 \n",
"1 0 0 0 0 0 0 0 \n",
"2 0 0 0 0 0 0 0 \n",
"3 0 0 0 0 0 0 0 \n",
"4 0 0 0 0 0 0 0 \n",
"\n",
" Portuguese Restaurant Post Office Poutine Place Pub Ramen Restaurant \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 1 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Record Shop Recording Studio Rental Car Location Restaurant Roof Deck \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Sake Bar Salad Place Salon / Barbershop Sandwich Place Scenic Lookout \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Sculpture Garden Seafood Restaurant Shoe Store Shopping Mall \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Skate Park Skating Rink Smoke Shop Snack Place \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Southern / Soul Food Restaurant Spa Speakeasy Sporting Goods Shop \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Sports Bar Stadium Stationery Store Steakhouse Strip Club Supermarket \\\n",
"0 0 0 0 0 0 0 \n",
"1 0 0 0 0 0 0 \n",
"2 0 0 0 0 0 0 \n",
"3 0 0 0 0 0 0 \n",
"4 0 0 0 0 0 0 \n",
"\n",
" Sushi Restaurant Swim School Tailor Shop Taiwanese Restaurant \\\n",
"0 0 0 0 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Tanning Salon Tea Room Tennis Court Thai Restaurant Theater \\\n",
"0 0 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"2 0 0 0 0 0 \n",
"3 0 0 0 0 0 \n",
"4 0 0 0 0 0 \n",
"\n",
" Theme Restaurant Toy / Game Store Trail Train Station \\\n",
"0 0 0 1 0 \n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" Vegetarian / Vegan Restaurant Video Game Store Vietnamese Restaurant \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" Wine Bar Women's Store Yoga Studio \n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 "
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# one hot encoding\n",
"toronto_onehot = pd.get_dummies(venues_df[['VenueCategory']], prefix=\"\", prefix_sep=\"\")\n",
"\n",
"# add postal, borough and neighborhood column back to dataframe\n",
"toronto_onehot['PostalCode'] = venues_df['PostalCode'] \n",
"toronto_onehot['Borough'] = venues_df['Borough'] \n",
"toronto_onehot['Neighborhoods'] = venues_df['Neighborhood'] \n",
"\n",
"# move postal, borough and neighborhood column to the first column\n",
"fixed_columns = list(toronto_onehot.columns[-3:]) + list(toronto_onehot.columns[:-3])\n",
"toronto_onehot = toronto_onehot[fixed_columns]\n",
"\n",
"print(toronto_onehot.shape)\n",
"toronto_onehot.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Next, let's group rows by neighborhood and by taking the mean of the frequency of occurrence of each category**"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(39, 233)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhoods</th>\n",
" <th>Afghan Restaurant</th>\n",
" <th>Airport</th>\n",
" <th>Airport Food Court</th>\n",
" <th>Airport Gate</th>\n",
" <th>Airport Lounge</th>\n",
" <th>Airport Service</th>\n",
" <th>Airport Terminal</th>\n",
" <th>American Restaurant</th>\n",
" <th>Antique Shop</th>\n",
" <th>Aquarium</th>\n",
" <th>Art Gallery</th>\n",
" <th>Arts &amp; Crafts Store</th>\n",
" <th>Asian Restaurant</th>\n",
" <th>Athletics &amp; Sports</th>\n",
" <th>Auto Workshop</th>\n",
" <th>BBQ Joint</th>\n",
" <th>Baby Store</th>\n",
" <th>Bagel Shop</th>\n",
" <th>Bakery</th>\n",
" <th>Bank</th>\n",
" <th>Bar</th>\n",
" <th>Baseball Stadium</th>\n",
" <th>Basketball Stadium</th>\n",
" <th>Beach</th>\n",
" <th>Bed &amp; Breakfast</th>\n",
" <th>Beer Bar</th>\n",
" <th>Beer Store</th>\n",
" <th>Belgian Restaurant</th>\n",
" <th>Bistro</th>\n",
" <th>Boat or Ferry</th>\n",
" <th>Bookstore</th>\n",
" <th>Boutique</th>\n",
" <th>Brazilian Restaurant</th>\n",
" <th>Breakfast Spot</th>\n",
" <th>Brewery</th>\n",
" <th>Bubble Tea Shop</th>\n",
" <th>Building</th>\n",
" <th>Burger Joint</th>\n",
" <th>Burrito Place</th>\n",
" <th>Bus Line</th>\n",
" <th>Butcher</th>\n",
" <th>Café</th>\n",
" <th>Cajun / Creole Restaurant</th>\n",
" <th>Camera Store</th>\n",
" <th>Candy Store</th>\n",
" <th>Caribbean Restaurant</th>\n",
" <th>Cheese Shop</th>\n",
" <th>Chinese Restaurant</th>\n",
" <th>Chocolate Shop</th>\n",
" <th>Church</th>\n",
" <th>Climbing Gym</th>\n",
" <th>Clothing Store</th>\n",
" <th>Cocktail Bar</th>\n",
" <th>Coffee Shop</th>\n",
" <th>College Arts Building</th>\n",
" <th>College Auditorium</th>\n",
" <th>College Gym</th>\n",
" <th>College Rec Center</th>\n",
" <th>Colombian Restaurant</th>\n",
" <th>Comfort Food Restaurant</th>\n",
" <th>Comic Shop</th>\n",
" <th>Concert Hall</th>\n",
" <th>Convenience Store</th>\n",
" <th>Cosmetics Shop</th>\n",
" <th>Coworking Space</th>\n",
" <th>Creperie</th>\n",
" <th>Cuban Restaurant</th>\n",
" <th>Cupcake Shop</th>\n",
" <th>Dance Studio</th>\n",
" <th>Deli / Bodega</th>\n",
" <th>Department Store</th>\n",
" <th>Dessert Shop</th>\n",
" <th>Dim Sum Restaurant</th>\n",
" <th>Diner</th>\n",
" <th>Discount Store</th>\n",
" <th>Dog Run</th>\n",
" <th>Doner Restaurant</th>\n",
" <th>Donut Shop</th>\n",
" <th>Dumpling Restaurant</th>\n",
" <th>Eastern European Restaurant</th>\n",
" <th>Electronics Store</th>\n",
" <th>Ethiopian Restaurant</th>\n",
" <th>Event Space</th>\n",
" <th>Falafel Restaurant</th>\n",
" <th>Farmers Market</th>\n",
" <th>Fast Food Restaurant</th>\n",
" <th>Filipino Restaurant</th>\n",
" <th>Fish &amp; Chips Shop</th>\n",
" <th>Fish Market</th>\n",
" <th>Flea Market</th>\n",
" <th>Flower Shop</th>\n",
" <th>Food</th>\n",
" <th>Food &amp; Drink Shop</th>\n",
" <th>Food Court</th>\n",
" <th>Food Truck</th>\n",
" <th>Fountain</th>\n",
" <th>French Restaurant</th>\n",
" <th>Fried Chicken Joint</th>\n",
" <th>Frozen Yogurt Shop</th>\n",
" <th>Fruit &amp; Vegetable Store</th>\n",
" <th>Furniture / Home Store</th>\n",
" <th>Gaming Cafe</th>\n",
" <th>Garden</th>\n",
" <th>Garden Center</th>\n",
" <th>Gas Station</th>\n",
" <th>Gastropub</th>\n",
" <th>Gay Bar</th>\n",
" <th>General Entertainment</th>\n",
" <th>General Travel</th>\n",
" <th>German Restaurant</th>\n",
" <th>Gift Shop</th>\n",
" <th>Gluten-free Restaurant</th>\n",
" <th>Gourmet Shop</th>\n",
" <th>Greek Restaurant</th>\n",
" <th>Grocery Store</th>\n",
" <th>Gym</th>\n",
" <th>Gym / Fitness Center</th>\n",
" <th>Harbor / Marina</th>\n",
" <th>Health &amp; Beauty Service</th>\n",
" <th>Health Food Store</th>\n",
" <th>Historic Site</th>\n",
" <th>History Museum</th>\n",
" <th>Hobby Shop</th>\n",
" <th>Home Service</th>\n",
" <th>Hookah Bar</th>\n",
" <th>Hospital</th>\n",
" <th>Hostel</th>\n",
" <th>Hotel</th>\n",
" <th>Hotel Bar</th>\n",
" <th>IT Services</th>\n",
" <th>Ice Cream Shop</th>\n",
" <th>Indian Restaurant</th>\n",
" <th>Indie Movie Theater</th>\n",
" <th>Intersection</th>\n",
" <th>Italian Restaurant</th>\n",
" <th>Japanese Restaurant</th>\n",
" <th>Jazz Club</th>\n",
" <th>Jewelry Store</th>\n",
" <th>Juice Bar</th>\n",
" <th>Korean Restaurant</th>\n",
" <th>Lake</th>\n",
" <th>Latin American Restaurant</th>\n",
" <th>Light Rail Station</th>\n",
" <th>Lingerie Store</th>\n",
" <th>Liquor Store</th>\n",
" <th>Lounge</th>\n",
" <th>Market</th>\n",
" <th>Mediterranean Restaurant</th>\n",
" <th>Men's Store</th>\n",
" <th>Metro Station</th>\n",
" <th>Mexican Restaurant</th>\n",
" <th>Middle Eastern Restaurant</th>\n",
" <th>Miscellaneous Shop</th>\n",
" <th>Modern European Restaurant</th>\n",
" <th>Molecular Gastronomy Restaurant</th>\n",
" <th>Monument / Landmark</th>\n",
" <th>Movie Theater</th>\n",
" <th>Museum</th>\n",
" <th>Music Store</th>\n",
" <th>Music Venue</th>\n",
" <th>Neighborhood</th>\n",
" <th>New American Restaurant</th>\n",
" <th>Nightclub</th>\n",
" <th>Noodle House</th>\n",
" <th>Office</th>\n",
" <th>Opera House</th>\n",
" <th>Optical Shop</th>\n",
" <th>Organic Grocery</th>\n",
" <th>Other Great Outdoors</th>\n",
" <th>Park</th>\n",
" <th>Performing Arts Venue</th>\n",
" <th>Pet Store</th>\n",
" <th>Pharmacy</th>\n",
" <th>Pizza Place</th>\n",
" <th>Plane</th>\n",
" <th>Playground</th>\n",
" <th>Plaza</th>\n",
" <th>Poke Place</th>\n",
" <th>Portuguese Restaurant</th>\n",
" <th>Post Office</th>\n",
" <th>Poutine Place</th>\n",
" <th>Pub</th>\n",
" <th>Ramen Restaurant</th>\n",
" <th>Record Shop</th>\n",
" <th>Recording Studio</th>\n",
" <th>Rental Car Location</th>\n",
" <th>Restaurant</th>\n",
" <th>Roof Deck</th>\n",
" <th>Sake Bar</th>\n",
" <th>Salad Place</th>\n",
" <th>Salon / Barbershop</th>\n",
" <th>Sandwich Place</th>\n",
" <th>Scenic Lookout</th>\n",
" <th>Sculpture Garden</th>\n",
" <th>Seafood Restaurant</th>\n",
" <th>Shoe Store</th>\n",
" <th>Shopping Mall</th>\n",
" <th>Skate Park</th>\n",
" <th>Skating Rink</th>\n",
" <th>Smoke Shop</th>\n",
" <th>Snack Place</th>\n",
" <th>Southern / Soul Food Restaurant</th>\n",
" <th>Spa</th>\n",
" <th>Speakeasy</th>\n",
" <th>Sporting Goods Shop</th>\n",
" <th>Sports Bar</th>\n",
" <th>Stadium</th>\n",
" <th>Stationery Store</th>\n",
" <th>Steakhouse</th>\n",
" <th>Strip Club</th>\n",
" <th>Supermarket</th>\n",
" <th>Sushi Restaurant</th>\n",
" <th>Swim School</th>\n",
" <th>Tailor Shop</th>\n",
" <th>Taiwanese Restaurant</th>\n",
" <th>Tanning Salon</th>\n",
" <th>Tea Room</th>\n",
" <th>Tennis Court</th>\n",
" <th>Thai Restaurant</th>\n",
" <th>Theater</th>\n",
" <th>Theme Restaurant</th>\n",
" <th>Toy / Game Store</th>\n",
" <th>Trail</th>\n",
" <th>Train Station</th>\n",
" <th>Vegetarian / Vegan Restaurant</th>\n",
" <th>Video Game Store</th>\n",
" <th>Vietnamese Restaurant</th>\n",
" <th>Wine Bar</th>\n",
" <th>Women's Store</th>\n",
" <th>Yoga Studio</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.200000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.200000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.20000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.200000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.20000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M4K</td>\n",
" <td>East Toronto</td>\n",
" <td>The Danforth West, Riverdale</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.023810</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.095238</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02381</td>\n",
" <td>0.02381</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.214286</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.02381</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.023810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M4L</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches West, India Bazaar</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.055556</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.055556</td>\n",
" <td>0.00</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.055556</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M4M</td>\n",
" <td>East Toronto</td>\n",
" <td>Studio District</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.023810</td>\n",
" <td>0.023810</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.095238</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.02381</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.02381</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.02381</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02381</td>\n",
" <td>0.000000</td>\n",
" <td>0.02381</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02381</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.023810</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.023810</td>\n",
" <td>0.00</td>\n",
" <td>0.023810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4N</td>\n",
" <td>Central Toronto</td>\n",
" <td>Lawrence Park</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.333333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.333333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.333333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>M4P</td>\n",
" <td>Central Toronto</td>\n",
" <td>Davisville North</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.125000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>M4R</td>\n",
" <td>Central Toronto</td>\n",
" <td>North Toronto West</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.190476</td>\n",
" <td>0.000000</td>\n",
" <td>0.095238</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.047619</td>\n",
" <td>0.047619</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.047619</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.047619</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>M4S</td>\n",
" <td>Central Toronto</td>\n",
" <td>Davisville</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.031250</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.093750</td>\n",
" <td>0.000000</td>\n",
" <td>0.031250</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.031250</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.031250</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.031250</td>\n",
" <td>0.031250</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.031250</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.031250</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.031250</td>\n",
" <td>0.093750</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.031250</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.093750</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.031250</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.031250</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.03125</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>M4T</td>\n",
" <td>Central Toronto</td>\n",
" <td>Moore Park, Summerhill East</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>1.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>M4V</td>\n",
" <td>Central Toronto</td>\n",
" <td>Deer Park, Forest Hill SE, Rathnelly, South Hi...</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.066667</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.133333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.066667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.066667</td>\n",
" <td>0.00</td>\n",
" <td>0.066667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.133333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.066667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>M4W</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Rosedale</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.500000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.250000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.25000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>M4X</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Cabbagetown, St. James Town</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.042553</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.042553</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.106383</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.00000</td>\n",
" <td>0.021277</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.021277</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.042553</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.042553</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.042553</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.021277</td>\n",
" <td>0.042553</td>\n",
" <td>0.0000</td>\n",
" <td>0.021277</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.042553</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.042553</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>M4Y</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Church and Wellesley</td>\n",
" <td>0.012195</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.00</td>\n",
" <td>0.024390</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.024390</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.073171</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.024390</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.012195</td>\n",
" <td>0.024390</td>\n",
" <td>0.04878</td>\n",
" <td>0.012195</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.024390</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.024390</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.012195</td>\n",
" <td>0.012195</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.048780</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02439</td>\n",
" <td>0.024390</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.024390</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.036585</td>\n",
" <td>0.00</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.012195</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.012195</td>\n",
" <td>0.012195</td>\n",
" <td>0.000000</td>\n",
" <td>0.048780</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.012195</td>\n",
" <td>0.012195</td>\n",
" <td>0.012195</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.012195</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.00</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.063830</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.042553</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.063830</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.170213</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.042553</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.063830</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.063830</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.042553</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.021277</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.021277</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>M5B</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Ryerson, Garden District</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.080000</td>\n",
" <td>0.000000</td>\n",
" <td>0.090000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.020000</td>\n",
" <td>0.0</td>\n",
" <td>0.010000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>M5C</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>St. James Town</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.060000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.030000</td>\n",
" <td>0.080000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.050000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>M5E</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Berczy Park</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.035714</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.035714</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.035714</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.035714</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.053571</td>\n",
" <td>0.089286</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.035714</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.017857</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.035714</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.035714</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.0</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.017857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>M5G</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Central Bay Street</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.024096</td>\n",
" <td>0.000000</td>\n",
" <td>0.024096</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.00</td>\n",
" <td>0.036145</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.048193</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.024096</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.156627</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.024096</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.012048</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.012048</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.048193</td>\n",
" <td>0.012048</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.048193</td>\n",
" <td>0.036145</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.036145</td>\n",
" <td>0.012048</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.012048</td>\n",
" <td>0.012048</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.024096</td>\n",
" <td>0.000000</td>\n",
" <td>0.036145</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.024096</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.012048</td>\n",
" <td>0.0</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.012048</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.012048</td>\n",
" <td>0.00</td>\n",
" <td>0.012048</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>M5H</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Adelaide, King, Richmond</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.070000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.040000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>M5J</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront East, Toronto Islands, Union Station</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.05</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.02</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.120000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.020000</td>\n",
" <td>0.01000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.02</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.03</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>M5K</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Design Exchange, Toronto Dominion Centre</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.080000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.120000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.070000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.040000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.0</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>M5L</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Commerce Court, Victoria Hotel</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.070000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.120000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.050000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.020000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.050000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.0</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>M5N</td>\n",
" <td>Central Toronto</td>\n",
" <td>Roselawn</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.333333</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.333333</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.333333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>M5P</td>\n",
" <td>Central Toronto</td>\n",
" <td>Forest Hill North, Forest Hill West</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.250000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.250000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.250000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.25000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>M5R</td>\n",
" <td>Central Toronto</td>\n",
" <td>The Annex, North Midtown, Yorkville</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.136364</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.090909</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.045455</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.136364</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.045455</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>M5S</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbord, University of Toronto</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.054054</td>\n",
" <td>0.000000</td>\n",
" <td>0.054054</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.054054</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.135135</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.027027</td>\n",
" <td>0.027027</td>\n",
" <td>0.027027</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.054054</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.027027</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.054054</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.054054</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.027027</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.027027</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>M5T</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Chinatown, Grange Park, Kensington Market</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.022989</td>\n",
" <td>0.000000</td>\n",
" <td>0.057471</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.011494</td>\n",
" <td>0.011494</td>\n",
" <td>0.011494</td>\n",
" <td>0.00</td>\n",
" <td>0.022989</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.068966</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.011494</td>\n",
" <td>0.057471</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.022989</td>\n",
" <td>0.045977</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.022989</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.022989</td>\n",
" <td>0.045977</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.022989</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.011494</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.022989</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.00</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.034483</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.00</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.011494</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.011494</td>\n",
" <td>0.0</td>\n",
" <td>0.011494</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.045977</td>\n",
" <td>0.000000</td>\n",
" <td>0.068966</td>\n",
" <td>0.011494</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>M5V</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>CN Tower, Bathurst Quay, Island airport, Harbo...</td>\n",
" <td>0.000000</td>\n",
" <td>0.0625</td>\n",
" <td>0.0625</td>\n",
" <td>0.0625</td>\n",
" <td>0.125</td>\n",
" <td>0.125</td>\n",
" <td>0.125</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0625</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0625</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0625</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>M5W</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Stn A PO Boxes 25 The Esplanade</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.00</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.031579</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.0000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.042105</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.031579</td>\n",
" <td>0.136842</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.00000</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.010526</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.031579</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.031579</td>\n",
" <td>0.031579</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.010526</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.021053</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.031579</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.031579</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.0</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.010526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>M5X</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>First Canadian Place, Underground city</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.070000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.120000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.010000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.020000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.01</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.040000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.030000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.040000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.020000</td>\n",
" <td>0.0</td>\n",
" <td>0.010000</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.01</td>\n",
" <td>0.010000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>M6G</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Christie</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.052632</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.052632</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.052632</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.157895</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.052632</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.052632</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.052632</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.052632</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.210526</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.052632</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.052632</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.105263</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.052632</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>M6H</td>\n",
" <td>West Toronto</td>\n",
" <td>Dovercourt Village, Dufferin</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.125000</td>\n",
" <td>0.062500</td>\n",
" <td>0.062500</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.062500</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0625</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>M6J</td>\n",
" <td>West Toronto</td>\n",
" <td>Little Portugal, Trinity</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.056604</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.132075</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.037736</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.056604</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.018868</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.018868</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.037736</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.018868</td>\n",
" <td>0.00000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.037736</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.056604</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.018868</td>\n",
" <td>0.000000</td>\n",
" <td>0.037736</td>\n",
" <td>0.018868</td>\n",
" <td>0.00</td>\n",
" <td>0.018868</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>M6K</td>\n",
" <td>West Toronto</td>\n",
" <td>Brockton, Exhibition Place, Parkdale Village</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.086957</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.086957</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.086957</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.043478</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.043478</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.043478</td>\n",
" <td>0.043478</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.086957</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.043478</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.043478</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.043478</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>M6P</td>\n",
" <td>West Toronto</td>\n",
" <td>High Park, The Junction South</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.083333</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.083333</td>\n",
" <td>0.041667</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.083333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.041667</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.041667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.083333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>M6R</td>\n",
" <td>West Toronto</td>\n",
" <td>Parkdale, Roncesvalles</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.142857</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.142857</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>M6S</td>\n",
" <td>West Toronto</td>\n",
" <td>Runnymede, Swansea</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.050000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.075000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.075000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025</td>\n",
" <td>0.000000</td>\n",
" <td>0.050000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.02500</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.075000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.050000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.025000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>M7A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Queen's Park</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.230769</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.051282</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.025641</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.051282</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.025641</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.025641</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>M7Y</td>\n",
" <td>East Toronto</td>\n",
" <td>Business Reply Mail Processing Centre 969 Eastern</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0625</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.0625</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.00000</td>\n",
" <td>0.062500</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0625</td>\n",
" <td>0.00</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.062500</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough \\\n",
"0 M4E East Toronto \n",
"1 M4K East Toronto \n",
"2 M4L East Toronto \n",
"3 M4M East Toronto \n",
"4 M4N Central Toronto \n",
"5 M4P Central Toronto \n",
"6 M4R Central Toronto \n",
"7 M4S Central Toronto \n",
"8 M4T Central Toronto \n",
"9 M4V Central Toronto \n",
"10 M4W Downtown Toronto \n",
"11 M4X Downtown Toronto \n",
"12 M4Y Downtown Toronto \n",
"13 M5A Downtown Toronto \n",
"14 M5B Downtown Toronto \n",
"15 M5C Downtown Toronto \n",
"16 M5E Downtown Toronto \n",
"17 M5G Downtown Toronto \n",
"18 M5H Downtown Toronto \n",
"19 M5J Downtown Toronto \n",
"20 M5K Downtown Toronto \n",
"21 M5L Downtown Toronto \n",
"22 M5N Central Toronto \n",
"23 M5P Central Toronto \n",
"24 M5R Central Toronto \n",
"25 M5S Downtown Toronto \n",
"26 M5T Downtown Toronto \n",
"27 M5V Downtown Toronto \n",
"28 M5W Downtown Toronto \n",
"29 M5X Downtown Toronto \n",
"30 M6G Downtown Toronto \n",
"31 M6H West Toronto \n",
"32 M6J West Toronto \n",
"33 M6K West Toronto \n",
"34 M6P West Toronto \n",
"35 M6R West Toronto \n",
"36 M6S West Toronto \n",
"37 M7A Downtown Toronto \n",
"38 M7Y East Toronto \n",
"\n",
" Neighborhoods Afghan Restaurant \\\n",
"0 The Beaches 0.000000 \n",
"1 The Danforth West, Riverdale 0.000000 \n",
"2 The Beaches West, India Bazaar 0.000000 \n",
"3 Studio District 0.000000 \n",
"4 Lawrence Park 0.000000 \n",
"5 Davisville North 0.000000 \n",
"6 North Toronto West 0.000000 \n",
"7 Davisville 0.000000 \n",
"8 Moore Park, Summerhill East 0.000000 \n",
"9 Deer Park, Forest Hill SE, Rathnelly, South Hi... 0.000000 \n",
"10 Rosedale 0.000000 \n",
"11 Cabbagetown, St. James Town 0.000000 \n",
"12 Church and Wellesley 0.012195 \n",
"13 Harbourfront 0.000000 \n",
"14 Ryerson, Garden District 0.000000 \n",
"15 St. James Town 0.000000 \n",
"16 Berczy Park 0.000000 \n",
"17 Central Bay Street 0.000000 \n",
"18 Adelaide, King, Richmond 0.000000 \n",
"19 Harbourfront East, Toronto Islands, Union Station 0.000000 \n",
"20 Design Exchange, Toronto Dominion Centre 0.000000 \n",
"21 Commerce Court, Victoria Hotel 0.000000 \n",
"22 Roselawn 0.000000 \n",
"23 Forest Hill North, Forest Hill West 0.000000 \n",
"24 The Annex, North Midtown, Yorkville 0.000000 \n",
"25 Harbord, University of Toronto 0.000000 \n",
"26 Chinatown, Grange Park, Kensington Market 0.000000 \n",
"27 CN Tower, Bathurst Quay, Island airport, Harbo... 0.000000 \n",
"28 Stn A PO Boxes 25 The Esplanade 0.000000 \n",
"29 First Canadian Place, Underground city 0.000000 \n",
"30 Christie 0.000000 \n",
"31 Dovercourt Village, Dufferin 0.000000 \n",
"32 Little Portugal, Trinity 0.000000 \n",
"33 Brockton, Exhibition Place, Parkdale Village 0.000000 \n",
"34 High Park, The Junction South 0.000000 \n",
"35 Parkdale, Roncesvalles 0.000000 \n",
"36 Runnymede, Swansea 0.000000 \n",
"37 Queen's Park 0.000000 \n",
"38 Business Reply Mail Processing Centre 969 Eastern 0.000000 \n",
"\n",
" Airport Airport Food Court Airport Gate Airport Lounge \\\n",
"0 0.0000 0.0000 0.0000 0.000 \n",
"1 0.0000 0.0000 0.0000 0.000 \n",
"2 0.0000 0.0000 0.0000 0.000 \n",
"3 0.0000 0.0000 0.0000 0.000 \n",
"4 0.0000 0.0000 0.0000 0.000 \n",
"5 0.0000 0.0000 0.0000 0.000 \n",
"6 0.0000 0.0000 0.0000 0.000 \n",
"7 0.0000 0.0000 0.0000 0.000 \n",
"8 0.0000 0.0000 0.0000 0.000 \n",
"9 0.0000 0.0000 0.0000 0.000 \n",
"10 0.0000 0.0000 0.0000 0.000 \n",
"11 0.0000 0.0000 0.0000 0.000 \n",
"12 0.0000 0.0000 0.0000 0.000 \n",
"13 0.0000 0.0000 0.0000 0.000 \n",
"14 0.0000 0.0000 0.0000 0.000 \n",
"15 0.0000 0.0000 0.0000 0.000 \n",
"16 0.0000 0.0000 0.0000 0.000 \n",
"17 0.0000 0.0000 0.0000 0.000 \n",
"18 0.0000 0.0000 0.0000 0.000 \n",
"19 0.0000 0.0000 0.0000 0.000 \n",
"20 0.0000 0.0000 0.0000 0.000 \n",
"21 0.0000 0.0000 0.0000 0.000 \n",
"22 0.0000 0.0000 0.0000 0.000 \n",
"23 0.0000 0.0000 0.0000 0.000 \n",
"24 0.0000 0.0000 0.0000 0.000 \n",
"25 0.0000 0.0000 0.0000 0.000 \n",
"26 0.0000 0.0000 0.0000 0.000 \n",
"27 0.0625 0.0625 0.0625 0.125 \n",
"28 0.0000 0.0000 0.0000 0.000 \n",
"29 0.0000 0.0000 0.0000 0.000 \n",
"30 0.0000 0.0000 0.0000 0.000 \n",
"31 0.0000 0.0000 0.0000 0.000 \n",
"32 0.0000 0.0000 0.0000 0.000 \n",
"33 0.0000 0.0000 0.0000 0.000 \n",
"34 0.0000 0.0000 0.0000 0.000 \n",
"35 0.0000 0.0000 0.0000 0.000 \n",
"36 0.0000 0.0000 0.0000 0.000 \n",
"37 0.0000 0.0000 0.0000 0.000 \n",
"38 0.0000 0.0000 0.0000 0.000 \n",
"\n",
" Airport Service Airport Terminal American Restaurant Antique Shop \\\n",
"0 0.000 0.000 0.000000 0.000000 \n",
"1 0.000 0.000 0.023810 0.000000 \n",
"2 0.000 0.000 0.000000 0.000000 \n",
"3 0.000 0.000 0.047619 0.000000 \n",
"4 0.000 0.000 0.000000 0.000000 \n",
"5 0.000 0.000 0.000000 0.000000 \n",
"6 0.000 0.000 0.000000 0.000000 \n",
"7 0.000 0.000 0.000000 0.000000 \n",
"8 0.000 0.000 0.000000 0.000000 \n",
"9 0.000 0.000 0.066667 0.000000 \n",
"10 0.000 0.000 0.000000 0.000000 \n",
"11 0.000 0.000 0.021277 0.000000 \n",
"12 0.000 0.000 0.012195 0.000000 \n",
"13 0.000 0.000 0.000000 0.021277 \n",
"14 0.000 0.000 0.010000 0.000000 \n",
"15 0.000 0.000 0.030000 0.000000 \n",
"16 0.000 0.000 0.000000 0.000000 \n",
"17 0.000 0.000 0.012048 0.000000 \n",
"18 0.000 0.000 0.020000 0.000000 \n",
"19 0.000 0.000 0.000000 0.000000 \n",
"20 0.000 0.000 0.020000 0.000000 \n",
"21 0.000 0.000 0.030000 0.000000 \n",
"22 0.000 0.000 0.000000 0.000000 \n",
"23 0.000 0.000 0.000000 0.000000 \n",
"24 0.000 0.000 0.045455 0.000000 \n",
"25 0.000 0.000 0.000000 0.000000 \n",
"26 0.000 0.000 0.000000 0.000000 \n",
"27 0.125 0.125 0.000000 0.000000 \n",
"28 0.000 0.000 0.000000 0.010526 \n",
"29 0.000 0.000 0.020000 0.000000 \n",
"30 0.000 0.000 0.000000 0.000000 \n",
"31 0.000 0.000 0.000000 0.000000 \n",
"32 0.000 0.000 0.000000 0.000000 \n",
"33 0.000 0.000 0.000000 0.000000 \n",
"34 0.000 0.000 0.000000 0.041667 \n",
"35 0.000 0.000 0.000000 0.000000 \n",
"36 0.000 0.000 0.000000 0.000000 \n",
"37 0.000 0.000 0.000000 0.000000 \n",
"38 0.000 0.000 0.000000 0.000000 \n",
"\n",
" Aquarium Art Gallery Arts & Crafts Store Asian Restaurant \\\n",
"0 0.00 0.000000 0.000000 0.200000 \n",
"1 0.00 0.000000 0.000000 0.000000 \n",
"2 0.00 0.000000 0.000000 0.000000 \n",
"3 0.00 0.000000 0.000000 0.000000 \n",
"4 0.00 0.000000 0.000000 0.000000 \n",
"5 0.00 0.000000 0.000000 0.000000 \n",
"6 0.00 0.000000 0.000000 0.000000 \n",
"7 0.00 0.000000 0.000000 0.000000 \n",
"8 0.00 0.000000 0.000000 0.000000 \n",
"9 0.00 0.000000 0.000000 0.000000 \n",
"10 0.00 0.000000 0.000000 0.000000 \n",
"11 0.00 0.000000 0.000000 0.000000 \n",
"12 0.00 0.000000 0.012195 0.000000 \n",
"13 0.00 0.021277 0.000000 0.000000 \n",
"14 0.00 0.010000 0.000000 0.000000 \n",
"15 0.00 0.010000 0.000000 0.010000 \n",
"16 0.00 0.017857 0.000000 0.000000 \n",
"17 0.00 0.000000 0.000000 0.000000 \n",
"18 0.00 0.010000 0.000000 0.030000 \n",
"19 0.05 0.010000 0.000000 0.000000 \n",
"20 0.00 0.010000 0.000000 0.010000 \n",
"21 0.00 0.010000 0.000000 0.010000 \n",
"22 0.00 0.000000 0.000000 0.000000 \n",
"23 0.00 0.000000 0.000000 0.000000 \n",
"24 0.00 0.000000 0.000000 0.000000 \n",
"25 0.00 0.000000 0.000000 0.000000 \n",
"26 0.00 0.000000 0.011494 0.000000 \n",
"27 0.00 0.000000 0.000000 0.000000 \n",
"28 0.00 0.021053 0.000000 0.000000 \n",
"29 0.00 0.010000 0.000000 0.030000 \n",
"30 0.00 0.000000 0.000000 0.000000 \n",
"31 0.00 0.000000 0.000000 0.000000 \n",
"32 0.00 0.018868 0.000000 0.056604 \n",
"33 0.00 0.000000 0.000000 0.000000 \n",
"34 0.00 0.000000 0.041667 0.000000 \n",
"35 0.00 0.000000 0.000000 0.000000 \n",
"36 0.00 0.000000 0.000000 0.000000 \n",
"37 0.00 0.000000 0.025641 0.000000 \n",
"38 0.00 0.000000 0.000000 0.000000 \n",
"\n",
" Athletics & Sports Auto Workshop BBQ Joint Baby Store Bagel Shop \\\n",
"0 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.0000 0.000000 0.000000 0.047619 \n",
"7 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"14 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"15 0.000000 0.0000 0.020000 0.000000 0.010000 \n",
"16 0.000000 0.0000 0.017857 0.000000 0.017857 \n",
"17 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"18 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"22 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.0000 0.045455 0.000000 0.000000 \n",
"25 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"26 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.0000 0.010526 0.000000 0.010526 \n",
"29 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"30 0.052632 0.0000 0.000000 0.052632 0.000000 \n",
"31 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.0000 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.0625 0.000000 0.000000 0.000000 \n",
"\n",
" Bakery Bank Bar Baseball Stadium Basketball Stadium \\\n",
"0 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"1 0.023810 0.000000 0.000000 0.00 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"3 0.047619 0.023810 0.023810 0.00 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"11 0.042553 0.021277 0.000000 0.00 0.000000 \n",
"12 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"13 0.063830 0.021277 0.000000 0.00 0.000000 \n",
"14 0.020000 0.010000 0.010000 0.00 0.000000 \n",
"15 0.030000 0.000000 0.000000 0.00 0.000000 \n",
"16 0.035714 0.000000 0.000000 0.00 0.017857 \n",
"17 0.024096 0.000000 0.024096 0.00 0.000000 \n",
"18 0.030000 0.000000 0.030000 0.00 0.000000 \n",
"19 0.020000 0.000000 0.020000 0.02 0.010000 \n",
"20 0.020000 0.000000 0.030000 0.00 0.010000 \n",
"21 0.030000 0.000000 0.020000 0.00 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"25 0.054054 0.000000 0.054054 0.00 0.000000 \n",
"26 0.022989 0.000000 0.057471 0.00 0.000000 \n",
"27 0.000000 0.000000 0.062500 0.00 0.000000 \n",
"28 0.021053 0.000000 0.000000 0.00 0.010526 \n",
"29 0.020000 0.000000 0.030000 0.00 0.000000 \n",
"30 0.000000 0.052632 0.000000 0.00 0.000000 \n",
"31 0.125000 0.062500 0.062500 0.00 0.000000 \n",
"32 0.000000 0.000000 0.132075 0.00 0.000000 \n",
"33 0.043478 0.000000 0.043478 0.00 0.000000 \n",
"34 0.041667 0.000000 0.083333 0.00 0.000000 \n",
"35 0.000000 0.000000 0.071429 0.00 0.000000 \n",
"36 0.000000 0.000000 0.025000 0.00 0.000000 \n",
"37 0.000000 0.000000 0.025641 0.00 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"\n",
" Beach Bed & Breakfast Beer Bar Beer Store Belgian Restaurant \\\n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.021277 0.000000 \n",
"12 0.000000 0.000000 0.012195 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.021277 0.000000 \n",
"14 0.000000 0.000000 0.010000 0.000000 0.000000 \n",
"15 0.000000 0.000000 0.030000 0.000000 0.000000 \n",
"16 0.017857 0.000000 0.035714 0.000000 0.000000 \n",
"17 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"18 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.000000 0.010000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.020000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.020000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.027027 0.027027 0.000000 \n",
"26 0.000000 0.011494 0.011494 0.000000 0.011494 \n",
"27 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.031579 0.000000 0.000000 \n",
"29 0.000000 0.000000 0.020000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.018868 0.000000 \n",
"33 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.000000 0.025641 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Bistro Boat or Ferry Bookstore Boutique Brazilian Restaurant \\\n",
"0 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"1 0.000000 0.0000 0.047619 0.000000 0.00 \n",
"2 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"3 0.000000 0.0000 0.023810 0.000000 0.00 \n",
"4 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"5 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"6 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"7 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"8 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"9 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"10 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"11 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"12 0.000000 0.0000 0.012195 0.000000 0.00 \n",
"13 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"14 0.000000 0.0000 0.020000 0.000000 0.00 \n",
"15 0.000000 0.0000 0.010000 0.000000 0.00 \n",
"16 0.017857 0.0000 0.000000 0.000000 0.00 \n",
"17 0.000000 0.0000 0.012048 0.000000 0.00 \n",
"18 0.000000 0.0000 0.020000 0.000000 0.01 \n",
"19 0.010000 0.0000 0.000000 0.000000 0.00 \n",
"20 0.000000 0.0000 0.010000 0.000000 0.00 \n",
"21 0.000000 0.0000 0.010000 0.000000 0.00 \n",
"22 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"23 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"24 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"25 0.000000 0.0000 0.054054 0.000000 0.00 \n",
"26 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"27 0.000000 0.0625 0.000000 0.062500 0.00 \n",
"28 0.010526 0.0000 0.010526 0.000000 0.00 \n",
"29 0.000000 0.0000 0.010000 0.000000 0.01 \n",
"30 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"31 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"32 0.018868 0.0000 0.000000 0.018868 0.00 \n",
"33 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"34 0.000000 0.0000 0.041667 0.000000 0.00 \n",
"35 0.000000 0.0000 0.071429 0.000000 0.00 \n",
"36 0.000000 0.0000 0.050000 0.000000 0.00 \n",
"37 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"38 0.000000 0.0000 0.000000 0.000000 0.00 \n",
"\n",
" Breakfast Spot Brewery Bubble Tea Shop Building Burger Joint \\\n",
"0 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"1 0.000000 0.023810 0.023810 0.00 0.000000 \n",
"2 0.000000 0.055556 0.000000 0.00 0.055556 \n",
"3 0.000000 0.047619 0.000000 0.00 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"5 0.125000 0.000000 0.000000 0.00 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"7 0.000000 0.031250 0.000000 0.00 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"11 0.021277 0.000000 0.000000 0.00 0.000000 \n",
"12 0.012195 0.000000 0.012195 0.00 0.024390 \n",
"13 0.042553 0.000000 0.000000 0.00 0.000000 \n",
"14 0.000000 0.000000 0.020000 0.00 0.010000 \n",
"15 0.030000 0.000000 0.000000 0.00 0.010000 \n",
"16 0.017857 0.000000 0.000000 0.00 0.000000 \n",
"17 0.000000 0.000000 0.012048 0.00 0.036145 \n",
"18 0.030000 0.000000 0.000000 0.01 0.030000 \n",
"19 0.000000 0.030000 0.010000 0.00 0.000000 \n",
"20 0.010000 0.000000 0.000000 0.00 0.010000 \n",
"21 0.010000 0.000000 0.000000 0.01 0.020000 \n",
"22 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.00 0.045455 \n",
"25 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"26 0.011494 0.011494 0.011494 0.00 0.022989 \n",
"27 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"28 0.021053 0.000000 0.000000 0.00 0.000000 \n",
"29 0.000000 0.000000 0.000000 0.01 0.030000 \n",
"30 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"31 0.000000 0.062500 0.000000 0.00 0.000000 \n",
"32 0.000000 0.018868 0.000000 0.00 0.000000 \n",
"33 0.086957 0.000000 0.000000 0.00 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"35 0.142857 0.000000 0.000000 0.00 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"37 0.000000 0.000000 0.000000 0.00 0.025641 \n",
"38 0.000000 0.062500 0.000000 0.00 0.000000 \n",
"\n",
" Burrito Place Bus Line Butcher Café Cajun / Creole Restaurant \\\n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.055556 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.095238 0.000000 \n",
"4 0.000000 0.333333 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.047619 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.062500 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.021277 0.042553 0.000000 \n",
"12 0.012195 0.000000 0.000000 0.024390 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.063830 0.000000 \n",
"14 0.010000 0.000000 0.000000 0.030000 0.000000 \n",
"15 0.000000 0.000000 0.010000 0.060000 0.000000 \n",
"16 0.000000 0.000000 0.017857 0.035714 0.000000 \n",
"17 0.000000 0.000000 0.000000 0.048193 0.000000 \n",
"18 0.010000 0.000000 0.000000 0.040000 0.000000 \n",
"19 0.000000 0.000000 0.000000 0.040000 0.000000 \n",
"20 0.010000 0.000000 0.000000 0.080000 0.000000 \n",
"21 0.000000 0.000000 0.000000 0.070000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.136364 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.135135 0.000000 \n",
"26 0.011494 0.000000 0.000000 0.068966 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.010526 0.042105 0.000000 \n",
"29 0.000000 0.000000 0.000000 0.070000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.157895 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.062500 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.037736 0.000000 \n",
"33 0.043478 0.000000 0.000000 0.086957 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.083333 0.041667 \n",
"35 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.025000 0.000000 0.000000 0.075000 0.000000 \n",
"37 0.025641 0.000000 0.000000 0.025641 0.000000 \n",
"38 0.062500 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Camera Store Candy Store Caribbean Restaurant Cheese Shop \\\n",
"0 0.00 0.000000 0.000000 0.000000 \n",
"1 0.00 0.000000 0.023810 0.000000 \n",
"2 0.00 0.000000 0.000000 0.000000 \n",
"3 0.00 0.000000 0.000000 0.023810 \n",
"4 0.00 0.000000 0.000000 0.000000 \n",
"5 0.00 0.000000 0.000000 0.000000 \n",
"6 0.00 0.000000 0.000000 0.000000 \n",
"7 0.00 0.000000 0.000000 0.000000 \n",
"8 0.00 0.000000 0.000000 0.000000 \n",
"9 0.00 0.000000 0.000000 0.000000 \n",
"10 0.00 0.000000 0.000000 0.000000 \n",
"11 0.00 0.000000 0.021277 0.000000 \n",
"12 0.00 0.000000 0.012195 0.000000 \n",
"13 0.00 0.000000 0.000000 0.000000 \n",
"14 0.00 0.000000 0.000000 0.000000 \n",
"15 0.01 0.000000 0.000000 0.010000 \n",
"16 0.00 0.000000 0.000000 0.035714 \n",
"17 0.00 0.000000 0.000000 0.000000 \n",
"18 0.00 0.000000 0.000000 0.000000 \n",
"19 0.00 0.000000 0.000000 0.000000 \n",
"20 0.00 0.000000 0.000000 0.000000 \n",
"21 0.00 0.000000 0.000000 0.000000 \n",
"22 0.00 0.000000 0.000000 0.000000 \n",
"23 0.00 0.000000 0.000000 0.000000 \n",
"24 0.00 0.000000 0.000000 0.000000 \n",
"25 0.00 0.000000 0.000000 0.000000 \n",
"26 0.00 0.000000 0.011494 0.011494 \n",
"27 0.00 0.000000 0.000000 0.000000 \n",
"28 0.00 0.000000 0.000000 0.021053 \n",
"29 0.00 0.000000 0.000000 0.000000 \n",
"30 0.00 0.052632 0.000000 0.000000 \n",
"31 0.00 0.000000 0.000000 0.000000 \n",
"32 0.00 0.000000 0.000000 0.000000 \n",
"33 0.00 0.000000 0.000000 0.000000 \n",
"34 0.00 0.000000 0.000000 0.000000 \n",
"35 0.00 0.000000 0.000000 0.000000 \n",
"36 0.00 0.000000 0.000000 0.000000 \n",
"37 0.00 0.000000 0.000000 0.000000 \n",
"38 0.00 0.000000 0.000000 0.000000 \n",
"\n",
" Chinese Restaurant Chocolate Shop Church Climbing Gym \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.047619 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.021277 0.000000 0.000000 0.000000 \n",
"12 0.012195 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.021277 0.000000 0.000000 \n",
"14 0.010000 0.000000 0.000000 0.000000 \n",
"15 0.000000 0.000000 0.010000 0.000000 \n",
"16 0.000000 0.000000 0.000000 0.000000 \n",
"17 0.024096 0.000000 0.000000 0.000000 \n",
"18 0.000000 0.000000 0.000000 0.000000 \n",
"19 0.010000 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.027027 0.000000 0.000000 0.000000 \n",
"26 0.057471 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.010526 0.000000 \n",
"29 0.000000 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 0.043478 \n",
"34 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.000000 \n",
"37 0.025641 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Clothing Store Cocktail Bar Coffee Shop College Arts Building \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.095238 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.023810 0.000000 0.071429 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.190476 0.000000 0.095238 0.000000 \n",
"7 0.000000 0.000000 0.062500 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.133333 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.106383 0.000000 \n",
"12 0.012195 0.000000 0.073171 0.000000 \n",
"13 0.000000 0.000000 0.170213 0.000000 \n",
"14 0.080000 0.000000 0.090000 0.000000 \n",
"15 0.030000 0.030000 0.080000 0.000000 \n",
"16 0.000000 0.053571 0.089286 0.000000 \n",
"17 0.000000 0.000000 0.156627 0.000000 \n",
"18 0.000000 0.000000 0.070000 0.000000 \n",
"19 0.000000 0.000000 0.120000 0.000000 \n",
"20 0.000000 0.000000 0.120000 0.000000 \n",
"21 0.000000 0.010000 0.120000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.090909 0.000000 \n",
"25 0.000000 0.000000 0.027027 0.027027 \n",
"26 0.000000 0.022989 0.045977 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.031579 0.136842 0.000000 \n",
"29 0.000000 0.000000 0.120000 0.000000 \n",
"30 0.000000 0.000000 0.052632 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.018868 0.056604 0.000000 \n",
"33 0.000000 0.000000 0.086957 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.071429 0.000000 \n",
"36 0.000000 0.000000 0.075000 0.000000 \n",
"37 0.000000 0.000000 0.230769 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" College Auditorium College Gym College Rec Center Colombian Restaurant \\\n",
"0 0.000000 0.000000 0.00 0.00 \n",
"1 0.000000 0.000000 0.00 0.00 \n",
"2 0.000000 0.000000 0.00 0.00 \n",
"3 0.000000 0.000000 0.00 0.00 \n",
"4 0.000000 0.000000 0.00 0.00 \n",
"5 0.000000 0.000000 0.00 0.00 \n",
"6 0.000000 0.000000 0.00 0.00 \n",
"7 0.000000 0.000000 0.00 0.00 \n",
"8 0.000000 0.000000 0.00 0.00 \n",
"9 0.000000 0.000000 0.00 0.00 \n",
"10 0.000000 0.000000 0.00 0.00 \n",
"11 0.000000 0.000000 0.00 0.00 \n",
"12 0.000000 0.000000 0.00 0.00 \n",
"13 0.000000 0.000000 0.00 0.00 \n",
"14 0.000000 0.000000 0.01 0.00 \n",
"15 0.000000 0.000000 0.00 0.00 \n",
"16 0.000000 0.000000 0.00 0.00 \n",
"17 0.000000 0.000000 0.00 0.00 \n",
"18 0.000000 0.000000 0.00 0.01 \n",
"19 0.000000 0.000000 0.00 0.00 \n",
"20 0.000000 0.000000 0.00 0.00 \n",
"21 0.000000 0.000000 0.00 0.00 \n",
"22 0.000000 0.000000 0.00 0.00 \n",
"23 0.000000 0.000000 0.00 0.00 \n",
"24 0.000000 0.000000 0.00 0.00 \n",
"25 0.027027 0.027027 0.00 0.00 \n",
"26 0.000000 0.000000 0.00 0.00 \n",
"27 0.000000 0.000000 0.00 0.00 \n",
"28 0.000000 0.000000 0.00 0.00 \n",
"29 0.000000 0.000000 0.00 0.01 \n",
"30 0.000000 0.000000 0.00 0.00 \n",
"31 0.000000 0.000000 0.00 0.00 \n",
"32 0.000000 0.000000 0.00 0.00 \n",
"33 0.000000 0.000000 0.00 0.00 \n",
"34 0.000000 0.000000 0.00 0.00 \n",
"35 0.000000 0.000000 0.00 0.00 \n",
"36 0.000000 0.000000 0.00 0.00 \n",
"37 0.025641 0.000000 0.00 0.00 \n",
"38 0.000000 0.000000 0.00 0.00 \n",
"\n",
" Comfort Food Restaurant Comic Shop Concert Hall Convenience Store \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.023810 0.000000 0.000000 0.023810 \n",
"4 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.000000 \n",
"14 0.000000 0.010000 0.000000 0.000000 \n",
"15 0.010000 0.000000 0.000000 0.000000 \n",
"16 0.017857 0.000000 0.017857 0.000000 \n",
"17 0.000000 0.012048 0.000000 0.000000 \n",
"18 0.000000 0.000000 0.020000 0.000000 \n",
"19 0.000000 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.010000 0.000000 \n",
"21 0.000000 0.000000 0.010000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.027027 0.000000 0.000000 0.000000 \n",
"26 0.011494 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.010526 0.000000 0.010526 0.000000 \n",
"29 0.000000 0.000000 0.020000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 0.043478 \n",
"34 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.062500 0.000000 0.000000 \n",
"\n",
" Cosmetics Shop Coworking Space Creperie Cuban Restaurant Cupcake Shop \\\n",
"0 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"1 0.023810 0.00000 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.02381 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.00000 0.012195 0.000000 0.000000 \n",
"13 0.021277 0.00000 0.000000 0.000000 0.000000 \n",
"14 0.030000 0.00000 0.000000 0.000000 0.000000 \n",
"15 0.030000 0.00000 0.010000 0.000000 0.000000 \n",
"16 0.000000 0.00000 0.017857 0.000000 0.000000 \n",
"17 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"18 0.030000 0.00000 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.00000 0.010000 0.000000 0.000000 \n",
"22 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"24 0.045455 0.00000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"26 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"28 0.010526 0.00000 0.021053 0.000000 0.000000 \n",
"29 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.00000 0.000000 0.018868 0.018868 \n",
"33 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.00000 0.000000 0.071429 0.000000 \n",
"36 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.00000 0.025641 0.000000 0.000000 \n",
"38 0.000000 0.00000 0.000000 0.000000 0.000000 \n",
"\n",
" Dance Studio Deli / Bodega Department Store Dessert Shop \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.023810 \n",
"2 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.125000 0.000000 0.125000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.047619 \n",
"7 0.000000 0.000000 0.000000 0.093750 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.021277 0.000000 0.000000 \n",
"12 0.012195 0.000000 0.000000 0.012195 \n",
"13 0.000000 0.000000 0.000000 0.021277 \n",
"14 0.000000 0.000000 0.010000 0.010000 \n",
"15 0.000000 0.000000 0.020000 0.000000 \n",
"16 0.000000 0.000000 0.017857 0.000000 \n",
"17 0.000000 0.000000 0.024096 0.012048 \n",
"18 0.010000 0.010000 0.010000 0.000000 \n",
"19 0.010000 0.010000 0.010000 0.010000 \n",
"20 0.000000 0.030000 0.000000 0.000000 \n",
"21 0.000000 0.030000 0.010000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.027027 \n",
"26 0.000000 0.011494 0.000000 0.022989 \n",
"27 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.010526 0.010526 0.000000 \n",
"29 0.000000 0.030000 0.010000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.018868 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.071429 \n",
"36 0.000000 0.000000 0.000000 0.025000 \n",
"37 0.000000 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Dim Sum Restaurant Diner Discount Store Dog Run Doner Restaurant \\\n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.023810 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.023810 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.047619 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.031250 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.021277 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.012195 0.000000 0.012195 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"14 0.000000 0.020000 0.000000 0.000000 0.000000 \n",
"15 0.000000 0.020000 0.000000 0.000000 0.000000 \n",
"16 0.000000 0.017857 0.000000 0.000000 0.000000 \n",
"17 0.000000 0.012048 0.012048 0.000000 0.000000 \n",
"18 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.000000 0.010000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"26 0.011494 0.000000 0.000000 0.000000 0.011494 \n",
"27 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.010526 0.000000 0.000000 0.000000 \n",
"29 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.052632 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.041667 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.071429 0.000000 \n",
"36 0.000000 0.025000 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.025641 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Donut Shop Dumpling Restaurant Eastern European Restaurant \\\n",
"0 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.000000 \n",
"14 0.000000 0.000000 0.000000 \n",
"15 0.000000 0.000000 0.000000 \n",
"16 0.000000 0.000000 0.017857 \n",
"17 0.012048 0.000000 0.000000 \n",
"18 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 \n",
"26 0.022989 0.045977 0.000000 \n",
"27 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.010526 \n",
"29 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.071429 \n",
"36 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 \n",
"\n",
" Electronics Store Ethiopian Restaurant Event Space Falafel Restaurant \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.012195 0.000000 0.000000 \n",
"13 0.021277 0.000000 0.021277 0.000000 \n",
"14 0.020000 0.010000 0.000000 0.000000 \n",
"15 0.010000 0.000000 0.000000 0.000000 \n",
"16 0.000000 0.000000 0.000000 0.000000 \n",
"17 0.000000 0.000000 0.000000 0.012048 \n",
"18 0.010000 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.000000 0.010000 0.000000 \n",
"20 0.000000 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.000000 \n",
"26 0.000000 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.000000 0.000000 \n",
"29 0.000000 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.025000 0.000000 0.000000 0.025000 \n",
"37 0.000000 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Farmers Market Fast Food Restaurant Filipino Restaurant \\\n",
"0 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.055556 0.000000 \n",
"3 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.047619 0.000000 \n",
"7 0.031250 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 \n",
"11 0.021277 0.000000 0.000000 \n",
"12 0.000000 0.024390 0.000000 \n",
"13 0.021277 0.000000 0.000000 \n",
"14 0.000000 0.020000 0.000000 \n",
"15 0.020000 0.000000 0.000000 \n",
"16 0.035714 0.000000 0.000000 \n",
"17 0.000000 0.000000 0.000000 \n",
"18 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 \n",
"26 0.022989 0.000000 0.011494 \n",
"27 0.000000 0.000000 0.000000 \n",
"28 0.021053 0.000000 0.000000 \n",
"29 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.062500 0.000000 \n",
"32 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.041667 0.000000 \n",
"35 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.025641 0.000000 \n",
"38 0.062500 0.062500 0.000000 \n",
"\n",
" Fish & Chips Shop Fish Market Flea Market Flower Shop Food \\\n",
"0 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"1 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"2 0.055556 0.000000 0.000000 0.000000 0.000 \n",
"3 0.000000 0.023810 0.000000 0.000000 0.000 \n",
"4 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"5 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"6 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"7 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"8 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"9 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"11 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"12 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"13 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"14 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"15 0.000000 0.010000 0.000000 0.000000 0.000 \n",
"16 0.000000 0.017857 0.000000 0.000000 0.000 \n",
"17 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"18 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"19 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"20 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"21 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"22 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"23 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"24 0.000000 0.000000 0.000000 0.045455 0.000 \n",
"25 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"26 0.000000 0.011494 0.000000 0.000000 0.000 \n",
"27 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"28 0.000000 0.010526 0.000000 0.000000 0.000 \n",
"29 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"30 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"31 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"32 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"33 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"34 0.000000 0.000000 0.041667 0.000000 0.000 \n",
"35 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"36 0.025000 0.000000 0.000000 0.000000 0.025 \n",
"37 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"38 0.000000 0.000000 0.000000 0.000000 0.000 \n",
"\n",
" Food & Drink Shop Food Court Food Truck Fountain French Restaurant \\\n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.125000 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"12 0.012195 0.000000 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.000000 0.021277 \n",
"14 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"15 0.010000 0.000000 0.010000 0.010000 0.010000 \n",
"16 0.000000 0.000000 0.000000 0.017857 0.017857 \n",
"17 0.000000 0.000000 0.000000 0.000000 0.012048 \n",
"18 0.000000 0.010000 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.010000 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.010000 0.000000 0.000000 0.010000 \n",
"21 0.000000 0.010000 0.010000 0.010000 0.010000 \n",
"22 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.000000 0.027027 \n",
"26 0.000000 0.011494 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.010526 0.010526 0.010526 \n",
"29 0.000000 0.010000 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.000000 0.018868 \n",
"33 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.025000 0.000000 0.000000 0.000000 0.025000 \n",
"37 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Fried Chicken Joint Frozen Yogurt Shop Fruit & Vegetable Store \\\n",
"0 0.000000 0.00000 0.00000 \n",
"1 0.000000 0.02381 0.02381 \n",
"2 0.000000 0.00000 0.00000 \n",
"3 0.000000 0.00000 0.00000 \n",
"4 0.000000 0.00000 0.00000 \n",
"5 0.000000 0.00000 0.00000 \n",
"6 0.000000 0.00000 0.00000 \n",
"7 0.000000 0.00000 0.00000 \n",
"8 0.000000 0.00000 0.00000 \n",
"9 0.066667 0.00000 0.00000 \n",
"10 0.000000 0.00000 0.00000 \n",
"11 0.000000 0.00000 0.00000 \n",
"12 0.000000 0.00000 0.00000 \n",
"13 0.000000 0.00000 0.00000 \n",
"14 0.000000 0.00000 0.00000 \n",
"15 0.000000 0.00000 0.00000 \n",
"16 0.000000 0.00000 0.00000 \n",
"17 0.012048 0.00000 0.00000 \n",
"18 0.000000 0.00000 0.00000 \n",
"19 0.030000 0.00000 0.00000 \n",
"20 0.010000 0.00000 0.00000 \n",
"21 0.010000 0.00000 0.00000 \n",
"22 0.000000 0.00000 0.00000 \n",
"23 0.000000 0.00000 0.00000 \n",
"24 0.000000 0.00000 0.00000 \n",
"25 0.000000 0.00000 0.00000 \n",
"26 0.000000 0.00000 0.00000 \n",
"27 0.000000 0.00000 0.00000 \n",
"28 0.000000 0.00000 0.00000 \n",
"29 0.010000 0.00000 0.00000 \n",
"30 0.000000 0.00000 0.00000 \n",
"31 0.000000 0.00000 0.00000 \n",
"32 0.000000 0.00000 0.00000 \n",
"33 0.000000 0.00000 0.00000 \n",
"34 0.041667 0.00000 0.00000 \n",
"35 0.000000 0.00000 0.00000 \n",
"36 0.000000 0.00000 0.00000 \n",
"37 0.025641 0.00000 0.00000 \n",
"38 0.000000 0.00000 0.00000 \n",
"\n",
" Furniture / Home Store Gaming Cafe Garden Garden Center Gas Station \\\n",
"0 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"1 0.047619 0.000000 0.000000 0.0000 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.0000 0.031250 \n",
"8 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"12 0.000000 0.000000 0.000000 0.0000 0.012195 \n",
"13 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"14 0.010000 0.000000 0.000000 0.0000 0.000000 \n",
"15 0.010000 0.000000 0.000000 0.0000 0.000000 \n",
"16 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"17 0.012048 0.000000 0.000000 0.0000 0.000000 \n",
"18 0.010000 0.000000 0.000000 0.0000 0.000000 \n",
"19 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"20 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"21 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"22 0.000000 0.000000 0.333333 0.0000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"26 0.011494 0.011494 0.000000 0.0000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"28 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"29 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.0000 0.052632 \n",
"31 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"33 0.043478 0.000000 0.000000 0.0000 0.000000 \n",
"34 0.041667 0.000000 0.000000 0.0000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"37 0.000000 0.000000 0.000000 0.0000 0.000000 \n",
"38 0.000000 0.000000 0.062500 0.0625 0.000000 \n",
"\n",
" Gastropub Gay Bar General Entertainment General Travel \\\n",
"0 0.000000 0.00000 0.000000 0.00 \n",
"1 0.000000 0.00000 0.000000 0.00 \n",
"2 0.000000 0.00000 0.000000 0.00 \n",
"3 0.047619 0.02381 0.000000 0.00 \n",
"4 0.000000 0.00000 0.000000 0.00 \n",
"5 0.000000 0.00000 0.000000 0.00 \n",
"6 0.000000 0.00000 0.000000 0.00 \n",
"7 0.000000 0.00000 0.000000 0.00 \n",
"8 0.000000 0.00000 0.000000 0.00 \n",
"9 0.000000 0.00000 0.000000 0.00 \n",
"10 0.000000 0.00000 0.000000 0.00 \n",
"11 0.021277 0.00000 0.021277 0.00 \n",
"12 0.024390 0.04878 0.012195 0.00 \n",
"13 0.000000 0.00000 0.000000 0.00 \n",
"14 0.010000 0.00000 0.000000 0.00 \n",
"15 0.020000 0.00000 0.000000 0.00 \n",
"16 0.000000 0.00000 0.000000 0.00 \n",
"17 0.012048 0.00000 0.000000 0.00 \n",
"18 0.020000 0.00000 0.000000 0.01 \n",
"19 0.000000 0.00000 0.000000 0.00 \n",
"20 0.030000 0.00000 0.000000 0.01 \n",
"21 0.030000 0.00000 0.000000 0.01 \n",
"22 0.000000 0.00000 0.000000 0.00 \n",
"23 0.000000 0.00000 0.000000 0.00 \n",
"24 0.000000 0.00000 0.000000 0.00 \n",
"25 0.000000 0.00000 0.000000 0.00 \n",
"26 0.000000 0.00000 0.000000 0.00 \n",
"27 0.000000 0.00000 0.000000 0.00 \n",
"28 0.010526 0.00000 0.000000 0.00 \n",
"29 0.030000 0.00000 0.000000 0.01 \n",
"30 0.000000 0.00000 0.000000 0.00 \n",
"31 0.000000 0.00000 0.000000 0.00 \n",
"32 0.000000 0.00000 0.000000 0.00 \n",
"33 0.000000 0.00000 0.000000 0.00 \n",
"34 0.041667 0.00000 0.000000 0.00 \n",
"35 0.000000 0.00000 0.000000 0.00 \n",
"36 0.025000 0.00000 0.000000 0.00 \n",
"37 0.000000 0.00000 0.000000 0.00 \n",
"38 0.000000 0.00000 0.000000 0.00 \n",
"\n",
" German Restaurant Gift Shop Gluten-free Restaurant Gourmet Shop \\\n",
"0 0.00 0.000000 0.00 0.000000 \n",
"1 0.00 0.000000 0.00 0.000000 \n",
"2 0.00 0.000000 0.00 0.000000 \n",
"3 0.00 0.000000 0.00 0.000000 \n",
"4 0.00 0.000000 0.00 0.000000 \n",
"5 0.00 0.000000 0.00 0.000000 \n",
"6 0.00 0.000000 0.00 0.000000 \n",
"7 0.00 0.000000 0.00 0.031250 \n",
"8 0.00 0.000000 0.00 0.000000 \n",
"9 0.00 0.000000 0.00 0.000000 \n",
"10 0.00 0.000000 0.00 0.000000 \n",
"11 0.00 0.021277 0.00 0.000000 \n",
"12 0.00 0.000000 0.00 0.000000 \n",
"13 0.00 0.000000 0.00 0.000000 \n",
"14 0.00 0.000000 0.00 0.000000 \n",
"15 0.01 0.000000 0.00 0.000000 \n",
"16 0.00 0.000000 0.00 0.017857 \n",
"17 0.00 0.000000 0.00 0.000000 \n",
"18 0.00 0.010000 0.01 0.000000 \n",
"19 0.00 0.000000 0.00 0.000000 \n",
"20 0.00 0.010000 0.00 0.000000 \n",
"21 0.00 0.010000 0.01 0.000000 \n",
"22 0.00 0.000000 0.00 0.000000 \n",
"23 0.00 0.000000 0.00 0.000000 \n",
"24 0.00 0.000000 0.00 0.000000 \n",
"25 0.00 0.000000 0.00 0.000000 \n",
"26 0.00 0.000000 0.00 0.011494 \n",
"27 0.00 0.000000 0.00 0.000000 \n",
"28 0.00 0.000000 0.00 0.010526 \n",
"29 0.00 0.010000 0.01 0.000000 \n",
"30 0.00 0.000000 0.00 0.000000 \n",
"31 0.00 0.000000 0.00 0.000000 \n",
"32 0.00 0.018868 0.00 0.000000 \n",
"33 0.00 0.000000 0.00 0.000000 \n",
"34 0.00 0.000000 0.00 0.000000 \n",
"35 0.00 0.142857 0.00 0.000000 \n",
"36 0.00 0.000000 0.00 0.025000 \n",
"37 0.00 0.000000 0.00 0.000000 \n",
"38 0.00 0.000000 0.00 0.000000 \n",
"\n",
" Greek Restaurant Grocery Store Gym Gym / Fitness Center \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.214286 0.023810 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.055556 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.023810 \n",
"4 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.125000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.000000 \n",
"7 0.031250 0.000000 0.062500 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.021277 0.000000 0.021277 \n",
"12 0.000000 0.012195 0.024390 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.021277 \n",
"14 0.000000 0.000000 0.010000 0.010000 \n",
"15 0.000000 0.010000 0.010000 0.000000 \n",
"16 0.017857 0.000000 0.000000 0.000000 \n",
"17 0.000000 0.000000 0.012048 0.012048 \n",
"18 0.000000 0.000000 0.020000 0.010000 \n",
"19 0.000000 0.000000 0.000000 0.000000 \n",
"20 0.010000 0.000000 0.010000 0.010000 \n",
"21 0.000000 0.000000 0.030000 0.010000 \n",
"22 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.027027 0.000000 \n",
"26 0.000000 0.022989 0.000000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.021053 0.000000 \n",
"29 0.010000 0.000000 0.030000 0.010000 \n",
"30 0.000000 0.210526 0.000000 0.000000 \n",
"31 0.000000 0.062500 0.000000 0.062500 \n",
"32 0.018868 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.043478 0.043478 0.000000 \n",
"34 0.000000 0.041667 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.025000 0.025000 0.000000 \n",
"37 0.000000 0.000000 0.051282 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.062500 \n",
"\n",
" Harbor / Marina Health & Beauty Service Health Food Store \\\n",
"0 0.0000 0.000000 0.200000 \n",
"1 0.0000 0.000000 0.000000 \n",
"2 0.0000 0.000000 0.000000 \n",
"3 0.0000 0.000000 0.000000 \n",
"4 0.0000 0.000000 0.000000 \n",
"5 0.0000 0.000000 0.000000 \n",
"6 0.0000 0.000000 0.000000 \n",
"7 0.0000 0.000000 0.000000 \n",
"8 0.0000 0.000000 0.000000 \n",
"9 0.0000 0.066667 0.000000 \n",
"10 0.0000 0.000000 0.000000 \n",
"11 0.0000 0.000000 0.000000 \n",
"12 0.0000 0.012195 0.000000 \n",
"13 0.0000 0.000000 0.021277 \n",
"14 0.0000 0.000000 0.000000 \n",
"15 0.0000 0.000000 0.000000 \n",
"16 0.0000 0.000000 0.000000 \n",
"17 0.0000 0.000000 0.000000 \n",
"18 0.0000 0.000000 0.000000 \n",
"19 0.0000 0.000000 0.000000 \n",
"20 0.0000 0.000000 0.000000 \n",
"21 0.0000 0.000000 0.000000 \n",
"22 0.0000 0.000000 0.000000 \n",
"23 0.0000 0.000000 0.000000 \n",
"24 0.0000 0.000000 0.000000 \n",
"25 0.0000 0.000000 0.000000 \n",
"26 0.0000 0.000000 0.000000 \n",
"27 0.0625 0.000000 0.000000 \n",
"28 0.0000 0.000000 0.000000 \n",
"29 0.0000 0.000000 0.000000 \n",
"30 0.0000 0.000000 0.000000 \n",
"31 0.0000 0.000000 0.000000 \n",
"32 0.0000 0.000000 0.000000 \n",
"33 0.0000 0.000000 0.000000 \n",
"34 0.0000 0.000000 0.000000 \n",
"35 0.0000 0.000000 0.000000 \n",
"36 0.0000 0.000000 0.025000 \n",
"37 0.0000 0.000000 0.000000 \n",
"38 0.0000 0.000000 0.000000 \n",
"\n",
" Historic Site History Museum Hobby Shop Home Service Hookah Bar \\\n",
"0 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"1 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"2 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"3 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"4 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"5 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"6 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"7 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"8 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"9 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"11 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"12 0.000000 0.000000 0.012195 0.000000 0.00 \n",
"13 0.021277 0.000000 0.000000 0.000000 0.00 \n",
"14 0.000000 0.000000 0.000000 0.000000 0.01 \n",
"15 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"16 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"17 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"18 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"19 0.000000 0.020000 0.000000 0.000000 0.00 \n",
"20 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"21 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"22 0.000000 0.000000 0.000000 0.333333 0.00 \n",
"23 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"24 0.000000 0.045455 0.000000 0.000000 0.00 \n",
"25 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"26 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"27 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"28 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"29 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"30 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"31 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"32 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"33 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"34 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"35 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"36 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"37 0.000000 0.000000 0.025641 0.000000 0.00 \n",
"38 0.000000 0.000000 0.000000 0.000000 0.00 \n",
"\n",
" Hospital Hostel Hotel Hotel Bar IT Services Ice Cream Shop \\\n",
"0 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 0.00 0.047619 \n",
"2 0.000000 0.000000 0.000000 0.000000 0.00 0.055556 \n",
"3 0.000000 0.000000 0.000000 0.000000 0.00 0.023810 \n",
"4 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"5 0.000000 0.000000 0.125000 0.000000 0.00 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"12 0.000000 0.000000 0.024390 0.000000 0.00 0.012195 \n",
"13 0.000000 0.000000 0.021277 0.000000 0.00 0.021277 \n",
"14 0.000000 0.000000 0.010000 0.000000 0.00 0.020000 \n",
"15 0.000000 0.010000 0.030000 0.000000 0.00 0.000000 \n",
"16 0.000000 0.000000 0.017857 0.000000 0.00 0.000000 \n",
"17 0.000000 0.000000 0.012048 0.000000 0.00 0.048193 \n",
"18 0.000000 0.000000 0.020000 0.000000 0.00 0.010000 \n",
"19 0.000000 0.000000 0.040000 0.010000 0.01 0.010000 \n",
"20 0.000000 0.000000 0.070000 0.010000 0.00 0.010000 \n",
"21 0.000000 0.000000 0.050000 0.010000 0.00 0.010000 \n",
"22 0.000000 0.000000 0.000000 0.000000 0.00 0.333333 \n",
"23 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"26 0.011494 0.000000 0.000000 0.011494 0.00 0.011494 \n",
"27 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"28 0.000000 0.010526 0.031579 0.000000 0.00 0.000000 \n",
"29 0.000000 0.000000 0.030000 0.000000 0.00 0.010000 \n",
"30 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.000000 0.00 0.018868 \n",
"33 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.000000 0.00 0.025000 \n",
"37 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"\n",
" Indian Restaurant Indie Movie Theater Intersection Italian Restaurant \\\n",
"0 0.000000 0.000 0.000000 0.000000 \n",
"1 0.000000 0.000 0.000000 0.071429 \n",
"2 0.000000 0.000 0.000000 0.055556 \n",
"3 0.000000 0.000 0.000000 0.047619 \n",
"4 0.000000 0.000 0.000000 0.000000 \n",
"5 0.000000 0.000 0.000000 0.000000 \n",
"6 0.000000 0.000 0.000000 0.000000 \n",
"7 0.031250 0.000 0.000000 0.062500 \n",
"8 0.000000 0.000 0.000000 0.000000 \n",
"9 0.000000 0.000 0.000000 0.000000 \n",
"10 0.000000 0.000 0.000000 0.000000 \n",
"11 0.021277 0.000 0.000000 0.042553 \n",
"12 0.012195 0.000 0.000000 0.000000 \n",
"13 0.000000 0.000 0.000000 0.000000 \n",
"14 0.000000 0.000 0.000000 0.020000 \n",
"15 0.010000 0.000 0.000000 0.030000 \n",
"16 0.000000 0.000 0.000000 0.017857 \n",
"17 0.012048 0.000 0.000000 0.048193 \n",
"18 0.010000 0.000 0.000000 0.000000 \n",
"19 0.010000 0.000 0.000000 0.040000 \n",
"20 0.000000 0.000 0.000000 0.030000 \n",
"21 0.000000 0.000 0.000000 0.030000 \n",
"22 0.000000 0.000 0.000000 0.000000 \n",
"23 0.000000 0.000 0.000000 0.000000 \n",
"24 0.045455 0.000 0.000000 0.000000 \n",
"25 0.000000 0.000 0.000000 0.027027 \n",
"26 0.000000 0.000 0.000000 0.000000 \n",
"27 0.000000 0.000 0.000000 0.000000 \n",
"28 0.000000 0.000 0.000000 0.031579 \n",
"29 0.000000 0.000 0.000000 0.020000 \n",
"30 0.000000 0.000 0.000000 0.052632 \n",
"31 0.000000 0.000 0.000000 0.000000 \n",
"32 0.000000 0.000 0.000000 0.018868 \n",
"33 0.000000 0.000 0.043478 0.043478 \n",
"34 0.000000 0.000 0.000000 0.041667 \n",
"35 0.000000 0.000 0.000000 0.071429 \n",
"36 0.000000 0.025 0.000000 0.050000 \n",
"37 0.000000 0.000 0.000000 0.025641 \n",
"38 0.000000 0.000 0.000000 0.000000 \n",
"\n",
" Japanese Restaurant Jazz Club Jewelry Store Juice Bar \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.023810 \n",
"2 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.021277 0.000000 0.021277 0.000000 \n",
"12 0.048780 0.000000 0.000000 0.012195 \n",
"13 0.000000 0.000000 0.000000 0.000000 \n",
"14 0.030000 0.000000 0.000000 0.010000 \n",
"15 0.010000 0.010000 0.000000 0.000000 \n",
"16 0.017857 0.017857 0.000000 0.000000 \n",
"17 0.036145 0.000000 0.000000 0.036145 \n",
"18 0.010000 0.010000 0.000000 0.010000 \n",
"19 0.010000 0.000000 0.000000 0.010000 \n",
"20 0.030000 0.000000 0.000000 0.000000 \n",
"21 0.020000 0.010000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.250000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.054054 0.000000 0.000000 0.000000 \n",
"26 0.011494 0.000000 0.000000 0.011494 \n",
"27 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.031579 0.010526 0.000000 0.000000 \n",
"29 0.030000 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.018868 0.000000 0.000000 0.018868 \n",
"33 0.000000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.025000 \n",
"37 0.000000 0.000000 0.000000 0.025641 \n",
"38 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Korean Restaurant Lake Latin American Restaurant Light Rail Station \\\n",
"0 0.000000 0.00 0.00000 0.000000 \n",
"1 0.000000 0.00 0.00000 0.000000 \n",
"2 0.000000 0.00 0.00000 0.055556 \n",
"3 0.000000 0.00 0.02381 0.000000 \n",
"4 0.000000 0.00 0.00000 0.000000 \n",
"5 0.000000 0.00 0.00000 0.000000 \n",
"6 0.000000 0.00 0.00000 0.000000 \n",
"7 0.000000 0.00 0.00000 0.000000 \n",
"8 0.000000 0.00 0.00000 0.000000 \n",
"9 0.000000 0.00 0.00000 0.066667 \n",
"10 0.000000 0.00 0.00000 0.000000 \n",
"11 0.000000 0.00 0.00000 0.000000 \n",
"12 0.000000 0.00 0.00000 0.000000 \n",
"13 0.000000 0.00 0.00000 0.000000 \n",
"14 0.000000 0.01 0.00000 0.000000 \n",
"15 0.000000 0.00 0.01000 0.000000 \n",
"16 0.000000 0.00 0.00000 0.000000 \n",
"17 0.012048 0.00 0.00000 0.000000 \n",
"18 0.000000 0.00 0.01000 0.000000 \n",
"19 0.000000 0.01 0.00000 0.000000 \n",
"20 0.000000 0.00 0.00000 0.000000 \n",
"21 0.000000 0.00 0.01000 0.000000 \n",
"22 0.000000 0.00 0.00000 0.000000 \n",
"23 0.000000 0.00 0.00000 0.000000 \n",
"24 0.000000 0.00 0.00000 0.000000 \n",
"25 0.000000 0.00 0.00000 0.000000 \n",
"26 0.000000 0.00 0.00000 0.000000 \n",
"27 0.000000 0.00 0.00000 0.000000 \n",
"28 0.000000 0.00 0.00000 0.000000 \n",
"29 0.000000 0.00 0.00000 0.000000 \n",
"30 0.000000 0.00 0.00000 0.000000 \n",
"31 0.000000 0.00 0.00000 0.000000 \n",
"32 0.018868 0.00 0.00000 0.000000 \n",
"33 0.000000 0.00 0.00000 0.000000 \n",
"34 0.000000 0.00 0.00000 0.000000 \n",
"35 0.000000 0.00 0.00000 0.000000 \n",
"36 0.000000 0.00 0.02500 0.000000 \n",
"37 0.000000 0.00 0.00000 0.000000 \n",
"38 0.000000 0.00 0.00000 0.062500 \n",
"\n",
" Lingerie Store Liquor Store Lounge Market \\\n",
"0 0.00 0.000000 0.000000 0.000000 \n",
"1 0.00 0.023810 0.000000 0.000000 \n",
"2 0.00 0.055556 0.000000 0.000000 \n",
"3 0.00 0.000000 0.000000 0.000000 \n",
"4 0.00 0.000000 0.000000 0.000000 \n",
"5 0.00 0.000000 0.000000 0.000000 \n",
"6 0.00 0.000000 0.000000 0.000000 \n",
"7 0.00 0.000000 0.000000 0.000000 \n",
"8 0.00 0.000000 0.000000 0.000000 \n",
"9 0.00 0.066667 0.000000 0.000000 \n",
"10 0.00 0.000000 0.000000 0.000000 \n",
"11 0.00 0.021277 0.000000 0.042553 \n",
"12 0.00 0.000000 0.000000 0.000000 \n",
"13 0.00 0.000000 0.000000 0.000000 \n",
"14 0.01 0.000000 0.010000 0.000000 \n",
"15 0.02 0.000000 0.000000 0.000000 \n",
"16 0.00 0.017857 0.000000 0.000000 \n",
"17 0.00 0.000000 0.000000 0.000000 \n",
"18 0.01 0.000000 0.010000 0.000000 \n",
"19 0.00 0.000000 0.010000 0.000000 \n",
"20 0.00 0.000000 0.020000 0.000000 \n",
"21 0.00 0.000000 0.000000 0.000000 \n",
"22 0.00 0.000000 0.000000 0.000000 \n",
"23 0.00 0.000000 0.000000 0.000000 \n",
"24 0.00 0.045455 0.000000 0.000000 \n",
"25 0.00 0.000000 0.000000 0.000000 \n",
"26 0.00 0.000000 0.000000 0.000000 \n",
"27 0.00 0.000000 0.000000 0.000000 \n",
"28 0.00 0.010526 0.021053 0.000000 \n",
"29 0.00 0.000000 0.010000 0.000000 \n",
"30 0.00 0.000000 0.000000 0.000000 \n",
"31 0.00 0.000000 0.000000 0.000000 \n",
"32 0.00 0.000000 0.000000 0.000000 \n",
"33 0.00 0.000000 0.000000 0.000000 \n",
"34 0.00 0.000000 0.000000 0.000000 \n",
"35 0.00 0.000000 0.000000 0.000000 \n",
"36 0.00 0.000000 0.000000 0.000000 \n",
"37 0.00 0.000000 0.000000 0.000000 \n",
"38 0.00 0.000000 0.000000 0.000000 \n",
"\n",
" Mediterranean Restaurant Men's Store Metro Station Mexican Restaurant \\\n",
"0 0.00000 0.000000 0.000000 0.000000 \n",
"1 0.00000 0.000000 0.000000 0.000000 \n",
"2 0.00000 0.000000 0.000000 0.000000 \n",
"3 0.00000 0.000000 0.000000 0.000000 \n",
"4 0.00000 0.000000 0.000000 0.000000 \n",
"5 0.00000 0.000000 0.000000 0.000000 \n",
"6 0.00000 0.000000 0.000000 0.047619 \n",
"7 0.00000 0.000000 0.000000 0.000000 \n",
"8 0.00000 0.000000 0.000000 0.000000 \n",
"9 0.00000 0.000000 0.000000 0.000000 \n",
"10 0.00000 0.000000 0.000000 0.000000 \n",
"11 0.00000 0.000000 0.000000 0.000000 \n",
"12 0.02439 0.024390 0.000000 0.012195 \n",
"13 0.00000 0.000000 0.000000 0.042553 \n",
"14 0.00000 0.000000 0.000000 0.010000 \n",
"15 0.00000 0.000000 0.000000 0.000000 \n",
"16 0.00000 0.000000 0.000000 0.000000 \n",
"17 0.00000 0.000000 0.012048 0.000000 \n",
"18 0.01000 0.000000 0.000000 0.000000 \n",
"19 0.00000 0.000000 0.000000 0.010000 \n",
"20 0.00000 0.000000 0.000000 0.010000 \n",
"21 0.00000 0.000000 0.000000 0.000000 \n",
"22 0.00000 0.000000 0.000000 0.000000 \n",
"23 0.00000 0.000000 0.000000 0.250000 \n",
"24 0.00000 0.000000 0.000000 0.000000 \n",
"25 0.00000 0.000000 0.000000 0.000000 \n",
"26 0.00000 0.000000 0.000000 0.034483 \n",
"27 0.00000 0.000000 0.000000 0.000000 \n",
"28 0.00000 0.000000 0.000000 0.000000 \n",
"29 0.01000 0.000000 0.000000 0.000000 \n",
"30 0.00000 0.000000 0.000000 0.000000 \n",
"31 0.00000 0.000000 0.000000 0.000000 \n",
"32 0.00000 0.037736 0.000000 0.018868 \n",
"33 0.00000 0.000000 0.000000 0.000000 \n",
"34 0.00000 0.000000 0.000000 0.083333 \n",
"35 0.00000 0.000000 0.000000 0.000000 \n",
"36 0.00000 0.000000 0.000000 0.000000 \n",
"37 0.00000 0.000000 0.000000 0.025641 \n",
"38 0.00000 0.000000 0.000000 0.000000 \n",
"\n",
" Middle Eastern Restaurant Miscellaneous Shop Modern European Restaurant \\\n",
"0 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.000000 \n",
"3 0.023810 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.000000 \n",
"14 0.020000 0.010000 0.010000 \n",
"15 0.010000 0.000000 0.000000 \n",
"16 0.000000 0.000000 0.000000 \n",
"17 0.000000 0.012048 0.012048 \n",
"18 0.000000 0.000000 0.000000 \n",
"19 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.000000 \n",
"21 0.000000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 \n",
"24 0.045455 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 \n",
"26 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.000000 \n",
"29 0.000000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 \n",
"31 0.062500 0.000000 0.000000 \n",
"32 0.000000 0.018868 0.000000 \n",
"33 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 \n",
"\n",
" Molecular Gastronomy Restaurant Monument / Landmark Movie Theater \\\n",
"0 0.000000 0.00 0.000000 \n",
"1 0.000000 0.00 0.000000 \n",
"2 0.000000 0.00 0.055556 \n",
"3 0.000000 0.00 0.000000 \n",
"4 0.000000 0.00 0.000000 \n",
"5 0.000000 0.00 0.000000 \n",
"6 0.000000 0.00 0.000000 \n",
"7 0.000000 0.00 0.000000 \n",
"8 0.000000 0.00 0.000000 \n",
"9 0.000000 0.00 0.000000 \n",
"10 0.000000 0.00 0.000000 \n",
"11 0.000000 0.00 0.000000 \n",
"12 0.000000 0.00 0.000000 \n",
"13 0.000000 0.00 0.000000 \n",
"14 0.000000 0.00 0.010000 \n",
"15 0.000000 0.00 0.010000 \n",
"16 0.000000 0.00 0.000000 \n",
"17 0.000000 0.00 0.000000 \n",
"18 0.000000 0.01 0.000000 \n",
"19 0.000000 0.01 0.000000 \n",
"20 0.000000 0.00 0.000000 \n",
"21 0.000000 0.00 0.000000 \n",
"22 0.000000 0.00 0.000000 \n",
"23 0.000000 0.00 0.000000 \n",
"24 0.000000 0.00 0.000000 \n",
"25 0.000000 0.00 0.000000 \n",
"26 0.000000 0.00 0.000000 \n",
"27 0.000000 0.00 0.000000 \n",
"28 0.010526 0.00 0.010526 \n",
"29 0.000000 0.01 0.000000 \n",
"30 0.000000 0.00 0.000000 \n",
"31 0.000000 0.00 0.000000 \n",
"32 0.000000 0.00 0.000000 \n",
"33 0.000000 0.00 0.000000 \n",
"34 0.000000 0.00 0.000000 \n",
"35 0.000000 0.00 0.071429 \n",
"36 0.000000 0.00 0.000000 \n",
"37 0.000000 0.00 0.000000 \n",
"38 0.000000 0.00 0.000000 \n",
"\n",
" Museum Music Store Music Venue Neighborhood New American Restaurant \\\n",
"0 0.000000 0.00000 0.000000 0.20000 0.000000 \n",
"1 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"2 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"3 0.000000 0.02381 0.000000 0.02381 0.000000 \n",
"4 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"5 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"6 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"7 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"8 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"9 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"10 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"11 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"12 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"13 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"14 0.000000 0.00000 0.010000 0.00000 0.000000 \n",
"15 0.000000 0.00000 0.000000 0.00000 0.010000 \n",
"16 0.017857 0.00000 0.000000 0.00000 0.000000 \n",
"17 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"18 0.000000 0.00000 0.000000 0.01000 0.010000 \n",
"19 0.000000 0.00000 0.020000 0.01000 0.010000 \n",
"20 0.010000 0.00000 0.000000 0.00000 0.010000 \n",
"21 0.010000 0.00000 0.000000 0.00000 0.010000 \n",
"22 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"23 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"24 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"25 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"26 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"27 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"28 0.010526 0.00000 0.000000 0.00000 0.000000 \n",
"29 0.010000 0.00000 0.000000 0.00000 0.010000 \n",
"30 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"31 0.000000 0.00000 0.062500 0.00000 0.000000 \n",
"32 0.000000 0.00000 0.018868 0.00000 0.018868 \n",
"33 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"34 0.000000 0.00000 0.041667 0.00000 0.000000 \n",
"35 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"36 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"37 0.000000 0.00000 0.025641 0.00000 0.000000 \n",
"38 0.000000 0.00000 0.000000 0.00000 0.000000 \n",
"\n",
" Nightclub Noodle House Office Opera House Optical Shop \\\n",
"0 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"12 0.012195 0.000000 0.000000 0.00 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"14 0.000000 0.000000 0.010000 0.00 0.000000 \n",
"15 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"16 0.017857 0.000000 0.000000 0.00 0.000000 \n",
"17 0.000000 0.000000 0.012048 0.00 0.000000 \n",
"18 0.000000 0.010000 0.010000 0.01 0.000000 \n",
"19 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"20 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"21 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"25 0.027027 0.027027 0.000000 0.00 0.000000 \n",
"26 0.000000 0.011494 0.000000 0.00 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"28 0.000000 0.000000 0.000000 0.00 0.010526 \n",
"29 0.000000 0.010000 0.000000 0.01 0.000000 \n",
"30 0.052632 0.000000 0.000000 0.00 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"33 0.086957 0.000000 0.000000 0.00 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"37 0.025641 0.000000 0.000000 0.00 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.00 0.000000 \n",
"\n",
" Organic Grocery Other Great Outdoors Park Performing Arts Venue \\\n",
"0 0.000000 0.00 0.000000 0.000000 \n",
"1 0.000000 0.00 0.000000 0.000000 \n",
"2 0.000000 0.00 0.055556 0.000000 \n",
"3 0.000000 0.00 0.023810 0.000000 \n",
"4 0.000000 0.00 0.333333 0.000000 \n",
"5 0.000000 0.00 0.125000 0.000000 \n",
"6 0.000000 0.00 0.047619 0.000000 \n",
"7 0.000000 0.00 0.031250 0.000000 \n",
"8 0.000000 0.00 0.000000 0.000000 \n",
"9 0.000000 0.00 0.000000 0.000000 \n",
"10 0.000000 0.00 0.500000 0.000000 \n",
"11 0.000000 0.00 0.042553 0.000000 \n",
"12 0.000000 0.00 0.012195 0.000000 \n",
"13 0.000000 0.00 0.063830 0.021277 \n",
"14 0.000000 0.01 0.000000 0.000000 \n",
"15 0.000000 0.00 0.020000 0.010000 \n",
"16 0.000000 0.00 0.017857 0.000000 \n",
"17 0.000000 0.00 0.012048 0.000000 \n",
"18 0.000000 0.00 0.000000 0.000000 \n",
"19 0.000000 0.00 0.020000 0.010000 \n",
"20 0.000000 0.00 0.000000 0.000000 \n",
"21 0.000000 0.00 0.010000 0.000000 \n",
"22 0.000000 0.00 0.000000 0.000000 \n",
"23 0.000000 0.00 0.000000 0.000000 \n",
"24 0.000000 0.00 0.045455 0.000000 \n",
"25 0.000000 0.00 0.000000 0.000000 \n",
"26 0.011494 0.00 0.011494 0.000000 \n",
"27 0.000000 0.00 0.000000 0.000000 \n",
"28 0.000000 0.00 0.021053 0.000000 \n",
"29 0.000000 0.00 0.000000 0.000000 \n",
"30 0.000000 0.00 0.105263 0.000000 \n",
"31 0.000000 0.00 0.062500 0.000000 \n",
"32 0.000000 0.00 0.018868 0.000000 \n",
"33 0.000000 0.00 0.000000 0.043478 \n",
"34 0.000000 0.00 0.041667 0.000000 \n",
"35 0.000000 0.00 0.000000 0.000000 \n",
"36 0.000000 0.00 0.000000 0.000000 \n",
"37 0.000000 0.00 0.051282 0.000000 \n",
"38 0.000000 0.00 0.062500 0.000000 \n",
"\n",
" Pet Store Pharmacy Pizza Place Plane Playground Plaza Poke Place \\\n",
"0 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"1 0.000000 0.000000 0.023810 0.0000 0.000000 0.00 0.000000 \n",
"2 0.055556 0.000000 0.055556 0.0000 0.000000 0.00 0.000000 \n",
"3 0.023810 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"7 0.000000 0.031250 0.093750 0.0000 0.000000 0.00 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"9 0.000000 0.000000 0.066667 0.0000 0.000000 0.00 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.0000 0.250000 0.00 0.000000 \n",
"11 0.021277 0.021277 0.042553 0.0000 0.021277 0.00 0.000000 \n",
"12 0.000000 0.000000 0.012195 0.0000 0.000000 0.00 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"14 0.000000 0.000000 0.020000 0.0000 0.000000 0.02 0.000000 \n",
"15 0.000000 0.010000 0.000000 0.0000 0.000000 0.00 0.010000 \n",
"16 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"17 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.012048 \n",
"18 0.000000 0.000000 0.020000 0.0000 0.000000 0.01 0.010000 \n",
"19 0.000000 0.000000 0.020000 0.0000 0.000000 0.02 0.000000 \n",
"20 0.000000 0.000000 0.010000 0.0000 0.000000 0.01 0.000000 \n",
"21 0.000000 0.000000 0.010000 0.0000 0.000000 0.00 0.010000 \n",
"22 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"24 0.000000 0.045455 0.045455 0.0000 0.000000 0.00 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"26 0.000000 0.011494 0.011494 0.0000 0.000000 0.00 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.0625 0.000000 0.00 0.000000 \n",
"28 0.000000 0.000000 0.010526 0.0000 0.000000 0.00 0.010526 \n",
"29 0.000000 0.000000 0.020000 0.0000 0.000000 0.01 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"31 0.000000 0.125000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"32 0.000000 0.000000 0.037736 0.0000 0.000000 0.00 0.000000 \n",
"33 0.043478 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"36 0.000000 0.000000 0.075000 0.0000 0.000000 0.00 0.000000 \n",
"37 0.000000 0.000000 0.000000 0.0000 0.000000 0.00 0.000000 \n",
"38 0.000000 0.000000 0.062500 0.0000 0.000000 0.00 0.000000 \n",
"\n",
" Portuguese Restaurant Post Office Poutine Place Pub \\\n",
"0 0.000000 0.000 0.000000 0.200000 \n",
"1 0.000000 0.000 0.000000 0.023810 \n",
"2 0.000000 0.000 0.000000 0.055556 \n",
"3 0.000000 0.000 0.000000 0.000000 \n",
"4 0.000000 0.000 0.000000 0.000000 \n",
"5 0.000000 0.000 0.000000 0.000000 \n",
"6 0.000000 0.000 0.000000 0.000000 \n",
"7 0.000000 0.000 0.000000 0.000000 \n",
"8 0.000000 0.000 0.000000 0.000000 \n",
"9 0.000000 0.000 0.000000 0.133333 \n",
"10 0.000000 0.000 0.000000 0.000000 \n",
"11 0.000000 0.000 0.000000 0.042553 \n",
"12 0.000000 0.000 0.000000 0.024390 \n",
"13 0.000000 0.000 0.000000 0.063830 \n",
"14 0.000000 0.000 0.000000 0.010000 \n",
"15 0.000000 0.000 0.000000 0.000000 \n",
"16 0.000000 0.000 0.000000 0.000000 \n",
"17 0.012048 0.000 0.000000 0.000000 \n",
"18 0.000000 0.000 0.000000 0.000000 \n",
"19 0.000000 0.000 0.000000 0.000000 \n",
"20 0.000000 0.000 0.000000 0.010000 \n",
"21 0.000000 0.000 0.000000 0.010000 \n",
"22 0.000000 0.000 0.000000 0.000000 \n",
"23 0.000000 0.000 0.000000 0.000000 \n",
"24 0.000000 0.000 0.000000 0.045455 \n",
"25 0.000000 0.000 0.027027 0.027027 \n",
"26 0.000000 0.000 0.011494 0.000000 \n",
"27 0.000000 0.000 0.000000 0.000000 \n",
"28 0.000000 0.000 0.000000 0.010526 \n",
"29 0.000000 0.000 0.000000 0.010000 \n",
"30 0.000000 0.000 0.000000 0.000000 \n",
"31 0.000000 0.000 0.000000 0.000000 \n",
"32 0.018868 0.000 0.000000 0.000000 \n",
"33 0.000000 0.000 0.000000 0.000000 \n",
"34 0.000000 0.000 0.000000 0.000000 \n",
"35 0.000000 0.000 0.000000 0.000000 \n",
"36 0.000000 0.025 0.000000 0.025000 \n",
"37 0.025641 0.000 0.000000 0.000000 \n",
"38 0.000000 0.000 0.000000 0.000000 \n",
"\n",
" Ramen Restaurant Record Shop Recording Studio Rental Car Location \\\n",
"0 0.000000 0.000000 0.0000 0.000000 \n",
"1 0.000000 0.000000 0.0000 0.000000 \n",
"2 0.000000 0.000000 0.0000 0.000000 \n",
"3 0.000000 0.000000 0.0000 0.000000 \n",
"4 0.000000 0.000000 0.0000 0.000000 \n",
"5 0.000000 0.000000 0.0000 0.000000 \n",
"6 0.000000 0.000000 0.0000 0.047619 \n",
"7 0.000000 0.000000 0.0000 0.000000 \n",
"8 0.000000 0.000000 0.0000 0.000000 \n",
"9 0.000000 0.000000 0.0000 0.000000 \n",
"10 0.000000 0.000000 0.0000 0.000000 \n",
"11 0.000000 0.000000 0.0000 0.000000 \n",
"12 0.012195 0.000000 0.0000 0.000000 \n",
"13 0.000000 0.000000 0.0000 0.000000 \n",
"14 0.020000 0.000000 0.0000 0.000000 \n",
"15 0.000000 0.000000 0.0000 0.000000 \n",
"16 0.000000 0.000000 0.0000 0.000000 \n",
"17 0.012048 0.000000 0.0000 0.000000 \n",
"18 0.010000 0.000000 0.0000 0.000000 \n",
"19 0.000000 0.000000 0.0000 0.000000 \n",
"20 0.000000 0.000000 0.0000 0.000000 \n",
"21 0.000000 0.000000 0.0000 0.000000 \n",
"22 0.000000 0.000000 0.0000 0.000000 \n",
"23 0.000000 0.000000 0.0000 0.000000 \n",
"24 0.000000 0.000000 0.0000 0.000000 \n",
"25 0.000000 0.000000 0.0000 0.000000 \n",
"26 0.000000 0.011494 0.0000 0.000000 \n",
"27 0.000000 0.000000 0.0000 0.062500 \n",
"28 0.000000 0.000000 0.0000 0.000000 \n",
"29 0.000000 0.000000 0.0000 0.000000 \n",
"30 0.000000 0.000000 0.0000 0.000000 \n",
"31 0.000000 0.000000 0.0625 0.000000 \n",
"32 0.000000 0.018868 0.0000 0.000000 \n",
"33 0.000000 0.000000 0.0000 0.000000 \n",
"34 0.000000 0.000000 0.0000 0.000000 \n",
"35 0.000000 0.000000 0.0000 0.000000 \n",
"36 0.000000 0.000000 0.0000 0.000000 \n",
"37 0.000000 0.000000 0.0000 0.000000 \n",
"38 0.000000 0.000000 0.0000 0.000000 \n",
"\n",
" Restaurant Roof Deck Sake Bar Salad Place Salon / Barbershop \\\n",
"0 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"1 0.047619 0.00 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"6 0.047619 0.00 0.000000 0.000000 0.047619 \n",
"7 0.031250 0.00 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"9 0.066667 0.00 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"11 0.042553 0.00 0.000000 0.000000 0.000000 \n",
"12 0.036585 0.00 0.012195 0.000000 0.012195 \n",
"13 0.042553 0.00 0.000000 0.000000 0.000000 \n",
"14 0.020000 0.00 0.000000 0.000000 0.000000 \n",
"15 0.050000 0.00 0.000000 0.000000 0.010000 \n",
"16 0.017857 0.00 0.000000 0.000000 0.000000 \n",
"17 0.000000 0.00 0.000000 0.024096 0.000000 \n",
"18 0.030000 0.00 0.000000 0.010000 0.010000 \n",
"19 0.030000 0.01 0.000000 0.010000 0.000000 \n",
"20 0.040000 0.00 0.000000 0.020000 0.000000 \n",
"21 0.050000 0.00 0.000000 0.010000 0.000000 \n",
"22 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"25 0.054054 0.00 0.000000 0.000000 0.000000 \n",
"26 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"28 0.031579 0.00 0.000000 0.000000 0.000000 \n",
"29 0.040000 0.00 0.000000 0.010000 0.000000 \n",
"30 0.052632 0.00 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"32 0.056604 0.00 0.000000 0.000000 0.000000 \n",
"33 0.043478 0.00 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"35 0.071429 0.00 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.00 0.000000 0.000000 0.000000 \n",
"37 0.025641 0.00 0.000000 0.025641 0.000000 \n",
"38 0.062500 0.00 0.000000 0.000000 0.000000 \n",
"\n",
" Sandwich Place Scenic Lookout Sculpture Garden Seafood Restaurant \\\n",
"0 0.000000 0.00 0.000000 0.000000 \n",
"1 0.000000 0.00 0.000000 0.000000 \n",
"2 0.055556 0.00 0.000000 0.000000 \n",
"3 0.023810 0.00 0.000000 0.023810 \n",
"4 0.000000 0.00 0.000000 0.000000 \n",
"5 0.125000 0.00 0.000000 0.000000 \n",
"6 0.000000 0.00 0.000000 0.000000 \n",
"7 0.093750 0.00 0.000000 0.031250 \n",
"8 0.000000 0.00 0.000000 0.000000 \n",
"9 0.000000 0.00 0.000000 0.000000 \n",
"10 0.000000 0.00 0.000000 0.000000 \n",
"11 0.021277 0.00 0.000000 0.000000 \n",
"12 0.000000 0.00 0.012195 0.012195 \n",
"13 0.000000 0.00 0.000000 0.000000 \n",
"14 0.010000 0.00 0.000000 0.010000 \n",
"15 0.000000 0.00 0.000000 0.020000 \n",
"16 0.000000 0.00 0.000000 0.035714 \n",
"17 0.036145 0.00 0.000000 0.012048 \n",
"18 0.000000 0.00 0.000000 0.020000 \n",
"19 0.010000 0.03 0.000000 0.010000 \n",
"20 0.010000 0.00 0.000000 0.030000 \n",
"21 0.010000 0.00 0.000000 0.030000 \n",
"22 0.000000 0.00 0.000000 0.000000 \n",
"23 0.000000 0.00 0.000000 0.000000 \n",
"24 0.136364 0.00 0.000000 0.000000 \n",
"25 0.054054 0.00 0.000000 0.000000 \n",
"26 0.000000 0.00 0.000000 0.000000 \n",
"27 0.000000 0.00 0.062500 0.000000 \n",
"28 0.010526 0.00 0.000000 0.031579 \n",
"29 0.010000 0.00 0.000000 0.030000 \n",
"30 0.000000 0.00 0.000000 0.000000 \n",
"31 0.000000 0.00 0.000000 0.000000 \n",
"32 0.000000 0.00 0.000000 0.000000 \n",
"33 0.000000 0.00 0.000000 0.000000 \n",
"34 0.000000 0.00 0.000000 0.000000 \n",
"35 0.000000 0.00 0.000000 0.000000 \n",
"36 0.025000 0.00 0.000000 0.000000 \n",
"37 0.025641 0.00 0.000000 0.025641 \n",
"38 0.000000 0.00 0.000000 0.000000 \n",
"\n",
" Shoe Store Shopping Mall Skate Park Skating Rink Smoke Shop \\\n",
"0 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"1 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"2 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"3 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"4 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"5 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"6 0.047619 0.000000 0.0000 0.00 0.000000 \n",
"7 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"8 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"9 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"10 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"11 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"12 0.000000 0.000000 0.0000 0.00 0.012195 \n",
"13 0.021277 0.000000 0.0000 0.00 0.000000 \n",
"14 0.000000 0.010000 0.0000 0.00 0.010000 \n",
"15 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"16 0.000000 0.017857 0.0000 0.00 0.000000 \n",
"17 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"18 0.000000 0.010000 0.0000 0.00 0.010000 \n",
"19 0.000000 0.000000 0.0000 0.01 0.000000 \n",
"20 0.000000 0.010000 0.0000 0.00 0.000000 \n",
"21 0.000000 0.010000 0.0000 0.00 0.000000 \n",
"22 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"23 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"24 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"25 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"26 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"27 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"28 0.000000 0.010526 0.0000 0.00 0.000000 \n",
"29 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"30 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"31 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"32 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"33 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"34 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"35 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"36 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"37 0.000000 0.000000 0.0000 0.00 0.000000 \n",
"38 0.000000 0.000000 0.0625 0.00 0.062500 \n",
"\n",
" Snack Place Southern / Soul Food Restaurant Spa Speakeasy \\\n",
"0 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.023810 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.047619 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.000000 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.021277 0.000000 0.000000 0.000000 \n",
"12 0.000000 0.000000 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.021277 0.000000 \n",
"14 0.000000 0.000000 0.010000 0.000000 \n",
"15 0.000000 0.000000 0.000000 0.000000 \n",
"16 0.000000 0.000000 0.000000 0.000000 \n",
"17 0.000000 0.000000 0.024096 0.000000 \n",
"18 0.000000 0.000000 0.000000 0.010000 \n",
"19 0.000000 0.000000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.010000 0.010000 \n",
"21 0.000000 0.000000 0.000000 0.000000 \n",
"22 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.000000 \n",
"26 0.011494 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.000000 0.000000 \n",
"29 0.000000 0.000000 0.000000 0.010000 \n",
"30 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.018868 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.041667 \n",
"35 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.000000 \n",
"37 0.000000 0.000000 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.062500 0.000000 \n",
"\n",
" Sporting Goods Shop Sports Bar Stadium Stationery Store Steakhouse \\\n",
"0 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"2 0.000000 0.000000 0.000000 0.00000 0.055556 \n",
"3 0.000000 0.000000 0.000000 0.02381 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"6 0.047619 0.000000 0.000000 0.00000 0.000000 \n",
"7 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"9 0.000000 0.066667 0.000000 0.00000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"12 0.000000 0.012195 0.000000 0.00000 0.012195 \n",
"13 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"14 0.000000 0.000000 0.000000 0.00000 0.010000 \n",
"15 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"16 0.017857 0.000000 0.000000 0.00000 0.035714 \n",
"17 0.000000 0.000000 0.000000 0.00000 0.012048 \n",
"18 0.000000 0.000000 0.000000 0.00000 0.040000 \n",
"19 0.030000 0.010000 0.000000 0.00000 0.010000 \n",
"20 0.010000 0.000000 0.000000 0.00000 0.040000 \n",
"21 0.010000 0.000000 0.000000 0.00000 0.030000 \n",
"22 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"23 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"25 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"26 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"28 0.010526 0.000000 0.000000 0.00000 0.010526 \n",
"29 0.000000 0.000000 0.000000 0.00000 0.040000 \n",
"30 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"31 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"33 0.000000 0.000000 0.043478 0.00000 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"36 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"37 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.00000 0.000000 \n",
"\n",
" Strip Club Supermarket Sushi Restaurant Swim School Tailor Shop \\\n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"2 0.000000 0.000000 0.055556 0.000000 0.000000 \n",
"3 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"4 0.000000 0.000000 0.000000 0.333333 0.000000 \n",
"5 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"6 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"7 0.000000 0.000000 0.062500 0.000000 0.000000 \n",
"8 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"9 0.000000 0.066667 0.066667 0.000000 0.000000 \n",
"10 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"11 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"12 0.012195 0.000000 0.048780 0.000000 0.000000 \n",
"13 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"14 0.000000 0.000000 0.010000 0.000000 0.000000 \n",
"15 0.000000 0.000000 0.000000 0.000000 0.010000 \n",
"16 0.000000 0.000000 0.000000 0.000000 0.017857 \n",
"17 0.000000 0.000000 0.012048 0.000000 0.000000 \n",
"18 0.000000 0.000000 0.020000 0.000000 0.000000 \n",
"19 0.000000 0.010000 0.010000 0.000000 0.000000 \n",
"20 0.000000 0.000000 0.000000 0.000000 0.010000 \n",
"21 0.000000 0.000000 0.000000 0.000000 0.010000 \n",
"22 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"23 0.000000 0.000000 0.250000 0.000000 0.000000 \n",
"24 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"25 0.000000 0.000000 0.027027 0.000000 0.000000 \n",
"26 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"27 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"28 0.000000 0.000000 0.000000 0.000000 0.010526 \n",
"29 0.000000 0.000000 0.010000 0.000000 0.000000 \n",
"30 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"31 0.000000 0.062500 0.000000 0.000000 0.000000 \n",
"32 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"33 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"34 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"35 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"36 0.000000 0.000000 0.050000 0.000000 0.000000 \n",
"37 0.000000 0.000000 0.025641 0.000000 0.000000 \n",
"38 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"\n",
" Taiwanese Restaurant Tanning Salon Tea Room Tennis Court \\\n",
"0 0.000000 0.00 0.000000 0.0 \n",
"1 0.000000 0.00 0.000000 0.0 \n",
"2 0.000000 0.00 0.000000 0.0 \n",
"3 0.000000 0.00 0.000000 0.0 \n",
"4 0.000000 0.00 0.000000 0.0 \n",
"5 0.000000 0.00 0.000000 0.0 \n",
"6 0.000000 0.00 0.000000 0.0 \n",
"7 0.000000 0.00 0.000000 0.0 \n",
"8 0.000000 0.00 0.000000 1.0 \n",
"9 0.000000 0.00 0.000000 0.0 \n",
"10 0.000000 0.00 0.000000 0.0 \n",
"11 0.021277 0.00 0.000000 0.0 \n",
"12 0.000000 0.00 0.000000 0.0 \n",
"13 0.000000 0.00 0.000000 0.0 \n",
"14 0.000000 0.01 0.020000 0.0 \n",
"15 0.000000 0.00 0.000000 0.0 \n",
"16 0.000000 0.00 0.017857 0.0 \n",
"17 0.000000 0.00 0.012048 0.0 \n",
"18 0.000000 0.00 0.000000 0.0 \n",
"19 0.000000 0.00 0.010000 0.0 \n",
"20 0.000000 0.00 0.020000 0.0 \n",
"21 0.000000 0.00 0.010000 0.0 \n",
"22 0.000000 0.00 0.000000 0.0 \n",
"23 0.000000 0.00 0.000000 0.0 \n",
"24 0.000000 0.00 0.000000 0.0 \n",
"25 0.000000 0.00 0.000000 0.0 \n",
"26 0.000000 0.00 0.011494 0.0 \n",
"27 0.000000 0.00 0.000000 0.0 \n",
"28 0.000000 0.00 0.010526 0.0 \n",
"29 0.000000 0.00 0.020000 0.0 \n",
"30 0.000000 0.00 0.000000 0.0 \n",
"31 0.000000 0.00 0.000000 0.0 \n",
"32 0.000000 0.00 0.000000 0.0 \n",
"33 0.000000 0.00 0.000000 0.0 \n",
"34 0.000000 0.00 0.000000 0.0 \n",
"35 0.000000 0.00 0.000000 0.0 \n",
"36 0.000000 0.00 0.025000 0.0 \n",
"37 0.000000 0.00 0.000000 0.0 \n",
"38 0.000000 0.00 0.000000 0.0 \n",
"\n",
" Thai Restaurant Theater Theme Restaurant Toy / Game Store Trail \\\n",
"0 0.000000 0.000000 0.000000 0.00000 0.20000 \n",
"1 0.000000 0.000000 0.000000 0.00000 0.02381 \n",
"2 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"3 0.023810 0.000000 0.000000 0.00000 0.00000 \n",
"4 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"5 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"6 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"7 0.031250 0.000000 0.000000 0.03125 0.00000 \n",
"8 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"9 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"10 0.000000 0.000000 0.000000 0.00000 0.25000 \n",
"11 0.021277 0.000000 0.000000 0.00000 0.00000 \n",
"12 0.012195 0.012195 0.012195 0.00000 0.00000 \n",
"13 0.000000 0.021277 0.000000 0.00000 0.00000 \n",
"14 0.010000 0.020000 0.000000 0.01000 0.00000 \n",
"15 0.010000 0.010000 0.000000 0.00000 0.00000 \n",
"16 0.017857 0.000000 0.000000 0.00000 0.00000 \n",
"17 0.012048 0.000000 0.000000 0.00000 0.00000 \n",
"18 0.030000 0.010000 0.000000 0.00000 0.00000 \n",
"19 0.000000 0.010000 0.000000 0.00000 0.00000 \n",
"20 0.010000 0.010000 0.000000 0.00000 0.00000 \n",
"21 0.020000 0.000000 0.000000 0.00000 0.00000 \n",
"22 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"23 0.000000 0.000000 0.000000 0.00000 0.25000 \n",
"24 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"25 0.000000 0.027027 0.000000 0.00000 0.00000 \n",
"26 0.011494 0.000000 0.000000 0.00000 0.00000 \n",
"27 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"28 0.010526 0.000000 0.000000 0.00000 0.00000 \n",
"29 0.010000 0.010000 0.000000 0.00000 0.00000 \n",
"30 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"31 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"32 0.000000 0.018868 0.000000 0.00000 0.00000 \n",
"33 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"34 0.083333 0.000000 0.000000 0.00000 0.00000 \n",
"35 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"36 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"37 0.000000 0.025641 0.000000 0.00000 0.00000 \n",
"38 0.000000 0.000000 0.000000 0.00000 0.00000 \n",
"\n",
" Train Station Vegetarian / Vegan Restaurant Video Game Store \\\n",
"0 0.00 0.000000 0.000000 \n",
"1 0.00 0.000000 0.000000 \n",
"2 0.00 0.000000 0.000000 \n",
"3 0.00 0.000000 0.000000 \n",
"4 0.00 0.000000 0.000000 \n",
"5 0.00 0.000000 0.000000 \n",
"6 0.00 0.000000 0.000000 \n",
"7 0.00 0.000000 0.000000 \n",
"8 0.00 0.000000 0.000000 \n",
"9 0.00 0.000000 0.000000 \n",
"10 0.00 0.000000 0.000000 \n",
"11 0.00 0.000000 0.000000 \n",
"12 0.00 0.000000 0.000000 \n",
"13 0.00 0.000000 0.000000 \n",
"14 0.00 0.000000 0.010000 \n",
"15 0.00 0.010000 0.000000 \n",
"16 0.00 0.017857 0.000000 \n",
"17 0.00 0.012048 0.000000 \n",
"18 0.00 0.020000 0.000000 \n",
"19 0.01 0.010000 0.000000 \n",
"20 0.01 0.010000 0.000000 \n",
"21 0.00 0.020000 0.000000 \n",
"22 0.00 0.000000 0.000000 \n",
"23 0.00 0.000000 0.000000 \n",
"24 0.00 0.045455 0.000000 \n",
"25 0.00 0.000000 0.027027 \n",
"26 0.00 0.045977 0.000000 \n",
"27 0.00 0.000000 0.000000 \n",
"28 0.00 0.010526 0.000000 \n",
"29 0.01 0.010000 0.000000 \n",
"30 0.00 0.000000 0.000000 \n",
"31 0.00 0.000000 0.000000 \n",
"32 0.00 0.018868 0.000000 \n",
"33 0.00 0.000000 0.000000 \n",
"34 0.00 0.000000 0.000000 \n",
"35 0.00 0.000000 0.000000 \n",
"36 0.00 0.025000 0.000000 \n",
"37 0.00 0.000000 0.000000 \n",
"38 0.00 0.000000 0.000000 \n",
"\n",
" Vietnamese Restaurant Wine Bar Women's Store Yoga Studio \n",
"0 0.000000 0.000000 0.00 0.000000 \n",
"1 0.000000 0.000000 0.00 0.023810 \n",
"2 0.000000 0.000000 0.00 0.000000 \n",
"3 0.000000 0.023810 0.00 0.023810 \n",
"4 0.000000 0.000000 0.00 0.000000 \n",
"5 0.000000 0.000000 0.00 0.000000 \n",
"6 0.000000 0.000000 0.00 0.047619 \n",
"7 0.000000 0.000000 0.00 0.000000 \n",
"8 0.000000 0.000000 0.00 0.000000 \n",
"9 0.066667 0.000000 0.00 0.000000 \n",
"10 0.000000 0.000000 0.00 0.000000 \n",
"11 0.000000 0.000000 0.00 0.000000 \n",
"12 0.000000 0.000000 0.00 0.012195 \n",
"13 0.000000 0.000000 0.00 0.021277 \n",
"14 0.010000 0.010000 0.00 0.000000 \n",
"15 0.000000 0.010000 0.00 0.000000 \n",
"16 0.000000 0.000000 0.00 0.000000 \n",
"17 0.000000 0.012048 0.00 0.012048 \n",
"18 0.000000 0.010000 0.01 0.000000 \n",
"19 0.000000 0.010000 0.00 0.000000 \n",
"20 0.000000 0.010000 0.00 0.000000 \n",
"21 0.000000 0.010000 0.00 0.000000 \n",
"22 0.000000 0.000000 0.00 0.000000 \n",
"23 0.000000 0.000000 0.00 0.000000 \n",
"24 0.000000 0.000000 0.00 0.000000 \n",
"25 0.000000 0.000000 0.00 0.027027 \n",
"26 0.068966 0.011494 0.00 0.000000 \n",
"27 0.000000 0.000000 0.00 0.000000 \n",
"28 0.000000 0.000000 0.00 0.000000 \n",
"29 0.000000 0.010000 0.00 0.000000 \n",
"30 0.000000 0.000000 0.00 0.000000 \n",
"31 0.000000 0.000000 0.00 0.000000 \n",
"32 0.037736 0.018868 0.00 0.018868 \n",
"33 0.000000 0.000000 0.00 0.043478 \n",
"34 0.000000 0.000000 0.00 0.000000 \n",
"35 0.000000 0.000000 0.00 0.000000 \n",
"36 0.000000 0.000000 0.00 0.025000 \n",
"37 0.000000 0.000000 0.00 0.025641 \n",
"38 0.000000 0.000000 0.00 0.000000 "
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"toronto_grouped = toronto_onehot.groupby([\"PostalCode\", \"Borough\", \"Neighborhoods\"]).mean().reset_index()\n",
"\n",
"print(toronto_grouped.shape)\n",
"toronto_grouped"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let's create the new dataframe and display the top 10 venues for each PostalCode."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(39, 13)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PostalCode</th>\n",
" <th>Borough</th>\n",
" <th>Neighborhoods</th>\n",
" <th>1st Most Common Venue</th>\n",
" <th>2nd Most Common Venue</th>\n",
" <th>3rd Most Common Venue</th>\n",
" <th>4th Most Common Venue</th>\n",
" <th>5th Most Common Venue</th>\n",
" <th>6th Most Common Venue</th>\n",
" <th>7th Most Common Venue</th>\n",
" <th>8th Most Common Venue</th>\n",
" <th>9th Most Common Venue</th>\n",
" <th>10th Most Common Venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M4E</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches</td>\n",
" <td>Pub</td>\n",
" <td>Trail</td>\n",
" <td>Asian Restaurant</td>\n",
" <td>Neighborhood</td>\n",
" <td>Health Food Store</td>\n",
" <td>Dumpling Restaurant</td>\n",
" <td>Donut Shop</td>\n",
" <td>Eastern European Restaurant</td>\n",
" <td>Department Store</td>\n",
" <td>Doner Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M4K</td>\n",
" <td>East Toronto</td>\n",
" <td>The Danforth West, Riverdale</td>\n",
" <td>Greek Restaurant</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Restaurant</td>\n",
" <td>Bookstore</td>\n",
" <td>Ice Cream Shop</td>\n",
" <td>Furniture / Home Store</td>\n",
" <td>Fruit &amp; Vegetable Store</td>\n",
" <td>Pub</td>\n",
" <td>Pizza Place</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>M4L</td>\n",
" <td>East Toronto</td>\n",
" <td>The Beaches West, India Bazaar</td>\n",
" <td>Park</td>\n",
" <td>Light Rail Station</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Liquor Store</td>\n",
" <td>Burger Joint</td>\n",
" <td>Burrito Place</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Ice Cream Shop</td>\n",
" <td>Fish &amp; Chips Shop</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M4M</td>\n",
" <td>East Toronto</td>\n",
" <td>Studio District</td>\n",
" <td>Café</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Gastropub</td>\n",
" <td>Brewery</td>\n",
" <td>Bakery</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>American Restaurant</td>\n",
" <td>Neighborhood</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Cheese Shop</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>M4N</td>\n",
" <td>Central Toronto</td>\n",
" <td>Lawrence Park</td>\n",
" <td>Park</td>\n",
" <td>Bus Line</td>\n",
" <td>Swim School</td>\n",
" <td>Farmers Market</td>\n",
" <td>Event Space</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>Electronics Store</td>\n",
" <td>Eastern European Restaurant</td>\n",
" <td>Dumpling Restaurant</td>\n",
" <td>Donut Shop</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>M4P</td>\n",
" <td>Central Toronto</td>\n",
" <td>Davisville North</td>\n",
" <td>Hotel</td>\n",
" <td>Food &amp; Drink Shop</td>\n",
" <td>Department Store</td>\n",
" <td>Dance Studio</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Gym</td>\n",
" <td>Park</td>\n",
" <td>Electronics Store</td>\n",
" <td>Eastern European Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>M4R</td>\n",
" <td>Central Toronto</td>\n",
" <td>North Toronto West</td>\n",
" <td>Clothing Store</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Bagel Shop</td>\n",
" <td>Salon / Barbershop</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Spa</td>\n",
" <td>Sporting Goods Shop</td>\n",
" <td>Diner</td>\n",
" <td>Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>M4S</td>\n",
" <td>Central Toronto</td>\n",
" <td>Davisville</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Pizza Place</td>\n",
" <td>Dessert Shop</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Gym</td>\n",
" <td>Sushi Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Gas Station</td>\n",
" <td>Pharmacy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>M4T</td>\n",
" <td>Central Toronto</td>\n",
" <td>Moore Park, Summerhill East</td>\n",
" <td>Tennis Court</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Department Store</td>\n",
" <td>Event Space</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>Electronics Store</td>\n",
" <td>Eastern European Restaurant</td>\n",
" <td>Dumpling Restaurant</td>\n",
" <td>Donut Shop</td>\n",
" <td>Doner Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>M4V</td>\n",
" <td>Central Toronto</td>\n",
" <td>Deer Park, Forest Hill SE, Rathnelly, South Hi...</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Pub</td>\n",
" <td>Pizza Place</td>\n",
" <td>Fried Chicken Joint</td>\n",
" <td>Light Rail Station</td>\n",
" <td>Vietnamese Restaurant</td>\n",
" <td>Supermarket</td>\n",
" <td>Liquor Store</td>\n",
" <td>Sushi Restaurant</td>\n",
" <td>Sports Bar</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>M4W</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Rosedale</td>\n",
" <td>Park</td>\n",
" <td>Playground</td>\n",
" <td>Trail</td>\n",
" <td>Deli / Bodega</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>Electronics Store</td>\n",
" <td>Eastern European Restaurant</td>\n",
" <td>Dumpling Restaurant</td>\n",
" <td>Donut Shop</td>\n",
" <td>Doner Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>M4X</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Cabbagetown, St. James Town</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Pub</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Bakery</td>\n",
" <td>Market</td>\n",
" <td>Pizza Place</td>\n",
" <td>Park</td>\n",
" <td>Pet Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>M4Y</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Church and Wellesley</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Gay Bar</td>\n",
" <td>Sushi Restaurant</td>\n",
" <td>Restaurant</td>\n",
" <td>Pub</td>\n",
" <td>Men's Store</td>\n",
" <td>Mediterranean Restaurant</td>\n",
" <td>Hotel</td>\n",
" <td>Gym</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>M5A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Park</td>\n",
" <td>Bakery</td>\n",
" <td>Café</td>\n",
" <td>Pub</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Restaurant</td>\n",
" <td>Mexican Restaurant</td>\n",
" <td>Farmers Market</td>\n",
" <td>Event Space</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>M5B</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Ryerson, Garden District</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Clothing Store</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Ice Cream Shop</td>\n",
" <td>Middle Eastern Restaurant</td>\n",
" <td>Restaurant</td>\n",
" <td>Bakery</td>\n",
" <td>Diner</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>M5C</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>St. James Town</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Café</td>\n",
" <td>Restaurant</td>\n",
" <td>Beer Bar</td>\n",
" <td>Hotel</td>\n",
" <td>American Restaurant</td>\n",
" <td>Bakery</td>\n",
" <td>Cosmetics Shop</td>\n",
" <td>Clothing Store</td>\n",
" <td>Cocktail Bar</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>M5E</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Berczy Park</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Cocktail Bar</td>\n",
" <td>Cheese Shop</td>\n",
" <td>Steakhouse</td>\n",
" <td>Beer Bar</td>\n",
" <td>Seafood Restaurant</td>\n",
" <td>Farmers Market</td>\n",
" <td>Bakery</td>\n",
" <td>Café</td>\n",
" <td>Italian Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>M5G</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Central Bay Street</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Ice Cream Shop</td>\n",
" <td>Café</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Burger Joint</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Juice Bar</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Salad Place</td>\n",
" <td>Bar</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>M5H</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Adelaide, King, Richmond</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Steakhouse</td>\n",
" <td>Café</td>\n",
" <td>Restaurant</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Bakery</td>\n",
" <td>Bar</td>\n",
" <td>Thai Restaurant</td>\n",
" <td>Asian Restaurant</td>\n",
" <td>Burger Joint</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>M5J</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbourfront East, Toronto Islands, Union Station</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Aquarium</td>\n",
" <td>Hotel</td>\n",
" <td>Café</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Brewery</td>\n",
" <td>Scenic Lookout</td>\n",
" <td>Sporting Goods Shop</td>\n",
" <td>Restaurant</td>\n",
" <td>Fried Chicken Joint</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>M5K</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Design Exchange, Toronto Dominion Centre</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Café</td>\n",
" <td>Hotel</td>\n",
" <td>Restaurant</td>\n",
" <td>Steakhouse</td>\n",
" <td>Deli / Bodega</td>\n",
" <td>Bar</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Seafood Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>M5L</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Commerce Court, Victoria Hotel</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Café</td>\n",
" <td>Restaurant</td>\n",
" <td>Hotel</td>\n",
" <td>American Restaurant</td>\n",
" <td>Gym</td>\n",
" <td>Bakery</td>\n",
" <td>Steakhouse</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Seafood Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>M5N</td>\n",
" <td>Central Toronto</td>\n",
" <td>Roselawn</td>\n",
" <td>Home Service</td>\n",
" <td>Garden</td>\n",
" <td>Ice Cream Shop</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Dessert Shop</td>\n",
" <td>Event Space</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>Electronics Store</td>\n",
" <td>Eastern European Restaurant</td>\n",
" <td>Dumpling Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>M5P</td>\n",
" <td>Central Toronto</td>\n",
" <td>Forest Hill North, Forest Hill West</td>\n",
" <td>Jewelry Store</td>\n",
" <td>Trail</td>\n",
" <td>Mexican Restaurant</td>\n",
" <td>Sushi Restaurant</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Dim Sum Restaurant</td>\n",
" <td>Event Space</td>\n",
" <td>Ethiopian Restaurant</td>\n",
" <td>Electronics Store</td>\n",
" <td>Eastern European Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>M5R</td>\n",
" <td>Central Toronto</td>\n",
" <td>The Annex, North Midtown, Yorkville</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Café</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Park</td>\n",
" <td>History Museum</td>\n",
" <td>Liquor Store</td>\n",
" <td>Burger Joint</td>\n",
" <td>Indian Restaurant</td>\n",
" <td>Flower Shop</td>\n",
" <td>Pub</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>M5S</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Harbord, University of Toronto</td>\n",
" <td>Café</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Bakery</td>\n",
" <td>Bookstore</td>\n",
" <td>Sandwich Place</td>\n",
" <td>Restaurant</td>\n",
" <td>Bar</td>\n",
" <td>College Arts Building</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Chinese Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>M5T</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Chinatown, Grange Park, Kensington Market</td>\n",
" <td>Vietnamese Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Chinese Restaurant</td>\n",
" <td>Bar</td>\n",
" <td>Dumpling Restaurant</td>\n",
" <td>Vegetarian / Vegan Restaurant</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Mexican Restaurant</td>\n",
" <td>Grocery Store</td>\n",
" <td>Burger Joint</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>M5V</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>CN Tower, Bathurst Quay, Island airport, Harbo...</td>\n",
" <td>Airport Lounge</td>\n",
" <td>Airport Service</td>\n",
" <td>Airport Terminal</td>\n",
" <td>Boutique</td>\n",
" <td>Harbor / Marina</td>\n",
" <td>Boat or Ferry</td>\n",
" <td>Rental Car Location</td>\n",
" <td>Bar</td>\n",
" <td>Plane</td>\n",
" <td>Sculpture Garden</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>M5W</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Stn A PO Boxes 25 The Esplanade</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Café</td>\n",
" <td>Hotel</td>\n",
" <td>Cocktail Bar</td>\n",
" <td>Restaurant</td>\n",
" <td>Seafood Restaurant</td>\n",
" <td>Beer Bar</td>\n",
" <td>Japanese Restaurant</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Breakfast Spot</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>M5X</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>First Canadian Place, Underground city</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Café</td>\n",
" <td>Restaurant</td>\n",
" <td>Steakhouse</td>\n",
" <td>Gastropub</td>\n",
" <td>Seafood Restaurant</td>\n",
" <td>Gym</td>\n",
" <td>Bar</td>\n",
" <td>Deli / Bodega</td>\n",
" <td>Japanese Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>M6G</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Christie</td>\n",
" <td>Grocery Store</td>\n",
" <td>Café</td>\n",
" <td>Park</td>\n",
" <td>Bank</td>\n",
" <td>Diner</td>\n",
" <td>Baby Store</td>\n",
" <td>Restaurant</td>\n",
" <td>Athletics &amp; Sports</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Candy Store</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>M6H</td>\n",
" <td>West Toronto</td>\n",
" <td>Dovercourt Village, Dufferin</td>\n",
" <td>Pharmacy</td>\n",
" <td>Bakery</td>\n",
" <td>Grocery Store</td>\n",
" <td>Supermarket</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Recording Studio</td>\n",
" <td>Bar</td>\n",
" <td>Bank</td>\n",
" <td>Middle Eastern Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>M6J</td>\n",
" <td>West Toronto</td>\n",
" <td>Little Portugal, Trinity</td>\n",
" <td>Bar</td>\n",
" <td>Asian Restaurant</td>\n",
" <td>Restaurant</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Vietnamese Restaurant</td>\n",
" <td>Café</td>\n",
" <td>Pizza Place</td>\n",
" <td>Men's Store</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Boutique</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>M6K</td>\n",
" <td>West Toronto</td>\n",
" <td>Brockton, Exhibition Place, Parkdale Village</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Nightclub</td>\n",
" <td>Café</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Gym</td>\n",
" <td>Pet Store</td>\n",
" <td>Performing Arts Venue</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Intersection</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>M6P</td>\n",
" <td>West Toronto</td>\n",
" <td>High Park, The Junction South</td>\n",
" <td>Café</td>\n",
" <td>Thai Restaurant</td>\n",
" <td>Bar</td>\n",
" <td>Mexican Restaurant</td>\n",
" <td>Park</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Diner</td>\n",
" <td>Speakeasy</td>\n",
" <td>Bakery</td>\n",
" <td>Flea Market</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>M6R</td>\n",
" <td>West Toronto</td>\n",
" <td>Parkdale, Roncesvalles</td>\n",
" <td>Gift Shop</td>\n",
" <td>Breakfast Spot</td>\n",
" <td>Bookstore</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Dog Run</td>\n",
" <td>Bar</td>\n",
" <td>Dessert Shop</td>\n",
" <td>Movie Theater</td>\n",
" <td>Cuban Restaurant</td>\n",
" <td>Eastern European Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>M6S</td>\n",
" <td>West Toronto</td>\n",
" <td>Runnymede, Swansea</td>\n",
" <td>Pizza Place</td>\n",
" <td>Café</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Bookstore</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Sushi Restaurant</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Gourmet Shop</td>\n",
" <td>Post Office</td>\n",
" <td>Latin American Restaurant</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>M7A</td>\n",
" <td>Downtown Toronto</td>\n",
" <td>Queen's Park</td>\n",
" <td>Coffee Shop</td>\n",
" <td>Park</td>\n",
" <td>Gym</td>\n",
" <td>Yoga Studio</td>\n",
" <td>Burrito Place</td>\n",
" <td>Beer Bar</td>\n",
" <td>Italian Restaurant</td>\n",
" <td>Music Venue</td>\n",
" <td>Juice Bar</td>\n",
" <td>Sandwich Place</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>M7Y</td>\n",
" <td>East Toronto</td>\n",
" <td>Business Reply Mail Processing Centre 969 Eastern</td>\n",
" <td>Skate Park</td>\n",
" <td>Smoke Shop</td>\n",
" <td>Restaurant</td>\n",
" <td>Light Rail Station</td>\n",
" <td>Burrito Place</td>\n",
" <td>Spa</td>\n",
" <td>Auto Workshop</td>\n",
" <td>Fast Food Restaurant</td>\n",
" <td>Farmers Market</td>\n",
" <td>Pizza Place</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PostalCode Borough \\\n",
"0 M4E East Toronto \n",
"1 M4K East Toronto \n",
"2 M4L East Toronto \n",
"3 M4M East Toronto \n",
"4 M4N Central Toronto \n",
"5 M4P Central Toronto \n",
"6 M4R Central Toronto \n",
"7 M4S Central Toronto \n",
"8 M4T Central Toronto \n",
"9 M4V Central Toronto \n",
"10 M4W Downtown Toronto \n",
"11 M4X Downtown Toronto \n",
"12 M4Y Downtown Toronto \n",
"13 M5A Downtown Toronto \n",
"14 M5B Downtown Toronto \n",
"15 M5C Downtown Toronto \n",
"16 M5E Downtown Toronto \n",
"17 M5G Downtown Toronto \n",
"18 M5H Downtown Toronto \n",
"19 M5J Downtown Toronto \n",
"20 M5K Downtown Toronto \n",
"21 M5L Downtown Toronto \n",
"22 M5N Central Toronto \n",
"23 M5P Central Toronto \n",
"24 M5R Central Toronto \n",
"25 M5S Downtown Toronto \n",
"26 M5T Downtown Toronto \
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment